IP Library › Granted Patent US 10,152,590
Granted Patent B2
US 10,152,590 · App. 15/159,572 · Granted Dec 11, 2018

Implementing a WebSocket server to circumvent access controls, by a web browser, on a web application

Inventors: Yuting Liu (Beijing, CN); Mingjie Li (Beijing, CN); Darshan Kumar (San Ramon, CA); Kuangyang Huang (Fremont, CA); Tsunghsi Yu (San Jose, CA); Kunal Kumar (Bihar, IN); Qiang Dong (Beijing, CN)
Assignee: Oracle International Corporation
G06F21/53G06F17/30H04L63/00H04L67/02G06F2221/2149
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 10,152,590
App. No.
15/159,572
Granted
Dec 11, 2018
Kind
B2
Abstract

Operations include executing a WebSocket server on a machine executing a web browser; establishing a connection between the WebSocket server and the web browser; receiving, by the WebSocket server from the web browser, a request requiring execution of a local application on the machine; and executing, by the WebSocket server, the local application to serve the request.

Claims (42)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:

executing a WebSocket server on a machine executing a web browser, the WebSocket server using a protocol allowing for full-duplex communication between the WebSocket server and the web browser;

establishing a connection between the WebSocket server and the web browser;

receiving, via the connection by the WebSocket server from a web application executed by the web browser, a request requiring execution of a local application on the machine, the local application being inaccessible by the web application, wherein the web browser sandboxes the web application;

responsive to the request: executing, by the WebSocket server, the local application to serve the request, wherein the WebSocket server, the web browser and the local application are executed on the machine.

2. The non-transitory computer readable medium of claim 1 , wherein the connection between the Web Socket server and the web browser is established in response to a user successfully logging into a system, associated with the Web Socket server, via the web browser.

3. The non-transitory computer readable medium of claim 1 , wherein the request is received by the Web Socket server responsive to:

displaying, via the web application, a user interface; and

receiving, via the user interface, a request from a user to execute the local application.

4. The non-transitory computer readable medium of claim 1 , wherein the operations further comprise, prior to receiving the request by the Web Socket server, executing authentication between the Web Socket server and the web application.

5. The non-transitory computer readable medium of claim 1 , wherein the request comprises one or more of: modifying a document, composing and sending an email, or forwarding communication to a computer system in a set of computer systems comprising the machine.

6. The non-transitory computer readable medium of claim 1 , wherein:

the connection between the Web Socket server and the web browser is established in response to a user successfully logging into a system, associated with the Web Socket server, via the web browser;

the web browser sandboxes the web application;

the request is received by the Web Socket server responsive to:

displaying, via the web application, a user interface; and

receiving, via the user interface, a request from a user to execute the local application;

the request comprises one or more of: modifying a document, composing and sending an email, or forwarding communication to a computer system in a set of computer systems comprising the machine; and

the operations further comprise, prior to receiving the request by the Web Socket server, executing authentication between the Web Socket server and the web application.

7. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:

detecting at least one user successfully logging into a system via a web application executed by a web browser;

responsive to detecting the at least one user successfully logging into the system: initiating execution of a WebSocket server, associated with the system, on a particular machine that is executing the web browser;

receiving, by the WebSocket server from the web application via the web browser, a request requiring execution of a local application on the particular machine, the local application being inaccessible by the web application, wherein the web browser sandboxes the web application;

responsive to the request: executing, by the WebSocket server, the local application to serve the request, wherein the WebSocket server, the web browser and the local application are executed on the particular machine.

8. The non-transitory computer readable medium of claim 7 , wherein the request is received by the Web Socket server responsive to:

displaying, via the web application, a user interface; and

receiving, via the user interface, a request from a user to execute the local application.

9. The non-transitory computer readable medium of claim 7 , wherein the operations further comprise, prior to receiving the request by the Web Socket server, executing authentication between the Web Socket server and the web application.

10. The non-transitory computer readable medium of claim 7 , wherein the request comprises one or more of: modifying a document, composing and sending an email, or forwarding communication to a computer system in a set of computer systems comprising the particular machine.

11. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, cause performance of operations comprising:

executing a WebSocket server on a machine executing a web browser;

establishing a connection between the WebSocket server and the web browser;

receiving, by the Web Socket server from the web browser, a request requiring execution of a local application on the machine, the local application being inaccessible by a web application executed by the web browser, wherein the web browser sandboxes the web application;

responsive to the request: executing, by the WebSocket server, the local application to serve the request, wherein the WebSocket server, the web browser and the local application are executed on the machine.

12. The non-transitory computer readable medium of claim 11 , wherein receiving the request from the web browser comprises receiving the request from the web application executed by the web browser.

13. The non-transitory computer readable medium of claim 12 , wherein the web application is restricted from executing the local application.

14. The non-transitory computer readable medium of claim 12 , wherein the request is received by the Web Socket server responsive to:

displaying, via the web application, a user interface; and

receiving, via the user interface, a request from a user to execute the local application.

15. The non-transitory computer readable medium of claim 12 , wherein the operations further comprise, prior to receiving the request by the Web Socket server, executing authentication between the Web Socket server and the web application.

16. The non-transitory computer readable medium of claim 11 , wherein the connection between the Web Socket server and the web browser is established in response to a user successfully logging into a system, associated with the Web Socket server, via the web browser.

17. The non-transitory computer readable medium of claim 11 , wherein the request comprises one or more of: modifying a document, composing and sending an email, or forwarding communication to a computer system in a set of computer systems comprising the machine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2016
From: LIU, YUTING; LI, MINGJIE; KUMAR, DARSHAN; HUANG, KUANGYANG; YU, TSUNGHSI; KUMAR, KUNAL; DONG, QIANG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 039454/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2016
From: LIU, YUTING; LI, MINGJIE; KUMAR, DARSHAN; HUANG, KUANGYANG; YU, TSUNGHSI; KUMAR, KUNAL; DONG, QIANG
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 038652/0713 →
Continuity (2)
Provisional Application 62274752 · Jan 4, 2016
Related Publication 20170193221A1 · Jul 6, 2017
Cited By (1)
US 12,487,724