KR101081932B1 - Apparatus and method of load dispersion in multi-agent system - Google Patents

Apparatus and method of load dispersion in multi-agent system Download PDF

Info

Publication number
KR101081932B1
KR101081932B1 KR1020090104569A KR20090104569A KR101081932B1 KR 101081932 B1 KR101081932 B1 KR 101081932B1 KR 1020090104569 A KR1020090104569 A KR 1020090104569A KR 20090104569 A KR20090104569 A KR 20090104569A KR 101081932 B1 KR101081932 B1 KR 101081932B1
Authority
KR
South Korea
Prior art keywords
agent
node
monitor
unit
weight
Prior art date
Application number
KR1020090104569A
Other languages
Korean (ko)
Other versions
KR20110047799A (en
Inventor
윤희용
한승욱
송성근
손병하
황명진
신승엽
김용희
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020090104569A priority Critical patent/KR101081932B1/en
Publication of KR20110047799A publication Critical patent/KR20110047799A/en
Application granted granted Critical
Publication of KR101081932B1 publication Critical patent/KR101081932B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 호스트에서 생성되어 동작 상태에 따라 사용자의 요청 작업을 처리하는 적어도 하나 이상의 에이전트와, 다수의 노드 상에 생성되어 동작하는 각 에이전트를 등록하여, 동작 상태를 관리하는 에이전트 플랫폼부과, 상기 에이전트 플랫폼부을 통해 파악되는 상기 각 에이전트의 동작 상태에 따라 가중치를 산출하여 상기 각 에이전트에 상기 가중치에 따른 자원을 할당하는 모니터 에이전트부를 포함하는 멀티 에이전트 시스템을 개시하여, 능동적이면서 효율적으로 한정된 자원을 에이전트에 할당할 수 있고, 에이전트의 동작 상태를 기반으로 에이전트를 이주시켜 시스템의 성능을 향상시킬 수 있도록 하는 것이다.The present invention provides at least one agent that is generated in a host to process a user's request task according to an operation state, an agent platform unit for registering each agent that is generated and operated on a plurality of nodes and managing an operation state; Initiating a multi-agent system comprising a monitor agent unit for calculating a weight according to the operating state of each agent identified through the platform unit and assigning the resource according to the weight to each agent, thereby actively and efficiently limited resources to the agent It can be assigned, and the agent can be migrated based on the operating state of the agent to improve the performance of the system.

Description

멀티 에이전트 시스템의 부하 분산 방법 및 그 장치{Apparatus and method of load dispersion in multi-agent system}Apparatus and method of load dispersion in multi-agent system

본 발명은 멀티 에이전트 시스템의 부하 분산 방법 및 그 장치에 대한 것으로, 더욱 상세하게는, 다수개의 에이전트가 존재하는 멀티 에이전트 시스템에서 능동적이면서 효율적으로 한정된 자원을 할당할 수 있으며, 에이전트의 동작 상태를 기반으로 에이전트를 이주시켜 시스템의 성능을 향상시킬 수 있는 멀티 에이전트 시스템의 부하 분산 방법 및 그 장치에 대한 것이다.The present invention relates to a load balancing method and apparatus thereof of a multi-agent system, and more particularly, to allocate a limited resource actively and efficiently in a multi-agent system in which a plurality of agents exist, and based on an operation state of an agent. The present invention relates to a load balancing method and a device of a multi-agent system capable of migrating agents to improve system performance.

인터넷과 같은 네트워크 기술의 발전 및 보급과, 다양한 응용 서비스의 개발과 함께 다양한 응용 프로그램이 개발되어 소비자들이 필요로 하는 서비스를 여러 방식으로 제공하게 되었다.With the development and spread of network technologies such as the Internet, and the development of various application services, various applications have been developed to provide services required by consumers in various ways.

유비쿼터스 환경이 보편화되면서 언제(Any time), 어디에서나(Any where), 어떤 디바이스(Any Device)에서도 어떠한 서비스(Any Service)를 소비자, 사용자에게 제공하기 위하여 사물이나 컴퓨터가 사용자를 대신하여 지능적으로 작업을 수행 함으로써 사용자의 욕구를 만족시킬수 있는 서비스를 제공하는 측면에 대한 관심이 커지고 있다.As the ubiquitous environment becomes more common, things or computers work intelligently on behalf of users to provide any service to consumers and users at any time, anywhere, and any device. The interest in the aspect of providing a service that can satisfy the user's needs is increasing.

이러한 작업 수행을 처리하기 위한 에이전트 기술은 지능(Intelligence), 자율성(Autonomy), 반응성(Reactivity) 및 사회성 등과 같은 특징을 갖도록 하여 사용자가 원하는 서비스를 대리 수행하도록 하고, 외부 환경과의 상호 작용을 통해 상황의 변화를 인식하는 한편, 다른 에이전트나 시스템과 협력을 통해서 복잡한 응용 서비스를 제공할 수 있도록 개발되고 있다.The agent technology to handle such work performance has features such as intelligence, autonomy, reactivity and sociality so that the user can perform the desired service and interact with the external environment. While recognizing the change of situation, it is being developed to provide complex application service through cooperation with other agents or systems.

예를 들어 인터넷 상의 무수히 많은 정보를 에이전트가 사용자를 대신하여 원하는 정보를 찾거나 필터링 할 수 있으며, 사용자가 수 작업으로 처리하던 전자 우편의 분류, 검색, 삭제 등의 작업을 하거나, 온라인 전자 상거래에서 사용자의 대리인으로서 입찰에 참가하여 낮은 가격으로 상품을 얻기 위해 입찰에 참여한 다른 에이전트와 경쟁 하도록 할 수 있다.For example, a myriad of information on the Internet can be used by agents to find or filter information on your behalf, sorting, searching, and deleting e-mails that you have manually processed, or in online e-commerce. As an agent of a user, you can enter a bid and compete with other agents in the bid to get a product at a lower price.

그리고, 분산 환경하에서 여러 개의 에이전트간의 상호 협력을 통하여 작업을 수행할 수 있는 시스템을 멀티 에이전트 시스템이라 칭하며, 여러 에이전트간의 협동을 통하여 작업을 수행하는 에이전트들의 연합 서비스를 제공할 수 있다.In addition, a system capable of performing work through cooperation among several agents in a distributed environment is called a multi-agent system, and a federation service of agents performing work through cooperation between several agents may be provided.

이러한 멀티 에이전트 시스템은 FIPA(Foundation for Intelligent Physical Agent)에서 제안하는 에이전트 플랫폼부의 표준 모델을 확장하여 구축하게 된다.Such a multi-agent system will be built by extending the standard model of the agent platform part proposed by FIPA (Foundation for Intelligent Physical Agent).

도 1은 FIPA에서 제안하는 에어전트 플랫폼의 표준 모델을 설명하기 위한 도면이다.1 is a view for explaining a standard model of the Airgent platform proposed by FIPA.

도 1을 참조하면, 에이전트 플랫폼부은 여러 가지 서비스를 수행하는 다수개의 에이전트(2)와, 에이전트 플랫폼부내의 에이전트의 생성, 등록, 제거, 일시정지, 복구 등과 같은 전반적인 에이전트 생명 주기에 대한 관리를 수행하는 AMS(Agent Management System)(3)와, 에이전트 플랫폼부 내의 에이전트들이 제공하는 능력이나 서비스에 대한 정보를 각 에이전트에게 제공하기 위해 각 에이전트의 서비스 정보를 처리하는 DF(Directory Facilitator)(4)와, 다른 에이전트 플랫폼부과 정보나 메시지를 상호 전달하는 MTS(Message Transport System)(5)을 포함한다.Referring to FIG. 1, the agent platform unit manages a plurality of agents 2 performing various services and overall agent life cycles such as creation, registration, removal, pause, and recovery of agents in the agent platform unit. Agent Management System (AMS) (3), and DF (Directory Facilitator) (4) that processes the service information of each agent to provide each agent with information about the capabilities or services provided by agents in the agent platform unit; And a message transport system (MTS) 5 for communicating information or messages with other agent platform units.

에이전트란 사용자가 원하는 서비스를 대신하여 수행하는 것이므로, 기존의 응용프로그램과 달리 지식과 추론 능력, 학습, 계획 능력 등의 특징을 가지고 사용자를 대신하여 사용자가 원하는 작업을 해결하기 위해 외부 환경과의 상호 작용에 따라서 상황의 변화를 인식하고 다른 시스템, 혹은 다른 에이전트들과 협력함에 의해 목표 지향적으로 문제를 해결해 나가는 시스템이나 그 서브 시스템을 말한다.Agents are performed on behalf of a user's desired service. Unlike an existing application, an agent has characteristics such as knowledge, reasoning ability, learning, and planning ability to interact with the external environment to solve the user's desired work on behalf of the user. It refers to a system or a subsystem that recognizes a change in a situation according to an action and solves a problem in a goal-oriented manner by cooperating with another system or other agents.

그리고, 복잡한 응용 서비스를 처리하기 위해서는 많은 수의 에이전트들(2)이 필요하며, 에이전트들(2)을 효율적으로 관리하고, 다른 에이전트들과 데이터나 메시지를 주고받기 위해서는 하나의 패키지로 묶어 운용하는 것이 필요하다. 그리고, 유사한 응용 서비스를 제공하는 에이전트들(2)의 그룹이 작업하는 영역을 에이전트 플랫폼부이라 칭한다.In addition, a large number of agents (2) are required to process complex application services, and the agents (2) are efficiently managed and bundled and operated in one package to exchange data or messages with other agents. It is necessary. The area in which the group of agents 2 providing similar application services work is called an agent platform unit.

이와 같은 에이전트 플랫폼부은 사용자나 다른 에이전트들과의 직접적인 지시나 간섭 없이도 스스로 판단하거나 동작하여 능동적으로 작업을 수행하는 자율성(Autonomy)과, 지식 베이스(Knowledge Base)와 추론(Inference) 능력을 가지고 있으며, 사용자의 의도를 파악하여 계획(Planning)을 세우거나 학습(Leaning)을 통하여 새로운 지식을 스스로 터득하는 지능성(Intelligence)과, 사용자가 원하는 작업을 현재의 호스트, 즉 노드에서 수행하지 않고 실제 그 작업을 처리하는 노드로 이동시켜 수행함으로써 효율을 높이고 네트워크의 부하를 줄이는 이동성(Mobility)과, 하나의 에이전트가 처리하지 못하는 작업의 수행을 위해 다른 에이전트들의 도움을 필요로 할 때에 에이전트간 메시지를 교환하는 사교성(Social Ability) 등을 가진다.The agent platform unit has autonomy, knowledge base, and inference ability to actively perform tasks by judging or operating on its own without direct instruction or interference with users or other agents. Intelligence to grasp new intentions through planning or learning by knowing the intention of the user, and to actually perform the work without the user's desired task in the current host or node. Mobility, which improves efficiency and reduces network load by moving to a processing node, and sociability of exchanging messages between agents when one agent needs help to perform tasks that one agent cannot handle. (Social Ability) and the like.

한편, 도메인이란 하나의 공간 혹은 복잡한 응용 서비스를 수행하기 위해 여러개의 에이전트 플랫폼부들이 모여있는 그룹을 지칭하며, 멀티 에이전트 시스템을 이룬다. 멀티 에이전트 시스템은 해당 도메인의 에이전트 플랫폼부들을 관장하는 메인 에이전트 플랫폼부과 각 응용 서비스들을 수행하는 서브 에이전트 플랫폼부을 포함한다.Meanwhile, a domain refers to a group in which a plurality of agent platform units are gathered to perform a single space or complex application service, and constitute a multi-agent system. The multi-agent system includes a main agent platform unit that manages agent platform units of a corresponding domain and a sub agent platform unit that performs each application service.

멀티 에이전트 시스템의 특징은 에이전트간 협동을 통한 정보의 교환 및 공유와, 에이전트의 성능 향상이나 활용의 극대화를 추구하며, 독립적인 응용 프로그램 집합으로는 해결할 수 없는 복잡한 응용 서비스를 다른 에이전트 플랫폼부과 협력하여 수행하며, 새로운 응용 서비스가 필요할 때에는 새로운 에이전트를 시스템에 추가하여 서비스를 제공한다.The characteristics of the multi-agent system seek to exchange and share information through agent-to-agent cooperation, to maximize the performance and utilization of agents, and to cooperate with other agent platform departments for complex application services that cannot be solved by independent application sets. When a new application service is needed, a new agent is added to the system to provide the service.

도 2는 멀티 에이전트 시스템을 설명하기 위한 도면이다.2 is a diagram for explaining a multi-agent system.

도 2를 참조하면, 멀티 에이전트 시스템은 여러개의 에이전트 플랫폼부(10, 20, 30)이 다른 에이전트 플랫폼부과 MTS(15, 25, 35)을 통해 정보나 메시지를 교환함에 의해 하나의 에이전트 플랫폼부(10, 20, 30)이 처리하지 못하는 복잡한 응용 서비스를 제공하게 된다.Referring to FIG. 2, in the multi-agent system, a plurality of agent platform units 10, 20, and 30 exchange information or messages with other agent platform units through MTSs 15, 25, and 35. 10, 20, 30) to provide a complex application service that can not handle.

