5 research outputs found
PLoS One
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
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
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
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
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