Title:
METHODS AND APPARATUS TO VERIFY CONSUMPTION OF PROGRAMMING CONTENT
Kind Code:
A1


Abstract:
Methods and apparatus to verify consumption of content are described herein. In an example method, a content library is generated within a data structure. The content library includes at least one content identifier associated with programming content. The programming content is insertable into content stream. A content stream including content for broadcasting on a broadcast device is received. To verify consumption of the programming content, a broadcast content identifier associated with the content for broadcasting is compared to the at least one content identifier of the content library.



Inventors:
Lawrence III, Bradley R. (Tampa, FL, US)
Application Number:
11/608495
Publication Date:
05/10/2007
Filing Date:
12/08/2006
Primary Class:
Other Classes:
348/E7.069, 375/E7.024, 725/45, 725/86, 725/87, 725/115
International Classes:
H04N7/173; G06F3/00; G06F13/00; H04N5/445
View Patent Images:



Primary Examiner:
EKPO, NNENNA NGOZI
Attorney, Agent or Firm:
Hanley, Flight & Zimmerman, LLC (Nielsen) (Chicago, IL, US)
Claims:
What is claimed is:

1. A method to verify consumption of programming content comprising: generating a content library within a data structure, the content library having at least one content identifier associated with programming content, the programming content being insertable into content stream; receiving a content stream, the content stream including content for broadcasting on a broadcast device; and comparing a broadcast content identifier associated with the content for broadcasting to the at least one content identifier of the content library.

2. A method as defined in claim 1, wherein generating the content library within the data structure comprises generating a content library having at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the programming content.

3. A method as defined in claim 1, wherein generating the content library within the data structure comprises: tuning to a broadcast channel to receive a content stream; extracting the content identifier associated with programming content from the content stream; and storing the content identifier in the content library.

4. A method as defined in claim 1, wherein generating the content library within the data structure comprises receiving the at least one content identifier via one of an in-band transmission and an out-of-band transmission.

5. A method as defined in claim 1, wherein generating the content library within the data structure comprises generating a content library including at least one content identifier associated with one of a television advertisement, a television program, an interactive television application, and an alternate portion of the television program.

6. A method as defined in claim 1, wherein receiving the content stream having programming content for broadcasting on the broadcast device comprises receiving a broadcast content identifier associated with one of a television advertisement and a television program.

7. A method as defined in claim 1, wherein comparing the broadcast content identifier to the at least one content identifier of the content library comprises comparing at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the content for broadcasting on the broadcast device to the at least one content identifier of the content library.

8. A method as defined in claim 1, wherein comparing the broadcast content identifier to the at least one content identifier of the content library comprises determining whether the broadcast content identifier matches the at least one content identifier of the content library.

9. A method as defined in claim 1 further comprising identifying content information via a data structure in response to the broadcast content identifier matching the at least one content identifier of the content library and providing the content information to a data collection facility.

10. An apparatus to verify consumption of programming content comprising: a memory storing a content library having at least one content identifier associated with programming content, the programming content being insertable into content stream; and a processor configured to generate the content library, to receive a content stream including content for broadcasting on a broadcast device, and to compare a broadcast content identifier associated with the content for broadcasting to the at least one content identifier of the content library.

11. An apparatus as defined in claim 10 comprises one of a personal video recorder (PVR) and a video cassette recorder (VCR).

12. An apparatus as defined in claim 10, wherein the at least one content identifier of the content library comprises at least one of an audio signature, a video signature, an audio code, a video code, and a portion of the programming content.

13. An apparatus as defined in claim 10, wherein the broadcast content identifier comprises at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the content for broadcasting.

14. An apparatus as defined in claim 10, wherein the programming content comprises one of a television advertisement, a television program, an interactive television application, and an alternate portion of the television program.

15. An apparatus as defined in claim 10, wherein the content for broadcasting comprises one of a television advertisement and a television program.

