1461027429-1cdef9a1-786f-46c4-acd5-38b6496225e0

What is claimed is:

1. An article of digital data storage media for use in a client computer system for executing an object oriented program to access disparate data sources through the use of an intermediate server, comprising:
instruction code for transmitting a primary transaction request;
instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instruction code for instantiating an object of said selected object class.
2. The article of claim 1 wherein said response further includes an indication of candidate object classes.
3. The article of claim 2 wherein said candidate object classes are primary application programming object classes.
4. The article of claim 1 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
5. The article of claim 4 wherein said response further includes an indication of candidate object classes.
6. The article of claim 5 wherein said candidate object classes are primary application programming object classes.
7. A method for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
transmitting a primary transaction request;
receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instantiating an object of said selected object class.
8. The method of claim 7 wherein said response further includes an indication of candidate object classes.
9. The method of claim 8 wherein said candidate object classes are primary application programming object classes.
10. The method of claim 7 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
11. The method of claim 10 wherein said response further includes an indication of candidate object classes.
12. The method of claim 11 wherein said candidate object classes are primary application programming object classes.
13. A data processing apparatus for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
means for transmitting a primary transaction request;
means for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
means for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
means for instantiating an object of said selected object class.
14. The apparatus of claim 13 wherein said response further includes an indication of candidate object classes.
15. The apparatus of claim 14 wherein said candidate object classes are primary application programming object classes.
16. The apparatus of claim 13 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting means selects based, at least in part, on the composition of the pre-existing object.
17. The apparatus of claim 16 wherein said response further includes an indication of candidate object classes.
18. The apparatus of claim 17 wherein said candidate object classes are primary application programming object classes.
19. A data processing apparatus for utilizing data from disparate sources accessed through an intermediate server in an object oriented computing environment, comprising:
a central processing unit; and
a memory unit coupled to said central processing unit, comprising:
instruction code for transmitting a primary transaction request;
instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
instruction code for instantiating an object of said selected object class.
20. The apparatus of claim 19 wherein said response further includes an indication of candidate object classes.
21. The apparatus of claim 20 wherein said candidate object classes are primary application programming object classes.
22. The apparatus of claim 18 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting instructions select based, at least in part, on the composition of the pre-existing object.
23. The apparatus of claim 22 wherein said response further includes an indication of candidate object classes.
24. The apparatus of claim 23 wherein said candidate object classes are primary application programming object classes.
25. An article of digital data storage media for use in a computer system for developing object oriented programs that access disparate data sources through the use of an intermediate server, comprising:
program code related to instruction code for transmitting a primary transaction request;
program code related to instruction code for receiving a response to the request, including data items and information about a hierarchical topology stored as configuration data that relates said data items;
program code related to instruction code for selecting an object class from among one or more candidate object classes based, at least in part, on information in said response; and
program code related to instruction code for instantiating an object of said selected object class.
26. The article of claim 25 wherein said response further includes an indication of candidate object classes.
27. The article of claim 26 wherein said candidate object classes are primary application programming object classes.
28. The article of claim 25 wherein the primary transaction request relates to a pre-existing object, and wherein said selecting is based, at least in part, on the composition of the pre-existing object.
29. The article of claim 28 wherein said response further includes an indication of candidate object classes.
30. The article of claim 29 wherein said candidate object classes are primary application programming object classes.
31. An article of digital data storage media for use in a data processing system for determining during program execution the class of an object to instantiate, comprising:
instruction code for ascertaining a set of input data items;
instruction code for comparing the set of input data items with one or more members of a set of candidate object classes; and
instruction code for selecting up to one object class from among the set of candidate object classes in response to the comparison.
32. The article of claim 31 wherein a successful comparison results if a candidate object class has the capacity to represent the complete set of input data items.
33. The article of claim 32 wherein a successful comparison is assigned a degree of success and said selecting includes selecting an object class having the greatest degree of success.
34. The article of claim 33 wherein the degree of success is based, at least in part, on the capacity of a candidate object class to represent in excess of the input data item set.
35. A method for use in a data processing system for determining during program execution the class of an object to instantiate, comprising:
ascertaining a set of input data items;
comparing the set of input data items with one or more members of a set of candidate object classes; and
selecting zero or more object classes from among the set of candidate object classes in response to the comparison.
36. The method of claim 35 wherein a successful comparison results if a candidate object class has the capacity to represent the complete set of input data items.
37. The method of claim 36 wherein a successful comparison is assigned a degree of success and the selecting includes selecting an object class having the greatest degree of success.
38. The method of claim 37 wherein the degree of success is based, at least in part, on the capacity of a candidate object class to represent in excess of the input data item set.
39. An article of digital data storage media for use in a data processing system for developing computer programs that determine during program execution the class of an object to instantiate, comprising:
program code related to instruction code for ascertaining a set of input data items;
program code related to instruction code for comparing the set of input data items with one or more members of a set of candidate object classes; and
program code related to instruction code for selecting up to one object class from among the set of candidate object classes in response to the comparison.
40. The article of claim 39 wherein a successful comparison results if a candidate object class has the capacity to represent the complete set of input data items.
41. The article of claim 40 wherein a successful comparison is assigned a degree of success and said selecting includes selecting an object class having the greatest degree of success.
42. The article of claim 41 wherein the degree of success is based, at least in part, on the capacity of a candidate object class to represent in excess of the input data item set.
43. A method of mediating between transient and persistent copies of a plurality of data items in a system comprising a client computer, a plurality of independent data sources, and a server computer; said client computer executing a user object-oriented application program having program code which includes object-oriented program objects each embodying one or more transient working copies of persistent data items of which the persistent data items may be located in different independent data sources, and includes program code to initiate and respond to formatted transaction data streams exchanged with said server, said client computer providing service requests for accessing data items from said independent data sources; said plurality of independent data sources maintaining persistent data items; and said server computer having program code for mediating said service requests and having a configuration database storing information about the types of data access requests the application programs can make to the server, the data sources with which the server interacts, and the types of interactions that are possible;
said method comprising:
a. receiving in the server computer a data stream from the client computer, said data stream including a service request comprising an object transmuted at the client computer;
b. processing in the server computer a request for a client-server transaction supplied by the client computer, wherein said program code for mediating utilizes information from said configuration database so as to permit the interpretation of the request for the client-server transaction and the resolution of the request for the client-server transaction into a corresponding set of atomic server-source transactions;
c. for each of the server-source transactions the server computer sending a request to a data source, receiving the response of the data source, and moving a response data item into a data container of the server computer;
d. sending a data stream of response data items to the client computer wherein said data stream contains information regarding a hierarchical relationship among the response data items, said information regarding a hierarchical relationship corresponding to information in the configuration database.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A circuit comprising:
a first comparator block configured to output a voltage equal to a higher of a supply voltage and a bias voltage;
a second comparator block configured to output a voltage equal to a higher of the bias voltage and an external voltage supplied through an InputOutput (IO) pad; and
a third comparator block configured to output a voltage equal to a higher of the output of the first comparator block and the output of the second comparator block,
wherein a voltage across at least one constituent active element of each of the first comparator block, the second comparator block, and the third comparator block is within an upper tolerable limit thereof during each of a normal operation, a failsafe operation, and a tolerant operation,
wherein the failsafe operation is a mode where the supply voltage is zero, and
wherein the tolerant operation is a mode where the external voltage supplied through the IO pad varies from zero to a value higher than the supply voltage.
2. The circuit of claim 1, wherein the bias voltage tracks the external voltage supplied through the IO pad during the tolerant operation.
3. The circuit of claim 1, wherein the bias voltage is controllably generated externally to be a fraction of the supply voltage during the normal operation.
4. The circuit of claim 1, wherein the bias voltage is ensured to be within the upper tolerable limit of the at least one constituent active element of the first comparator block during the failsafe operation.
5. The circuit of claim 1, wherein the at least one constituent active element of each of the first comparator block, the second comparator block, and the third comparator block is a Metal-Oxide-Semiconductor (MOS) transistor.
6. The circuit of claim 5, wherein the first comparator block, the second comparator block, and the third comparator block each comprise:
a first PMOS transistor configured to receive a first voltage at one of a source terminal and a drain terminal thereof; and
a second PMOS transistor configured to receive a second voltage at one of a source terminal and a drain terminal thereof,
wherein the one of the source terminal and the drain terminal of the first PMOS transistor not configured to receive the first voltage is coupled to the one of the source terminal and the drain terminal of the second PMOS transistor not configured to receive the second voltage,
wherein a bulk terminal of the first PMOS transistor is configured to be coupled to a bulk terminal of the second PMOS transistor,
wherein a gate terminal of the first PMOS transistor is configured to be coupled to the one of the source terminal and the drain terminal of the second PMOS transistor configured to receive the second voltage, and
wherein a gate terminal of the second PMOS transistor is configured to be coupled to the one of the source terminal and the drain terminal of the first PMOS transistor configured to receive the first voltage.
7. The circuit of claim 6, wherein the bias voltage is controlled such that the output of the third comparator block is substantially equal to at least one of the supply voltage and the external voltage supplied through the IO pad.
8. The circuit of claim 6, wherein the output voltage of the third comparator block is configured to be applied to a bulk terminal of a MOS transistor of an output stage of a buffer circuit.
9. The circuit of claim 6, wherein the path configured to couple the bulk terminals of the first PMOS transistor and the second PMOS transistor is configured to be shorted with the path configured to couple the one of the source terminal and the drain terminal of the first PMOS transistor not configured to receive the first voltage and the one of the source terminal and the drain terminal of the second PMOS transistor not configured to receive the second voltage.
10. A method comprising:
outputting a higher of a supply voltage and a bias voltage through a first comparator block;
outputting a higher of the bias voltage and an external voltage supplied through an IO pad through a second comparator block; and
outputting a higher of the output of the first comparator block and the output of the second comparator block through a third comparator block, a voltage across at least one constituent active element of each of the first comparator block, the second comparator block, and the third comparator block being within an upper tolerable limit thereof during each of a normal operation, a failsafe operation, and a tolerant operation,
wherein the failsafe operation is a mode where the supply voltage is zero, and the tolerant operation is a mode where the external voltage supplied through the IO pad varies from zero to a value higher than the supply voltage.
11. The method of claim 10, further comprising controllably generating externally a fraction of the supply voltage as the bias voltage during the normal operation.
12. The method of claim 10, further comprising ensuring the bias voltage to be within the upper tolerable limit of the at least one constituent active element of the first comparator block during the failsafe operation.
13. The method of claim 10, further comprising forming each of the first comparator block, the second comparator block, and the third comparator block by:
configuring a first PMOS transistor to receive a first voltage at one of a source terminal and a drain terminal thereof;
configuring a second PMOS transistor to receive a second voltage at one of a source terminal and a drain terminal thereof;
coupling one of the source terminal and the drain terminal of the first PMOS transistor not receiving the first voltage to one of the source terminal and the drain terminal of the second PMOS transistor not receiving the second voltage;
coupling a bulk terminal of the first PMOS transistor to a bulk terminal of the second PMOS transistor;
coupling a gate terminal of the first PMOS transistor to the one of the source terminal and the drain terminal of the second PMOS transistor receiving the second voltage; and
coupling a gate terminal of the second PMOS transistor to the one of the source terminal and the drain terminal of the first PMOS transistor receiving the first voltage.
14. The method of claim 13, further comprising applying the output voltage of the third comparator block to a bulk terminal of a MOS transistor of an output stage of a buffer circuit.
15. The method of claim 13, further comprising controlling the bias voltage such that the output voltage of the third comparator block is substantially equal to at least one of the supply voltage and the external voltage supplied through the IO pad.
16. The method of claim 13, further comprising shorting the path coupling the bulk terminals of the first PMOS transistor and the second PMOS transistor with the path coupling the one of the source terminal and the drain terminal of the first PMOS transistor not receiving the first voltage and the one of the source terminal and the drain terminal of the second PMOS transistor not receiving the second voltage.
17. A buffer circuit comprising:
an output stage comprising a floating well circuit, the floating well circuit comprising:
a first comparator block configured to output a voltage equal to a higher of a supply voltage and a bias voltage;
a second comparator block configured to output a voltage equal to a higher of the bias voltage and an external voltage supplied through an IO pad; and
a third comparator block configured to output a voltage equal to a higher of the output of the first comparator block and the output of the second comparator block,
wherein a voltage across at least one constituent active element of each of the first comparator block, the second comparator block, and the third comparator block is within an upper tolerable limit thereof during each of a normal operation, a failsafe operation, and a tolerant operation,
wherein the failsafe operation is a mode where the supply voltage is zero,
wherein the tolerant operation is a mode where the external voltage supplied through the IO pad varies from zero to a value higher than the supply voltage, and

