Service gateway for interactive television
First Claim
Patent Images
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A service gateway provides a proxy between a client protocol and a plurality of standard communication protocols. The service gateway provides asymmetrical routing, data compression and encryption to optimize client processing power and communication link bandwidth. The service gateway enables content translation between clients and service providers. The service gateway keeps track of client available memory and sequence numbers in messages to generate error codes when applicable. A store and forward message capability is provided along with abstract session identifiers. The service gateway supports user datagram protocol.
-
Citations
131 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable medium containing instructions that when executed cause a computer to:
-
retrieve a client device hardware identifier for a client device from the client device dependent transport laver; send the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server; receive a first message from the server at the client device over at least one of a broadcast carrier wave, local area network and point to point connection, containing at least one of application code, control, data, and audio/visual data in a service provider compatible protocol, wherein the first message has been compressed and translated into the client device compatible protocol at the server from the service provider compatible protocol, the client device compatible protocol being different from the service provider compatible protocol; 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; generate a sequence number in the first message at the server before sending the first message to the client device; store the sequence number along with a time stamp in the client device upon receipt of the first message at the client device; and 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. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer readable medium containing instructions that when executed cause a computer to:
-
send a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; send a first message containing at least one of application code, control, data, and audio/visual data at the client device from the server over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; generate a sequence number in the first message at the server before sending the first message to the client device for storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device for rejection of 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; and receive 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for communication in a distributed computing system comprising:
-
retrieving a client device hardware identifier for the client device from the client device dependant transport layer; storing the client device hardware identifier in a network operator hardware identifier list; authenticating the client device hardware identifier before establishing a communication session between the server and the client device; receiving 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; translating the first message into a client device compatible protocol; generating a sequence number in the first message at the server before sending the first message to the client device; sending the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection; storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device; and rejecting 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; sending 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 sewer; receiving the second message at the server; generating 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;translating the second message into the service provider compatible protocol; and sending the translated message from the server to the service provider. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57)
-
-
58. A method for communication in a distributed computing system comprising:
-
retrieving a client device hardware identifier for the client device from the client device dependant transport layer; sending the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server; generating a sequence number in the first message at the server before sending the first message to the client device; receiving the first message containing at least one of application code, control, data, and audio/visual data at the client device from a server over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device; rejecting 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; sending 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70)
-
-
71. A method for communication in a distributed computing system comprising:
-
sending a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; sending a first message containing at least one of application code, control, data, and audio/visual data at the client device from the server over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; receiving 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; generating a sequence number in the first message at the server before sending the first message to the client device for storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device for rejection of 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. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83)
-
-
84. An apparatus for communication in a distributed computing system comprising:
-
a client device hardware identifier for the client device retrieved from the client device dependant transport layer; computer memory for storing the client device hardware identifier in a network operator hardware identifier list; a authentication component for authenticating the client device hardware identifier before establishing a communication session between the server and the client device; a server message handling component for receiving 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 and sending the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection, the server message handling component further comprising translating a second message received from a client device into the service provider compatible protocol and sending the translated second message from the server to the service provider; a server translation component for translating the first message into a client device compatible protocol; a sequence number generated in the first message at the server before sending the first message to the client device; computer memory for storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device; a rejection component for rejecting 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; a client device message handling component for sending the 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; and
a server component for generating a session identifier from the client device hardware identifier and inserting the session identifier in place of the client device hardware identifier in the second message prior to sending the second message to the service provider. - View Dependent Claims (85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
-
-
97. An apparatus for communication in a distributed computing system comprising:
-
a first message containing at least one of application code, control, data, and audio/visual data at a client device from a server, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol and sent the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection; a client device hardware identifier for the client device retrieved from the client device dependant transport layer; a client device message handler for sending the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server, and sending 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; a sequence number in the first message at the server before sending the first message to the client device; computer memory for storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device; and a rejection component for rejecting 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. - View Dependent Claims (98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109)
-
-
110. An apparatus for communication in a distributed computing system comprising:
-
a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; a first message sent from the server to the client device containing at least one of application code, control, data, and audio/visual data sent over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; a sequence number in the first message at the server before sending the first message to the client device for storing the sequence number along with a time stamp in the client device upon receipt of the first message at the client device for rejection of 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; a second message containing at least one of application code, control, data, and audio/visual data received from the client device in the client device compatible protocol to the server for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider. - View Dependent Claims (111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122)
-
-
123. 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;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; 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;encapsulate HTTP in the device compatible protocol in the second message at the client device prior to sending the second message to the server; convert the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; receive a cookie from a service provider via a HTTP server at the server in response to the converted HTTP message; cache the cookie at the server; generate a cookie to session identifier translation table; use the cookie to session identifier table to answer a client device hardware identifier name request from the HTTP server; and use the client device hardware identifier to extract user information from a central registry.
-
-
124. A computer readable medium containing instructions that when executed cause a computer to:
-
receive a first message from a server at a client device, containing at least one of application code, control, data, and audio/visual data in a service provider compatible protocol, wherein the first message has been compressed and translated into the client device compatible protocol at the server from the service provider compatible protocol, the client device compatible protocol being different from the service provider compatible protocol; retrieve a client device hardware identifier for the client device from the client device dependant transport layer; send the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server;
receive a first message containing at least one of application code, control, data, and audio/visual data at the client device from a server, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol;receive the first message at the client device over at least one of a broadcast carrier wave, local area network and point to point connection; 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; encapsulate HTTP in the device compatible protocol in the second message at the client device prior to sending the second message to the server for converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; send the session identifier to the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
-
125. A computer readable medium containing instructions that when executed cause a computer to:
-
send a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; send a first message containing at least one of application code, control, data, and audio/visual data at the client device from the server over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; receive 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; receive at the server, HTTP encapsulated in the device compatible protocol in the second message; convert the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; receive the session identifier at the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
-
126. A method for communication in a distributed computing system comprising:
-
retrieving a client device hardware identifier for the client device from the client device dependant transport layer; storing the client device hardware identifier in a network operator hardware identifier list; authenticating the client device hardware identifier before establishing a communication session between the server and the client device; receiving 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; translating the first message into a client device compatible protocol; sending the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection; sending 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; receiving the second message at the server; generating 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;translating the second message into the service provider compatible protocol; and sending the translated message from the server to the service provider; encapsulating HTTP in the device compatible protocol in the second message at the client device prior to sending the second message to the server; converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; receiving a cookie from a service provider via a HTTP server at the server in response to the converted HTTP message; caching the cookie at the server; generating a cookie to session identifier translation table; using the cookie to session identifier table to answer a client device hardware identifier name request from the HTTP server; and using the client device hardware indentifer to extract user information from a central registry.
-
-
127. A method for communication in a distributed computing system comprising:
-
retrieving a client device hardware identifier for the client device from the client device dependant transport layer; sending the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server; receiving a first message containing at least one of application code, control, data, and audio/visual data at the client device from a server, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; receiving the first message at the client device over at least one of a broadcast carrier wave, local area network and point to point connection; sending 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; encapsulating HTTP in the device compatible protocol in the second message at the client device prior to sending the second message to the server for converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider;
sending the session identifier to the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
-
128. A method for communication in a distributed computing system comprising:
-
sending a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; sending a first message containing at least one of application code, control, data, and audio/visual data at the client device from the server over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; receiving 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 for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; receiving at the server, HTTP encapsulated in the device compatible protocol in the second message; converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; receiving the session identifier at the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
-
129. An apparatus for communication in a distributed computing system comprising:
-
a client device hardware identifier for the client device retrieved from the client device dependant transport layer; computer memory for storing the client device hardware identifier in a network operator hardware identifier list; a authentication component for authenticating the client device hardware identifier before establishing a communication session between the server and the client device; a server message handling component for receiving 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 and sending the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection, the server message handling component further comprising translating a second message received from a client device into the service provider compatible protocol and sending the translated second message from the server to the service provider; a server translation component for translating the first message into a client device compatible protocol; a client device message handling component for sending the 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; and
a server component for generating a session identifier from the client device hardware identifier and inserting the session identifier in place of the client device hardware identifier in the second message prior to sending the second message to the service provider;a client device component for encapsulating HTTP in the device compatible protocol in the second message at the client device prior to sending the second message to the server; a HTTP conversion component for converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; computer memory for caching a cookie received from a service provider via a HTTP server at the server in response to the converted HTTP message; a server component for generating a cookie to session identifier translation table and using the cookie to session identifier table to answer a client device hardware identifier name request from the HTTP server and using the client device hardware identifier to extract user information from a central registry.
-
-
130. An apparatus for communication in a distributed computing system comprising:
-
a first message containing at least one of application code, control, data, and audio/visual data at the client device from a server, wherein the sewer translated the message from a service provider compatible protocol into the client device compatible protocol and sent the first message to the client device over at least one of a broadcast carrier wave, local area network and point to point connection; a client device hardware identifier for the client device retrieved from the client device dependant transport layer; a client device message handler for sending the client device hardware identifier to an identifier list for storage for authentication of the client device hardware identifier before establishing a communication session between the client device and a server, and sending 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 for generating a session identifier from the client device hardware identifier, wherein the sewer inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; wherein the second message encapsulates HTTP in the device compatible protocol at the client device prior to sending the second message to the server for converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; a session identifier component for sending the session identifier to the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
-
131. An apparatus for communication in a distributed computing system comprising:
-
a client device hardware identifier retrieved from the client device dependent transport layer, to a server identifier list for storage and authentication of the client device hardware identifier before establishing a communication session between the client device and a server; a first message sent from the server to the client device containing at least one of application code, control, data, and audio/visual data sent over at least one of a broadcast carrier wave, local area network and point to point connection, wherein the server translated the message from a service provider compatible protocol into the client device compatible protocol; a second message containing at least one of application code, control, data, and audio/visual data received from the client device in the client device compatible protocol to the server for generating a session identifier from the client device hardware identifier, wherein the server inserts the session identifier in place of the client device hardware identifier in the second message and translates the second message into the service provider compatible protocol for sending the translated message to the service provider; a converter for receiving the second message containing HTTP encapsulated in the device compatible protocol in the second message converting the second message into a standard HTTP communication protocol message at the server prior to sending the converted HTTP message to the service provider; a session identifier component for receiving the session identifier at the server for association with a cached cookie received from a service provider via a HTTP server in response to the converted HTTP message sent by the client device, wherein the cookie is identified in a cookie to session identifier translation table, wherein the cookie to session identifier table is used to answer a client device hardware identifier name request from the HTTP server and to extract user information from a central registry.
-
Specification