IP Library Granted Patent US 8,572,263
Granted Patent B1
US 8,572,263 · App. 13/160,213 · Granted Oct 29, 2013

Push gateway systems and methods

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,572,263
App. No.
13/160,213
Granted
Oct 29, 2013
Kind
B1
Abstract

A push gateway includes a number of socket servers, a queue server, and arbiter serving, a mapping server and a number of worker servers. Each of the socket servers and the arbiter server includes a network interface. The queue server is coupled to the socket servers for bidirectional communication with the socket servers. The mapping server is coupled to the arbiter server and to the socket servers for bidirectional communication with the arbiter server and each of the socket servers. The worker servers are coupled to the queue server and the mapping server. The arbiter server is configured to facilitate communications over a network with the worker servers by at least partially balancing loads on the number of socket servers based, at least in part, upon the mapping server.

Claims (42)

1. A system for operating a push gateway comprising:

a processor configured to:

develop a map of potential connections to the push gateway, wherein the map of potential connections is developed based at least in part on status information associated with one or more socket servers configured to maintain one or more socket connections;

store the developed map of potential connections;

derive a list of socket connections based at least in part on the developed map of potential connections;

receive a device identifier associated with a mobile device;

determine whether the mobile device associated with the device identifier has been registered based at least in part on the received device identifier;

send a secure ID to the mobile device in the event that the device was determined to have not been registered;

verify a secure ID of the mobile device in the event that the mobile device was determined to have been registered;

provide the derived list of socket connections to the mobile device in the event that the secure ID of the mobile device was verified; and

push at least one message to the mobile device via a socket connection derived at least in part from the list of socket connections; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 wherein the processor is further configured to register the mobile device in the event that the device was determined to have not been registered.

3. The system of claim 1 wherein registering the mobile device includes assigning the secure ID.

4. The system of claim 1 wherein the list of socket connections includes a list of addresses associated with the one or more socket servers.

5. The system of claim 1 wherein the processor is further configured to provide an encryption key to the mobile device.

6. The system of claim 1 wherein the processor is further configured to receive a list of push-apps associated with the mobile device.

7. A method for a mobile device to communicate with a push gateway over a network comprising:

providing a device identifier associated with the mobile device to the push gateway;

in the event that the mobile device is determined to not have been previously registered with the push gateway, receiving, from the push gateway, a secure ID assigned to the mobile device;

in the event that the mobile device is determined to have been previously registered with the push gateway and a secure ID associated with the device has been verified, receiving, from the push gateway, a connection list comprising a list of socket connections to the push gateway, wherein the socket connections are maintained by one or more socket servers;

attempting to connect over a network to the push gateway based at least in part on the received connection list received from the push gateway;

communicating over the network with the push gateway in the event that the attempt to connect was successful; and

receiving a new connection list over the network from the push gateway in the event that the attempt to connect was unsuccessful.

8. The method of claim 7 wherein the connection list includes a list of addresses of a number of socket servers.

9. The method of claim 8 wherein the connection list is associated with an encryption key, wherein the encryption key facilitates communications between the mobile device and the push gateway.

10. The method of claim 7 wherein communicating over the network with the push gateway includes sending to the push gateway a list of push-apps stored on the mobile device.

11. The method of claim 10 wherein communicating over the network with the push gateway includes receiving from the push gateway a list of apps.

12. A method for operating a push gateway comprising:

developing a map of potential connections to the push gateway, wherein the map of potential connections is developed based at least in part on status information associated with one or more socket servers configured to maintain one or more socket connections;

storing the developed map of potential connections;

deriving a list of socket connections based at least in part on the developed map of potential connections;

receiving a device identifier associated with a mobile device;

determining whether the mobile device associated with the device identifier has been registered based at least in part on the received device identifier;

sending a secure ID to the mobile device in the event that the device was determined to have not been registered;

verifying a secure ID of the mobile device in the event that the mobile device was determined to have been registered;

providing the derived list of socket connections to the mobile device in the event that the secure ID of the mobile device was verified; and

pushing at least one message to the mobile device via a socket connection derived at least in part from the list of socket connections.

13. The method of claim 12 further comprising registering the mobile device in the event that the mobile device was determined to have not been registered.

14. The method of claim 12 wherein registering the mobile device includes assigning the secure ID.

15. The method of claim 12 wherein the list of socket connections includes a list of addresses associated with the one or more socket servers.

16. The method of claim 12 further comprising providing an encryption key to the mobile device.

Assignments (12)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
CHANGE OF NAME Recorded Jan 21, 2021
From: URBAN AIRSHIP, INC.
To: AIRSHIP GROUP, INC.
Reel/Frame 055059/0223 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2020
From: SILVER LAKE WATERMAN FUND, L.P.
To: URBAN AIRSHIP, INC.; TELLO, INC.
Reel/Frame 052300/0284 →
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2020
From: SILICON VALLEY BANK
To: URBAN AIRSHIP, INC.
Reel/Frame 052300/0425 →
SECURITY INTEREST Recorded Apr 2, 2020
From: URBAN AIRSHIP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052308/0550 →
SECURITY INTEREST Recorded May 30, 2017
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: SILVER LAKE WATERMAN FUND, L.P., AS AGENT
Reel/Frame 042532/0575 →
RELEASE OF SECURITY INTEREST Recorded Apr 6, 2017
From: ORIX GROWTH CAPITAL, LLC (F/K/A ORIX VENTURES, LLC)
To: URBAN AIRSHIP, INC.; TELLO, INC.
Reel/Frame 041890/0286 →
SECURITY INTEREST Recorded Sep 25, 2015
From: URBAN AIRSHIP, INC.; TELLO, INC.
To: ORIX VENTURES, LLC
Reel/Frame 036654/0332 →
SECURITY INTEREST Recorded Jun 30, 2015
From: URBAN AIRSHIP, INC.
To: SILICON VALLEY BANK
Reel/Frame 035959/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2012
From: LOWRY, ADAM C.; KUOLT, JARED J.; OSBORN, STEVEN L., II
To: URBAN AIRSHIP, INC.
Reel/Frame 027571/0609 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2011
From: LOWRY, ADAM C.; KUOLT, JARED J.; OSBORN II, STEVEN L.
To: URBAN AIRSHIP, INC.
Reel/Frame 026533/0746 →