A satellite broadcast conditional access system with key synchronization uses indexing of an authorization stream to quickly restart the decrypting process after short carrier fades and after carrier switches. The authorization stream includes cyphered seeds and index numbers which are sequentially sent to a group of receivers. The same authorization stream can also be broadcast multiple times to the group of receivers. A conditional access server selects a starting index number and increments the index number by a predefined value. The receivers have a memory to save the current index number for the authorization stream. Any receiver that loses its connection to the broadcast and thereafter reestablishes its connection can retrieve the latest index number being issued in the authorization stream and compare it with the stored index number. When the index numbers match or are within a defined threshold, the receiver will continue to decypher the seeds and decrypt the transport stream.

Patent
   RE41919
Priority
Jun 25 2003
Filed
Apr 16 2009
Issued
Nov 09 2010
Expiry
Aug 13 2023
Assg.orig
Entity
Large
0
227
EXPIRED
0. 37. A computer-implemented method, comprising:
sending, by an access server, one or more ciphered seeds and one or more index numbers associated with the one or more ciphered seeds to at least one content receiver; and
resending, by the access server, the one or more ciphered seeds and the one or more index numbers, wherein a ciphered seed and index number pair are sent before sending subsequent ciphered seed and index number pairs.
0. 46. A system for encrypting data, comprising:
an access server configured to generate one or more ciphered seeds; and
a cryptographic multiplexer configured to:
send the one or more ciphered seeds and one or more index numbers to one or more content receivers during a flavor distribution period; and
resend the one or more ciphered seeds and the one or more index numbers to the one or more content receivers during the flavor distribution period.
0. 54. A system for decrypting data, comprising:
a demultiplexer configured to extract a ciphered seed from an encrypted data stream using a number associated with a content receiver;
a decrypter configured to decipher the extracted ciphered seed;
a processor configured to:
detect a reset; and
validate the deciphered seed responsive to the reset; and
a descrambler configured to decrypt the encrypted data stream using the deciphered seed responsive to the deciphered seed being valid.
0. 60. A computer-implemented method, comprising:
detecting, by a content receiver, a loss of an encrypted data stream;
determining, by the content receiver, an index number and odd/even flavor associated with a restored encrypted data stream;
determining, by the content receiver, whether the index number corresponds to a stored index number; and
decrypting, by the content receiver, the restored encrypted data stream using an encryption seed corresponding to the stored index number if the index number corresponds to the stored index number.
0. 48. A computer-implemented method, comprising:
receiving, by a content receiver, an encrypted data stream;
extracting, by the content receiver, a ciphered seed and index number pair from the encrypted data stream using a number associated with the content receiver;
deciphering, by the content receiver, the ciphered seed to create a deciphered seed;
storing, by the content receiver, the deciphered seed and index number in memory;
detecting, by the content receiver, a reset, and responsive to the reset:
comparing a received index number with the stored index number; and
deciphering and storing additional ciphered seeds responsive to the received index number corresponding to the stored index number.
31. A server for encrypting data, comprising: means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value; means for calculating a plurality of cyphered seeds according to a combination of each one of said random numbers and each one of said respectively associated index numbers; and means for sending a group of cyphered seed and corresponding index number pairs from a server to a respective group of receivers during a flavor distribution period, and resending said group of cyphered seed and corresponding index number pairs to said respective group of receivers during said flavor distribution period.
35. An integrated receiver decoder for decrypting data, comprising: means for extracting a cyphered seed and a corresponding index number from a group of cyphered seed and index number pairs; wherein a plurality of serial numbers are used to generate a plurality of cyphered seeds and wherein at least one of said serial numbers is used to extract said cyphered seed; a decrypter in operative communication with said extracting means receives said extracted cyphered seed and said corresponding index number and decyphers said cyphered seed into a decyphered seed; a memory device in operative communication with said decrypter receives and stores said decyphered seed and index number; and means for setting a reset command and thereafter comparing a new index number with said stored index number according to a defined tolerance.
1. A method of encrypting data for rapid decryption, the method comprising the steps of:
sequentially generating a plurality of random numbers;
sequentially generating a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value;
calculating a plurality of cyphered seeds according to a combination of each one of said random numbers and each one of said respectively associated index numbers;
sending said plurality of cyphered seeds and said corresponding index numbers from a server to at least one receiver; and
resending each one of said plurality of cyphered seeds and said corresponding index numbers from said server to said receiver, wherein a cyphered seed and index number pair is resent before sending a subsequent cyphered seed and index number pair.
23. A system for encrypting and decrypting data, comprising: means for sequentially generating a plurality of random numbers and a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value; means for calculating a plurality of cyphered seeds according to a combination of each one of said random numbers, each one of said respectively associated index numbers, and a plurality of serial numbers respectively associated with a group of receivers; means for sending a group of cyphered seed and corresponding index number pairs from a server to said group of receivers during a flavor distribution period, and resending said group of cyphered seed and corresponding index number pairs to said group of receivers during said flavor distribution period; means for extracting a cyphered seed and corresponding index number from said cyphered seed and index number pairs, wherein at least one of said serial numbers is used to extract said cyphered seed; a decrypter in operative communication with said extracting means receives said extracted cyphered seed and said index number and decyphers said cyphered seed into a decyphered seed; a memory device in operative communication with said decrypter receives and stores said decyphered seed and index number; means for setting a reset command and thereafter comparing a new index number with said stored index number according to a defined tolerance.
15. A method of encrypting data for rapid decryption, the method comprising the steps of: sequentially generating a plurality of random numbers; sequentially generating a plurality of index numbers respectively associated with said random numbers, wherein a first index number is initially generated and said index numbers increment by a predefined value; calculating a plurality of cyphered seeds according to a combination of each one of said random numbers, each one of said respectively associated index numbers, and a plurality of serial numbers respectively associated with a group of receivers; sending a group of cyphered seed and corresponding index number pairs from a server to said group of receivers during a flavor distribution period; resending said group of cyphered seed and corresponding index number pairs to said group of receivers during said flavor distribution period; repeating said sending and resending steps for a plurality of subsequent groups of cyphered seed and corresponding index number pairs to said group of receivers, extracting a cyphered seed using its serial number from said cyphered seed and index number pairs in each one of said receivers; decyphering said cyphered seed and index number pairs in each one of said receivers; storing said decyphered seed and index number pair in a memory of each one of said receivers; repeating said decyphering and storing steps for a plurality of subsequent cyphered seed and index number pairs until an occurrence of a reset; after said reset, decyphering a most recently received index number and comparing said most recently received index number with said stored index number; and continuing with said decyphering and storing steps if said most recently received index number is within a defined tolerance of said stored index number.
2. The method according to claim 1, wherein said generating of said index numbers is further comprised of the step of randomly generating said first index number.
3. The method according to claim 1, wherein said sending and resending steps further comprise the steps of sending a first flavored cyphered seed and index number pair and resending said first flavored cyphered seed and index number pair.
4. The method according to claim 3, wherein said sending and resending steps further comprise the steps of: sending a second flavored cyphered seed and index number pair; resending said second flavored cyphered seed and index number pair; and repeating said sending and resending steps for a plurality of first flavored cyphered seed and index number pairs and for a plurality of second flavored cyphered seed and index number pairs.
5. The method according to claim 1, further comprising the steps of: decyphering said cyphered seed and index number pair; storing said decyphered seed and index number pair in a memory; repeating said decyphering and storing steps for a plurality of subsequent cyphered seed and index number pairs until an occurrence of a reset; after said reset, decyphering a most recently received index number and comparing said most recently received index number with said stored index number; and continuing with said decyphering and storing steps if said most recently received index number is within a defined tolerance of said stored index number.
6. The method according to claim 5, further comprising the steps of: when a cyphered seed of a particular flavor is received, decyphered, and loaded to said receiver, setting a flavor seed flag to designate said flavor; and when said receiver detects that a flavor in incoming encrypted transport streams changes to a new flavor, examining whether said flavor seed flag is set to correspond said new flavor for checking if said decyphered seed is valid to decrypt said incoming encrypted transport streams.
7. The method according to claim 5, further comprising the step of defining said tolerance of said stored index number to one.
8. The method according to claim 5, further comprising the steps of: sending a group of cyphered seed and corresponding index number pairs from said server to a respective group of receivers during a flavor distribution period; resending said group of cyphered seed and corresponding index number pairs to said respective group of receivers during said flavor distribution period; and repeating said sending and resending steps for a plurality of subsequent groups of cyphered seed and corresponding index number pairs to said respective group of receivers.
9. The method according to claim 8, wherein said repeating step further comprises the step of switching between a first flavor and a second flavor.
10. The method according to claim 8, further comprising the step of sending an authorization stream from said server to said group of receivers during said flavor distribution period, said authorization stream comprising said group of cyphered seed and corresponding index number pairs, a plurality of serial numbers corresponding to said respective group of receivers, a flavor indicator, and an encryption on/off message.
11. The method according to claim 10, further comprising the step of indicating to said group of receivers whether corresponding transport streams are encrypted according to said encryption on/off message.
12. The method according to claim 10, further comprising the step of generating a plurality of secret serial numbers according to a combination of a secret identification number and a serial number associated with each of said receivers.
13. The method according to claim 12, further comprising the step of allowing a customer controlling said group of receivers to generate said secret identification number unique to said customer.
14. The method according to claim 12 wherein said step for calculating a plurality of cyphered seeds is further comprised of the step of combining each one of said random numbers and said respectively associated index numbers with each one of said secret serial numbers.
16. The method according to claim 15, wherein said generating of said index numbers is further comprised of the step of randomly generating said first index number.
17. The method according to claim 15, further comprising the step of sending an authorization stream from said server to said group of receivers during said flavor distribution period, said authorization stream comprising said group of cyphered seed and corresponding index number pairs, said plurality of serial numbers corresponding to said respective group of receivers, a flavor indicator, and an encryption on/off message.
18. The method according to claim 15, further comprising the step of generating a plurality of secret serial numbers according to a combination of a secret identification number and a serial number associated with each of said receivers.
19. The method according to claim 18, further comprising the step of allowing a customer controlling said group of receivers to generate said secret identification number unique to said customer.
20. The method according to claim 18, wherein said secret serial numbers are used as said serial numbers in calculating said cyphered seeds.
21. The method according to claim 15, further comprising the steps of: receiving, decyphering, and loading at least one of said cyphered seeds of an indicated flavor in each one of said receivers; respectively setting a flavor seed flag in each one of said receivers to designate said indicated flavor; detecting a flavor change associated with a new flavor in incoming encrypted transport streams in each one of said receivers; determining whether said flavor seed flag is set to correspond with said new flavor and whether said decyphered seed is valid in each one of said receivers; and decrypting said incoming encrypted transport streams in each one of said receivers when said decyphered seed is valid.
22. The method according to claim 15, further comprising the step of defining said tolerance of said stored index number to one.
24. The system according to claim 23, wherein said first index number is further comprised of a randomly generated number.
25. The system according to claim 23, wherein said means for generating said random numbers and said index numbers is comprised of a server with a computer processor.
26. The system according to claim 23, wherein said means for calculating said cyphered seeds is comprised of an encryption function in said server.
27. The system according to claim 23, wherein said means for sending and resending said cyphered seed and index number pairs from said server to said receivers is comprised of a multiplexer controlled by said server.
28. The system according to claim 23, wherein said means for extracting said cyphered seed, setting said reset command, and returning to said steady state operation is comprised of a host microprocessor in at least one of said receivers.
29. The system according to claim 23, wherein said defined tolerance of said stored index number is one.
30. The system according to claim 23, wherein said plurality of serial numbers are further comprised of a combination of a secret identification number, and wherein said secret identification number is unique to a customer controlling said group of receivers.
32. The system according to claim 31, wherein said first index number is further comprised of a randomly generated number.
33. The system according to claim 31, wherein said cyphered seeds are further comprised according to a combination of said random numbers and said index numbers with a plurality of serial numbers respectively associated with said group of receivers.
34. The system according to claim 33, wherein said plurality of serial numbers are further comprised of a combination of a secret identification number, and wherein said secret identification number is unique to a customer controlling said group of receivers.
36. The system according to claim 35, wherein said defined tolerance of said stored index number is one.
0. 38. The computer-implemented method as recited in claim 37, further comprising determining one or more ciphered seeds by:
sequentially generating a plurality of random numbers;
sequentially generating a plurality of index numbers associated with the random numbers; and
combining each random number with each index number associated with the random number.
0. 39. The computer-implemented method as recited in claim 38, wherein a first index number is generated randomly and subsequent index numbers are generated by incrementing the first index number by a value.
0. 40. The computer-implemented method as recited in claim 37, wherein the one or more ciphered seeds and the one or more index numbers are sent and resent during a first flavor distribution period.
0. 41. The computer-implemented method as recited in claim 40, further comprising:
sending, by the access server, a ciphered seed and an index number pair during a second flavor distribution period; and
resending, by the access server, the ciphered seed and the index number pair during the second flavor distribution period.
0. 42. The computer-implemented method as recited in claim 37, further comprising sending, by the access server, an authorization stream, the authorization stream comprising the one or more ciphered seeds, the one or more index numbers, one or more numbers associated with one or more content receivers, a flavor indicator, and an encryption message.
0. 43. The computer-implemented method as recited in claim 42, wherein the one or more numbers associated with one or more content receivers are configured to enable decryption of the one or more ciphered seeds.
0. 44. The computer-implemented method as recited in claim 42, wherein the flavor indicator is configured to indicate an odd/even flavor of the one or more ciphered seeds.
0. 45. The computer-implemented method as recited in claim 42, wherein the encryption message is configured to indicate whether a transport stream is encrypted.
0. 47. The system as recited in claim 46, wherein the cryptographic multiplexer is further configured to:
send a ciphered seed and an index number pair during a second flavor distribution period; and
resend the ciphered seed and the index number pair during the second flavor distribution period.
0. 49. The computer-implemented method, as recited in claim 48, wherein the received index number corresponds to the stored index number when the received index number is within a defined tolerance of the stored index number.
0. 50. The computer-implemented method, as recited in claim 49, wherein the defined tolerance is one.
0. 51. The computer-implemented method, as recited in claim 48, further comprising deciphering and storing, by the content receiver, additional ciphered seed and index number pairs until a reset is detected.
0. 52. The computer-implemented method, as recited in claim 48, further comprising:
deciphering, by the content receiver, a ciphered seed corresponding to a first flavor;
detecting, by the content receiver, a second flavor;
determining, by the content receiver, whether the deciphered seed is valid by comparing the second flavor with the first flavor; and
decrypting, by the content receiver, the encrypted data stream responsive to the deciphered seed being valid.
0. 53. The computer-implemented method, as recited in claim 52, further comprising blocking, by the content receiver, the encrypted data stream responsive to the deciphered seed being invalid.
0. 55. The system, as recited in claim 54, wherein the processor is configured to validate the deciphered seed by comparing an index number associated with the deciphered seed with a stored index number.
0. 56. The system, as recited in claim 55, wherein the processor is configured to validate the deciphered seed by comparing the index number associated with the deciphered seed with the stored index number according to a defined tolerance.
0. 57. The system, as recited in claim 54, wherein the processor detects a reset responsive to not receiving an encrypted data stream.
0. 58. The system, as recited in claim 54, wherein the processor detects a reset responsive to a change in an odd/even flavor associated with the encrypted data stream.
0. 59. The system, as recited in claim 54, wherein the descrambler is further configured to block an encrypted data stream responsive to the deciphered seed being invalid.
0. 61. The computer-implemented method as recited in claim 60, wherein an index number (i) corresponds to a stored index number (i0) when the index number (i) is equal to i0 or i01.
0. 62. The computer-implemented method as recited in claim 60, further comprising resetting, by the content receiver, a descrambler configured to descramble the encrypted data stream.
0. 63. The computer-implemented method as recited in claim 60, further comprising blocking, by the content receiver, one or more encrypted data packets associated with the restored encrypted data stream.
0. 64. The computer-implemented method as recited in claim 60, further comprising deciphering, by the content receiver, at least one authorization stream to acquire an encryption seed.
0. 65. The computer-implemented method as recited in claim 60, further comprising waiting, by the content receiver, to receive an addressed ciphered seed responsive to the index number not corresponding to the stored index number.

