Abstract:
It is often difficult to reliably monitor contract performance and receive timely information as to whether a party is actually going to carry out their contractual obligations. Accordingly the invention provides an apparatus and methods for communicating the changes in states of the contractual commitments of contracting parties according to an agreed commitment model and using agreed messaging protocols. There is a storage facility for the commitment data which is accessible by an encoding engine, in addition to a commitment state store that forms a part of the commitment model and stores the known commitment state of parties. The encoding engine encodes commitment data according to the commitment model and data received by an external information source, before passing the message to a messaging module for formatting and sending out to the other contracting party.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an apparatus and method of communicating changes in the states and contractual responsibilities of parties, and in particular to an apparatus and method for communicating these changes using an agreed message exchange protocol.  
           [0003]    2. Description of Related Art  
           [0004]    Recent years have witnessed an explosion in the number of parties engaging in e-commerce. On-line catalogues, shop fronts, auctions and electronic market places aggregate potentially large numbers of buyers and sellers allowing them to engage in a whole host of virtual transactions. Increasingly traders (agent programs acting on behalf of enterprise roles) are used by parties in the e-market place to negotiation goods of services. When agreement is reached, the traders return with a contract that specifies the details of the trade, and which they have to execute to perform their contractual commitments related to this trade.  
           [0005]    It is often difficult to reliably monitor contract performance and receive timely information as to whether a party is actually going to carry out their contractual obligations. In today&#39;s age, people communicate using the telephone or fax or via e-mail, and as events unfold that impact commitment levels for an agreed contract, ad-hoc telephone conversations, e-mails and faxes are used to assess new commitment levels. The main drawbacks of these communication methods are that they are often unstructured and untimely, no records communication can be readily kept, and there are high costs associated with the management of data related to this process.  
           [0006]    R. G. Smith “The Contract Net Protocol: High Level Communication and Control in a Distributed Problem Solver”, IEEE Transactions on Computers 1980, C-29, 12 pp.1104-1113 focuses on the aspect of bidding for task execution. When a decision is made to accept a task no further state except “completed” is allowed. The problem with this is that once a part commits to undertake a task it cannot refuse to carry out a task.  
           [0007]    T. W. Sandholm, V. R. Lesser, “Advantages of a Levelled Commitment Contracting Protocol”, Proceedings of AAAI-96, pp. 126-133 Builds the Smith document and allows a party to refuse to execute a task after it has been agreed. This document discloses using a single parameter analysis (price) of utility of not performing a task taking into account the penalty. The document focuses on decision theory for committing or decommitting from a task. The disclosure does not consider the notion of a beneficiary of obligation that may waive this obligation, nor does it specify a way to handle delegated obligations. In addition, the document does not specify the contract model that contains obligations that need to be communicated, and neither does it specify the message format (content) to be exchanged by the contract parties.  
           [0008]    Hewlett Packard “ChangeEngine Application Programming Interface Reference Guide”, HP Part No 2279-90024 ChangeEngine Access Protocol carried over HTTP allows clients to connect and send requests to the Work List server. The protocol allows authorised clients to access a work list, set and read data, and start a process associated with the task. A notification message can be returned to the authorised client if required when a process changes date. The protocol does not allow a work item to be refused and so de-committing from a task is not a normal operation. When a client requests the start of a process and it cannot be started an exception is generated. The disclosed model focuses on processes and work items (activity centric) rather than contractual obligations (state centric).  
           [0009]    J. R. Putman “Architecting with RM-ODP”, Prentice Hall 2000 introduces a policy model for specifying a policy being part of an environment contract. The document specifies policy (commitment) types Obligation, Prohibition, Permission and Authorisation to control actions. The disclosure does not consider a notion of a state associated with the Policy that changes as future events occur, nor does it introduce a protocol to communicate changes of policy states as viewed by each enterprise.  
           [0010]    None of the above-mentioned disclosures addresses the need for a system that allows parties to estimate the likelihood of a commitment being actually realised by a party and to utilise this information promptly for planning, scheduling, forecasting and other processes of value in the enterprise.  
           [0011]    The present invention seeks to address or significantly mitigate one or more of the aforementioned problems.  
         BRIEF SUMMARY OF THE INVENTION  
         [0012]    According to a first aspect of the invention there is provided an apparatus for communicating the contractual commitments of a party, comprising: an agreed commitment model; a commitment encoding engine for encoding commitment data for the party according to the agreed commitment model; a storage facility for storing the commitment data and which is accessible by the commitment encoding engine for retrieving the commitment data; a commitment state store that forms a part of the commitment model and stores data related to the known commitment state of parties to a contract, the commitment state store being accessible by the commitment encoding engine for retrieving the commitment state data; a decision descriptor store for storing decision descriptors for identifying an External Information Source, a procedure to be executed by the External Information Source and parameters required by the procedure; and a messaging module for formatting a message containing information related to a change of state of the commitment model in accordance with an agreed messaging protocol, and for sending, receiving and relaying such messages to the party.  
           [0013]    According to a second aspect of the invention there is provided a method of communicating changes in states of contractual commitments of parties to a contract, comprising the steps: agreeing a messaging protocol to be used for exchanges of messages between parties; receiving knowledge of events relevant to commitment states of the contract parties; retrieving commitment state data from the commitment state store; deciding which message should be sent to the contract party based on the commitment state data and knowledge of events using a commitment encoding engine; formatting the message to be sent using the messaging module in accordance with the agreed messaging protocol; and sending the formatted message to the contract party over a communications link.  
           [0014]    According to a third aspect of the invention there is provided a computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of communicating changes in states of contractual commitments of parties to a contract according to the second aspect.  
           [0015]    Other aspects and futures of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of the specific embodiments of the invention in conjunction with the accompanying figures. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    Embodiments of the invention will now be described by way of example only, with reference to the drawings in which:  
         [0017]    [0017]FIG. 1 is a schematic block diagram of a preferred embodiment according to the invention;  
         [0018]    [0018]FIG. 2 is a block diagram showing an example commitment state model for the commitment type “Obligation” in accordance with the preferred embodiment of the invention;  
         [0019]    [0019]FIG. 3 is a block diagram of the message content used in the notification of changes in commitment level in accordance with the preferred embodiment of the invention; and  
         [0020]    [0020]FIG. 4 is a block diagram of the decision descriptor used to invoke a procedure in the External Information Source and obtain a true or false result. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0021]    The invention introduces a state centric model of contractual commitments. The model allows commitment types (Obligation, Prohibition, Permission) to be expressed over roles, and apply them to actions (“obliged to do x”) as well as states (“obliged to maintain parameter within agreed limits”). Each commitment type has a state associated with it that changes as future events that impact the commitment level occur. Furthermore, given the commitment model the communication protocol described herein allows independently operating contact parties to exchange information in a structured way, concerning the state of commitments during contracts delivery. A preferred embodiment enables information relevant to commitment undertaken under an agreed contract to be communicated to relevant contract parties. The information communicated about a change of state in the commitment can be exploited to construct probabilistic risk/utility decision/prediction models.  
         [0022]    With reference to FIG. 1, the contract parties communicate via a network  120  that links the computer systems  101  and  102  that each runs independently. The communication takes place via sending of messages through messaging systems  103  and  104  according to an agreed shared protocol  113 . The application  105  decides which message should be sent by the messaging system  103  based on the actual commitment state  109  and knowledge of events relevant to the change of this state. The messaging system  103  formats an appropriate message and sends it via a communication link  120  to the relevant contracts party&#39;s computer system  102 . The message is received by the messaging system  104  that checks it according to the protocol  113  and notifies the application  106 . The application uses the shared common description of a commitment model  107  that includes a description of the states that a commitment may undergo. The application  106  based on the known commitment state  110  and the proposed new commitment state contained in the received message makes a decision about the proposed state change. In addition the application  106 , before making a decision, consults the decision descriptor shown in FIG. 4 for a given commitment, actual commitment state and proposed transition to a new state. If a descriptor exists the application  106  requests execution of the procedure named in field  405  from the External Information Source indicated in field  404  and supplies parameters listed in field  406  that may be required by the procedure. The result (true or false) of the procedure is then taken into account by the application  106  to arrive at a decision about the change of the state of the commitment. Once change is agreed the application  106  records the new state for the relevant commitment in storage  112  and notifies the message system  104  to send the acceptance message.  
         [0023]    The state transitions are atomic. At any stage the application  106  can retrieve from the storage  112  a requested commitment and verify its state.  
         [0024]    The commitment model illustrated in FIG. 2 shows possible items that the model might comprise of. Commitments are made within a context of a contract that is identified by the contract identifier  205 . Commitments are identified uniquely for each contract by the identifier  201 . Commitments can be of different types  202 . We consider here 4 types: obligation, permission, prohibition and authorisation. Each commitment has a number of roles  203  associated with it. There is one role that is the principal role of commitment, and one or more secondary roles that are the beneficiaries of the commitment. The principal role for the obligation is the role that is responsible for bringing about the commitment subject  208  which can be an action or state. The beneficiary role is the one who will benefit by the activation of the commitment subject  208 . The commitment is in a given state that is one of the allowed by the commitment state model  206  that specifies permissible sequence of state changes. Potentially different commitment state models can be associated with different commitments.  
         [0025]    An example of the content of the messages sent by the messaging system is shown in FIG. 3. The message can be identified by the identifier  301  and belongs to one of the following types  302 : request, acknowledgement, no acknowledgement, exception. The role field identifies the sender role and addressee roles for this message. The contract identifier  305  allows to locate the commitment by its identifier  304  and by querying the storage  112  retrieve the commitment model shown in FIG. 2 from which further data if necessary can be retrieved. The message contains the proposed, new transition  307  from the old commitment state  306 . The states and transitions for the commitment are given by their state model as shown in FIG. 2.  
         [0026]    An example of the rules of the protocol  113  that the application logic  106  would need to take into account is given below:  
                                                 STATE TRANSITIONS   TRANSITION Initiation and Termination                                AGREED   prescribe:   on send M-P:req(C1,O) response P-M:ack               (C1,O)       PRESCRIBED   accept:   on send B-P:req(C1,O) response P-B:ack               (C1,O)           refuse:   on B-P:req(C1,O) response P-B:nack(C,O)           wave:   on B-P:req(C1,O-P) response P-B:ack               (C1,O-P)       ACCEPTED   delegate:   on send P-D:req(C2,O) response D-P:ack               (C2,O)           refuse:   on B-P:req(C1,O) response P-B:nack(C1,O)           fulfil:   on P-B:req(C1,O) response P-B:ack(C1,O)           wave:   on P-B:req(C1,O) response B-P:ack(C1,O)                  
 
         [0027]    The protocol rule  401  specifies that sending of a message of request type may be followed by response of either acknowledgement, no acknowledgement or exception. The rules for the application logic  402  determine for a given old commitment state and a transition name when a transition will occur. For example if the of state is PRESCRIBED than transition REFUSE will take place if on a send of a request message from beneficiary B of commitment O directed to a principal role holding the commitment O under contract C 1  the principal responds with a message of type no_acknowledgement for commitment O under C 1 .  
         [0028]    The preferred embodiment allows for the beneficiary to the obligation to typically send a message requesting confirmation that the contractual obligation is going to be carried out. Also, the benefit of storing those electronic messages that are exchanged between parties, is that they may be used as evidence later on if any disagreement should arise over the performance of a contract. Therefore a first party cannot for example cannot deny that a second party did not request an obligation or did not promise to fulfil an obligation because the second party will have a record.  
         [0029]    The decision about the change of the state of commitments to a new one may involve results obtained from the External Information Sources. For example consider that the actual commitment state is ACCEPTED and a message is received from the counter-party that in the field  307  proposes the transition FULFILL. The application needs to decide whether to make a transition to FULFILLED state. The store of the decision descriptors is searched for a match on fields  401 ,  402  and  403  for the commitment in the actual state and the proposed transition. If a match is found the Application  106  uses fields  404 ,  405  and  406  to identify the External Information Source, and the procedure and its parameters to executed. For example, if the commitment type is an obligation to pay an invoice by a specific deadline, the External Information Sources to consulted are the Document Store and Calendar System to determine if this obligation is fulfilled. The procedure to be executed by the Document Store is “exists Payment Advice for Invoice” and the parameters are the payment sum and invoice number. The procedure returns value true is there exists a document Payment Advice for the given invoice and for an indicated sum. The procedure to be executed by the Calendar System is “current Date is earlier than” that takes a date as a parameter. When executed by the Calendar System the procedure returns true is the deadline has not yet passed. The Application  106  takes into account the returned values from the Information Sources to decide about the new commitment state.  
         [0030]    Although the embodiments of the invention described with reference to the drawings comprise computer apparatus and processes performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the processes according to the invention. The carrier be any entity or device capable of carrying the program.  
         [0031]    For example, the carrier may comprise a storage medium, such as ROM, or example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means.  
         [0032]    When the program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.  
         [0033]    Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.  
         [0034]    Although the invention has been shown and described with respect to a best mode embodiment thereof, it should be understood by those skilled in the art that the foregoing and various other changes, omissions and additions in the form and detail thereof may be made therein without departing from the scope of the invention as claimed.