이때, 각 에이전트 플랫폼부(10, 20, 30)간 통신 언어인 ACL(Agent Communication Language) 메시지 구조를 사용하여 정보 교환 작업이 진행된다.At this time, the information exchange operation is performed by using an Agent Communication Language (ACL) message structure, which is a communication language between the agent platform units 10, 20, and 30.

현재 'Telescript', 'Aglets', 'Jade', 'Madkit', 'Agent Gateway', 'Mobile Spaces' 등과 같은 다양한 멀티 에이전트 시스템들이 개발되어 제안되고 있으며, 제안되고 있는 멀티 에이전트 시스템은 라운드 로빈 또는 프로세서 쉐어링과 같은 간단한 스케줄링 알고리즘이 적용된다.Currently, various multi-agent systems such as 'Telescript', 'Aglets', 'Jade', 'Madkit', 'Agent Gateway', and 'Mobile Spaces' have been developed and proposed. Simple scheduling algorithms such as sharing are applied.

또한, 그리드 컴퓨팅 환경에서 사용되는 'Max-min' 알고리즘을 기반으로 하는 멀티 에이전트 시스템은 멀티 에이전트 지향의 우선 순위를 기반으로 하는 스케줄링 알고리즘이 제안되었으며, 'Max-min' 알고리즘은 공평성과 효율성을 위해 더 적은 수의 클론 에이전트와 더 작은 계산 요구를 가지는 에이전트를 우선순위로 한다. In addition, the multi-agent system based on the 'Max-min' algorithm used in the grid computing environment has been proposed a scheduling algorithm based on the multi-agent-oriented priority, the 'Max-min' algorithm for fairness and efficiency Priority is given to agents with fewer clone agents and smaller computational needs.

그러나 이와 같은 알고리즘에서는 에이전트의 상태를 나타내는 에이전트 라이프 사이클을 고려하지 않기 때문에 실행 상태에 있지 않은 에이전트들에도 CPU 자원을 할당함으로써 자원의 낭비를 야기할 수 있다. However, such an algorithm does not take into account the agent life cycle that represents the state of the agent, which can cause waste of resources by allocating CPU resources to agents that are not running.

예를 들어, 다수의 에이전트가 한 노드상에 존재하는 경우, 에이전트의 실행은 프로세스 공유 방식에 의해서 스케줄된다고 가정할 수 있으며, 프로세서 공유 방식에서는 새로 생성된 에이전트가 이미 같은 노드에서 실행중인 다른 에이전트들 이 선점하고 있는 자원에 영향을 미친다. 따라서, 새로 생성된 에이전트는 노드의 성능 감소와 각 에이전트의 작업 완료에서 추가적인 시간의 오버 헤드가 발생된다.For example, if multiple agents exist on a node, it can be assumed that the execution of the agent is scheduled by process sharing, in which the newly created agent is already running on the same node. This affects preoccupied resources. Therefore, the newly created agent incurs an additional time overhead in reducing node performance and completing each agent's work.

한편, 에이전트 스케쥴링 중 Earliest Deadline First (EDF) 방식은 시간 제약적인 응용 프로그램에 적합한 스케줄링 방법으로 사용되며, EDF 방식에서는 모든 자원이 오직 최단 마감 시간을 갖는 에이전트에게 할당된다. Meanwhile, the Earliest Deadline First (EDF) method is used as a scheduling method suitable for time-constrained applications during agent scheduling. In the EDF method, all resources are allocated to the agent having the shortest deadline.

그러나 EDF는 자원의 할당이 공평하지 않기 때문에 멀티 에이전트 시스템에 적합하지 않다. 예를 들어, 거의 똑같은 데드라인 시간을 갖는 두 에이전트가 EDF 방법으로 한 노드에서 실행 중에 있다고 가정하면, 모든 자원은 오직 최단 마감 시간을 갖는 에이전트에게 할당되고 다른 에이전트에게는 어떠한 자원도 할당되지 않을 것이다.However, EDF is not suitable for multi-agent systems because the allocation of resources is not fair. For example, suppose that two agents with nearly the same deadline time are running on one node in the EDF method, all resources will be allocated only to the agent with the shortest deadline, and no resources will be allocated to the other agent.

따라서, 약간의 긴 마감 시간을 가지는 에이전트는 마감 시간 내에 작업을 완료할 수 없게 되는 문제가 발생한다.Thus, a problem arises that agents with some long deadlines are unable to complete their work within the deadlines.

그러므로, 멀티 에이전트 시스템에서 효율적이면서 능동적으로 자원을 할당할 수 있는 방식이 제안되어야 한다.Therefore, a method for efficiently and actively allocating resources in a multi-agent system should be proposed.

본 발명은 상술한 문제를 해소하기 위해 제안되는 것으로, 다수개의 에이전트가 존재하는 멀티 에이전트 시스템에서 능동적이면서 효율적으로 한정된 자원을 할당할 수 있는 멀티 에이전트 시스템의 부하 분산 방법 및 그 장치를 제공하는 데 그 목적이 있다.The present invention has been proposed to solve the above problems, and provides a method and apparatus for load balancing of a multi-agent system capable of allocating limited resources actively and efficiently in a multi-agent system having a plurality of agents. There is a purpose.

그리고, 본 발명은 다수개의 노드상에 존재하는 에이전트의 동작 상태를 기반으로 에이전트를 이주시켜 효과적으로 자원을 할당하여 시스템의 성능을 향상시킬 수 있는 멀티 에이전트 시스템의 부하 분산 방법 및 그 장치를 제공하는 데 그 목적이 있다. In addition, the present invention provides a method and apparatus for load balancing a multi-agent system capable of improving system performance by effectively allocating an agent by migrating an agent based on an operation state of an agent present on a plurality of nodes. The purpose is.

본 발명의 일 측면에 따른 멀티 에이전트 시스템은, 호스트에서 생성되어 동작 상태에 따라 사용자의 요청 작업을 처리하는 적어도 하나 이상의 에이전트와, 다수의 노드 상에 생성되어 동작하는 각 에이전트를 등록하여, 동작 상태를 관리하는 에이전트 플랫폼부과, 상기 에이전트 플랫폼부을 통해 파악되는 상기 각 에이전트의 동작 상태에 따라 가중치를 산출하여 상기 각 에이전트에 상기 가중치에 따른 자원을 할당하는 모니터 에이전트부를 포함한다.Multi-agent system according to an aspect of the present invention, at least one agent that is generated in the host to process the user's request task according to the operation state, and each agent is created and operated on a plurality of nodes, the operation state And a monitor agent unit configured to calculate a weight according to an operation state of each agent identified through the agent platform unit, and to allocate resources according to the weight to each agent.

