<-Items Go to ToC Process Actions ->

Processes perform Actions on Items to enable them to perform activities in an M-Instance. For instance:

  1. Device UM-Captures Media At U-Location” represents a Device capturing Media at a U-Location.
  2. Device MM-Sends Data With Qualifier to Process” represents a Device sending the resulting Data and Qualifier to a Process in the M-Instance.
  3. “User MM-Embeds Persona At M-Location and User MM-Animates Persona With Stream” represents User placing an avatar (Persona) at an M-Location and animating it with a data stream.

An elementary activity in an M-Instance involves a Process1 requesting a Process2 to perform an Action. For instance:

  1. MM-Send may rely on the Communication Service (but this is not a requirement because communication may be peer-to-peer) to make available Data, Qualifier, and Items of a Process to another Process.
  2. MM-Embed relies on a Location Service instantiating an Item (e.g., Persona) at an M-Location.

Process1 may coincide with Process2 when a Destination Process is not required, e.g., when a Process includes the necessary functionalities..

MMM-TEC enables interoperability between M-Instances.  A ProcessA in an M-InstanceA can request a ProcessB in a different M-InstanceB to perform Actions on Items.  The two Processes can communicate if:

  1. Appropriate business agreements are in place.
  2. A Resolution session is opened by ProcessA calling its Resolution ServiceA.

The protocol enabling two Processes to communicate is called Inter-Process Protocol (IPP). An IPP message includes the following elements, some of which are optional. Time is assumed to be added by the communication infrastructure.

IPP Message Elements Description
Message ID ID of PA Request or PA Response.
Response ID ID of the Message to which this Message is a response. Absent when the Message is a request.
Source Process ID ID of Process issuing Message.
Process Action Combination of Action, Items/Processes and Complement (see below).
Resolution Service ID Resolution Service forwarding the Message to a Process in an M-Instance (Absent if the two Processes are in the same M-Instance).
Destination Process ID ID of Process to which the Message is sent.
Acknowledgement Acknowledgement, if successful, or Error, if failure.

Figure 1 depicts the IPP steps when the two interacting Processes are in the same M-Instance. PA is short for Process Action.

Figure 1 – The Inter-Process Protocol when the two Processes are in  the same M-Instance.

The process unfolds through the following steps:

  1. Process1 sends a Process Action Request (PA Request) to Process2.
  2. Process2 analyses the PA Request.
  3. If the analysis yields an error,  Process2 sends a Process Action Response (PA Response) with an error to Process1.
  4. Else, Process2  performs the PA Request.
  5. If the execution of the PA Request fails, Process2 sends a PA Response with an error to Process1.
  6. Else, Process2 sends a PA Response to Process1.

Figure 2 depicts the IPP steps when the two Processes are in  different M-Instances. Here, the Process suffixes are prefixed by the letter A or B indicating the M-Instances they belong to.

Figure 2 – The Inter-Process Protocol when the two Processes are in  different M-Instances.

The process unfolds through the following steps:

  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 send 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.
  9. If the analysis of the request fails, it sends an error to Resolution ServiceB.
  10. Else, ProcessB1
    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.
  11. If the execution of the PA Request fails, it sends an error to Resolution ServiceB.
  12. Else it sends a PA Response to Resolution ServiceB1.
  13. Resolution ServiceB sends error or PA Response to Resolution ServiceA.
  14. Resolution Servicesends error or PA Response to ProcessA1.
  15. ProcessA1 may request a Conversion ServiceA to make appropriate conversion of the Formats of the Data in the Items it received.

The Error Messages generated by either Resolution Service may be “No Rights to request Process Action to this M-Instance”.

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. Process Action-specific error.

An Inter-Process Protocol session is set up by the IPP Session Setup whereby:

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

The process unfolds through the following steps:

  1. ProcessA1 sends a PA Request to Resolution ServiceA1.
  2. Resolution ServiceA1 determines the Resolution ServiceB1 it should forward the PA Request to.
  3. If the determination is not reached it send 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 sends an error to Resolution ServiceA1.
  7. Else it forwards the PA Request to ProcessB1
  8. ProcessB1 analyses the PA Request.
  9. If the analysis of the request fails, it sends an error to Resolution ServiceB.
  10. Else, ProcessB1
    1. May request a Conversion ServiceB1 to make appropriate conversion of the Formats of the Data in the Items it received.
    2. Performs the request.
  11. If the execution of the PA Request fails, it sends an error to Resolution ServiceB1.
  12. Else it sends a PA Response to Resolution ServiceB1.
  13. Resolution ServiceB1 sends error or PA Response to Resolution ServiceA1.
  14. Resolution ServiceA1 sends error or PA Response to ProcessA1.
  15. ProcessA1 may request a Conversion ServiceA1 to make appropriate conversion of the Formats of the Data in the Items it received.

The Error Messages generated by either Resolution Service may be “No Rights to request Process Action to this M-Instance”.

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. Process Action-specific error.

An Inter-Process Protocol session is set up by the IPP Session Setup whereby:

  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.

<-Items Go to ToC Process Actions ->