<-Process Actions  Go to ToC Profiles->

As depicted in Figure 1, Process1 uses the simple for 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. Process2 analyses the PA Request and may find that 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 signaling:
      1. “Clash”, the PA Request causes a clash with an existing object.
      2. “Faulty PA”, the PA Request is not syntactically correct.
      3. “Incorrect ID”, no Item or Process with such an ID.
      4. “Insufficient Rights”, the requesting Process may not obtain the requested Rights.
      5. “Insufficient Value”, a Wallet referenced in the Transaction has insufficient funds.
      6. “Location out of range”, no such Location exists.

Figure 2 is the Sequence Diagram of the IP Protocol for two Processes in the same M-Instance.

Figure 2 – IP Protocol Sequence Diagram (same M-Instance)

When a ProcessA in an M-InstanceA  requests a ProcessB in a different M-InstanceB to perform a Process Action in M-InstanceB (Figure 3)

Figure 3 – 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 Servicesends 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”.
  4. Errored PA Status.

Figure 4 – IP Protocol Sequence Diagram (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.

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.

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.
PA Status Ack, if successful, if failure, Error as follows:

  1. “Unable” to perform request.
  2. “ValueRQ” Transaction of Value required.
  3. “ConvFail” Conversion Service failure.

The Inter-Process Protocol JSON Schema is here.

<-Process Actions  Go to ToC Profiles->