Patent Issued for System And Method For Messaging Between Operating System Containers (USPTO 10,305,834)

Daily Asia Business |

2019 JUN 12 (NewsRx) -- By a News Reporter-Staff News Editor at Daily Asia Business -- Huawei Technologies Co. Ltd. (Shenzhen, People’s Republic of China) has been issued patent number 10,305,834, according to news reporting originating out of Alexandria, Virginia, by NewsRx editors.

The patent’s inventors are Ho, Alan Pak-Lun (Unionville, CA); Singh, Amarpreet (Pune, IN); Lee, Sangjoo (Gyeonggi-do, KR).

This patent was filed on and was published online on .

From the background information supplied by the inventors, news correspondents obtained the following quote: “Generally, virtual systems have several user space instances virtualized at the operating system level. Many devices today, such as smartphones, tablets, and cloud computing systems, are virtualized to include several user space instances, which allows for greater granularity and control over the software on a device. Although a typical operating system includes one kernel space and one user space, a virtualized system may include one kernel space and several user space instances (sometimes called ‘containers’). Virtualized systems allow each container to be isolated, however, some communication may still be required between containers.”

Supplementing the background information on this patent, NewsRx reporters also obtained the inventors’ summary information for this patent: “In accordance with a preferred embodiment of the present invention, a method includes receiving, by a first proxy in a first user space container, a first message from a first service in the first user space container, the first message sent to the first proxy using a first messaging mechanism, forwarding, by the first proxy, the first message to a second proxy in a second user space container, the first message sent to the second proxy using a second messaging mechanism that is different than the first messaging mechanism, and delivering, by the second proxy, the first message to a second service in the second user space container.

“In accordance with a preferred embodiment of the present invention, an operating system includes a first user space container comprising a first plurality of processes, and a first message proxy configured to receive a first message from one of the first plurality of processes using a first messaging mechanism, and a second user space container isolated from the first user space container, the second user space container comprising a second message proxy configured to receive the first message from the first message proxy using a second messaging mechanism that is different than the first messaging mechanism, and a second plurality of processes, one of the second plurality of processes configured to receive the first message from the second message proxy.

“In accordance with a preferred embodiment of the present invention, a device includes a processor, and a computer-readable medium including programming, the programming including instructions for receiving, by a first proxy in a first user space container, a first message from a first service in the first user space container, the first message sent to the first proxy using a first messaging mechanism, forwarding, by the first proxy, the first message to a second proxy in a second user space container, the first message sent to the second proxy using a second messaging mechanism that is different than the first messaging mechanism, and delivering, by the second proxy, the first message to a second service in the second user space container using the first messaging mechanism.

“An advantage of a preferred embodiment of the present invention is that local messaging within an operating system container may be decoupled from inter-container messaging. A container-local process must be granted global messaging privileges in the operating system to perform inter-container messaging. Decoupling local and global messaging may reduce the quantity of privileged processes executing in an operating system. Further, decoupling local and global messaging provides a centralized mechanism for messaging, which allows for greater access control in the operating system. Security and stability of the operating system and the containers may thus be improved.”

The claims supplied by the inventors are:

“What is claimed is:

“1. A method comprising: receiving, by a first proxy in a first operating system (OS) distribution running within a first user space container running on an OS kernel of a computing device, a first message from a first process in the first user space container, the first message sent to the first proxy using a first messaging mechanism; forwarding, by the first proxy, the first message to a second proxy in a second OS distribution running within a second user space container running on the OS kernel of the computing device, the first message sent to the second proxy using a second messaging mechanism that is different than the first messaging mechanism, wherein the second OS distribution is distinct from the first OS distribution, and the first user space container and the second user space container are two distinct user space instances isolated from each other; and delivering, by the second proxy, the first message to a second process in the second user space container.

“2. The method of claim 1, wherein forwarding the first message to the second proxy comprises directly sending the first message from the first proxy to the second proxy.

“3. The method of claim 1, wherein forwarding the first message to the second proxy comprises: sending, by the first proxy, the first message to a router, the first message sent to the router using the second messaging mechanism; and forwarding, by the router, the first message to the second proxy using the second messaging mechanism.

“4. The method of claim 1, wherein delivering the first message to the second process comprises: sending, by the second proxy, the first message to the second process using the first messaging mechanism.

“5. The method of claim 1, wherein delivering the first message to the second process comprises: sending, by the second proxy, the first message to the second process using a third messaging mechanism that is different than the first messaging mechanism.

“6. The method of claim 1, wherein the first message is received by the first proxy in a first format, and wherein the first message is sent to the second proxy in one of the first format or a second format that is different than the first format.

“7. The method of claim 6, wherein the first message is delivered to the second process in a third format that is different than the first format and the second format.

“8. The method of claim 6, wherein the first message is delivered to the second process in a third format, the third format being the same as the first format.

“9. The method of claim 1, further comprising: receiving, by a third proxy in a third OS distribution running within a third user space container running on the OS kernel of the computing device, a second message sent by the first process in the first user space container using the first messaging mechanism and forwarded by the first proxy to the third proxy using a second messaging mechanism; and delivering, by the third proxy, the second message to a third process in the third user space container, the second message sent to the third process using one of the first messaging mechanism or a third messaging mechanism.