This application claims the benefit of U.S. Provisional Application Ser. No. 60/482,235 filed Jun. 25, 2003.

Not Applicable.

1. Field of the Invention

This invention relates generally to satellite broadcast systems and, more particularly, to a conditional access system for encrypting and decrypting data.

2. Related Art

A conditional access system is used to permit access to a transport stream only to subscribers who have paid for it. This is generally done by distributing the transport stream in encrypted form. Although any integrated receiver-decoder (IRD) that is connected to a satellite broadcast network can receive the encrypted transport stream, only the IRDs of those authorized subscribers are able to decrypt the encrypted transport stream. The IRD determines whether the encrypted transport stream should be decrypted and, if so, to decrypt it to produce a decrypted transport stream comprising information making up the broadcast program.

After a subscriber has purchased a service, a service provider sends messages to the subscriber's IRD with an authorization stream for the purchased services. The authorization stream may be sent with the transport stream or may be sent via a separate channel to an IRD. Various techniques have been used to encrypt the authorization stream. The authorization stream may include a seed as a key for a service of the service provider and an indication of what programs in the service the subscriber is entitled to receive. If the authorization stream indicates that the subscriber is entitled to receive the program of an encrypted transport stream, the IRD decrypts the encrypted transport stream using the received seed.

A well known problem concerning such conditional access systems is that the IRDs may suffer either carrier fades or be switched between carriers bearing the same instantiation of the service provider. It is therefore desirable for the IRDs to recover and pass a correctly decrypted transport stream to downstream processing stages as quickly as possible. However, the magnitude of time delay in the recoveries, on a typical large network (12,000 satellite IRDs) can be extremely long, such as one or two minutes in legacy systems. Other implementations of conditional access solve the problem of quick restoration of the IRD's decrypter by either risking that still-scrambled material may inadvertently be passed to the downstream processing stages, or consuming far more bandwidth in the transport stream to send cyphered seeds.