16. An apparatus as defined in claim 10, wherein the processor is configured to receive the at least one content identifier via one of an in-band transmission and an out-of-band transmission.

17. An apparatus as defined in claim 10, wherein the processor is configured to identify content information via a data structure in response to the broadcast content identifier matching the at least one content identifier of the content library and to provide the content information to a data collection facility.

18. A machine readable medium storing instructions, the instructions being structured to cause a machine to: generate a content library within a data structure, the content library having at least one content identifier associated with programming content, and the programming content being insertable into content stream; receive a content stream, the content stream including content for broadcasting on a broadcast device; and compare a broadcast content identifier associated with the content for broadcasting to the at least one content identifier of the content library.

19. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to generate the content library within the data structure by generating a content library having at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the programming content.

20. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to generate the content library within the data structure by: tuning to a broadcast channel to receive a content stream; extracting a content identifier associated with programming content from the content stream; and storing the content identifier in the content library.

21. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to generate the content library within the data structure by receiving the at least one content identifier via one of an in-band transmission and an out-of-band transmission.

22. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to generate the content library within the data structure by generating a content library including at least one content identifier associated with one of a television advertisement, a television program, an interactive television application, and an alternate portion of the television program.

23. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to receive the content stream including content for broadcasting by receiving a content stream including one of a television advertisement and a television program.

24. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to compare the broadcast content identifier to the at least one content identifier of the content library by comparing at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the content for broadcasting to the at least one content identifier associated with the programming content.

25. A machine readable medium as defined in claim 18, wherein the instructions cause the machine to compare the broadcast content identifier to the at least one content identifier of the content library by determining whether the broadcast content identifier matches the at least one content identifier of the content library.

26. A machine readable medium as defined in claim 18 further comprising instructions to cause a machine to identify content information via a data structure in response to the broadcast content identifier matching the at least one of content identifier of the content library and to provide the content information to a data collection facility.

27. A machine readable medium as defined in claim 18 is one of a programmable gate array, application specific integrated circuit, erasable programmable read only memory, read only memory, random access memory, magnetic media, and optical media.

28. A system to verify consumption of programming content comprising: a data structure configured to store a content library having at least one content identifier associated with programming content, the programming content being insertable into content stream; a broadcast device configured to present programming content; and a recording device operatively coupled to the data structure and the broadcast device, the recording device being configured to generate the content library within the data structure, and to compare a broadcast content identifier associated with content for broadcasting to the at least one content identifier of the content library.

29. A system as defined in claim 28, wherein the data structure and the recording device are integrated into one of a personal video recorder (PVR) and a video cassette recorder (VCR).

30. A system as defined in claim 28, wherein the at least one content identifier of the content library comprises at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the programming content.

31. A system as defined in claim 28, wherein the broadcast content identifier comprises at least one of an audio signature, a video signature, an audio code, a video code, a digital identifier, and a portion of the content for broadcasting.

32. A system as defined in claim 28, wherein the programming content comprises one of a television advertisement, a television program, an interactive television application, and an alternate portion of the television program.

33. A system as defined in claim 28, wherein the content for broadcasting comprises one of a television advertisement and a television program.

34. A system as defined in claim 28, wherein the recording device configured to receive the at least one content identifier via one of an in-band transmission and an out-of-band transmission.

35. A system as defined in claim 28, wherein the recording device comprises one of a personal video recorder (PVR) and a video cassette recorder (VCR).

36. A system as defined in claim 28, wherein the recording device is configured to identify content information via a data structure in response to the broadcast content identifier matching the at least one content identifier of the content library and to provide the content information to a data collection facility.

Description:

RELATED APPLICATION

This patent is a continuation of International Application Serial Number PCT/US2004/017879, entitled “Methods and Apparatus to Verify Consumption of Programming Content,” and filed on Jun. 8, 2004.

TECHNICAL FIELD

The present disclosure relates generally to verification systems, and more particularly, to methods and apparatus to verify consumption of programming content.

BACKGROUND

