5 research outputs found

    PLoS One

    Get PDF
    In this paper, we describe a distributed coordination system that allows agents to seamlessly cooperate in problem solving by partially contributing to a problem solution and delegating the subproblems for which they do not have the required skills or knowledge to appropriate agents. The coordination mechanism relies on a dynamically built semantic overlay network that allows the agents to efficiently locate, even in very large unstructured networks, the necessary skills for a specific problem. Each agent performs partial contributions to the problem solution using a new distributed goal-directed version of the Graphplan algorithm. This new goal-directed version of the original Graphplan algorithm provides an efficient solution to the problem of "distraction", which most forward-chaining algorithms suffer from. We also discuss a set of heuristics to be used in the backward-search process of the planning algorithm in order to distribute this process amongst idle agents in an attempt to find a solution in less time. The evaluation results show that our approach is effective in building a scalable and efficient agent society capable of solving complex distributable problems.OE/EEI/LA0008/2011/OE/OSELS CDC HHS/United StatesPTDC/EEACRO/104658/2008/PHS HHS/United StatesSFRH/BD/27533/2006/BD/FDA HHS/United States23704885PMC366039

    Scalable Resource and QoS Brokering Mechanisms for Massively Multiplayer Online Games

    Get PDF
    Multiplayer online games have become an increasingly integral part of online entertainment. With advances in social media, the number of players of these games is increasing at a very rapid rate, which in some cases has been observed to be exponential. This is when resource becomes a concern. In this thesis, I investigated several challenges in developing and maintaining multiplayer games such as hotspots, genrespeci c limitations, unpredictable quality of service and rigidity in resource availability. I showed that these issues can be solved by adopting mechanisms for separation of resource concerns from functional concerns and coordination of resources. To support resource coordination, I divided the ownership of resources among three partiesgame owner, resource owner and game player. I developed the CyberOrgs-MMOG API, which supports Massively Multiplayer Online Game (MMOG) platforms capable of resource sharing among multiple peers, through mechanisms for acquiring these resources dynamically. I showed that dynamic acquisition of resources can solve the resource questions mentioned above. The API was evaluated using a 2D game with up to 250 simulated players. I also showed, how the game's responsiveness can be dynamically adjusted in a scalable way. This thesis presents the design and implementation of the CyberOrgs-MMOG API, interfaces provided to the interacting agents representing di erent parties. I integrated a 2D multiplayer game with the API and evaluated the mechanisms supported by the API

    Supporting Mobile Distributed Services

    Get PDF
    With sensors becoming increasingly ubiquitous, there is a tremendous potential for services which can take advantage of the data collected by these sensors, from the important -- such as detecting medical emergencies and imminent natural disasters -- to the mundane -- such as waiting times experienced by diners at restaurants. This information can then be used to offer useful services. For example, a busy professional could find a restaurant to go to for a quick lunch based on information available from smartphones of people already there having lunch, waiting to be seated, or even heading there; a government could conduct a census in real-time, or “sense” public opinion. I refer to such services as mobile distributed services. The barriers to offering mobile distributed services continue to be prohibitive for most: not only must these services be implemented, but they would also inevitably compete for resources on people's devices. This is in part because such services are poorly understood, and consequently, there is limited language support for programming them. In this thesis, I address practical challenges related to three important problems in mobile distributed services. In addition, I present my efforts towards a formal model for representing mobile distributed services. First, I address the challenge of enhancing the programmability of mobile distributed services. This thesis presents a set of core mechanisms underlying mobile distributed services. I interpret and implement these mechanisms for the domain of crowd-sourced services. A distributed runtime middleware, CSSWare, has been developed to simplify the burden of initiating and managing crowd-sourced services. CSSWare provides a set of domain-specific programming constructs for launching a new service. Service designers may launch novel services over CSSWare by simply plugging in small pieces of service specific code. Particularly, new services can be prototyped in fewer than 100 lines of code. This ease of programming promises to democratize the building of such services. Second, I address the challenge of efficiently supporting the sensing needs of mobile distributed services, and more generally sensor-based applications. I developed ShareSens, an approach to opportunistically merge sensing requirements of independent applications. When multiple applications make sensing requests, instead of serving each request independently, ShareSens opportunistically merges the requests, achieving significant power and energy savings. Custom filters are then used to extract the data required by each application. Third, I address the problem of programming the sensing requirements of mobile distributed services. In particular, ModeSens is presented to allow multi-modal sensing requirements of a service to be programmed separately from its function. Programmers can specify the modes in which a service can be, the sensing needs of each mode, and the sensed events which trigger mode transition. ModeSens then monitors for mode transition events, and dynamically adjusts the sensing frequencies to match the current mode's requirements. Separating the mode change logic from an application's functional logic leads to more modular code. In addition, I present MobDisS (Mobile Distributed Services), an early model for representing mobile distributed services, allowing them to be carefully studied. Services can be built by composing simpler services. I present the syntax and operational semantics of MobDisS. Although this work can be evaluated along multiple dimensions, my primary goal is to enhance programmability of mobile distributed services. This is illustrated by providing the actual code required for creating two realistic services using CSSWare. Each service demonstrates different facets of the middleware, ranging from the use of different sensors to the use of different facilities provided by CSSWare. Furthermore, experimental results are presented to demonstrate scalability, performance and data-contributor side energy efficiency of CSSWare and ShareSens. Finally, a set of experimental evaluation is carried out to measure the performance and energy costs of using ModeSens

    Hierarchical resource usage coordination for large-scale multi-agent systems

    No full text
    Abstract. Scalable coordination is a key challenge in deploying massively multiagent systems. Resource usage is one part of agent behavior which naturally lends itself to abstraction. CyberOrgs is a model for hierarchical coordination of resource usage by multi-agent applications in a network of peer-owned resources. Programming constructs based on CyberOrgs allow resource trade and control reification while maintaining a separation between functional and resource concerns. An operational semantics of CyberOrgs is presented. Expressive power of programming constructs based on CyberOrgs is illustrated with examples. Hierarchical control presents challenges in scalability. However, some types of resource coordination are amenable to efficient implementation using CyberOrgs. Hierarchical control of processor time, for instance, can be implemented scalably by efficiently flattening the hierarchical schedule on the fly. Experimental results demonstrate scalability of the technique. Generalizations of this solution for hierarchical control of processor, network and other computational resources in a distributed system are discussed.

    Distributed coordination in unstructured intelligent agent societies

    Get PDF
    Current research on multi-agent coordination and distributed problem solving is still not robust or scalable enough to build large real-world collaborative agent societies because it relies on either centralised components with full knowledge of the domain or pre-defined social structures. Our approach allows overcoming these limitations by using a generic coordination framework for distributed problem solving on totally unstructured environments that enables each agent to decompose problems into sub-problems, identify those which it can solve and search for other agents to delegate the sub-problems for which it does not have the necessary knowledge or resources. Regarding the problem decomposition process, we have developed two distributed versions of the Graphplan planning algorithm. To allow an agent to discover other agents with the necessary skills for dealing with unsolved sub-problems, we have created two peer-to-peer search algorithms that build and maintain a semantic overlay network that connects agents relying on dependency relationships, which improves future searches. Our approach was evaluated using two different scenarios, which allowed us to conclude that it is efficient, scalable and robust, allowing the coordinated distributed solving of complex problems in unstructured environments without the unacceptable assumptions of alternative approaches developed thus far.As abordagens actuais de coordenação multi-agente e resolução distribuída de problemas não são suficientemente robustas ou escaláveis para criar sociedades de agentes colaborativos uma vez que assentam ou em componentes centralizados com total conhecimento do domínio ou em estruturas sociais pré-definidas. A nossa abordagem permite superar estas limitações através da utilização de um algoritmo genérico de coordenação de resolução distribuída de problemas em ambientes totalmente não estruturados, o qual permite a cada agente decompor problemas em sub-problemas, identificar aqueles que consegue resolver e procurar outros agentes a quem delegar os subproblemas para os quais não tem conhecimento suficiente. Para a decomposição de problemas, criámos duas versões distribuídas do algoritmo de planeamento Graphplan. Para procurar os agentes com as capacidades necessárias à resolução das partes não resolvidas do problema, criámos dois algoritmos de procura que constroem e mantêm uma camada de rede semântica que relaciona agentes dependentes com o fim de facilitar as procuras. A nossa abordagem foi avaliada em dois cenários diferentes, o que nos permitiu concluir que ´e uma abordagem eficiente, escalável e robusta, possibilitando a resolução distribuída e coordenada de problemas complexos em ambientes não estruturados sem os pressupostos inaceitáveis em que assentava o trabalho feito até agora
    corecore