Extensible architecture for versioning APIs
First Claim
1. An architecture for a versioning application program interface, comprising an OLE DB interface for communicating with a client application, said interface receiving a command from said client application;
- a first command parser operatively coupled to the OLE DB interface, said first command parser parsing said command;
a command dispatcher operatively coupled to the first command parser; and
two or more protocol providers operatively couplable to the command dispatcher, with each protocol provider including a second command parser, each of said second command parsers parsing at least a portion of said command.
1 Assignment
0 Petitions
Accused Products
Abstract
Some large software development projects need more than one versioning system to accommodate not only a diversity of document formats and data types, but also the geographic diversity of its programmers. However, having more than one versioning systems is generally very expensive. A major factor in this expense is the requirement for a separate application program interface (API) for each separate versioning system. Accordingly, the inventors devised an exemplary API architecture which can be extended with “plug-in” protocol providers to include virtually any number of separate version stores or versioning systems. The exemplary architecture includes a generic command parser and a command dispatcher. The command dispatcher operatively couples to one or more protocol providers, each coupled to at least one version store. Inclusion of the OLE DB-compliant interface and the command parser in the exemplary embodiment saves the protocol providers the effort and expense of replicating these features, thereby reducing the cost of adding version stores.
33 Citations
24 Claims
-
1. An architecture for a versioning application program interface, comprising
an OLE DB interface for communicating with a client application, said interface receiving a command from said client application; -
a first command parser operatively coupled to the OLE DB interface, said first command parser parsing said command;
a command dispatcher operatively coupled to the first command parser; and
two or more protocol providers operatively couplable to the command dispatcher, with each protocol provider including a second command parser, each of said second command parsers parsing at least a portion of said command. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7-13. -13. (Cancelled)
-
14. A versioning system comprising:
-
first parsing means for parsing at least a first portion of a data request or command from a client application;
one or more second parsing means for parsing at least a second portion of the data request or command;
command dispatching means for dispatching the parsed data request or command; and
two or more versioning protocol providers for receiving the dispatched request or command. - View Dependent Claims (15, 16)
-
-
17. A method of operating a computer system including two or more version stores, the method comprising:
-
receiving a request from a client application, with the request having at least first and second portions;
parsing the first portion of the request;
parsing the second portion of the request based on results of parsing the first portion;
dispatching the parsed first and second portions of the request to one of the two or more version stores via a selected protocol provider based on the first portion of the request. - View Dependent Claims (18, 19)
-
-
20. A method of operating a versioning system, comprising:
-
receiving a request for data;
selecting at least one version store from a group of two or more version stores by partially parsing the request; and
communicating information based on the request to the selected version store using a protocol provider associated with the selected version store. - View Dependent Claims (21, 22)
-
-
23. A medium carrying computer-executable instructions for operating a versioning system, the instructions comprising:
-
instructions for receiving a request for data from a client application;
instructions for selecting at least one version store from a group of two or more version stores, wherein the instructions for selection comprise parsing a first potion of the request; and
instructions for communicating information based on the request to the selected version store, wherein the instructions for communication comprise communicating with a protocol provider corresponding to the selected version store.
-
-
24. A computer readable medium having executable instructions encoded thereon comprising:
-
an application program interface for receiving requests for versioned data; and
two or more versioning protocol providers operatively coupled to the application program interface for facilitating fulfillment of the received requests.
-
Specification