With the advances in today's technology, audience measurement companies are presented with greater challenges to collect viewing data to determine viewing habits of viewers. For example, personal video recorders (PVR) present such a challenge to collect viewing data because PVRs allow viewers to play back and view programming at a later time (i.e., in a time-shifted manner). Typically, however, methods to collect viewing data depend on the programming being view at the time of broadcast (i.e., real-time). To illustrate this concept, signatures of a program taken at a household are either collected with broadcast timestamp information or associated with a time at which they were received at the household receiver (e.g., a set top box). The signatures are then compared to either reference signatures having the same broadcast time stamp or reference signatures that were broadcasted at or around the same time to identify a match. Comparing broadcast time reduces the amount of signature comparisons that are required to identify a match. However, PVRs allow viewers to skip programming content such as commercials at their discretion to avoid consumption of the programming content. Thus, audience measurement companies are researching different ways to verify programming content is shown to viewers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representation of an example television system.

FIG. 2 is a block diagram representation of an example programming content verification system.

FIG. 3 is a block diagram representation of an example programming content index that may be used by the example programming content verification system of FIG. 2.

FIG. 4 is a flow diagram representation of example machine readable instructions that may be executed to implement the example programming content verification system of FIG. 2.

FIG. 5 is a flow diagram representation of example machine readable instructions that may be executed to implement a content library generation process of the example programming content verification system of FIG. 2.

FIG. 6 is a flow diagram representation of example machine readable instructions that may be executed to implement a content identifier comparison process of the example programming content verification system of FIG. 2.

FIG. 7 is a block diagram representation of an example processor system that may be used to implement the example programming content verification system of FIG. 2.

DETAILED DESCRIPTION

Although the following discloses example systems including, among other components, software executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of the disclosed hardware and software components could be embodied exclusively in dedicated hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware, and/or software.

In addition, while the following disclosure is made with respect to example television systems, it should be understood that the disclosed system is readily applicable to many other media systems. Accordingly, while the following describes example systems and processes, persons of ordinary skill in the art will readily appreciate that the disclosed examples are not the only way to implement such systems.

In the example of FIG. 1, an example television system 100 including a television service provider 110, a television 120, a remote control device 125, and a personal video recorder (PVR) 130, is metered using an audience measurement system. The components of the television system 100 may be coupled in any well known manner. The television 120 is positioned in a viewing area 150 located within a house occupied by one or more people, referred to as household members 160, all of whom have agreed to participate in an audience measurement research study. The viewing area 150 includes the area in which the television 120 is located and from which the television 120 may be viewed by one or more household members 160 located in the viewing area 150. Based on the viewing of the household members 160, the PVR 130 may be configured to send viewing data to a data collection facility 180. For example, the PVR 130 may transmit content information such as which programming content was displayed and when it was displayed on the television 120 for viewing by the household members 160. The data collection facility 180 may be configured to process and store data received from the PVR 130.

The television service provider 110 may be implemented using any television service provider such as, for example, a cable television service provider 112, a radio frequency (RF) television service provider 114, and/or a satellite television service provider 116. The television 120 receives a plurality of television signals transmitted via a plurality of channels by the television service provider 110 and may be adapted to process and display television signals provided in any format such as a National Television Standards Committee (NTSC) television signal format, a high definition television (HDTV) signal format, an Advanced Television Systems Committee (ATSC) television signal format, a phase alteration line (PAL) television signal format, a digital video broadcasting (DVB) television signal format, an Association of Radio Industries and Businesses (ARIB) television signal format, etc. The user-operated remote control device 125 allows a user to cause the television 120 to tune to and receive signals transmitted on a desired channel, and to cause the television 120 to process and present the programming content contained in the signals transmitted on the desired channel. The processing performed by the television 120 may include, for example, extracting a video and/or an audio component delivered via the received signal, causing the video component to be displayed on a screen/display associated with the television 120, and causing the audio component to be emitted by speakers associated with the television 120. The programming content contained in the television signal may include, for example, a television program, a movie, an advertisement, a video game, and/or a preview of other programming content that is currently offered or will be offered in the future by the television service provider 110.

