System and method to increase efficiency and speed of analytics report generation in audience measurement systems

Information

  • Patent Grant
  • 9256884
  • Patent Number
    9,256,884
  • Date Filed
    Thursday, May 24, 2012
    11 years ago
  • Date Issued
    Tuesday, February 9, 2016
    8 years ago
Abstract
A method of generating television Audience Measurement System (AMS) reports and a system executing the method are disclosed. The method comprises the steps of receiving a plurality of encoded report payloads from a plurality of client devices, storing the encoded report payloads in a database, transferring at least one encoded report payload from the database into randomly addressable memory (RAM), decoding the at least one encoded report payload in RAM, parsing the decoded data in RAM with at least one matching algorithm to determine the occurrence of events, compiling a database of parsed data, and generating an AMS report from the database of parsed data.
Description
BACKGROUND

1. Field of the Invention


The invention is directed to television advertisements. Specifically, the invention is directed to reporting viewership of television advertisements and programs.


2. Background of the Invention


Audience Measurement Systems (AMS) should record all events generated by a consumer device, sends them to a centralized location, and allows interested parties to generate reports on all viewed content units, including channel, program, advertisements, etc. Audience Behavior Measurement Systems (BMS) should allow for the recording and monitoring of an audience's interaction with virtually any device or system, including household appliances, radio, TV, gaming consoles, smart phones, tablets, PCs, and so forth.


Due to the amount of data that needs to be collected, transported, stored, retrieved, and processed, the capabilities of existing cost-effective systems can be easily exceeded if the systems are used to generate reports on each and every content unit (program, ad, interactive TV applications, video-on-demand content, etc.) with no margin of error while allowing the user to look back and generate any type of report based on historical data. For example, the PayTV industry in the U.S.A has 60 million digital TV subscribers, where each subscriber generates, on average, approximately one hundred events per day. An Audience Measurement System with such capabilities would need to generate, transport, and store approximately 6 billion events to generate a report on every subscriber. To generate a program or ad rating report, such a system, for each report, will have to process 6 billion records per day of data. Moreover, considering that a typical linear channel lineup in the U.S.A is approximately 300 channels, and each hour of a broadcasted programming has up to 22 minutes allocated for ad spots (which are typically 30 seconds or less), there are up to 316,800 ad units per day which need to be mapped to about 1,000 socioeconomic, demographic, purchasing, housing, and other profiles. Such an amount of data currently makes creation of such systems impractical.