Hence, there is a need in the industry for an efficient and reliable technique for rapidly decrypting data after brief or extended loss of transport or authorization streams due to short carrier fades or switches. For that purpose, the conditional access system should allow the IRDs to quickly determine, after restoration of the data link following a carrier fade or switch, whether their stored copies of the decryption seeds are still current and correct. Furthermore, it is needed to greatly reduce the likelihood that the carrier fade or switch could prevent the IRD from getting at least one copy of its own messages without the need for consuming large amounts of bandwidth.

It is in view of the above problems that the present invention was developed. The present invention is a satellite broadcast conditional access system with key synchronization that allows the IRDs to quickly restart the decrypting process after short carrier fades and after carrier switches when they are within the same protected network. The invention uses an indexed authorization stream allowing the IRDs to quickly decide, after restoration of the data link following a carrier fade or switch, whether their stored copies of the decrypting seeds are still current and correct. The invention also uses multiple transmissions of the cyphered seeds during each distribution period providing the IRD with multiple opportunities to receive the current seed.

For the first attribute, the index numbers on all the authorization streams are assigned in a manner such that the authorization stream may be identified and that the specific time epoch of those cyphered seeds may be determined. When a conditional access server program initializes, it randomly selects the starting index number from a domain of numbers, and applies this number to each and every authorization stream bearing a cyphered seed. Then, while in operation, it increments that index by a predefined value at each new distribution period, i.e., an odd/even flavor switch according to the preferred embodiment. The IRDs, in their turn, after reestablishing connection to the carrier-borne transport stream, may quickly retrieve the index numbers being issued in the authorization stream and compare them to the same for both flavors of the cyphered seeds it keeps in volatile storage. If those numbers match, then the IRD will then immediately decypher those seed(s) and restart decrypting on the transport stream knowing it is using the correct seed. This restart may commence very quickly after the authorization stream is detected, and that the IRD need not wait until its own messages are received and decyphered.

For the second attribute, the distribution of the cyphered seeds is repeatedly sent with considerable delay between the cyphered seed messages. This greatly reduces the likelihood that a carrier switch or a short fade could prevent the IRD from getting at least one copy of its own cyphered seed message during each distribution period.

Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.

The accompanying drawings, which are incorporated in and form a part of the specification, illustrate the embodiments of the present invention and together with the description, serve to explain the principles of the invention. In the drawings:

FIG. 1 illustrates a systematic diagram of a satellite broadcast conditional access system according to the present invention;

FIG. 2 illustrates a flowchart of operations that are performed at a conditional access server to generate authorization stream sent to cryptographic multiplexers;

FIG. 3 illustrates a diagram of how authorization stream is structured during a flavor distribution period;

FIG. 4 illustrates a flowchart of operations that are performed to decypher authorization stream and encrypt transport stream using an encryption seed at a cryptographic multiplexer;

FIG. 5 illustrates a flowchart of operations that are performed at an IRD to decypher authorization stream and maintain IRD synchronization to the conditional access system in steady state operation;

FIG. 6 illustrates a diagram of conditional access system timing for key synchronization when an authorization stream is distributed and a transport stream is encrypted at the cryptographic multiplexer and decrypted at the IRD; and

FIG. 7 illustrates a flowchart of operations that are performed at the IRD to rapidly decrypt data by key synchronization and indexing after brief or extended loss of transport stream.

Referring to the accompanying drawings in which like reference numbers indicate like elements, FIG. 1 illustrates a systematic diagram of a satellite broadcast conditional access system 10 according to the present invention. The conditional access system 10 provides dynamic scrambling security to an entire MPEG transport stream 12. The conditional access system 10 generally consists of a server 14 and receivers 20. In a preferred embodiment of the invention, the server 14 is comprised of a conditional access server 16 and cryptographic multiplexers 18. The receivers 20 are generally referred to as integrated receiver-decoders (IRDs) 20.

