IP Library Granted Patent US 10,990,446
Granted Patent B2
US 10,990,446 · App. 16/528,625 · Granted Apr 27, 2021

Fault-tolerant and highly available configuration of distributed services

Inventors: Greg DeArment (Seattle, WA); Mark Elliot (New York, NY); Jonathon Yu (Palo Alto, CA); Jon Paek (Sunnyvale, CA); Phillip Chen (New York, NY); Brian Toth (Palo Alto, CA); David Tolnay (Menlo Park, CA); Daniel Rothfus (Fort Worth, TX); Bradley Moylan (Palo Alto, CA)
Assignee: PALANTIR TECHNOLOGIES INC.
G06F9/5005G06F9/44G06F9/44505G06F9/465G06F9/48G06F9/4806G06F9/4843G06F9/50G06F11/07G06F11/0709G06F11/14H04L67/1095G06F8/71H04L41/5054
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 10,990,446
App. No.
16/528,625
Granted
Apr 27, 2021
Kind
B2
Abstract

Fault-tolerant and highly available configuration of distributed services including a computer-implemented method for role-based configuration discovery comprising receiving a request comprising an identifier of a role; identifying a first key, in a replica of a distributed configuration store, comprising a first value that matches the role identifier; identifying one or more other key-value pairs associated in the replica with the first key; and returning a response to an entity that sent the request comprising the value of at least one key-value pair that is specific to the role the service has. Also disclosed are techniques for log forwarding.

Claims (44)

1. A method for log forwarding, the method comprising:

obtaining, at a host, network endpoint information from a replica of a distributed configuration store that is stored locally at the host, the replica of the distributed configuration store updated using a consensus protocol that is configured to keep network endpoint information of multiple replicas of the distributed configuration store consistent;

wherein the network endpoint information identifies a location on a network of a first service, the first service comprising a centralized log collection and aggregation network service;

obtaining, at the host, an identifier of a second service installed on the host from the replica of the distributed configuration store, the second service being distinct from the first service;

based, at least in part, on the obtaining the identifier of the second service, obtaining, at the host, from the replica of the distributed configuration store, information indicating where, in a file system, one or more logs generated by the second service are stored;

using the information indicating where the one or more logs generated by the second service are stored, collecting, at the host, the one or more logs generated by the second service;

using the network endpoint information, sending, by the host, the one or more logs generated by the second service to the first service.

2. The method of claim 1 , wherein the network endpoint information comprises an interne protocol address associated with the first service for collecting logs.

3. The method of claim 1 , further comprising:

based, at least in part, on the obtaining the identifier of the second service, providing, to the first service, the identifier of the second service in association with the information from the one or more logs provided to the first service.

4. The method of claim 1 , further comprising:

obtaining a host identifier of the host at which the replica is stored; and

based, at least in part, on the obtaining the host identifier, obtaining, from the replica, information indicating where, in a file system, the one or more logs generated by the second service are stored.

5. The method of claim 4 , wherein the sending the information from the one or more logs to the first service is based, at least in part, on the obtaining the information indicating where, in the file system, the one or more logs are stored.

6. One or more non-transitory computer-readable media storing one or more programs for execution by one or more processors, the one or more programs comprising instructions for:

obtaining, at a host, network endpoint information from a replica of a distributed configuration store that is stored locally at the host, the replica of the distributed configuration store updated using a consensus protocol that is configured to keep network endpoint information of multiple replicas of the distributed configuration store consistent;

wherein the network endpoint information identifies a location on a network of a first service, the first service comprising a centralized log collection and aggregation network service;

obtaining, at the host, an identifier of a second service installed on the host from the replica of the distributed configuration store, the second service being distinct from the first service;

based, at least in part, on the obtaining the identifier of the second service, obtaining, at the host, from the replica of the distributed configuration store, information indicating where, in a file system, one or more logs generated by the second service are stored;

using the information indicating where the one or more logs generated by the second service are stored, collecting, at the host, the one or more logs generated by the second service;

using the network endpoint information, sending, by the host, the one or more logs generated by the second service to the first service.

7. The one or more non-transitory computer-readable media of claim 6 , wherein the network endpoint information comprises an internet protocol address associated with the first service for collecting logs.

8. The one or more non-transitory computer-readable media of claim 6 , further comprising instructions which, when executed by the one or more processors, cause:

based, at least in part, on the obtaining the identifier of the second service, providing, to the first service, the identifier of the second service in association with the information from the one or more logs provided to the first service.

9. The one or more non-transitory computer-readable media of claim 6 , further comprising instructions which, when executed by the one or more processors, cause:

obtaining a host identifier of the host at which the replica is stored; and

based, at least in part, on the obtaining the host identifier, obtaining, from the replica, information indicating where, in a file system, the one or more logs generated by the second service are stored.

10. The one or more non-transitory computer-readable media of claim 9 , wherein the sending the information from the one or more logs to the first service is based, at least in part, on the obtaining the information indicating where, in the file system, the one or more logs are stored.

11. A system, comprising:

one or more processors;

one or more storage media storing one or more programs for execution by the one or more processors, the one or more programs comprising instructions for:

obtaining, at a host, network endpoint information from a replica of a distributed configuration store that is stored locally at the host, the replica of the distributed configuration store updated using a consensus protocol that is configured to keep network endpoint information of multiple replicas of the distributed configuration store consistent;

wherein the network endpoint information identifies a location on a network of a first service, the first service comprising a centralized log collection and aggregation network service;

obtaining, at the host, an identifier of a second service installed on the host from the replica of the distributed configuration store, the second service being distinct from the first service;

based, at least in part, on the obtaining the identifier of the second service, obtaining, at the host, from the replica of the distributed configuration store, information indicating where, in a file system, one or more logs generated by the second service are stored;

using the information indicating where the one or more logs generated by the second service are stored, collecting, at the host, the one or more logs generated by the second service;

using the network endpoint information, sending, by the host, the one or more logs generated by the second service to the first service.

12. The system of claim 11 , wherein the network endpoint information comprises an interne protocol address associated with the first service for collecting logs.

13. The system of claim 11 , further comprising instructions which, when executed by the one or more processors, cause:

based, at least in part, on the obtaining the identifier of the second service, providing, to the first service, the identifier of the second service in association with the information from the one or more logs provided to the first service.

14. The system of claim 11 , further comprising instructions which, when executed by the one or more processors, cause:

obtaining a host identifier of the host at which the replica is stored; and

based, at least in part, on the obtaining the host identifier, obtaining, from the replica, information indicating where, in a file system, the one or more logs generated by the second service are stored.

15. The system of claim 14 , wherein the sending the information from the one or more logs to the first service is based, at least in part, on the obtaining the information indicating where, in the file system, the one or more logs are stored.

Assignments (7)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Jul 3, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0640 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY LISTED PATENT BY REMOVING APPLICATION NO. 16/832267 FROM THE RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 052856 FRAME 0382. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 26, 2021
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 057335/0753 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2020
From: ROYAL BANK OF CANADA
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 052856/0382 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 051709/0471 →
SECURITY INTEREST Recorded Jan 27, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 051713/0149 →