상기 모니터 에이전트부는, 상기 각 노드 상의 에이전트 중 활성화 상태의 에이전트 개수를 기반으로 상기 가중치를 산출하고, 상기 각 에이전트별 RTT(Round Trip Time) 값이 노드의 평균 RTT 값보다 같거나 작아지면, 평균 RTT 값이 작은 노드에 속하는 상기 에이전트 중 하나의 에이전트를 평균 RTT 값이 큰 노드로 이주시켜 부하 분산하는 것이 바람직하다.The monitor agent unit calculates the weight based on the number of agents in an activated state among the agents on each node, and when the round trip time (RTT) value for each agent is equal to or smaller than the average RTT value of the node, the average RTT It is preferable to perform load balancing by migrating one of the agents belonging to a node having a small value to a node having a high average RTT value.

상기 모니터 에이전트부는, 상기 각 노드의 가중치 평균이 전체 노드의 가중치 평균과 동일해 질때까지 가중치 평균이 낮은 상기 노드의 에이전트를 반복 이주시키는 것을 특징으로 한다.The monitor agent unit may repeatedly migrate the agent of the node having a low weight average until the weight average of each node is equal to the weight average of all nodes.

본 발명의 다른 측면에 따른 멀티 에이전트 시스템은, AMS(Agent Management System) 에이전트로 에이전트 이주를 요청하여 부하 분산 과정을 처리하는 Agent Migration와, 생성된 에이전트의 동작 상태를 정의하여 모니터 에이전트부가 가중치를 산출하도록 하는 Agent Life Cycle와, 상기 모니터 에이전트부에서 산출된 상기 가중치를 기반으로 각 에이전트에 자원 할당을 요청하는 Scheduler of Behaviors을 포함한다.The multi-agent system according to another aspect of the present invention, the agent agent to handle the load balancing process by requesting the agent migration to the agent management system (AMS) agent, and the monitor agent unit calculates the weight by defining the operation status of the generated agent Agent Life Cycle, and the Scheduler of Behaviors for requesting resource allocation to each agent based on the weight calculated by the monitor agent.

본 발명의 또 다른 측면에 따른 멀티 에이전트 시스템의 부하 분산 방법은, 에이전트 플랫폼부이 사용자의 요청에 따라 작업하기 위해 생성되는 에이전트를 등록받아 동작 상태를 관리하는 단계와, 모니터 에이전트부가 각 노드의 평균 RTT 값과, 에이전트별 RTT 값을 기반으로 부하 분산을 결정하는 단계와, 상기 각 노드의 RTT 값을 오름차순으로 정렬하고, 첫 번째 노드의 하나의 에이전트를 마지막 노드로 이주 처리하는 단계와, 각 노드에서 활성화 상태인 에이전트의 개수를 기반으로 가중치를 산출하는 단계와, 노드에 할당되는 자원량과 상기 가중치를 기반으로 각 에이전트에 자원을 할당하는 단계와, 상기 에이전트별 가중치와 해당 노드의 가중치 평균을 기반으로 부하 분산을 결정하는 단계와, 상기 가중치와, 해당 노드의 자원량에 따라 상기 각 에이전트에 자원을 할당하는 단계를 포함한다.In the load balancing method of a multi-agent system according to another aspect of the present invention, an agent platform unit registers an agent generated to work according to a user's request and manages an operation state, and a monitor agent unit performs an average RTT of each node. Determining load balancing based on the value and the RTT value of each agent, sorting the RTT values of each node in ascending order, and migrating one agent of the first node to the last node, at each node. Calculating a weight based on the number of agents in an active state, allocating resources to each agent based on the amount of resources allocated to the node and the weight, and based on the weight of each agent and a weighted average of the nodes Determining load balancing, the weights, and each resource according to the amount of resources of the node. Allocating resources to the agent.

상기 멀티 에이전트 시스템의 부하 분산 방법은, 상기 모니터 에이전트부가 적어도 하나의 에이전트의 동작 상태가 천이되거나, 노드상에 에이전트가 생성/종료되면, 상기 가중치를 재산출하는 단계와, 상기 각 노드의 가중치 평균이 전체 노드의 가중치 평균과 동일해 질때까지 상기 가중치 평균이 낮은 상기 노드의 에이전트를 반복 이주시키는 단계를 더 포함한다.In the load balancing method of the multi-agent system, the monitor agent unit recalculates the weights when an operation state of at least one agent transitions or an agent is generated / terminated on a node, and the weighted average of each node. And repeatedly migrating agents of the node whose weight average is low until it is equal to the weight average of all the nodes.

상술한 바와 같은 본 발명에 따르면, 다수개의 에이전트가 존재하는 멀티 에이전트 시스템에서 능동적이면서 효율적으로 한정된 자원을 할당할 수 있으며, 에이전트의 동작 상태를 기반으로 에이전트를 이주시켜 효과적으로 자원을 할당하여 시스템의 성능을 향상시킬 수 있다.According to the present invention as described above, in a multi-agent system in which a plurality of agents exist, it is possible to allocate active resources efficiently and efficiently. Can improve.

따라서, 에이전트간 교환되는 메시지의 평균 RTT(Round Trip Time)는 에이전트의 상태에 따라 다양하며, 에이전트의 상태 변화율이 상대적으로 높을 때 평균 RTT는 높아지나, 본 발명에 따르면, 모니터 에이전트부를 통해 산출된 가중치를 기반으로 에이전트에 CPU 자원을 할당하여, 에이전트의 상태를 주기적으로 변경하고 메시지를 전송할 때, 시스템의 성능이 향상됨을 알 수 있다.Therefore, the average round trip time (RTT) of messages exchanged between agents varies according to the state of the agent, and when the state change rate of the agent is relatively high, the average RTT increases, but according to the present invention, it is calculated through the monitor agent unit. By allocating CPU resources to agents based on weights, we can see that the performance of the system improves when the agent periodically changes its status and sends messages.

이하 본 발명의 바람직한 실시예에 따른 멀티 에이전트 시스템의 부하 분산 방법 및 그 장치를 첨부 도면을 참조하여 상세 설명하며, 본 발명의 주된 기술 요지를 흐리거나, 주지된 기술 내용에 대한 상세 설명은 생략한다.DETAILED DESCRIPTION Hereinafter, a load balancing method and apparatus thereof of a multi-agent system according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. .

도 3은 본 발명에 따른 멀티 에이전트 시스템을 설명하기 위한 도면이다.3 is a diagram illustrating a multi-agent system according to the present invention.

도 3을 참조하면, 다수의 노드에서 동작하는 에이전트(A)와, 에이전트 플랫폼부과, 에이전트(A)의 동작 상태를 기반으로 각 에이전트(A)의 가중치를 산출하여 자원 할당을 요청하는 모니터 에이전트부(MAg)를 포함한다.Referring to FIG. 3, a monitor agent unit for requesting resource allocation by calculating a weight of each agent A based on an agent A operating in a plurality of nodes, an agent platform unit, and an operating state of the agent A (MAg).

에이전트(A)는 사용자의 요구에 따라 생성되어 요청되는 작업을 처리하여 서비스를 제공하고, 에이전트 플랫폼부은 에이전트(A)의 등록, 메시지 교환 및 동작 상태 관리 등을 처리한다.The agent A processes a job generated and requested according to a user's request to provide a service, and the agent platform unit handles registration of the agent A, message exchange, and operation state management.

모니터 에이전트부(MAg)는 에이전트 플랫폼부을 통해 파악되는 각 노드별 에이전트(A)의 동작 상태에 따라 가중치를 산출한 이후에 가중치를 기반으로 자원 할당을 요청한다.The monitor agent MAg requests resource allocation based on the weight after calculating the weight according to the operation state of the agent A for each node identified through the agent platform.

도 4는 에이전트의 동작 상태를 설명하기 위한 도면이다.4 is a diagram for explaining an operation state of an agent.

도 4를 참조하면, 에이전트(A)의 동작 상태, 즉 라이프 사이클은 크게 개시(initiated), 활성화(active), 일시 중지(suspended), 대기(waiting), 통과(transit)로 구분할 수 있다.Referring to FIG. 4, the operating state of the agent A, that is, the life cycle, may be largely classified into initiated, active, suspended, waiting, and transit.

즉, 에이전트(A)가 생성(create)되어 개시 상태에서 요청(invoke)에 의해 활성화된 이후에 사용자의 요청에 의한 작업 동작을 시작하게 되어 작업 동작에 의해 동작 상태가 천이되게 된다.That is, after the agent A is created and activated by an invoke in the initiation state, the operation A is started by the user's request, and the operation state is changed by the operation.

에이전트(A)의 동작 상태가 천이되는 기술 내용은 주지된 내용이므로 상세한 설명은 생략한다.Since the technical contents to which the operation state of the agent A changes are well known contents, detailed description thereof will be omitted.

모니터 에이전트부(MAg)는 에이전트 플랫폼부을 통해 교환되는 각 에이전트(A)의 메시지 부하를 측정한다. The monitor agent unit MAg measures the message load of each agent A exchanged through the agent platform unit.

그리고, 모니터 에이전트부(MAg)는 에이전트 플랫폼부을 통해 각 에이전트(A)에 효율적인 자원이 할당되도록 하기 위해 각 에이전트(A)의 동작 상태를 기반으로 가중치를 산출한다.In addition, the monitor agent MAg calculates a weight based on the operation state of each agent A so that an efficient resource is allocated to each agent A through the agent platform unit.

