Data management system and method for intercepting and changing database instructions between a database back end and an application front end
First Claim
1. (Partial Wrapper claim) Software for communicating database information between a front end system and a back end system, the software comprising:
- front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
driver software communicatively coupled between the front end software and back end software, the driver software containing a plurality of classes adapted to service incoming and outgoing information between the front end software and back end software; and
interceptor software operably coupled to a fraction of the plurality of classes, the interceptor software being designed to intercept instructions passing through the driver software and change the instructions to modified instructions before the instruction is passed out of the driver software.
1 Assignment
0 Petitions
Accused Products
Abstract
A database method and system use one or more virtual driver interceptors (106) to intercept information and/or queries provided between a database backend system (112) and an end user front end system (102). The interceptors (106) can dynamically alter information or queries that are intercepted in transit between the backend (106) and the applications (102). The effect of altering this information dynamically between the back end and front end is that the system (100) has more functionality, greater flexibility, and/or enhanced performance without the need the change, at great expense and cost, all of the software and/or hardware within the backend (112), standard drivers (110), APIs (104), and applications (102). For example, the changing of instructions via the virtual driver (106) allows for dynamic data versioning, caching, fault tolerance, data backup, statistical data monitoring, load balancing, space planning, data conversion, enhanced security, and/or the like without the need to significantly change the system
-
Citations
54 Claims
-
1. (Partial Wrapper claim) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
driver software communicatively coupled between the front end software and back end software, the driver software containing a plurality of classes adapted to service incoming and outgoing information between the front end software and back end software; and
interceptor software operably coupled to a fraction of the plurality of classes, the interceptor software being designed to intercept instructions passing through the driver software and change the instructions to modified instructions before the instruction is passed out of the driver software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
13. (intercept only FE to BE Transactions) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
driver software communicatively coupled between the front end software and back end software, the driver software processing information that going to coming from either the back end system or the front end system; and
interceptor software coupled to intercept only database instructions coming from the front end system and destined for the back end system where the interceptor software intercepts these database instructions and determines if the database instruction requires modification before transmission to the back end system.
-
-
22. (Stacked Virtual Layer claim) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
driver software communicatively coupled between the front end software and back end software, the driver software processing incoming and outgoing information between the back end software and the front end software; and
a plurality of stacked virtual control software modules coupled between the front end system and the back end system to intercept information and instructions passed through the driver software between the front end system and the back end system, each of the stacked virtual control software modules in the plurality enabling a different database function. - View Dependent Claims (23, 25, 26, 27, 28, 29, 30, 31)
-
-
24. (Dynamic Versioning) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
version control software that allows dynamic data on the back end to be version controlled whereby multiple different versions of dynamic data are present and separately accessible on the back end system at a given time; and
driver software communicatively coupled between the front end software and back end software, where the driver software ensures that different end users using the front end software may independently and simultaneously access different versions of dynamic data on the back end system.
-
-
32. (Nested two-tier versioning) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
first version control software that allows dynamic data on the back end to be version controlled whereby multiple different versions of dynamic data are present and separately accessible on the back end system; and
second version control software that allows each of the multiple different versions of the dynamic data to be further versioned within themselves wherein multiple different versions of the different versions of dynamic data are present and separately accessible on the back end system at a given time. - View Dependent Claims (33, 35, 36, 37, 39, 40, 41)
-
-
34. (version creation and changing) Software for communicating database information between a front end system and a back end system that contains many different segments of back end data, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
version identification and creation software that allows a user to identify what select subportions of the back end data are needed to create a new version and accesses the select portions of the back end data and creates the new version from the select portions;
version editing software that allows a user to change the data within the new version while leaving the original back end data and other versions unaffected; and
version access software that allows an end user to access the data within the new version while leaving the original back end data unaccessed by the end user.
-
-
38. (roll forward and roll back) Software for communicating database information between a front end system and a back end system that contains starting back end data arranged in an information hierarchy, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
version creation software that identifies and creates new data versions from starting back end data and previous data versions; and
version editing software that allows a user to one or either;
(i) roll back information in a new data version to information in a previous data version or information in the many different segments of back end data;
or (ii) roll forward information in a new data version to newer information associated with the new data version.
-
-
42. (release concept claim) Software for communicating database information between a front end system and a back end system that contains starting back end data arranged in an information hierarchy, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system;
version creation software that identifies and creates new data versions from starting back end data and previous data versions; and
version editing software that allows a user to change the data within the new version while leaving the original back end data unaffected;
version release software that allows a user to release the data within a version wherein the data in that version is thereafter protected from further data changes, yet that versions remains in a dynamic database format; and
version access software that allows an end user to access the data within the released version. - View Dependent Claims (43)
-
-
44. (data structure claim) A data structure for creating and maintaining many different versions of data that may be independently accesses and manipulated, the data structure comprising:
-
base data within a back end system that is configured into segments where each segments contains data and field identifiers for the data;
a first data version located at the back end system where data and field identifiers for the fist data version were derived from the base data; and
wherein the first data version and the base data may be independently manipulated and accessed via a set of common application programmers interfaces. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
-
-
52. (method of FE to BE interception only) A method for accessing a database, the method comprising the steps of:
-
providing data within a database;
initiating one or more data access instructions from a front end interface;
intercepting the one or more data access instructions at a driver;
using the driver to determine if the data access instruction is an instruction that requires modification due to data versioning performed in the database;
modifying the data access instruction to add version information to the data access instruction and create a modified instruction when the driver detects that the data access instruction is making a versioned access;
providing a database instruction to the database, the database instruction being the modified instruction if versioned access is detected or being an unmodified version of the data access instruction when no version access is detected;
receiving the database information in response to the database instruction at the driver; and
returning the database information to a front end through the driver without interception.
-
-
53. (method of roll back) A method for accessing a database, the method comprising the steps of:
-
providing base data within a database;
creating a first version of data within the database from the base data, the first version of data being capable of independent access and change without affecting the base data;
creating a second version of data within the database from one or more of the base data and the first version of data, the second version of data being capable of independent access and change without affecting the base data or the first version of data;
creating a third version of data within the database from one or more of the base data, the first version of data, and the second version of data, the third version of data being capable of independent access and change without affecting the base data, the first version of data, or the second version of data;
determining that a portion of data in one of the above versions of data needs to be rolled back to a previous set of data from a specific previous version or the base data; and
changing the data in that portion of data to the corresponding older data present within the previous version or the base data to perform a roll back of the data.
-
-
54. (Multiple Versions claim) Software for communicating database information between a front end system and a back end system, the software comprising:
-
front end software that receives information from the front end system and provides information to the front end system;
back end software that receives information from the back end system and provides information to the back end system; and
driver software communicatively coupled between the front end software and back end software, the driver software having routines that allow for the creation and simultaneous access by users to a plurality of dynamic data versions accessible through the back end software where the driver software allows each of the dynamic data version to be changed without affecting the other.
-
Specification