IP Library Granted Patent US 8,423,989
Granted Patent B2
US 8,423,989 · App. 12/114,153 · Granted Apr 16, 2013

Software parameter management

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,423,989
App. No.
12/114,153
Granted
Apr 16, 2013
Kind
B2
Abstract

A method and apparatus is disclosed for allowing the updating and overriding of software parameters used by one or more software programs. The parameters are preferably in cache. When the system needs any such parameter, it first checks cache, then a preferably remotely located database, and then, preferably a flat file on the same computer as the cache. The checking is done in the foregoing order, and the parameter is used upon locating a current version of it. If the current version is obtained from anywhere other than the cache, it is put into cache.

Claims (85)

1. A method comprising:

executing a software application on an application server, wherein the application software comprises a sequence of steps;

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a flat file on said application server, otherwise the application server advises to store said first predetermined parameter in a database of the application server;

in response of the recommendation, overriding, by the developer, the designation of storage of said first predetermined parameter from the flat file, to storage in the database;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a cache on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said cache, obtaining said first predetermined parameter from said cache, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in cache and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said cache, checking said database on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the database server are different servers;

if said first predetermined parameter exists in said database, moving said first predetermined parameter from the database into said cache on said application server; and

if said first predetermined parameter does not exist in said database, obtaining said first predetermined parameter from said flat file on said application server, and moving said first predetermined parameter from said flat file into said cache; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained wherein updated values of the predetermined parameter are used in lieu of the original values.

2. The method of claim 1 , wherein the expiration time associated with said first predetermined parameter is different from the expiration time associated with at least one other of said predetermined parameters.

3. A method comprising:

executing a software application on an application server, wherein the application software comprises a sequence of steps;

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a flat file on said application server, otherwise the application server advises to store said first predetermined parameter in a database of the application server;

storing said first predetermined parameter in said flat file of said application server based on said recommendation; creating an update value for said first predetermined parameter of said set of predetermined parameters; storing said update value for said first predetermined parameter in said database of the application server;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a cache on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said cache, obtaining said first predetermined parameter from said cache, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in cache and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said cache, checking said database on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the database server are different servers;

if said first predetermined parameter exists in said database, moving said first predetermined parameter from the database into said cache on said application server; and

if said first predetermined parameter does not exist in said database, obtaining said first predetermined parameter from said flat file on said application server, and moving said first predetermined parameter from said flat file into said cache; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

4. The method of claim 3 , further comprising:

identifying one or more parameters configured for storage on said flat file and stored on said flat file that are being updated at a frequency that exceeds an expected update frequency level; and relocating said identified parameters from said flat file to said remote file in said database server.

5. A method comprising:

executing a software application on an application server, wherein the application software comprises a sequence of steps;

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a third memory source on said application server, otherwise the application server advises to store said first predetermined parameter in a second memory source of the application server;

in response of the recommendation, overriding, by the developer, the designation of storage of said first predetermined parameter from the third memory source, to storage in the second memory source;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a first memory source on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said first memory source, obtaining said first predetermined parameter from said first memory source, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in first memory source and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said first memory source, checking said second memory source on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the second memory source are different servers;

if said first predetermined parameter exists in said second memory source, moving said first predetermined parameter from the second memory source into said first memory source on said application server; and

if said first predetermined parameter does not exist in said second memory source, obtaining said first predetermined parameter from said third memory source on said application server, and moving said first predetermined parameter from said third memory source into said first memory source; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

6. The method of claim 5 , wherein the expiration time associated with said first predetermined parameter is different from the expiration time associated with at least one other of said predetermined parameters.

7. A method comprising:

executing a software application on an application server, wherein the application software comprises a sequence of steps;

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a third memory source on said application server, otherwise the application server advises to store said first predetermined parameter in a second memory source of the application server;

storing said first predetermined parameter in said third memory source of said application server based on said recommendation;

creating an update value for said first predetermined parameter of said set of predetermined parameters; storing said update value for said first predetermined parameter in said second memory source of the application server;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a first memory source on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said first memory source, obtaining said first predetermined parameter from said first memory source, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in first memory source and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said first memory source, checking said second memory source on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the second memory source are different servers;

if said first predetermined parameter exists in said second memory source, moving said first predetermined parameter from the second memory source into said first memory source on said application server; and

if said first predetermined parameter does not exist in said second memory source, obtaining said first predetermined parameter from said third memory source on said application server, and moving said first predetermined parameter from said third memory source into said first memory source; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

8. The method of claim 7 , further comprising:

identifying one or more parameters configured for storage on said flat file and stored on said flat file that are being updated at a frequency that exceeds an expected update frequency level; and relocating said identified parameters from said flat file to said remote file in said database server.

9. A system comprising a processor executing instructions to perform the functions of:

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a flat file on said application server, otherwise the application server advises to store said first predetermined parameter in a database of the application server;