While the components shown in FIG. 1 are depicted as separate functional blocks within the television system 100, the functions performed by some of these blocks may be integrated within a single unit or may be implemented using two or more separate components. For example, although the television 120 and the PVR 130 are depicted as separate functional blocks, persons of ordinary skill in the art will readily appreciate that the television 120 and the PVR 130 may be integrated into a single unit.

In the example of FIG. 2, a programming content verification system 200 includes a content provider 210, a broadcast device 220, and a PVR 230. In general, the content provider 210 (e.g., the television service provider 110) provides the PVR 230 with content streams to display on the broadcast device 220 (e.g., the television 120). The PVR 230 includes a content library generator 232, a memory 234, and a comparator 236. The content library generator 232 generates a content library 240 as described in detail below and stores the content library 240 in the memory 234. Alternatively, the content library generator 232 may store the content library 240 in a mass storage device 250. Examples of such mass storage device(s) 250 include floppy disks and drives, hard disk drives, compact disks and drives, and digital versatile disks (DVD) and drives. As noted above, the PVR 230 receives content streams from the content provider 210. In particular, the comparator 236 extracts a broadcast content identifier associated with programming content from a content stream currently being broadcasted to the PVR 230. To verify consumption of the insertable content, the comparator 236 compares the broadcast content identifier to the content identifiers previously stored in the content library 240 and/or the mass storage device 250.

To illustrate the concept of verifying consumption of programming content, a content stream sent to the PVR 230 from the content provider 210 may include programming content which is insertable into content streams. For example, the insertable content may be an advertisement, a program, an interactive television application, and/or an alternate portion of a program. The PVR 230 may receive the insertable content via an in-band transmission. That is, the insertable content may be merged with data of the content stream prior to transmission to the PVR 230. For example, a local advertisement may be inserted into the content stream of a nationally televised program prior to transmission of the content stream to the PVR 230. Thus, the PVR 130 receives the insertable content and the content stream from the content provider 210 over the same link (e.g., same cable).

Alternatively, the insertable content may be sent to the PVR 230 via an out-of-band transmission (i.e., the insertable content is transmitted separate from the content stream). In particular, the content stream and the insertable content may be transmitted physically over separate set of wires to the PVR 230. For example, the content stream (e.g., a nationally televised program) may be transmitted to the PVR 230 via a cable whereas the insertable content (e.g., a local advertisement) may be transmitted to the PVR 230 via a dial-up modem. In contrast to an in-band transmission of the insertable content (i.e., the insertable content is merged with data of the content stream prior to transmission to the PVR 230), the insertable content of an out-of-band transmission is merged with data of the content stream at the PVR 230.

To identify the insertable content received via either an in-band transmission or an out-of-band transmission, the PVR 230 generates a content library 240. For example, the content library 240 may be stored locally in the memory 234 of the PVR 230. As another example, the content library 240 may be stored on a remote storage device such as the mass storage device 250. If the insertable content is transmitted via an in-band transmission, the PVR 230 extracts the insertable content from the content stream and stores the insertable content in the content library 240. On the other hand, if the insertable content is transmitted via an out-of-band transmission, the PVR 230 directly stores the insertable content (i.e., without having to extract the insertable content from the content stream). To conserve size of the storage devices, the PVR 230 (e.g., via the processor 232) may store a portion of the insertable content into the memory 234 and/or the mass storage device 250 rather than storing the insertable content in its entirety. Alternatively, the PVR 230 may store a content identifier associated with the insertable content to identify the insertable content. For example, the content identifier may be an audio signature, a video signature, an audio code, a digital identifier (e.g., an audience measurement packet, or a cyclical redundancy code (CRC)) and/or a video code of the insertable content. The PVR 230 may be coupled to a serial data channel metering attachment as described in, for example, U.S. Pat. No. 5,488,408 entitled “Serial Data Channel Metering Attachment for Metering Channels to which a Receiver is Tuned” and issued on Jan. 30, 1996 to identify the content identifier of the insertable content. The subject matter of U.S. Pat. No. 5,488,408 is hereby incorporated by reference. In addition to identifying the insertable content using the examples of content identifier mentioned above, the PVR 230 may use blank frame detection technology as described in, for example, International PCT Patent Application No. ______ entitled “Methods and Apparatus to Detect a Commercial in a Video Broadcast Signal” and filed on ______ to identify a blank image associated with the insertable content. The subject matter of International PCT Patent Application No. ______ is hereby incorporated by reference. Based on the content identifiers stored in the content library 240, the PVR 230 may verify consumption of programming content when a content stream including the programming content is received by the PVR 130 as described in detail below.

