<-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).
- Process1 sends a PA Request to Process2.
- Process2 analyses the PA Request and may find that PA Request can be performed,
- Then Process2 performs the PA Request and sends a PA Response to Process1.
- Else, Process2, sends a PA Response with an error code to Process1 signaling:
- “Clash”, the PA Request causes a clash with an existing object.
- “Faulty PA”, the PA Request is not syntactically correct.
- “Incorrect ID”, no Item or Process with such an ID.
- “Insufficient Rights”, the requesting Process may not obtain the requested Rights.
- “Insufficient Value”, a Wallet referenced in the Transaction has insufficient funds.
- “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).
- ProcessA1 sends a PA Request to Resolution ServiceA.
- Resolution ServiceA determines the Resolution ServiceB it should forward the PA Request to.
- If the determination is not reached it sends an error to ProcessA1.
- Else it forwards the request to Resolution ServiceB1.
- Resolution ServiceB1 determines the Process it should send the PA Request to.
- If the determination is not reached, it send an error to Resolution ServiceA1.
- Else it forwards the PA Request to ProcessB1
- ProcessB1 analyses the PA Request and may find that the PA Request may be performed,
- Then
- May request a Conversion ServiceB to make appropriate conversion of the Formats of the Data in the Items it received.
- Performs the request.
- Else, ProcessB1 sends an error to Resolution ServiceB.
- Then
- If the execution of the PA Request fails, it sends an error to Resolution ServiceB.
- Resolution ServiceB sends error or PA Response to Resolution ServiceA.
- Resolution ServiceA sends error or PA Response to ProcessA1.
- 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:
- “Unable to perform request”.
- “Transaction of Value required” (actual value provided).
- “Conversion Service failure”.
- 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:
- ProcessA1 requests Resolution ServiceA1 to open a session with the M-Instances that host at least one invited Process.
- Resolution ServiceA1 forwards the request to all relevant Resolution Services.
- A Resolution ServiceB1 forwards the request to each invited ProcessB‘s of its M-Instance.
- An invited ProcessB1 responds to Resolution ServiceB1 accepting or rejecting the invitation.
- A Resolution ServiceB1 forwards the response to Resolution ServiceA1.
- Resolution ServiceA1 forwards the responses to ProcessA1.
- 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:
|
The Inter-Process Protocol JSON Schema is here.