IP Library › Granted Patent US 10,129,084
Granted Patent B1
US 10,129,084 · App. 15/974,583 · Granted Nov 13, 2018

Centralized parameter management system

Inventors: Ievgen Mikhailovych Nekrashevych (Kiev, UA); Michael Epstein (Los Angeles, CA)
Assignee: CALLFIRE, INC.
H04L41/082H04L41/0213H04L41/0823H04L43/08H04L41/0893
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,129,084
App. No.
15/974,583
Granted
Nov 13, 2018
Kind
B1
Abstract

A centralized system manages application configuration parameters in a network computing environment. The system centralizes the storage and management of application configuration parameters, and dynamically updates the networked application servers when parameter values are changed at the centralized system. The application servers can subscribe to and receive parameter updates from the centralized system, determine whether the updates are applicable to configuration parameters being used by the application, and implement any such updates. In some embodiments, the centralized system determines which application servers are affected by a particular parameter update, and only transmits data regarding the parameter update to the affected application servers.

Claims (68)

1. A system comprising:

a parameter value manager comprising one or more computing devices, wherein the parameter value manager is configured to:

monitor a performance metric representing performance of processing phone-based communications using a first queue of a plurality of queues;

determine, based at least partly on the performance metric satisfying a threshold, to modify an application configuration parameter value associated with processing phone-based communications;

modify the application configuration parameter value to indicate a future phone-based communication associated with a first client account of a plurality of client accounts is to be processed using a second queue of the plurality of queues; and

transmit the application configuration parameter value to a plurality of application servers; and

an application server comprising one or more computing devices, wherein the application server is configured to:

send a first phone-based communication to the first queue, wherein the first phone-based communication is associated with the first client account;

send a second phone-based communication to the first queue, wherein the second phone-based communication is associated with a second client account of the plurality of client accounts;

receive the application configuration parameter value from the parameter value manager;

determine, based at least partly on the application configuration parameter value, to send a third phone-based communication associated with the first client account to the second queue; and

send a fourth phone-based communication associated with the second client account to the first queue.

2. The system of claim 1 , wherein the performance metric represents an amount of time that a phone-based communication is in the first queue.

3. The system of claim 1 , wherein the performance metric represents a quantity of phone-based communications in the first queue at a particular time.

4. The system of claim 1 , further comprising a second application server comprising one or more computing devices, wherein the second application server is configured to:

receive the application configuration parameter value from the parameter value manager; and

determine not to provide the application configuration parameter value to any application executing on the second application server.

5. A computer-implemented method comprising:

as implemented by a computing system comprising one or more computer processors configured to execute specific instructions,

receiving a plurality of application configuration parameter values from a parameter management system;

determining that a first application configuration parameter value of the plurality of application configuration parameter values is to be used by an application on the computing system;

determining that a second application configuration parameter value of the plurality of application configuration parameter values is not to be used by the application;

providing the first application configuration parameter value to the application;

receiving, from the parameter management system, an update to the first application configuration parameter value and an update to the second application configuration parameter value; and

providing the update to the first application configuration parameter value to the application, wherein the update to the second application configuration parameter value is not provided to the application.

6. The computer-implemented method of claim 5 , further comprising determining not to provide the second application configuration parameter value to the application based at least partly on the determining that the second application configuration parameter value is not to be used by the application.

7. The computer-implemented method of claim 5 , further comprising determining, by the application, a logical branch to execute based at least partly on the update to the first application configuration parameter value.

8. The computer-implemented method of claim 5 , further comprising determining, by the application, a number of operations to perform based at least partly on the value of an application configuration parameter.

9. The computer-implemented method of claim 5 , further comprising:

transmitting a first phone-based communication to a recipient device via a private branch exchange prior to receiving the update to the first application configuration parameter value, wherein the recipient device is associated with first routing information; and

transmitting a second phone-based communication to the recipient device via a carrier connection, without using the private branch exchange, based at least partly on the update to the first application configuration parameter value, wherein the update to the first application configuration parameter value indicates that phone-based communications associated with the first routing information are to be transmitted via the carrier connection.

10. The computer-implemented method of claim 9 , further comprising:

