Delivering audiovisual entertainment has progressed from physical media to digital downloads. In delivering such media, content providers often seek compensation based on the number of times content can be presented on a particular system. Audiovisual content, such as a movie, may be presented to a user via streaming to a display device or downloaded to non-volatile storage on a user's display device. The content may then be subject to some restriction, such as a limited number of days within which the content can be played once performance of the content begins. One example is a movie rental, which requires a user to watch the downloaded move within a certain number of days after downloading the movie and initiating a play sequence.
The licensing and display of such content relative a restriction on the number of plays, for example, is generally limited to the content or the device on which it is played.
The technology, briefly described, is a content presentation system and method allowing content providers to regulate the presentation of content on a per-user-view basis. Content is distributed to consuming devices, such as televisions, set-top boxes and digital displays, with an associated license option on the number of individual consumers or viewers allowed to consume the content. The limitation may comprise a number of user views, a number of user views over time, a number of simultaneous user views, views tied to user identities, views limited to user age or any variation or combination thereof, all tied to the number of actual content consumers allowed to view the content. Consumers are presented with a content selection and a choice of licenses allowing consumption of the content. In one embodiment, a license manager on the consuming device or on a content providers system manages license usage and content consumption. The users consuming the content on a display device are monitored so that if the number of user-views licensed is exceeded, remedial action may be taken.
In one embodiment, the technology is a method of distributing content to a user. A selection of content is made available to a user. Each item of content has one or more licensing options comprising associating a performance of the content with an individual user's consumption of the content. When the user selects content and a license option, the content is presented to a display device if the license terms are satisfied. This can include a license for a number of user views allowed for the content within a specific time period is equal to or less than the selected license option, or licenses tied to individual user identities. A user view is an individual user consuming the content at a device. The presentation at the device is monitored to determine the number of users consuming the content during the performance.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Technology is presented which allows a content provider to present content to consumers at a per-user-view basis. Content is distributed to consuming devices, such as televisions, set-top boxes and digital displays, with an associated limitation on the number of actual consumers or viewers allowed to consume the content. The limitation may comprise a number of views, a number of views over time, a number of simultaneous views, views limited to viewers of a certain age, a free view of a limited portion of the media, or any combination or variation thereof, all tied to the number of actual consumers allowed to view the content. Consumers are presented with a content selection and a choice of licenses allowing consumption of the content. The license regulates consumption of the content by consumer. In one embodiment, a license manager on the consuming device or on a content providers system manages license usage and content consumption.
In one embodiment, content provider 150 includes a license manager 152, a user database 154, a transaction manager 158 and content 156. A transaction manager 158 controls the provision of content listings and consumer transactions with content 156 provided by the content provider 150. Content 156 is provided to the consumer upon selection by the consumer of the content requested and one or more license options to view the content. Content may comprise audio, video, processing device applications, games, or other information which may be displayed on an audio/visual device. Various types of audio/visual devices are discussed herein. When a user selects content for consumption on a device, the transaction manger may control the provision of the content (e.g. by downloading or streaming the content to the display device) as well as any financial transaction required by the content provider as remuneration for providing the content. The user database 154 contains a record of the user information associated with a display device. For example, the user database may contain a user record of the content delivered to the user, the license associated with the content and the user or display device, previous transactions of the user, the user's licenses and license status, and transaction information allowing the user to make additional purchases.
The licenser manager 152 associates licenses with content chosen for distribution to a consumer on one of devices 100, 110, and 120. License manager 152 determines whether performance of the content is consistent with the terms of the license. For example, in accordance with the technology, the license defines one or more of the number of consumers, the number of views per consumer, and/or the time period within which the views per consumer must occur.
One or more display devices 100, 110, 120 may comprise, for example, a mobile device 100 (having a mobile display), a personal or head mounted display device 110, and a large-screen display device 120. Each of the display devices illustrated in
Network 50 may comprise any of a number of public or private networks, or a combination thereof, including but not limited to the Internet. Devices may couple to the content provider 150 to acquire content in a manner suitable for use by the content display device and in the manner which the content provider chooses to deliver it. Some devices may include non-volatile memory allowing them to store content for later use. Other devices may stream data directly from the content provider 150.
One type of display device may comprise a mobile display device 100 such as a portable phone or media player. One example of a mobile media device is illustrated in
Consumer detector 106 works in conjunction with the camera or capture device 102 to determine the number of users or consumers within the display area 165 of display 105. In the example shown in
In the case of the mobile display device, the display 105 is generally designed for use by one person but it is possible that more than one person may be able to view content on the display 105. As such the consumer detector uses data from the camera or capture device 102 to determine the number of consumers. In one example, camera 102 is an RGB imaging camera and the consumer detector analyzes one or successive images from the camera to ensure that the licensed number of users per view is enforced. In alternative embodiments, other technologies may be used for the camera/capture device 102, as discussed below. In still further embodiments, no consumer detector is provided on the mobile display device 100 and the consumer detection may be performed by a consumer detector on the content provider 150 as camera or capture device data is transmitted back to the content provider during a performance of the content.
A personal display device 110 may include a head mounted display 166 such as that shown in
A large screen display 120 is a display system generally designed for use by a large number of users e.g. users 170-178. A large screen display device may include a license manager 122, consumer detector 124, capture device 128 and display 126. As noted, the field of display 125 of the display 126 is much larger than the mobile display device and is designed to display content to from one to sever hundred or even thousands of users simultaneously.
In an alternative embodiment, a fee can be charged for each viewer of the content for each view. In another alternative, at 225 and 240, a per-viewer license may comprise counting the number of viewers in a viewing area and directly charging for each identified user in the viewing area. Viewers may be uniquely identified and a count of the viewers determined, with the licensee then charged for each viewer accessing the content. Age and identity restrictions can be applied in this embodiment as well.
Selection of the license at step 215 may include a transaction of remuneration for the content provider in exchange for the right to consume the content in accordance with the terms of the license. Once the license is selected at 215, the user may select to consume the content (view a video or listen to audio or play a game) at a subsequent point in time.
At step 220, the user selects to view the content subject to the terms of the license. At 225, a licensee check is made to determine whether the user has sufficient rights to consume the content. This check may include a determination of the number of users present at the consuming device and a determination of whether, for the particular performance of the content selected, the number of users relative to the number of views allowed is equal to or less than that specified in the license. If the license check is successful, then the licensed number of users is allowed to view the content at 240. If the license check is not successful at 225, then the user may be presented with a warning that the user has an insufficient license to consume the content relative to the number of licensed uses and may further be provided with the opportunity to update the license to include the number of users or views to allow the user to view the content. In certain instances, the user will only be presented with a warning at step 230 an no opportunity to update the license where, for example, the content provider has determined that a specific limitation on the content performance would preclude the consuming the content in the manner desired by the user.
If the user is presented with the option at 230 and chooses to update the license at 235, the licensed number of viewers is allowed to view the content at 240. If the user chooses not to update the license at 235, a notice that viewing the content on a device in the manner attempted by the user is not allowed at 255.
Once a view occurs at 240, the license usage is updated at 245. This may include updating a user record in the database 154 associated with the user relative to additional performances of the content. Step 245 may further include indicating that the license is expired (all uses have been made) such that a new license to consume the same content is required.
At 308, the user selection is of content and a licensing option for the content is received at the device. In one embodiment, this may include downloading the content and associated licensing information to enable a performance program on the display device to present the content on the device. At 310, the user record selection is set to the content server for updating of the database 154.
At 312, which may be temporally just after step 308 or separated in time from step 308, a user selects to consume the content. Step 312 may include beginning the presentation of the content at the display device by a presentation application on the display device, or indicating to the content provider to begin presentation of the content to the display device. At 314, a scan of the display area of the associated display device is made to determine the number of users in the field. As noted, this may comprise using the available capture device or camera, comprising one of a number of suitable technologies, to determine the number of uses present who can consume the content presented. At 318, using the information from the capture device, the number of users in the display area is presented. In this context, display area may include an audio performance area where the content is audio only. In one embodiment, step 318 is not performed on the client device but rather on the content provider device. In such embodiments, step 318 may comprise outputting the capture device information to the content provided. At step 320 the number of content consumers is determined. In some cases, the number of users in the display area of the display device will equal the number of content consumers. In alternate embodiments, content consumers may be determined by more complex gestures. For example, the capture device may note a specified number of people within the display area of a display device, but determine that a subset of the people in the display area are too far to benefit from the display of the content or otherwise not available to view the content. In such cases, at 320, the number of user determined to be consuming the content may be less than those in the display area. Multiple display devices with multiple display areas can be combined to determine whether the specified number of individuals meets the licensed definition of allowed viewers.
At 324, a license validation is performed by comparing the user count and any view or performance limitation against that allowed by the license. If the license is satisfied, the content presentation begins at 326. If not, then at 338, the user is presented with an option to adjust the license terms. If the license is updated, then the content presentation begins at 326. If not, the presentation is halted at 642.
Once the presentation begins at 326, the users in the field of view may change over the course of the presentation. Users may enter or leave the display area of a display device, for example. At 328, the display area for the display device is re-scanned. At 330, a determination is made as to whether the consuming user count has changed. Again, the content provider based on information provided to the content provider by the display device may perform step 330. In such embodiments, the content provider performs step 330. At 332, a comparison of the user count and any view or performance limitation against that allowed by the license is again made. If the license is exceeded, the process moves to step 338 to offer an opportunity to change the license terms. If the count has not changed, a determination is made at 334 whether performance of the content has been completed.
Various algorithms may be used to determine whether a user present within the display area of the display device has consumed enough of the content for such consumption to be considered a “use” of the content. One algorithm is to determine how many users have consumed a majority or some minimum threshold of the content. In a further embodiment, where a capture device in accordance with
Steps 406-426 may be performed when the content provider 150 controls presentation of the content to the display device and/or license management is performed on the display device. In cases where the display device presents content directly, steps 406-426 may not need to be performed. In other embodiments, for example where content is streamed directly from the content provider 150 and the display device does not include a presentation application or content storage, license management is performed on the content provider 150.
At 406, a determination is made as to the number of users viewing the content. Step 406 may include directly receiving a determined user count at 408 from the display device, or receiving data from the capture device at 410 which may then be used by the content provider to determine the consumers of the content in the display area of the device.
At 412, a license validation is performed by comparing the user count and any view or performance limitation against that allowed by the license. If the license is satisfied, the content presentation begins at 420. If not, then at 414, the user is presented with an option to adjust the license terms. If the license is updated at 416, then the content presentation begins at 420. If not, the presentation is halted at 418.
At 422, updated capture device information may be received from the display device. At 424, a user count determination is made in a manner similar to step 330 described above using one of a number of alternative algorithms. At 426, another license validation is performed using the updated user count information from step 422. If the license is not satisfied, then a license update option is presented at 414. If the license is valid with the updated user count, then at 428 a determination is made as to whether a view is complete. If not, the method loops to step 422 but if so, then the license is updated at 430.
It will be understood by those of average skill in the art that numerous variations on the performance of the above teachings may be performed by various components of the content provider processing devices and the display devices.
In one embodiment, processing unit 504 is worn on the user's wrist and includes much of the computing power used to operate head mounted display device 502. Processing unit 504 communicates wirelessly (e.g., WiFi, Bluetooth, infra-red, or other wireless communication means) to one or more computing environments 612 illustrated in FIGS. 6 and 8-10.
A head mounted display device 502, may include microphone and or camera 5110 for recording sounds and transmitting that audio data to processing unit 504, as described below.
A portion of the frame of head mounted display device 166 will surround a display (that includes one or more lenses). In order to show the components of head mounted display device 502, a portion of the frame surrounding the display is not depicted. Various technologies may be used to enable the head mounted display 502, with such technologies using a separate processing device 504 and some not using a separate processing device, but rather receiving information directly from the content provider or from a computing environment. Mounted to or inside may be imaging electronics 5136, which (in one embodiment) drive a micro display for projecting a virtual image on lens 5116 images. Additional details of and an exemplary head mounted display suitable for use in the present technology is presented in copending U.S. patent application Ser. No. 12/905,952 entitled Fusing Virtual Content Into Real Content, filed Oct. 15, 2010, owned by the assignee of the present application and hereby fully incorporated by reference herein. Other head mounted displays may be utilized in accordance with the present technology.
As illustrated in
Computing environment 612 further include one or more capture devices, such as capture device 20. A capture device is further illustrated in
Computing environment 612 may be connected to an audiovisual display device 616 such as a television, a monitor, a high-definition television (HDTV), or the like that may provide game or application visuals. For example, computing environment 612 may include a video adapter such as a graphics card and/or an audio adapter such as a sound card that may provide audiovisual signals associated with the game application, non-game application, etc. The audiovisual device 616 may receive the audiovisual signals from computing environment 612 and may then output the game or application visuals and/or audio associated with the audiovisual signals. According to one embodiment, the audiovisual device 16 may be connected to computing environment 612 via, for example, an S-Video cable, a coaxial cable, an HDMI cable, a DVI cable, a VGA cable, component video cable, RCA cables, etc. In one example, audiovisual device 616 includes internal speakers. In other embodiments, audiovisual device 616, a separate stereo or computing environment 612 is connected to external speakers 620.
Environment 612, with capture device 20, may be used to recognize, analyze, and/or track human (and other types of) targets. For example, a users within the display area of the display 616 may be tracked using the capture device 620 such that the gestures and/or movements of the user may be captured to determine the number of people present, whether users are viewing content (in accordance with step 320) and/or may be interpreted as controls that may be used to affect the application being executed by computing environment 612. Such information may also be used to determine whether the tracked user is viewing content presented by a content provider.
The capture device 58 may include an image camera component 32. In one embodiment, the image camera component 32 may include a depth camera that may capture a depth image of a scene. The depth image may include a two-dimensional (2-D) pixel area of the captured scene where each pixel in the 2-D pixel area may represent a depth value such as a distance in, for example, centimeters, millimeters, or the like of an object in the captured scene from the camera.
The image camera component 32 may include an IR light component 34, a three-dimensional (3-D) camera 36, and an RGB camera 38 that may be used to capture the depth image of a capture area. For example, in time-of-flight analysis, the IR light component 34 of the capture device 58 may emit an infrared light onto the capture area and may then use sensors to detect the backscattered light from the surface of one or more targets and objects in the capture area using, for example, the 3-D camera 36 and/or the RGB camera 38. In some embodiments, pulsed infrared light may be used such that the time between an outgoing light pulse and a corresponding incoming light pulse may be measured and used to determine a physical distance from the capture device 58 to a particular location on the targets or objects in the capture area. Additionally, the phase of the outgoing light wave may be compared to the phase of the incoming light wave to determine a phase shift. The phase shift may then be used to determine a physical distance from the capture device to a particular location on the targets or objects.
In another example, the capture device 58 may use structured light to capture depth information. In such an analysis, patterned light (i.e., light displayed as a known pattern such as grid pattern or a stripe pattern) may be projected onto the capture area via, for example, the IR light component 34. Upon striking the surface of one or more targets (or objects) in the capture area, the pattern may become deformed in response. Such a deformation of the pattern may be captured by, for example, the 3-D camera 36 and/or the RGB camera 38 and analyzed to determine a physical distance from the capture device to a particular location on the targets or objects.
In some embodiments, two or more different cameras may be incorporated into an integrated capture device. For example, a depth camera and a video camera (e.g., an RGB video camera) may be incorporated into a common capture device. In some embodiments, two or more separate capture devices of the same or differing types may be cooperatively used. For example, a depth camera and a separate video camera may be used, two video cameras may be used, two depth cameras may be used, two RGB cameras may be used or any combination and number of cameras may be used. In one embodiment, the capture device 58 may include two or more physically separated cameras that may view a capture area from different angles to obtain visual stereo data that may be resolved to generate depth information. Depth may also be determined by capturing images using a plurality of detectors that may be monochromatic, infrared, RGB, or any other type of detector and performing a parallax calculation. Other types of depth image sensors can also be used to create a depth image.
As shown in
In one embodiment, the capture device 58 may include a processor 42 that may be in operative communication with the image camera component 32. The processor 42 may include a standardized processor, a specialized processor, a microprocessor, or the like. The processor 42 may execute instructions that may include instructions for storing filters or profiles, receiving and analyzing images, determining whether a particular situation has occurred, or any other suitable instructions. It is to be understood that at least some image analysis and/or target analysis and tracking operations may be executed by processors contained within one or more capture devices such as capture device 58.
The capture device 58 may include a memory component 44 that may store the instructions that may be executed by the processor 42, images or frames of images captured by the 3-D camera or RGB camera, or any other suitable information, images, or the like. In one example, the memory component 44 may include random access memory (RAM), read only memory (ROM), cache, Flash memory, a hard disk, or any other suitable storage component. As shown in
The capture device 58 may be in communication with the computing environment 54 via a communication link 46. The communication link 46 may be a wired connection including, for example, a USB connection, a FireWire connection, an Ethernet cable connection, or the like and/or a wireless connection such as a wireless 802.11b, g, a, or n connection. The computing environment 54 may provide a clock to the capture device 58 that may be used to determine when to capture, for example, a scene via the communication link 46. In one embodiment, the capture device 58 may provide the images captured by, for example, the 3-D camera 36 and/or the RGB camera 38 to the computing environment 54 via the communication link 46.
As shown in
Processing unit 191 may include one or more processors for executing object, facial, and voice recognition algorithms. In one embodiment, image and audio processing engine 194 may apply object recognition and facial recognition techniques to image or video data. For example, object recognition may be used to detect particular objects (e.g., soccer balls, cars, or landmarks) and facial recognition may be used to detect the face of a particular person. Image and audio processing engine 194 may apply audio and voice recognition techniques to audio data. For example, audio recognition may be used to detect a particular sound. The particular faces, voices, sounds, and objects to be detected may be stored in one or more memories contained in memory unit 192.
In some embodiments, one or more objects being tracked may be augmented with one or more markers such as an IR retroreflective marker to improve object detection and/or tracking. Upon detection of one or more targets or objects, image and audio processing engine 194 may report to operating system 196 an identification of each object detected and a corresponding position and/or orientation.
The image and audio processing engine 194 may utilize structural data 198 while performing object recognition. Structure data 198 may include structural information about targets and/or objects to be tracked. For example, a skeletal model of a human may be stored to help recognize body parts. In another example, structure data 198 may include structural information regarding one or more inanimate objects in order to help recognize the one or more inanimate objects.
The image and audio processing engine 194 may also utilize gesture recognizer engine 190 while performing object recognition. In one example, gestures recognizer engine 190 may include a collection of gesture filters, each comprising information concerning a gesture that may be performed by a skeletal model. The gesture recognition engine 190 may compare the data captured by capture device 58 in the form of the skeletal model and movements associated with it to the gesture filters in the gesture library 192 to identify when a user (as represented by the skeletal model) has performed one or more gestures. In one example, image and audio processing engine 194 may use the gesture recognition engine 190 to help interpret movements of a skeletal model and to detect the performance of a particular gesture.
A license manager 122 and consumer detector, operating as described above, may also be provided—alternatively, license management and consumer detection is provided on the content providers system.
More information about gesture recognizer engine 190 can be found in U.S. patent application Ser. No. 12/422,661, “Gesture Recognizer System Architecture,” filed on Apr. 13, 2009, incorporated herein by reference in its entirety. More information about recognizing gestures can be found in U.S. patent application Ser. No. 12/391,150, “Standard Gestures,” filed on Feb. 23, 2009; and U.S. patent application Ser. No. 12/474,655, “Gesture Tool” filed on May 29, 2009, both of which are incorporated by reference herein in their entirety. More information about motion detection and tracking can be found in U.S. patent application Ser. No. 12/641,788, “Motion Detection Using Depth Images,” filed on Dec. 18, 2009; and U.S. patent application Ser. No. 12/475,308, “Device for Identifying and Tracking Multiple Humans over Time,” both of which are incorporated herein by reference in their entirety.
In the implementation depicted in
MUs 7241(1) and 7241(2) are illustrated as being connectable to MU ports “A” 7231(1) and “B” 7231(2) respectively. Additional MUs (e.g., MUs 7241(3)-7241(6)) are illustrated as being connectable to controllers 7205(1) and 7205(3), i.e., two MUs for each controller. Controllers 7205(2) and 7205(4) can also be configured to receive MUs (not shown). Each MU 7241 offers additional storage on which games, game parameters, and other data may be stored. Additional memory devices, such as portable USB devices, can be used in place of the MUs. In some implementations, the other data can include any of a digital game component, an executable gaming application, an instruction set for expanding a gaming application, and a media file. When inserted into console 7203 or a controller, MU 7241 can be accessed by memory controller 7202. A system power supply module 7250 provides power to the components of gaming system 7201. A fan 7252 cools the circuitry within console 7203.
An application 7260 comprising machine instructions is stored on hard disk drive 7208. When console 7203 is powered on, various portions of application 7260 are loaded into RAM 7206, and/or caches 7210 and 7212, for execution on CPU 7200. Other applications may also be stored on hard disk drive 7208 for execution on CPU 7200.
Gaming and media system 7201 may be operated as a standalone system by simply connecting the system to a monitor, a television, a video projector, or other display device. In this standalone mode, gaming and media system 7201 enables one or more players to play games or enjoy digital media (e.g., by watching movies or listening to music). However, with the integration of broadband connectivity made available through network interface 7232, gaming and media system 7201 may further be operated as a participant in a larger network gaming community.
Mobile device 8300 includes one or more processors 8312 and memory 8310. Memory 8310 includes applications 8330 and non-volatile storage 8340. Memory 8310 can be any variety of memory storage media types, including non-volatile and volatile memory. A mobile device operating system handles the different operations of the mobile device 8300 and may contain user interfaces for operations, such as placing and receiving phone calls, text messaging, checking voicemail, and the like. The applications 8330 can be any assortment of programs, such as a camera application for photos and/or videos, an address book, a calendar application, a media player, an internet browser, games, an alarm application, and other applications. The non-volatile storage component 8340 in memory 8310 may contain data such as music, photos, contact data, scheduling data, and other files.
The one or more processors 8312 also communicates with RF transmitter/receiver 8306 which in turn is coupled to an antenna 8302, with infrared transmitter/receiver 8308, with global positioning service (GPS) receiver 8365, and with movement/orientation sensor 8314 which may include an accelerometer and/or magnetometer. RF transmitter/receiver 8308 may enable wireless communication via various wireless technology standards such as Bluetooth® or the IEEE 802.11 standards. Accelerometers have been incorporated into mobile devices to enable applications such as intelligent user interface applications that let users input commands through gestures, and orientation applications which can automatically change the display from portrait to landscape when the mobile device is rotated. An accelerometer can be provided, e.g., by a micro-electromechanical system (MEMS) which is a tiny mechanical device (of micrometer dimensions) built onto a semiconductor chip. Acceleration direction, as well as orientation, vibration, and shock can be sensed. The one or more processors 8312 further communicate with a ringer/vibrator 8316, a user interface keypad/screen 8318, a speaker 8320, a microphone 8322, a camera 8324, a light sensor 8326, and a temperature sensor 8328. The user interface keypad/screen may include a touch-sensitive screen display.
The one or more processors 8312 controls transmission and reception of wireless signals. During a transmission mode, the one or more processors 8312 provide voice signals from microphone 8322, or other data signals, to the RF transmitter/receiver 8306. The transmitter/receiver 8306 transmits the signals through the antenna 8302. The ringer/vibrator 8316 is used to signal an incoming call, text message, calendar reminder, alarm clock reminder, or other notification to the user. During a receiving mode, the RF transmitter/receiver 8306 receives a voice signal or data signal from a remote station through the antenna 8302. A received voice signal is provided to the speaker 8320 while other received data signals are processed appropriately.
Additionally, a physical connector 8388 may be used to connect the mobile device 8300 to an external power source, such as an AC adapter or powered docking station, in order to recharge battery 8304. The physical connector 8388 may also be used as a data connection to an external computing device. The data connection allows for operations such as synchronizing mobile device data with the computing data on another device.
Computer 2210 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 2210 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk 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 accessed by computer 2210. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 2230 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 2231 and random access memory (RAM) 2232. A basic input/output system 2233 (BIOS), containing the basic routines that help to transfer information between elements within computer 2210, such as during start-up, is typically stored in ROM 2231. RAM 2232 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 2220. By way of example, and not limitation,
The computer 2210 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 2210 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 2280. The remote computer 2280 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 2210, although only a memory storage device 2281 has been illustrated in
When used in a LAN networking environment, the computer 2210 is connected to the LAN 2271 through a network interface or adapter 2270. When used in a WAN networking environment, the computer 2210 typically includes a modem 2272 or other means for establishing communications over the WAN 2273, such as the Internet. The modem 2272, which may be internal or external, may be connected to the system bus 2221 via the user input interface 2260, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 2210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The disclosed technology is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the technology include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The disclosed technology may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, software and program modules as described herein include routines, programs, objects, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Hardware or combinations of hardware and software may be substituted for software modules as described herein.
The disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” are used to described different embodiments and do not necessarily refer to the same embodiment.
For purposes of this document, a connection can be a direct connection or an indirect connection (e.g., via another part).
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.