1 / 47

Hyades Command Routing

Hyades Command Routing. Message flow and data translation. Test the sufficiency of the proposed command header format Demonstrate a possible message routing solution Prove that the solution is capable of handling complex routing Multiple chained HCEs Negotiated communication between agents.

khan
Télécharger la présentation

Hyades Command Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hyades Command Routing Message flow and data translation

  2. Test the sufficiency of the proposed command header format Demonstrate a possible message routing solution Prove that the solution is capable of handling complex routing Multiple chained HCEs Negotiated communication between agents Purpose of this Presentation

  3. Connection between HCEs will not be supported in the next release. It is being considered now only to establish the sufficiency of the proposed protocol. Command ID names referenced in this presentation may not match the actual command ID names. The names herein are for discussion purposes only. Names in parentheses are not intended as part of the data being stored/transmitted. These names are used only to indicate to what the IDs refer. The command headers shown are not complete. Only those fields needed to follow the data flow are shown. While “last engine ID” is shown as if it were a field in the command header, it can actually be inferred from the object sending the message, so it is actually implicit. Caveats

  4. When aclient or agent sends a command to an HCE, it will use the IDs by which the HCE knows the components involved. As far as the client or agent knows or cares, these are the actual IDs of the components. When the HCE sends a command to a client or agent, it will use the IDs by which the sending HCE refers to the components involved. When an HCE forwards a command to another HCE, the destination ID will be the ID by which the target HCE refers to the destination component, but the source ID will be the ID by which the sending HCE refers to the source component. The “last engine ID” will be the ID by which the target HCE knows the sending HCE. When one HCE “reveals” another HCE to some component, the revealing HCE will give the revealed HCE the ID by which it refers to the component. The revealed HCE will add this component to its component table and its translation table for the revealing HCE. Message Routing Rules (Part 1)

  5. When an HCE responds to a forwarded CID_QUERY_HCES command, it will not include the HCE that forwarded the request in the response (because the requester already knows about that HCE). When an HCE forwards the results of a CID_QUERY_HCES command, it will add any HCEs it did not previously know about to its own component table and translate the HCE IDs to the IDs it uses to identify those HCEs. When an HCE forwards the results of any command that requests an agent ID, it will add any agent it did not previously know about to its own component table and translate the agent IDs to the IDs it uses to identify those agents. Message Routing Rules (Part 2)

  6. Example 1 Connections established

  7. 1. Initial State, no connections

  8. 2. Client connects to HCE-1

  9. 3. Agent-1 connects to HCE-2

  10. 4. Agent-2 connects to HCE-3

  11. 5. HCE-1 connects to HCE-2

  12. 6. HCE-2 connects to HCE-3

  13. Example 2 Client discovers agents

  14. 1. Client queries HCE-1 for more HCEs

  15. 2. HCE-1 notifies HCE-2

  16. 3. HCE-1 replies to Client

  17. 4. Client queries HCE-2 for Agent-1

  18. 5. HCE-1 forwards the message to HCE-2

  19. 6. HCE-2 replies

  20. 7. HCE-1 updates tables, forwards the reply

  21. 8. Client queries HCE-2 for more HCEs

  22. 9. HCE-2 notifies HCE-3

  23. 10. HCE-2 replies

  24. 11. HCE-1 forwards the reply to the Client

  25. 12. Client requests Agent-2

  26. 13. HCE-3 replies

  27. 14. HCE-2 updates, translates, forwards

  28. 15. HCE-1 updates, translates, forwards

  29. Example 3 The Client requests a GUID from Agent-2

  30. 1. Client send the command to HCE-1

  31. 2. HCE-1 forwards the command to HCE-2

  32. 3. HCE-2 forwards the command to HCE-3

  33. 4. HCE-3 forwards the command to Agent-2

  34. 5. Agent-2 sends a reply to HCE-3

  35. 6. HCE-3 forwards the reply to HCE-2

  36. 7. HCE-2 forwards the reply to HCE-1

  37. 8. HCE-1 forwards the reply to the client

  38. Example 4 Client initiates communication between Agent-1 and Agent-2 using a proprietary interface

  39. 1. Client sends Agent-2’s GUID to Agent-1

  40. 2. Agent-1 queries HCE-2 for Agent-2 (fails)

  41. 3. Agent-1 queries HCE-2 for more HCEs

  42. 4. HCE-2 notifies, replies

  43. 5. Agent-1 queries HCE-1 for Agent-2 (fails)

  44. 6. Agent-1 queries HCE-3 for Agent-2

  45. 7. HCE-3 replies

  46. 8. Agent-1 sends a command to Agent-2

  47. Quod Erat Demonstradum

More Related