“10. The method of claim 9, wherein the second message is received by the first proxy in a first format, wherein the second message is sent to the third proxy in a second format that is different than the first format, and wherein the second message is delivered to the third process in one of the first format or a third format that is different than the first format and the second format.

“11. The method of claim 1, wherein the first message is a description of an operation to be performed by the second process.

“12. The method of claim 1, wherein forwarding, by the first proxy, the first message to the second proxy comprises: serializing, by the first proxy, the first message to produce a serialized message; appending, by the first proxy, an identifier to the serialized message; and sending, by the first proxy, the serialized message to the second proxy using the second messaging mechanism.

“13. The method of claim 12, wherein delivering, by the second proxy, the first message to the second process comprises: identifying, by the second proxy, the second process according to the identifier; deserializing, by the second proxy, the serialized message to produce the first message; and sending, by the second proxy, the first message to the second process.

“14. The method of claim 1, wherein the first messaging mechanism is an intra-container inter process communication (IPC) mechanism, and the second messaging mechanism is an inter-container IPC mechanism.

“15. An operating system (OS) for a computing device, the operating system comprising computer-readable instructions, which when executed by a processor of the computing device cause the computing device to: virtualize a first user space container running on a kernel of the OS, the first user space container comprising: a first plurality of processes; a first OS distribution; and a first message proxy configured to receive a first message from one of the first plurality of processes using a first messaging mechanism; and virtualize a second user space container running on the kernel of the OS and isolated from the first user space container, the second user space container being isolated and distinct from the first user space container, and the second user space container comprising: a second message proxy configured to receive the first message from the first message proxy using a second messaging mechanism that is different than the first messaging mechanism; a second OS distribution distinct from the first OS distribution; and a second plurality of processes, one of the second plurality of processes configured to receive the first message from the second message proxy.

“16. The operating system of claim 15, wherein: the kernel of the OS comprises a device driver, the one of the second plurality of processes configured to access the device driver according to the first message received from the one of the first plurality of processes.

“17. The operating system of claim 15, further comprising: a message router configured to receive the first message from the first message proxy using the second messaging mechanism, and to forward the first message to the second message proxy using the second messaging mechanism.

“18. The operating system of claim 15, wherein the first message proxy is configured to directly deliver the first message to the second message proxy using the second messaging mechanism.

“19. The operating system of claim 15, wherein the first messaging mechanism is a local inter-process communication mechanism, and the second messaging mechanism is a global inter-process communication mechanism.

“20. The operating system of claim 15, wherein the one of the second plurality of processes is configured to receive the first message from the second message proxy using the first messaging mechanism.

“21. The operating system of claim 15, wherein the one of the second plurality of processes is configured to receive the first message from the second message proxy using a third messaging mechanism.

“22. The operating system of claim 21, wherein the first message is received by the first message proxy in a first message format, and wherein the first message is received by the second message proxy in a second message format that is different than the first message format.

“23. The operating system of claim 22, wherein the first message is received by the one of the second plurality of processes in a third message format, and wherein the second message proxy translates the first message into the third message format.

“24. The operating system of claim 22, wherein the first message is received by the one of the second plurality of processes in the first message format.

“25. The operating system of claim 15, wherein the first message proxy is further configured to serialize and identify the first message to produce a second message, and wherein the second message proxy is further configured to deserialize the second message to produce the first message.

“26. A computing device comprising: a processor; and a computer-readable medium including programming, the programming including an operating system comprising instructions executable by the processor for: receiving, by a first proxy in a first operating system (OS) distribution running within a first user space container running on an OS kernel of the computing device, a first message from a first process in the first user space container, the first message sent to the first proxy using a first messaging mechanism; forwarding, by the first proxy, the first message to a second proxy in a second OS distribution running within a second user space container running on the OS kernel of the computing device, the first message sent to the second proxy using a second messaging mechanism that is different than the first messaging mechanism, wherein the second OS distribution is distinct from the first OS distribution, and the first user space container and the second user space container are two distinct user space instances isolated from each other; and delivering, by the second proxy, the first message to a second process in the second user space container using the first messaging mechanism.”

For the URL and additional information on this patent, see: Ho, Alan Pak-Lun; Singh, Amarpreet; Lee, Sangjoo. System And Method For Messaging Between Operating System Containers. U.S. Patent Number 10,305,834, filed , and published online on . Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=10,305,834.PN.&OS=PN/10,305,834RS=PN/10,305,834

(Our reports deliver fact-based news of research and discoveries from around the world.)

DISCLOSURE: The views and opinions expressed in this article are those of the authors, and do not represent the views of equities.com. Readers should not consider statements made by the author as formal recommendations and should consult their financial advisor before making any investment decisions. To read our full disclosure, please go to: http://www.equities.com/disclaimer

Comments

Watchlist

Symbol Last Price Change % Change
AAPL

     
AMZN

     
HD

     
JPM

     
IBM

     

Blockchain in Fintech - Discussion at the EU Parliament

From the recent Blockchain For Europe Summit in Brussels: Panel on Financial Market Infrastructure