IP Library Granted Patent US 9,692,854
Granted Patent B2
US 9,692,854 · App. 13/748,333 · Granted Jun 27, 2017

Communication between a web-based application and a desktop application

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,692,854
App. No.
13/748,333
Granted
Jun 27, 2017
Kind
B2
Abstract

New functionality to be added to a web-based application and a desktop application is expressed as declarative and/or procedural code that a conventional rendering engine of the web-based application and the desktop application can use to directly update the state of the applications. Users need not update client-side components—such as the desktop application and/or any plug-ins used by the browser hosting the web-based application—to take advantage of new types of functionality.

Claims (44)

1. A computer-implemented method comprising:

receiving, from a remote application server by a browser on a client device, code for a web-based application;

running, by the browser, the web-based application using the received code;

identifying, by the web-based application, a change to a state of the web-based application, the change to the state of the web-based application comprising a transfer of a message from a message display area of the web-based application to a message display area of desktop application run on an operating system of the client device, the transfer comprising removal of the message from the message display area of the web-based application and addition of the message to the message display area of the desktop application, the desktop application being run concurrently with the web-based application by a user of the client device and not hosted by the browser;

generating, by the web-based application, state data code reflecting the change;

communicating, by the web-based application to the desktop application, the state data code; and

implementing, by the desktop application, the change to the state of the web-based application by rendering the state data code to display the message.

2. The computer-implemented method of claim 1 , wherein the change to the state of the web-based application is initiated by an interaction of the user with the user interface of the web-based application.

3. The computer-implemented method of claim 1 , wherein the browser communicates the state code data code to the desktop application using a browser plug-in.

4. The computer-implemented method of claim 1 , wherein:

the change to the state of the web-based application is received from a remote server; and

the web-based application communicates the state data code to the desktop application only in response to the browser verifying that the remote server is the remote application server.

5. A non-transitory computer-readable storage medium comprising:

instructions for receiving, from a remote application server by a browser on a client device, code for a web-based application;

instructions for running, by the browser, the web-based application using the received code;

instructions for identifying, by the web-based application, a change to a state of the web-based application, a change to a state of the web-based application, the change to the state of the web-based application comprising a transfer of a message from a message display area of the web-based application to a message display area of a desktop application run on an operating system of the client device, the transfer comprising removal of the message from the message display area of the web-based application and addition of the message to the message display area of the desktop application, the desktop application being run concurrently with the web-based application by a user of the client device and not hosted by the browser;

instructions for generating, by the web-based application, state data code reflecting the change;

instructions for communicating, by the web-based application to the desktop application, the state data code; and

instructions for implementing, by the desktop application, the change to the state of the web-based application by rendering the state data code.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the change to the state of the web-based application is initiated by an interaction of the user with the user interface of the web-based application.

7. The non-transitory computer-readable storage medium of claim 5 , wherein the browser communicates the state code data code to the desktop application using a browser plug-in.

8. The non-transitory computer-readable storage medium of claim 5 , wherein:

the change to the state of the web-based application is received from a remote server; and

the web-based application communicates the state data code to the desktop application only in response to the browser verifying that the remote server is the remote application server.

9. A computer system comprising:

a processor; and

a computer program executable by the computer processor, the computer program comprising:

instructions for receiving, from a remote application server by a browser on a client device, code for a web-based application;

instructions for running, by the browser, the web-based application using the received code;

instructions for identifying, by the web-based application, a change to a state of the web-based application, a change to a state of the web-based application, the change to the state of the web-based application comprising a transfer of a message from a message display area of the web-based application to a message display area of a desktop application run on an operating system of the client device, the transfer comprising removal of the message from the message display area of the web-based application and addition of the message to the message display area of the desktop application, the desktop application being run concurrently with the web-based application by a user of the client device and not hosted by the browser;

instructions for generating, by the web-based application, state data code reflecting the change;

instructions for communicating, by the web-based application to the desktop application, the state data code; and

instructions for implementing, by the desktop application, the change to the state of the web-based application by rendering the state data code.

10. The computer system of claim 9 , wherein the change to the state of the web-based application is initiated by an interaction of the user with the user interface of the web-based application.

11. The computer system of claim 9 , wherein the browser communicates the state code data code to the desktop application using a browser plug-in.

12. The computer system of claim 9 , wherein:

the change to the state of the web-based application is received from a remote server; and

the web-based application communicates the state data code to the desktop application only in response to the browser verifying that the remote server is the remote application server.

13. The method of claim 1 , wherein the web-based application causes the desktop application to run.

14. The method of claim 1 , wherein implementing the change to the state of the web-based application comprises visually rendering the state data code.

15. The non-transitory computer-readable storage medium of claim 5 , wherein the web-based application causes the desktop application to run.

16. The non-transitory computer-readable storage medium of claim 5 , wherein implementing the change to the state of the web-based application comprises visually rendering the state data code.

17. The computer system of claim 9 , wherein the web-based application causes the desktop application to run.

18. The computer system of claim 9 , wherein implementing the change to the state of the web-based application comprises visually rendering the state data code.

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 Jun 18, 2013
From: STEINBERG, ARIEH; O'CONNOR, JACK
To: FACEBOOK, INC.
Reel/Frame 030638/0597 →