To date, no AMS have been created for the PayTV industry with the abovementioned capabilities, within a reasonable budget, because they have not overcome the limitations caused by the set-top-box return path (i.e. the set-top-box's upstream bandwidth to the head-end), the speed of data retrieval from centralized storage, the cost of CPU data processing to generate the necessary reports, and the time necessary to complete the requested reports (with 316,800 ad units, six billion US records per user per day, and 0.01 millisecond per one comparison, report generation can take up to 602 years to process on a modern computer).


Existing systems (for example, the one described in U.S. Pat. No. 6,983,478 entitled Method and System For Tracking Network Use) propose to create event timelines for each panel participant in a Parse and Merge Data engine by decoding and parsing data received from each panel participant's set-top-box, merging event records data with programming and ad data, and forming even timeline records for each of panel participant's set-top-boxes


Such a design and listed operations present two problems. The first challenge is that the systems require substantial amount of processing power to perform parsing, and a substantial amount of I/O (read and write) operations to create and store timeline records. This requirement dramatically limits the ability to cost-effectively scale, to provide support panels with reasonable number of panel participants, and to accurately represent viewing patterns of a requested targeting profile.


A second problem associated with the abovementioned approach creates timeline data records which are very large by their nature. Considering that the final product of this process is analytics report(s), and to generate such report analytics system has to run database queries over very large number of records, and each report generation consumes a substantial amount of time and computing resources.


SUMMARY OF THE INVENTION

The present invention overcomes the problems and disadvantages associated with current strategies and designs and provides new tools and methods of measuring viewership of many types of content.


One embodiment of the invention is directed to a method of generating television analytics Audience Measurement System (AMS) reports. The method comprises the steps of, on a processor, receiving a plurality of encoded report payloads from a plurality of client devices, storing the encoded report payloads in a database, transferring at least one encoded report payload from the database into randomly addressable memory (RAM), decoding the at least one encoded report payload in RAM, parsing the decoded data in RAM with at least one matching algorithm to determine the occurrence of events, compiling a database of parsed data, and generating an AMS report from the database of parsed data.


Preferably, the steps of decoding the at least one encoded report payload in the RAM and parsing the decoded data in RAM with at least one analytics matching algorithm to determine the occurrence of events are repeated for each encoded report payload. In the preferred embodiment, the decoded report payload is not saved. Preferably, the step of compiling a database of parsed data comprises storing the parsed data in one of an intermediate panel report database or a final panel report database.


An event preferably is at least one of an advertisement was displayed, a TV broadcast was displayed, a button was pressed on a remote control, a biometric recording of a viewer was obtained, or an activation of an interactive element of an advertisement. Preferably, each encoded report payload comprises a client device identifier and a plurality of encoded AMS events. In the preferred embodiment, the step of parsing the decoded data with at least one matching algorithm to determine the occurrence of events is completed via a bitmask algorithm.


The method of claim 1, wherein one encoded report payload is parsed before a second encoded report payload is parsed.


Preferably, each set of decoded data is parsed for at least one specific event determined by a panel definition. The report preferably comprises a count of the number of times a specific event occurred. In the preferred embodiment, each client device is one of a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.


Another embodiment of the invention is directed to a system for generating analytics television Audience Measurement System (AMS) reports. The system comprises a processor, randomly accessible memory (RAM) in communication with the processor, an encoded reports payloads database in communication with the processor, a parsed data database in communication with the processor, a transceiver in communication with the processor, and software executing on the processor. The software receives a plurality of encoded report payloads from a plurality of client devices, stores the plurality of encoded report payloads in the encoded reports payloads database, transfers at least one encoded report payload from the encoded reports payloads database into RAM, decodes each encoded report payload in RAM, parses the decoded data in RAM with at least one matching algorithm to determine the occurrence of events, compiles a record of parsed data for storage in the parsed data database, and generates an AMS report from the data stored in the parsed data database.


Preferably the software repeats the steps of decoding the at least one encoded report payload in RAM and parsing the decoded data in the RAM with at least one analytics matching algorithm to determine the occurrence of events for each encoded report payload. In the preferred embodiment, the decoded report payload is not saved. The database of parsed data preferably comprises an intermediate panel report database and a final panel report database.


Preferably, an event is at least one of an advertisement was displayed, a TV broadcast was displayed, a button was pressed on a remote control, a biometric recording of a viewer was obtained, or an activation of an interactive element of an advertisement. Each encoded report payload preferably comprises a client device identifier and a plurality of encoded AMS events.


Preferably the software uses a bitmask algorithm as the matching algorithm. In the preferred embodiment, one encoded report payload is parsed before a second encoded report payload is parsed. Preferably, each encoded report payload does not store timestamp records. Each set of decoded data is preferably parsed for at least one specific event determined by a panel definition. Preferably, the report comprises a count of the number of times a specific event occurred. Preferably, each client device is one of a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.


Other embodiments and advantages of the invention are set forth in part in the description, which follows, and in part, may be obvious from this description, or may be learned from the practice of the invention.





DESCRIPTION OF THE DRAWING

The invention is described in greater detail by way of example only and with reference to the attached drawing, in which:



FIG. 1 depicts an embodiment of system dataflow from an AMS-A to the AMS-L subsystem.



FIG. 2 depicts an embodiment of a method of processing data without bitmask execution.



FIG. 3 depicts an embodiment of a method of processing data with bitmask execution.





DESCRIPTION OF THE INVENTION

As embodied and broadly described herein, the disclosures herein provide detailed embodiments of the invention. However, the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. Therefore, there is no intent that specific structural and functional details should be limiting, but rather the intention is that they provide a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention


A problem in the art capable of being solved by the embodiments of the present invention is measuring TV viewership. It has been surprisingly discovered that by reducing the processing, storage, and read/write (I/O) requirements of an AMS, cost-effective and fast analytics report generation for a system with a large number of panels and a large number of panel participates can be achieved.


The embodiments of the present invention do not process or record timeline database records. Instead, the client devices store original encoded report payloads. The payloads are preferably decoded into RAM using an analytics reports bitmask algorithm and stored in a Panel's report database.


The AMS collects data and creates cost-effective, census level accuracy reports. In the preferred embodiment the AMS is comprised of several tiers of distributed computing components residing at different typological network points within the content distribution system to enable cost-effective processing of large amount of collected data. Tier 1 is comprised of AMS-A, Tier 2 of AMS-L, Tier 3 AMS-C. AMS-A is an AMS client application which resides in video playback device, e.g TV set, set top box, video streaming adapter. AMS-L is a backend server based sub-system which acts as a first collecting and pre-processing point for the data generated by AMS-A components. After data pre-processing is completed, AMS-L sends data to AMS-C. AMS-C is a backend server based sub-system which acts as a last data processing prior to data being archived and exported to ad agencies. Depending on content distribution network topology and scale, locations and total number of AMS-L components would vary. For example, small content distribution system would only have AMS-A and AMS-L components and utilize AMS-C component located outside of that particular content distribution network.


Each AMS-A (client device level) is preferably responsible for receiving configuration messages from the AMS-L and executing the logging, processing, and report of events in accordance with the received configuration messages. Each AMS-A is preferably a client's set top box, TV, computer, tablet, smartphone, streaming media device, or other media playing device.


Each AMS-L (local node level) is preferably responsible for receiving panel definitions, subscriber profile information, and program and ad schedules from the AMS-C, a TV Traffic System, an Electronic Program Guide Server, and/or a Video-on-Demand server. The AMS-L is also preferably responsible for sending configuration messages to each AMS-A and performing upstream bandwidth optimization. The AMS-L is also preferably responsible for receiving reports from each AMS-A, merging panel reports, and sending requested reports to the AMS-C for further merging. Each AMS-L is preferably maintained by a media service provider such as a cable company, a satellite TV company, a streaming media company, or an internet service provider.


The AMS-C (central level) is preferably responsible for receiving panel definitions from ad agencies, subscriber demographics and socioeconomic metadata from source agencies, programming metadata from national broadcasters, and ad schedules from ad agencies or broadcasters. The AMC-C is preferably responsible for merging requested information and mapping the information into available AMS-L subscriber bases. The AMS-C can receive and merge reports from multiple AMS-Ls. An AMS-C is preferably maintained by a media company such as a broadcaster, a cable TV channel, or an internet web-page.



FIG. 1 depicts an embodiment of system dataflow from an AMS-A 804 to the AMS-L subsystem 108. AMS client application 804 sends AMS Client Report Message 919 to AMS-L subsystem 108, specifically to the AMS-L subsystem's Client's Report Catcher and Database Importer 515. AMS client application 804 receives reporting from AMS-L subsystem 108. Transmission can occur on a regular schedule (e.g. hourly, daily, or weekly), on-demand from the AMS-L subsystem 108, as requested by an advertiser, randomly, after a specific amount of data is recorded (e.g. after a specific number of hours of TV have been watched), or at other intervals.


Each message 919 preferably includes a report header 918 having a client device identifier 917 (e.g. a MAC address) and control information 916 (e.g. report sequence number), and the encoded report payload 915. The encoded report payload 915 includes each AMS event 914.


Events may include who watched a show or commercial, what their reactions were to the show and the commercials, biometric data of the viewers, button presses on the remote control (e.g. if a viewer changed the channel, changed the volume, or fast forwarded through a portion of the content), activation of an interactive element on an advertisement, or other events that can be recorded by the STB.


AMS-L subsystem 108 receives each message 919 via module 515 and stores the STB reports in STB reports database 521. Preferably, STB reports database 521 stores each STB report in the format shown in module 911. The format includes a client device identifier 912 and Encoded Report Payload 915. The reports do not store timestamp records.


Panel reports are generated by module 528. Module 528 retrieves the STB reports from STB reports database 521 and obtains advertising data from local advertising database 525, programming data from local programming database 526, demographics data from local demographics database 524 and panel information from local panels configuration database 523.


Module 528 decodes the encoded report payload in module 900. Module 904 depicts a preferred embodiment of the format of the decoded report payload. The format includes a timestamp associated with an event 905. 906-910 are various possible examples of the decoded events 914.


The decoded data is matched using one or more algorithms to determine what was watched by the viewer in module 901 and the panel report database 531 is updated by module 902. Module 901 can parse the data for specific events (e.g. a specific show that was watched), specific time slots, or other data determined by the panel definition. Module 903 causes AMS-L subsystem 108 to repeat the process for each STB. When the system finishes counting a number of event occurrences, it may add an updated count to the panel report database 531.



FIG. 2 depicts an embodiment of a method of data processing without bitmask execution. At step 1001, the panel's report generator retrieves STB reports payload using a “select” SQL (structured query language) query. The next STB report record is obtained at step 1002. At step 1003 the system determines if there are additional STB report records, if there are, the method continues, if not, the method ends. At step 1004, the AMS-L subsystem decodes all events from the STB report payload into RAM and orders the events by timestamp. At step 1005, the AMS-L subsystem retrieves analytics report definitions from the local panel configuration database using a panel ID number and SQL query (e.g. SELECT * FROM PanelAnalyticsTable WHERE PanelID=“xyz”). The system then parses each event at step 1008, executes analytics request to the STB report and stores the results in the panel's report database at step 1009. At step 1006 once all the events in a first STB report record are exhausted, a new STB report record is parsed until no more STB report records remain.



FIG. 3 depicts an embodiment of a method of data processing with bitmask execution. A bitmask can check for all ads from one STB in a single operation. At step 1101, the panel's report generator retrieves STB reports payload using a “select” SQL (structured query language) query. The next STB report record is obtained at step 1102. At step 1103 the system determines if there are additional STB report records, if there are, the method continues, if not, the method ends. At step 1104, the AMS-L subsystem decodes all events from the STB report payload into RAM and generates at timestamp based bitmask. At step 1005, the AMS-L subsystem retrieves analytics report definitions bitmasks from the local panel configuration database. At step 1107 the system executes an analytics reports bitmask algorithm to the STB report record and stores the results in the panel's report database. At step 1106, the process is repeated for each remaining STB report record.


Using the methods described herein, Event Data 914 stays encoded in STB Reports Database 521 and decoded into RAM by 900 of AMS-L System 108 only during data analysis. By analyzing data in RAM, the system can achieve significant increases in speed of analysis while reducing necessary overall computing power requirements.


While the examples provided herein are for TV viewing systems, the invention is also applicable to other video and audio applications involving an audience, including, but not limited to, video viewing on PCs, tablets, smart phones, game consoles, radio receivers, MP3 players, and other streaming and linear programming devices. Furthermore, the invention is equally applicable to the monitoring of other electronic devices in the environment of an audience member, such as other home appliances.


Although the exemplary environment described herein employs a hard disk database, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs), read only memory (ROM), a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment.


