IP Library Granted Patent US 8,868,701
Granted Patent B1
US 8,868,701 · App. 13/222,619 · Granted Oct 21, 2014

Configuration management repository for a federation of distributed platforms

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 8,868,701
App. No.
13/222,619
Granted
Oct 21, 2014
Kind
B1
Abstract

Some embodiments provide a repository that manages configurations for a distributed platform and that automatedly configures servers of the distributed platform with different hierarchical sets of configurations while ensuring integrity and consistency across the servers and in the repository. In some embodiment, the repository includes a data store that stores configurations for a first set of servers that are operated by a first service provider and a second set of servers that are operated by a second service provider. The data store also identifies different sets of configurations to deploy to different sets of servers from the first and second sets of servers. The repository also includes a function processor to automatedly deploy the different sets of configurations to the different sets of servers and to perform functions for updating the configurations in a manner that ensures integrity and consistency.

Claims (41)

1. A configuration management repository comprising:

a data store operable to perform operations comprising (i) storing a plurality of configurations for a first set of servers that are operated by a first service provider and a second set of servers that are operated by a second service provider, and (ii) identifying which servers of the first and second sets of servers are to deploy each configuration of the plurality of configurations; and

a processor operable to perform operations comprising automatedly configuring server operation by deploying a particular configuration from the plurality of configurations, wherein deploying the particular configuration comprises deploying an application, a configuration for customizing parameters of said application, and a configuration for using said application to perform a service on behalf of a customer to at least one server of the first set of servers and at least one server of the second set of servers identified by the data store.

2. The configuration management repository of claim 1 , wherein the first service provider operates a first content delivery network (CDN) and the second service provider operates a second CDN.

3. The configuration management repository of claim 1 , wherein the processor is further operable to (i) commit a user specified modification to the particular configuration and (ii) automatedly deploy said modification to the at least one server of the first set of servers and the at least one server of the second set of servers to which said particular configuration is deployed.

4. The configuration management repository of claim 3 , wherein the processor is further operable to verify integrity of said modification before deploying said modification to the at least one server of the first set of servers and the at least one server of the second set of servers.

5. The configuration management repository of claim 1 , wherein the processor is further operable to issue an alert when the particular configuration satisfies a specified condition.

6. The configuration management repository of claim 5 further comprising a user interface for a user to specify said condition for the alert.

7. The configuration management repository of claim 1 , wherein the data store is further operable to store, for each configuration of the plurality of configurations, a revision history comprising prior instances of the configuration.

8. The configuration management repository of claim 7 , wherein the data store is further operable to store, for each instance of the revision history for a configuration, a set of parameters identifying performance realized by the instance of the configuration when deployed.

9. The configuration management repository of claim 8 , wherein the processor is further operable to deploy a prior instance of the particular configuration when a set of parameters associated with the prior instance indicate better performance than is realized by a current deployed instance of the particular configuration.

10. The configuration management repository of claim 1 , wherein the processor is further operable to (i) obtain, for the particular configuration, versioning data from the at least one server of the first set of servers and at least one server of the second set of servers to which the particular configuration is deployed and (ii) use said versioning data to determine if deployment of the particular configuration was successful.

11. The configuration management repository of claim 10 , wherein the processor is further operable to (iii) revert the particular configuration to a previous instance of the particular configuration when said versioning data is used to determine unsuccessful deployment of the particular configuration.

12. The configuration management repository of claim 1 , wherein the processor is further operable to perform a test when the particular configuration is modified.

13. The configuration management repository of claim 12 , wherein performing said test comprises at least one of verifying syntax of the particular configuration and simulating the particular configuration independently of deploying the particular configuration to any server of the first and second sets of servers.

14. The configuration management repository of claim 1 , wherein the processor is further operable to verify syntax of the particular configuration when modifications made to the particular configuration are to be stored to the data store.

15. The configuration management repository of claim 1 , wherein the data store is further operable to store a pre-deployment trigger with the particular configuration, the pre-deployment trigger instructing the processor to simulate the particular configuration before deploying said particular configuration to the at least one server of the first set of servers and the at least one server of the second set of servers.

16. The configuration management repository of claim 1 , wherein the data store is further operable to store a post-deployment trigger with the particular configuration, the post-deployment trigger instructing the processor to perform at least one of stopping, starting, and restarting a service that is running on a server to which the particular configuration is to be deployed.

17. The configuration management repository of claim 1 , wherein the data store is further operable to store a post-deployment trigger with the particular configuration, the post-deployment trigger instructing the processor to monitor performance of the particular configuration when the particular configuration is deployed to the at least one server of the first set of servers and the at least one server of the second set of servers.