이때, 모니터 에이전트부(MAg)는 각 에이전트(A)의 동작 상태를 기반으로 효율적으로 가중치를 산출하기 위해 에이전트 플랫폼부이 관리하는 5가지의 동작 상태가 아닌 에이전트(A)가 활성화 상태 또는 비활성화 상태인지 여부를 기반으로 가중치를 산출한다. In this case, the monitor agent MAg may determine whether the agent A is in an activated state or inactivated state rather than five operating states managed by the agent platform unit in order to efficiently calculate a weight based on the operating state of each agent A. FIG. The weight is calculated based on whether or not.

그리고, 모니터 에이전트부(MAg)는 가중치를 기반으로 해당 에이전트(A)가 요구하는 자원양(즉, CPU 자원양)을 결정하고, 멀티 에이전트 시스템은 모니터 에이전트부(MAg)에서 결정하는 자원양을 해당 에이전트(A)에 할당한다.The monitor agent MAg determines the amount of resources (ie, CPU resource amount) required by the agent A based on the weight, and the multi-agent system determines the amount of resources determined by the monitor agent MAg. Assign to the agent (A).

즉, 멀티 에이전트 시스템은 모니터 에이전트부(MAg)가 산출하는 각 에이전트(A)의 가중치를 기반으로 산출되는 자원양을 통해 자원의 효율적인 할당을 위한 에이전트(A)를 이주시킴에 의해 자원의 부하 분산이 이루어지도록 한다.That is, the multi-agent system load balances resources by migrating the agent A for efficient allocation of resources through the amount of resources calculated based on the weight of each agent A calculated by the monitor agent unit MAg. Let this be done.

먼저, 모니터 에이전트부(MAg)는 각 에이전트(A)에 할당되는 자원에 따른 부하를 측정한다.First, the monitor agent unit MAg measures the load according to the resources allocated to each agent A. FIG.

그리고, 모니터 에이전트부(MAg)는 각 에이전트(A)의 부하량에 의해 결정되는 RTT(Round Trip Time)와, 에이전트(A)의 가중치를 기반으로 결정되는 에이전트 이주를 통해 부하가 분산되도록 한다.The monitor agent MAg distributes the load through an agent migration determined based on a round trip time (RTT) determined by the load of each agent A and a weight of the agent A.

이때, 모니터 에이전트부(MAg)가 측정하는 각 에이전트(A)의 가중치는 특정 노드에서 실행중인 에이전트(A)의 수에 따라 결정된다.At this time, the weight of each agent A measured by the monitor agent unit MAg is determined according to the number of agents A running in a specific node.

도 3을 참조하면, 자원(Pk)이 할당되는 노드(Nodek)에 존재하는 에이전트(A)(Agik)의 부하를 모니터 에이전트부(MAg)가 측정한다. 즉, 모니터 에이전트부(MAg)는 과부하를 결정하는 RTT를 측정하고, 자원을 공평하게 할당하기 위한 가중치를 산출한다. 에이전트(A)의 동작 상태가 천이되거나, 노드상에 새로운 에이전트(A)가 생성/종료될 때 가중치가 재산출하여 자원을 재할당하게 된다.Referring to FIG. 3, the monitor agent unit MAg measures the load of the agent A (Agik) existing in the node Nodek to which the resource Pk is allocated. In other words, the monitor agent MAg measures the RTT for determining the overload and calculates a weight for equally allocating resources. When the operating state of the agent A transitions or when a new agent A is created / terminated on the node, the weight is recalculated to reallocate resources.

노드 상의 모든 에이전트(A)(Agik)와 모니터 에이전트부(MAg)는 에이전트 플랫폼부(예를 들어, AP)에 등록된다. 그리고, 노드(Nodek)의 자원량은 노드(Nodek)에서 단위 시간당 실행 가능한 명령어의 수를 나타낸다. All agent A (Agik) and monitor agent unit MAg on the node are registered with the agent platform unit (e.g., AP). The resource amount of the node Nodek represents the number of instructions that can be executed per unit time in the node.

모니터 에이전트부(MAg)는 확인(ACK) 메시지를 주기적으로 각 에이전트(A)로 송신한 이후에 수신되는 시간을 기반으로 RTT를 다음 수학식 1과 같이 측정한다. The monitor agent MAg measures the RTT as shown in Equation 1 based on the time received after periodically transmitting an acknowledgment (ACK) message to each agent (A).

Figure 112009067014999-pat00001
Figure 112009067014999-pat00001

여기서

Figure 112011028924786-pat00002
는 각 에이전트(A)의 RTT 값이고,
Figure 112011028924786-pat00003
는 모니터 에이전트부(MAg)가 각 에이전트(A)로 확인 메시지를 전송한 송신 시간 값이고,
Figure 112011028924786-pat00004
는 각 에이전트(A)로부터 메시지가 수신되는 수신 시간 값이다.here
Figure 112011028924786-pat00002
Is the RTT value of each agent (A),
Figure 112011028924786-pat00003
Is a transmission time value at which the monitor agent unit MAg transmits a confirmation message to each agent A,
Figure 112011028924786-pat00004
Is a reception time value at which a message is received from each agent (A).

그리고, 모니터 에이전트부(MAg)는 각 노드(Nodek)의 평균 RTT 값을 다음 수학식 2와 같이 산출한다.The monitor agent MAg calculates an average RTT value of each node Nodek as shown in Equation 2 below.

Figure 112009067014999-pat00005
Figure 112009067014999-pat00005

여기서

Figure 112009067014999-pat00006
는 노드의 평균 RTT 값이고,
Figure 112009067014999-pat00007
는 해당 노드의 각 에이전트(A)별 RTT 값이고, 'N'은 해당 노드의 에이전트(A) 개수이다.here
Figure 112009067014999-pat00006
Is the average RTT value of the node,
Figure 112009067014999-pat00007
Is the RTT value for each agent (A) of the node, and 'N' is the number of agents (A) of the node.

그리고, 모니터 에이전트부(MAg)는 각 노드(Nodek)의 평균 RTT 값과, 해당 에이전트(A)의 RTT 값의 비교한 결과, 즉

Figure 112011028924786-pat00008
와,
Figure 112011028924786-pat00009
를 비교한 이후에 부하 분산을 결정한다.The monitor agent MAg compares the average RTT value of each node with the RTT value of the corresponding agent A, that is,
Figure 112011028924786-pat00008
Wow,
Figure 112011028924786-pat00009
After comparing the load distributions are determined.

예를 들어, RTT 값이 큰 에이전트(A)를 평균 RTT 값이 상대적으로 작은 노드로 이주시킴으로써, 부하가 분산되도록 할 수 있다.For example, the load A may be distributed by migrating the agent A having a large RTT value to a node having a relatively small average RTT value.

한편, 모니터 에이전트부(MAg)는 각 노드에 포함되는 각 에이전트(A)의 동작 상태에 따라 가중치를 산출한다. On the other hand, the monitor agent MAg calculates a weight according to the operation state of each agent A included in each node.

이때, 모니터 에이전트부(MAg)는 각 에이전트(A)의 동작 상태를 활성화 상태 또는 비활성화 상태로 구분하여 가중치를 산출한다. 즉, 모니터 에이전트부(MAg)는 활성화 상태에 있는 에이전트(A)에만 가중치를 할당하는 것을 의미한다.At this time, the monitor agent MAg calculates the weight by dividing the operation state of each agent A into an activated state or an inactive state. In other words, the monitor agent MAg assigns a weight only to the agent A that is in an activated state.

모니터 에이전트부(MAg)는 다음 수학식 4와 같이 각 에이전트(A)의 가중치를 산출한다.The monitor agent MAg calculates the weight of each agent A as shown in Equation 4 below.

Figure 112009067014999-pat00010
Figure 112009067014999-pat00010

여기서

Figure 112009067014999-pat00011
는 에이전트(A)의 가중치이고,
Figure 112009067014999-pat00012
는 해당 노드에 활성화 상태인 에이전트(A)의 개수이다.here
Figure 112009067014999-pat00011
Is the weight of agent A,
Figure 112009067014999-pat00012
Is the number of agents A that are active in the node.

그리고, 모니터 에이전트부(MAg)는 에이전트(A)의 동작 상태가 천이되거나, 노드상에 에이전트(A)가 생성/종료되는 경우에는 가중치를 재산출한 이후에 재산출된 가중치에 따라 자원을 재할당한다.In addition, when the operation state of the agent A is changed or the agent A is generated / terminated on the node, the monitor agent unit MAg reallocates resources according to the recalculated weight after recalculating the weight. do.

이하 멀티 에이전트 시스템에서 모니터 에이전트부(MAg)가 가중치를 산출하고, 자원을 할당하는 과정을 예를 들어 설명한다.Hereinafter, a process in which the monitor agent MAg calculates a weight and allocates resources in a multi-agent system will be described.

도 5는 본 발명에 따른 자원 할당을 보다 구체적으로 설명하기 위한 도면이다.5 is a view for explaining the resource allocation according to the present invention in more detail.

도 5는 멀티 에이전트 시스템의 각 노드에 다수개의 에이전트(A)가 생성되어 활성화 상태의 에이전트(A)(도면상의 파란색)와, 비활성화 상태의 에이전트(A)(도면상의 흰색)가 공존하는 상황에서 에이전트(A)의 동작 상태가 변경되거나, 생성되는 경우를 예시한 것이다.FIG. 5 illustrates a situation where a plurality of agents A are generated in each node of a multi-agent system, in which an agent A (blue in the drawing) and an agent A (white in the drawing) in an active state coexist. For example, the operation state of the agent A is changed or generated.

제1 노드에는 3개의 에이전트(A)가 활성화 상태이고, 자원량은 0.6이고, 제2 노드에는 4개의 에이전트(A) 중 2개가 비활성화 상태이고, 2개가 활성화 상태이고, 자원량은 0.8이다.In the first node, three agents A are activated, the resource amount is 0.6, and in the second node, two of the four agents A are inactive, two are activated, and the resource amount is 0.8.

