IP Library Granted Patent US 9,141,448
Granted Patent B1
US 9,141,448 · App. 14/058,830 · Granted Sep 22, 2015

Lifetime management of socket resources

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,141,448
App. No.
14/058,830
Granted
Sep 22, 2015
Kind
B1
Abstract

A computer implemented method includes determining, by at least one processor executing code segments stored on a non-transitory computer readable medium, if an application is de-activated; and one of killing, by the at least one processor, a socket associated with the application or pausing, by the at least one processor, the socket based on a flag set by the application.

Claims (55)

1. A computer implemented method comprising:

determining, by at least one processor executing code segments stored on a non-transitory computer readable medium, if an application is de-activated; and

upon determining the application is de-activated, one of killing, by the at least one processor, a socket associated with the application or pausing, by the at least one processor, the socket based on a flag set by the application, wherein pausing the socket associated with the application includes,

ending use of the socket on a user device executing the application,

leaving the socket open on a network device communicating with the user device, and

configuring the user device to respond to a communication from the network device via the socket.

2. The method of claim 1 , wherein the application is de-activated if the application changes a state from an active state to an inactive state.

3. The method of claim 1 , further comprising:

determining a socket management type associated with the socket associated with the application, wherein the socket is killed or paused based on the socket management type.

4. The method of claim 1 , wherein killing the socket associated with the application includes terminating use of the socket on a user device executing the application and terminating use of the socket on a network device communicating with the user device.

5. The method of claim 1 , wherein pausing the socket associated with the application includes reducing resources associated with a user device executing the application, the resources being allocated to the socket.

6. The method of claim 1 , further comprising:

determining if the application changes a state from an inactive state to an active state; and

upon determining that the application changes a state from the inactive state to the active state:

reading information associated with the socket from a stored list, the information being associated with the paused socket;

generating a socket based on the read information; and

assigning the socket to the application.

7. The method of claim 1 , further comprising:

receiving, by a user device, a message associated with the socket;

assigning resources to the application; and

forwarding the message to the application.

8. The method of claim 1 , wherein the application is a packaged application.

9. The method of claim 1 , wherein the application is a natively operating application.

10. A computer-implemented method comprising:

receiving a message from an application, the message including a request to open a socket;

reading, from the message, by at least one processor executing code segments stored on a non-transitory computer readable medium, a socket management type;

setting, by the least one processor executing, a flag based on the socket management type; and

storing information about the socket in a list of sockets, the information including the flag, information associated with an open socket and application information, the application information configured to be used, by the processor, to respond to a communication from a network device via the socket when the socket is in a paused state.

11. The method of claim 10 , wherein the information further includes a socket ID, a host name or IP address of a remote machine, and a port of a remote machine.

12. The method of claim 10 , further comprising:

determining if the application changes a state from an inactive state to an active state; and

upon determining that the application changes a state from the inactive state to the active state:

reading the information associated with the socket from the list of sockets;

generating a socket based on the read information; and

assigning the socket to the application.

13. A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising:

determining, by at least one processor executing code segments stored on a non-transitory computer readable medium, if an application is de-activated; and

upon determining the application is de-activated, one of killing, by the at least one processor, a socket associated with the application or pausing, by the at least one processor, the socket based on a flag set by the application, wherein pausing the socket associated with the application includes,

ending use of the socket on a user device executing the application,

leaving the socket open on a network device communicating with the user device, and

configuring the user device to respond to a communication from the network device via the socket.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the application is de-activated if the application changes a state from an active state to an inactive state.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the steps further comprise:

determining a socket management type associated with the socket associated with the application, wherein the socket is killed or paused based on the socket management type.

16. The non-transitory computer-readable storage medium of claim 13 , wherein pausing the socket associated with the application includes reducing resources associated with a user device executing the application, the resources being allocated to the socket.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the steps further comprise:

determining if the application changes a state from an inactive state to an active state; and

upon determining that the application changes a state from the inactive state to the active state:

reading information associated with the socket from a stored list, the information being associated with the paused socket;

generating a socket based on the read information; and

assigning the socket to the application.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the steps further comprise:

receiving, by a user device, a message associated with the socket;

assigning resources to the application; and

forwarding the message to the application.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2014
From: PAQUAY, RENAUD JEAN GHISLAIN
To: GOOGLE INC.
Reel/Frame 032917/0357 →