Automatic lock management in an abstract database
First Claim
1. A computer-implemented method of preventing alterations of data in a database when a query is executed against the database, comprising:
- providing a logical representation of the data defining a plurality of logical fields abstractly describing a manner of accessing and exposing, via a user interface, associated physical entities of the data, wherein each of the plurality of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;
wherein each of the different access methods types defines a different manner of exposing the respective physical entities of the data; and
wherein at least a portion of the plurality of logical fields include lock attributes referenced in order to lock the respective logical field;
receiving an abstract query comprising at least one logical field of the portion of logical fields;
in response to receiving the abstract query, locking, on the basis of the respective lock attributes, the at least one logical field before executing the abstract query; and
unlocking at least one logical field after executing the abstract query.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, system and article of manufacture for accessing data in a database independent of the particular manner in which the data is physically represented and for preventing alterations of data in the database when a query is executed against the database are provided. One embodiment provides a method of preventing alterations of data in a database when a query is executed against the database. The method includes providing a logical representation of the data defining a plurality of logical fields abstractly describing associated physical entities of the data; receiving an abstract query comprising at least one logical field of the plurality of logical fields; and locking the at least one logical field before executing the abstract query.
-
Citations
36 Claims
-
1. A computer-implemented method of preventing alterations of data in a database when a query is executed against the database, comprising:
-
providing a logical representation of the data defining a plurality of logical fields abstractly describing a manner of accessing and exposing, via a user interface, associated physical entities of the data, wherein each of the plurality of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;
wherein each of the different access methods types defines a different manner of exposing the respective physical entities of the data; and
wherein at least a portion of the plurality of logical fields include lock attributes referenced in order to lock the respective logical field;receiving an abstract query comprising at least one logical field of the portion of logical fields; in response to receiving the abstract query, locking, on the basis of the respective lock attributes, the at least one logical field before executing the abstract query; and unlocking at least one logical field after executing the abstract query. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method of preventing alterations of physical entities of data in a database when a query is executed against the database, comprising:
-
providing a logical representation of the data defining a multiplicity of logical fields, each logical field abstractly describing a manner of accessing and exposing, via a user interface, an associated physical entity of the data;
wherein each of the multiplicity of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;wherein each of the different access methods types defines a different manner of exposing the respective physical entity of the data; and
wherein at least a portion of the multiplicity of logical fields include lock attributes referenced in order to lock the respective logical field;providing a lock object for each logical field of a plurality of logical fields forming a subset of the multiplicity of logical fields, the respective lock object being identified by the respective lock attributes of the respective logical field; receiving an abstract query from a requesting entity comprising at least one logical field of the multiplicity of logical fields; and upon determining that executing the abstract query against the database requires the lock on the at least one logical field; determining the lock object of the at least one logical field; locking the lock object for the requesting entity for locking the at least one logical field before executing the abstract query; and unlocking the lock object for the requesting entity after executing the abstract query. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A tangible computer-readable storage medium containing a program which, when executed by a processor, performs an operation of preventing alterations of data in a database when a query is executed against the database, the operation comprising:
-
providing a logical representation of the data defining a plurality of logical fields abstractly describing a manner of accessing and exposing, via a user interface, associated physical entities of the data, wherein each of the plurality of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;
wherein each of the different access methods types defines a different manner of exposing the respective physical entities of the data; and
wherein at least a portion of the plurality of logical fields include lock attributes referenced in order to lock the respective logical field;receiving an abstract query comprising at least one logical field of the portion of logical fields; in response to receiving the abstract query, locking the at least one logical field before executing the abstract query on the basis of the respective lock attributes of the at least one logical field; and unlocking at least one logical field after executing the abstract query. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A tangible computer-readable storage medium containing a program which, when executed by a processor, performs an operation of preventing alterations of physical entities of data in a database when a query is executed against the database, the operation comprising:
-
providing a logical representation of the data defining a multiplicity of logical fields, each logical field abstractly describing a manner of accessing and exposing, via a user interface, an associated physical entity of the data;
wherein each of the multiplicity of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;
wherein each of the different access methods types defines a different manner of exposing the respective physical entity of the data; and
wherein at least a portion of the multiplicity of logical fields include lock attributes referenced in order to lock the respective logical field;providing a lock object for each logical field of a plurality of logical fields forming a subset of the multiplicity of logical fields, the respective lock object being identified by the respective lock attributes of the respective logical field; receiving an abstract query from a requesting entity comprising at least one logical field of the multiplicity of logical fields; and upon determining that executing the abstract query against the database requires the lock on the at least one logical field; determining the lock object of the at least one logical field; locking the lock object for the requesting entity for locking the at least one logical field before executing the abstract query; and unlocking the lock object after executing the abstract query. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer, comprising:
-
a processor; a database containing data; a data abstraction model defining a plurality of logical fields abstractly defining a manner of accessing and exposing, via a user interface, the data;
wherein each of the plurality of logical fields include a reference to an access method selected from at least two different access method types;
wherein the at least two different access method types are selected from the group comprising;
(i) a simple access method which maps a respective one of the plurality of logical fields directly to a physical entity, (ii) a filtered access method which identifies a physical entity and provides rules used to define a subset of items within the physical entities, and (iii) a composed access method which computes a value for a respective one of the plurality of logical fields from one or more physical entities using an expression supplied as part of a composed access method definition;
wherein each of the different access methods types defines a different manner of exposing respective physical entities of the data; and
wherein at least a portion of the plurality of logical fields include lock attributes referenced in order to lock the respective logical field;a query building application for building abstract queries according to the data abstraction model; a runtime component configured to transform the abstract queries into concrete queries having a form consistent with the data; and a locking mechanism for selectively locking, on the basis of their respective lock attributes, one or more logical fields of an abstract query, prior to execution of a concrete query in which the abstract query has been transformed by the runtime component, to prevent alterations of the data while a concrete query, corresponding to the abstract query after being transformed, is executed against the database, and for unlocking the one or more logical fields after execution of the concrete query.
-
Specification