Logical object search framework and application programming interface
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-017/30
출원번호
US-0625889
(2009-11-25)
등록번호
US-9165043
(2015-10-20)
발명자
/ 주소
Jin, Maobing
Rauf, Tariq
출원인 / 주소
Jin, Maobing
대리인 / 주소
Carroll, Terry
인용정보
피인용 횟수 :
2인용 특허 :
9
초록▼
A method, computer program product, and system for executing and administering queries in a data management system, and particularly a relational data management system. Logical objects can be queried by providing a translation from a logical query in a pre-defined logical schema to a physical query
A method, computer program product, and system for executing and administering queries in a data management system, and particularly a relational data management system. Logical objects can be queried by providing a translation from a logical query in a pre-defined logical schema to a physical query against the physical data management system, such as by translating a database query constructed using an Object Query Language (OQL) into a query in Structured Query Language (SQL) without the user needing to know the details of the physical data management system such as the structure of the underlying relational databases.
대표청구항▼
1. A method of processing a query, comprising: providing a pre-defined logical schema to a user of a database system, wherein the pre-defined logical schema is mapped to at least two relational database entities of different databases storing data therein;receiving a logical query for data stored in
1. A method of processing a query, comprising: providing a pre-defined logical schema to a user of a database system, wherein the pre-defined logical schema is mapped to at least two relational database entities of different databases storing data therein;receiving a logical query for data stored in the databases from the user, wherein the logical query is written in an object-oriented query language utilizing the pre-defined logical schema, and comprises two or more predicates and an operator specifying an action to take with one or more of the predicates;in response to receiving the logical query, interpreting the logical query using the pre-defined logical schema to determine which of the relational database entities is a subject of the logical query, and which of the relational database entities is associated with each predicate;requesting the database of each determined relational database entity of the logical query to: translate each of the associated predicates of that database in the logical query into a query language specific to that database, wherein at least two different databases translate an associated predicate; andapply an authorization rule with each of the associated predicates of that database in the logical query, wherein the authorization rule identifies unauthorized data:receiving a translated predicate query for each determined predicate of the logical query from its associated database of the relational database entity, wherein each translated predicate query is written in a relational query language specific to the associated database and is a translation of one of the object-oriented predicates in the logical query;combining each translated predicate query received from the databases of the determined relational database entities into a master query using the operator;executing the master query against the databases of the relational database entities that are subjects of the logical query;in response to executing the master query, receiving a query result set from the databases of the relational database entities that are subjects of the logical query; andproviding the query result set to the user, wherein the query result set lacks the unauthorized data. 2. The method according to claim 1, wherein at least one of the steps is implemented on a computer system. 3. The method according to claim 1, further comprising: requesting the database of each relational database entity to check for authorization for each of its associated predicates;receiving the authorization rule for each predicate from its associated database of the relational database entity, wherein the authorization rule specifies unauthorized data and is written in the relational query language;wherein said combining further comprises combining the authorization rules with the translated predicate queries into the master query such that the received query result set does not contain any unauthorized data. 4. The method according to claim 1, further comprising: requesting the database of each relational database entity to check for authorization for each of its associated predicates;receiving the authorization rule including an authorization filter for each predicate from its associated database of the relational database entity, wherein the authorization filter specifies unauthorized data; andapplying the received authorization filters to the received query result to remove unauthorized data prior to providing the query result set to the user. 5. The method according to claim 1, further comprising: saving the logical query in the database system. 6. The method according to claim 1, further comprising: saving the query result set in the database system. 7. The method according to claim 1, wherein the database system is a master database system. 8. The method according to claim 1, wherein the relational query language is SQL. 9. A computer program product comprising a computer useable memory device having a computer readable program stored thereon, wherein the computer readable program when executed on a computer causes the computer to: provide a pre-defined logical schema to a user of a database system, wherein the pre-defined logical schema is mapped to at least two relational database entities of different databases storing data therein;receive a logical query for data stored in the databases from the user, wherein the logical query is written in an object-oriented query language utilizing the pre-defined logical schema, and comprises two or more predicates and an operator specifying an action to take with one or more of the predicates;in response to receiving the logical query, interpret the logical query using the pre-defined logical schema to determine which of the relational database entities is a subject of the logical query, and which of the relational database entities is associated with each predicate;request the database of each determined relational database entity of the logical query to: translate each of the associated predicates of that database in the logical query into a query language specific to that database, wherein at least two different databases translate an associated predicate; andapply an authorization rule with each of the associated predicates of that database in the logical query, wherein the authorization rule identifies unauthorized data;receive a translated predicate query for each determined predicate of the logical query from its associated database of the relational database entity, wherein each translated predicate query is written in a relational query language specific to the associated database and is a translation of one of the object-oriented predicates in the logical query;combine each translated predicate query received from the databases of the determined relational database entities into a master query using the operator;execute the master query against the databases of the relational database entities that are subjects of the logical query;in response to executing the master query, receive a query result set from the databases of the relational database entities that are subjects of the logical query; andprovide the query result set to the user, wherein the query result set lacks the unauthorized data. 10. The computer program product of claim 9, wherein the computer readable program when executed on a computer further causes the computer to: request the database of each relational database entity to check for authorization for each of its associated predicates;receive the authorization rule for each predicate from its associated database of the relational database entity, wherein the authorization rule specifies unauthorized data and is written in the relational query language;wherein said combining further comprises combining the authorization rules with the translated predicate queries into the master query such that the received query result set does not contain any unauthorized. 11. The computer program product of claim 9, wherein the computer readable program when executed on a computer further causes the computer to: request the database of each relational database entity to check for authorization for each of its associated predicates;receive the authorization rule including an authorization filter for each predicate from its associated database of the relational database entity, wherein the authorization filter specifies unauthorized data; andapply the received authorization filters to the received query result to remove unauthorized data prior to providing the query result set to the user. 12. The computer program product of claim 9, wherein the computer readable program when executed on a computer further causes the computer to: save the logical query in the database system. 13. The computer program product of claim 9, wherein the computer readable program when executed on a computer further causes the computer to: save the query result set in the database system. 14. The computer program product of claim 9, wherein the database system is a master database system. 15. The computer program product of claim 9, wherein the relational query language is SQL. 16. The computer program product of claim 9, wherein the computer useable memory device is a computer useable optical storage medium. 17. The computer program product of claim 9, wherein the computer useable memory device is a hard disk. 18. A system comprising: a memory having a pre-defined logical schema stored thereon; anda processor configured with logic to: provide the pre-defined logical schema to a user of a database system, wherein the pre-defined logical schema is mapped to at least two relational database entities of different databases;receive a logical query for stored data of the databases from the user, wherein the logical query is written in an object-oriented query language utilizing the pre-defined logical schema, and comprises two or more predicates and an operator specifying an action to take with one or more of the predicates;in response to receiving the logical query, interpret the logical query using the pre-defined logical schema to determine which of the relational database entities is a subject of the logical query, and which of the relational database entities is associated with each predicate;request the database of each determined relational database entity of the logical query to: translate each of the associated predicates of that database in the logical query into a query language specific to that database, wherein at least two different databases translate an associated predicate; andapply an authorization rule with each of the associated predicates of that database in the logical query, wherein the authorization rule identifies unauthorized data;receive a translated predicate query for each determined predicate of the logical query from its associated database of the relational database entity, wherein each translated predicate query is written in a relational query language specific to the associated database and is a translation of one of the object-oriented predicates in the logical query;combine each translated predicate query received from the databases of the determined relational database entities into a master query using the operator;execute the master query against the databases of the relational database entities that are subjects of the logical query;in response to executing the master query, receive a query result set from the databases of the at least two relational database entities; andprovide the query result set to the user, wherein the query result set lacks the unauthorized data. 19. The system of claim 18, the processor being further configured with the logic to: request the database of each relational database entity to check for authorization for each of its associated predicates;receive the authorization rule for each predicate from its associated database of the relational database entity, wherein the authorization rule specifies unauthorized data and is written in the relational query language;wherein said combining further comprises combining the authorization rules with the translated predicate queries into the master query such that the received query result set does not contain any unauthorized data. 20. The system of claim 18, the processor being further configured with the logic to: request the database of each relational database entity to check for authorization for each of its associated predicates;receive the authorization rule including an authorization filter for each predicate from its associated database of the relational database entity, wherein the authorization filter specifies unauthorized data; andapply the received authorization filters to the received query result to remove unauthorized data prior to providing the query result set to the user. 21. The system of claim 18, the processor being further configured with the logic to: save the logical query in the database system. 22. The system of claim 18, the processor being further configured with the logic to: save the query result set in the database system. 23. The system of claim 18, wherein the database system is a master database system. 24. The system of claim 18, wherein the relational query language is SQL.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (9)
Farber, David A.; Lachman, Ronald D., Accessing data in a data processing system.
Farber David A. ; Lachman Ronald D., Data processing system using substantially unique identifiers to identify data items, whereby identical data items hav.
Nagral Ajit S. ; Bush ; III Fitzhugh Gordon ; Bayiates Edward Lawrence ; Gregory Carey Edwin ; Dos Santos Carl Philip Emmanuel ; Kaulgud Milind, Information storage and retrieval system for storing and retrieving the visual form of information from an application in a database.
Wilmering, Timothy J.; Van Rossum, David A.; Yuan, Jun; Herrmann, Joseph R.; Wilson, John G.; White, James M., Querying of distributed databases using neutral ontology model for query front end.
Matthias Eichstaedt ; Ashvinkumar P. Patel ; Qi Lu ; Udi Manber ; Kristine Rudkin, System and method for personalized information filtering and alert generation.
Mannopantar, Raghottam; Hosabettu, Raghavendra; Unnikrishnan, Anoop, Systems and methods for providing software components for developing software applications.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.