For clarity of explanation, the illustrative system embodiment is presented as comprising individual functional blocks (including functional blocks labeled as a “processor”). The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software. For example the functions of one or more processors presented in FIG. 1 may be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may comprise microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) for storing software performing the operations discussed below, and random access memory (RAM) for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.


Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.


Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.


Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Networks may include the Internet, one or more Local Area Networks (“LANs”), one or more Metropolitan Area Networks (“MANs”), one or more Wide Area Networks (“WANs”), one or more Intranets, etc. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


Other embodiments and uses of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. All references cited herein, including all publications, U.S. and foreign patents and patent applications, are specifically and entirely incorporated by reference. It is intended that the specification and examples be considered exemplary only with the true scope and spirit of the invention indicated by the following claims. Furthermore, the term “comprising of” includes the terms “consisting of” and “consisting essentially of.”

Claims
  • 1. A method of generating television analytics Audience Measurement System (AMS) reports, the method comprising the steps of, on a processor: receiving a plurality of encoded report payloads from a plurality of client devices, wherein each encoded report payload does not include timestamp records;storing the encoded report payloads in a report payload database;obtaining data from each of a local advertising database, a local programming database, a local demographics database, and a local panels configuration database;transferring each encoded report payload from the database into randomly addressable memory (RAM);decoding each encoded report payload in RAM;comparing the decoded data in RAM to the data from the local advertising database, local programming database, local demographics database, and local panels configuration database with at least one matching algorithm to determine the occurrence of events from each decoded report payload;determining a timestamp for each event in RAM;compiling a database of event occurrences from each of the plurality of decoded report payloads based on the timestamped events; andgenerating an AMS report from the database of event occurrences.
  • 2. The method of claim 1, wherein the decoded report payload is not saved.
  • 3. The method of claim 1, wherein the step of compiling a database of parsed data from the plurality of encoded report payloads comprises storing the parsed data in one of an intermediate panel report database or a final panel report database.
  • 4. The method of claim 1, wherein an event is at least one of an advertisement was displayed, a TV broadcast was displayed, a button was pressed on a remote control, a biometric recording of a viewer was obtained, or an activation of an interactive element of an advertisement.
  • 5. The method of claim 1, wherein each encoded report payload comprises a client device identifier and a plurality of encoded AMS events.
  • 6. The method of claim 1, wherein the step of parsing the decoded data with at least one matching algorithm to determine the occurrence of events from each encoded report payload is completed via a bitmask algorithm.
  • 7. The method of claim 1, wherein one encoded report payload is parsed before a second encoded report payload is parsed.
  • 8. The method of claim 1, wherein each set of decoded data is parsed for at least one specific event determined by a panel definition.
  • 9. The method of claim 1, wherein the report comprises a count of the number of times a specific event occurred.
  • 10. The method of claim 1, wherein each client device is one of a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.
  • 11. The method of claim 1, wherein each encoded report payload is generated without timestamping events.
  • 12. The method of claim 1, wherein each encoded report payload is maintained encoded in the report payload database and is decoded into RAM only during data analysis.
  • 13. The method of claim 12, wherein timestamps are only determined and analyzed in RAM.
  • 14. A system for generating analytics television Audience Measurement System (AMS) reports, comprising: a processor;randomly accessible memory (RAM) in communication with the processor;an encoded reports payloads database in communication with the processor;a local advertising database, a local programming database, a local demographics database, and a local panels configuration database each in communication with the processor;a parsed data database in communication with the processor;a transceiver in communication with the processor; andsoftware executing on the processor, wherein the software: receives a plurality of encoded report payloads from a plurality of client devices, wherein each encoded report payload does not include timestamp records;stores the plurality of encoded report payloads in the encoded reports payloads database;transfers each encoded report payload from the encoded reports payloads database into RAM;decodes each encoded report payload in RAM;compares the decoded data in RAM to the data from the local advertising database, local programming database, local demographics database, and local panels configuration database with at least one matching algorithm to determine the occurrence of events from each decoded report payload;determines a timestamp for each event in RAM;compiles a record of event occurrences from each of the plurality of decoded report payloads based on the timestamped events in an event occurrence database; andgenerates an AMS report from the data stored in the event occurrence database.
  • 15. The system of claim 14, wherein the decoded report payload is not saved.
  • 16. The system of claim 14, wherein the database of parsed data comprises an intermediate panel report database and a final panel report database.
  • 17. The system of claim 14, wherein an event is at least one of an advertisement was displayed, a TV broadcast was displayed, a button was pressed on a remote control, a biometric recording of a viewer was obtained, or an activation of an interactive element of an advertisement.
  • 18. The system of claim 14, wherein each encoded report payload comprises a client device identifier and a plurality of encoded AMS events.
  • 19. The system of claim 14, wherein the software uses a bitmask algorithm as the matching algorithm.
  • 20. The system of claim 14, wherein one encoded report payload is parsed before a second encoded report payload is parsed.
  • 21. The system of claim 14, wherein each set of decoded data is parsed for at least one specific event determined by a panel definition.
  • 22. The system of claim 14, wherein the report comprises a count of the number of times a specific event occurred.
  • 23. The system of claim 14, wherein each client device is one of a set top box, a TV, a computer, a tablet, a smartphone, or a streaming media device.
REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. provisional Application Ser. No. 61/489,422, filed May 24, 2011, entitled “System and Method for Audience Measurement System Increase in Efficiency and Speed of Analytics Report Generation,” which is hereby specifically and entirely incorporated by reference.

US Referenced Citations (363)
Number Name Date Kind
2958403 Robertson Nov 1960 A
4264924 Freeman Apr 1981 A
4332998 Boros Jun 1982 A
4381522 Lambert Apr 1983 A
4426629 Fouse Jan 1984 A
4529006 Block et al. Jul 1985 A
4561233 Harter et al. Dec 1985 A
4580950 Sumikawa et al. Apr 1986 A
4706121 Young Nov 1987 A
4745549 Hashimoto May 1988 A
4751578 Reiter et al. Jun 1988 A
4873073 Matsui et al. Oct 1989 A
4977455 Young Dec 1990 A
4982343 Hourvitz et al. Jan 1991 A
4996642 Hey Feb 1991 A
5047867 Strubbe et al. Sep 1991 A
5151789 Young Sep 1992 A
5161109 Keating et al. Nov 1992 A
5179439 Hashimoto Jan 1993 A
5223924 Strubbe Jun 1993 A
5253275 Yurt et al. Oct 1993 A
5307173 Yuen et al. Apr 1994 A
5323240 Amano et al. Jun 1994 A
5343665 Palmersten Sep 1994 A
5347632 Filepp et al. Sep 1994 A
5351075 Herz et al. Sep 1994 A
5353121 Young et al. Oct 1994 A
5381523 Hayashi Jan 1995 A
5382779 Gupta Jan 1995 A
5410344 Graves et al. Apr 1995 A
5459826 Archibald Oct 1995 A
5483278 Strubbe et al. Jan 1996 A
5534911 Levitan Jul 1996 A
5535320 Gay et al. Jul 1996 A
5541638 Story Jul 1996 A
5541738 Mankovitz Jul 1996 A
5541991 Benson et al. Jul 1996 A
5546193 Hailey et al. Aug 1996 A
5548708 Sakashita et al. Aug 1996 A
5555496 Tackbary et al. Sep 1996 A
5559549 Hendricks et al. Sep 1996 A
5596373 White et al. Jan 1997 A
5600364 Hendricks et al. Feb 1997 A
5608534 Park et al. Mar 1997 A
5635989 Rothmuller Jun 1997 A
5647181 Hunts Jul 1997 A
5649186 Ferguson Jul 1997 A
5649216 Sieber Jul 1997 A
5657414 Lett et al. Aug 1997 A
5680619 Gudmundson et al. Oct 1997 A
5684525 Klosterman Nov 1997 A
5740425 Povilus Apr 1998 A
5748257 Kawabata et al. May 1998 A
5748484 Cannon et al. May 1998 A
5749083 Koda et al. May 1998 A
5761372 Yoshinobu et al. Jun 1998 A
5801747 Bedard Sep 1998 A
5822014 Steyer et al. Oct 1998 A
5822123 Davis et al. Oct 1998 A
5844620 Coleman et al. Dec 1998 A
5860073 Ferrel et al. Jan 1999 A
5861906 Dunn et al. Jan 1999 A
5870718 Spector Feb 1999 A
5873073 Bresnan et al. Feb 1999 A
5890175 Wong et al. Mar 1999 A
5907704 Gudmundson et al. May 1999 A
5926825 Shirakawa Jul 1999 A
5930810 Farros et al. Jul 1999 A
5933811 Angles et al. Aug 1999 A
5948061 Merriman et al. Sep 1999 A
5956736 Hanson et al. Sep 1999 A
5963968 Warmus et al. Oct 1999 A
5973683 Cragun et al. Oct 1999 A
5974396 Anderson et al. Oct 1999 A
5983227 Nazem et al. Nov 1999 A
5983243 Heiney et al. Nov 1999 A
5986670 Dries et al. Nov 1999 A
5987454 Hobbs Nov 1999 A
5999912 Wodarz et al. Dec 1999 A
6005560 Gill et al. Dec 1999 A
6005597 Barrett et al. Dec 1999 A
6009410 LeMole et al. Dec 1999 A
6026417 Ross et al. Feb 2000 A
6034678 Hoarty et al. Mar 2000 A
6035584 Barreto Mar 2000 A
6052514 Gill et al. Apr 2000 A
6064967 Speicher May 2000 A
6072983 Klosterman Jun 2000 A
6081262 Gill et al. Jun 2000 A
6085485 Murdock Jul 2000 A
6088722 Herz et al. Jul 2000 A
6094186 Kuroda et al. Jul 2000 A
6097878 Saib Aug 2000 A
6108673 Brandt et al. Aug 2000 A
6118449 Rosen et al. Sep 2000 A
6118925 Murata et al. Sep 2000 A
6119101 Peckover Sep 2000 A
6144944 Kurtzman, II et al. Nov 2000 A
6157411 Williams et al. Dec 2000 A
6167382 Sparks et al. Dec 2000 A
6182050 Ballard Jan 2001 B1
6192382 Lafer et al. Feb 2001 B1
6205582 Hoarty Mar 2001 B1
6216112 Fuller et al. Apr 2001 B1
6230143 Simons et al. May 2001 B1
6243375 Speicher Jun 2001 B1
6247047 Wolff Jun 2001 B1
6253238 Lauder et al. Jun 2001 B1
6271860 Gross Aug 2001 B1
6286005 Cannon Sep 2001 B1
6311211 Shaw et al. Oct 2001 B1
6312336 Handelman et al. Nov 2001 B1
6313822 McKay et al. Nov 2001 B1
6317883 Marics Nov 2001 B2
6334109 Kanevsky et al. Dec 2001 B1
6356903 Baxter et al. Mar 2002 B1
6385592 Angles et al. May 2002 B1
6400406 Kim Jun 2002 B1
6401075 Mason et al. Jun 2002 B1
6405371 Oosterhout et al. Jun 2002 B1
6415316 Van Der Meer Jul 2002 B1
6425128 Krapf et al. Jul 2002 B1
6438752 McClard Aug 2002 B1
6446045 Stone et al. Sep 2002 B1
6449657 Stanbach, Jr. et al. Sep 2002 B2
6462754 Chakraborty et al. Oct 2002 B1
6463585 Hendricks et al. Oct 2002 B1
6473794 Guheen et al. Oct 2002 B1
6477705 Yuen et al. Nov 2002 B1
6484148 Boyd Nov 2002 B1
6484149 Jammes et al. Nov 2002 B1
6493688 Das et al. Dec 2002 B1
6496857 Dustin et al. Dec 2002 B1
6513035 Tanaka et al. Jan 2003 B1
6519571 Guheen et al. Feb 2003 B1
6526577 Knudson et al. Feb 2003 B1
6538701 Yuen Mar 2003 B1
6553178 Abecassis Apr 2003 B2
6567854 Olshansky et al. May 2003 B1
6571053 Yasuzato May 2003 B1
6587835 Treyz et al. Jul 2003 B1
6589292 Langford-Wilson Jul 2003 B1
6601107 Seibert Jul 2003 B1
6604088 Landom et al. Aug 2003 B1
6604328 Paddock Aug 2003 B1
6611348 Chase et al. Aug 2003 B1
6611349 Vogt et al. Aug 2003 B1
6611958 Shintani et al. Aug 2003 B1
6618504 Yoshino Sep 2003 B1
6628314 Hoyle Sep 2003 B1
6637029 Maissel et al. Oct 2003 B1
6684369 Bernardo et al. Jan 2004 B1
6691093 Shell Feb 2004 B2
6701060 Yuen et al. Mar 2004 B2
6704931 Schaffer et al. Mar 2004 B1
6718551 Swix et al. Apr 2004 B1
6728966 Arsenault et al. Apr 2004 B1
6738978 Hendricks et al. May 2004 B1
6748397 Choi Jun 2004 B2
6763334 Matsumoto et al. Jul 2004 B1
6795972 Rovira Sep 2004 B2
6799327 Reynolds et al. Sep 2004 B1
6801917 Gutta et al. Oct 2004 B2
6810526 Menard et al. Oct 2004 B1
6813776 Chernock et al. Nov 2004 B2
6829587 Stone et al. Dec 2004 B2
6829780 Kraft et al. Dec 2004 B2
6847969 Mathai et al. Jan 2005 B1
6851090 Gutta et al. Feb 2005 B1
6889385 Rakib et al. May 2005 B1
6918132 Gargi Jul 2005 B2
6922844 Arsenault et al. Jul 2005 B1
6954728 Kusumoto et al. Oct 2005 B1
6958759 Safadi et al. Oct 2005 B2
6973665 Dudkiewicz et al. Dec 2005 B2
6983478 Grauch et al. Jan 2006 B1
7010497 Nyhan et al. Mar 2006 B1
7020652 Matz et al. Mar 2006 B2
7051352 Schaffer May 2006 B1
7055165 Connelly May 2006 B2
7069228 Rose et al. Jun 2006 B1
7109985 Spencer et al. Sep 2006 B2
7120591 Solomon et al. Oct 2006 B1
7131134 Trovato et al. Oct 2006 B2
7143066 Shear et al. Nov 2006 B2
7143160 Tamaki Nov 2006 B2
7146626 Arsenault et al. Dec 2006 B1
7152237 Flickinger et al. Dec 2006 B2
7159175 Ishii et al. Jan 2007 B2
7165041 Guheen et al. Jan 2007 B1
7171677 Ochiai Jan 2007 B1
7181445 Bebo et al. Feb 2007 B2
7188355 Prokopenko et al. Mar 2007 B1
7188356 Miura et al. Mar 2007 B1
7200853 Kawai Apr 2007 B2
7204025 Ziegs et al. Apr 2007 B2
7213027 Kominek et al. May 2007 B1
7231607 Neely et al. Jun 2007 B2
7239779 Little Jul 2007 B2
7240025 Stone et al. Jul 2007 B2
7249059 Dean et al. Jul 2007 B2
7254829 Brown et al. Aug 2007 B1
7263270 Lapstun et al. Aug 2007 B1
7263709 Krapf Aug 2007 B1
7266733 Bazinet et al. Sep 2007 B2
7284064 Connelly Oct 2007 B1
7292723 Tedesco et al. Nov 2007 B2
7304685 Park et al. Dec 2007 B2
7312772 Kim Dec 2007 B2
7315983 Evans et al. Jan 2008 B2
7319976 Peckover Jan 2008 B1
7340457 Killian et al. Mar 2008 B1
7343157 Mitchell Mar 2008 B1
7343354 Hennessey Mar 2008 B2
7398541 Bennington et al. Jul 2008 B2
7421467 Kaneko et al. Sep 2008 B2
7421724 Klosterman et al. Sep 2008 B2
7428555 Yan Sep 2008 B2
7434160 Peiro et al. Oct 2008 B2
7440674 Plotnick et al. Oct 2008 B2
7441260 Kurapati Oct 2008 B1
7444658 Matz et al. Oct 2008 B1
7464344 Carmichael et al. Dec 2008 B1
7469943 Hiramoto Dec 2008 B2
7480701 Smith et al. Jan 2009 B2
7487529 Orlick Feb 2009 B1
7493641 Klosterman et al. Feb 2009 B2
7496943 Goldberg et al. Feb 2009 B1
7499628 Yuen et al. Mar 2009 B2
7500202 Gerba et al. Mar 2009 B2
7503058 Van Horck Mar 2009 B2
7508942 Candelore Mar 2009 B2
7509580 Sezan et al. Mar 2009 B2
7533034 Laurin et al. May 2009 B2
7542657 Yuen et al. Jun 2009 B2
7552458 Finseth et al. Jun 2009 B1
7564369 Adams et al. Jul 2009 B1
7631329 Yamada Dec 2009 B1
7644425 Parker et al. Jan 2010 B2
7653603 Holtkamp, Jr. et al. Jan 2010 B1
7668950 Horowitz et al. Feb 2010 B2
7685019 Collins Mar 2010 B2
7698719 Evans et al. Apr 2010 B2
7752073 Barry et al. Jul 2010 B2
7757252 Agasse Jul 2010 B1
7774341 Aravamudan et al. Aug 2010 B2
7797168 Kusumoto et al. Sep 2010 B2
7814421 Reynolds et al. Oct 2010 B2
7827062 Merriman et al. Nov 2010 B2
7840437 Lewis Nov 2010 B2
7844985 Hendricks et al. Nov 2010 B2
7853969 Smith et al. Dec 2010 B2
7873972 Zaslavsky et al. Jan 2011 B2
7890490 Bovenschulte et al. Feb 2011 B1
7904814 Errico et al. Mar 2011 B2
7904922 Haberman et al. Mar 2011 B1
7930207 Merriman et al. Apr 2011 B2
7937725 Schaffer et al. May 2011 B1
7970648 Gailey et al. Jun 2011 B2
7992068 Chen et al. Aug 2011 B2
7996864 Yuen et al. Aug 2011 B2
8001487 Koppert Aug 2011 B2
8032414 Payne et al. Oct 2011 B2
8032835 Clevenger et al. Oct 2011 B1
8032853 Awashima Oct 2011 B2
8056099 Shanks et al. Nov 2011 B2
8091031 Evans Jan 2012 B2
8341550 De Heer et al. Dec 2012 B2
8359616 Rosenberg et al. Jan 2013 B2
20010034654 Vigil et al. Oct 2001 A1
20020010926 Lee Jan 2002 A1
20020036654 Evans et al. Mar 2002 A1
20020042921 Ellis Apr 2002 A1
20020049975 Thomas et al. Apr 2002 A1
20020059094 Hosea et al. May 2002 A1
20020059621 Thomas et al. May 2002 A1
20020067376 Martin et al. Jun 2002 A1
20020087986 Markel Jul 2002 A1
20020178446 Sie et al. Nov 2002 A1
20020194591 Gargi Dec 2002 A1
20030051238 Barone, Jr. Mar 2003 A1
20030084441 Hunt May 2003 A1
20030084446 Thurston et al. May 2003 A1
20030097657 Zhou et al. May 2003 A1
20030103088 Dresti et al. Jun 2003 A1
20030115597 Yassin et al. Jun 2003 A1
20030131355 Berenson et al. Jul 2003 A1
20030135464 Mourad et al. Jul 2003 A1
20030145323 Hendricks et al. Jul 2003 A1
20030171991 Robbins Sep 2003 A1
20030204846 Breen et al. Oct 2003 A1
20030204854 Blackketter et al. Oct 2003 A1
20040039648 Candelore et al. Feb 2004 A1
20040070593 Neely et al. Apr 2004 A1
20040078809 Drazin Apr 2004 A1
20040184548 Kerbiriou et al. Sep 2004 A1
20040194128 McIntyre et al. Sep 2004 A1
20040255336 Logan et al. Dec 2004 A1
20040261112 Hicks, III et al. Dec 2004 A1
20040268413 Reid et al. Dec 2004 A1
20050010531 Kushalnagar et al. Jan 2005 A1
20050018079 Van Der Vleuten Jan 2005 A1
20050021761 Thomas Jan 2005 A1
20050063677 Kosako et al. Mar 2005 A1
20050155067 McKenna Jul 2005 A1
20050160468 Rodriguez Jul 2005 A1
20050172314 Krakora et al. Aug 2005 A1
20050203943 Su et al. Sep 2005 A1
20050235318 Grauch et al. Oct 2005 A1
20060015911 Dean Jan 2006 A1
20060039481 Shen et al. Feb 2006 A1
20060059277 Zito et al. Mar 2006 A1
20060085828 Dureau et al. Apr 2006 A1
20060101338 Kates May 2006 A1
20060125962 Shelton et al. Jun 2006 A1
20060218583 Vanparijs et al. Sep 2006 A1
20060230417 Van Horck Oct 2006 A1
20060282852 Purpura et al. Dec 2006 A1
20070011702 Vaysman Jan 2007 A1
20070016925 Vaysman et al. Jan 2007 A1
20070022032 Anderson et al. Jan 2007 A1
20070039018 Saslow et al. Feb 2007 A1
20070044127 Vaysman et al. Feb 2007 A1
20070070218 Meijer et al. Mar 2007 A1
20070113257 Takemoto May 2007 A1
20070144090 Nguyen Jun 2007 A1
20070157248 Ellis Jul 2007 A1
20070174286 Seitz et al. Jul 2007 A1
20070204302 Calzone Aug 2007 A1
20070214470 Glasgow et al. Sep 2007 A1
20070214478 Feldstein et al. Sep 2007 A1
20070234388 King Oct 2007 A1
20080002580 Kawada et al. Jan 2008 A1
20080059312 Gern et al. Mar 2008 A1
20080092182 Conant Apr 2008 A1
20080154803 Stein et al. Jun 2008 A1
20080183577 Evans Jul 2008 A1
20080196071 Manthoulis Aug 2008 A1
20080275786 Gluck Nov 2008 A1
20080282290 Malik et al. Nov 2008 A1
20090055268 Knoller et al. Feb 2009 A1
20090158337 Stiers et al. Jun 2009 A1
20090259957 Slocum et al. Oct 2009 A1
20090287610 Bradshaw et al. Nov 2009 A1
20100017820 Thevathasan et al. Jan 2010 A1
20100153983 Philmon et al. Jun 2010 A1
20100205562 de Heer Aug 2010 A1
20100324997 Evans Dec 2010 A1
20110110515 Tidwell et al. May 2011 A1
20110125586 Evans May 2011 A1
20110138327 Scott et al. Jun 2011 A1
20110202960 Vaysman et al. Aug 2011 A1
20110209173 Vaysman et al. Aug 2011 A1
20110209179 Vaysman et al. Aug 2011 A1
20110225591 Wada et al. Sep 2011 A1
20110225612 Vaysman et al. Sep 2011 A1
20110265120 Vaysman et al. Oct 2011 A1
20110296467 Vaysman et al. Dec 2011 A1
20110307925 Vaysman et al. Dec 2011 A1
20110314501 Vaysman et al. Dec 2011 A1
20120011544 Vaysman et al. Jan 2012 A1
20120072952 Vaysman et al. Mar 2012 A1
20120254910 Donoghue et al. Oct 2012 A1
Foreign Referenced Citations (14)
Number Date Country
0965192 Dec 1999 EP
1193969 Apr 2002 EP
1193976 Apr 2002 EP
1280343 Jan 2003 EP
1423794 Jun 2004 EP
2836321 Aug 2003 FR
2375674 Nov 2002 GB
WO0237840 May 2002 WO
WO0245304 Jun 2002 WO
WO02102079 Dec 2002 WO
WO03054678 Jul 2003 WO
WO2005107245 Nov 2005 WO
WO2006018825 Feb 2006 WO
WO2006055243 May 2006 WO
Non-Patent Literature Citations (12)
Entry
“Using SI Tables to Create Electronic Program Guide,” Hewlett Packard.
PCT Patentability Report for PCT/US2006/003420, dated Apr. 3, 2008.
PCT Search Report for PCT/US2006/003420, dated Apr. 3, 2008.
PCT Search Report for PCT/US2012/38328, dated Aug. 9, 2012.
PCT Search Report for PCT/US2012/39280, dated Aug. 13, 2012.
PCT Search Report for PCT/US2012/39683, dated Aug. 10, 2012.
PCT Search and Patentability Report for PCT/US2014/057375, dated Dec. 24, 2014.
EP Search Report for PCT/US2012040683, dated Aug. 27, 2014.
PCT Search Report for PCT/US2013/053894, dated Feb. 10, 2015.
PCT Patentability Report for PCT/US12/40683, dated Aug. 9, 2012.
PCT Patentability Report for PCT/US12/41154, dated Aug. 14, 2013.
PCT Search and Patentability Report for PCT/US2012/032323, dated Jun. 19, 2012.
Related Publications (1)
Number Date Country
20120304209 A1 Nov 2012 US
Provisional Applications (1)
Number Date Country
61489422 May 2011 US