US 7,484,236 B2
Service gateway for interactive television
Rachad Alao, Sunnyvale, Calif. (US); Alain Delpuch, Paris la Defense Cedex (France); Jose Henrard, Paris (France); Matthew Huntington, Twickenham (United Kingdom); Waiman Lam, Union City, Calif. (US); Taylor Kidd, Redwood City, Calif. (US); and Vincent Dureau, Palo Alto, Calif. (US)
Assigned to OpenTV, Inc., San Francisco, Calif. (US)
Filed on Feb. 01, 2002, as Appl. No. 10/61,114.
Application 10/061114 is a continuation in part of application No. 09/858436, filed on May 16, 2001, granted, now 7,305,697.
Claims priority of provisional application 60/265986, filed on Feb. 02, 2001.
Claims priority of provisional application 60/266210, filed on Feb. 02, 2001.
Claims priority of provisional application 60/267876, filed on Feb. 09, 2001.
Claims priority of provisional application 60/269261, filed on Feb. 15, 2001.
Claims priority of provisional application 60/279543, filed on Mar. 28, 2001.
Prior Publication US 2002/0138848 A1, Sep. 26, 2002
Int. Cl. H04N 7/173 (2006.01)
U.S. Cl. 725—105  [725/147; 725/117; 725/131; 725/127; 725/151] 131 Claims
OG exemplary drawing
 
1. A computer readable medium containing instructions that cause a computer to:
retrieve a client device hardware identifier for the client device from the client device dependant transport layer;
store the client device hardware identifier in a network operator hardware identifier list;
authenticate the client device hardware identifier before establishing a communication session between the server and the client device;
receive a first message containing at least one of application code, control, data, and audio/visual data at a server in a service provider compatible protocol;
translate the first message into a client device compatible protocol;
generate a sequence number in the first message at the server before sending the first message to the client device;
send the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection;
store the sequence number along with a time stamp in the client device upon receipt of the first message at the client device;
reject the first message at the client device if the sequence number appears within a sliding time rejection window to avoid duplicate receipt of the first message;
send a second message containing at least one of application code, control, data, and audio/visual data from the client device in the client device compatible protocol to the server;
receive the second message at the server;
generate a session identifier from the client device hardware identifier; inserting the session identifier in place of the client device hardware identifier in the second message;
translate the second message into the service provider compatible protocol; and send the translated message from the server to the service provider.