in response of the recommendation, overriding, by the developer, the designation of storage of said first predetermined parameter from the flat file, to storage in the database;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a cache on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said cache, obtaining said first predetermined parameter from said cache, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in cache and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said cache, checking said database on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the database server are different servers;

if said first predetermined parameter exists in said database, moving said first predetermined parameter from the database into said cache on said application server; and

if said first predetermined parameter does not exist in said database, obtaining said first predetermined parameter from said flat file on said application server, and moving said first predetermined parameter from said flat file into said cache; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

10. The system of claim 9 , wherein the expiration time associated with said first predetermined parameter is different from the expiration time associated with at least one other of said predetermined parameters.

11. A system comprising a processor executing instructions to perform the functions of:

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a flat file on said application server, otherwise the application server advises to store said first predetermined parameter in a database of the application server;

storing said first predetermined parameter in said flat file of said application server based on said recommendation; creating an update value for said first predetermined parameter of said set of predetermined parameters; storing said update value for said first predetermined parameter in said database of the application server;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a cache on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said cache, obtaining said first predetermined parameter from said cache, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in cache and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said cache, checking said database on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the database server are different servers;

if said first predetermined parameter exists in said database, moving said first predetermined parameter from the database into said cache on said application server; and

if said first predetermined parameter does not exist in said database, obtaining said first predetermined parameter from said flat file on said application server, and moving said first predetermined parameter from said flat file into said cache; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

12. The system of claim 11 , further comprising:

identifying one or more parameters configured for storage on said flat file and stored on said flat file that are being updated at a frequency that exceeds an expected update frequency level; and relocating said identified parameters from said flat file to said remote file in said database server.

13. A system comprising a processor executing instructions to perform the functions of:

automatically monitoring the frequency of changes made to a set of predetermined parameters needed by the software application, wherein if a first predetermined parameter is updated at a frequency lower than a predetermined frequency threshold, the application server recommends to store said first predetermined parameter in a third memory source on said application server, otherwise the application server advises to store said first predetermined parameter in a second memory source of the application server;

in response of the recommendation, overriding, by the developer, the designation of storage of said first predetermined parameter from the third memory source, to storage in the second memory source;

when a step in the sequence of steps is executed and requires said first predetermined parameter from said set of predetermined parameters, obtaining said first predetermined parameter by performing the operations of:

checking a first memory source on said application server for a valid value associated with said first predetermined parameter without taking said software application out of service;

if said valid value of said first predetermined parameter is in said first memory source, obtaining said first predetermined parameter from said first memory source, wherein said valid value is deemed present and valid in said cache if said first predetermined parameter is located in first memory source and if an expiration time associated with said first predetermined parameter has not lapsed;

if said first predetermined parameter is not contained in said first memory source, checking said second memory source on a database server for said first predetermined parameter without taking said software application out of service, wherein the application server and the second memory source are different servers;

if said first predetermined parameter exists in said second memory source, moving said first predetermined parameter from the second memory source into said first memory source on said application server; and

if said first predetermined parameter does not exist in said second memory source, obtaining said first predetermined parameter from a said third memory source on said application server, and moving said first predetermined parameter from said third memory source into said first memory source; and

using said first predetermined parameter in said step regardless of where said first predetermined parameter was obtained; wherein updated values of the predetermined parameter are used in lieu of the original values.

14. The system of claim 13 , wherein the expiration time associated with said first predetermined parameter is different from the expiration time associated with at least one other of said predetermined parameters.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2025
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A.
Reel/Frame 071224/0279 →
SECURITY INTEREST Recorded Aug 16, 2023
From: IQMETRIX SOFTWARE DEVELOPMENT CORP.
To: THE TORONTO-DOMINION BANK
Reel/Frame 064606/0215 →
RELEASE OF SECURITY INTEREST RECORDED AT 050854/0913 Recorded Sep 27, 2022
From: CITIZENS BANK, N.A. AS ADMINISTRATIVE AGENT
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 061552/0504 →
RELEASE OF SECURITY INTEREST RECORDED AT 041072/0964 Recorded Sep 27, 2022
From: GOLDMAN SACHS BANK USA
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 061552/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2022
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: IQMETRIX SOFTWARE DEVELOPMENT CORPORATION
Reel/Frame 061229/0024 →
SECURITY INTEREST Recorded Oct 29, 2019
From: SYNCHRONOSS TECHNOLOGIES, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050854/0913 →
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2017
From: GOLDMAN SACHS BANK USA
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 044444/0286 →
SECURITY INTEREST Recorded Jan 23, 2017
From: SYNCHRONOSS TECHNOLOGIES, INC., AS GRANTOR
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 041072/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2008
From: FEDOK, ERIC; COLSON, JAY; DEASEY, DON
To: SYNCHRONOSS TECHNOLOGIES INC.
Reel/Frame 021202/0709 →