IP Library Granted Patent US 9,237,207
Granted Patent B2
US 9,237,207 · App. 13/226,414 · Granted Jan 12, 2016

Device, system and method for providing distributed online services

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 9,237,207
App. No.
13/226,414
Granted
Jan 12, 2016
Kind
B2
Abstract

A device, system, and method is provided for running mobile applications, including a server for running applications and a client installed in a mobile device. The client may connect to the server via a network. The client may display content, receive user input, and send user input to the server. The server may use the client to receive user input and to display content for running applications for the mobile device.

Claims (33)

1. A system comprising:

a client executing on a mobile device that connects to a server via a network using a hypertext transfer protocol, the server configured to communicate with clients using the hypertext transfer protocol such a connection between the server and a client may only be initiated by the client, the client configured to:

initiate a first connection with the server if no connection is currently open, the client configured to not request data over the first connection; and

identify data to be transmitted to the server;

initiate a second connection with the server without waiting for a response from the server over the first connection;

transmit the identified data to the server over the second connection;

measure an amount of time between the transmitting of the identified data and a response to the transmitted data from the server;

responsive to the measured amount of time being more than a threshold amount of time associated with a timeout of the first connection at the server, determine that the client cannot have more than one simultaneous connection with the server; and

responsive to the measured amount of time being less than the threshold amount of time, determine that the client can have two simultaneous connections with the server.

2. The system of claim 1 , wherein the server is configured to close idle connections after a timeout interval, and wherein the client is further configured to request an additional connection with the server in response to the server closing an idle connection.

3. The system of claim 1 , wherein the client measures the amount of time by starting a client timer upon initiating the second connection and checking the client timer upon receiving the response.

4. The system of claim 1 , wherein the client is determined not to support the hypertext transfer protocol HTTP 1.1 in response to determining that the client cannot have more than one simultaneous connections with the server.

5. The system of claim 4 , wherein the server is configured to close each connection immediately after using the connection to send a response to the client.

6. The system of claim 1 , wherein the server is configured to:

count the total number of connections open with the server and requests received by the server over a predefined period of time or upon reaching a predefined count of requests; and

determine that the client supports the hypertext transfer protocol HTTP 1.1 in response to the number of open connections being equal to the number of requests received and the average time between consecutive requests being below a predetermined threshold.

7. The system of claim 1 , wherein the client transmits device parameters describing one or more configurations of the mobile device over the second connection, and wherein the server is configured to adapt content according to the device parameters and transmit the adapted content to the client over the second connection.

8. The system of claim 7 , wherein the server is configured to transmit device-specific commands to the client over the second connection, the device-specific commands selected based on the device parameters.

9. A method comprising:

initiating, at a client, a first connection with a server if no connection with the server is currently open, the client configured to not request data over the first connection;

identifying data to be transmitted to the server;

initiating a second connection with the server without waiting for a response from the server over the first connection;

transmitting the identified data to the server over the second connection;

measuring an amount of time between the transmitting of the identified data and a response to the transmitted data from the server;

responsive to the measured amount of time being more than a threshold amount of time associated with a timeout of the first connection at the server, determining that the client cannot have more than one simultaneous connection with the server; and

responsive to the measured amount of time being less than the threshold amount of time, determining that the client can have two simultaneous connections with the server.

10. The method of claim 9 , further comprising:

transmitting device parameters describing one or more configurations of the client over the second connection;

receiving content adapted according to the device parameters from the server.

11. The method of claim 10 , further comprising receiving device-specific commands from the server over the second connection, the device-specific commands associated with the device parameters.

12. The method of claim 9 , further comprising, in response to determining that the server has closed the second connection due to the second connection being idle, requesting an additional connection with the server.

13. The method of claim 9 , wherein measuring the amount of time comprises starting a client timer upon initiating the second connection and checking the client timer upon receiving the response.

14. The method of claim 4 , further comprising determining that the client does not support the hypertext transfer protocol HTTP 1.1 in response to determining that the client cannot have more than one simultaneous connections with the server.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2012
From: MOBLICA LTD.
To: FACEBOOK, INC.
Reel/Frame 028201/0994 →