transmitting a third phone-based communication to a second recipient device via the private branch exchange prior to receiving the update to the first application configuration parameter value, wherein the second recipient device is associated with second routing information; and

transmitting a fourth phone-based communication to the recipient device via the private branch exchange subsequent to receiving the update to the first application configuration parameter value.

11. The computer-implemented method of claim 5 , further comprising:

storing a first phone-based communication in a default queue prior to receiving the update to the first application configuration parameter value, wherein the first phone-based communication is to be sent on behalf of a first client account of a plurality of client accounts; and

storing a second phone-based communication in a second queue based at least partly on the update to the first application configuration parameter value, wherein the second phone-based communication is to be sent on behalf of the first client account.

12. The computer-implemented method of claim 11 , further comprising:

storing a third phone-based communication in the default queue prior to receiving the update to the first application configuration parameter value, wherein the third phone-based communication is to be sent on behalf of a second client account of the plurality of client accounts; and

storing a fourth phone-based communication in the default queue subsequent to receiving the update to the first application configuration parameter value, wherein the fourth phone-based communication is to be sent on behalf of the second client account.

13. The computer-implemented method of claim 11 , further comprising generating a performance metric representing performance of processing phone-based communications, wherein the performance metric comprises at least one of: a measurement of time that a phone-based communication is in the default queue, or a quantity of phone-based communications in the default queue at a particular point in time.

14. A system comprising:

computer-readable memory storing computer-executable instructions; and

one or more computer processors in communication with the computer-readable memory and programmed by the computer-executable instructions to at least:

receive a plurality of application configuration parameter values from a parameter management system;

determine that a first application configuration parameter value of the plurality of application configuration parameter values is to be used by an application;

determine that a second application configuration parameter value of the plurality of application configuration parameter values is not to be used by the application;

provide the first application configuration parameter value to the application;

receive, from the parameter management system, an update to the first application configuration parameter value and an update to the second application configuration parameter value; and

provide the update to the first application configuration parameter value to the application, wherein the update to the second application configuration parameter value is not provided to the application.

15. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

execute the application; and

determine, by the application, a logical branch to execute based at least partly on the update to the first application configuration parameter value.

16. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

execute the application; and

determine, by the application, a number of operations to perform based at least partly on the on the value of an application configuration parameter.

17. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

transmit a first phone-based communication to a recipient device via a private branch exchange prior to receiving the update to the first application configuration parameter value, wherein the recipient device is associated with first routing information; and

transmit a second phone-based communication to the recipient device via a carrier connection, without using the private branch exchange, based at least partly on the update to the first application configuration parameter value, wherein the update to the first application configuration parameter value indicates that phone-based communications associated with the first routing information are to be transmitted via the carrier connection.

18. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

store a first phone-based communication in a default queue prior to receiving the update to the first application configuration parameter value, wherein the first phone-based communication is to be sent on behalf of a first client account of a plurality of client accounts; and

store a second phone-based communication in a second queue based at least partly on the update to the first application configuration parameter value, wherein the second phone-based communication is to be sent on behalf of the first client account.

19. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

select a first version of a network resource to provide to a recipient device prior to receiving the update to the first application configuration parameter value; and

select a second version of the network resource to provide to the recipient device based at least partly on the update to the first application configuration parameter value.

20. The system of claim 14 , wherein the one or more computing devices are further programmed by the executable instructions to:

determine, using a pseudo-random selection process, a first testing outcome for an amount of test operations prior to receiving the update to the first application configuration parameter value; and

determine, using the pseudo-random selection process, a second testing outcome for the amount of test operations based at least partly on the update to the first application configuration parameter value.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2025
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
Reel/Frame 073107/0611 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: PACIFIC WESTERN BANK
To: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
Reel/Frame 064445/0355 →
SECURITY INTEREST Recorded Oct 29, 2020
From: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 054212/0399 →
SECURITY INTEREST Recorded Jun 11, 2019
From: CALLFIRE, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 049433/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: NEKRASHEVYCH, IEVGEN MIKHAILOVYCH; EPSTEIN, MICHAEL
To: CALLFIRE, INC.
Reel/Frame 045822/0438 →
Continuity (1)
Provisional Application 62546961 · Aug 17, 2017