IP Library › Granted Patent US 12,155,630
Granted Patent B2
US 12,155,630 · App. 17/402,781 · Granted Nov 26, 2024

Systems and methods for providing private application access via client to client and server to client communication through a cloud-based system

Inventors: John A. Chanak (Saratoga, CA); Sindhura Mandava (San Jose, CA); Vamshi Palkonda (Pleasanton, CA); Charles Huang (Palo Alto, CA); Ramesh Badam (Hyderabad, IN); Victor Pavlov (Palo Alto, CA); Kunal Shah (Los Altos, CA); Vikas Mahajan (Ludhiana, IN); Yun Ling (San Jose, CA)
Assignee: Zscaler, Inc.
H04L63/0272G06F9/547H04L9/006H04L9/0894H04L9/14H04L9/30H04L9/3263H04L63/029H04L63/0823H04L63/0876H04L67/01H04L67/1021H04L61/4511H04L61/59
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 12,155,630
App. No.
17/402,781
Granted
Nov 26, 2024
Kind
B2
Abstract

Systems and methods include receiving a request, in a cloud system from a first device, to access a second device; determining if the first device is permitted to access the second device; if the first device is not permitted to access the second device, notifying the first device the second device does not exist; and, if the first device is permitted to access the second device, stitching together connections between the cloud system, the first device, and the second device to provide access to the second device for the first device, wherein the connections are implemented through the cloud-based system.

Claims (30)

1. A method comprising:

receiving a request, in a cloud-based system from a first device, to access an application on a second device, the first device being a server associated with the cloud-based system and the second device being a user device associated with a customer of the cloud-based system, wherein the application is executing on the user device, and wherein the access is for any of performing an update, performing troubleshooting, performing policy updates, performing remote device management, and performing an install of software for the second device via the first device;

determining if the first device is permitted to access the second device;

if the first device is not permitted to access the second device, notifying the first device the second device does not exist; and

if the first device is permitted to access the second device, stitching together connections between the cloud-based system, the first device, and the second device to provide control of the second device from the first device, wherein the stitching the connections together is implemented through the cloud-based system and connectors associated with the first device and the second device, and wherein the connectors associated with the server and the user device dial out to the cloud-based system for creating a connection via secure tunnels between the cloud-based system and the server, and the cloud-based system and the user device.

2. The method of claim 1 , wherein the determining includes determining if a user associated with the first device is permitted to access the second device.

3. The method of claim 1 , wherein the stitching together the connections includes the server creating a connection to the cloud-based system and the user device creating a connection to the cloud-based system, to enable the server and the user device to communicate, thereby allowing the server to perform one or more functions on the user device.

4. The method of claim 1 , wherein the stitching together the connections includes at least two tunnels including a tunnel between a connector associated with the first device and the cloud-based system and a tunnel between a connector associated with the second device and the cloud-based system.

5. The method of claim 1 , wherein the second device includes a connector operating on a computer and communicatively coupled to the cloud-based system.

6. The method of claim 1 , wherein the first device is a user device and the second device is a second user device, and wherein the application is executing on the second user device.

7. A non-transitory computer-readable storage medium having computer readable code stored thereon for programming a device to perform steps of:

receiving a request, in a cloud-based system from a first device, to access an application on a second device, the first device being a server associated with the cloud-based system and the second device being a user device associated with a customer of the cloud-based system, wherein the application is executing on the user device, and wherein the access is for any of performing an update, performing troubleshooting, performing policy updates, performing remote device management, and performing an install of software for the second device via the first device;

determining if the first device is permitted to access the second device;

if the first device is not permitted to access the second device, notifying the first device the second device does not exist; and

if the first device is permitted to access the second device, stitching together connections between the cloud-based system, the first device, and the second device to provide control of the second device from the first device, wherein the stitching the connections together is implemented through the cloud-based system and connectors associated with the first device and the second device, and wherein the connectors associated with the server and the user device dial out to the cloud-based system for creating a connection via secure tunnels between the cloud-based system and the server, and the cloud-based system and the user device.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the determining includes determining if a user associated with the first device is permitted to access the second device.

9. The non-transitory computer-readable storage medium of claim 7 , wherein the stitching together the connections includes the server creating a connection to the cloud-based system and the user device creating a connection to the cloud-based system, to enable the server and the user device to communicate, thereby allowing the server to perform one or more functions on the user device.

10. The non-transitory computer-readable storage medium of claim 7 , wherein the stitching together the connections includes at least two tunnels including a tunnel between a connector associated with the first device and the cloud-based system and a tunnel between a connector associated with the second device and the cloud-based system.

11. The non-transitory computer-readable storage medium of claim 7 , wherein the second device includes a connector operating on a computer and communicatively coupled to the cloud-based system.

12. The non-transitory computer-readable storage medium of claim 7 , wherein the first device is a user device and the second device is a second user device, and wherein the application is executing on the second user device.

13. A node in a cloud-based system comprising:

one or more processors and memory storing instructions that, when executed, cause the one or more processors to

receive a request, from a first device, to access an application on a second device, the first device being a server associated with the cloud-based system and the second device being a user device associated with a customer of the cloud-based system, wherein the application is executing on the user device, and wherein the access is for any of performing an update, performing troubleshooting, performing policy updates, performing remote device management, and performing an install of software for the second device via the first device;

determining if the first device is permitted to access the second device;

if the first device is not permitted to access the second device, notify the first device the second device does not exist; and

if the first device is permitted to access the second device, stitch together connections between the cloud-based system, the first device, and the second device to provide control of the second device from the first device, wherein the connections are stitched together through the cloud-based system and connectors associated with the first device and the second device where the connectors associated with the server and the user device dial out to the cloud-based system for creating a connection via secure tunnels between the cloud-based system and the server, and the cloud-based system and the user device.

14. The node of claim 13 , wherein the determining includes determining if a user associated with the first device is permitted to access the second device.

15. The node of claim 13 , wherein the stitching together the connections includes the server creating a connection to the cloud-based system and the user device creating a connection to the cloud-based system, to enable the server and the user device to communicate, thereby allowing the server to perform one or more functions on the user device.

16. The node of claim 13 , wherein the second device includes a connector operating on a computer and communicatively coupled to the cloud-based system.

17. The node of claim 13 , wherein the first device is a user device and the second device is a second user device, and wherein the application is executing on the second user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2021
From: CHANAK, JOHN A.; MANDAVA, SINDHURA; PALKONDA, VAMSHI; HUANG, CHARLES; BADAM, RAMESH; PAVLOV, VICTOR; SHAH, KUNAL; MAHAJAN, VIKAS; LING, YUN
To: ZSCALER, INC.
Reel/Frame 057186/0317 →
Priority Claims (1)
IN 202111029812 · Jul 2, 2021 · national
Continuity (4)
Continuation In Part 16800307 · Feb 25, 2020
Continuation 15986874 · May 23, 2018
Continuation In Part 15158153 · May 18, 2016
Related Publication 20210377223A1 · Dec 2, 2021
Cited By (1)
US 12,750,368