그리고, 제3 노드에는 1개의 활성화 상태인 에이전트(A)와, 1개의 비활성화 상태인 에이전트(A)가 존재하고, 자원량은 1.4이고, 제4 노드에는 2개의 활성화 상태인 에이전트(A)와, 1개의 비활성화 상태인 에이전트(A)가 존재하고, 자원량은 0.9이다.In the third node, there is one agent A in the activated state, the agent A in one inactive state, the resource amount is 1.4, the agent A in the two active states in the fourth node, There is one inactive agent A, and the resource amount is 0.9.

모니터 에이전트부(MAg)는 상기 수학식 4를 기반으로 각 에이전트(A)의 가중치를 산출하면, 다음 표 1과 같다.The monitor agent MAg calculates the weight of each agent A based on Equation 4, as shown in Table 1 below.

Figure 112009067014999-pat00013
Figure 112009067014999-pat00013

상기 표 1에서 설명되어지는 바와 같이, 본 발명에 따른 모니터 에이전트부(MAg)는 활성화 상태의 에이전트(A) 개수를 기반으로 해당 노드의 가중치를 산출하여, 각 에이전트(A)에 자원을 할당한다.As described in Table 1 above, the monitor agent MAg according to the present invention calculates a weight of a corresponding node based on the number of agents A in an active state, and allocates resources to each agent A. FIG. .

예를 들어, 제 3 노드에는 활성화 상태의 에이전트(A)가 1개이기 때문에 본 발명에 따른 모니터 에이전트부(MAg)는 가중치가 '1'이 되므로, 제3 노드의 자원량인 1.4가 활성화 상태의 에이전트(A)에 할당되나, 기존 방식, 예를 들어, 프로세서 공유 방식 알고리즘으로 에이전트(A)에 자원을 할당하는 경우에는 에이전트(A)의 동작 상태를 고려하지 않으므로 비활성화 상태의 에이전트(A)에도 자원을 할당함에 의해 활성화 상태의 에이전트(A)에 0.7의 자원이 할당된다.For example, since there is only one agent A in the third node, the monitor agent MAg according to the present invention has a weight of '1', so that 1.4, the resource amount of the third node, is in the active state. When the resource A is assigned to the agent A, but the resources are allocated to the agent A by an existing method, for example, a processor sharing method, the operating state of the agent A is not taken into account, so that the agent A also has an inactive state. By allocating resources, 0.7 resources are allocated to the agent A in the activated state.

따라서, 기존의 프로세서 공유 방식으로 에이전트(A)에 자원을 할당하는 경우보다 활성화 상태인 에이전트(A)는 보다 많은 자원을 할당받을 수 있으며, 노드 상에 비활성화 상태인 에이전트(A)의 개수가 증가할 수록 보다 효율적으로 활성화 상태의 에이전트(A)에 자원을 할당할 수 있다.Therefore, the agent A that is active may be allocated more resources than when the resource A is allocated to the agent A by the existing processor sharing method, and the number of the agent A that is inactive on the node increases. As a result, resources can be allocated to the agent A that is activated more efficiently.

한편, 도 5에 예시된 바와 같이, 에이전트(A)의 동작 상태가 천이되거나, 에이전트(A)가 생성/종료되는 경우에는 가중치를 재산출하여 각 에이전트(A)의 자원을 재할당한다.On the other hand, as illustrated in FIG. 5, when the operating state of the agent A changes or when the agent A is generated / terminated, the weight of the agent A is re-allocated to reallocate the resource of each agent A. FIG.

모니터 에이전트부(MAg)는 에이전트 플랫폼부에서 관리되는 에이전트(A)의 동작 상태 및 개수의 변화에 따라 실시간으로 가중치를 재산출하여 자원을 재할당한다.The monitor agent unit MAg re-allocates resources by recalculating weights in real time according to changes in the operation state and the number of agents A managed by the agent platform unit.

다음 표 2는 도 5에 예시된 바와 같이 모니터 에이전트부(MAg)가 실시간으로 가중치 및 자원을 재할당하는 것을 설명하기 위한 것이다.Table 2 below is for explaining that the monitor agent (MAg) reallocated weights and resources in real time as illustrated in FIG.

Figure 112009067014999-pat00014
Figure 112009067014999-pat00014

상기 표 2에서 설명되어지는 바와 같이, 에이전트(A)의 동작 상태가 천이되거나, 에이전트(A)가 생성/종료되는 경우에는 모니터 에이전트부(MAg)가 실시간으로 가중치를 재산출하여 각 에이전트(A)에 자원을 재할당한다.As described in Table 2, when the operating state of the agent A is changed or when the agent A is generated / terminated, the monitor agent unit MAg recalculates the weight in real time to each agent A. Reallocate resources.

즉, 모니터 에이전트부(MAg)가 에이전트(A)의 동작 상태의 천이 및 생성/종료가 발생하는 경우, 실시간으로 가중치를 재산출하여 자원을 재할당하므로, 자원 할당이 효율적으로 이루어짐을 알 수 있다.That is, when the transition and generation / end of the operation state of the agent A occurs and the monitor agent unit MAg re-allocates resources by recalculating weights in real time, it can be seen that resource allocation is efficiently performed. .

한편, 멀티 에이전트 시스템에서 특정 에이전트(A)에 메시지 과부하가 발생하거나, 활성화 상태의 에이전트(A)가 특정 노드에 집중되는 경우, 즉 과부하가 발생하는 경우에는 부하를 분산시켜야 한다.Meanwhile, in a multi-agent system, when a message overload occurs in a specific agent A or when the agent A in an active state is concentrated in a specific node, that is, when an overload occurs, the load should be distributed.

모니터 에이전트부(MAg)는 각 노드의 평균 RTT 값()과, 해당 노드의 각 에이전트(A)별 RTT 값()을 기반으로 부하 분산을 결정한다.The monitor agent MAg determines load balancing based on the average RTT value () of each node and the RTT value () for each agent (A) of the node.

모니터 에이전트부(MAg)는 다음 수학식 5와 같이 부하 분산을 결정한다.The monitor agent MAg determines load balancing as shown in Equation 5 below.

Figure 112009067014999-pat00015
Figure 112009067014999-pat00015

즉 모니터 에이전트부(MAg)는 에이전트(A)별 RTT 값이 노드의 평균 RTT 값보다 같거나 작아지는 경우, 즉, 에이전트(A)에 메시지 과부화가 발생하거나, 노드에 과부하가 발생하는 경우에 부하 분산을 결정한다.That is, the monitor agent MAg loads when the RTT value of each agent A is equal to or smaller than the average RTT value of the node, that is, when the message A is overloaded or the node is overloaded. Determine the variance.

이때, 모니터 에이전트부(MAg)는 노드의 RTT 값(Ck(t))을 오름차순으로 정렬하고, 정렬된 상태에서 첫 번째 노드의 하나의 에이전트(A)를 마지막 노드로 이주할 것을 명령한다. 즉, 모니터 에이전트부(MAg)는 평균 RTT 값이 작은 노드에 속하는 에이전트(A) 중 하나의 에이전트(A)를 평균 RTT 값이 큰 노드로 이주시켜 부하가 분산되도록 한다.At this time, the monitor agent unit MAg sorts the RTT values Ck (t) of the nodes in ascending order and instructs the migration of one agent A of the first node to the last node in the sorted state. That is, the monitor agent unit MAg migrates one agent A among the agents A belonging to a node having a small average RTT value to a node having a large average RTT value so that the load is distributed.

한편, 모니터 에이전트부(MAg)는 특정 노드에 활성화 상태의 에이전트(A)가 집중된 경우에는 해당 노드의 에이전트(A)에 할당된 가중치의 평균을 다음 수학식 6과 같이 산출한다.On the other hand, when the agent A in an active state is concentrated in a specific node, the monitor agent MAg calculates an average of weights assigned to the agent A of the corresponding node as shown in Equation 6 below.

Figure 112009067014999-pat00016
Figure 112009067014999-pat00016

여기서 'W'는 해당 노드에 속한 에이전트(A)의 가중치이고, 'Q'는 가중치의 평균이다.'W' is the weight of the agent (A) belonging to the node, 'Q' is the average of the weight.

그리고, 각 노드의 에이전트(A)에 할당되는 가중치는 상기 수학식 4와 같이 활성화 상태의 에이전트(A) 개수에 의해 산출되므로, 가중치(W)와 가중치의 평균(Q)은 동일한 값을 가진다.In addition, since the weight assigned to the agent A of each node is calculated by the number of agents A in the activated state as shown in Equation 4, the weight W and the average Q of the weights have the same value.

모니터 에이전트부(MAg)는 산출되는 가중치의 평균을 기반으로 해당 노드에 할당할 자원이 있는지 여부를 판단한다. 즉, 모니터 에이전트부(MAg)는 가중치의 평균을 오름차순으로 정렬한다.The monitor agent MAg determines whether there is a resource to be allocated to the node based on the average of the calculated weights. In other words, the monitor agent MAg sorts the average of the weights in ascending order.

모니터 에이전트부(MAg)는 에이전트(A)의 가중치가 크면, 해당 에이전트(A)가 속하는 노드상에 실행중인 활성화 상태의 에이전트(A)가 적은 것이므로, 해당 노드의 자원이 더 많은 에이전트(A)에게 할당할 수 있다고 판단한다.The monitor agent unit MAg has a large weight of the agent A, so that there are fewer active agents A running on the node to which the agent A belongs, so that the agent A has more resources in the node. I think it can be assigned to.