The encryption function 22 in the conditional access server 16 provides an authorization stream 24 bearing cyphered messages which can only be decyphered and read by authorized devices. These messages give the cryptographic multiplexers 18, at the satellite uplink, and the authorized IRDs 20, at the downlink sites, a sequence of cyphered encrypting seeds. The cryptographic multiplexers 18 extract their own cyphered encryption seeds using their own serial number, and their decrypter 26 decyphers the cyphered encrypting seeds to get an encryption seed. These seeds initialize scrambler 28, in the cryptographic multiplexers 18 which appears to randomly encrypt the encrypt able portions of the MPEG transport stream 12. The authorization stream 24 and the encrypted transport stream 30 are transmitted through an interposed satellite broadcast network 31 by the multiplexer 32 and received by the input module 34 of the IRDs 20. Like the cryptographic multiplexers 18, the host microprocessor 36 of IRDs extract their own cyphered encryption seeds using their own serial number, and their decrypters 38 decypher the cyphered encrypting seeds to get an original encryption seed. Since the encrypting operation is symmetric, the encrypting seed sent to the IRDs 20 allows descrambler 40 to decrypt the transport stream encrypted by the cryptographic multiplexer 18.

At the uplink site, a conditional access server 16 runs the conditional access system 10. It can retrieve database information 41 from a conditional access database 42 by a network connection to the conditional access server 16 if on separate machines. This information is used to build and edit a list of authorized IRDs 20 by serial number n 102 under local operator control. FIG. 2 illustrates a flowchart of operations that are performed at a conditional access server 16 to generate authorization stream 24 sent to cryptographic multiplexers 18. At initialization, or after any change to the authorized list, the conditional access server 16 accesses its encryption function 22 (operation 200). This function contains a secret identification number W 112 unique to the particular customer (operation 210). In the case where the conditional access system 10 is controlled by a service provider and one or more customers are using the system, the secret identification number is only known by each respective customer and is not known to or accessible by any person at the service provider. The serial numbers 102 are reported to the encryption function 22 (operation 200) and, for each one, the encryption function 22 finds the encrypted serial number Sn 114 by implementing the function Sn=F (W∥n); where ‘∥’ is the concatenation operator, and where “F( )” is a one-way hash function, i.e., a function that is computationally easy to perform in one direction, but extremely difficult to reverse (operation 210). The encryption function 22 then provides the Sn's 114 to the conditional access server 16.

When the conditional access server's encryption engine is activated, it generates a sequence of random numbers Ki 122 and associated index numbers i 124 (operation 220). While each Ki in the sequence is independently random, the i values preferably begin with a randomly selected number, i.e., the initial index number is randomly generated. In a preferred embodiment of the invention, the i index then increments by a given value, preferably one, for each new (Ki,i) pair 122, 124 that is generated. For each pair 122, 124 in the sequence, the conditional access server 16 creates a cyphered message for every authorized IRD 20 plus all encrypting cryptographic multiplexers 18. It does this using the list of secret serial numbers Sn 114. Each cyphered message (CM) contains a value Cni 126, the index i, 124 the destination unit serial number n 102, and an even/odd flavor indicator 128. The value Cni is calculated (operation 220): Cni=Ki xor F(Sn∥i) and it is called the cyphered seed 126. After the entire set of cyphered messages is distributed, the conditional access server 16 sends either an encryption ON or OFF message 130, addressed to all. The aggregate of all these messages (Cni 126, i 124, n 102, an even/odd flavor indicator 128, an encryption ON or OFF message 130) is generally called the authorization stream 24. This stream then feeds the cryptographic multiplexers 18 (operation 230).

The authorization stream 24 is preferably structured as shown in FIG. 3. The time interval over which cyphered messages are used to distribute a (Ki,i) pair 122, 124 to the universe of IRDs 20 and cryptographic multiplexers 18 is the odd/even flavor distribution period 142. Within this period, all the cyphered messages 144 intended for the downlink IRDs 20 are sent first as an ordered group. The ordered group is a set of cyphered messages (CM1, CM2, . . . , CMm) corresponding with the group of IRDs (IRD1, IRD2, . . . , IRDm), respectively. For each distribution period, the cyphered messages will all contain the same index number and even/odd flavor indicator, but will vary according to the IRDn serial numbers (Sn1, Sn2, . . . , Snnm). Of course, the cyphered seed 126 will also vary according to the different serial numbers based on operation 220. Then that whole set of messages 146 is repeated in the same order. Following this, there is a delay period 148 where no messages are transmitted. Then cyphered messages 150 addressed to all the cryptographic multiplexers 18 listed in the conditional access database 42 are sent, in order, just once. This is followed preferably, without delay, by some number of encryption ON or OFF commands 130. After this, there is another delay 154 before transmission of the next (Ki,i) pair 122, 124 begins, which preferably has the opposing odd/even flavor 156.

In a preferred embodiment of the invention, the conditional access system 10 may be in one of three states. They are (1) encryption off; (2) encryption on and starting up; (3) encryption on static. In the first state, the engine continues to create the (Ki,i) pairs 122, 124, but only a single encryption off authorization message is sent at the end of each distribution period. In the second state, the engine begins distribution of the encrypting seeds. At the end of the first two distribution periods, the conditional access server 16 sends an encryption off message 130 to all devices. After the second state, the conditional access system 10 enters the third state. Here, after the seeds have been distributed to the IRDs 20 and cryptographic multiplexers 18, an encryption on message 130 is sent to all devices. Note that there is no similar transition from the encryption on state to the off state. As soon as the user orders encryption to stop, distribution of new seeds ceases immediately and the very next authorization message sent is an encryption off message 130.

In the preferred embodiment of the invention, the list of all cryptographic multiplexers 18 which may do encryption is found in the associated conditional access database 42. The presence or absence of the cryptographic multiplexer 18 from conditional access system's authorized list does not mean the same thing as the presence or absence of an IRD 20, as shall be seen. If a cryptographic multiplexer 18 is in the conditional access database 42, then, when the conditional access state is encryption on, the cryptographic multiplexer 18 will always be receiving addressed authorization messages from the conditional access system 10. However, the cryptographic multiplexer behavior is then affected by the conditional access mode in use while encryption is on. In the preferred embodiment of the invention, only the authorized cryptographic multiplexers 18 receive addressed encryption on commands, while the unauthorized cryptographic multiplexers (in the conditional access database but not authorized in conditional access) receive addressed encryption off commands. For all networks logically connected to those unauthorized cryptographic multiplexers 18, this has the effect of leaving them completely in the clear (unencrypted).

The cryptographic multiplexer 18 has three functions within the conditional access system 10: (1) to receive and decypher the next encrypting seed, (2) to encrypt the required program IDs (PIDs) in the MPEG transport stream 12 using that seed, and to (3) inject the authorization stream into a ghost PID of the transport stream for use by the authorized IRDs. In support of these functions, the cryptographic multiplexer 18 accepts the authorization stream 24 from the conditional access server 16. In addition, it accepts an MPEG transport stream 12, provides the encrypting processing, and then outputs it, preferably for ultimate distribution to a network of downlink IRDs 20.

FIG. 4 illustrates a flowchart of operations that are performed to decypher authorization stream 24 and encrypt transport stream 12 using an encryption seed 122 at a cryptographic multiplexer 18. Near the end of the flavor distribution period 142 of a particular odd/even flavor 128, there is sequence of authorization streams 24 directed to cryptographic multiplexers 18. If the host processor in a cryptographic multiplexer receiving the stream detects it's own unit serial number n 102 in an authorization stream 24 (operations 400 and 410), then that stream is passed to a decrypter 26. This decrypter, when it was programmed at the factory, had been given the unit's pre-calculated, encrypted serial number Sn 114. This is the same Sn also calculated by the encryption function 22 in the conditional access server 16. So the decrypter 26 then takes the incoming (Cni,i) pair and computes the corresponding Ki 122 from the equation (operation 420): Ki=Cni xor F(Sn∥i). This is the same Ki value which originated in the conditional access server 16. It is an encryption seed value 122, which is then loaded into the encrypting hardware, scrambler 28.