18. For a configuration management repository of a distributed platform, a method comprising:

storing a plurality of configurations, the plurality of configurations for configuring a first set of servers that are operated by a first service provider of the distributed platform and a second set of servers that are operated by a second service provider;

storing, for each configuration of the plurality of configurations, a revision history comprising prior instances of the configuration and a set of parameters for identifying performance realized by the prior instances of the configuration when deployed;

identifying a particular configuration from the plurality of configurations that is defined to configure operation of at least a first server of the first set of servers operated by the first service provider and at least a second server of the second set of servers operated by the second service provider;

deploying the particular configuration from the configuration management repository to at least the first and second servers for simultaneous execution of the particular configuration across the first service provider and the second service provider; and

monitoring performance of the particular configuration on at least the first and second servers.

19. The method of claim 18 further comprising committing a user specified modification to the particular configuration and automatedly deploying the user specified modification to at least the first and second servers.

20. The method of claim 18 , wherein deploying the particular configuration comprises deploying to at least the first and second servers (i) an application, (ii) a configuration for customizing parameters of said application, and (iii) a configuration for using said application to perform a service on behalf of a customer.

21. The method of claim 18 , further comprising deploying a prior instance of the particular configuration when a set of parameters associated with the prior instance of the particular configuration indicate better performance than is realized by a current deployed instance of the particular configuration.

22. A non-transitory computer-readable storage medium storing a computer program for managing configurations for a distributed platform, the computer program for execution by at least one processor, the computer program comprising:

a set of instructions for storing a plurality of configurations, the plurality of configurations for configuring a first set of servers that are operated by a first service provider of the distributed platform and a second set of servers that are operated by a second service provider;

a set of instructions for storing, for each configuration of the plurality of configurations, a revision history comprising prior instances of the configuration and a set of parameters for identifying performance realized by the prior instances of the configuration when deployed;

a set of instructions for identifying a particular configuration from the plurality of configurations that is defined to configure operation of at least a first server of the first set of servers operated by the first service provider and at least a second server of the second set of servers operated by the second service provider;

a set of instructions for deploying the particular configuration from the configuration management repository to at least the first and second servers for simultaneous execution of the particular configuration across the first service provider and the second service provider; and

a set of instructions for monitoring performance of the particular configuration on at least the first and second servers.

23. A method performed by at least one machine of a distributed platform configuration management repository comprising a processor and memory storing computer-executable instructions that control execution of the processor, the method comprising:

storing a plurality of configurations, the plurality of configurations for configuring a first set of servers that are operated by a first service provider and a second set of servers that are operated by a second service provider;

identifying a particular configuration from the plurality of configurations that is defined to configure operation of at least a first server of the first set of servers operated by the first service provider and at least a second server of the second set of servers operated by the second service provider; and

deploying the particular configuration from the configuration management repository to at least the first and second servers, wherein deploying the particular configuration comprises deploying to at least the first and second servers, an application, a configuration for customizing parameters of said application, and a configuration for using said application to perform a service on behalf of a customer.

24. A configuration management repository comprising:

a data store operable to perform operations comprising (i) storing a plurality of configurations for a first set of servers that are operated by a first service provider and a second set of servers that are operated by a second service provider, (ii) storing at least one of a pre-deployment trigger and a post-deployment trigger for a particular configuration of the plurality of configurations, and (iii) identifying which servers of the first and second sets of servers are to deploy each configuration of the plurality of configurations; and

a processor operable to perform operations comprising automatedly configuring server operation by deploying the particular configuration from the plurality of configurations to at least one server of the first set of servers and at least one server of the second set of servers identified by the data store, wherein the pre-deployment trigger instructs the processor to simulate the particular configuration before said deploying of the particular configuration, and wherein the post-deployment trigger instructs the processor to monitor performance of the particular configuration after said deploying.

Assignments (11)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: EDGECAST INC.
To: EDGIO, INC.
Reel/Frame 061738/0972 →
CHANGE OF NAME Recorded Mar 15, 2022
From: VERIZON DIGITAL MEDIA SERVICES INC.
To: EDGECAST INC.
Reel/Frame 059367/0990 →
CHANGE OF NAME Recorded Apr 25, 2016
From: EDGECAST NETWORKS, INC
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 038511/0045 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2011
From: PETERS, ROBERT J.; ELAZARY, LIOR; SAKATA, JAYSON G.
To: EDGECAST NETWORKS, INC.
Reel/Frame 027014/0871 →