wherein the output voltage of the third comparator block of the floating well circuit is configured to be applied to a substrate of a constituent active element of the output stage of the buffer circuit.
18. The buffer circuit of claim 17, wherein the constituent active element of the output stage of the buffer circuit is configured to be driven by a control signal generated from a control circuit of the buffer circuit.
19. The buffer circuit of claim 17, wherein the constituent active element of the output stage of the buffer circuit and the at least one constituent active element of each of the first comparator block, the second comparator block, and the third comparator block are MOS transistors.
20. The buffer circuit of claim 19, wherein the first comparator block, the second comparator block, and the third comparator block each comprise:
a first PMOS transistor configured to receive a first voltage at one of a source terminal and a drain terminal thereof; and
a second PMOS transistor configured to receive a second voltage at one of a source terminal and a drain terminal thereof,
wherein the one of the source terminal and the drain terminal of the first PMOS transistor not configured to receive the first voltage is coupled to the one of the source terminal and the drain terminal of the second PMOS transistor not configured to receive the second voltage,
wherein a bulk terminal of the first PMOS transistor is configured to be coupled to a bulk terminal of the second PMOS transistor,
wherein a gate terminal of the first PMOS transistor is configured to be coupled to the one of the source terminal and the drain terminal of the second PMOS transistor configured to receive the second voltage, and
wherein a gate terminal of the second PMOS transistor is coupled to the one of the source terminal and the drain terminal of the first PMOS transistor configured to receive the first voltage.