Further, the PVR 230 may receive a data structure (e.g., the index 300 of FIG. 3) from the content provider 210 to identify the insertable content as described in detail below. The data structure may be an index, a list, a table, a database and/or any other suitable data configuration that includes information such as an identifier corresponding to an insertable content. In the example of FIG. 3, the index 300 may include index numbers 305 such as index #1 310 corresponding to a car commercial 315, index #2 320 corresponding to an airline commercial 325, index #3 330 corresponding to a beverage commercial 335, index #4 340 corresponding to a football game 345, and index #5 350 corresponding to local news 355. Thus, the PVR 230 may identify a programming content with the index numbers 305 and transmit the index number corresponding to the programming content to the data collection facility 180 after verifying consumption of the programming content. The index numbers 305 may be used to indicate which insertable content was displayed to viewers.

Because the PVR 230 allow viewers to play back and view programming content in a time-shifted manner and/or skip programming content such as a television advertisement, the PVR 230 measures the actual display of the programming content at a later time by storing the content identifier associated with the programming content in the content library 240 upon receipt of the programming content. Thus, the PVR 230 may determine whether the programming content was actually displayed (i.e., rather than being skipped) regardless of whether the programming content was viewed either in real-time or in a time-shifted manner.

While the components shown in FIG. 2 are depicted as separate functional blocks within the programming content verification system 200, the functions performed by some of these blocks may be integrated within a single unit or may be implemented using two or more separate components. For example, although the PVR 230 and the broadcast device 220 are depicted as separate functional blocks, persons of ordinary skill in the art will readily appreciate that the PVR 230 and the broadcast device 220 may be integrated into a single unit.

A flow diagram 400 representing machine readable instructions that may be executed by a processor (e.g., the processor 1020 of FIG. 7) to verify consumption of programming content is illustrated in FIG. 4. Persons of ordinary skill in the art will appreciate that the instructions may be implemented in any of many different ways utilizing any of many different programming codes stored on any of many computer-readable mediums such as a volatile or nonvolatile memory or other mass storage device (e.g., a floppy disk, a CD, and a DVD). For example, the machine readable instructions may be embodied in a machine-readable medium such as an erasable programmable read only memory (EPROM), a read only memory (ROM), a random access memory (RAM), a magnetic media, an optical media, and/or any other suitable type of medium. Alternatively, the machine readable instructions may be embodied in a programmable gate array and/or an application specific integrated circuit (ASIC). Further, although a particular order of actions is illustrated in FIG. 4, persons of ordinary skill in the art will appreciate that these actions can be performed in other temporal sequences. Again, the flow diagram 400 is merely provided and described in conjunction with the example programming content verification system of FIGS. 2 and 3 as an example of one way to verify consumption of programming content.

In the example of FIG. 4, the flow diagram 400 begins the content library generator 232 generating the content library 240 within the memory 234 (block 410). Alternatively, the content library generator 232 may generate the content library 240 within the mass storage device 250. The content library 240 includes at least one content identifier associated with an insertable content to serve as a reference. Referring to FIG. 4, for example, the content provider 210 adds markers and/or flags in a content stream indicating locations within the content stream where insertable contents may be inserted (i.e., the markers and/or flags serve as place holders within the content stream) (block 510). For example, a content stream of a nationally televised program may include markers and/or flags to indicate where within the content stream that a local advertisement may be inserted. In another example, a content stream of a movie may include markers and/or flags to indicate where an alternative and/or additional scene may be inserted within the content stream.

