Using different TCP/IP stacks with separately allocated resources
First Claim
1. A method of implementing TCP/IP stacks on an electronic computing device that implements a plurality of TCP/IP stacks, the method comprising:
- allocating a first amount of memory resources for a first TCP/IP stack for a first process executing on the device outside of any virtual machine;
allocating a second amount of memory resources for a second TCP/IP stack for a second process executing outside of any virtual machine, said second amount of resources separate from the first amount of memory resources;
implementing the first TCP/IP stack with the first amount of memory resources; and
implementing the second TCP/IP stack with the second amount of memory resources,wherein memory resources allocated to a particular TCP/IP stack are not available for use by any other TCP/IP stack.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiple TCP/IP stack processors on a host. The multiple TCP/IP stack processors are provided independently of TCP/IP stack processors implemented by virtual machines on the host. The TCP/IP stack processors provide multiple different default gateway addresses for use with multiple processes. The default gateway addresses allow a service to communicate across an L3 network. Processes outside of virtual machines that utilize the TCP/IP stack processor on a first host can benefit from using their own gateway, and communicate with their peer process on a second host, regardless of whether the second host is located within the same subnet or a different subnet. The multiple TCP/IP stack processors can use separately allocated resources. Separate TCP/IP stack processors can be provided for each of multiple tenants on the host. Separate loopback interfaces of multiple TCP/IP stack processors can be used to create separate containment for separate sets of processes on a host.
26 Citations
21 Claims
-
1. A method of implementing TCP/IP stacks on an electronic computing device that implements a plurality of TCP/IP stacks, the method comprising:
-
allocating a first amount of memory resources for a first TCP/IP stack for a first process executing on the device outside of any virtual machine; allocating a second amount of memory resources for a second TCP/IP stack for a second process executing outside of any virtual machine, said second amount of resources separate from the first amount of memory resources; implementing the first TCP/IP stack with the first amount of memory resources; and implementing the second TCP/IP stack with the second amount of memory resources, wherein memory resources allocated to a particular TCP/IP stack are not available for use by any other TCP/IP stack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine readable medium storing a program which when executed by at least one processing unit implements a plurality of TCP/IP stacks, outside of any virtual machine, the program comprising sets of instructions for:
-
allocating a first amount of memory resources for a first TCP/IP stack for a first process executing on the device outside of any virtual machine; and allocating a second amount of memory resources for a second TCP/IP stack for a second process executing outside of any virtual machine, said second amount of resources separate from the first amount of memory resources, implementing the first TCP/IP stack with the first amount of memory resources; and implementing the second TCP/IP stack with the second amount of memory resources, wherein memory resources allocated to a particular TCP/IP stack are not available for use by any other TCP/IP stack. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. An electronic device implementing a first service and a second service, the electronic device comprising:
-
at least one processing unit; and a non-transitory machine readable medium storing a program that when executed by the at least one processing units implements a plurality of TCP/IP stacks outside of any virtual machine on the electronic device, the program comprising sets of instructions for; allocating a first amount of memory resources to a first TCP/IP stack executing outside of any virtual machine to process data from the first service into IP packets; allocating a second amount of memory resources separate from the first amount of memory resources to a second TCP/IP stack outside of any virtual machine to process data from the second service into IP packets; implementing the first TCP/IP stack with the first amount of resources to prevent data output operations of the first service from impacting the second amount of resources; and implementing the second TCP/IP stack with the second amount of resources to prevent data operations of the second service from impacting the first amount of resources. - View Dependent Claims (19, 20, 21)
-
Specification