In a preferred embodiment of the invention, once the new encryption seed value is available, the host processor immediately sets the scrambler 28 to begin encrypting using that value if (1) the conditional access server 16 has previously sent an encryption ON command 130 more recently than an encryption OFF command, and (2) the cryptographic multiplexer 18 has been set to accept those commands. The encryption seed value used for encrypting is the starting state of a linear feedback shift register (LFSR) generator of the scrambler 28 (operation 430), a device which creates a pseudo-random bit sequence. This sequence of bits is XOR'd with several of the low-order bits in nearly every byte of the payload of the eligible MPEG packets 12, not including the authorization stream-carrying packets. The encryption bit on those packets is then set to indicate to IRD descrambler 40 that those packets are encrypted. In addition, the even-odd bit is set to show which flavor of seed was used to do that encrypting. When the next encryption seed is received by the cryptographic multiplexer 18, it will have the opposing flavor, and when transport streams are encrypted using that new encryption seed, the odd-even bit in the transport streams is toggled to that new opposing state.

While the cryptographic multiplexer 18 is decyphering new encryption seeds and using them to encrypt the transport stream 12, it is also injecting the authorization stream 24 into the transport (operation 440). This operates as a simple logical pipe from the cryptographic multiplexer host processor to all the IRD host processors 36. The authorization stream 24 is inserted as the payload into MPEG packets. As these packets are built, they are queued within the cryptographic multiplexer 18. Each authorized IRD 20 in the receiving network has three tasks to perform within this conditional access system 10: (1) extract and decypher its own authorization streams to get new encryption seeds, (2) decrypt the encrypted transport stream packets 30 and pass the new clear packets to the payload processing portion of the IRD 20, and (3) achieve and maintain synchronization to the timing of the cryptographic multiplexer scrambler 28, to ensure that decrypting is done with the correct seed.

FIG. 5 illustrates a flowchart of operations that are performed at an IRD 20 to decypher authorization stream 24 and maintain IRD synchronization to the conditional access system 10 in steady state operation. In each IRD 20 receiving the encrypted transport stream 30, the authorization stream 24 is demultiplexed out by the transport demux chip 44 (operation 500). This stream 24 is passed to the local host microprocessor 36 and it extracts the secret (Cni,i) 126, 124 message addressed to that particular unit by serial number 102 (operation 510). In a preferred embodiment of the invention, every IRD's (Cni,i) message is sent twice (refer to FIG. 3), which greatly reduces the likelihood that a carrier switch or a short fade could prevent the IRD 20 from getting at least one copy of its own cyphered seed message during each flavor distribution period. As received, cyphered messages are passed to the decrypter 38. This decrypter 38 is preferably identical to the decrypter 26 installed in cryptographic multiplexers 18. It proceeds to decypher the new Ki seed values 122 in the same manner as the decrypter 26 within the cryptographic multiplexer 18 (operation 520). Those new seeds are then loaded to the odd/even flavor register in the descrambler 40 corresponding to that seed's flavor (operation 530). When this is done, a flag is set in the descrambler 40 to signal that a new valid seed of a particular odd/even flavor is available.

As described above, the IRD 20 detects authorization streams 24 addressed to itself and routes the enclosed (Cni,i) pair 126, 124 to the decrypter 38. In addition, it maintains a circular buffer in volatile memory where the last messages received of each odd/even flavor are stored. When new messages are received, they overwrite the previous message of the same flavor. The purpose of this, which shall be discussed in more detail below, is to provide a way for IRDs 20 to recover from brief losses of transport stream input and, of course, loss of the authorization stream as well.

The IRD 20 accepts an incoming MPEG transport stream 12, either from a satellite carrier or from a terrestrial interface. It applies a process of decrypting the transport stream which is essentially identical to the encrypting operation. The payload of the transport stream packets are XOR'd by the same pseudo-random bit sequence which encrypted them jin the cryptographic multiplexer 18. This process restores the payloads of those transport stream packets back to the clear or normal state. Those packets are then routed to the downstream processing circuitry 46 within the IRD 20.

IRD synchronization to the conditional access system 10 differs depending on the state of the system. Steady state operation of an authorized IRD 20 and the several transient states are discussed in detail below: (1) authorization by conditional access system, (2) de-authorization by conditional access system, (3) brief transport stream loss, and (4) extended transport stream loss.

