IP Library Granted Patent US 11,330,076
Granted Patent B2
US 11,330,076 · App. 17/097,389 · Granted May 10, 2022

Systems and methods for isolating applications associated with multiple tenants within a computing platform

Inventors: Greg DeArment (Seattle, WA); Divyanshu Arora (Half Moon Bay, CA); Jason Hoch (New York, NY); Mark Elliot (London, GB); Matthew Williamson (London, GB); Robert Kruszewski (London, GB); Steven Austin (Rego Park, NY)
Assignee: Palantir Technologies Inc.
H04L67/32G06F9/4881H04L67/10
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,330,076
App. No.
17/097,389
Granted
May 10, 2022
Kind
B2
Abstract

Systems and methods for isolating applications associated with multiple tenants within a computing platform receive a request from a client associated with a tenant for running an application on a computing platform. Hosts connected to the platform are associated with a network address and configured to run applications associated with multiple tenants. A host is identified based at least in part on the request. One or more broadcast domain(s) including the identified hosts are generated. The broadcast domains are isolated in the network at a data link layer. A unique tenant identification number corresponding to the tenant is assigned to the broadcast domains. In response to launching the application on the host: the unique tenant identification number is assigned to the launched application and is added to the network address of the host; and the network address of the host is sent to the client associated with the tenant.

Claims (72)

1. A method for isolating applications associated with multiple tenants within a computing platform, the method comprising:

receiving a request from a client associated with a tenant for running an application on a computing platform, the computing platform including a plurality of hosts connected through a network, each host being associated with a network address and configured to run applications associated with multiple tenants;

identifying one or more hosts of the plurality of hosts based at least in part on the request;

generating one or more broadcast domains including the identified one or more hosts, the one or more broadcast domains being isolated in the network at a data link layer;

assigning to the one or more broadcast domains a unique tenant identification number corresponding to the tenant;

launching the application on at least one host of the identified one or more hosts; and

in response to launching the application on the at least one host:

assigning the unique tenant identification number to the launched application;

adding the unique tenant identification number to the network address of the at least one host; and

sending the network address of the at least one host to the client associated with the tenant;

wherein the method is performed using one or more processors.

2. The method of claim 1 wherein:

the network address further includes a unique cluster identification number;

the unique cluster identification number is associated with a cluster of the computing platform; and

the cluster is associated with the tenant.

3. The method of claim 2 wherein the unique tenant identification number includes the unique cluster identification number.

4. The method of claim 1 wherein:

the network address includes a plurality of bit sequences; and

one bit sequence of the plurality of bit sequences includes the unique tenant identification number.

5. The method of claim 4 wherein the plurality of bit sequences of the network address includes at least 128 bits.

6. The method of claim 1 wherein the broadcast domains include virtual local area networks.

7. The method of claim 1 wherein:

the launched application is included in a container; and

the container is associated with the unique tenant identification number.

8. The method of claim 7 wherein:

the container is included in a pod running on the at least one host;

the pod includes one or more containers; and

each container of the one or more containers is associated with one tenant of the computing platform.

9. The method of claim 8 wherein each container of the one or more containers is associated with a different tenant of the computing platform.

10. The method of claim 8 wherein the pod maps to the network address.

11. The method of claim 1 wherein the network address further includes a region identification number, a network device identification number, or a virtual interface of the at least one host.

12. The method of claim 1 wherein the one or more broadcast domain map to the network address.

13. A system for isolating applications associated with multiple tenants within a computing platform, the system comprising:

a plurality of hosts connected through a network, each host being associated with a network address and configured to run applications associated with multiple tenants on a computing platform; and

a fleet controller;

wherein the fleet controller is configured to:

in response to receiving a first request from a client associated with a tenant for running an application on the computing platform, identify one or more hosts of the plurality of hosts based at least in part on the request;

generate one or more broadcast domains including the identified one or more hosts, the one or more broadcast domains being isolated in the network at a data link layer;

assign to the one or more broadcast domains a unique tenant identification number corresponding to the tenant;

send a second request to a scheduler for launching the application on at least one host of the identified one or more hosts; and

in response to receiving confirmation from the scheduler of the application being launched on the at least one host:

assign the unique tenant identification number to the launched application;

add the unique tenant identification number to the network address of the at least one host; and

send the network address of the at least one host to the client associated with the tenant.

14. The system of claim 13 wherein:

the network address further includes a unique cluster identification number;

the unique cluster identification number is associated with a cluster of the computing platform; and

the cluster is associated with the tenant.

15. The system of claim 13 wherein:

the network address includes a plurality of bit sequences; and

one bit sequence of the plurality of bit sequences includes the unique tenant identification number.

16. The system of claim 15 wherein the plurality of bit sequences of the network address includes at least 128 bits.

17. The system of claim 13 wherein the broadcast domains include virtual local area networks.

18. A system for isolating applications associated with multiple tenants within a computing platform, the system comprising:

a client associated with a tenant and configured to request running an application on a computing platform, the computing platform including a plurality of hosts connected through a network, each host being associated with a network address and configured to run applications associated with multiple tenants;

wherein the client is further configured to:

send a request for running the application on the computing platform; and

in response to sending the request for running the application on the computing platform, receive the network address of at least one host of the plurality of hosts;

wherein:

one or more hosts of the plurality of hosts are identified based at least in part on the request, the identified one or more hosts including the at least one host;

one or more broadcast domains are generated to include the identified one or more hosts, the one or more broadcast domains being isolated in the network at a data link layer;

the one or more broadcast domains are assigned to a unique tenant identification number corresponding to the tenant;

the application is launched on the at least one host of the identified one or more hosts;

the launched application is assigned to the unique tenant identification number; and

the unique tenant identification number is added to the network address of the at least one host.

19. The system of claim 18 wherein:

the network address further includes a unique cluster identification number;

the unique cluster identification number is associated with a cluster of the computing platform; and

the cluster is associated with the tenant.

20. The system of claim 19 wherein:

the network address includes a plurality of bit sequences; and

one bit sequence of the plurality of bit sequences includes the unique tenant identification number.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: DEARMENT, GREG; ARORA, DIVYANSHU; HOCH, JASON; ELLIOT, MARK; WILLIAMSON, MATTHEW; KRUSZEWSKI, ROBERT; AUSTIN, STEVEN
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 054360/0588 →
Continuity (3)
Continuation 16545073 · Aug 20, 2019
Provisional Application 62803257 · Feb 8, 2019
Related Publication 20210067603A1 · Mar 4, 2021