Database record consistency mechanisms
AssigneeAmadeus S.A.S.
InventorsFabien Xavier Mourgues, Mohamed Amine Maaroufi, Joseph El Hayek
Life of this patent
Estimating the term…
Abstract
A database server is communicatively coupled to a database storing multiple data records which are accessible by a number of data access systems communicatively coupled to the database server in order to claim exclusive access to a data record for a specifiable time period by one of the data access systems. The database server stores associations of the data records with the data access systems defining which data access system is generally allowed to access to which data record and an exclusive access times inventory defining which of the data access systems with allowed access has already been granted exclusive access to which data record for which time periods.
Claims15
A database consistency method implemented by a database server implementing a reservation engine, the database server communicatively coupled to a database storing multiple data records representing reservable entities, the method comprising:
- storing (i) associations of the data records with data access systems corresponding to provider entities with other native reservable entities, the associations defining which data records each data access system is allowed to access, and (ii) an exclusive access times inventory defining which of the data access systems with allowed access according to the associations has been granted exclusive access to which data records for which time periods, wherein the exclusive access times inventory implements an availability cache, and wherein exclusive access to a data record indicates that a corresponding reservable entity has already been reserved by a corresponding provider entity;
- receiving a first request from a first one of the data access systems, the first request indicating (i) a particular one of the data records, and (ii) a first time period, wherein the first request defines a shopping or booking request to reserve at least one reservable entity on behalf of the corresponding provider entity for the first period of time;
- checking the stored associations to determine whether the first data access system is allowed to access the particular data record;
- in response to determining that the first data access system is allowed to access the particular data record, checking the exclusive access times inventory to determine whether another of the data access systems has been granted exclusive access to the particular data record for another time period overlapping with the first time period;
- in response to determining that no other data access system has been granted exclusive access to the particular data record for another time period overlapping with the first time period, updating the exclusive access times inventory to grant the first data access system exclusive access to the particular data record for the first time period, and to exclude all other data access systems from access to the particular data record for the first time period;
- and
- in response to receiving a second request from a second data access system of the data access systems requesting exclusive access to the particular data record for a second time period including at least sub-period of the first time period, determining, based on the updated exclusive access times inventory, that exclusive access is not available for the second time period and returning a denial notification to the second data access system.
A database server implementing a database consistency mechanism for a reservation engine, the database server being communicatively coupled to a database storing multiple data records representing reservable entities, the database server comprising:
- a network interface connecting the database server with data access systems corresponding to provider entities with other native reservable entities;
- and
- a processor configured to:
- store (i) associations of the data records with the data access systems, the associations defining which data records each data access system is allowed to access, and (ii) an exclusive access times inventory defining which of the data access systems with allowed access according to the associations has been granted exclusive access to which data records for which time periods, wherein the exclusive access times inventory implements an availability cache, and wherein exclusive access to a data record indicates that a corresponding reservable entity has already been reserved by a corresponding provider entity;
- receive a first request from a first one of the data access systems, the first request indicating (i) a particular one of the data records, and (ii) a first time period, wherein the first request defines a shopping or booking request to reserve at least one reservable entity on behalf of the corresponding provider entity for the first period of time;
- check the stored associations to determine whether the first data access system is allowed to access the particular data record;
- in response to determining that the first data access system is allowed to access the particular data record, check the exclusive access times inventory to determine whether another of the data access systems has been granted exclusive access to the particular data record for another time period overlapping with the first time period;
- in response to determining that no other data access system has been granted exclusive access to the particular data record for another time period overlapping with the first time period, update the exclusive access times inventory to grant the first data access system exclusive access to the particular data record for the first time period, and to exclude all other data access systems from access to the particular data record for the first time period;
- and
- in response to receiving a second request from a second data access system of the data access systems requesting exclusive access to the particular data record for a second time period including at least sub-period of the first time period, determine, based on the updated exclusive access times inventory, that exclusive access is not available for the second time period and returning a denial notification to the second data access system.
A non-transitory computer readable medium storing computer-executable instructions to be executed by a database server implementing a database consistency mechanism for a reservation engine, the database server being communicatively coupled to a database storing multiple data records representing reservable entities, execution of the instructions configuring the database server to:
- store (i) associations of the data records with data access systems corresponding to provider entities with other native reservable entities, the associations defining which data records each data access system is allowed to access and (ii) an exclusive access times inventory defining which of the data access systems with allowed access according to the associations has been granted exclusive access to which data records for which time periods, wherein the exclusive access times inventory implements an availability cache, and wherein exclusive access to a data record indicates that a corresponding reservable entity has already been reserved by a corresponding provider entity;
- receive a first request from a first one of the data access systems, the first request indicating (i) a particular one of the data records, and (ii) a first time period, wherein the first request defines a shopping or booking request to reserve at least one reservable entity on behalf of the corresponding provider entity for the first period of time;
- check the stored associations to determine whether the first data access system is allowed to access the particular data record;
- in response to determining that the first data access system is allowed to access the particular data record, check the exclusive access times inventory to determine whether another of the data access systems has been granted exclusive access to the particular data record for another time period overlapping with the first time period;
- in response to determining that no other data access system has been granted exclusive access to the particular data record for another time period overlapping with the first time period, update the exclusive access times inventory to grant the first data access system exclusive access to the particular data record for the first time period, and to exclude all other data access systems from access to the particular data record for the first time period;
- and
- in response to receiving a second request from a second data access system of the data access systems requesting exclusive access to the particular data record for a second time period including at least sub-period of the first time period, determine, based on the updated exclusive access times inventory, that exclusive access is not available for the second time period and returning a denial notification to the second data access system.
Dependencies are inferred from the claim text.