Multi-Modal Decentralized Interaction in Multi-Entity Systems
Abstract
:1. Introduction
- A region-based support infrastructure for decentralized interaction between entities, using modern communication paradigms and supporting frequently migrating mobile entities;
- A solution for integrating multiple support infrastructures in the same multi-entity system, resulting in a multi-modal framework;
- A means for entities to be able to use arbitrary names to address each other in the context of a decentralized multi-modal system.
2. Related Work
- The centralized solution, in which one server is tracking the whereabouts of all agents and forwards their messages accordingly; this is improved by the home server scheme where different servers are assigned to different partitions of the agent set, offering a more balanced solution than centralization [35]; hierarchical solutions, based on domains or regions also exist [36];
- Forwarding proxy solutions in which each host remembers the next location to which an agent migrated, and messages will be forwarded along the path of the agent [39]; the Shadow Protocol combines the proxy model with the home server model by using proxies, but agents regularly send updates of their location to their home server [40]; search-by-path-chase also adds regions for improved location management [41]; a combination of forwarding proxies and location servers is used by MEFS [42,43].
3. FLASH-MAS Architecture
- Nodes represent the machines that FLASH-MAS executes on, and any entity runs in the context of the local node;
- Support infrastructures are virtual entities spanning multiple nodes, offering services (such as interaction, discovery, etc.) to other entities;
- Pylons are the materialization of support infrastructures. On every node which exists in the context of a support infrastructure, the infrastructure is represented by a pylon. For entities to use the services offered by the support infrastructure, they must exist in the context of their local pylon;
- Agents are autonomous entities that perceive the environment, make decisions, and perform actions;
- Artifacts are entities that facilitate the interaction between agents and the environment, offer reactive services, or offer support for agent groups, organizations, or other interactions between entities, according to the A&A model [17];
- Shards are sub-agent entities which implement specific functionality or behaviors, existing in the context of agents, nodes, or other entities. Shards implement, for example, functionality for messaging, monitoring, remote control, user interaction, etc.
3.1. Challenges and Requirements
- [C1]
- The infrastructure must know where (to which node) to deliver a message for any entity in the system.When mobile entities exist in the system, their location can only be determined at runtime; in the decentralized case, there cannot exist a single entity which tracks all mobile entities and can know their location at any time.
- [C2]
- The infrastructure must allow an entity to move to any node in the system.A large multi-entity system may be formed of several regions employing different communication mechanisms, or using separate servers, central to each region. Migration across regions is in this case more difficult to implement. In Jade, for instance, although messages may be exchanged between different Jade platforms, migration across platforms is not possible without the use of third-party plugins.
- [C3]
- The infrastructure must be able to deliver all messages meant for an entity, even if that entity is sometimes in the process of migrating.Migration is a process that does not happen instantaneously, and in that time, messages may be sent to the migrating entity; these messages must not be discarded, even if the entity is not currently able to receive and process them.
- [C4]
- The infrastructure must mitigate damage when a node is lost and should be able to repair connections affected by losing that nodeIf any node in the system is lost, the system must be able to recover partially or entirely. In the case of centralized systems, loss of the central node is not recoverable. In the case of region-based systems, loss of the server central to a region usually means losing all the information on that region and orphaning mobile entities originating from that region and which are currently located in other regions.
- [C5]
- (Optional) The entities can be addressed (as message destinations) by an arbitrary name, which is not required to contain routing data for any node (e.g., the IP address of a particular node).Addressing entities by a simple, arbitrary name is easy for developers in frameworks such as Jade. In decentralized systems (including the case of using multiple, interacting Jade platforms), entities must usually be referred to by an identifier which contains the identifier of the region of that entity.
4. Multi-Modal Decentralized Interaction between Entities
- The WS-Regions Protocol can be used for routing messages in a decentralized system containing mobile entities;
- Solutions for heterogeneous, multi-modal systems, in which multiple communication mechanisms are used in different areas of the same multi-entity system;
- The Arbitrary Entity Naming mechanism allows entities to be addressed using arbitrary identifiers, which do not need to contain the identifier of their home region;
- Finally, we propose a layer of increased efficiency for message routing, which trades space for increased speed in communication.
4.1. The WS-Regions Protocol
4.1.1. Entities
- Regions are partitions of the multi-entity system. Each region spans one or multiple physical machines (hence, it spans multiple nodes) and contains a server on one of its nodes—the region server; each region has a region identifier which is a URI (Uniform Resource Identifier), routable from the region server of any other region;
- Each node in the system contains a pylon which belongs to one region;
- The WS-Regions pylon contains a client which connects to the region server at startup;
- Any entity which is created within a region has a name which is unique to that region and encapsulates a WS-Regions shard which interfaces with the local WS-Regions pylon. The region where the entity was created is its home region.
4.1.2. Protocol Sequences
- An entity’s home server must be aware of the change in region before sending messages to a region where the entity is not ready to receive them anymore;
- An entity must suspend processing after receiving confirmation that no other messages will arrive in its current region.
- home—the entity is located within its home region and has a reference to a WebSocket client connected to the region server;
- remote—the entity is located within another region than its home region;
- in-transit—the entity is currently in the process of migration between nodes.
- quest—when the entity is in this region, which is not its home region; or
- in-transit—when the entity is preparing to move away from this region.
- An entity E, with the home region , currently on in region , which intends to migrate to in region , starts by suspending operations; any interactions beyond this point (both incoming and outgoing) will be buffered and processed after migration is completed;
- E sends to its host server a req_leave message announcing the migration; any messages for E that do not come from its home server will be sent to the home server, as if E had already left;
- The message is relayed to E’s home server as a req_buffer message, which starts buffering any messages for E; the entity is from this point considered in-transit; then, sends a req_accept message to E confirming the buffering of messages;
- Upon receiving the confirmation from , E completely halts, packages its data, and asks to deliver the data to ;
- The package follows the direct path , as a wave of type agent_content between node entities;
- Upon arriving on , the package is unpacked by the node and the entity is started;
- E sends a connect message to , which registers it as a guest entity and sends an agent_update to ; E then starts resuming operations and processes any interactions buffered when migration was starting;
- registers E’s new location, changes its state to home or remote depending on the current region, and sends all the buffered messages to E.
4.1.3. Entity Mobility
- When the process of migration is triggered by some part of the entity, a before_move event is disseminated to all the shards (or other components) of the entity. This is a signal that a suspension of activity follows, and they should stop or buffer any further interaction. The messaging shard sends the req_leave to the region server. Any messages which the entity still wishes to send or which are received by the messaging shard are now buffered according to the principle of suspending interactions.
- When the confirmation for migration is received by the messaging shard, it closes all means of communication, and it posts an agent_stop event to the entity, signaling that all activity should stop. When this event is processed by all components of the entity, it is ready to migrate.
- The entity packages itself and passes the package to its current node, which sends the package to the destination node, which unpacks the entity and starts it.
- Upon startup, the entity posts an agent_start event to all the shards. This means that they should initialize, but it may be that not all the other shards have been started, and interactions are not yet resumed. The messaging shard posts all buffered received messages and sends all buffered outgoing messages. These events will be processed by the entity after the processing of the agent_start event is completed. It also posts an after_move event, which at the time when it will be disseminated to other shards will mean that all the shards and components have started, that pending interaction has been processed, and that the activity of the entity is fully resumed.
4.2. Multi-Modal Interaction
- Being able to address entities in the entire system via unique identifiers;
- Being able to deliver messages between entities in different areas of the system;
- Being able to migrate entities between nodes in different areas of the system.
- T could be a unique name throughout the building, or it may be addressable as entity T within the larger context (the micro meteorological station);
- Sun-seer could be a unique name throughout the building, or it may be addressable as entity Sun-seer within the larger context of room P308.
- Sun-seer sends a message 〈Sun-seer, build.ing/MSM/T, get T〉, where the components of a message are the source, the destination, and the content. It is necessary for the entire identifier of T to be known if a directory is not used. The message reaches the WebSocket server in room P308;
- The WebSocket server tries to find the name of the destination entity by iterating through progressively shorter prefixes of the destination name. It has no registrations for build.ing/MSM/T or build.ing/MSM, but an entity (call it Bridge 1) has registered to P308 with the identifier build.ing, as an interface to the rest of the building. In the web services infrastructure of the building, Bridge 1 registered as build.ing/P308/;
- Bridge 1 receives the message and uses the web services support infrastructure to route the message to the meteorological station, but not before prefixing the source of the message with the identifier of Bridge 1 as a web services end point, transforming the message into 〈build.ing/P308/Sun-seer, build.ing/MSM/T, get T〉;
- The message is routed to another bridge entity, which had registered as a web services endpoint with the identifier build.ing/MSM;
- Bridge 2 relays the message to the other support infrastructure it is registered in (), but it first removes the prefix with which it is registered as a webservice end point, so the message is now 〈build.ing/P308/Sun-seer, T, get T〉;
- also serves as a gateway for the Bluetooth devices in the meteorological station and knows the identifier T, so it sends the message to T, which can reply;
- The reply will follow the same path backwards.
4.3. Arbitrary Entity Naming
- By synchronizing with other directory servers, whose URIs are given in the configuration.
- By direct request from an entity that wishes that its name is stored by the directory server. The entity may specify that its name:
- –
- Should be published only in that specific directory server; or
- –
- Should be published in that server or in any directory servers it synchronizes with at a given maximum number of hops; or
- –
- Should be published in that server or in any other directory servers synchronized with each other in a given domain.
- Manually by configuring the directory server with a file containing a table.
4.4. Increased Communication Efficiency
- When A sends a message to E, sends an agent_location message to containing the URI of . stores the information that it can use the short path for entity E (regardless of what entities in region will send messages to E from now on).
- sends a long-path-stop message to via the long path (via ) and a short-path-begin message directly to , both containing the name E.
- After receives the short-path-begin, it will buffer any messages received via the short path for E until the long-path-stop message is received to be sure that messages received via the short path do not get delivered to E before messages sent via the long path before the Short Path Protocol is initiated.
- will store the information that region is sending messages to entity E via the short path.
- sends a short-path-stop message to all regions that were using the Short Path Protocol with entity E.
- cancels the Short Path Protocol for entity E and responds with a short-path-end message meaning that this will be the last message sent via the short path. It also sends a long-path-begin to .
- relays all incoming messages for E, including all short-path-end messages, to .
- When entity E arrives in a new region, will send, for each region, first the saved messages received before the short-path-end from that region and then any messages received from that region after the long-path-begin message. This ensures that messages sent to E from a region arrive in the same order in which they were sent.
5. Discussion and Experimental Results
5.1. Experimental Setup
5.2. Analysis of Results
- The times for the cross-region variant of the scenario when using WS-Regions are by far the longest, longer by a factor of about three compared to using Jade. This is because cross-region communication for some agent pairs can take three hops (node—region server—regions server—node).
- However, in the isolated variant, when only communicating within the same region, the times are significantly shorter when using WS-Regions rather than Jade, by a factor of three on average. This is because in Jade, all messages must pass through the main container, whereas in WS-Regions the regions share the effort of routing messages.
- The centralized WebSocket infrastructure performs better than Jade, but with comparable results. Just as in the case with Jade, WS-Regions performs significantly worse in the cross-region variant and better in the isolated variant.
5.3. Discussion on Robustness
6. Conclusions and Future Work
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Lange, D.B.; Oshima, M. Seven good reasons for mobile agents. Commun. ACM 1999, 42, 88–89. [Google Scholar] [CrossRef]
- Salah, T.; Zemerly, M.J.; Yeun, C.Y.; Al-Qutayri, M.; Al-Hammadi, Y. IoT applications: From mobile agents to microservices architecture. In Proceedings of the 2018 International Conference on Innovations in Information Technology (IIT), Al Ain, United Arab Emirates, 18–19 November 2018; pp. 117–122. [Google Scholar]
- Yousefi, S.; Derakhshan, F.; Karimipour, H.; Aghdasi, H.S. An efficient route planning model for mobile agents on the internet of things using Markov decision process. Ad. Hoc. Netw. 2020, 98, 102053. [Google Scholar] [CrossRef]
- Alsboui, T.; Qin, Y.; Hill, R.; Al-Aqrabi, H. Enabling distributed intelligence for the Internet of Things with IOTA and mobile agents. Computing 2020, 102, 1345–1363. [Google Scholar] [CrossRef]
- Ismail, L.; Materwala, H. IoT-edge-cloud computing framework for QoS-aware computation offloading in autonomous mobile agents: Modeling and simulation. In Proceedings of the International Conference on Mobile, Secure, and Programmable Networking; Springer: Berlin/Heidelberg, Germany, 2021; pp. 161–176. [Google Scholar]
- Boopathi, M.; Seetha, R. Accurate Detection of Multi-layer Packet Dropping Attacks Using Distributed Mobile Agents in MANET. In Proceedings of the Journal of Physics: Conference Series; IOP Publishing: Bristol, UK, 2021; Volume 1979, p. 012040. [Google Scholar] [CrossRef]
- Uddin, M.; Memon, J.; Alsaqour, R.; Shah, A.; Rozan, M.Z.A. Mobile agent based multi-layer security framework for cloud data centers. Indian J. Sci. Technol. 2015, 8, 1. [Google Scholar] [CrossRef] [Green Version]
- Colson, C.M.; Nehrir, M.H. A review of challenges to real-time power management of microgrids. In Proceedings of the 2009 IEEE Power & Energy Society General Meeting, Calgary, AB, Canada, 26–30 July 2009; pp. 1–8. [Google Scholar]
- Brearley, B.J.; Prabu, R.R. A review on issues and approaches for microgrid protection. Renew. Sustain. Energy Rev. 2017, 67, 988–997. [Google Scholar] [CrossRef]
- Coelho, V.N.; Cohen, M.W.; Coelho, I.M.; Liu, N.; Guimarães, F.G. Multi-agent systems applied for energy systems integration: State-of-the-art applications and trends in microgrids. Appl. Energy 2017, 187, 820–832. [Google Scholar] [CrossRef]
- Pal, C.V.; Leon, F.; Paprzycki, M.; Ganzha, M. A Review of Platforms for the Development of Agent Systems. arXiv 2020, arXiv:2007.08961. [Google Scholar]
- Savaglio, C.; Ganzha, M.; Paprzycki, M.; Bădică, C.; Ivanović, M.; Fortino, G. Agent-based Internet of Things: State-of-the-art and research challenges. Future Gener. Comput. Syst. 2020, 102, 1038–1053. [Google Scholar] [CrossRef]
- Bellifemine, F.; Poggi, A.; Rimassa, G. JADE—A FIPA-compliant agent framework. In Proceedings of the Fifth International Conference on Autonomous Agents, AGENTS 2001, Montreal, Canada, 28 May–1 June 2001; pp. 216–217. [Google Scholar]
- Lützenberger, M.; Küster, T.; Konnerth, T.; Thiele, A.; Masuch, N.; Heßler, A.; Keiser, J.; Burkhardt, M.; Kaiser, S.; Albayrak, S. JIAC V: A MAS framework for industrial applications. In Proceedings of the 2013 International Conference on Autonomous Agents and Multi-Agent Systems. International Foundation for Autonomous Agents and Multiagent Systems, Saint Paul, MN, USA, 6–10 May 2013; pp. 1189–1190. [Google Scholar]
- Boissier, O.; Bordini, R.H.; Hübner, J.F.; Ricci, A.; Santi, A. Multi-agent oriented programming with JaCaMo. Sci. Comput. Program. 2013, 78, 747–761. [Google Scholar] [CrossRef]
- Palanca, J.; Terrasa, A.; Julian, V.; Carrascosa, C. Spade 3: Supporting the new generation of multi-agent systems. IEEE Access 2020, 8, 182537–182549. [Google Scholar] [CrossRef]
- Ricci, A.; Viroli, M.; Omicini, A. Give agents their artifacts: The A&A approach for engineering working environments in MAS. In Proceedings of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems; ACM: Honolulu, HI, USA, 2007; p. 150. [Google Scholar]
- Hannoun, M.; Boissier, O.; Sichman, J.S.; Sayettat, C. MOISE: An organizational model for multi-agent systems. In Advances in Artificial Intelligence; Springer: Berlin/Heidelberg, Germany, 2000; pp. 156–165. [Google Scholar]
- Olaru, A. tATAmI-2—A Flexible Framework For Modular Agents. In Proceedings of the AgTAmI 2015, the International Workshop on Agent Technology for Ambient Intelligence, the 20th International Conference on Control Systems and Computer Science, Bucharest, Romania, 27–29 May 2015; Dumitrache, I., Florea, A.M., Pop, F., Dumitrascu, A., Eds.; IEEE Computer Society: Washington, DC, USA, 2015; Volume 2, pp. 703–710. [Google Scholar] [CrossRef]
- Rawat, A.; Sushil, R.; Sharm, L. Mobile agent communication protocols: A comparative study. In Computational Intelligence in Data Mining; Springer: Berlin/Heidelberg, Germany, 2015; pp. 131–141. [Google Scholar]
- Kia, S.S.; Rounds, S.; Martinez, S. Cooperative localization for mobile agents: A recursive decentralized algorithm based on Kalman-filter decoupling. IEEE Control Syst. Mag. 2016, 36, 86–101. [Google Scholar]
- De Gennaro, M.C.; Jadbabaie, A. Decentralized control of connectivity for multi-agent systems. In Proceedings of the 45th IEEE Conference on Decision and Control, San Diego, CA, USA, 13–15 December 2006; pp. 3628–3633. [Google Scholar]
- Olaru, A.; Sorici, A.; Florea, A.M. A Flexible and Lightweight Agent Deployment Architecture. In Proceedings of the 22nd International Conference on Control Systems and Computer Science, Bucharest, Romania, 28–30 May 2019; pp. 251–258. [Google Scholar]
- Qadori, H.Q.; Zulkarnain, Z.A.; Hanapi, Z.M.; Subramaniam, S. Multi-mobile agent itinerary planning algorithms for data gathering in wireless sensor networks: A review paper. Intl. J. Distrib. Sens. Netw. 2017, 13, 1550147716684841. [Google Scholar] [CrossRef]
- Derakhshan, F.; Yousefi, S. A review on the applications of multiagent systems in wireless sensor networks. Int. J. Distrib. Sens. Netw. 2019, 15, 1550147719850767. [Google Scholar] [CrossRef]
- Outtagarts, A. Mobile agent-based applications: A survey. Int. J. Comput. Sci. Netw. Secur. 2009, 9, 331–339. [Google Scholar]
- Bellifemine, F.; Poggi, A.; Rimassa, G. Developing multi-agent systems with JADE. In Intelligent Agents VII Agent Theories Architectures and Languages; John Wiley & Sons: Hoboken, NJ, USA, 2001; pp. 42–47. [Google Scholar]
- John, V.; Liu, X. A Survey of Distributed Message Broker Queues. arXiv 2017, arXiv:1704.00411. [Google Scholar]
- Bosse, S. Mobile multi-agent systems for the internet-of-things and clouds using the javascript agent machine platform and machine learning as a service. In Proceedings of the 2016 IEEE 4th International Conference on Future Internet of Things and Cloud (FiCloud), Vienna, Austria, 22–24 August 2016; pp. 244–253. [Google Scholar]
- Bosse, S. Self-organising Urban Traffic control on micro-level using Reinforcement Learning and Agent-based Modelling. In Proceedings of the SAI Intelligent Systems Conference; Springer: Berlin/Heidelberg, Germany, 2020; pp. 745–764. [Google Scholar]
- Deugo, D. Mobile Agent Messaging Models. In Proceedings of the Fifth International Symposium on Autonomous Decentralized Systems, ISADS 2001, Dallas, TX, USA, 26–28 March 2001; IEEE Computer Society: Washington, DC, USA, 2001; pp. 278–286. [Google Scholar]
- Hidayat, A. A review on the communication mechanism of mobile agent. Int. J. Video Image Process. Netw. Secur 2011, 11, 6–9. [Google Scholar]
- Virmani, C. A comparison of communication protocols for mobile agents. Int. J. Adv. Technol 2012, 3, 114–122. [Google Scholar]
- Olaru, A.; Petrescu, D.; Florea, A.M. Comparing the Performance of Message Delivery Methods for Mobile Agents. In Proceedings of the International Conference on Practical Applications of Agents and Multi-Agent Systems; Springer: Berlin/Heidelberg, Germany, 2020; pp. 188–199. [Google Scholar] [CrossRef]
- Wojciechowski, P.T. Algorithms for location-independent communication between mobile agents. In Proceedings of the AISB’01 Symposium on Software Mobility and Adaptive Behaviour, AISB’01 Convention, York, UK, 21–24 March 2001. [Google Scholar]
- Yousuf, A.Y.; Hammo, A. Developing a new mechanism for locating and managing mobile agents. J. Eng. Sci. Technol. 2012, 7, 614–622. [Google Scholar]
- Cabri, G.; Leonardi, L.; Zambonelli, F. Mobile-agent coordination models for internet applications. Computer 2000, 33, 82–89. [Google Scholar] [CrossRef]
- Choi, S.; Kim, H.; Byun, E.; Hwang, C.; Baik, M. Reliable asynchronous message delivery for mobile agents. IEEE Internet Comput. 2006, 10, 16–25. [Google Scholar] [CrossRef]
- Desbiens, J.; Lavoie, M.; Renaud, F. Communication and tracking infrastructure of a mobile agent system. In Proceedings of the Thirty-First Hawaii International Conference on System Sciences, Kohala Coast, HI, USA, 6–9 January 1998; Volume 7, pp. 54–63. [Google Scholar]
- Baumann, J.; Rothermel, K. The Shadow Approach: An Orphan Detection Protocol for Mobile Agents. Pers. Ubiquitous Comput. 1998, 2, 100–108. [Google Scholar]
- Di Stefano, A.; Santoro, C. Locating mobile agents in a wide distributed environment. IEEE Trans. Parallel Distrib. Syst. 2002, 13, 844–864. [Google Scholar] [CrossRef]
- Jingyang, Z.; Zhiyong, J.; Daoxu, C. Designing reliable communication protocols for mobile agents. In Proceedings of the 23rd International Conference on Distributed Computing Systems Workshops, Providence, RI, USA, 19–22 May 2003; pp. 484–487. [Google Scholar]
- Cao, J.; Xu, W.; Chan, A.T.; Li, J. A reliable multicast protocol for mailbox-based mobile agent communications. In Proceedings of the 2005 International Symposium on Autonomous Decentralized Systems, ISADS 2005, Chengdu, China, 4–8 April 2005; pp. 74–81. [Google Scholar]
- Ge, X.; Han, Q.L. Distributed formation control of networked multi-agent systems using a dynamic event-triggered communication mechanism. IEEE Trans. Ind. Electron. 2017, 64, 8118–8127. [Google Scholar] [CrossRef]
- Ismail, Z.H.; Sariff, N.; Hurtado, E. A survey and analysis of cooperative multi-agent robot systems: Challenges and directions. In Applications of Mobile Robots; IntechOpen: London, UK, 2018; pp. 8–14. [Google Scholar]
- Jiménez, A.C.; García-Díaz, V.; Bolaños, S. A decentralized framework for multi-agent robotic systems. Sensors 2018, 18, 417. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Qin, J.; Ma, Q.; Shi, Y.; Wang, L. Recent advances in consensus of multi-agent systems: A brief survey. IEEE Trans. Ind. Electron. 2016, 64, 4972–4983. [Google Scholar] [CrossRef]
- Zhang, D.; Feng, G.; Shi, Y.; Srinivasan, D. Physical safety and cyber security analysis of multi-agent systems: A survey of recent advances. IEEE/CAA J. Autom. Sin. 2021, 8, 319–333. [Google Scholar] [CrossRef]
- Murugesan, S.; Liu, Y.C. Resilient finite-time distributed event-triggered consensus of multi-agent systems with multiple cyber-attacks. Commun. Nonlinear Sci. Numer. Simul. 2023, 116, 106876. [Google Scholar] [CrossRef]
- Fette, I.; Melnikov, A. The WebSocket Protocol. Technical Report rfc6455, Internet Engineering Task Force (IETF). 2011. Available online: https://www.rfc-editor.org/rfc/rfc6455 (accessed on 7 March 2023).
- Cao, J.; Feng, X.; Lu, J.; Chan, H.C.; Das, S.K. Reliable message delivery for mobile agents: Push or pull? IEEE Trans. Syst. Man Cybern.-Part A Syst. Humans 2004, 34, 577–587. [Google Scholar] [CrossRef]
- Olaru, A.; Florea, A.M. A Framework for Integrating Heterogeneous Agent Communication Platforms. In Proceedings of the ACSys 2015, the 12th Workshop on Agents for Complex Systems, in Conjunction with SYNASC 2015, the 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, Timisoara, Romania, 21–24 September 2015; pp. 399–406. [Google Scholar] [CrossRef]
S Home D | S Status | D Status | Wave Path | |
---|---|---|---|---|
home | home | |||
home | remote/R2 | |||
remote/ | remote/ | |||
remote/ | remote/ | |||
home | home | |||
home | remote/ | |||
remote/ | remote/ |
Message Type | Direction | Semantics |
---|---|---|
REGISTER | entity → home server | A new entity has been created in the region |
CONNECT | entity → host server | The entity has arrived in the region after migration |
REQ_LEAVE | entity → host server | The entity wants to move to another region |
REQ_BUFFER | host server → home server | An entity in the source region wants to move to another region |
REQ_ACCEPT | home server → entity | Acknowledgment of buffer request |
AGENT_UPDATE | host server → home server | An entity has arrived in the region |
AGENT_CONTENT | node → node | A wave that contains a packaged entity |
CONTENT | entity → entity | A wave that is a normal message between entities |
Entity E | Current Region of E, If Different from | Home Region |
---|---|---|
〈normal operation〉 | receive normal message m for E, with case of: home: send m to remote on : send m to in-transit: add m to buf[E] | |
receive normal message m for E, with if then send m to else send m to | ||
〈E ∈ N1 ∈ R1〉 | 〈R1 ≠ RE〉 | |
〈E needs to migrate to N2 ∈ R2〉
start buffering in/out operations send req_leave to 〈wait for req_accept〉 suspend all sub-entities package into p request to send p to | receive req_leave from E with in-transit send req_buffer to receive req_accept to E from send req_accept to remove E from | receive req_buffer from with create buf[E] in-transit send req_accept to receive req_leave from E with create buf[E] in-transit send req_accept to E |
〈E ∈ N2 ∈ R2〉 | 〈R2 ≠ RE〉 | |
〈E arrives on N2 ∈ R2〉 unpack all sub-entities send connect to run buffered in/out operations resume normal operation | receive connect from E with register that guest send agent_update to | receive ag_update from with remote for each m in buf[E] send m to E delete buf[E] receive connect from E with home for each m in buf[E] send m to E delete buf[E] |
Infrastructure | Case | Entities Lost | Interactions Lost |
---|---|---|---|
WS-Regions | node N which is not region server fails |
|
|
WS-Regions | node containing the server of region R fails |
|
|
Jade | node without main container fails |
|
|
Jade | node with main container fails |
|
|
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Olaru, A.; Pricope, M. Multi-Modal Decentralized Interaction in Multi-Entity Systems. Sensors 2023, 23, 3139. https://doi.org/10.3390/s23063139
Olaru A, Pricope M. Multi-Modal Decentralized Interaction in Multi-Entity Systems. Sensors. 2023; 23(6):3139. https://doi.org/10.3390/s23063139
Chicago/Turabian StyleOlaru, Andrei, and Monica Pricope. 2023. "Multi-Modal Decentralized Interaction in Multi-Entity Systems" Sensors 23, no. 6: 3139. https://doi.org/10.3390/s23063139
APA StyleOlaru, A., & Pricope, M. (2023). Multi-Modal Decentralized Interaction in Multi-Entity Systems. Sensors, 23(6), 3139. https://doi.org/10.3390/s23063139