그리고, 모니터 에이전트부(MAg)는 한 노드의 가중치 평균이 전체 노드의 가중치 평균보다 작아지는 경우, 해당 노드의 에이전트(A)를 멀티 에이전트 시스템에서 가장 큰 가중치 평균을 가지는 노드로 이주시키며, 부하 분산 과정은 다음 수학식 6에 나타나는 바와 같이, 모든 노드의 가중치 평균이 동일(유사)해 질때까지 반복한다.When the weighted average of one node is smaller than the weighted average of all nodes, the monitor agent MAG migrates the agent A of the node to the node having the largest weighted average in the multi-agent system, and load balances them. The process is repeated until the weighted averages of all nodes are equal (similar), as shown in Equation 6 below.

Figure 112009067014999-pat00017
Figure 112009067014999-pat00017

다음 표 3a 및 표 3b는 부하 분산 과정을 설명하기 위한 것이다.Tables 3a and 3b below are for explaining the load balancing process.

Figure 112009067014999-pat00018
Figure 112009067014999-pat00018

Figure 112009067014999-pat00019
Figure 112009067014999-pat00019

표 3a는 모니터 에이전트부(MAg)가 각 노드의 가중치 평균을 정렬한 상태이고, 제1 노드의 가중치 평균이 모든 노드의 평균 가중치 평균보다 작으면, 제1 노드의 에이전트(A)를 다른 노드로 이주시키는 부하 분산을 결정하고, 가중치 평균이 큰 노드로 이주시킨다. 따라서, 표 3b와 같이, 제1 노드의 에이전트(A)가 제3 노드로 이주시켜 부하를 분산시키면, 모든 노드의 가중치가 동일해져 부하가 분산됨을 알 수 있다.Table 3a shows that when the monitor agent MAg sorts the weighted average of each node, and the weighted average of the first node is less than the averaged weighted average of all nodes, the agent A of the first node is transferred to another node. Determine the load balancing to migrate and migrate to the node with the large weighted average. Therefore, as shown in Table 3b, when the agent A of the first node migrates to the third node to distribute the load, it can be seen that the weights of all nodes are equal and the load is distributed.

도 6은 본 발명의 멀티 에이전트 시스템에서 에이전트 이주 과정을 간략히 설명하기 위한 도면이다.6 is a view for briefly explaining an agent migration process in a multi-agent system of the present invention.

도 6을 참조하여, 본 발명에 따른 멀티 에이전트 시스템은 에이전트 이주를 지원하기 위해 모바일 에이전트(A) 시스템과 결합하는 경우를 예시한 것으로, 멀티 에이전트 시스템내의 에이전트(A)는 한 노드에서 다른 노드로 이주할 수 있다.Referring to FIG. 6, the multi-agent system according to the present invention illustrates a case of combining with a mobile agent (A) system to support agent migration, and the agent (A) in the multi-agent system is transferred from one node to another node. You can migrate.

이때, 에이전트(A)가 이주할 목적지 노드는 하나 이상의 활성화 상태인 에이전트(A)를 포함하며, 멀티 에이전트 시스템은 부하 분산 또는 고장 감내 등을 목적으로 에이전트 이주를 실시한다. At this time, the destination node to which the agent A will migrate includes the agent A in one or more activated states, and the multi-agent system performs agent migration for the purpose of load balancing or fault tolerance.

노드를 이주해야 하는 이주 요청 에이전트(A)는 에이전트 플랫폼부, 즉, AMS 에이전트(A)에 요청 메시지를 전송하고, AMS 에이전트(A)는 이주 요청 에이전트(A)로 타임 스탬프 및 인증 메시지를 전송한다.The migration request agent (A), which needs to migrate the node, sends a request message to the agent platform unit, that is, the AMS agent (A), and the AMS agent (A) sends a time stamp and authentication message to the migration request agent (A). do.

이주 요청 에이전트(A)는 인증 메시지와 함께 목적지 노드의 동적 라이브러리 에이전트(A)에게 이주 요청 메시지를 전송한다. The migration request agent (A) sends a migration request message to the dynamic library agent (A) of the destination node with an authentication message.

동적 라이브러리 에이전트(A)는 인증 메시지에 대해 인증과 유효성을 확인한 이후에 에이전트(A) 코드를 수신한다.The dynamic library agent A receives the agent A code after verifying the authentication and validity of the authentication message.

이주 요청 에이전트(A)는 목적지 노드에 스스로 이동하거나 클론 에이전트(A)를 이동시키고, 이주된 에이전트(A)는 동적 라이브러리 에이전트(A)에 의해서 실행된다. 이때, 클론 에이전트(A)가 이동하는 경우에는 에이전트 플랫폼부에 등록한다. The migration request agent (A) moves itself to the destination node or moves the clone agent (A), and the migrated agent (A) is executed by the dynamic library agent (A). At this time, when the clone agent A moves, it registers with the agent platform.

도 7은 에이전트 플랫폼부의 구조를 설명하기 위한 도면이다.7 is a view for explaining the structure of the agent platform unit.

도 7에 에이전트 플랫폼부은 2008년 11월에 발행된 "Hierarchical P2P Networking Two-Level Compression Scheme for Multi-agent System Supporting Context-Aware Applications,", 2007년 11월에 발행된 "A New Agent Platform Architecture Supporting the Agent Group Paradigm for Multi-Agent Systems," 등과 같은 문헌에 상세 기술되어 있으므로, 상세 설명은 생략한다.In FIG. 7, the agent platform unit includes the "Hierarchical P2P Networking Two-Level Compression Scheme for Multi-agent System Supporting Context-Aware Applications," published in November 2008, and "A New Agent Platform Architecture Supporting the published in November 2007". Agent Group Paradigm for Multi-Agent Systems, "and the like, so detailed description thereof will be omitted.

에이전트 플랫폼부은 하나의 에이전트 플랫폼부 코어(agent platform core)와 메시지 전송 프로토콜(MTP)로 이루어진다.The agent platform unit consists of one agent platform core and a message transfer protocol (MTP).

에이전트 플랫폼부 코어는 메인 컨테이너, 에이전트(A) 컨테이너, 에이전트(A) 디스크립션 테이블로 이루어지고, 메시지 전송 프로토콜은 이벤트 기반 통신을 지원한다. The agent platform core consists of a main container, an agent (A) container, and an agent (A) description table. The message transfer protocol supports event-based communication.

에이전트 플랫폼부은 에이전트(A)의 참조 정보와 내부 에이전트(A)를 관리하기 위해 사용되는 기능들을 포함한다. The agent platform unit includes reference information of the agent A and functions used for managing the internal agent A. FIG.

그리고, 멀티 에이전트 시스템의 모든 ACL 메시지는 에이전트 플랫폼부을 통해 교환되고, ACL 메시지를 수신하는 에이전트 플랫폼부은 등록된 참조 정보를 이용하여 목적 에이전트(A)로 전송한다. AMS와 DF는 에이전트(A)로써 각각 에이전트 플랫폼부에 등록된다.Then, all ACL messages of the multi-agent system are exchanged through the agent platform unit, and the agent platform unit receiving the ACL message transmits to the destination agent A using the registered reference information. The AMS and the DF are registered with the agent platform as the agent A, respectively.

즉, 본 발명에 따른 에이전트 플랫폼부은 에이전트 플랫폼부 코어 모듈을 에이전트(A)로써 구현함으로써 더욱 높은 견고성과 확장성을 가지도록 구현한다.That is, the agent platform unit according to the present invention implements the agent platform unit core module as the agent (A) to have a higher robustness and expandability.

그리고, 에이전트 플랫폼부 코어는 통신을 위해 MTS 라이브러리를 사용하고 하나의 메인 컨테이너와 여러 개의 에이전트(A) 컨테이너들로 이루어진다. 에이전트(A) 컨테이너는 라이프 사이클 관리를 위한 상태 정보와 같은 에이전트(A)의 접속과 관리에 대한 정보를 가지는 에이전트(A) 디스크립션을 관리한다.The agent platform core uses an MTS library for communication and consists of one main container and several agent (A) containers. The agent A container manages an agent A description having information on connection and management of the agent A, such as state information for life cycle management.

도 8은 본 발명에 따른 멀티 에이전트 시스템의 구조를 설명하기 위한 도면이다.8 is a view for explaining the structure of a multi-agent system according to the present invention.

도 8을 참조하면, 본 발명에 따른 멀티 에이전트 시스템은 에이전트(A)의 생성과 동작에 대한 핵심 기능들을 동적 라이브러리로 제공한다. Referring to FIG. 8, the multi-agent system according to the present invention provides core functions for the creation and operation of the agent A as a dynamic library.

그리고, 에이전트(A)간 통신은 HTTP(hypertext transport protocol) 표준에 순응하는 MTP와 메시지의 무결성을 위한 ACL을 사용하여 상호 운용성이 보장한다.In addition, inter-agent A communication ensures interoperability using MTP compliant with HTTP (hypertext transport protocol) standard and ACL for integrity of message.

Agent Migration는 부하 분산 과정에서 AMS 에이전트(A)로 에이전트(A)의 이주를 요청하여 부하 분산 과정을 처리하고, Agent Life Cycle는 모니터 에이전트부(MAg)가 자원 할당량을 결정하는 가중치를 계산할 수 있도록 에이전트(A)의 동작 상태를 정의한다. Agent migration processes the load balancing process by requesting the migration of agent A to AMS agent A during load balancing process, and the Agent Life Cycle allows the monitor agent unit (MAg) to calculate the weight to determine resource allocation. Define the operating state of the agent (A).

