Source: http://patents.com/us-9426508.html
Timestamp: 2019-04-19 02:37:37+00:00

Document:
3056135 September 1962 Currey et al.
4245245 January 1981 Matsumoto et al.
4408345 October 1983 Yashiro et al.
4567511 January 1986 Smith et al.
4658357 April 1987 Carroll et al.
4677466 June 1987 Lert, Jr. et al.
4688026 August 1987 Scribner et al.
4814751 March 1989 Hawkins et al.
4853692 August 1989 Wolk et al.
4943963 July 1990 Waechter et al.
4990892 February 1991 Guest et al.
5086290 February 1992 Murray et al.
5146231 September 1992 Ghaem et al.
5266944 November 1993 Carroll et al.
5278988 January 1994 Dejean et al.
5317309 May 1994 Vercellotti et al.
5357254 October 1994 Kah, Jr.
5359697 October 1994 Smith et al.
5387993 February 1995 Heller et al.
5396224 March 1995 Dukes et al.
5396227 March 1995 Carroll et al.
5410344 April 1995 Graves et al.
5436653 July 1995 Ellis et al.
5455560 October 1995 Owen et al.
5481294 January 1996 Thomas et al.
5483276 January 1996 Brooks et al.
5515426 May 1996 Yacenda et al.
5548637 August 1996 Heller et al.
5550928 August 1996 Lu et al.
5561412 October 1996 Novak et al.
5568119 October 1996 Schipper et al.
5588005 December 1996 Ali et al.
5594786 January 1997 Chaco et al.
5621388 April 1997 Sherburne et al.
5635907 June 1997 Bernard et al.
5636245 June 1997 Ernst et al.
5650769 July 1997 Campana, Jr.
5682139 October 1997 Pradeep et al.
5686888 November 1997 Welles, II et al.
5686902 November 1997 Reis et al.
5689229 November 1997 Chaco et al.
5699038 December 1997 Ulrich et al.
5715325 February 1998 Bang et al.
5717717 February 1998 Yang et al.
5729829 March 1998 Talwar et al.
5731757 March 1998 Layson, Jr.
5760704 June 1998 Barton et al.
5793290 August 1998 Eagleson et al.
5808564 September 1998 Simms et al.
5822418 October 1998 Yacenda et al.
5822544 October 1998 Chao et al.
5838223 November 1998 Gallant et al.
5872588 February 1999 Aras et al.
5917425 June 1999 Crimmins et al.
5920641 July 1999 Ueberreiter et al.
5973683 October 1999 Cragun et al.
5987306 November 1999 Nilsen et al.
6002918 December 1999 Heiman et al.
6052734 April 2000 Ito et al.
6058289 May 2000 Gardner et al.
6104295 August 2000 Gaisser et al.
6184918 February 2001 Goldschmidt Iki et al.
6259355 July 2001 Chaco et al.
6275166 August 2001 Del Castillo et al.
6308045 October 2001 Wright et al.
RE37531 January 2002 Chaco et al.
6430498 August 2002 Maruyama et al.
6433689 August 2002 Hovind et al.
6487719 November 2002 Itoh et al.
6577238 June 2003 Whitesmith et al.
6650322 November 2003 Dai et al.
6675383 January 2004 Wheeler et al.
6839539 January 2005 Durrant et al.
7107009 September 2006 Sairanen et al.
7155159 December 2006 Weinblatt et al.
7222071 May 2007 Neuhauser et al.
7289643 October 2007 Brunk et al.
7460827 December 2008 Schuster et al.
8125455 February 2012 Land et al.
8296087 October 2012 Kalinin et al.
8327396 December 2012 Ramaswamy et al.
2002/0027682 March 2002 Iwasaki et al.
2002/0059094 May 2002 Hosea et al.
2002/0083060 June 2002 Wang et al.
2002/0152090 October 2002 Kobayashi et al.
2003/0046685 March 2003 Srinivasan et al.
2003/0070182 April 2003 Pierre et al.
2003/0097302 May 2003 Overhultz et al.
2004/0019463 January 2004 Kolessar et al.
2004/0027271 February 2004 Schuster et al.
2004/0041703 March 2004 Bergman et al.
2004/0122679 June 2004 Neuhauser et al.
2004/0237096 November 2004 Cain et al.
2005/0034147 February 2005 Best, Jr. et al.
2005/0054285 March 2005 Mears et al.
2005/0125820 June 2005 Nelson et al.
2005/0141345 June 2005 Holm et al.
2005/0144632 June 2005 Mears et al.
2005/0207592 September 2005 Sporer et al.
2005/0216509 September 2005 Kolessar et al.
2007/0011040 January 2007 Wright et al.
2007/0288277 December 2007 Neuhauser et al.
2007/0288476 December 2007 Flanagan et al.
2007/0294057 December 2007 Crystal et al.
2007/0294132 December 2007 Zhang et al.
2007/0294705 December 2007 Gopalakrishnan et al.
2007/0294706 December 2007 Neahauser et al.
2008/0086533 April 2008 Neahauser et al.
2008/0091087 April 2008 Neahauser et al.
2008/0091762 April 2008 Neahauser et al.
2008/0109295 May 2008 McConochie et al.
2008/0204273 August 2008 Crystal et al.
2009/0037575 February 2009 Crystal et al.
2009/0070797 March 2009 Ramaswamy et al.
2010/0268540 October 2010 Arshi et al.
2010/0268573 October 2010 Jain et al.
2010/0299689 November 2010 Mears et al.
2011/0289523 November 2011 Mears et al.
2013/0174190 July 2013 Ramaswamy et al.
Corment et al, "C Track: assignment7", published Sep. 14, 2004, 6 pages. cited by applicant .
International Bureau, "International Preliminary Report on Patentability", issued in connection with International Patent application No. PCT/US2007/008171, mailed on Sep. 18, 2008, 5 pages. cited by applicant .
International Bureau, "Search Report", issued in connection with International Patent application No. PCT/US2007/008171, mailed on Sep. 18, 2008, 4 pages. cited by applicant .
International Bureau, Written Opinion, issued in connection with International Patent application No. PCT/US2007/008171, mailed on Sep. 18, 2008, 4 pages. cited by applicant .
Radio Ink, "Arbitron & Scarborough Unveil New Mall Shopper Audience Measurment", copyright 2008, 1 page. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance", issued in connection with U.S. Appl. No. 11/957,082,mailed on Aug. 1, 2012, 21 pages. cited by applicant .
United States Patent and Trademark Office, "Final Office action", issued in connection with U.S. Appl. No. 11/957,082,mailed on Aug. 25, 2011, 29 pages. cited by applicant .
United States Patent and Trademark Office, "Non-Final Office action", issued in connection with U.S. Appl. No. 11/957,082,mailed on Nov. 29, 2010, 47 pages. cited by applicant .
United States Patent and Trademark Office, "Restriction Requirement", issued in connection with U.S. Appl. No. 11/957,082,mailed on Jul. 28, 2010, 6 pages. cited by applicant .
European Patent Office, "European Search Report", issued in connection with European patent application No. 07754662.0, mailed on Nov. 5, 2012, 7 pages. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance", issued in connection with U.S. Appl. No. 12/847,805, mailed on May 31, 2011, 17 pages. cited by applicant .
United States Patent and Trademark Office, "Non-Final Office action", issued in connection with U.S. Appl. No. 12/847,805, mailed on Jan. 13, 2011, 26 pages. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance", issued in connection with U.S. Appl. No. 13/690,652, mailed on Jan. 24, 2014, 14 pages. cited by applicant .
United States Patent and Trademark Office, "Non-Final Office action", issued in connection with U.S. Appl. No. 14/027,964, mailed on Aug. 12, 2014, 18 pages. cited by applicant .
United States Patent and Trademark Office, "Final Office action", issued in connection with U.S. Appl. No. 14/027,964, mailed on Jan. 22, 2015, 18 pages. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance Office action", issued in connection with U.S. Appl. No. 14/027,964, mailed on Apr. 8, 2015, 8 pages. cited by applicant .
United States Patent and Trademark Office, "Final Office action", issued in connection with U.S. Appl. No. 10/867,190, Nov. 4, 2008, (24 pages). cited by applicant .
United States Patent and Trademark Office, "Office action", issued in connection with U.S. Appl. No. 10/867,190, May 8, 2008, (22 pages). cited by applicant .
United States Patent and Trademark Office, "Office action", issued in connection with U.S. Appl. No. 10/867,190, Feb. 22, 2010, (19 pages). cited by applicant .
Communication regarding supplemental European Search Report corresponding to European Patent Application No. EP 03 81 5891, mailed Feb. 27, 2009, 1 page. cited by applicant .
Supplementary European Search Report corresponding to European Patent Application No. EP 03 81 5891, completed Feb. 11, 2009, 1 page. cited by applicant .
Annex to the European Search Report corresponding to European Patent Application No. EP 03 81 5891, Feb. 11, 2009, 1 page. cited by applicant .
Communication indicating grant of Indian Patent No. 225893, mailed Jan. 27, 2009, 3 pages. cited by applicant .
Communication regarding first examination report in connection with Indian Patent Application No. 1833/CHENP/2005 (now Indian Patent No. 225893), mailed Feb. 27, 2007, 1 page. cited by applicant .
English translation of first examination report in connection with Indian Patent Application No. 1833/CHENP/2005 (now Indian Patent No. 225893), mailed Feb. 27, 2007, 2 pages. cited by applicant .
English translation of Office communication in connection with Taiwanese Patent Application No. 92107979,dated Jul. 26, 2009, 1 page. cited by applicant .
English translation of Office action in connection with Indian Patent Application No. 1833/CHENP/2005 (now Indian Patent No. 225893), mailed Dec. 12, 2007, 1 page. cited by applicant .
English translation of Office communication in connection with Taiwanese Patent Application No. 92107979, mailed mailed Jul. 19, 2007, 3 pages. cited by applicant .
Communication regarding examiner interview in connection with Taiwanese Patent Application No. 92107979, mailed Oct. 31, 2007, 1 page. cited by applicant .
Translation of examiners opinion in connection with Taiwanese Patent Application No. 92107979, Oct. 31, 2007, 2 pages. cited by applicant .
International Preliminary Examining Authority, "Written Opinion," issued in connection with international application No. PCT/US03/04030, mailed Dec. 12, 2003, 8 pages. cited by applicant .
International Preliminary Examining Authority, "International Preliminary Examination Report," issued in connection with international application No. PCT/US03/04030, date of mailing Apr. 22, 2004, 9 pages. cited by applicant .
International Searching Authority, "International Search Report," issued in connection with international application No. PCT/US03/04030, mailed Aug. 19, 2003, 4 pages. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance" issued in connection with U.S. Appl. No. 10/867,190, mailed Jul. 21, 2010, 11 pages. cited by applicant .
United States Patent and Trademark Office, "Non-final Office Action" issued in connection with U.S. Appl. No. 10/867,190, mailed Feb. 22, 2010, 19 pages. cited by applicant .
United States Patent and Trademark Office, "Non-final Office Action" issued in connection with U.S. Appl. No. 10/867,190, mailed Jul. 28, 2009, 18 pages. cited by applicant .
United States Patent and Trademark Office, "Advisory Action" issued in connection with U.S. Appl. No. 10/867,190, mailed Feb. 24, 2009, 3 pages. cited by applicant .
United States Patent and Trademark Office, "Final Office Action" issued in connection with U.S. Appl. No. 10/867,190, mailed Nov. 4, 2008, 17 pages. cited by applicant .
United States Patent and Trademark Office, "Non-final Office Action" issued in connection with U.S. Appl. No. 10/867,190, mailed May 8, 2008, 22 pages. cited by applicant .
United States Patent and Trademark Office, "Non-final Office Action" issued in connection with U.S. Appl. No. 13/194,657, mailed Oct. 23, 2012, 13 pages. cited by applicant .
United States Patent and Trademark Office, "Notice of Allowance" issued in connection with U.S. Appl. No. 13/194,657, mailed May 16, 2013, 8 pages. cited by applicant .
European Boards of Appeals, "Communication of the Board of Appeals", issued in connection with European patent application No. 03815891.1, Apr. 11, 2016, 12 pages. cited by applicant.
1. An apparatus comprising: a first sensor at a first media monitoring location; a second sensor at a second media monitoring location; a central processor at a central site configured to remotely control collection of audience measurement data from the first media monitoring location and the second media monitoring location based on a variable system factor, the central processor to (a) measure the variable system factor at the central site and (b) control the first sensor at the first media monitoring location to collect a first type of data and control the second sensor at the second media monitoring location to collect a second type of data based on the variable system factor.
7. A computer readable storage device or storage disc comprising machine readable instructions which, when executed by a machine, cause the machine to at least: measure a variable system factor at a central site; control a first sensor at a first media monitoring location to collect a first type of data based on the variable system factor; control a second sensor at a second media monitoring location to collect a second type of data based on the variable system factor; and facilitate remote collection of the first type of data and the second type of data at the central site from the first media monitoring location and the second media monitoring location based on the variable system factor.
13. A method comprising: measuring, using a central processor at a central site, a variable system factor at the central site; controlling, using the central processor, a first sensor at a first media monitoring location to collect a first type of data based on the variable system factor; controlling, using the central processor, a second sensor at a second media monitoring location to collect a second type of data based on the variable system factor; and facilitating, using the central processor, remote collection of the first type of data and the second type of data at the central site from the first media monitoring location and the second media monitoring location based on the variable system factor.
20. The method of claim 19, wherein selecting the first sensor and second sensor from a plurality of sensors on a valid sensor list further includes: associating a preference value with each sensor in the plurality of sensors based on a fixed system factor; testing the sensors to determine which sensors from the plurality of sensors are outputting valid data; when a sensor from the plurality of sensors is determined to be outputting valid data, adding the sensor to a valid sensor list; when a sensor from the plurality of sensors is determined to not be outputting valid data, removing the sensor from the valid sensor list; summing an output of each sensor in the valid sensor list; comparing the summed output to a variable system factor to determine whether the summed output exceeds a threshold associated with the variable system factor; when the summed output of sensors in the valid sensor list exceeds the threshold associated with the variable system factor, removing from the valid sensor list a sensor having a lowest preference value among the sensors in the valid sensor list; and selecting the first sensor and second sensor from the valid sensor list.
By way of another example, the video code sensor 14 may be an Automatic Measurement Of Line-up (AMOL) decoder. An AMOL decoder reads codes embedded in a broadcast video signal outside the active video area (i.e., outside the portion of the signal that is displayed on a television receiving the signal). As is well known, the active video area starts in the 22.sup.nd line of a broadcast frame. AMOL codes are placed in the signal in lines before the active video area (e.g., in lines 19, 20 and 21). The AMOL codes identify the channel broadcasting the program containing the codes. Because the codes are embedded outside of the active video area that appears on the television, they are not visible to viewers. However, the AMOL decoder can be used to extract the codes from the received signal to identify the program being viewed.
A home unit 10 typically includes five or more of the above or other types of sensors 12, 14, 16, 18, 20. These sensors 12, 14, 16, 18, 20 are sometimes referred to as "data collection engines." Like airplane engines, multiple data collection engines 12, 14, 16, 18, 20 are available so that, if one or more of these engines should fail, the remaining engines 12, 14, 16, 18, and/or 20 are still available to collect useful data.
Persons of ordinary skill in the art will readily appreciate that the switch 22 may be implemented in many different ways. For example, the switch 22 may be implemented by a matrix of controlled switches such as transistors, and/or the switch may be implemented by a programmed processor. As a result, persons of ordinary skill in the art will appreciate that, as used herein "connected" and "coupled" are not limited to direct physical connections, but instead encompass direct physical connections, indirect physical connections, and non-physical connections wherein data is simply transferred from one device to the other via some intermediary. Thus, the switch 22 may couple a sensor to the output by processing the data output by the switch 22 and delivering the processed data to the output 26. The data output by a sensor 12-20 that is not "coupled" to the output 26 (e.g., an "ignored," "isolated," or "dropped" sensor) may simply be ignored by the switch 22 such that the ignored data is not delivered to the output 26 and, thus, is typically not processed, or, alternatively, the switch 22 may break a circuit path (by, for example, changing the state of a controlled switch such as a transistor) between the ignored sensor and the output 26.
At block 142, the output measuring unit 58 resets the sensor counter S to zero and sets an output measurement variable A to zero. The output measuring unit 58 then enters a loop whereby it determines the amount of data per unit of time output by the sensor(s) appearing in the valid sensor list. In particular, the output measuring unit 58 increments the sensor counter S by one (block 144) and then adds the number of bytes per second output by the first sensor on the valid sensor list to the output measurement variable A (block 146). For example, assuming the valid sensor list is the list appearing in FIG. 7B and the sensor counter S equals one, the output measurement unit 58 adds the number of bytes per second D.sub.S that the audio code sensor 12 is outputting to the output measurement variable A (block 146). Control then advances to block 148.
At block 150, the processing speed tester 60 determines if the local processor associated with the home site is capable of processing the aggregate output A of the sensor(s) appearing on the valid sensor list. In particular, the processing speed tester 60 compares the value in the output measurement variable A to the currently available processing speed P.sub.L of the local processor (block 150). If the sensors on the valid sensor list are outputting more data than the local processor is currently capable of processing (block 150), the processing speed tester 60 calls the DROP SENSOR routine (block 151). As shown in FIG. 8, the DROP SENSOR routine begins when the processing speed tester 60 removes the sensor having the lowest preference value from the valid sensor list (block 152). For example, if the current valid sensor list is the list appearing in FIG. 7B, the processing speed sensor 60 deletes the software meter sensor 20 from the valid sensor list such that the valid sensor list now includes only three sensors as shown in FIG. 7C. The processing speed tester 60 then decrements the valid sensor counter by one (block 154).
Assuming that the local processor is capable of handling the output of the sensors currently appearing in the valid sensor list (e.g., the list appearing in FIG. 7C) (block 150), control advances to block 160 (FIG. 5B). At block 160, the bandwidth sensor 62 measures the current bandwidth B.sub.current of the communication link 26. If the current bandwidth B.sub.current of the communication link 26 is larger than the output A of the sensors appearing on the valid sensor list (block 162), then the communication link 26 is currently capable of forwarding all of the data output by the sensors without delay. Accordingly, there is only a negligible need for local storage, and control advances to block 174.
Assuming the local storage unit has sufficient capacity to handle the local storage requirements of the sensors appearing on the valid sensor list given the fixed and current variable system factors (block 164), control advances to block 174. At block 174, the processing speed tester 60 determines if the remote processor has sufficient available processing speed to process the data the apparatus 50 currently expects to forward to the central office 24 via the communications link 26. In particular, the processing speed tester 60 determines if the processor at the central office 24 is capable of processing data delivered at the greater of the current measured bandwidth B.sub.current and the total output A of the sensors appearing on the valid sensor list (block 174). This determination may be made with status data transmitted from the central office 24 in response to a query from the apparatus 50. For example, the apparatus 50 may request the central office 24 to identify its current processing speed availability (e.g., how much data per unit of time the remote processor may currently accept given the current demands on the remote processor's data handling capabilities).
Assuming for purposes of discussion that the remote processing speed is insufficient to handle the amount of data being delivered via the communication link 26 (block 174), the processing speed tester 60 determines if the current combined output A of the sensors appearing on the valid sensor list is greater than the bandwidth B.sub.current currently available on the communication channel 26 (block 176). If the bandwidth B.sub.current of the communications channel 26 is greater than the combined output A of the sensors appearing on the valid sensor list (block 176), the speed processing tester 60 reduces the value of the current bandwidth variable B.sub.current to equal the current processing speed of the remote processor (block 178). The switch 22 is also notified that it should not transmit data at a rate faster than the reduced bandwidth value B.sub.current to ensure that the processor at the remote central office 24 is not overwhelmed with too much data. Control then returns to block 162 so the processing speed tester 60 is provided with the opportunity to ensure that the local storage device has sufficient capacity to handle the output A of the sensors appearing on the valid sensor list at the reduced level of data transmission dictated by the reduced bandwidth value B.sub.current (block 164). If the local storage capacity is insufficient to handle the increased buffering rate associated with decreasing the rate of transmission between the home site and the central office 24, the DROP SENSOR routine is called (block 177) and another sensor 12-20 is removed from the valid sensor list as explained above. Of course, if another sensor is dropped from the valid sensor list (FIG. 8, blocks 152-154), control returns to block 142 to reevaluate the variable system factors against the new expected output A of the sensors appearing on the revised valid sensor list as explained above, unless no sensors are identified in that list (FIG. 8, block 156).
If, on the other hand, it is determined at block 176 (FIG. 5C) that the combined output A of the sensors appearing on the valid sensor list already exceeds the current bandwidth B.sub.current of the communication link 26 (block 176), then, instead of applying more pressure to the local buffer by reducing the rate of transmission from the home site to the central office 24, the processing speed tester 60 calls the DROP SENSOR routine (block 177) to remove the least preferred sensor from the valid sensor list (FIG. 8, block 152). The valid sensor counter is then decremented (FIG. 8, block 154) and, if there are still sensors appearing on the valid sensor list (block 156), control returns to block 142 (FIG. 5A) to reevaluate the variable system factors against the new expected output A of the sensors appearing on the revised valid sensor list as explained above. As noted above, if there are no sensors listed in the valid sensor list (FIG. 8, block 156), an error message is issued (block 158) and the process terminates.
At block 182, the storage monitor 64 determines if the central office 24 has sufficient storage capacity allocated to the subject home unit to receive the data gathered by the sensors listed on the valid sensor list given the expected transmission rate. In particular, at block 182 the storage monitor 64 divides the remote storage capacity the central office 24 has allocated to the home site in question by the rate at which the apparatus 50 currently expects to transmit data to the central site 24 (i.e., the value stored in the current available bandwidth variable B.sub.current which may be the actual available bandwidth or a reduced value (see FIG. 5C, block 178)). If the computed ratio of remote storage capacity to transmission rate exceeds a predetermined threshold T.sub.2 (block 182), then there is insufficient remote storage to receive all of the data output by the sensors appearing on the valid data list. Accordingly, the storage monitor 64 calls the DROP SENSOR routine (block 177) to remove the sensor having the lowest preference value from the valid sensor list as explained above. Control then returns to block 142 (FIG. 5A) where the output measuring unit 58 re-computes the output measurement value A based on the reduced valid sensor list. Control continues to loop through blocks 142-182 until the number of sensors appearing on the valid sensor list is reduced to a level that the local processor and the local storage unit can handle, and/or until no sensors are listed in the valid sensor list.
Assuming that the remote processor has sufficient storage capacity to handle the current data collection rate (block 184), control advances to block 186 (FIG. 5D). At block 186, the home site processes the data collected by the sensors appearing on the valid sensor list in accordance with conventional data collection and processing routine subject to any reduced transmission rate (see block 178). The home unit will continue to collect and process data using the sensors appearing in the valid sensor list until the bandwidth sensor 62 determines that the currently available bandwidth has changed (i.e., increased or decreased) by an amount greater than a threshold T.sub.3 (block 188), or until a predetermined length of time has expired (block 190). When a sufficient change in available bandwidth is detected (block 188) and/or expiration of the predetermined time has occurred (block 190), control returns to block 130 to re-run the entire process to determine an appropriate set of the sensors 12-20 to gather data given the current variable system factors.
The example of FIGS. 10A-10C represents a store and forward approach to implementing the apparatus of FIG. 3 wherein data is collected in a first time period, data is transmitted in a second time period, and data is processed in a third time period. As shown in FIG. 9, a predetermined maximum period of time Tc (e.g., between 1:00 PM and 3:00 AM) is selected for the home unit to collect data. Data may or may not be collected during this entire time period, depending on usage of the viewing device. In the example of FIG. 9, a maximum length of time T.sub.T is selected for transmitting the collected data to the central office 24. This maximum length of time T.sub.T may be chosen, for example, as a time period occurring after the conclusion of the collecting time period Tc, such that the data collection period Tc and the transmission period T.sub.T do not overlap as shown in FIG. 9. Additionally, a maximum length of time T.sub.P for processing the data at the central office 24 to produce ratings data is selected. In the example of FIG. 9, this maximum time period T.sub.P is selected such that it does not overlap with either of the data collection period TC or the transmission period T.sub.T.
After the aggregate output data rate (A, measured in Bytes/sec) produced by the valid, non-isolated, sensors has been calculated (block 148), control advances to block 200. At block 200, the output measuring unit 58 calculates the aggregate maximum number of bytes (S.sub.COLLECTION) which may possibly be produced by the valid sensors during the data collection period (T.sub.C) by multiplying the aggregate output data rate (A) with the data collection period (T.sub.C measured in seconds).
The storage monitor 64 then determines if the maximum number of bytes (S.sub.COLLECTION) which may possibly be produced by the valid, non-isolated, sensors during the data collection period (T.sub.C) is greater than the capacity of the local storage device (S.sub.LOCAL) associated with the home unit (block 202). If S.sub.COLLECTION is greater than S.sub.LOCAL, then the possible amount of data which may be collected is too much for the local storage device to store. Accordingly, the DROP SENSOR routine is called (block 204) and executed as explained above in connection with FIG. 8. Otherwise, the local storage device has sufficient storage capacity to handle the total possible amount of data that may be collected (block 202), and control advances to block 206.
At block 206, the maximum number of bytes (S.sub.TRANSMIT) that may be transmitted during the maximum possible uptime (T.sub.T) of the communication channel 26 is calculated. In particular, the bandwidth sensor 62 calculates the maximum possible number of transmitted bytes (S.sub.TRANSMIT) by multiplying the maximum possible bandwidth of the channel (B.sub.CHANNEL), with the maximum length of the transmission period (T.sub.T) (block 206). The bandwidth sensor 62 then compares the maximum number of bytes (S.sub.COLLECTION) which may be collected during the collection period (T.sub.C) to the maximum number of bytes (S.sub.TRANSMIT) that may be transmitted during the transmission period (T.sub.T) (block 208). If the maximum number of bytes that may be collected (S.sub.COLLECTION) is greater than the maximum number of bytes that may be transmitted (S.sub.TRANSMIT) (block 208), then the DROP SENSOR routine is called (block 204) and executed as explained in connection with FIG. 8. Otherwise, control advances to block 210 (FIG. 10C).
At block 210, the storage monitor 64 compares the maximum number of collected bytes (S.sub.COLLECTION) to the maximum storage availability (S.sub.REMOTE) of the remote storage device. If the maximum number of collected bytes (S.sub.COLLECTION) exceeds the maximum storage capacity (S.sub.REMOTE) of the storage device at the central office 24 (block 210), then the DROP SENSOR routine is called (block 212) and executed as explained in connection with FIG. 8. Otherwise, control advances to block 214.
At block 214, the processing speed tester 60 calculates the maximum required processing byte rate (B) for the remote processor associated with the central office 24 to process the collected data (S.sub.COLLECTION) within the allotted processing time (T.sub.P). In particular, the processing speed tester 60 calculates the maximum required processing byte rate (B) by dividing the maximum number of collected bytes (S.sub.COLLECTION) by the maximum length of the processing time period (T.sub.P) (block 214). The maximum required byte rate (B) is then converted to a maximum required cycle rate (C) by dividing the maximum required byte rate (B) by a constant (K) which is indicative of the maximum operating speed of the remote processor measured in cycles per second (block 216).
Once the maximum required cycle rate (C) is calculated (block 216), it is compared to the maximum processing speed (P.sub.REMOTE) of the remote processor (block 218). If the maximum required cycle rate (C) is greater than the maximum processing speed (P.sub.REMOTE) (block 218), then the DROP SENSOR routine is called (block 212) and executed as explained in connection with FIG. 8. Otherwise, control advances to block 220.
After the aggregate output data rate (A, measured in Bytes/sec) produced by the valid, non-isolated, sensors has been calculated (block 148), control advances to block 300. At block 300, the bandwidth sensor 62 calculates any mismatch (D.sub.CT) between the maximum available bandwidth (B.sub.CHANNEL) of the channel 26 and the amount of data (A) currently being collected by the valid, non-isolated sensors. In particular, the bandwidth sensor 62 calculates any difference (D.sub.CT) by subtracting the aggregate output data rate (A) from the maximum available bandwidth (B.sub.CHANNEL) (block 300).
If the difference (D.sub.CT) between the aggregate output data rate (A) and the maximum available bandwidth (B.sub.CHANNEL) is less than zero (block 302), then the data collection rate is faster than the maximum transmission capacity. Accordingly, it will be necessary to buffer some of the collected data and/or drop one or more valid sensors. Therefore, control advances to block 306 where the storage monitor 64 calculates the amount of local storage capacity required to buffer the necessary amount of collected data. In particular, the storage monitor 64 calculates the maximum amount of data that will need to be buffered locally (S.sub.COLLECTION) by multiplying the difference (D.sub.CT) between the aggregate output data rate (A) and the maximum available bandwidth (B.sub.CHANNEL) with the maximum length of the collection period (T.sub.C) (block 306). It then compares the maximum amount of data that will need to be buffered locally (S.sub.COLLECTION) to the capacity of the local storage device (S.sub.LOCAL) (block 308). If the required amount of storage (S.sub.COLLECTION) exceeds the local storage capacity (S.sub.LOCAL) (block 308), control advances to block 310 where the DROP SENSOR routine is called and executed as explained in connection with FIG. 8. Otherwise, control advances to block 312 (FIG. 12C).
Returning to block 302, if the difference (D.sub.CT) between the aggregate output data rate (A) and the maximum available bandwidth (B.sub.CHANNEL) is less than zero, then the data collection rate is slower than the maximum transmission capacity. Accordingly, control advances to block 304 where a variable (B.sub.CURRENT) indicative of the current bandwidth of the communication channel 26 is set to equal the current output (A) of the valid, non-isolated sensors. Control then advances to block 312 of FIG. 12C.
Irrespective of whether control arrives at block 312 from block 304 or block 308, at block 312 the processing speed tester 60 calculates the processing speed (B.sub.REMOTE) of the remote processor in bytes per second. In particular, the processing speed tester 60 multiplies the speed of the remote processor (P.sub.REMOTE) measured in cycles per second with the processor constant (K) to develop a measure of the remote processor's speed in bytes per second (block 312). Control then advances to block 314.
If the variable B.sub.CURRENT is set to equal the current collection rate (A) (block 314), the available bandwidth fo the communication channel 26 exceeds the quantity of data (A) being collected by the non-isolated, valid sensors and control advances to block 316. Otherwise, control advances to block 318.
At block 316, the processing speed tester 60 calculates the difference (D.sub.RC) between the processing speed (B.sub.REMOTE) of the remote processor and the current collection rate (A) of the non-isolated, valid sensors to determine if the remote processor will be able to handle the maximum amount of data to be transmitted through the channel 26. Control then advances to block 320.
At block 318, on the other hand, the processing speed tester 60 calculates the difference (D.sub.RC) between the processing speed (B.sub.REMOTE) of the remote processor and the maximum available bandwidth (B.sub.CHANNEL) of the communication channel to determine if the remote processor will be able to handle the maximum amount of data to be transmitted through the channel 26. Control then advances to block 320.
Irrespective of whether control arrives at block 320 from block 316 or block 318, at block 320 the processing speed tester 60 determines if the difference (D.sub.RC) calculated at one of blocks 316 and 318 is less than zero. If the calculated difference (D.sub.RC) is less than zero (block 320), then the maximum data transmission rate is faster than the maximum processing speed of the remote processor. Accordingly, it will be necessary to buffer the unprocessed portion of the transmitted data and/or drop one or more valid sensors. Therefore, control advances to block 322 where the storage monitor 64 calculates the amount of remote storage capacity required to buffer the necessary amount of transmitted data. In particular, the storage monitor 64 calculates the maximum amount of data that will require buffering at the remote site (S.sub.TRANSMIT) by multiplying the difference (D.sub.RC) calculated at one of blocks 316 and 318 with the maximum length of the transmission period (T.sub.T) (block 322). It then compares the maximum amount of data that will requires buffering (S.sub.TRANSMIT) to the capacity of the remote storage device (S.sub.REMOTE) (block 324). If the maximum amount of required storage (S.sub.TRANSMIT) exceeds the remote storage capacity (S.sub.REMOTE) (block 324), control advances to block 326 where the DROP SENSOR routine is called and executed as explained in connection with FIG. 8. Otherwise, control advances to block 328.
Returning to block 320, if the difference (D.sub.RC) calculated at one of blocks 316 and 318 is greater than zero, then the maximum data transmission rate is slower than the maximum processing speed of the remote processor. Accordingly, significant remote storage capacity is not required and control advances to block 328.
The system 1000 of the instant example includes a processor 1012. For example, the processor 1012 can be implemented by one or more Intel.RTM. microprocessors from the Pentium.RTM. family, the Itanium.RTM. family or the XScale.RTM. family. Of course, other processors from other families are also appropriate.

References: application No. 07754662
 Application No. 1833
 Application No. 1833
 Application No. 92107979
 Application No. 1833
 Application No. 92107979
 Application No. 92107979
 Application No. 92107979
 application No. 03815891