IP Library Granted Patent US 8,683,508
Granted Patent B2
US 8,683,508 · App. 12/955,123 · Granted Mar 25, 2014

System for interactively distributing information services using randomization

Inventors: Donald Gordon (Pacific Grove, CA); Christopher Goode (Menlo Park, CA); Jack Van der Star (Oyama, CA); Stanley Knight (Cranbury, NJ); Danny Chin (Princeton Junction, NJ)
Assignee: Comcast IP Holdings I, LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,683,508
App. No.
12/955,123
Granted
Mar 25, 2014
Kind
B2
Abstract

An interactive information distribution system includes service provider equipment for generating an information stream that is coupled to an information channel and transmitted to subscriber equipment. The service provider also generates a command signal that is coupled to a command channel and transmitted to the subscriber equipment. The service provider also receives information manipulation requests from the subscriber via a back channel. A communication network supporting the information channel, command channel and back channel is coupled between the service provider equipment and the subscriber equipment.

Claims (63)

1. A method comprising:

receiving, by a computer server, a request for at least one program, said request comprising a device identifier having a first value, the device identifier identifying a terminal;

assigning a random new value to the device identifier periodically;

associating the requested at least one program respectively with at least one program identifier; and

assigning at least one random second value respectively to the at least one program identifier.

2. The method of claim 1 , wherein the assigning of the random new value to the device identifier periodically is performed by a service provider.

3. The method of claim 1 , further comprising:

sending the at least one program identifier to a server storing said at least one program;

receiving the requested at least one program from the server upon completion of comparing the device identifier comprised in the request to a stored device identifier to confirm the device identifier comprised in the request; and

comparing a received user identifier included in the request to a stored user identifier to confirm the received user identifier included in the request.

4. The method of claim 1 , further comprising:

maintaining a database particular to a user associated with the request;

associating a user identifier of the user with at least one authorized menu tree; and

providing said at least one authorized menu tree to the terminal.

5. The method of claim 1 , further comprising:

assigning a random third value to a user identifier associated with a user associated with the request.

6. An apparatus comprising:

a processor; and

memory storing at least one application program that, when executed by the processor, causes the apparatus to:

receive a request for at least one program, said request comprising a device identifier having a first value, the device identifier identifying a terminal;

assign a random new value to the device identifier periodically;

associate the requested at least one program respectively with at least one program identifier; and

assign at least one random second value respectively to the at least one program identifier.

7. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

send the at least one program identifier to a server storing said at least one program;

receive the requested at least one program from the server upon completion of comparing the device identifier comprised in the request to a stored device identifier to confirm the device identifier comprised in the request; and

compare a received user identifier included in the request to a stored user identifier to confirm the received user identifier included in the request.

8. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

maintain a database particular to a user associated with the request;

associate a user identifier of the user with at least one authorized menu tree; and

provide said at least one authorized menu tree to the terminal.

9. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

assign a random third value to a user identifier associated with a user associated with the request.

10. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

receive a reference clock signal;

modulate, based on the reference clock signal, at least one data stream comprising said at least one program to generate at least one modulated data stream; and

transmit the at least one modulated data stream to the terminal.

11. The apparatus of claim 10 , further comprising:

an oscillator source phase-locked to the reference clock signal.

12. The apparatus of claim 6 , further comprising:

a first modulator configured to send the requested at least one program at a first modulation frequency via a forward channel at a first instance of time; and

a second modulator configured to send the requested at least one program at a second modulation frequency different from the first modulation frequency via the forward channel at a second instance of time different from the first instance of time,

wherein the at least one application program, when executed by the processor, causes the apparatus to:

instruct the terminal to decode the at least one program from the second modulator during the second instance of time.

13. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

allocate at least one channel to the terminal based on a load associated with the terminal relative to at least one other load associated with at least one other terminal.

14. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

open a session for the terminal responsive to receiving the request for the at least one program.

15. The apparatus of claim 14 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

receive an input indicating that a pause of the at least one program was selected;

determine that the selection of the pause exceeds a threshold amount of time; and

terminate the session responsive to the apparatus determining that the selection of the pause exceeds the threshold amount of time.

16. The apparatus of claim 6 , wherein the at least one application program, when executed by the processor, causes the apparatus to:

receive the requested at least one program from a server, wherein said requested at least one program comprises data stream packets containing the device identifier, and wherein at least one of the data stream packets is of a fixed length.

17. The apparatus of claim 6 , further comprising:

at least one control channel modem configured to send the requested at least one program via a forward channel to the terminal using a broadcast mode.

18. The apparatus of claim 6 , further comprising:

at least one control channel modem configured to send the requested at least one program via a forward channel to the terminal using one of a narrowcast mode and a pointcast mode.

19. A non-transitory memory storing at least one application program that, when executed by an apparatus, causes the apparatus to:

receive a request for at least one program, said request comprising a device identifier having a first value, the device identifier identifying a terminal;

assign a random new value to the device identifier periodically;

associate the requested at least one program respectively with at least one program identifier; and

assign at least one random second value respectively to the at least one program identifier.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2013
From: GORDON, DONALD; GOODE, CHRISTOPHER; VAN DER STAR, JACK; KNIGHT, STANLEY; CHIN, DANNY
To: DIVA SYSTEMS CORPORATION
Reel/Frame 031773/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2013
From: DIVA SYSTEMS CORPORATION
To: TV GATEWAY, LLC
Reel/Frame 031773/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2013
From: SEDNA PATENT SERVICES, LLC
To: COMCAST IP HOLDINGS I, LLC
Reel/Frame 031773/0257 →
CHANGE OF NAME Recorded Dec 12, 2013
From: TV GATEWAY, LLC
To: SEDNA PATENT SERVICES, LLC
Reel/Frame 031814/0452 →
Continuity (5)
Continuation 12637375 · Dec 14, 2009
Division 09739182 · Dec 18, 2000
Division 08984710 · Dec 3, 1997
Provisional Application 60034489 · Jan 13, 1997
Related Publication 20110072454A1 · Mar 24, 2011