In steady state operation of the system, authorization streams bearing the cyphered seeds of a particular flavor are distributed to the cryptographic multiplexers 18 and IRDs 20 while those same units are encrypting and decrypting with the previously distributed seed of the opposing odd/even flavor. Within the IRDs themselves, the synchronization is maintained as follows. When a seed of a particular flavor is received, decyphered, and loaded to the IRD 20, an X_SEED_WRITTEN flag is SET within the IRD 20 (where X designates the seed's odd/even flavor). When the IRD detects that the odd/even flavor bit in the incoming encrypted transport streams changes (operation 540, referring to FIG. 5), it looks to see if the X_SEED_WRITTEN flag corresponding to the new flavor is set (test 550). If so, it knows it has a valid seed for that new flavor, and it begins decrypting immediately (operation 560). If not, it blocks all incoming encrypted transport streams 30 from entering the IRD demux chip 44 and clears the X_SEED_WRITTEN flag (operation 570). When the very next flavor change occurs in the incoming encrypted transport packet stream 30, that same flag clears in anticipation of the distribution of the next seed of that flavor.

FIG. 6 illustrates a diagram of conditional access system timing for key synchronization when an authorization stream is distributed and a transport stream is encrypted at the cryptographic multiplexer 18 and decrypted at the IRD 20. The new odd seed is written to odd seed register 158, setting the ODD_SEED_WRITTEN flag. At that moment, the incoming transport stream is still being encrypted with the previous even seed 160 at the cryptographic multiplexer 18 during an even flavor period 162. Later, the transport stream flavor 128 switches from even to odd. The odd seed then begins being used to decrypt at the IRD 20 during an odd flavor period 164. At the next flavor switch within the transport stream, from odd back to even, the ODD_SEED_WRITTEN flag will be cleared. But the authorization stream distribution period 164 for odd seeds is just beginning, and soon a new odd seed will be received, setting the flag once again. At that time, new even seed is written to even seed register 166, setting the EVEN_SEED_WRITTEN flag.

When an IRD 20 is unauthorized in the conditional access system 10, it does not receive the cyphered authorization streams, addressed to itself, bearing its own (Cni,i) value pair. Without the (Cni,i) pair 126, 124, seeds cannot be decyphered, so the X_SEED_WRITTEN flags remain continuously clear, and the IRD removes all incoming encrypted transport streams and substitutes null streams. When the IRD 20 is first authorized in the conditional access system 10, authorization streams addressed to it begin to be received. In the flavor distribution period corresponding to the first addressed stream received by the IRD 20, the IRD basically performs the following steps: (1) a seed of a particular flavor is later received, decyphered, and loaded to the descrambler 40, setting that respective X_SEED_WRITTEN flag; (2) the odd/even flavor bit in the incoming encrypted transport stream packets later changes over to that flavor; and (3) the seed is used to decrypt the encrypted transport streams. Starting with the steady state described earlier, when an RD 20 is de-authorized by conditional access system 10, it stops receiving authorization streams.

Since the IRDs 20 may suffer either short carrier fades or deliberate carrier switches between carriers bearing the same instantiation of a conditional access system 10, transport streams could be briefly lost. FIG. 7 illustrates a flowchart of operations that are performed at the IRD 20 to rapidly decrypt data by key synchronization and indexing after brief or extended loss of transport stream. When the transport stream is first lost (operation 700), the IRD host 36 resets the descrambler 40 (operation 710). This clears the X_SEED_WRITTEN flags and will block encrypted transport packets from entering the IRD demux chip 44. But, authorization stream will not be blocked. Later, when the host 36 detects the restored transport stream (operation 720), it will begin monitoring the authorization stream channel (if available). The first authorization stream 24 detected, even if not addressed to itself, will be examined for its i index 124 and its odd/even flavor 128 (operation 730). The IRD host 36 will then exploit the simple knowledge that if the currently distributed encryption seed has an index of i0, then the current encrypting is being done using the seed associated with index i0−1. If either of the stored authorization streams has an i index value equal to either i0 or i0−1 l (test 740), then the assumption is made that (1) the new transport stream bears the same authorization stream as before and (2) the IRD 20 already has the stored authorization streams corresponding at least to the current seed being used to encrypt. In this case, the IRD 20 then progresses through the following sequence: (1) the stored authorization streams whose i index values equal i0 or i0−1 are sent by the IRD host 36, in order of increasing magnitude, to the decrypter 38; (2) the decrypter 38 decyphers one or two authorization streams and the Ki 122 results are loaded to the respective odd/even flavor encrypting register(s) (operation 750); (3) the X_SEED_WRITTEN flags corresponding to whichever flavor seed(s) was/were loaded are set; (4) the next arriving encrypted transport stream is treated as if it was logically an odd/even flavor change and, if the X_SEED_WRITTEN flag for the new incoming encrypting flavor is set; (5) the IRD descrambler 40 commences to decrypt all the incoming encrypted transport streams (operation 760). The IRD then functions as described in the steady state operation.

For all losses of transport streams, the X_SEED_WRITTEN flags are cleared, the IRD host 36 resets the descrambler 40. As just described, when the transport stream is restored, the IRD host 36 examines the first authorization streams received. In the case where the first incoming authorization stream's i index value is not exactly equal to, or is not equal to one more than either of the i index values in the stored authorization streams, then the IRD host 36 assumes that the stored cyphered seeds are unusable. From then on, it behaves as if it had just boot up. The IRD 20 remains unauthorized until the IRD first gets an addressed cyphered seed through authorization stream and, thence until the succeeding transport encrypting flavor switch. Note that this holds true if the IRD 20 switched to an encrypted transport stream with a different authorization stream, or if the IRD 20 has been disconnected from the original authorization stream for an extended period. In a preferred embodiment of the invention, an extended period would be any outage exceeding half of the difference between flavor distribution period 142 and the total delays 148, 154 where double-sending of the cyphered seeds is employed (referring to FIG. 3). Failing to use double-sending of the seeds could cause an IRD 20 to miss its current seed distribution on even the shortest outages. In this case, the IRD 20 will appear to initially recover after an outage, but revert to unauthorized at the next flavor switch and remain that way through that next flavor distribution period.

In view of the foregoing, it will be seen that the several advantages of the invention are achieved and attained. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.

As various modifications could be made in the constructions and methods herein described and illustrated without departing from the scope of the invention, it is intended that all matter contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative rather than limiting. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims appended hereto and their equivalents.

Kennedy, Kevin, Pelkey, Gary L., Olivier, Steve, Placek, David M.

Patent Priority Assignee Title
Patent Priority Assignee Title
4518989, Nov 24 1978 Nippon Telegraph & Telephone Corporation Buffer memory dispersion type video/audio transmission system with spatially and timewise divided inter-office junction lines
4538176, Nov 24 1978 Hitachi, Ltd.; Nippon Telegraph & Telephone Public Corporation Buffer memory dispersion type video/audio transmission system
4578531, Jun 09 1982 AT&T Bell Laboratories Encryption system key distribution method and apparatus
4719364, Oct 01 1985 PULIZZI ENGINEERING, INC , 3260 S SUSAN STREET, SANTA ANA, CA 92704-6865 Multiple time delay power controller apparatus
4723283, Jun 28 1985 Sony Corporation Data transmission system
4761785, Jun 12 1986 International Business Machines Corporation Parity spreading to enhance storage access
4864615, May 27 1988 GENERAL INSTRUMENT CORPORATION GIC-4 Reproduction of secure keys by using distributed key generation data
4887296, Oct 26 1984 GENERAL INSTRUMENT CORPORATION GIC-4 Cryptographic system for direct broadcast satellite system
4903031, Mar 26 1985 Trio Kabushiki Kaisha Satellite receiver
4930062, Sep 14 1988 NEC Corporation Computer power supply with optically isolated shutdown circuits
4985895, Nov 14 1988 WEGENER COMMUNICATIONS, INC Remote controlled receiving system apparatus and method
5019910, Jan 29 1987 NORSAT INTERNATIONAL, INC , #302-12886 78TH AVE , SURREY, BRITISH COLUMBIA, CANADA V3W 8E7 Apparatus for adapting computer for satellite communications
5029232, Jan 12 1989 Level 3 Communications, LLC Satellite communications network
5036537, Nov 19 1984 GENERAL INSTRUMENT CORPORATION GIC-4 Geographic black-out method for direct broadcast satellite system
5046092, Mar 29 1990 Verizon Laboratories Inc Video control system for transmitted programs
5054064, Mar 29 1990 Verizon Laboratories Inc Video control system for recorded programs
5235643, May 21 1991 GENERAL INSTRUMENT CORPORATION GIC-4 Satellite receiver retuning system
5367571, Dec 02 1992 Cisco Technology, Inc Subscriber terminal with plug in expansion card
5381481, Aug 04 1993 Cisco Technology, Inc Method and apparatus for uniquely encrypting a plurality of services at a transmission site
5404505, Nov 01 1991 II-VI DELAWARE, INC System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
5410326, Dec 04 1992 LOGITECH EUROPE S A Programmable remote control device for interacting with a plurality of remotely controlled devices
5421017, Jan 18 1993 Siemens Aktiengesellschaft Real time control system and method for replacing software in a controlled system
5440632, Dec 02 1992 Cisco Technology, Inc Reprogrammable subscriber terminal
5485577, Dec 16 1994 Google Technology Holdings LLC Method and apparatus for incremental delivery of access rights
5550576, Apr 17 1995 Rovi Guides, Inc Method and apparatus for merging television program schedule information received from multiple television schedule information sources
5594490, May 23 1994 ARRIS ENTERPRISES LLC System for distributing video/audio files from central location to a plurality of cable headends
5644354, Oct 09 1992 Rovi Guides, Inc; TV GUIDE, INC ; UV CORP Interactive video system
5651115, Dec 28 1993 Sony Corporation Apparatus for supplying a leading-end signal from leading-end memory means thereafter supplying the corresponding information signal from a storage means via a buffer means
5657414, Dec 01 1992 Cisco Technology, Inc Auxiliary device control for a subscriber terminal
5684525, Apr 17 1995 Rovi Guides, Inc Merging multi-source information in a television system
5694334, Sep 08 1994 Megawave Audio LLC Method and apparatus for electronic distribution of digital multi-media information
5712969, Sep 24 1993 Robert Bosch GmbH Method for completely reprogramming an erasable, non-volatile memory
5717887, Jul 28 1995 EMC Corporation System for the automatic substitution of control firmware embedded in a removable disk drive
5751950, Apr 16 1996 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Secure power supply for protecting the shutdown of a computer system
5754938, Nov 29 1994 Pinpoint Incorporated Pseudonymous server for system for customized electronic identification of desirable objects
5761406, Jul 31 1992 FUJI XEROX CO , LTD Method of controlling data transfer and a safe shutdown in a hierarchical cache system during power cut-off
5764773, Nov 05 1993 Kabushiki Kaisha Toshiba Repeating device, decoder device and concealment broadcasting
5799083, Aug 26 1996 Mineral Lassen LLC Event verification system
5805705, Jan 29 1996 International Business Machines Corporation Synchronization of encryption/decryption keys in a data communication network
5815409, Nov 30 1995 Samsung Electronics Co., Ltd. Control system and method for automatic shutdown of a power supply
5815662, Aug 15 1996 ONG CORPORATION Predictive memory caching for media-on-demand systems
5828402, Jun 19 1996 QUARTERHILL INC ; WI-LAN INC Method and apparatus for selectively blocking audio and video signals
5828945, Mar 28 1996 Rovi Guides, Inc Merging multi-source information in a television system
5864621, Jan 08 1992 Google Technology Holdings LLC Broadband television scrambling and descrambling system
5872846, Nov 07 1996 Verizon Patent and Licensing Inc System and method for providing security in data communication systems
5886733, May 17 1996 OPENTV, INC Method and apparatus for successive refinement of broadcasted video frames
5892767, Mar 11 1997 Cisco Systems, Inc Systems and method for multicasting a video stream and communications network employing the same
5898695, Mar 29 1995 Hitachi Maxell, Ltd Decoder for compressed and multiplexed video and audio data
5903766, May 17 1991 NEC Corporation Suspend/resume capability for a protected mode microprocessor
5917915, Jun 24 1994 Sony Corporation Scramble/descramble method and apparatus for data broadcasting
5918059, Aug 15 1997 Hewlett Packard Enterprise Development LP Method and apparatus for responding to actuation of a power supply switch for a computing system
5920626, Dec 20 1996 Cisco Technology, Inc Analog/digital system for television services
5923362, Mar 28 1996 Rovi Guides, Inc Merging multi-source information in a television system
5930515, Sep 30 1997 Cisco Technology, Inc Apparatus and method for upgrading a computer system operating system
5936660, Dec 12 1996 ENTROPIC COMMUNICATIONS, INC ; Entropic Communications, LLC Digital video converter box for subscriber/home with multiple television sets
5973723, Dec 12 1997 Selective commercial detector and eliminator apparatus and method
5987518, Oct 28 1996 Google Technology Holdings LLC Method and apparatus for communicating internet protocol data over a broadband MPEG channel
5987519, Sep 20 1996 Georgia Tech Research Corporation Telemedicine system using voice video and data encapsulation and de-encapsulation for communicating medical information between central monitoring stations and remote patient monitoring stations
5991800, May 22 1997 Google Technology Holdings LLC Method and apparatus for providing internet service at a subscriber premise
5999654, Jul 17 1996 SOCIONEXT INC Image processor capable of transferring image data from an input buffer to memory at a high rate of speed
6023723, Dec 22 1997 Comcast IP Holdings I, LLC Method and system for filtering unwanted junk e-mail utilizing a plurality of filtering mechanisms
6025869, Jan 05 1995 Music Corporation Video viewing supervision system
6026439, Oct 28 1997 International Business Machines Corporation File transfers using playlists
6040781, May 26 1998 Google Technology Holdings LLC Event reminder for a communication device
6040850, Oct 09 1996 Electronics and Telecommunications; Research Institute Korea Telecom Method for interfacing between transmitter and receiver of digital broadcasting system through satellite
6044205, Feb 29 1996 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
6054920, Oct 15 1996 UTC Fire & Security Americas Corporation, Inc Alarm system receiver supervisor
6067300, Jun 11 1998 Extreme Networks, Inc Method and apparatus for optimizing the transfer of data packets between local area networks
6072983, Apr 17 1995 Rovi Guides, Inc Merging multi-source information in a television system
6094671, Oct 09 1996 HANGER SOLUTIONS, LLC Aggregate information production and display system
6097662, Aug 07 1998 Mitsubishi Denki Kabushiki Kaisha Dynamic semiconductor memory device with low power consumption mode increasing electrostatic capacity of memory cell than in normal operation mode
6101180, Nov 12 1996 TUMBLEWEED HOLDINGS LLC High bandwidth broadcast system having localized multicast access to broadcast content
6113652, Apr 27 1995 FOURNIER ASSETS LIMITED LIABILITY COMPANY Communications network equipment capable of non-disruptive software upgrade
6115824, Apr 18 1997 SAMSUNG ELECTRONICS CO , LTD Apparatus and a method for avoiding the accidental termination of computer power
6134589, Jun 16 1997 Telefonaktiebolaget LM Ericsson Dynamic quality control network routing
6154745, Dec 31 1996 Nokia Technologies Oy Method for transmission of information to the user
6157722, Mar 23 1998 INTERLOK KEY MANAGEMENT, LLC Encryption key management system and method
6163809, Dec 08 1997 Microsoft Technology Licensing, LLC System and method for preserving delivery status notification when moving from a native network to a foreign network
6169802, Dec 17 1996 Google Technology Holdings LLC Dynamic private key security system for personal messaging devices
6173330, Sep 17 1996 Google Technology Holdings LLC Delivery and acquisition of data segments with optimized inter-arrival time
6182187, Apr 07 1993 Hewlett Packard Enterprise Development LP System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
6219422, Mar 19 1997 Sony Corporation Data transmitting apparatus, receiving apparatus, and data transmission and reception system
6222923, Dec 15 1997 Deutsche Telekom AG Method for securing system protected by a key hierarchy
6230163, Aug 20 1997 U S PHILIPS CORPORATION Transient datastream-processing buffer memory organization with software management adapted for multilevel housekeeping
6240188, Jul 06 1999 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
6246752, Jun 08 1999 NICE SYSTEMS, INC System and method for data recording
6250930, May 30 1997 Picante Communications Corporation Multi-functional communication and aggregation platform
6252652, Sep 16 1997 Lifetouch Portrait Studios, Inc. High speed package printer
6253027, Jun 17 1996 Hewlett Packard Enterprise Development LP System, method and article of manufacture for exchanging software and configuration data over a multichannel, extensible, flexible architecture
6262982, Nov 12 1996 TUMBLEWEED HOLDINGS LLC High bandwidth broadcast system having localized multicast access to broadcast content
6266339, Nov 12 1997 TUMBLEWEED HOLDINGS LLC High bandwidth broadcast system having localized multicast access to broadcast content
6266810, Apr 17 1997 MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD Remote program downloading system and apparatus
6272549, May 27 1998 Hewlett Packard Enterprise Development LP Method for using electronic mail for exchanging data between computer systems
6292586, Sep 12 1995 Fujitsu Limited Arithmetic unit, correlation arithmetic unit and dynamic image compression apparatus
6317162, Oct 29 1998 Sanyo Electric Co., Ltd. Digital television receiver including non-volatile memory
6331876, Nov 12 1996 TP VISION HOLDING B V HOLDCO Method of updating software in a video receiver
6332198, May 20 2000 Ciena Corporation Network device for supporting multiple redundancy schemes
6343379, Mar 24 1998 Saturn Licensing LLC Receiver and program updating method
6351524, Jan 20 1999 Hewlett Packard Enterprise Development LP Toll saving method and apparatus for a remote access system
6359636, Jul 17 1995 Gateway, Inc Graphical user interface for control of a home entertainment system
6373948, Aug 15 1997 WSOU Investments, LLC Cryptographic method and apparatus for restricting access to transmitted programming content using program identifiers
6377981, Nov 20 1997 CYBERSTAR, LLC Modular digital data communication cyberstation and cyberserver
6378129, Mar 30 1998 International Business Machines Corporation Video server content synchronization
6385647, Aug 18 1997 Verizon Patent and Licensing Inc System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
6393585, Dec 23 1998 SYNAMEDIA LIMITED Method and apparatus for restoring operating systems in a set-top box environment
6400265, Apr 24 2001 ALARM COM INCORPORATED System and method for monitoring security systems by using video images
6401242, Dec 15 1997 Google Technology Holdings LLC Method and apparatus for designating a preferred source to avoid duplicative programming services
6411616, Nov 12 1996 TUMBLEWEED HOLDINGS LLC High bandwidth broadcast system having localized multicast access to broadcast content
6415329, Mar 06 1998 Massachusetts Institute of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
6421674, Feb 15 2000 Genband US LLC; SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT Methods and systems for implementing a real-time, distributed, hierarchical database using a proxiable protocol
6424714, Dec 04 1995 Scientific-Atlanta, LLC Method and apparatus for providing conditional access in connection-oriented interactive networks with a multiplicity of service providers
6424717, Apr 03 1995 TECH 5 SAS Encryption devices for use in a conditional access system
6425127, Jan 13 2000 International Business Machines Corporation Method and system for controlling visual access by a user to broadcast video segments
6430223, Nov 01 1997 LG Electronics Inc. Motion prediction apparatus and method
6449634, Jan 29 1999 ZETA GLOBAL CORP Method and system for remotely sensing the file formats processed by an E-mail client
6463059, Dec 04 1998 CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
6466765, Sep 07 1998 K.K. Video Research Portable radio listening status recorder
6467093, Feb 04 1998 Saturn Licensing LLC Method and apparatus for receiving digital broadcasts
6470496, Aug 03 1998 Matsushita Electric Industrial Co., Ltd. Control program downloading method for replacing control program in digital broadcast receiving apparatus with new control program sent from digital broadcast transmitting apparatus
6477647, Feb 08 1999 Cisco Technology, Inc System and method for providing trade confirmations
6487589, Dec 22 1997 MAXELL, LTD Information device, information device system control method, and information device system
6487721, Jan 30 1998 Google Technology Holdings LLC Apparatus and method for digital advertisement insertion in a bitstream
6487723, Feb 14 1996 TECH 5 SAS Multicast downloading of software and data modules and their compatibility requirements
6490353, Nov 23 1998 Data encrypting and decrypting apparatus and method
6493871, Sep 16 1999 Microsoft Technology Licensing, LLC Method and system for downloading updates for software installation
6493876, Feb 19 1997 Time Warner Cable Enterprises LLC System and method for providing a full service television system
6510454, Apr 21 1998 Intel Corporation Network device monitoring with E-mail reporting
6515376, Jul 01 1998 Knorr-Bremse Systeme für Schienenfahrzeuge GmbH Device for supplying current and/or voltage to a vehicle trailer for the supply of brake components
6516412, Apr 03 1995 TECH 5 SAS Authorization of services in a conditional access system
6516467, Jul 17 1995 Gateway, Inc System with enhanced display of digital video
6557052, Jun 07 1999 Matsushita Electric Industrial Co., Ltd. DMA transfer device
6574733, Jan 25 1999 Entrust Corporation Centralized secure backup system and method
6577806, Nov 30 1998 Kabushiki Kaisha Toshiba Broadcasting receiver for receiving and regenerating records of digital broadcasting
6615404, May 13 1999 TADIRAN TELECOM TTL , LIMITED PARTNERSHIP Method and apparatus for downloading software into an embedded-system
6714973, Jul 28 1997 NOKIA SIEMENS NETWORKS GMBH & CO KG Method and configuration for operating a communication network
6731323, Apr 10 2002 International Business Machines Corporation Media-enhanced greetings and/or responses in communication systems
6738808, Jun 30 2000 GOOGLE LLC Anonymous location service for wireless networks
6792269, Dec 22 2000 Bellsouth Intellectual Property Corporation System, method and apparatus for tracking deployment of cellular telephone network sites
6859787, Aug 08 1996 eBay, Inc. Method and system for providing order status information using an update status flag
7007050, May 17 2001 WSOU Investments, LLC Method and apparatus for improved pseudo-random number generation
7089561, Jun 01 2001 Microsoft Technology Licensing, LLC Methods and systems for creating and communicating with computer processes
20010003846,
20010005902,
20010021997,
20010043573,
20010044934,
20020000831,
20020007418,
20020007485,
20020007494,
20020010936,
20020010938,
20020023143,
20020023165,
20020026645,
20020034179,
20020035730,
20020040475,
20020041337,
20020044094,
20020046407,
20020047899,
20020053073,
20020056122,
20020059256,
20020065891,
20020069295,
20020071434,
20020083441,
20020095600,
20020095676,
20020095689,
20020104097,
20020105976,
20020108124,
20020108126,
20020108128,
20020112076,
20020120885,
20020124243,
20020124249,
20020129364,
20020131428,
20020136218,
20020138641,
20020138852,
20020144291,
20020146125,
20020150102,
20020152467,
20020161997,
20020163935,
20020178360,
20020184339,
20020184529,
20020184642,
20020184651,
20020191640,
20020194260,
20020194595,
20020199001,
20020199096,
20030003904,
20030005037,
20030005439,
20030005444,
20030009694,
20030009769,
20030012190,
20030014767,
20030016664,
20030018912,
20030046708,
20030093327,
20030106064,
20030110511,
20030111911,
20030135605,
20030140107,
20030154475,
20030154492,
20030163821,
20040122489,
20060059024,
EP993183,
JP2001136085,
WO9854642,
//////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Aug 12 2003OLIVIER, STEVEWEGENER COMMUNICATIONS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0256850054 pdf
Aug 12 2003PELKEY, GARY LWEGENER COMMUNICATIONS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0256850054 pdf
Aug 12 2003PLACEK, DAVID M WEGENER COMMUNICATIONS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0256850054 pdf
Aug 12 2003KENNEDY, KEVINWEGENER COMMUNICATIONS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0256850054 pdf
Jul 03 2008WEGENER COMMUNICATIONS, INC EPAX CONSULTING LIMITED LIABILITY COMPANYASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0256850292 pdf
Aug 26 2015EPAX CONSULTING LIMITED LIABILITY COMPANYNYTELL SOFTWARE LLCMERGER SEE DOCUMENT FOR DETAILS 0374750533 pdf
Date Maintenance Fee Events
Feb 04 2011ASPN: Payor Number Assigned.
Sep 24 2014M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Dec 03 2018REM: Maintenance Fee Reminder Mailed.
May 20 2019EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Nov 09 20134 years fee payment window open
May 09 20146 months grace period start (w surcharge)
Nov 09 2014patent expiry (for year 4)
Nov 09 20162 years to revive unintentionally abandoned end. (for year 4)
Nov 09 20178 years fee payment window open
May 09 20186 months grace period start (w surcharge)
Nov 09 2018patent expiry (for year 8)
Nov 09 20202 years to revive unintentionally abandoned end. (for year 8)
Nov 09 202112 years fee payment window open
May 09 20226 months grace period start (w surcharge)
Nov 09 2022patent expiry (for year 12)
Nov 09 20242 years to revive unintentionally abandoned end. (for year 12)