Users are increasingly relying upon electronic devices to obtain various types of information. For example, a user viewing a television show might want to determine the identity of a particular actor in the show, and may utilize a Web browser on a separate computing device to search for the information. Similarly, a user watching a movie might hear a song that is of interest to the user, and might want to determine the name of the song and where the user can obtain a copy. Oftentimes, this involves the user either hoping to remember to lookup the information after the movie or show is over, or stopping the presentation to search for the information. In some cases there might be information available that the user might not know exists, such as related shows or books upon which a movie is based, but that the user might otherwise be interested in. As the amount of such information available is increasing, there is room for improvement in the way in which this information is organized, available, and presented to various users.
Various embodiments in accordance with the present disclosure will be described with reference to the drawings, in which:
Systems and methods in accordance with various embodiments of the present disclosure overcome one or more of the above-referenced and other deficiencies in conventional approaches to providing content to a user of an electronic device. In particular, various embodiments enable supplemental content to be selected and provided to a user by analyzing or otherwise monitoring a presentation of media content through an interface of a computing device. A listener or other such component or service can be configured to monitor media content for information that is indicative of an aspect of the media content, such as a tag, metadata, or object contained in a video and/or audio portion of the content. In response to detecting such information, a system or service can attempt to locate related or “supplemental” content, such as may include additional information about the media content, related instances of content that a user can access, items that might be of interest to viewers of the content, and the like. Located supplemental content can be displayed (or otherwise presented) in a separate interface region, either on the same device or on a separate device. Information can pass back and forth between the interface regions, enabling the user to access supplemental content that is relevant to a current location in the media, and enable control of one or more aspects of the displayed media through interaction with the supplemental content. In some embodiments, a user can view media content on a first device and obtain supplemental content on a second device. In such embodiments, the first device might display notifications about the supplemental content, which the user can then access on the second device. In other embodiments, the media and/or supplemental displays can have an adjustable size and/or transparency value such that a user can continue viewing the media content while also accessing the supplemental content on the same device. In at least some embodiments, the media and supplemental content are displayed in linked windows that the user can switch between, such as by shifting one of the windows into a smaller, translucent view when accessing content in the other window.
Various other functions and advantages are described and suggested below as may be provided in accordance with the various embodiments.
As mentioned above, there can be various types of information available that relate to aspects of the media presentation. For example, there can be information about the media content itself, such as name of actors in a movie, lines of dialog, trivia about the movie, and other such information. There also can be various versions of that media available for purchase, such as through physical media or download. There can be songs played during the presentation of the media that can be identified, with information about those songs being available as well as options to obtain those songs. Similarly, there might be books, graphic novels, or other types of media related to the movie. There can be items that are displayed in the movie, such as clothing worn by a character or furniture in a scene, as well as toys or merchandise featuring images of the movie or other such information. Various other types of information can be related to the media content as well as discussed and suggested elsewhere herein.
Traditionally, a user wanting to obtain any of this additional information would have to access a computing device, such as the tablet computer 110, and perform a manual search to locate information relating to the movie or other such media presentation. Oftentimes a user will navigate to one of the first search results, which might include information about the cast or other specific types of information. In many cases it may be difficult to search for particular items or information. For example, it might be difficult for a user to determine the type of outfit a character is wearing without a significant amount of effort, which might take away from the user's enjoyment of the movie while the user is searching. Similarly, the user might not know that a movie is based on a book, for example, such that the user would not even be aware to search for such information.
Approaches in accordance with various embodiments can notify the user of the availability of such information, and can enable the user to quickly access that information on the same device or a separate device. In at least some embodiments, a determination can be made of the likely relevance of a certain item or piece of information to a user, or a level of interest of the user in that item or information, in order to limit the presentation of this additional information, or “supplemental content,” to only information that is determined to be highly relevant to a particular user. Further, there are various ways to notify the user of the availability of supplemental content, and enable a user to access the supplemental content, in order to maintain a positive user experience while providing information that is likely of interest to the user.
In
Using the example of
As discussed, supplemental content can include various types of information and data available from various sources, either related or from third parties. For example, a first supplemental content provider system 216 might offer data 218 about various media files, as may include trivia or facts about the content of the media file, people and locations associated with the content, related content, and the like. A second content provider system 220 might store data 222 about related items, such as items that are offered for consumption (e.g., rent, purchase, lease, or download) through an electronic marketplace. These can include, for example, consumer goods, video files, audio files, e-books, and the like. There can be one or more provider systems for each type of supplemental content, and a provider system might offer multiple types of supplemental content.
In this example, software executing on the smart television 202 might notice a tag in the media file during playback, during streaming, or at another appropriate time. Similarly, software executing on the television might monitor audio, image, and/or video information from the presentation to attempt to determine information about the content in the media file. For example, an audio analysis engine might monitor an audio feed for patterns that might be indicative of music, a person's voice, a unique pattern, and the like. Similarly, an image analysis engine might monitor the video feed for patterns that might be indicative of various persons, places, or things. Any such patterns can be analyzed on the device, transferred for analysis by the management servicer or another such entity, or both.
Analysis of audio, video, or other such information can result in various portions of the content being identified. For example, an audio or video analysis algorithm might be able to identify the particular movie, actors or places in the movie, music playing in the background, and other such information. Similarly, there might be tags or metadata with the media content that provide such identifying information. Based at least in part upon this information, an entity such as a management service 208, or other such entity, can determine supplemental content that is related to the identified information. For example, if the movie can be identified then related movies, books, soundtracks, and other information might be identified. Similarly, information about identified actors or locations might be located, as well as other media including those actors or locations. Similarly, downloadable versions of music in the media content might be located.
In some embodiments, any located supplemental content might be presented to the user, either through an interface on the television 202 or by pushing information to another device 204 that the user can use while viewing the media content on the television. In other embodiments, the supplemental content will be analyzed to attempt to determine how relevant, or likely of interest, that content is to the user. For example, a content management service 208 might utilize information about user preferences, purchase history, viewing history, and the like to assign a relevance score to at least a portion of the items of supplemental content. Based at least in part upon those scores, a portion of the supplemental content can be selected for presentation to the user. This can include any supplemental content with at least a minimum relevance score, only a certain number of highly relevant items over a period of time, or another such selection of the supplemental content.
Referring back to the example of
In the example of
In this example, information 312 about the song is pushed to the tablet computer 310. The user can view information about the song on the device, while the media content is playing on the television (or other such device). In some embodiments, the user can have the option (through the television, the portable device, or otherwise) to pause the playback of the media while the user views information about the song. The user can have the option of obtaining the song through the tablet 310 as well as through the notification 306 on the television. In some embodiments, a user might receive an option to play a music video for the song, which the user can select to play through the tablet 310 or the television 302. In other embodiments, the user can bookmark the supplemental content for viewing after the media playback completes.
As mentioned, it should be understood that two or more devices of any appropriate type can be used as primary and/or secondary viewing devices, used to view media content and/or supplemental content. The user can also switch an operational mode of the devices such that a second device displays the media content and a first device, that was previously displaying the media content, now displays the supplemental content. Further, a single device can be used to enable the user to access both the primary and supplemental content.
For example,
In some embodiments, the video playback section 404 can resize automatically when there is supplemental content to be displayed. For example, the video might utilize the full display area when there is no supplemental content to be displayed, and might shrink to a fixed size or a size that is proportional to the amount of supplemental content, down to a minimum section size. The various sizes, amount and type of supplemental content displayed, and other such aspects, can be configurable by the user in at least some embodiments. Further, the user can have the option of overriding or adjusting content that is displayed, such as by deactivating a playback of supplemental content during specific instances of content or types of content. For example, the user might select to always display supplemental content while watching viral videos or streaming television content, but might not want to have supplemental content displayed when watching movie content from a particular source. Similarly, the user might be able to adjust the way in which supplemental content is displayed for certain types of content. The user might enable the viral video window size to shrink to display supplemental content, but might not allow the window size to shrink during playback of a movie, allowing only minimally intrusive notifications of the existence of supplemental content.
A user might also be able to toggle supplemental content on and off during playback. For example, the user might have supplemental content turned off most of the time, and only turn on supplemental content when the user wants to obtain information about something in the playback. For example, if an actor walks on the screen that the user wants to identify, a character is wearing an item of interest to the user, a song of interest is playing in the background, etc., a user might activate supplemental content hoping to receive information about that topic of interest. Once obtaining the information, or after a period of time, the user can manually turn off supplemental content display, or the display can be set to automatically deactivate after a period of time.
In some embodiments a device might be configured to display video and supplemental content in at least partially overlapping regions, such that the user can continue to view video content while also viewing supplemental content. Such an approach might be particularly useful for devices such as smart phones and tablet computers that might have relatively small display screens. Similarly, such an approach might be beneficial for sporting events or other types of content where the user might not want to pause the video stream but does not want to miss any important events in the video. The user can also have the ability to switch which content is displayed in the translucent window.
In at least some embodiments, information can flow in both directions between an interface rendering the media content and an interface rendering the supplemental content, whether those interfaces are on the same device or a different device. For example, the media interface can detect the selection of a notification by a user, and send information about that selection to an application providing the supplemental content interface, which can cause related supplemental content to be displayed. Further, a user might select content or otherwise provide input through the supplemental content interface, which can cause information to be provided to the media interface. For example, a user purchasing a song using a tablet computer might have a notification displayed on the TV when the purchase is completed and the song is available. A user also might be able to select a link for a related movie in a supplemental content interface, and have that movie begin playing in the media interface. Various other communications can occur between the two interfaces in accordance with the various embodiments. Further, there can be additional windows or interfaces as well, such as where there are media and supplemental content interfaces on each of a user's television, tablet, and smart phone, or other such devices, which can all work together to provide a unified experience.
In some embodiments a set of APIs can be exposed that can enable the interfaces to communicate with each other, as well as with a content management service or other such entity. As discussed, in some situations a content provider will serve the information to be displayed on the client device, such that the content provider can determine the instance of media being displayed, a location in the media, available metadata, and other such information. In such an instance, a “listener” component that is listening for possible information to match can receive information about the media through an API call, or other such communication mechanism. The listener can perform a reverse metadata lookup or other such operation, and provide the information to the user as appropriate. If the media corresponds to a live broadcast or is provided from another source, a similar call can be made where the listener can attempt to perform a reverse lookup using information such as the location and time of day, and can potentially contact a listing service through an appropriate API to attempt to determine an identity of the media.
During presentation of the media, or at another such appropriate time, the media presentation can be monitored 606 to attempt to determine the presence or occurrence of certain types of information. As discussed, the content can be monitored in a number of different ways, such as by monitoring a stream of data provided by a server for metadata, analyzing information for image or audio data sent by the device on which the media content is being presented, receiving information from software executing on the displaying device and monitoring the presentation for certain types of information, and the like. During the monitoring, a trigger can be detected 608 that indicates the potential presence of a certain type of information. This can include, for example, a new face entering a scene, a new clothing item appearing, a new song being played, and the like. A trigger also can be generated in response to the detection of a tag, metadata, or other such information associated with the media content. In response to the trigger, which can include information about the type of content, an attempt can be made to locate and/or determine 610 the availability of related supplemental content. As discussed herein, related supplemental content can include various types and forms of information or content that has some relationship to at least one aspect of the media content. For located supplemental content that is related to the media content, a determination can be made 612 as to whether that supplemental content is relevant to the user. As discussed, this can include analyzing information such as user preferences, purchasing history, search history, and the like, and determining how likely it is that the user will be interested in the supplemental content. This can include, in at least some embodiments, calculating a relevance score for each instance of supplemental content using the user information, then selecting up to a maximum number of instances that meet or exceed a minimum relevance threshold. Various other such approaches can be used as well. If none of the instances meet these or other such selection criteria, no supplemental content may be displayed and the monitoring process can continue until the presentation completes or another such action occurs. If supplemental content is located that at least meets these or other such criteria, that supplemental content can be provided 614 to the appropriate device for presentation to the user. As discussed, in some embodiments the user might receive supplemental content on a different device than is used to receive the media content. Further, providing the content might include transmitting the actual supplemental content or providing an address or link where the device can obtain the supplemental content. Various other approaches can be used as well within the scope of the various embodiments.
As mentioned, a user can interact with an electronic device in a number of different ways in order to control aspects of a presentation of media and/or supplemental content. For example, a user can utilize a remote control for a television to provide input, or can select an option on a tablet or other such computing device. Further, a user can provide voice input that can be detected by a microphone of such a device and analyzed using a speech recognition algorithm. In some embodiments, a voice recognition algorithm can be used such that commands are only accepted from an authorized user, or a primary user from among a group of people nearby.
Similarly, gesture or motion input can be utilized that enables a user to provide input to a device by moving a finger, hand, held object, or other such feature with respect to the device. For example, a user can move a hand up to increase the volume, and down to decrease the volume. Various other types of motion or gesture input can be utilized as well. The motion can be detected by using at least one sensor, such as a camera 704 in an electronic device 702, as illustrated in the example configuration 700 of
Such an approach enables various types of functionality and input to be provided to the user. For example, in
In some embodiments, at least some of the notifications and/or supplemental content can relate to advertising, either to related products and services offered by a content provider or from a third party. In at least some embodiments, a user might receive a reduced subscription or access price for receiving advertisements. In some embodiments, a user might be able to gain points, credits, or other discounts towards the obtaining of content from a service provider upon purchasing advertised items, viewing a number of advertisements, and the like. A user can view the number of credits obtain in a month or other such period, and can request to see additional (or fewer) advertisements based upon the obtained credits or other such information. A user can also use such a management interface to control aspects such as the type of advertising or supplemental content that is displayed, a rate or amount of advertising, etc.
As discussed, different types of media can have information determined in different ways. Media served by a content provider can be relatively straightforward for the content provider to identify. In other cases, however, the identification process can be more complex. As discussed, identifying broadcast content can involve performing a look-up against a listing service or other such source to identify programming available in a particular location at a particular time. For audio, video, or other such media that may or may not be able to be so identified, a listener or other such module or component can analyze the audio and/or video portions of a media file in near-real time to attempt to identify the content by recognizing features, patterns, or other aspects of the media. As mentioned, this can include identifying songs in the background of a video, people whose faces are shown in a video, objects displayed in an image, and other such objects. The analyzing can involve various pre-processing steps, such as to remove background noise, isolate foreground image objects, and the like. Audio recognition can be used not only to identify songs, but also to identify the video containing the audio portions, determine an identity of a speaker using voice recognition, etc. Further, image analysis can be used to identify actors in a scene or other such information, which can also help to identify the media and other related objects.
The information available for an instance of media content can be provided by, or obtained from, any of a number of different sources. For example, a publisher or media company might provide certain data with the digital content. Similarly, an employee or service of a content provider or third party provider might provide information for specific instances of content based on information such as an identity of the content. In at least some embodiments, users might also be able to provide information for various types of content. For example, a user watching a movie might identify an item of clothing, an actor, a location, or other such information, and might provide that information using an application or interface configured for such purposes. The user information can be available instantly, or only after approval through a determined type of review process. In some embodiments, other users can vote on, or rate, the user information, and the information will only be available after a certain amount of confirmation from other users. Various other approaches can be used as well, as may include those known or used for approving content to be posted to a network site.
Information for other users can be used in selecting supplemental content to display to a user as well. For example, a user might be watching a television show. A recommendations engine might analyze user data to determine other shows that viewers of that show watched, and can recommend one or more of these other shows to the user. If a song is playing in the background of a video and a user buys that song, or has previously purchased a copy of that song, the recommendations engine might suggest other songs that fans of the song have purchased, listened to, rated, or otherwise interacted. A recommendation engine might recommend other songs by an artist, books upon which songs or movies were based, or other such objects or items.
Similarly, user specific data such as purchase and viewing history, search information, and preferences can be used to suggest, determine, or select supplemental content to display to a user. For example, a user might only purchase movies in widescreen or 3D formats, so a recommendations engine might use this information when determining the relevance of a piece of content. Similarly, if the user never watches horror movies but often watches love stories, the recommendations engine can use this information when selecting supplemental content to display to a user. Various types of information to use when recommending content to a user, and various algorithms used to determine content to recommend, can be used as is known or used for various purposes, such as recommending products in an electronic marketplace.
In some embodiments, a device or service might attempt to identify one or more viewers or consumers of the content at a current time and/or location in order to select supplemental content that is appropriate for those viewers or consumers. For example, if a device can recognize two users in a room, the device can select supplemental content that will likely be of interest to either user, or both. If the device cannot recognize at least one user but can recognize an age or gender of a viewer of media content, for example, the device can attempt to provide appropriate supplemental content, even where the profile for the primary user would otherwise allow additional content. For example, an adult user might be able to view mature content, such as shows or games containing violence, but might not want a child viewing the related supplemental content, even when the user is also viewing the content. In some embodiments, a user can configure privacy or viewing restrictions, among other such options. A device can attempt to identify a user through image recognition, voice recognition, biometrics, and the like. In some cases, a user might have to login to an account, provide a password, utilize a biometric sensor or microphone of a remote control, etc.
In some embodiments, the amount, type, and/or extent of supplemental information provided can depend upon factors such as a mode of operation, size or resolution of a display, location, time or day, or other such information. In some embodiments, media content will be played on a device such as a television when available, but a system or service can attempt to guide the user back to a device such as a tablet or smart phone to obtain supplemental content. Such an approach can leverage a device with certain capabilities, for example, but in at least some embodiments will attempt to disturb the media presentation as little as possible, such that a user wanting to obtain supplemental content can utilize the secondary device but a user interested in the media content can set the secondary device aside and not be disturbed. In at least some embodiments, a user can have the option of temporarily or permanently shutting off supplemental content, or at least shutting off the notifications of the availability of supplemental content through a television or other such device. Also as discussed, the amount of activity with content on a first device can affect the way in which content is displayed on a second device. For example, a user navigating through supplemental content on a second device can cause a media presentation on a first screen to pause for at least a period of time. Similarly, if a user is frequently maneuvering to different media content on a primary device, the secondary device might not suggest supplemental content until the user settles on an instance of content for at least a period of time. For example, if the user is channel surfing the user might not appreciate receiving one or more notifications for supplemental content each time the user passes by a channel, at least unless the user pauses for a period of time to obtain information about the channel or media, etc.
In some embodiments, a system or service might “push” certain information to the device pre-emptively, such as when a user downloads a media file for viewing. For example, metadata could be sent with the media file for use in generating notifications at appropriate times. Then, when a user is later viewing that content, the user can receive notifications without network or related delays, and can receive notifications even if the user is in a location where a wireless (or wired) network is not available. In some embodiments a user might not be able to access a full range of supplemental content when not connected to a network, but may be able to receive a subset that was cached for potential display with the media, or can cause information to be stored that the user can later use to obtain the supplemental content when a connection is available. Due at least in part to the limited storage capacity and memory of a portable computing device, for example, a subset of available supplemental content can be pushed to the device. In at least some embodiments, the supplemental content can be ranked or scored using a relevance engine or other such component or algorithm, and content with at least a minimum relevance score or other such selection criterion can be cached on the device for potential subsequent retrieval. This cache of data can be periodically updated in response to additional content being accessed or obtained, and the cache can be a FIFO buffer such that older content is pushed from the cache. Various other storage and selection approaches can be used as well within the scope of the various embodiments.
The example computing device 800 also includes at least one microphone 806 or other audio capture device capable of capturing audio data, such as words or commands spoken by a user of the device. In this example, a microphone 806 is placed on the same side of the device as the display screen 802, such that the microphone will typically be better able to capture words spoken by a user of the device. In at least some embodiments, a microphone can be a directional microphone that captures sound information from substantially directly in front of the microphone, and picks up only a limited amount of sound from other directions. It should be understood that a microphone might be located on any appropriate surface of any region, face, or edge of the device in different embodiments, and that multiple microphones can be used for audio recording and filtering purposes, etc. The example computing device 1000 also includes at least one networking element 808, such as cellular modem or wireless networking adapter, enabling the device to connect to at least one data network.
In some embodiments, the computing device 900 of
The device 900 also can include at least one orientation or motion sensor (not shown). Such a sensor can include an accelerometer or gyroscope operable to detect an orientation and/or change in orientation, or an electronic or digital compass, which can indicate a direction in which the device is determined to be facing. The mechanism(s) also (or alternatively) can include or comprise a global positioning system (GPS) or similar positioning element operable to determine relative coordinates for a position of the computing device, as well as information about relatively large movements of the device. The device can include other elements as well, such as may enable location determinations through triangulation or another such approach. These mechanisms can communicate with the processor 902, whereby the device can perform any of a number of actions described or suggested herein.
As an example, a computing device such as that described with respect to
As discussed, different approaches can be implemented in various environments in accordance with the described embodiments. For example,
The illustrative environment includes at least one application server 1008 and a data store 1010. It should be understood that there can be several application servers, layers or other elements, processes or components, which may be chained or otherwise configured, which can interact to perform tasks such as obtaining data from an appropriate data store. As used herein, the term “data store” refers to any device or combination of devices capable of storing, accessing and retrieving data, which may include any combination and number of data servers, databases, data storage devices and data storage media, in any standard, distributed or clustered environment. The application server 1008 can include any appropriate hardware and software for integrating with the data store 1010 as needed to execute aspects of one or more applications for the client device and handling a majority of the data access and business logic for an application. The application server provides access control services in cooperation with the data store and is able to generate content such as text, graphics, audio and/or video to be transferred to the user, which may be served to the user by the Web server 1006 in the form of HTML, XML or another appropriate structured language in this example. The handling of all requests and responses, as well as the delivery of content between the client device 1002 and the application server 1008, can be handled by the Web server 1006. It should be understood that the Web and application servers are not required and are merely example components, as structured code discussed herein can be executed on any appropriate device or host machine as discussed elsewhere herein.
The data store 1010 can include several separate data tables, databases or other data storage mechanisms and media for storing data relating to a particular aspect. For example, the data store illustrated includes mechanisms for storing content (e.g., production data) 1012 and user information 1016, which can be used to serve content for the production side. The data store is also shown to include a mechanism for storing log or session data 1014. It should be understood that there can be many other aspects that may need to be stored in the data store, such as page image information and access rights information, which can be stored in any of the above listed mechanisms as appropriate or in additional mechanisms in the data store 1010. The data store 1010 is operable, through logic associated therewith, to receive instructions from the application server 1008 and obtain, update or otherwise process data in response thereto. In one example, a user might submit a search request for a certain type of item. In this case, the data store might access the user information to verify the identity of the user and can access the catalog detail information to obtain information about items of that type. The information can then be returned to the user, such as in a results listing on a Web page that the user is able to view via a browser on the user device 1002. Information for a particular item of interest can be viewed in a dedicated page or window of the browser.
Each server typically will include an operating system that provides executable program instructions for the general administration and operation of that server and typically will include computer-readable medium storing instructions that, when executed by a processor of the server, allow the server to perform its intended functions. Suitable implementations for the operating system and general functionality of the servers are known or commercially available and are readily implemented by persons having ordinary skill in the art, particularly in light of the disclosure herein.
The environment in one embodiment is a distributed computing environment utilizing several computer systems and components that are interconnected via communication links, using one or more computer networks or direct connections. However, it will be appreciated by those of ordinary skill in the art that such a system could operate equally well in a system having fewer or a greater number of components than are illustrated in
The various embodiments can be further implemented in a wide variety of operating environments, which in some cases can include one or more user computers or computing devices which can be used to operate any of a number of applications. User or client devices can include any of a number of general purpose personal computers, such as desktop or laptop computers running a standard operating system, as well as cellular, wireless and handheld devices running mobile software and capable of supporting a number of networking and messaging protocols. Such a system can also include a number of workstations running any of a variety of commercially-available operating systems and other known applications for purposes such as development and database management. These devices can also include other electronic devices, such as dummy terminals, thin-clients, gaming systems and other devices capable of communicating via a network.
Most embodiments utilize at least one network that would be familiar to those skilled in the art for supporting communications using any of a variety of commercially-available protocols, such as TCP/IP, OSI, FTP, UPnP, NFS, CIFS and AppleTalk. The network can be, for example, a local area network, a wide-area network, a virtual private network, the Internet, an intranet, an extranet, a public switched telephone network, an infrared network, a wireless network and any combination thereof.
In embodiments utilizing a Web server, the Web server can run any of a variety of server or mid-tier applications, including HTTP servers, FTP servers, CGI servers, data servers, Java servers and business application servers. The server(s) may also be capable of executing programs or scripts in response requests from user devices, such as by executing one or more
Web applications that may be implemented as one or more scripts or programs written in any programming language, such as Java®, C, C# or C++ or any scripting language, such as Perl, Python or TCL, as well as combinations thereof. The server(s) may also include database servers, including without limitation those commercially available from Oracle®, Microsoft®, Sybase® and IBM®.
The environment can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network (SAN) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers or other network devices may be stored locally and/or remotely, as appropriate. Where a system includes computerized devices, each such device can include hardware elements that may be electrically coupled via a bus, the elements including, for example, at least one central processing unit (CPU), at least one input device (e.g., a mouse, keyboard, controller, touch-sensitive display element or keypad) and at least one output device (e.g., a display device, printer or speaker). Such a system may also include one or more storage devices, such as disk drives, optical storage devices and solid-state storage devices such as random access memory (RAM) or read-only memory (ROM), as well as removable media devices, memory cards, flash cards, etc.
Such devices can also include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired), an infrared communication device) and working memory as described above. The computer-readable storage media reader can be connected with, or configured to receive, a computer-readable storage medium representing remote, local, fixed and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting and retrieving computer-readable information. The system and various devices also typically will include a number of software applications, modules, services or other elements located within at least one working memory device, including an operating system and application programs such as a client application or Web browser. It should be appreciated that alternate embodiments may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets) or both. Further, connection to other computing devices such as network input/output devices may be employed.
Storage media and computer readable media for containing code, or portions of code, can include any appropriate media known or used in the art, including storage media and communication media, such as but not limited to volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer readable instructions, data structures, program modules or other data, including RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or any other medium which can be used to store the desired information and which can be accessed by a system device. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the various embodiments.
The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.
This application is a continuation of U.S. patent application Ser. No. 13/529,818, filed Jun. 21, 2012, the content of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 13529818 | Jun 2012 | US |
Child | 15675573 | US |