Scheduler of Behaviors는 모니터 에이전트부(MAg)를 통해 계산된 가중치를 기반으로 에이전트(A)에 가중치에 따른 자원을 할당 요청한다.
본 발명의 멀티 에이전트 시스템은 AMS(Agent Management System) 에이전트로 에이전트 이주를 요청하여 부하 분산 과정을 처리하는 에이전트 이주(Agent Migration)부, 생성된 에이전트의 동작 상태를 정의하여 모니터 에이전트부가 가중치를 산출하도록 하는 에이전트 상태 주기(Agent Life Cycle) 정보부 및 상기 모니터 에이전트부에서 산출된 상기 가중치를 기반으로 각 에이전트에 자원 할당을 요청하는 에이전트 활동 스케쥴러를 포함한다.
The Scheduler of Behaviors requests to allocate the resource according to the weight to the agent A based on the weight calculated by the monitor agent MAg.
The multi-agent system of the present invention requests an agent migration to an agent management system (AMS) agent so as to calculate a weight by defining an agent migration unit for processing a load balancing process and an operation state of the generated agent. And an agent activity scheduler for requesting resource allocation to each agent based on the agent life cycle information unit and the weight calculated by the monitor agent unit.

기타 설명되지 않는 모듈에 대한 기술 내용은 주지된 기술 내용이므로 상세 설명은 생략한다.Descriptions of other unexplained modules are well known descriptions, and thus detailed descriptions thereof will be omitted.

도 9는 본 발명에 따른 멀티 에이전트 시스템의 부하 분산 방법을 설명하기 위한 플로챠트이다.9 is a flowchart illustrating a load balancing method of a multi-agent system according to the present invention.

도 9를 참조하면, 에이전트 플랫폼부은 호스트(예를 들어, 개인용 컴퓨터 등)에서 사용자의 요청에 따라 작업하기 위해 생성되는 에이전트(A)를 등록받아 동작 상태를 관리한다(S100).Referring to FIG. 9, the agent platform unit registers an agent A generated to work according to a user's request from a host (for example, a personal computer) and manages an operation state (S100).

즉, 에이전트 플랫폼부은 각 노드별 에이전트(A)의 생성/종료 및 동작 상태를 관리한다.In other words, the agent platform unit manages generation / end and operation states of the agent A for each node.

모니터 에이전트부(MAg)는 확인(ACK) 메시지를 주기적으로 각 에이전트(A)로 송신한 이후에 수신되는 시간을 기반으로 RTT를 산출하여, 각 노드의 평균 RTT 값과, 에이전트(A)별 RTT 값을 기반으로 부하 분산을 결정한다(S110).The monitor agent MAg calculates an RTT based on a time received after periodically sending an acknowledgment (ACK) message to each agent (A), thereby calculating an average RTT value of each node and an RTT for each agent (A). The load balancing is determined based on the value (S110).

모니터 에이전트부(MAg)는 각 노드에서 활성화 상태인 에이전트(A)의 개수를 기반으로 가중치를 산출한다(S120).The monitor agent MAg calculates a weight based on the number of agents A that are activated at each node (S120).

한편, 모니터 에이전트부(MAg)는 에이전트(A)의 동작 상태가 천이되거나, 노드상에 에이전트(A)가 생성/종료되는 경우에는 가중치를 재산출한다.On the other hand, the monitor agent unit MAg recalculates the weight when the operating state of the agent A changes or when the agent A is generated / terminated on the node.

모니터 에이전트부(MAg)는 노드에 할당되는 자원량과 가중치를 기반으로 각 에이전트(A)에 자원을 할당한다(S130).The monitor agent unit MAg allocates a resource to each agent A based on the resource amount and the weight allocated to the node (S130).

모니터 에이전트부(MAg)는 각 노드의 평균 RTT 값과, 해당 노드의 각 에이전트(A)별 RTT 값을 기반으로 부하 분산을 결정한다.The monitor agent MAg determines load balancing based on the average RTT value of each node and the RTT value of each agent A of the node.

즉 모니터 에이전트부(MAg)는 에이전트(A)별 RTT 값이 노드의 평균 RTT 값보다 같거나 작아지는 경우, 즉, 에이전트(A)에 메시지 과부화가 발생하거나, 노드에 과부하가 발생하는 경우에 부하 분산을 결정한다.That is, the monitor agent MAg loads when the RTT value of each agent A is equal to or smaller than the average RTT value of the node, that is, when the message A is overloaded or the node is overloaded. Determine the variance.

이때, 모니터 에이전트부(MAg)는 노드의 RTT 값(Ck(t))을 오름차순으로 정렬하고, 정렬된 상태에서 첫 번째 노드의 하나의 에이전트(A)를 마지막 노드로 이주할 것을 명령한다. 즉, 모니터 에이전트부(MAg)는 평균 RTT 값이 작은 노드에 속하는 에이전트(A) 중 하나의 에이전트(A)를 평균 RTT 값이 큰 노드로 이주시켜 부하가 분산되도록 한다.At this time, the monitor agent unit MAg sorts the RTT values Ck (t) of the nodes in ascending order and instructs the migration of one agent A of the first node to the last node in the sorted state. That is, the monitor agent unit MAg migrates one agent A among the agents A belonging to a node having a small average RTT value to a node having a large average RTT value so that the load is distributed.

그리고, 노드의 에이전트(A)별 가중치와 해당 노드의 가중치 평균을 기반으로 부하 분산을 결정한다(S140).Then, the load balancing is determined based on the weight of the agent A of the node and the weighted average of the corresponding node (S140).

모니터 에이전트부(MAg)는 전체 노드의 가중치의 평균을 오름차순으로 정렬하고, 한 노드의 가중치 평균이 전체 노드의 가중치 평균보다 작아지는 경우, 해당 노드의 에이전트(A)를 멀티 에이전트 시스템에서 가장 큰 가중치 평균을 가지는 노드로 이주이킨다(S150).The monitor agent MAg sorts the average of the weights of all the nodes in ascending order, and when the weighted average of one node is smaller than the weighted average of all the nodes, the agent A of the node has the largest weight in the multi-agent system. Migration to a node having an average (S150).

도 10 및 도 11은 본 발명에 따른 멀티 에이전트 시스템에서 발생하는 메시지 전송 상태를 측정한 결과 그래프이다.10 and 11 are graphs of the result of measuring a message transmission state occurring in the multi-agent system according to the present invention.

도 10 및 도 11의 측정 결과는 본 발명(propose scheme)과 기존 방식(process sharing)이 적용된 멀티 에이전트 시스템의 평균 RTT를 도시한 것으로, 에이전트 플랫폼부과 송/수신 에이전트(A)가 설치된 2.4GHz 펜티엄 프로세서, 2기가 메모리, 10/100Mbps 의 사양을 가지는 10대의 개인용 컴퓨터로 실시하고, 분산된 에이전트(A)들은 주기적으로 상태가 변하는 동안 100Kb(도 10)와 500Kb(도 11)의 메시지를 송/수신한다.10 and 11 show the average RTT of the multi-agent system to which the present invention (propose scheme) and the existing process (process sharing) are applied, and a 2.4 GHz Pentium in which an agent platform unit and a transmit / receive agent A are installed. Processors, 2 gigabytes of memory, 10 personal computers with 10 / 100Mbps specifications, distributed agents (A) send and receive messages of 100Kb (Figure 10) and 500Kb (Figure 11) periodically during state changes. Receive.

그리고, 에이전트(A)가 30초 또는 60초마다 상태 변화를 일으키도록 분당 상태 변화율(s)을 설정하였다.Then, the state change rate s per minute was set such that the agent A caused a state change every 30 seconds or 60 seconds.

도 10 및 도 11에 나타나는 바와 같이, 메시지 전송 주기가 상대적으로 빠를 때, 본 발명에 따른 평균 RTT가 기존 기법보다 작은 것을 확인할 수 있으며, 본 발명에 따른 멀티 에이전트 시스템이 상대적으로 높은 작업 부하를 가지는 멀티 에이전트 시스템에서 기존의 기법보다 유용하다는 것을 의미한다.10 and 11, when the message transmission cycle is relatively fast, it can be seen that the average RTT according to the present invention is smaller than the conventional scheme, and the multi-agent system according to the present invention has a relatively high workload. This means that it is more useful than the existing technique in the multi-agent system.

도 10의 (b)와 도 11의 (b)는 에이전트(A) 상태 변화율이 (a)보다 높은 경우이며, 본 발명에 따르면, 높은 변화율을 가질 때 낮은 변화율과 비교하여 상당한 성능 향상을 이루어지므로, 에이전트(A)의 상태 변화율이 높을수록 더욱 효과적임을 알 수 있다.10 (b) and 11 (b) are cases where the agent (A) state change rate is higher than (a), and according to the present invention, when the change rate is high, a significant performance improvement is achieved in comparison with the low change rate. The higher the rate of change of the state of the agent A, the more effective it is.

이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the described embodiments, it will be apparent to those skilled in the art that various modifications and changes are possible within the technical spirit of the present invention, and such modifications and modifications belong to the appended claims.

도 1은 FIPA에서 제안하는 에어전트 플랫폼의 표준 모델을 설명하기 위한 도면.1 is a view for explaining a standard model of the Airgent platform proposed by FIPA.

도 2는 멀티 에이전트 시스템을 설명하기 위한 도면.2 is a diagram for explaining a multi-agent system.

도 3은 본 발명에 따른 멀티 에이전트 시스템을 설명하기 위한 도면.3 is a view for explaining a multi-agent system according to the present invention.

도 4는 에이전트의 동작 상태를 설명하기 위한 도면.4 is a diagram for explaining an operation state of an agent.

도 5는 본 발명에 따른 자원 할당을 보다 구체적으로 설명하기 위한 도면.5 is a diagram for explaining resource allocation according to the present invention in more detail.

도 6은 본 발명의 멀티 에이전트 시스템에서 에이전트 이주 과정을 간략히 설명하기 위한 도면.6 is a view for briefly explaining an agent migration process in a multi-agent system of the present invention.

도 7은 에이전트 플랫폼부의 구조를 설명하기 위한 도면.7 is a view for explaining the structure of the agent platform unit.

