IP Library Granted Patent US 11,210,139
Granted Patent B2
US 11,210,139 · App. 16/748,880 · Granted Dec 28, 2021

Remote management of distributed datacenters

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 11,210,139
App. No.
16/748,880
Filed
Jan 22, 2020
Granted
Dec 28, 2021
Kind
B2
Art Unit
2456
USPC
709/226
Abstract

A cloud-based management system for distributed datacenters provides remote management of the datacenters from terminals at various locations. A virtual cloud-based operating system facilitates a transparent system call architecture, permitting subscribers to deploy, configure and manage operations at machines operating on different local operating systems. The virtual operating system can canonicalize available resources into a namespace to expose the resources as files at terminals. Asynchronous execution of subscriber commands across a group of target machines is provided with a notification procedure to control bandwidth and resource allocation. A file distribution model without a central controller for a group of target machines is provided to alleviate interaction with the management cluster for file distribution.

Claims (76)

1. A method comprising:

receiving, by a terminal, a system call associated with an operating system of a client device;

determining whether the system call requests to access a remote resource located on a remote device;

converting, based on a determination that the system call requests to access the remote resource, the system call to a system protocol packet;

encapsulating the system protocol packet into a communication protocol packet; and

sending the communication protocol packet to a remote management server.

2. The method of claim 1 , wherein the system call comprises a user request to perform a target action or access a resource at a target machine.

3. The method of claim 1 , wherein the determining whether the system call requests to access a remote resource comprises checking a remote processing library.

4. The method of claim 1 , wherein the encapsulating the system protocol packet into the communication protocol packet comprises creating an encoded packet and embedding the encoded packet into a header of the communication protocol packet.

5. The method of claim 1 , further comprising:

sending, based on a determination that the system call does not reference a remote resource, the system call to the operating system of the client device.

6. The method of claim 1 , further comprising:

receiving a second communication protocol packet from the remote management server, wherein the second communication protocol packet comprises a response code indicating execution of the system call at a target machine;

decoding the second communication protocol packet to extract the response code;

converting the extracted response code to a second system call for the operating system of the client device; and

causing a result of the second system call executed by the operating system of the client device to be available for the terminal.

7. The method of claim 6 , further comprising:

determining the target machine based on a certificate number encoded in a header of the second communication protocol packet.

8. The method of claim 6 , further comprising:

determining a transaction corresponding to the response code based on a transaction identification number encoded in a header of the second communication protocol packet.

9. The method of claim 6 , wherein the second communication protocol packet further comprises a resource request from the remote management server, further comprising:

sending the result of the second system call to the remote management server; and

receiving a resource reply from the remote management server.

10. An apparatus comprising:

at least one processor; and

at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to:

receive a system call associated with an operating system of a client device;

determine whether the system call requests to access a remote resource located at a remote device;

convert, based on a determination that the system call requests to access the remote resource, the system call to a system protocol packet;

encapsulate the system protocol packet into a communication protocol packet; and

send the communication protocol packet to a remote management server.

11. The apparatus of claim 10 , wherein the system call comprises a user request to perform a target action or access a resource at a target machine.

12. The apparatus of claim 10 , wherein the determining whether the system call requests to access a remote resource comprises checking a remote processing library.

13. The apparatus of claim 10 , wherein the encapsulating the system protocol packet into the communication protocol packet comprises creating an encoded packet and embedding the encoded packet into a header of the communication protocol packet.

14. The apparatus of claim 10 , wherein the instructions when executed further cause the apparatus to:

send, based on a determination that the system call does not reference a remote resource, the system call to the operating system of the client device.

15. The apparatus of claim 10 , wherein the instructions when executed further cause the apparatus to:

receive a second communication protocol packet from the remote management server, wherein the second communication protocol packet comprises a response code indicating execution of the system call at a target machine;

decode the second communication protocol packet to extract the response code;

convert the extracted response code to a second system call for the operating system of the client device; and

cause a result of the second system call executed by the operating system of the client device to be available for the apparatus.

16. The apparatus of claim 15 , wherein the instructions when executed further cause the apparatus to:

determine the target machine based on a certificate number encoded in a header of the second communication protocol packet.

17. The apparatus of claim 15 , wherein the instructions when executed further cause the apparatus to:

determine a transaction corresponding to the response code based on a transaction identification number encoded in a header of the second communication protocol packet.

18. The apparatus of claim 15 , wherein the second communication protocol packet further comprises a resource request from the remote management server, and wherein the instructions when executed further cause the apparatus to:

send the result of the second system call to the remote management server; and

receive a resource reply from the remote management server.

19. A method comprising:

receiving, by an agent at a target machine and from a remote management server, a communication protocol packet comprising an encapsulated system protocol packet;

decoding the encapsulated system protocol packet to extract a system call associated with an operating system of a remote client device, wherein the system call requests to access a resource located on the target machine;

converting the extracted system call to a native system call to be executed by an operating system of the target machine;

receiving a response code indicating execution of the native system call by the operating system of the target machine;

converting the response code into a second system protocol packet;

encapsulating the second system protocol packet into a second communication protocol packet; and

sending the second communication protocol packet to the remote management server.

20. The method of claim 19 , wherein the encapsulating the second system protocol packet into the second communication protocol packet comprises creating an encoded packet and embedding the encoded packet into a header of the second communication protocol packet.

21. The method of claim 19 , further comprising:

adding a transaction identification number to the second system protocol packet to identify a transaction corresponding to the response code.

22. The method of claim 19 , further comprising:

adding a certificate number to the second system protocol packet to identify the target machine that has executed the native system call.

23. A resource device comprising:

at least one processor; and

at least one memory storing instructions that, when executed by the at least one processor, cause the device to:

receive, from a remote management server, a communication protocol packet comprising an encapsulated system protocol packet;

decode the encapsulated system protocol packet to extract a system call associated with an operating system of a remote client device, wherein the system call requests to access a resource located on a target machine;

convert the extracted system call to a native system call to be executed by an operating system of the target machine;

receive a response code indicating execution of the native system call by the operating system of the target machine;

convert the response code into a second system protocol packet;

encapsulate the second system protocol packet into a second communication protocol packet; and

send the second communication protocol packet to the remote management server.

24. The resource device of claim 23 , wherein the encapsulating the second system protocol packet into the second communication protocol packet comprises creating an encoded packet and embedding the encoded packet into a header of the second communication protocol packet.

25. The resource device of claim 23 , wherein the instructions when executed further cause the device to:

add a transaction identification number to the second system protocol packet to identify a transaction corresponding to the response code.

26. The resource device of claim 23 , wherein the instructions when executed further cause the device to:

add a certificate number to the second system protocol packet to identify the target machine that has executed the native system call.