CA2480459A1 - Persistent key-value repository with a pluggable architecture to abstract physical storage - Google Patents

Persistent key-value repository with a pluggable architecture to abstract physical storage Download PDF

Info

Publication number
CA2480459A1
CA2480459A1 CA002480459A CA2480459A CA2480459A1 CA 2480459 A1 CA2480459 A1 CA 2480459A1 CA 002480459 A CA002480459 A CA 002480459A CA 2480459 A CA2480459 A CA 2480459A CA 2480459 A1 CA2480459 A1 CA 2480459A1
Authority
CA
Canada
Prior art keywords
repository
component
client
access mode
plug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002480459A
Other languages
French (fr)
Other versions
CA2480459C (en
Inventor
Surojit Chatterjee
Raj Kumar
Jonathan Creighton
Alok Srivastava
Sameer Joshi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2480459A1 publication Critical patent/CA2480459A1/en
Application granted granted Critical
Publication of CA2480459C publication Critical patent/CA2480459C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

A system and techniques are described for managing key-value pairs using an architecture that does not restrict its users to any specific platform or storage subsystem. According to one aspect of the invention, the repository is portable in that the architecture need not change based on the environment and platform in which the repository is used. Rather, the portion of the architecture that is platform-specific is limited to plug-ins at a storage abstraction layer of the repository. The plug-ins expose the same storage abstraction interface to the other layers of the repository, but are implemented to interact with different platforms and storage subsystems.
Consequently, in response to being ported from one platform to another, the repository may simply change the plug-in to invoke for persistent storage operations.

Claims (32)

1. A method for storing key-value pairs, the method comprising:
exposing, at an application programming layer, a repository interface through which clients may make calls to store and access key-value pair information in a repository;
servicing calls made through said repository interface by calling one of a plurality of plug-ins through a common interface of a storage abstraction layer;
receiving a request to perform an operation;
determining which particular plug-in of said plurality of plug-ins corresponds to a type of storage subsystem to access during execution of said operation;
dynamically loaded the particular plug-in that corresponds to said type of storage subsystem; and performing said operation by making one or more calls through said common interface to said particular plug-in;
wherein each plug-in of said plurality of plug-ins exposes said common interface for accessing durably stored key-value pair information;
wherein each plug-in of said plurality of plug-ins is designed to interact with a particular type of storage subsystem in response to calls made through said common interface; and wherein the storage subsystem with which each plug-in interacts is a different type of storage subsystem than the storage subsystem with which each other of said plurality of plug-ins interacts.
2. The method of claim 1, further comprising the steps of:
designating a single component of said repository as a master component; receiving, at components spread across a plurality of nodes of a cluster, calls through said repository interface from clients residing on said plurality of nodes; directing all calls that require access to persistent storage to said master component;
wherein the master component is the only component of said repository permitted to perform the step of calling plug-ins through said common interface.
3. The method of claim 1, further comprising the steps of:
receiving a request from a client through said repository interface;
prior to making a call through said common interface for information required by said request, searching for said information in a master cache.
4. The method of claim 3, wherein:
the client resides on a first node and the master cache resides on a second node; and the method further comprises the step of, prior to searching for said information in said master cache, searching for said information on a local cache on said first node.
5. The method of claim 4, wherein:
the first node includes a plurality of components of said repository;
the client is associated with a first component of said plurality of components; the method further comprises the steps of establishing only one component of said plurality of components as a caching component; and if said first component is not said caching component, then causing a message to be sent from said first component to said caching component to cause said caching component to search said local cache for said information.
6. The method of claim 1, further comprising the steps of:
creating a code library that contains routines that implement said repository interface;

linking said code library to client code to allow routines in said client code to use said repository by calling said routines in said code library.
7. The method of claim 1, further comprising the steps of:
receiving a call from a client through a routine that implements a portion of said repository interface; and based on a value of a parameter in said call, determining whether to establish a component of said repository that is associated with said client as a caching component responsible for managing a cache for said repository.
8. A method for storing key-value pairs, the method comprising:
exposing a repository interface through which clients may make calls to store and access key-value pair information in a repository;
receiving a call from a client through a routine that implements a portion of said repository interface; and based on said call, determining whether to establish a component of said repository that is associated with said client as a caching component responsible for managing a cache for said repository.
9. The method of claim 8, wherein:
the repository supports a plurality of access modes, including a caching access mode and a default access mode;
the step of receiving a call includes receiving a call that specifies one of the caching access mode and the default access mode; and, the method includes the step of establishing the component of said repository that is associated with said client as a caching component if said call specifies said caching access mode.
10. The method of claim 9, further comprising the steps of:

in response to determining that said call specifies said default access mode, passing requests to read information from said repository that are received by said component from said client to a second caching component associated with a second client; and causing said second component to respond to said requests by inspecting a cache, of information from said repository, that is managed by said second component.
11. The method of claim 10, wherein said component and said second caching component reside on a single node.
12. The method of claim 11, further comprising the step of if the cache managed by the second caching component does not include information required by a particular request from said client, then said second caching component sending said request to a third component residing on a second node that is remote relative to said node.
13. The method of claim 9, wherein:
the plurality of access modes further include an installation access mode and a read only access mode;
clients use said installation access mode when initially creating said repository; and clients use said read only access mode when booting from said repository.
14. A method for storing key-value pairs, the method comprising:
exposing a repository interface through which clients may make calls to store and access key-value pair information in a repository designed specifically for key-value pair information;
receiving one or more calls from a client through said repository interface; wherein said one or more calls are received at said repository interface prior to allocating, on persistent storage, any structures for said repository for persistently storing said key-value pair information;
and based on said one or more calls, creating structures for persistently storing said key-value pair information on said persistent storage.
15. The method of claim 14, wherein:
said repository supports a plurality of access modes, including an installation access mode and a default access mode;
the step of receiving one or more calls includes receiving at least one call that specifies the installation ' access mode; and the method includes the step of granting to said client said installation access mode and exclusive use of said repository while said client remains in said installation access mode.
16. The method of claim 15, wherein:
said plurality of access modes includes a read-only access mode; and the method includes the steps of receiving a request from a second client to perform an operation using read-only access mode;
circumventing concurrency control mechanisms of said repository during execution of said operation.
17. A computer-readable medium carrying instructions for storing key-value pairs, the instructions comprising instructions for performing the steps of:
exposing, at an application programming layer, a repository interface through which clients may make calls to store and access key-value pair information in a repository;
servicing calls made through said repository interface by calling one of a plurality of plug-ins through a common interface of a storage abstraction layer;
receiving a request to perform an operation;
determining which particular plug-in of said plurality of plug-ins corresponds to a type of storage subsystem to access during execution of said operation;

dynamically loading the particular plug-in that corresponds to said type of storage subsystem; and, performing said operation by making one or more calls through said common interface to said particular plug-in;
wherein each plug-in of said plurality of plug-ins exposes said common interface for accessing durably stored key-value pair information;
wherein each plug-in of said plurality of plug-ins is designed to interact with a particular type of storage subsystem in response to calls made through said common interface; and wherein the storage subsystem with which each plug-in interacts is a different type of storage subsystem than the storage subsystem with which each other of said plurality of plug-ins interacts.
18. The computer-readable medium of claim 17, further comprising instructions for performing the steps of:
designating a single component of said repository as a master component; receiving, at components spread across a plurality of nodes of a cluster, calls through said repository interface from clients residing on said plurality of nodes; directing all calls that require access to persistent storage to said master component;
wherein the master component is the only component of said repository permitted to perform the step of calling plug-ins through said common interface.
19. The computer-readable medium of claim 17, further comprising instructions for performing the steps of:
receiving a request from a client through said repository interface;
prior to making a call through said common interface for information required by said request, searching for said information in a master cache.
20. The computer-readable medium of claim 19, wherein:

the client resides on a first node and the master cache resides on a second node; and the computer-readable medium further comprises instructions for performing the step of, prior to searching for said information in said master cache, searching for said information on a local cache on said first node.
21. The computer-readable medium of claim 20, wherein:
the first node includes a plurality of components of said repository;
the client is associated with a first component of said plurality of components; the computer-readable medium further comprises instructions for performing the steps of establishing only one component of said plurality of components as a caching component; and if said first component is not said caching component, then causing a message to be sent from said first component to said caching component to cause said caching component to search said local cache for said information.
22. The computer-readable medium of claim 17, further comprising instructions for performing the steps of:
creating a code library that contains routines that implement said repository interface;
linking said code library to client code to allow routines in said client code to use said repository by calling said routines in said code library.
23. The computer-readable medium of claim 17, further comprising instructions for performing the steps of:
receiving a call from a client through a routine that implements a portion of said repository interface; and based on a value of a parameter in said call, determining whether to establish a component of said repository that is associated with said client as a caching component responsible for managing a cache for said repository.
24. A computer-readable medium carrying instructions for storing key-value pairs, the computer-readable medium comprising instructions for performing the steps of:
exposing a repository interface through which clients may make calls to store and access key-value pair information in a repository;
receiving a call from a client through a routine that implements a portion of said repository interface; and based an said call, determining whether to establish a component of said repository that is associated with said client as a caching component responsible for managing a cache for said repository.
25. The computer-readable medium of claim 24, wherein:
the repository supports a plurality of access modes, including a caching access mode and a default access mode;
the step of receiving a call includes receiving a call that specifies one of the caching access mode and the default access mode; and the computer-readable medium includes instructions for performing the step of establishing the component of said repository that is associated with said client as a caching component if said call specifies said caching access mode.
26. The computer-readable medium of claim 25, further comprising instructions for performing the steps of:
in response to determining that said call specifies said default access mode, passing requests to read information from said repository that are received by said component from said client to a second caching component associated with a second client; and causing said second component to respond to said requests by inspecting a cache, of information from said repository, that is managed by said second caching component.
27. The computer-readable medium of claim 26, wherein said component and said second caching component reside on a single node.
28. The computer-readable medium of claim 27, further comprising instructions for performing the step of:

if the cache managed by the second caching component does not include information required by a particular request from said client, then said second caching component sending said request to a third component residing on a second node that is remote relative to said node.
29. The computer-readable medium of claim 25, wherein:
the plurality of access modes further include an installation access mode and a read only access mode;
clients use said installation access mode when initially creating said repository; and clients use said read only access mode when booting from said repository.
30. A computer-readable medium carrying instructions for storing key-value pairs, the computer-readable medium comprising instructions for performing the steps of:
exposing a repository interface through which clients may make calls to store and access key-value pair information in a repository designed specifically for key-value pair information;
receiving one or more calls from a client through said repository interface;
wherein said one or more calls are received at said repository interface prior to allocating, on persistent storage, any structures for said repository for persistently storing said key-value pair information; and based on said one or more calls, creating structures for persistently storing said key-value pair information on said persistent storage.
31. The computer-readable medium of claim 30, wherein:
said repository supports a plurality of access modes, including an installation access mode and a default access mode;
the step of receiving one or more calls includes receiving at least one call that specifies the installation access mode; and 25a the computer-readable medium includes instructions for performing the step of granting to said client said installation access mode and exclusive use of said repository while said client remains in said installation access mode.
32. The computer-readable medium of claim 31, wherein:
said plurality of access modes includes a read-only access mode; and the computer-readable medium includes instructions for performing the steps of receiving a request from a second client to perform an operation using read-only access mode;
circumventing concurrency control mechanisms of said repository during execution of said operation.
CA002480459A 2002-04-08 2003-03-26 Persistent key-value repository with a pluggable architecture to abstract physical storage Expired - Lifetime CA2480459C (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US37096302P 2002-04-08 2002-04-08
US60/370,963 2002-04-08
US37218602P 2002-04-12 2002-04-12
US60/372,186 2002-04-12
US10/253,088 2002-09-23
US10/253,088 US7096213B2 (en) 2002-04-08 2002-09-23 Persistent key-value repository with a pluggable architecture to abstract physical storage
PCT/US2003/009407 WO2003088093A2 (en) 2002-04-08 2003-03-26 Key-value repository with a pluggable architecture

Publications (2)

Publication Number Publication Date
CA2480459A1 true CA2480459A1 (en) 2003-10-23
CA2480459C CA2480459C (en) 2010-01-19

Family

ID=28678885

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002480459A Expired - Lifetime CA2480459C (en) 2002-04-08 2003-03-26 Persistent key-value repository with a pluggable architecture to abstract physical storage

Country Status (6)

Country Link
US (2) US7096213B2 (en)
EP (1) EP1493105B1 (en)
JP (1) JP4297790B2 (en)
CN (1) CN100410929C (en)
CA (1) CA2480459C (en)
WO (1) WO2003088093A2 (en)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050220286A1 (en) * 2001-02-27 2005-10-06 John Valdez Method and apparatus for facilitating integrated access to communications services in a communication device
MXPA04006390A (en) * 2001-12-28 2005-06-08 James Jonas Jeffrey Real time data warehousing.
US7445196B2 (en) * 2002-02-20 2008-11-04 Universal Consumer Products, Inc. Plastic fencing simulative of wrought iron
US7672945B1 (en) 2002-04-08 2010-03-02 Oracle International Corporation Mechanism for creating member private data in a global namespace
US7136867B1 (en) 2002-04-08 2006-11-14 Oracle International Corporation Metadata format for hierarchical data storage on a raw storage device
US7058639B1 (en) 2002-04-08 2006-06-06 Oracle International Corporation Use of dynamic multi-level hash table for managing hierarchically structured information
US8271530B2 (en) * 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
US7900052B2 (en) 2002-11-06 2011-03-01 International Business Machines Corporation Confidential data sharing and anonymous entity resolution
US8620937B2 (en) * 2002-12-27 2013-12-31 International Business Machines Corporation Real time data warehousing
CN100541443C (en) 2002-12-31 2009-09-16 国际商业机器公司 The method and system that is used for deal with data
US7200602B2 (en) * 2003-02-07 2007-04-03 International Business Machines Corporation Data set comparison and net change processing
US7962757B2 (en) * 2003-03-24 2011-06-14 International Business Machines Corporation Secure coordinate identification method, system and program
US7467384B2 (en) * 2004-02-20 2008-12-16 Microsoft Corporation Uniform resource discovery with multiple computers
US7461054B2 (en) * 2004-02-20 2008-12-02 Microsoft Corporation Uniform resource discovery and API layering
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
US7779022B2 (en) * 2004-09-01 2010-08-17 Oracle International Corporation Efficient retrieval and storage of directory information system knowledge referrals
US7792860B2 (en) * 2005-03-25 2010-09-07 Oracle International Corporation System for change notification and persistent caching of dynamically computed membership of rules-based lists in LDAP
US8204831B2 (en) 2006-11-13 2012-06-19 International Business Machines Corporation Post-anonymous fuzzy comparisons without the use of pre-anonymization variants
US7903819B2 (en) * 2007-09-07 2011-03-08 Yahoo! Inc. Memory efficient storage of large numbers of key value pairs
US8336047B2 (en) * 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
CN102043645B (en) * 2009-10-20 2014-01-08 阿里巴巴集团控股有限公司 Plug-in loading method and device
US8402106B2 (en) * 2010-04-14 2013-03-19 Red Hat, Inc. Asynchronous future based API
US8935487B2 (en) 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US9053032B2 (en) 2010-05-05 2015-06-09 Microsoft Technology Licensing, Llc Fast and low-RAM-footprint indexing for data deduplication
US20110276744A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
US9208472B2 (en) 2010-12-11 2015-12-08 Microsoft Technology Licensing, Llc Addition of plan-generation models and expertise by crowd contributors
US9110936B2 (en) 2010-12-28 2015-08-18 Microsoft Technology Licensing, Llc Using index partitioning and reconciliation for data deduplication
US8832111B2 (en) * 2010-12-30 2014-09-09 Facebook, Inc. Distributed cache for graph data
KR101398959B1 (en) 2012-06-28 2014-05-27 엘아이지넥스원 주식회사 Interface method and apparatus by using plug-in
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
US9069979B2 (en) * 2012-09-07 2015-06-30 Oracle International Corporation LDAP-based multi-tenant in-cloud identity management system
KR102044023B1 (en) * 2013-03-14 2019-12-02 삼성전자주식회사 Data Storage System based on a key-value and Operating Method thereof
US9870168B1 (en) * 2014-12-22 2018-01-16 Emc Corporation Key-value store with internal key-value storage interface
US10013353B2 (en) 2015-02-23 2018-07-03 Red Hat, Inc. Adaptive optimization of second level cache
US9767028B2 (en) * 2015-10-30 2017-09-19 Advanced Micro Devices, Inc. In-memory interconnect protocol configuration registers
US10261913B2 (en) 2017-04-20 2019-04-16 Alibaba Group Holding Limited Persistent memory for key-value storage
CN107196920B (en) * 2017-04-28 2019-07-30 中国人民解放军信息工程大学 A kind of key generation distribution method towards wireless communication system
US10572161B2 (en) * 2017-11-15 2020-02-25 Samsung Electronics Co., Ltd. Methods to configure and access scalable object stores using KV-SSDs and hybrid backend storage tiers of KV-SSDs, NVMe-SSDs and other flash devices
US10403351B1 (en) 2018-02-22 2019-09-03 Advanced Micro Devices, Inc. Save and restore scoreboard
US11507392B2 (en) * 2020-02-26 2022-11-22 Red Hat, Inc. Automatically configuring computing clusters
CN113326033B (en) * 2021-06-09 2023-08-11 北京八分量信息科技有限公司 Key-value storage system with multi-language API
US11914563B2 (en) 2022-03-24 2024-02-27 Oracle International Corporation Data structure generation system for analyzing logs
US11822939B2 (en) * 2022-03-24 2023-11-21 Oracle International Corporation Collaborative analysis system for analyzing logs

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US5555388A (en) 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
US5504892A (en) 1994-09-08 1996-04-02 Taligent, Inc. Extensible object-oriented file system
FR2735261B1 (en) 1995-06-08 1997-07-11 France Telecom METHOD OF MAKING A PAYMENT USING AN ACCOUNT MANAGER
US6105025A (en) 1996-03-08 2000-08-15 Oracle Corporation Method for using an index as a workspace for deferred enforcement of uniqueness constraints
US5727950A (en) 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US5822526A (en) 1996-06-03 1998-10-13 Microsoft Corporation System and method for maintaining and administering email address names in a network
US5901214A (en) 1996-06-10 1999-05-04 Murex Securities, Ltd. One number intelligent call processing system
US6067584A (en) 1996-09-09 2000-05-23 National Instruments Corporation Attribute-based system and method for configuring and controlling a data acquisition task
US6016499A (en) 1997-07-21 2000-01-18 Novell, Inc. System and method for accessing a directory services respository
US6523041B1 (en) 1997-07-29 2003-02-18 Acxiom Corporation Data linking system and method using tokens
US6073140A (en) 1997-07-29 2000-06-06 Acxiom Corporation Method and system for the creation, enhancement and update of remote data using persistent keys
US6766327B2 (en) 1997-07-29 2004-07-20 Acxiom Corporation Data linking system and method using encoded links
US6073129A (en) * 1997-12-29 2000-06-06 Bull Hn Information Systems Inc. Method and apparatus for improving the performance of a database management system through a central cache mechanism
US6345382B1 (en) 1998-02-12 2002-02-05 International Business Machines Corporation Run-time customization in object-oriented design
US6298419B1 (en) 1998-03-26 2001-10-02 Compaq Computer Corporation Protocol for software distributed shared memory with memory scaling
US6915307B1 (en) * 1998-04-15 2005-07-05 Inktomi Corporation High performance object cache
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
GB9811574D0 (en) 1998-05-30 1998-07-29 Ibm Indexed file system and a method and a mechanism for accessing data records from such a system
US6748374B1 (en) 1998-12-07 2004-06-08 Oracle International Corporation Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree
US6327594B1 (en) 1999-01-29 2001-12-04 International Business Machines Corporation Methods for shared data management in a pervasive computing environment
US6393415B1 (en) * 1999-03-31 2002-05-21 Verizon Laboratories Inc. Adaptive partitioning techniques in performing query requests and request routing
US6578045B1 (en) * 1999-04-20 2003-06-10 Microsoft Corporation System and method for retrieving registry data
US6421662B1 (en) 1999-06-04 2002-07-16 Oracle Corporation Generating and implementing indexes based on criteria set forth in queries
US7308426B1 (en) 1999-08-11 2007-12-11 C-Sam, Inc. System and methods for servicing electronic transactions
US6442748B1 (en) * 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US6738775B2 (en) * 1999-11-30 2004-05-18 Base One International Corp. Database communication system and method for communicating with a database
CN1114164C (en) * 1999-12-27 2003-07-09 英业达集团(上海)电子技术有限公司 Down loading and enciphering method for Internet electronic reading
WO2001050396A1 (en) 2000-01-05 2001-07-12 Iprivacy Llc Method and system for private shipping to anonymous users of a computer network
US20010044787A1 (en) 2000-01-13 2001-11-22 Gil Shwartz Secure private agent for electronic transactions
WO2001059545A2 (en) 2000-02-11 2001-08-16 Subramaniam Arun K System and method for providing anonymous internet transaction
WO2001063452A2 (en) 2000-02-23 2001-08-30 Capital One Financial Corporation Systems and methods for providing anonymous financial transactions
US7412422B2 (en) 2000-03-23 2008-08-12 Dekel Shiloh Method and system for securing user identities and creating virtual users to enhance privacy on a communication network
US6826626B1 (en) * 2000-07-21 2004-11-30 Clear Blue Technologies Management, Inc. Method of and apparatus for rapid retrieval of data in a content distribution network
AU2001291175A1 (en) 2000-09-21 2002-04-02 Md Online Inc. Medical image processing systems
US7043760B2 (en) 2000-10-11 2006-05-09 David H. Holtzman System and method for establishing and managing relationships between pseudonymous identifications and memberships in organizations
EP1379947B1 (en) 2001-01-19 2012-09-05 Hostbridge Technology, LLC An improved system, method and apparatus to allow communication between cics and non-cics software applications
US20020133537A1 (en) * 2001-03-12 2002-09-19 Whizz Technology Ltd. Server cluster and server-side cooperative caching method for use with same
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US6950833B2 (en) 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US20030004819A1 (en) 2001-06-28 2003-01-02 International Business Machines Corporation Anonymous email guarantor processing
US7496646B2 (en) 2001-09-21 2009-02-24 Hewlett-Packard Development Company, L.P. System and method for management of a storage area network
US20030088656A1 (en) 2001-11-02 2003-05-08 Wahl Mark F. Directory server software architecture
US8321543B2 (en) 2002-03-04 2012-11-27 International Business Machines Corporation System and method for determining weak membership in set of computer nodes
US6901401B2 (en) * 2002-03-21 2005-05-31 International Business Machines Corporation System and method for database integrity via local database lockout
US8271530B2 (en) 2002-04-08 2012-09-18 Oracale International Corporation Method and mechanism for managing and accessing static and dynamic data
DE10219916A1 (en) 2002-05-03 2003-12-04 Infineon Technologies Ag Test arrangement with automatic test machine and integrated circuit as well as method for determining the time behavior of an integrated circuit
US6954524B2 (en) 2002-06-07 2005-10-11 Sbc Properties, L.P. System and method for implementing and accessing call forwarding services
US7103616B1 (en) * 2003-02-19 2006-09-05 Veritas Operating Corporation Cookie-based directory name lookup cache for a cluster file system
US7197632B2 (en) 2003-04-29 2007-03-27 International Business Machines Corporation Storage system and cluster maintenance
WO2005048544A1 (en) 2003-11-17 2005-05-26 Hardt Dick C Method and system for pseudonymous email address
US20050125461A1 (en) 2003-12-08 2005-06-09 International Business Machines Corporation Version control of metadata
US7383285B1 (en) 2005-03-08 2008-06-03 Unisys Corporation Method for exposing hierarchical table structures and relationships to OLE DB applications
US7653682B2 (en) 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US20070022314A1 (en) 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum

Also Published As

Publication number Publication date
CN1659547A (en) 2005-08-24
JP2005522787A (en) 2005-07-28
CA2480459C (en) 2010-01-19
US20060195450A1 (en) 2006-08-31
US7096213B2 (en) 2006-08-22
WO2003088093A3 (en) 2004-03-25
WO2003088093A2 (en) 2003-10-23
AU2003220549A1 (en) 2003-10-27
JP4297790B2 (en) 2009-07-15
CN100410929C (en) 2008-08-13
US20030191739A1 (en) 2003-10-09
EP1493105B1 (en) 2019-03-13
EP1493105A2 (en) 2005-01-05
US7617218B2 (en) 2009-11-10

Similar Documents

Publication Publication Date Title
CA2480459A1 (en) Persistent key-value repository with a pluggable architecture to abstract physical storage
CA2136402C (en) Method and system for executing code remotely
JP2005522787A5 (en)
US6253257B1 (en) Software Interface for dynamic API mapping
JP2842714B2 (en) How to make object-oriented calls to applications in the database
US5619710A (en) Method and apparatus for object-oriented invocation of a server application by a client application
US6714949B1 (en) Dynamic file system configurations
US8112745B2 (en) Apparatus and method for capabilities verification and restriction of managed applications in an execution environment
US20070011667A1 (en) Lock management for clustered virtual machines
JPH0675888A (en) Method and apparatus for dynamic calling of application in dispersed non-uniform environment
JPH0675889A (en) Method and apparatus for executing server function in dispersed non-uniform environment
JP2010170560A (en) Multilingual user interface for operating system
US11669850B2 (en) Selecting between client-side and server-side market detection
CN111223036B (en) GPU (graphics processing unit) virtualization sharing method and device, electronic equipment and storage medium
US20040103417A1 (en) System and method for changing operation of an application without recompiling
US20070220531A1 (en) Method and system for shimming COM objects
US11593308B2 (en) Managing data hidden by userspace filesystem
CN114372282A (en) File access control method, file access control device, electronic device, medium, and program product
US8751569B2 (en) Environment aware business delegates
US11068613B2 (en) Differentiating and managing identical USB devices
JP2006106986A (en) Access management method and information processor
AU2003220549B2 (en) Key-value repository with a pluggable architecture
US8527484B2 (en) Accessing a data structure
JP2000305833A (en) File sharing/excluding system

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20230327