도 8은 본 발명에 따른 멀티 에이전트 시스템의 구조를 설명하기 위한 도면.8 is a view for explaining the structure of a multi-agent system according to the present invention.

도 9는 본 발명에 따른 멀티 에이전트 시스템의 부하 분산 방법을 설명하기 위한 플로챠트.9 is a flowchart illustrating a load balancing method of a multi-agent system according to the present invention.

도 10 및 도 11은 본 발명에 따른 멀티 에이전트 시스템에서 발생하는 메시지 전송 상태를 측정한 결과 그래프.10 and 11 are graphs of the result of measuring a message transmission state occurring in the multi-agent system according to the present invention.

Claims (8)

멀티 에이전트 시스템에 있어서,In a multi-agent system, 다수의 노드 상에 생성되어 동작하는 각 에이전트를 등록하여, 동작 상태를 관리하는 에이전트 플랫폼부 및Agent platform unit for managing the operation state by registering each agent created and operated on a plurality of nodes and 상기 에이전트 플랫폼부을 통해 파악되는 상기 각 에이전트의 동작 상태에 따라 가중치를 산출하여 상기 각 에이전트에 상기 가중치에 따른 자원을 할당하는 모니터 에이전트부를 포함하고,And a monitor agent unit for calculating a weight according to an operation state of each agent identified through the agent platform unit and allocating a resource according to the weight to each agent. 상기 에이전트는 호스트에서 생성되어 동작 상태에 따라 사용자의 요청 작업을 처리하는 적어도 하나 이상인 것을 특징으로 하되,The agent may be at least one or more generated by the host to process the user's request operation according to the operation state, 상기 모니터 에이전트부는,The monitor agent unit, 상기 각 노드 상의 에이전트 중 활성화 상태의 에이전트 개수를 기반으로 상기 가중치를 산출하는 것을 특징으로 하는 멀티 에이전트 시스템.And calculating the weight based on the number of agents in an activated state among the agents on each node. 삭제delete 제1항에 있어서, The method of claim 1, 상기 모니터 에이전트부는,The monitor agent unit, 상기 각 에이전트별 RTT(Round Trip Time) 값이 노드의 평균 RTT 값보다 같거나 작아지면, 평균 RTT 값이 작은 노드에 속하는 상기 에이전트 중 하나의 에이전트를 평균 RTT 값이 큰 노드로 이주시켜 부하 분산하는 것을 특징으로 하는 멀티 에이전트 시스템.When the round trip time (RTT) value of each agent is equal to or smaller than the average RTT value of the node, the load balancing is performed by migrating one agent among the agents belonging to the node having the smallest average RTT value to a node having an average RTT value. Multi-agent system, characterized in that. 제1항에 있어서, The method of claim 1, 상기 모니터 에이전트부는,The monitor agent unit, 상기 각 노드의 가중치 평균이 전체 노드의 가중치 평균과 동일해 질때까지 가중치 평균이 낮은 상기 노드의 에이전트를 반복 이주시키는 것을 특징으로 하는 멀티 에이전트 시스템.And repeatedly migrating the agent of the node having a low weighted average until the weighted average of each node is equal to the weighted average of all nodes. 멀티 에이전트 시스템에 있어서, In a multi-agent system, AMS(Agent Management System) 에이전트로 에이전트 이주를 요청하여 부하 분산 과정을 처리하는 에이전트 이주(Agent Migration)부; An agent migration unit for requesting agent migration to an agent management system (AMS) agent to handle a load balancing process; 생성된 에이전트의 동작 상태를 정의하여 모니터 에이전트부가 가중치를 산출하도록 하는 에이전트 상태 주기(Agent Life Cycle) 정보부; 및An agent life cycle information unit which defines an operating state of the generated agent and allows the monitor agent unit to calculate a weight; And 상기 모니터 에이전트부에서 산출된 상기 가중치를 기반으로 각 에이전트에 자원 할당을 요청하는 에이전트 활동 스케쥴러를 포함하는 멀티 에이전트 시스템.And an agent activity scheduler for requesting resource allocation to each agent based on the weight calculated by the monitor agent unit. 멀티 에이전트 시스템의 부하 분산 방법에 있어서,In the load balancing method of a multi-agent system, 에이전트 플랫폼부이 사용자의 요청에 따라 작업하기 위해 생성되는 에이전트를 등록받아 동작 상태를 관리하는 단계; Registering, by the agent platform unit, an agent generated to work according to a user's request, and managing an operation state; 모니터 에이전트부가 상기 에이전트가 동작하는 각 노드의 평균 RTT 값과, 상기 에이전트별 RTT 값을 기반으로 부하 분산을 결정하는 단계;Determining, by the monitor agent, load balancing based on an average RTT value of each node in which the agent operates and an RTT value for each agent; 모니터 에이전트부가 에이전트의 상기 동작 상태가 활성화 상태인 에이전트의 개수를 기반으로 가중치를 산출하는 단계;Calculating, by the monitor agent unit, a weight based on the number of agents in which the operating state of the agent is activated; 모니터 에이전트부가 상기 가중치 및 각 에이전트가 동작하는 노드의 자원량에 따라 각 에이전트에 자원을 할당하는 단계The monitor agent allocating resources to each agent according to the weight and the amount of resources of the node where each agent operates; 모니터 에이전트부가 상기 에이전트별 가중치와 해당 노드의 가중치 평균을 기반으로 부하 분산을 결정하는 단계를 포함하는 멀티 에이전트 시스템의 부하 분산 방법. And a monitor agent determining load balancing based on the weight of each agent and the weighted average of the corresponding nodes. 제6항에 있어서, The method of claim 6, 상기 가중치를 산출하는 단계는 적어도 하나의 에이전트의 동작 상태가 천이되거나, 노드상에 에이전트가 생성 또는 종료되면, 상기 가중치를 재산출하는 것을 특징으로 하는 멀티 에이전트 시스템의 부하 분산 방법.The calculating of the weights may include recalculating the weights when an operation state of at least one agent is transitioned or when an agent is generated or terminated on a node. 삭제delete
KR1020090104569A 2009-10-30 2009-10-30 Apparatus and method of load dispersion in multi-agent system KR101081932B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090104569A KR101081932B1 (en) 2009-10-30 2009-10-30 Apparatus and method of load dispersion in multi-agent system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090104569A KR101081932B1 (en) 2009-10-30 2009-10-30 Apparatus and method of load dispersion in multi-agent system

Publications (2)

Publication Number Publication Date
KR20110047799A KR20110047799A (en) 2011-05-09
KR101081932B1 true KR101081932B1 (en) 2011-11-09

Family

ID=44239034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090104569A KR101081932B1 (en) 2009-10-30 2009-10-30 Apparatus and method of load dispersion in multi-agent system

Country Status (1)

Country Link
KR (1) KR101081932B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101945390B1 (en) * 2015-10-08 2019-02-07 (주)와치텍 System distributed architecture of Active-Active-Active method for efficient data collection and management
KR102285963B1 (en) * 2019-12-30 2021-08-05 한양대학교 에리카산학협력단 Method for scheduling a task using multi-node and apparatus thereof
CN114706359B (en) * 2022-06-06 2022-08-26 齐鲁工业大学 Agricultural multi-agent system consistency distributed control method based on sampling data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국정보과학회 1998년도 봄 학술발표논문집 제25권 제1호(B), 안세용외 4인공저 멀티 에이전트 기반의 워크플로우 시스템의 설계 및 구현 pp.488-490(1998.4)*

Also Published As

Publication number Publication date
KR20110047799A (en) 2011-05-09

Similar Documents

Publication Publication Date Title
Karthiban et al. An efficient green computing fair resource allocation in cloud computing using modified deep reinforcement learning algorithm
Singh et al. Scheduling real-time security aware tasks in fog networks
Hoseiny et al. Joint QoS-aware and cost-efficient task scheduling for fog-cloud resources in a volunteer computing system
Wadhwa et al. TRAM: Technique for resource allocation and management in fog computing environment
Aljanabi et al. Improving IoT services using a hybrid fog-cloud offloading
Boukerche et al. A task-centric mobile cloud-based system to enable energy-aware efficient offloading
Metawei et al. Load balancing in distributed multi-agent computing systems
Bessis et al. Using a novel message-exchanging optimization (MEO) model to reduce energy consumption in distributed systems
Khalifa¹ et al. Collaborative autonomic resource management system for mobile cloud computing
Ali et al. Resource management techniques for cloud-based IoT environment
Fizza et al. PASHE: Privacy aware scheduling in a heterogeneous fog environment
WO2012077390A1 (en) Network system, and method for controlling quality of service thereof
KR101081932B1 (en) Apparatus and method of load dispersion in multi-agent system
Zhang et al. Ents: An edge-native task scheduling system for collaborative edge computing
Al-hammadi et al. Collaborative computation offloading for scheduling emergency tasks in SDN-based mobile edge computing networks
Reddy et al. An osmotic approach-based dynamic deadline-aware task offloading in edge–fog–cloud computing environment
Reffad et al. A Dynamic Adaptive Bio-Inspired Multi-Agent System for Healthcare Task Deployment
Mokni et al. Mas-based approach for scheduling intensive workflows in cloud computing
KR101079477B1 (en) Load Balancing Scheme Reflecting the Workload of Agent
Wen et al. Load balancing consideration of both transmission and process responding time for multi-task assignment
Vaithiya et al. Scheduling tasks in mobile grid environment using mobility based resource prediction
Alghamdi et al. Fog Network Area Management Model for Managing Fog-cloud Resources in IoT Environment
Puliafito et al. Balancing local vs. remote state allocation for micro-services in the cloud–edge continuum
Fadlallah et al. Towards mobile collaborative autonomous networks using peer-to-peer communication
Alipour et al. Two level fuzzy approach for dynamic load balancing in the cloud computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee