IP Library Granted Patent US 11,030,025
Granted Patent B2
US 11,030,025 · App. 15/600,007 · Granted Jun 8, 2021

Managing inter-process communications in a containerized application environment

Inventors: Sisimon Soman (Sunnyvale, CA); Matthew Conover (Mountain View, CA)
Assignee: VMware, Inc.
G06F9/548G06F9/45504
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,030,025
App. No.
15/600,007
Granted
Jun 8, 2021
Kind
B2
Abstract

Described herein are systems, methods, and software to enhance the management of inter-process communications (IPCs) for containers according to an implementation. In one implementation, a container management service executing on a host with a plurality of containers may identify an IPC object generation with a first identifier from one of the containers. Responsive to the request, the service may translate the first identifier into a second identifier, and store the IPC object in a memory system using the second identifier. Once stored, requests may be made from applications in approved containers for the object using the first identifier, and the service may retrieve the IPC object using the second identifier.

Claims (52)

1. A method of managing inter-process communications (IPCs) in a containerized application environment, the method comprising:

identifying a generation request to generate an IPC object using a first identifier;

translating the first identifier of the IPC object to a second identifier based on a container associated with the generation request;

storing the IPC object in the memory system using the second identifier;

identifying, from an application executing in the container on a host, a request for the IPC object using the first identifier for the IPC object, wherein the first identifier is used by the application in the container and one or more other applications executing in one or more other containers on the host;

translating the first identifier to the second identifier associated with the IPC object based on the container for the application, wherein the second identifier is unique to at least the container and wherein requests from at least a portion of the one or more other containers using the first identifier are translated to one or more other unique identifiers associated with one or more other IPC objects located in the memory system with the IPC object;

accessing the IPC object in the memory system using the second identifier; and

providing the IPC object to the application.

2. The method of claim 1 , wherein the container for the application and the container associated with the generation request comprise the same container.

3. The method of claim 1 , wherein the container for the application and the container associated with the generation request comprise different containers.

4. The method of claim 1 , wherein identifying the generation request to generate the IPC object using the first identifier comprises identifying, from a first application, the generation request to generate the IPC object using the first identifier.

5. The method of claim 1 further comprising transferring a notification to the application indicating the IPC object has been stored in the memory system.

6. The method of claim 5 , wherein the notification indicates the first identifier for the IPC object.

7. The method of claim 1 further comprising:

identifying, from a second application of the one or more other applications, a second request for a second IPC object using the first identifier;

determining a third identifier associated with the second IPC object based on a container for the second application, wherein the second application executes in a different container than the application;

accessing the second IPC object in the memory system using the third identifier; and

providing the second IPC object to the second application.

8. A computing apparatus comprising:

one or more non-transitory computer readable storage media;

a processing system operatively coupled to the one or more non-transitory computer readable storage media;

program instructions stored on the one or more non-transitory computer readable storage media to manage inter-process communications (IPCs) for containers that, when read and executed by the processing system, direct the processing system to at least:

identify a generation request to generate an IPC object using a first identifier;

translate the first identifier of the IPC object to a second identifier based on a container associated with the generation request;

store the IPC object in the memory system using the second identifier;

identify, from an application executing in the container on a host, a request for the IPC object using the first identifier for the IPC object, wherein the first identifier is used by the application in the container and one or more other applications executing in one or more other containers on the host;

translate the first identifier to the second identifier associated with the IPC object based on the container for the application, wherein the second identifier is unique to at least the container and wherein requests from at least a portion of the one or more other containers using the first identifier are associated with one or more other unique identifiers associated with one or more other IPC objects located in the memory system with the IPC object;

access the IPC object in the memory system using the second identifier; and

provide the IPC object to the application.

9. The computing apparatus of claim 8 , wherein the container for the application and the container associated with the generation request comprise the same container.

10. The computing apparatus of claim 8 , wherein container for the application and the container associated with the generation request comprise different containers.

11. The computing apparatus of claim 8 , wherein the program instructions to identify the generation request to generate the IPC object using the first identifier direct the processing system to identify, from a first application, the generation request to generate the IPC object using the first identifier.

12. The computing apparatus of claim 8 , wherein the program instructions further direct the processing system to transfer a notification to the application indicating the IPC object has been stored in the memory system.

13. The computing apparatus of claim 12 , wherein the notification indicates the first identifier for the IPC object.

14. The computing apparatus of claim 8 , wherein the program instructions further direct the processing system to:

identify, from a second application of the one or more applications, a second request for a second IPC object using the first identifier;

determine a third identifier associated with the second IPC object based on a container for the second application, wherein the second application executes in a different container than the application;

access the second IPC object in the memory system using the third identifier; and

provide the second IPC object to the second application.

15. The computing apparatus of claim 8 , wherein the host comprises a virtual machine.

16. An apparatus comprising:

one or more non-transitory computer readable storage media;

program instructions stored on the one or more non-transitory computer readable storage media to manage inter-process communications (IPCs) for containers that, when read and executed by a processing system, direct the processing system to at least:

identify a generation request to generate an IPC object using a first identifier, wherein the first identifier is used by applications in a plurality of containers on a host;

translate the first identifier for the IPC object to a second identifier based on a container of the plurality of containers associated with the generation request;

store the IPC object in a memory system using the second identifier;

identify, from an application, a request for the IPC object using the first identifier for the IPC object;

translate the first identifier to the second identifier associated with the IPC object based on a container of the plurality of containers for the application, wherein the second identifier is unique to at least the container for the application and wherein requests from one or more other containers of the plurality of containers using the first identifier are translated to one or more other unique identifiers associated with one or more other IPC objects located in the memory system with the IPC object;

access the IPC object in the memory system using the second identifier; and

provide the IPC object to the application.

17. The apparatus of claim 16 , wherein the container for the application and the container associated with the generation request comprise the same container.

18. The apparatus of claim 16 , wherein the container for the application and the container associated with the generation request comprise different containers.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2017
From: SOMAN, SISIMON; CONOVER, MATTHEW
To: VMWARE, INC.
Reel/Frame 042437/0753 →