<-Process Actions Go to ToC Profiles->

1. Inter-Process Protocol (same M-Instance) 4. Inter-Process Protocol elements
2. Inter-Process Protocol (different M-Instances) 5. Posting Protocol
3. Inter-Process Protocol (multiple M-Instances) 6. Licensing Protocol

1. Inter-Process Protocol (same M-Instance)

As depicted in Figure 1, Process1 uses the simple form of the Inter-Process Protocol (IP Protocol or IPP) to request Process2 in the same M-Instance to perform a Process Action.

Figure 1 – Process1 requests Process2 to perform a Process Action (same M-Instance).

  1. Process1 sends a PA Request to Process2.
  2. If Process2 finds that the PA Request can be performed,
    1. Then Process2 performs the PA Request and sends a PA Response to Process1.
    2. Else, Process2, sends a PA Response with an error code to Process1.

2. Inter-Process Protocol (different M-Instances)

Figure 2 depicts the case of a ProcessA in an M-InstanceA requesting a ProcessB in a different M-InstanceB to perform a Process Action in M-InstanceB.

Figure 2 – ProcessA requests ProcessB to perform a Process Action (different M-Instances).

  1. ProcessA1 sends a PA Request to Resolution ServiceA.
  2. Resolution ServiceA determines the Resolution ServiceB it should forward the PA Request to.
  3. If the determination is not reached it sends an error to ProcessA1.
  4. Else it forwards the request to Resolution ServiceB1.
  5. Resolution ServiceB1 determines the Process it should send the PA Request to.
  6. If the determination is not reached, it send an error to Resolution ServiceA1.
  7. Else it forwards the PA Request to ProcessB1
  8. ProcessB1 analyses the PA Request and may find that the PA Request may be performed,
    1. Then
      1. May request a Conversion ServiceB to make appropriate conversion of the Formats of the Data in the Items it received.
      2. Performs the request.
    2. Else, ProcessB1 sends an error to Resolution ServiceB.
  9. If the execution of the PA Request fails, it sends an error to Resolution ServiceB.
  10. Resolution ServiceB sends error or PA Response to Resolution ServiceA.
  11. Resolution ServiceA sends error or PA Response to ProcessA1.
  12. ProcessA1 may request a Conversion ServiceA to make appropriate conversion of the Formats of the Data in the Items it received.

The Error Message generated by a receiving Process may be one of three types:

  1. “Unable to perform request”.
  2. “Transaction of Value required” (actual value provided).
  3. “Conversion Service failure”.

Figure 3 – IP Protocol Sequence Diagram when Processes are in different M-Instances

Note: MMM-TEC does not provide support to the establishment of business agreements based on which communication between different M-Instances become possible.

3. Inter-Process Protocol (multiple M-Instances)

In the case of a multi-M-Instance session (more than 2 M-Instances), an IPP session is set up in the following way:

  1. ProcessA1 requests Resolution ServiceA1 to open a session with the M-Instances that host at least one invited Process.
  2. Resolution ServiceA1 forwards the request to all relevant Resolution Services.
  3. A Resolution ServiceB1 forwards the request to each invited ProcessB‘s of its M-Instance.
  4. An invited ProcessB1 responds to Resolution ServiceB1 accepting or rejecting the invitation.
  5. A Resolution ServiceB1 forwards the response to Resolution ServiceA1.
  6. Resolution ServiceA1 forwards the responses to ProcessA1.
  7. If at least one invited Process accepts the invitation, the session is opened.

4. Inter-Process Protocol elements

Table 1 provides the elements of the IP Protocol (IPP).

Table 1 – IPP Message elements

IPP Message Elements Description
Time Provided by communication infrastructure.
Message ID ID of PA Request or PA Response.
Response ID Absent/Present when the Message is a PA Request/PA Response.
Source Process ID ID of Process issuing Message.
Process Action Combination of Action, Items/Processes and Complement (see Process Action).
Resolution Service ID Service that:
1. Receives a Message from a Process in its M-Instance and forwarding it to a peer Process in a different M-Instance, or
2. Sends a Message received from a peer Process in a different M-Instance to a Process in its M-Instance.
(Absent if the two Processes are in the same M-Instance).
Destination Process ID ID of Process to which the Message is intended to be sent.
Message Status “Ack”, if successful, if failure, Error as follows:
“Unable” to perform request.

  1. “ValueRQ” Transaction of Value required.
  2. “ConvFail” Conversion Service failure.

In case of multiple Destination Processes, the Source Process receives the Message Status for each Destination Process.

The JSON Schema of the Inter-Process Protocol is here.

5. Posting Protocol

To request a Service Provider (marketplace) to Post an Item, a Process (User1) invokes the Posting Protocol:

  1. User1 MM-Sends Model Simple Contract To Service Provider.
  2. Service Provider MM-Sends Response To User1.
    1. If response=No, goto End
    2. Else User1
      1. Transacts SenderPreValue (Service Provider’s request to Post the Item) To Service Provider.
      2. Licenses Nil Service Provider With Service Provider Licence (giving Rights to Post Item)
  3. Service Provider operates per Service Provider Licence.
  4. When Time=Time2 (End Time of Licence)
    1. Service Provider stops operating per Service Provider Licence.
    2. User1 recovers full Rights on Item.
  5. End

6. Licensing Protocol

The Licensing Protocol assumes that a Process (User1) has Posted an Item at Service Provider and that User2 wishes to obtain a Licence to the Posted Item per the Model Basic Contract:

  1. User2 MM-Sends Nil Model Basic Contract with its own data To Service Provider.
  2. Service Provider MM-Sends Nil “Ack” (the characters Ack) To User2.
  3. User2 Transacts (ReceiverPostValue, the Value that Service Provider requests to User2 for its Service) To Service Provider.
  4. User2 Transacts (ValueToSender, the Value in the Model Basic Contract) To User1.
  5. User1 Transacts (SenderPostValue, the Value that Service Provider requests to User1 for its Service) To Service Provider.
  6. User1 MM-Sends Model Licence to Licence Service.
  7. Licence Service MM-Sends Nil Model Licence to User2.
  8. User MM-Sends “Ack” (the characters Ack) to Licence Service.
  9. Licence Service MM-Sends Licence To User1.
  10. Licence Service MM-Sends Licence To User2.

<-Process Actions Go to ToC Profiles->