← Back to Patent Explorer
US6009428A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for providing a single application program interface for heterogeneous databases

Assignee: International Business Machines Corp
•
Filing: 1997-09-15
•
Granted: 1999-12-28
•
Expires: 2017-09-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An application program interface at a local processor enables transparent access to both a local database and a remote database. The remote database includes (i) a remote DBMS which segregates data into distinct remote datatype categories and (ii) remote data functions which define functions that are executable by the remote DBMS with respect to categories of remote datatypes. The local processor includes a memory which stores (i) a local DBMS that includes local datatypes which segregate locally stored data into local datatypes; (ii) local functions which define actions that are executable by the local DBMS with respect to defined categories of the local datatypes, and (iii) tables which store a mapping between local datatypes and remote datatypes, and local functions and remote functions. The mapping between at least one local datatype and at least one remote datatype indicates that the remote datatype is to be transformed into a local defined datatype that is different than the remote datatype. A local processor employs the table to convert a received instance of the at least one remote datatype to a mapped local datatype and subjects data comprising the instance of the remote datatype to a local function which is not executable for the remote datatype. The application program interface further enables specification of a function to be carried out at the remote database with respect to data stored thereat, which function is not readily performable by the local processor.

Inventors

  • 👤 James Charles Kleewein
  • 👤 Eileen Tien Lin
  • 👤 Tina Louise Mukai
  • 👤 Yun Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:03
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/25; G06F16/258; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 179 words
A system for providing a transparent interface at a local processor to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes remote datatypes and remote data functions, said system comprising: memory means for storing a local data source control procedure including (i) local datatypes, (ii) local functions, (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from the remote datatype; and processor means for utilizing said table means to convert a received instance of said at least one remote datatype to a local datatype and subjecting data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 2
Independent Claim 179 words
A system for providing a transparent interface at a local processor to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes remote datatypes and remote data functions, said system comprising: memory means for storing a local data source control procedure including (i) local datatypes, (ii) local functions, (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from the remote datatype; and processor means for utilizing said table means to convert a received instance of said at least one remote datatype to a local datatype and subjecting data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 3
Dependent Claim 48 words
The system as recited in claim 1, wherein said processor means uses said table means to convert said instance of said at least one remote datatype to one of a set of plural local datatypes, depending upon a characteristic of data comprising said at least one remote datatype.
Claim 4
Dependent Claim 29 words
The system as recited in claim 1, wherein said function comprises a further mapping of said instance of said at least one remote datatype to still other local datatypes.
Claim 5
Dependent Claim 27 words
The system as recited in claim 1, wherein said function comprises a logical operation that is performed on said data comprising said at least one remote datatype.
Claim 6
Dependent Claim 25 words
The system as recited in claim 1, wherein said function comprises a constraint which applies to said data comprising said at least one remote datatype.
Claim 7
Independent Claim 158 words
A system for providing a transparent interface at a local processor to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes remote datatypes and remote data functions, said system comprising: memory means for storing a local data source control procedure including (i) local datatypes, (ii) local functions, (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions; and local processor means for dispatching, to a remote processor controlling said remote data source, a request for an instance of at least one remote datatype and further specifying performance of a remote function at said remote processor with respect to data comprising said at least one remote datatype, said remote function determined from said table means as a result of a specification of a local function that is not readily performable by said local processor.
Claim 8
Independent Claim 158 words
A system for providing a transparent interface at a local processor to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes remote datatypes and remote data functions, said system comprising: memory means for storing a local data source control procedure including (i) local datatypes, (ii) local functions, (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions; and local processor means for dispatching, to a remote processor controlling said remote data source, a request for an instance of at least one remote datatype and further specifying performance of a remote function at said remote processor with respect to data comprising said at least one remote datatype, said remote function determined from said table means as a result of a specification of a local function that is not readily performable by said local processor.
Claim 9
Dependent Claim 17 words
The system as recited in claim 6, wherein said remote function comprises a plurality of logical operations.
Claim 10
Dependent Claim 23 words
The system as recited in claim 6, wherein said remote function is denoted by a signature that is different from said local function.
Claim 11
Dependent Claim 232 words
A memory media for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from a remote datatype, said memory media comprising: a) means for controlling said local processor to dispatch, to a processor controlling said remote data source, a request for an instance of said at least one remote datatype; b) means for controlling said local processor to utilize said table means to convert a received instance of said at least one remote datatype to a local datatype; and c) means for controlling said local processor to subject data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 12
Dependent Claim 232 words
A memory media for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from a remote datatype, said memory media comprising: a) means for controlling said local processor to dispatch, to a processor controlling said remote data source, a request for an instance of said at least one remote datatype; b) means for controlling said local processor to utilize said table means to convert a received instance of said at least one remote datatype to a local datatype; and c) means for controlling said local processor to subject data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 13
Dependent Claim 54 words
The memory media as recited in claim 9, wherein said means b) causes said local processor to use said table means to convert said instance of said at least one remote datatype to one of a set of plural local datatypes, depending upon a characteristic of data comprising said at least one remote datatype.
Claim 14
Dependent Claim 32 words
The memory media as recited in claim 9, wherein said executable local function comprises a further mapping of said instance of said at least one remote datatype to still other local datatypes.
Claim 15
Dependent Claim 30 words
The memory media as recited in claim 9, wherein said executable local function comprises a logical operation that is performed on said data comprising said at least one remote datatype.
Claim 16
Dependent Claim 28 words
The memory media as recited in claim 9, wherein said executable local function comprises a constraint which applies to said data comprising said at least one remote datatype.
Claim 17
Dependent Claim 184 words
A memory media for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said memory media comprising: a) means for controlling said local processor to determine a remote function from said table means in response to a specification of a local function that is not readily performable by said local processor; and b) means for controlling said local processor to dispatch to a remote processor controlling said remote data source, (i) a request for an instance of at least one remote datatype, and (ii) a request for performance of said remote function at said remote processor with respect to data comprising said at least one remote datatype.
Claim 18
Dependent Claim 184 words
A memory media for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said memory media comprising: a) means for controlling said local processor to determine a remote function from said table means in response to a specification of a local function that is not readily performable by said local processor; and b) means for controlling said local processor to dispatch to a remote processor controlling said remote data source, (i) a request for an instance of at least one remote datatype, and (ii) a request for performance of said remote function at said remote processor with respect to data comprising said at least one remote datatype.
Claim 19
Dependent Claim 35 words
The memory media as recited in claim 14, wherein said remote function requested to be performed comprises a plurality of logical operations that are performed on said data comprising said at least one remote datatype.
Claim 20
Dependent Claim 27 words
The system as recited in claim 14, wherein said remote function requested to be performed is denoted by a signature that is different from said local function.
Claim 21
Independent Claim 222 words
A method for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from a remote datatype, said method comprising the steps of: a) controlling said local processor to dispatch, to a processor controlling said remote data source, a request for an instance of said at least one remote datatype; b) controlling said local processor to utilize said table means to convert a received instance of said at least one remote datatype to a local datatype; and c) subjecting data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 22
Independent Claim 222 words
A method for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said mapping between at least one local datatype and at least one remote datatype indicating that said at least one remote datatype is to be transformed into a local datatype that is different from a remote datatype, said method comprising the steps of: a) controlling said local processor to dispatch, to a processor controlling said remote data source, a request for an instance of said at least one remote datatype; b) controlling said local processor to utilize said table means to convert a received instance of said at least one remote datatype to a local datatype; and c) subjecting data comprising said instance of said at least one remote datatype to a local function or constraint that is executable or enforceable with respect to said local datatype but not for said remote datatype.
Claim 23
Dependent Claim 53 words
The method as recited in claim 17, wherein said step b) causes said local processor to use said table means to convert said instance of said at least one remote datatype to one of a set of plural local datatypes, depending upon a characteristic of data comprising said at least one remote datatype.
Claim 24
Dependent Claim 33 words
The method as recited in claim 17, wherein said local function of step c) comprises a further mapping of said instance of said at least one remote datatype to still other local datatypes.
Claim 25
Dependent Claim 31 words
The method as recited in claim 17, wherein said local function of step c) comprises a logical operation that is performed on said data comprising said at least one remote datatype.
Claim 26
Dependent Claim 29 words
The method as recited in claim 17, wherein said local function of step c) comprises a constraint which applies to said data comprising said at least one remote datatype.
Claim 27
Independent Claim 180 words
A method for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said method comprising the steps of: a) controlling said local processor to determine a remote function from said table means in response to a specification of a local function that is not readily performable by said local processor; and b) dispatching from said local processor to a remote processor controlling said remote data source, (i) a request for an instance of at least one remote datatype, and (ii) a request for performance of said remote function at said remote processor with respect to data comprising said at least one remote datatype.
Claim 28
Independent Claim 180 words
A method for controlling a local processor, including local memory means, to provide a transparent interface to both a local data source and at least one remote data source, said remote data source including a remote data source control procedure which includes (i) remote datatypes and (ii) remote data functions, said local memory means storing a local data source control procedure which includes (i) local datatypes, (ii) local functions, and (ii) table means for storing a mapping between local datatypes and remote datatypes, and local functions and remote functions, said method comprising the steps of: a) controlling said local processor to determine a remote function from said table means in response to a specification of a local function that is not readily performable by said local processor; and b) dispatching from said local processor to a remote processor controlling said remote data source, (i) a request for an instance of at least one remote datatype, and (ii) a request for performance of said remote function at said remote processor with respect to data comprising said at least one remote datatype.
Claim 29
Dependent Claim 33 words
The method as recited in claim 22, wherein said remote function of step b(ii) comprises a plurality of logical operations that are performed on said data comprising said at least one remote datatype.
Claim 30
Dependent Claim 26 words
The method as recited in claim 22, wherein said remote function of step b(ii) is denoted by a signature that is different from said local function.

References Cited (Backward Citations)

US5278978A Cited
US5416917A Cited
US5408652A Cited
US5596746A Cited
US5596744A Cited
US5560005A Cited
US5724575A Cited
US5634053A Cited
US5806066A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-27 2003-06-28 2003-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-27 2007-06-28 2007-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-27 2011-06-28 2011-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag