1. A computer-based method for carrying out a negotiation concerning set of actions to execute a print job performed by selected ones of a plurality of participants, wherein at least one of the plurality of participants encapsulates a constraint solver in a service, comprising:
defining processing instructions in a memory of the system for carrying out the negotiation using the service encapsulating the constraint solver to facilitate printing via a processor; and
executing the processing instructions, via the processor, to carry out the negotiation with the service encapsulating the constraint solver; wherein said executing the processing instructions for carrying out the negotiation with the service encapsulating the constraint solver further comprises:
(A) establishing encapsulation input in the memory that includes: (a) a mapping between one or more of a price, a size, and a delivery date of print-job parameters of the service and corresponding variables of the constraint solver, (b) a translation between negotiation statements on the one or more of a price, a size, and a delivery date of the print-job parameters of the service and domain constraints imposed on the corresponding variables of the constraint solver, and (c) a set of semantic constraints of the service on variables of the constraint solver;
(B) constructing a graph in the memory for negotiating the set of actions to be performed, wherein each action corresponds to one or more invocation patterns, each node of the graph defining a negotiation context that has associated therewith a constraint store with at least a set of domain constraints stored therein;
(C) propagating constraints defined by the set of semantic constraints and the set of domain constraints associated with nodes of the graph to other participants in the negotiation as domain constraints augment the set of semantic constraints during the negotiation utilizing a protocol defined by one or more primitives that are instantiated by the one or more invocation patterns; and
(D) executing one or more actions based at least in part upon the interdependencies between the one or more invocation patterns, the one or more actions facilitate printing of at least one print job, each print job creates at least one hard copy document based at least in part upon the processing instructions.
2. The method according to claim 1, wherein the processing instructions are stored in memory of the system and are executed by one or more processors of the system.
3. The method according to claim 1, where the negotiation is defined by a negotiation problem statement.
4. The method according to claim 1, wherein the set of domain constraints are first propagated across each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
5. The method according to claim 4, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints across each constraint store of the graph.
6. The method according to claim 1, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
7. A system having a processor for carrying out a negotiation concerning a set of actions for executing a print-job to be performed by selected ones of a plurality of participants, the negotiation being carried out with at least one of the plurality of participants encapsulating a constraint solver in a service, comprising:
a memory for storing processing instructions for carrying out the negotiation using the service encapsulating the constraint solver to facilitate printing; and
a processor for executing the processing instructions for carrying out the negotiation using the service encapsulating the constraint solver; the processor in executing the processing instructions for carrying out the negotiation using the service encapsulating the constraint solver:
(A) establishing encapsulation input in the memory: (a) a mapping between one or more of a price, a size, and a delivery date of the print-job parameters of the service and corresponding variables of the constraint solver of parameters of the service and corresponding variables of the constraint solver, (b) a translation between negotiation statements on the one or more of a price, a size, and a delivery date of the print-job parameters of the service and domain constraints imposed on the corresponding variables of the constraint solver, and (c) a set of semantic constraints of the service on variables of the constraint solver;
(B) constructing a graph in the memory for negotiating the set of actions to be performed, wherein each action corresponds to one or more invocation patterns, each node of the graph defining a negotiation context that has associated therewith a constraint store with at least a set of domain constraints stored therein;
(C) propagating constraints defined by the set of semantic constraints and the set of domain constraints associated with nodes of the graph to other participants in the negotiation as domain constraints augment the set of semantic constraints during the negotiation utilizing a protocol defined by one or more primitives that are instantiated by the one or more invocation patterns; and
(D) executing one or more actions based at least in part upon the interdependencies between the one or more invocation patterns, the one or more actions facilitate printing of at least one print job, each print job creates at least one hard copy document based at least in part upon the processing instructions.
8. The system according to claim 7, further comprising one or more additional processors for executing the processing instructions to carry out the negotiation.
9. The system according to claim 7, where the negotiation is defined by a negotiation problem statement.
10. The system according to claim 7, wherein the set of domain constraints are first propagated across each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
11. The system according to claim 10, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints across each constraint store of the graph.
12. The system according to claim 7, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
13. An article of manufacture for use in a machine comprising:
a memory;
processing instructions stored in the memory for carrying out a negotiation concerning a set of actions for executing a print-job to be performed by selected ones of a plurality of participants, the negotiation being carried out with at least one of the plurality of participants encapsulating a constraint solver in a service; wherein the processing instructions in carrying out the negotiation with at least one of the plurality of participants encapsulating a constraint solver in a service:
defining processing instructions in a memory of the system for carrying out the negotiation using the service encapsulating the constraint solver to facilitate printing; and
executing the processing instructions with the processor for carrying out the negotiation with the service encapsulating the constraint solver; the processor in executing the processing instructions for carrying out the negotiation with the service encapsulating the constraint solver:
(A) establishing encapsulation input in the memory: (a) a mapping between one or more of a price, a size, and a delivery date of print-job parameters of the service and corresponding variables of the constraint solver, (b) a translation between negotiation statements on the one or more of a price, a size, and a delivery date of print-job of the print-job parameters of the service and domain constraints imposed on the corresponding variables of the constraint solver, and (c) a set of semantic constraints of the service on variables of the constraint solver;
(B) constructing a graph in the memory for negotiating the set of actions to be performed, wherein each action corresponds to one or more invocation patterns, each node of the graph defining a negotiation context that has associated therewith a constraint store with at least a set of domain constraints stored therein;
(C) propagating constraints defined by the set of semantic constraints and the set of domain constraints associated with nodes of the graph to other participants in the negotiation as domain constraints augment the set of semantic constraints during the negotiation utilizing a protocol defined by one or more primitives that are instantiated by the one or more invocation patterns; and
(D) executing one or more actions based at least in part upon the interdependencies between the one or more invocation patterns, the one or more actions facilitate printing of at least one print job, each print job creates at least one hard copy document based at least in part upon the processing instructions.
14. The article of manufacture according to claim 13, wherein the set of domain constraints are first propagated across each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
15. The article of manufacture according to claim 14, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints across each constraint store of the graph.
16. The article of manufacture according to claim 13, wherein the set of domain constraints are first propagated within each constraint store of the graph before propagating the set of domain constraints to other participants of the negotiation.
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 method of processing an application request on an end user application and an application server comprising:
a) initiating the application request on the end user application in a first language with a first application program;
b) transmitting the application request to the application server and converting the application request from the first language of the first end user application to a second language running on the application server;
c) processing said application request on the application server;
d) transmitting a response to the application request from the application server to the end user application, and converting the response to the application request from the second language running on the application server to the first language of the first end user application; and
e) wherein the end user application and the application server have at least one connector there between, and the steps of (i) converting the application request from the first language of the first end user application as a source language to the second language running on the application server as a target language, and (ii) converting the response to the application request from the second language running on the application server as the source language to the first language of the first end user application as the target language, each comprising the steps of:
1) invoking Type Descriptor class connector metamodels having metamodel metadata of respective source and target languages, said Type Descriptor class connector metamodels comprising an Instance Type Descriptor Base class, a Type Descriptor Language Element class, and a Language Element Model inheriting from the type Description Language Element class;
2) populating the Type Descriptor class connector metamodels with metamodel data Language Elements of each of the respective source and target languages; and
3) converting the source language to the target language.
2. The method of claim 1 wherein the end user application is a web browser.
3. The method of claim 1 wherein the metamodel met data further comprises invocation metamodel metadata, application domain interface metamodel metadata, and Type Descriptor metamodel metadata.
4. The method of claim 3 wherein the invocation metamodel metadata is chosen from the group consisting of message control information, security data, transactional semantics, trace and debug information, pre-condition and post-condition resources, and user data.
5. The method of claim 3 wherein the application domain interface metamodel metadata comprises input parameter signatures, output parameter signatures, and return types.
6. The method of claim 5 wherein the application domain interface metamodel metadata further includes language metamodel metadata.
7. The method of claim 6 wherein the source language is object oriented, and the language metamodel metadata maps encapsulated objects into code and data.
8. The method of claim 7 wherein the language metamodel metadata maps object inheritances into references and pointers.
9. The method of claim 3 wherein the Type Descriptor metamodel metadata associates physical realizations and storage mappings, to data types, data structures, and realization constraints.
10. A transaction processing system comprising a client, a server, and at least one connector there between,
a) the client, having an end user application, being configured and controlled to initiate an application request with the server in a first language with a first application program and to transmit the application request to the server;
b) the connector being configured and controlled to receive the application request from the client, convert the application request from the first language of the first end user application running on the client to a second language running on the server;
c) the server being configured and controlled to receive the converted application request from the connector and process the application request in the second language with a second application program residing on the server, and to thereafter transmit a response to the application request through the connector back to the first application program on the client;
d) the connector being configured and controlled to receive the response to the application request from the server, to convert the response to the application request from the second language running on the server to the first language of the first application program running on the client; and
e) wherein the connector between the client and the server is configured and controlled to (i) convert the application request from the first language of the client application on the client as a source language to the second language running on the server as a target language, and (ii) convert the response to the application request from the second language running on the server as the source language to the first language of the client application running on the client as the target language, each by a method comprising the steps of:
1) invoking Type Descriptor class connector metamodels having metamodel metadata of respective source and target languages, said Type Descriptor class connector metamodels comprising an Instance Type Descriptor Base class, a Type Descriptor Language Element class, and a Language Element Model inheriting from the Type Descriptor Language Element class
2) populating the Type Descriptor class connector metamodels with metamodel data Language Elements of each of the respective source and target languages; and
3) converting the source language to the target language.
11. The system of claim 10 wherein the metamodel metadata comprises invocation metamodel metadata, application domain interface metamodel metadata, and Type Descriptor metamodel metadata.
12. The system of claim 11 herein the invocation metamodel metadata is chosen from the group consisting of message control information, security data, transactional semantics, trace and debug information, pre-condition and post-condition resources, and user data.
13. The system of claim 11 wherein the application domain interface metamodel metadata comprises input parameter signatures output parameter signatures, and return types.
14. The system of claim 13 wherein the application domain interface metamodel metadata further includes language metamodel metadata.
15. The system of claim 14 wherein the source language is object oriented, and the language metamodel metadata maps encapsulated objects into code and data.
16. The system of claim 15 wherein the language metamodel metadata maps object inheritances into references and pointers.
17. The system of claim 11 wherein the Type Descriptor metamodel metadata defines physical realizations, storage mappings, data types, data structures, and realization constraints.
18. The system of claim 10 wherein said system has a plurality of application servers and is configured and controlled to process rich transactions.
19. A program product comprising a computer-readable storage medium having invocation metamodel metadata, application domain interface metamodel metadata, and language metamodel metadata; and computer instructions for building a metamodel metadata repository of source and target language metamodel metadata, and computer instructions for:
1) invoking Type Descriptor class connector metamodels of respective source and target languages, said Type Descriptor class connector metamodels comprising an Instance Type Descriptor Base class, a Type Descriptor Language Element class, and a Language Element Model inheriting from the Type Description Language Element class;
2) populating the Type Descriptor class connector metamodels with metamodel data Language Elements of each of the respective source and target languages; and
3) converting the source language to the target language.
20. The program product of claim 19 further comprising computer instructions for building connector stubs from said metamodel metadata.
21. The program product of claim 19 further comprising computer instructions to build a connector for carrying out the steps of: 1) retrieving connector metamodel metadata of respective source and target languages from the metamodel met data repository; 2) populating the connector metamodels with metamodel data of each of the respective source and target languages from the metamodel metadata repository and invoking the retrieved, populated connector metamodels; and 3) converting the source language to the target language.
22. The program product of claim 21 wherein the metamodel metadata in the metamodel metadata repository comprises invocation metamodel metadata, application domain interface metamodel metadata, and Type Descriptor metamodel metadata.
23. The program product of claim 22 wherein the invocation metamodel metadata is chosen from the group consisting of message control information security data, transactional semantics, trace and debug information, pre-condition and post-condition resources, and user data.
24. The program product of claim 23 wherein the Type Descriptor metamodel metadata defines physical realizations, storage mappings, data types, data structures, and realization constraints.
25. The program product of claim 22 wherein the application domain interface metamodel metadata comprises input parameter signatures, output parameter signatures, and return types.
26. The program product of claim 25 wherein the application domain interface metamodel metadata further includes language metamodel metadata.
27. The program product of claim 26 wherein the language metamodel metadata includes mappings between the source and target languages.
28. The program product of claim 27 wherein the source is object oriented, and the language metamodel metadata maps encapsulated objects into code and data.
29. The program product of claim 28 wherein the language metamodel metadata maps object inheritances into references and pointers.