IP Library Granted Patent US 9,009,277
Granted Patent B2
US 9,009,277 · App. 14/058,586 · Granted Apr 14, 2015

Configuration management repository for a distributed platform

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 9,009,277
App. No.
14/058,586
Granted
Apr 14, 2015
Kind
B2
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 (34)

1. A method for managing a plurality of server configurations that are deployed across a plurality of servers, the method comprising:

with a computer having at least one processor and non-transitory computer readable storage:

storing the plurality of server configurations to the non-transitory computer readable storage;

tracking different subsets of the plurality of servers to which each of the plurality of server configurations is deployed;

receiving a modification to a first server configuration of the plurality of server configurations;

identifying a subset of the plurality of servers that operate according to the first server configuration;

modifying operation of the subset of the plurality of servers by automatedly deploying the first server configuration with the modification from the non-transitory computer readable storage to each server of the subset of the plurality of servers; and

deploying a second server configuration of the plurality of configurations to the subset of the plurality of servers to run concurrently with the first server configuration, wherein the first server configuration directs caching and delivery operation of the subset of the plurality of servers for content of a first content provider and the second server configuration directs caching and delivery operation of the subset of the plurality of servers for content of a second content provider.

2. The method of claim 1 , wherein the plurality of servers provide caching and delivery of content on behalf of a plurality of content providers, and wherein any specific server configuration of the plurality of server configurations specifies different content caching and delivery operation for a subset of servers that is deployed with the specific server configuration.

3. The method of claim 1 , wherein modifying operation of the subset of the plurality of servers comprises modifying content caching and delivery functions of the subset of the plurality of servers according to the modification of the first server configuration.

4. The method of claim 1 further comprising monitoring performance of the subset of the plurality of servers when operating according to the first server configuration without the modification and when operating according to the first server configuration with the modification.

5. The method of claim 4 further comprising automatically redeploying the first server configuration without the modification when the performance of the subset of the plurality of servers is better without the modification to the first server configuration than with the modification.

6. A server configuration management repository for managing and deploying server configurations across a plurality of servers of a distributed platform that provide content caching and content delivery on behalf of a plurality of distributed platform customers, the server configuration management repository comprising:

non-transitory computer-readable storage storing (i) a plurality of different versions for a particular server configuration, each version of the plurality of different versions modifying some aspect of content caching and delivery operation specified in the particular server configuration and (ii) for each particular version of the plurality of different versions, storing at least one metric measuring content caching and delivery performance of a set of servers when the set of servers are deployed with the particular version of the particular server configuration; and

a processor operable to (i) deploy an updated version of the particular server configuration that modifies content caching and delivery operation of the set of servers operating according to a previous version of the particular server configuration, (ii) compare metrics measuring content caching and delivery performance of the set of servers when operating with the updated version of the particular server configuration and when operating with the previous version of the particular server configuration, and (iii) redeploy the set of servers with the previous version of the particular server configuration when content caching and delivery performance from the previous version of the particular server configuration exceeds content caching and delivery performance from the updated version of the particular server configuration.

7. The server configuration management repository of claim 6 further comprising a network interface over which to deploy the particular server configuration to the set of servers.

8. The server configuration management repository of claim 6 , wherein the processor is further operable to execute a first user function, wherein executing the first user function comprises producing a copy of the particular server configuration on a user machine from a master instance of the particular server configuration that is stored to the non-transitory computer-readable storage.

9. The server configuration management repository of claim 8 , wherein the processor is further operable to execute a second user function, wherein executing the second user function comprises generating the updated version of the particular server configuration in the non-transitory computer-readable storage by merging a user provided modification to the master instance of the particular server configuration.

10. The server configuration management repository of claim 6 , wherein the non-transitory computer-readable storage further stores a mapping that identifies the set of servers from a plurality of servers that are to be deployed with the particular server configuration.

11. A configuration management repository for managing a plurality of configurations that are deployed across a plurality of servers of a distributed platform, the configuration management repository comprising:

a network interface coupled to the plurality of servers;

a processor; and

a non-transitory computer-readable storage storing:

the plurality of configurations;

a plurality of mappings identifying different sets of the plurality of servers to which each configuration of the plurality of the configurations is deployed, each configuration specifying different operational parameters for a set of servers that is deployed with that configuration; and

a computer program configuring the processor to:

receive a modification to a first configuration of the plurality of configurations that specifies operational parameters configured for a first distributed platform customer;

retrieve a particular mapping for the first configuration from the plurality of mappings, the particular mapping identifying a set of servers from the plurality of servers to which said first configuration is deployed; and

automatedly deploy the first configuration comprising the received modification to the set of servers and a second configuration of the plurality of configurations that specifies operational parameters configured for a different second distributed platform customer to the set of servers to run concurrently with the first server configuration, wherein the first server configuration directs content caching and delivery operation of the set of servers for content of the first distributed platform customer and the second server configuration directs content caching and delivery operation of the set of servers for content of the second distributed platform customer.

12. The configuration management repository of claim 11 , wherein the operational parameters specify custom content caching and delivery operation.

13. The configuration management repository of claim 11 , wherein the computer program further configures the processor to obtain timestamps indicating status of the deployment of the first configuration to each server of the set of servers.

14. The configuration management repository of claim 11 , wherein the computer program further configures the processor to perform a syntax check of the first configuration and withholding deployment of the first configuration if an error is found during the syntax check.

15. The configuration management repository of claim 11 , wherein the computer program further configures the processor to simulate the first configuration prior to deploying the first configuration to the set of servers.

16. The configuration management repository of claim 11 , wherein the computer program further configures the processor to monitor performance of the set of servers when configured with the first configuration without the modification and when configured with the first configuration with the modification.

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 21, 2013
From: PETERS, ROBERT J.; ELAZARY, LIOR; SAKATA, JAYSON G.
To: EDGECAST NETWORKS, INC.
Reel/Frame 031443/0571 →