As noted above, the insertable content may be transmitted to the PVR 230 via either an in-band transmission or an out-of-band transmission. Accordingly, the content provider 210 determines whether to merge the insertable content into the content stream (block 520). For an in-band transmission of the insertable content, the content provider 210 merges the insertable content into the content stream prior to transmission (block 530) so that the insertable content is sent over the same channel as the data of the content stream to the PVR 230 (block 540). To generate the content library 240, the PVR 230 extracts a content identifier associated with the insertable content from the merged content stream (block 550) and stores the content identifier in the content library 240 (block 560). For example, the content identifier may be an audio signature, a video signature, an audio code, a video code, and/or a portion of the insertable content.

Referring back to block 520, if the content provider 210 decides to transmit the insertable content via an out-of-band transmission, then the content stream is transmitted separately from the insertable content to the PVR 230 (block 570). In particular, the insertable content is transmitted to the PVR 230 via a link separate from the link carrying data of the content stream. For example, the content stream of the nationally televised program may be transmitted over cable link whereas a local advertisement may be transmitted over a dial-up link. The content provider 210 determines whether to deliver the insertable content to the PVR 230 (block 580). If the content provider 210 decides not to deliver the insertable content to the PVR 230 then controls return to block 510. Otherwise, the content provider 210 transmits the insertable content to the PVR 230 separate from the content stream (block 590) so that the PVR 230 may determine whether to merge the insertable content with data of the content stream. Further, PVR 230 may store the content identifier associated with the insertable content in the content library (block 560). As a result, the content library may include a plurality of content identifiers to serve as references when the PVR 230 verifies consumption of the insertable content as described in further detail below.

As noted above, the PVR 230 is configured to receive content streams from the content provider 210. Referring back to FIG. 4, the comparator 236 may extract a broadcast content identifier associated with programming content from a content stream currently being broadcasted to the PVR 230 (block 420). To verify consumption of the insertable content, the comparator 236 compares the broadcast content identifier to the content identifiers previously stored in the content library 240 (block 430). In the example of FIG. 6, the comparator 236 accesses the content identifiers previously stored in the content library 240 (block 610) and determines whether the broadcast content identifier matches one of the content identifiers previously stored in the content library 240 (block 620). For example, the comparator 236 may compare an audio signature, a video signature, an audio code, and/or a video code of an advertisement to the content identifiers stored in the content library 240. In another example, the comparator 236 may compare a portion of a program to the content identifiers stored in the content library 240.

As noted above, the PVR 230 includes the index 300 to identify the programming content upon detecting a match between the broadcast content identifier and at least one content identifier stored in the content library 240. For example, the PVR 230 may detect that the car commercial 315 was consumed by the viewer. Thus, the PVR 230 identifies the car commercial 315 is index #1 310 and verifies that the insertable content was consumed by the viewer. In response to detecting a match between the broadcast content identifier and at least one content identifier stored in the content library 240, the PVR 230 provides content information associated with the insertable content to the data collection facility 180 (block 630). In particular, the PVR 230 may provide information such as which insertable content and when it was displayed to a viewer. Following the example described above, the PVR 230 may transmit index #1 310 to the data collection facility 180 to indicate that the car commercial 315 was consumed. Otherwise if a match is not found, the PVR 230 updates and continues to build the content library 240 by storing the broadcast content identifier in the content library 240 (block 640) so that PVR 230 may verify consumption of programming content of content streams received in the future.

