IP Library Granted Patent US 9,059,956
Granted Patent B2
US 9,059,956 · App. 13/923,885 · Granted Jun 16, 2015

Asynchronous real-time retrieval of data

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,059,956
App. No.
13/923,885
Granted
Jun 16, 2015
Kind
B2
Abstract

A data retrieval system includes a gateway server and an access client. The gateway server is communicatively connected to the access client through a network. The gateway server provides a presentation service (PS) and a real-time service (RTS), which cooperate with the access client to retrieve data from a data store and then provide the retrieved data to a user's remote communication device. More particularly, when a user wishes to retrieve data from the data store or to send data to the data store, the user establishes a communication connection between his or her remote communication device and the gateway server, and then requests the desired data from the gateway server. In response, the gateway server sends a command to the access client, instructing it to retrieve the requested data. The access client retrieves the requested data from the data store, and returns the retrieved data to the gateway server. The gateway server then relays the requested information back to the user's remote communication device.

Claims (42)

1. A server system for controlling operation of a computing device, the computing device comprising a client component, the client component being a client of the server system, the server system comprising:

one or more communications interfaces; and

one or more processor units configured to cooperate with the one or more communications interfaces in order to:

receive, at the server system, a request to perform an action;

establish a data communications session between the server system and the computing device comprising two-way communications between the server system and the computing device via a data channel by sending a first command from the server system to the computing device via a one-way communication connection, the one-way communication connection being separate from the data channel;

send, during the data communications session, a second command from the server system to the client component of the computing device, the second command being configured to cause the computing device to perform the action; and

receive, at the server system, data relating to the action from the computing device via the data channel.

2. The server system according to claim 1 , wherein the first command is transmitted to the computing device via a proxy service.

3. The server system according to claim 1 , wherein the action relates to data accessible by the client component.

4. The server system according to claim 3 , wherein the action comprises the retrieval of data from a data store.

5. The server system according to claim 1 , wherein the data channel comprises an HTTPS data connection.

6. The server system according to claim 1 , wherein the one or more processor units are further configured to cooperate with the one or more communications interfaces in order to send the first command using a Secure Sockets Layer (SSL) protocol.

7. A computing device comprising a client component, the client component being a client of a server system, the computing device being configured to:

receive a first command from the server system via a one-way communication connection, wherein the first command was sent in response to a request to perform an action at the server system:

establish, based on the first command, a data communications session between the computing device and the server system comprising two-way communications between the computing device and the server system via a data channel, the data channel being separate from the one-way communication connection;

receive, during the data communications session, a second command at the client component of the computing device from the server system, the second command being configured to cause the computing device to perform the action; and

responsive to receipt of the second command, perform the action and send data relating thereto to the server system via the data channel.

8. The computing device according to claim 7 , wherein the first command is received via a proxy service.

9. The computing device according to claim 7 , wherein the action relates to data accessible by the client component.

10. The computing device according to claim 9 , wherein the action comprises the retrieval of data from a data store.

11. The computing device according to claim 7 , wherein the data channel comprises an HTTPS data connection.

12. The computing device according to claim 7 , wherein the first command is received using a Secure Sockets Layer (SSL) protocol.

13. A non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions when executed by a server system causing the server system to perform a method of controlling operation of a computing device, the computing device comprising a client component, the client component being a client of the server system, the method comprising:

receive, at the server system, a request to perform an action;

establishing a data communications session between the server system and the computing device comprising two-way communications between the server system and the computing device via a data channel by sending a first command from the server system to the computing device via a one-way communication connection, the one-way communication connection being separate from the data channel;

sending, during the data communications session, a second command from the server system to the client component of the computing device, the second command being configured to cause the computing device to perform the action; and

receiving, at the server system, data relating to the action from the computing device via the data channel.

14. The non-transitory computer-readable storage medium according to claim 13 , wherein the first command is transmitted to the computing device via a proxy service.

15. The non-transitory computer-readable storage medium according to claim 13 , wherein the action relates to data accessible by the client component.

16. The non-transitory computer-readable storage medium according to claim 15 , wherein the action comprises the retrieval of data from a data store.

17. The non-transitory computer-readable storage medium according to claim 13 , wherein the data channel comprises an HTTPS data connection.

18. The non-transitory computer-readable storage medium according to claim 13 , wherein sending the first command from the server system to the computing device comprises using a Secure Sockets Layer (SSL) protocol.

19. A method of controlling operation of a computing device comprising a client component, the client component being a client of a server system, the method comprising:

receive, at the server system, a request to perform an action;

establishing a data communications session between the server system and the computing device for two-way communications between the server system and the computing device via a data channel by sending a first command from the server system to the computing device via a one-way communications connection, the one way communications connection being separate from the data channel;

sending, during the data communications session, a second command from the server system to the client component of the computing device, the second command being configured to cause the computing device to perform the action; and

receiving, at the server system, data relating to the action from the computing device via the data channel.

20. The method according to claim 19 , wherein the first command is transmitted to the computing device via a proxy service.

21. method according to claim 19 , wherein the action relates to data accessible by the client component.

22. The method according to claim 21 , wherein the action comprises the retrieval of data from a data store.

23. The method according to claim 19 , wherein the data channel comprises an HTTPS data connection.

24. The method according to claim 19 , wherein sending the first command from the server system to the computing device comprises using a Secure Sockets Layer (SSL) protocol.

Assignments (8)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: GOOD TECHNOLOGY HOLDINGS LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 045196/0255 →
CHANGE OF NAME Recorded Aug 23, 2017
From: VIAIR, INC.
To: VISTO CORPORATION
Reel/Frame 043645/0520 →
CHANGE OF NAME Recorded Aug 23, 2017
From: VISTO CORPORATION
To: GOOD TECHNOLOGY CORPORATION
Reel/Frame 043645/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: GOOD TECHNOLOGY CORPORATION
To: GOOD TECHNOLOGY HOLDINGS LIMITED
Reel/Frame 043645/0867 →
CONFIDENTAL INFORMATION, INVENTIONS, NONSOLICITATION AND NONCOMPETITION AGREEMENT Recorded Aug 23, 2017
From: MARL, COYLE BRETT
To: VIAIR, INC.
Reel/Frame 043645/0475 →
CONFIDENTIAL INFORMATION, INVENTIONS, NONSOLICITATION AND NONCOMPETITION AGREEMENT Recorded Aug 23, 2017
From: FRIEDMAN, GREGORY SCOTT
To: VIAIR, INC.
Reel/Frame 043645/0437 →