As noted above, the PVR 230 is configured to time-shift and/or to skip programming content (e.g., a television advertisement). By storing the content identifier associated with the programming content in the content library 240 upon receipt of the programming content, the PVR 230 may measure the actual display of the programming content at a later time even if the programming content is skipped. Thus, the PVR 230 may collect viewing data regardless of whether the programming content was viewed either in real-time or in a time-shifted manner.

While the methods and apparatus disclosed herein are particularly well suited for use to verify consumption of content with a PVR, the teachings of the disclosure may be implemented by other electronic devices such as a VCR without departing from the scope or spirit thereof.

FIG. 7 is a block diagram of an example processor system 1000 adapted to implement the methods and apparatus disclosed herein. The processor system 1000 may be a desktop computer, a laptop computer, a notebook computer, a personal digital assistant (PDA), a server, an Internet appliance or any other type of computing device.

The processor system 1000 illustrated in FIG. 7 includes a chipset 1010, which includes a memory controller 1012 and an input/output (I/O) controller 1014. As is well known, a chipset typically provides memory and I/O management functions, as well as a plurality of general purpose and/or special purpose registers, timers, etc. that are accessible or used by a processor 1020. The processor 1020 is implemented using one or more processors. The processor 1020 includes a cache 1022, which may be implemented using a first-level unified cache (L1), a second-level unified cache (L2), a third-level unified cache (L3), and/or any other suitable structures to store data as persons of ordinary skill in the art will readily recognize.

As is conventional, the memory controller 1012 performs functions that enable the processor 1020 to access and communicate with a main memory 1030 including a volatile memory 1032 and a non-volatile memory 1034 via a bus 1040. The volatile memory 1032 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), and/or any other type of random access memory device. The non-volatile memory 1034 may be implemented using flash memory, Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), and/or any other desired type of memory device.

The processor system 1000 also includes an interface circuit 1050 that is coupled to the bus 1040. The interface circuit 1050 may be implemented using any type of well known interface standard such as an Ethernet interface, a universal serial bus (USB), a third generation input/output interface (3GIO) interface, and/or any other suitable type of interface.

One or more input devices 1060 are connected to the interface circuit 1050. The input device(s) 1060 permit a user to enter data and commands into the processor 1020. For example, the input device(s) 1060 may be implemented by a keyboard, a mouse, a touch-sensitive display, a track pad, a track ball, an isopoint, and/or a voice recognition system.

One or more output devices 1070 are also connected to the interface circuit 1050. For example, the output device(s) 1070 may be implemented by display devices (e.g., a light emitting display (LED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, a printer and/or speakers). The interface circuit 1050, thus, typically includes, among other things, a graphics driver card.

The processor system 1000 also includes one or more mass storage devices 1080 to store software and data. Examples of such mass storage device(s) 1080 include floppy disks and drives, hard disk drives, compact disks and drives, and digital versatile disks (DVD) and drives.

The interface circuit 1050 also includes a communication device such as a modem or a network interface card to facilitate exchange of data with external computers via a network. The communication link between the processor system 1000 and the network may be any type of network connection such as an Ethernet connection, a digital subscriber line (DSL), a telephone line, a cellular telephone system, a coaxial cable, etc.

Access to the input device(s) 1060, the output device(s) 1070, the mass storage device(s) 1080 and/or the network is typically controlled by the I/O controller 1014 in a conventional manner. In particular, the I/O controller 1014 performs functions that enable the processor 1020 to communicate with the input device(s) 1060, the output device(s) 1070, the mass storage device(s) 1080 and/or the network via the bus 1040 and the interface circuit 1050.

While the components shown in FIG. 7 are depicted as separate blocks within the processor system 1000, the functions performed by some of these blocks may be integrated within a single semiconductor circuit or may be implemented using two or more separate integrated circuits. For example, although the memory controller 1012 and the I/O controller 1014 are depicted as separate blocks within the chipset 1010, persons of ordinary skill in the art will readily appreciate that the memory controller 1012 and the I/O controller 1014 may be integrated within a single semiconductor circuit.

Although certain example methods, apparatus, and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.