KR101137570B1 - 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치 - Google Patents

멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치 Download PDF

Info

Publication number
KR101137570B1
KR101137570B1 KR1020090120669A KR20090120669A KR101137570B1 KR 101137570 B1 KR101137570 B1 KR 101137570B1 KR 1020090120669 A KR1020090120669 A KR 1020090120669A KR 20090120669 A KR20090120669 A KR 20090120669A KR 101137570 B1 KR101137570 B1 KR 101137570B1
Authority
KR
South Korea
Prior art keywords
agent
message
community
priority
agents
Prior art date
Application number
KR1020090120669A
Other languages
English (en)
Other versions
KR20110064179A (ko
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 KR1020090120669A priority Critical patent/KR101137570B1/ko
Publication of KR20110064179A publication Critical patent/KR20110064179A/ko
Application granted granted Critical
Publication of KR101137570B1 publication Critical patent/KR101137570B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치에 관한 것으로, 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 결정하는 단계, 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 결정하는 단계, 결정된 에이전트 간 메시지 전송 수와 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 고려하여 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 단계 및 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 고려하여 에이전트의 메시지 전송 우선 순위를 결정하는 단계를 포함하는 우선순위 기반 메시지 스케줄링 방법 및 그 장치를 제공한다.
우선순위, 스케줄링, 멀티 에이전트

Description

멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치{Apparatus and Method for Priority Based Message Scheduling for Multi Agent System}
본 발명은 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치에 관한 것이다.
다양한 어플리케이션을 지원하는 유비쿼터스 컴퓨팅 시스템은 분산된 에이전트를 통해 효과적으로 실행될 수 있으며, 이는 사용자를 위해 자발적으로 작업을 수행한다. 에이전트는 커뮤니티를 조직하며 개개인의 사용자 문맥에 맞게 만들어지고 정보 처리 기능을 가진 서비스를 제공하기 위해 서로 협업한다.
일반적으로, 에이전트 시스템은 모바일 에이전트 시스템과 멀티 에이전트 시스템으로 구분된다. 전형적인 유비쿼터스 컴퓨팅 환경은 멀티 에이전트 시스템이나 그 두 유형의 에이전트 시스템을 결합하는 하이브리드 시스템에 기반할 것이다. 멀티 에이전트 시스템에서 다른 에이전트가 서비스 목적을 달성하기 위해 공존하는데 그 서비스 목적은 그들이 제공하는 기능에 따라 센싱 에이전트, 추론 에이전트, 서비스 제공 에이전트 그리고 중재 에이전트로 분류될 수 있다.
에이전트는 위치, 감정 등과 같이 사용자 컨텍스트를 효율적으로 적응하기 위해 에이전트의 커뮤니티를 다이나믹하게 조직하거나 해체함으로써 서로 협업한다. 커뮤니티란 공통의 목표를 위해 함께 작업하기로 한 다수의 협업 에이전트로 구성된 에이전트 그룹이다.
멀티 에이전트 시스템에는 다양한 커뮤니티 조직 모델이 존재한다. 에이전트 시스템의 의해 차용된 커뮤니티 조직 모델은 시스템의 성능 상에 중대하고 정량적으로 예측 가능한 영향을 줄 수 있다. 이로 인해 최근에는 많은 연구들이 커뮤니티 조직의 방법론에 초점을 맞춘다. 하지만, 그 연구들은 에이전트의 역할을 아직 절절히 고려하고 있지는 못하다. 에이전트 커뮤니티에서 각각의 에이전트는 자신의 역할에 따라 다른 중요도 수준을 가정한다. 사용자들을 위한 모든 컨텍스트와 서비스가 항상 높은 중요도를 필요로 하는 것은 아니다.
최근의 연구들은 컨텍스트와 주위 환경에 관련된 에이전트의 중요도와 필요성 대신 커뮤니티 조직의 방법에 초점을 맞춘다. 메시지를 스케줄링할 때, 에이전트 시스템이 특정 컨텍스트 내에서 에이전트의 역할을 고려하지 않고 모든 에이전트에게 동일한 우선순위를 할당한다면, 에이전트 시스템의 성능은 극대화되지 않을 것이다. 사용자들에게 서비스를 제공하는 것 또한 중요한 역할의 에이전트가 기다리고 있는 메시지의 잠복으로 인해 지연될 것이다. 일부 연구들은 에이전트 사이에서 교환되는 ACL(Agent Communication Language) 메시지에 사용된 일련의 통신 행 위 및 행동 라벨을 고려한다. 하지만 이러한 접근 방법은 모든 에이전트에게 작용하는데 있어 효율적이지 않다는 문제점이 있다.
메시지들은 메시지의 길이, 그 시스템 내에 있었던 시간의 양 그리고 메시지에 제공된 서비스의 양 등과 같은 조건에 근거하여 일정이 스케줄링될 수 있다. 그러므로 스케줄링 기법의 성능은 다수의 조건에 대해 측정될 수 있다.
간단하고 직관적인 스케줄링 기법으로 FCFS 계획이 있다. 대다수의 에이전트 플랫폼이 이 계획을 차용한다. FCFS를 통해 메시지는 도착 시간을 기준으로 분류되며 도착 순서대로 수행된다. FCFS는 긴 메시지 뒤에 기다리는 짧은 메시지에 대하여 불공평함이라는 단점을 가진다.
라운드 로빈(round-robin) 기법을 통해 메시지는 작은 셀(cell)들로 분류되며 메시지들 사이에서 교대로 라운드 로빈 방식을 통해 한 개의 셀(cell)을 수행하게 된다. 본래 라운드 로빈 기법은 우선적이지만 여러 사전 정의된 우선순위에 기반하지는 않는다. 그것은 FCFS의 단점을 극복하는데 짧은 메시지들이 완료되어야 하는 긴 메시지의 전송을 기다려야 하지는 않을 것이기 때문이다. 하지만, 이 기법은 시스템 내에 다수의 메시지가 있을 때 불필요하게 큰 지연이 발생하는 단점이 있다.
버킷(Bucket) 스케줄링은 순수한 라운드 로빈이 다수의 파일에 사용될 때 일어나는 문제를 개선하고자 하는 라운드 로빈의 다른 형태이다. 버킷 스케줄링에서 메시지들은 크기에 기반한 버킷으로 분류되며 버킷은 라운드 로빈으로 수행된다. 메시지가 다시 셀(cell)로 나누어지게 되면 버킷은한 번에 다수의 셀들로서 수행된다. 버킷으로서 수행되는 셀의 수는 버킷들 사이에서 바뀔 수 있다. 각각의 버킷은 주어진 크기나 크기의 범위의 메시지들을 포함하며, 서버는 라운드 로빈 방식으로 각각의 버킷을 취급한다.
SMP(Shorter Message Preempt)란 더 짧은 메시지가 긴 메시지보다 우선한 우선순위를 받는 간단한 우선순위 계획이다. 본 계획은 모든 메시지는 셀로 나누어지며 모든 셀들은 셀이 속하는 본래의 메시지 길이인 우선순위 값으로 값이 매겨진다. 그러면 그 서버는 가장 작은 태그 값의 셀에 가장 높은 우선순위를 부여함으로써 한 번에 하나씩 셀을 취급한다. 실제로 이는 더 긴 메시지들보다 우선한 우선순위를 더 짧은 메시지에 주는 결과를 가져온다.
더 나은 성능을 나타내기 위해 SMP는 약간의 변화를 주는데 우선 가장 짧은 남은 처리 시간에 대한 메시지를 수행하는 것이다. 이러한 변화를 통해 더 짧은 메시지들이 메시지가 수행되고 있을 때 도착한다면 완료까지 소요되는 남은 시간의 양이 더 짧은 메시지보다 더 작은 경우 더 긴 메시지는 서비스를 계속 받게 된다.
다이나믹 스케줄링 기법은 시스템 내에서 얼마나 시간이 걸리고 있으며, 얼마나 많은 서비스를 받고 있는지를 바탕으로 메시지의 우선순위를 변경한다. 위에서 설명한 더 짧은 남은 처리 시간 계획은 다이나믹한 스케줄링 기법의 간단한 예이며 메시지 우선순위는 상승된다. “우선순위”기능은 메시지에 우선순위 값을 할당하는데 사용한다. 알고리즘의 각각의 반복에 있어서 스케줄러는 가장 높은 우선순위 메시지의 하나의 셀을 수행하며 모든 메시지의 우선순위를 다시 계산한다.
따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 에이전트 커뮤니티 속 에이전트 사이에서 전송된 메시지의 양을 주기적으로 검사하고 그에 따라 결정되는 에이전트의 중요도에 의해서 스케줄링이 이루어지는 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치의 제공을 그 목적으로 한다.
본 발명의 일 측면에 따른 우선순위 기반 메시지 스케줄링 방법은 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 결정하는 단계; 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 결정하는 단계; 상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 단계; 및 상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 단계를 포함한다.
상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 단계는, 아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 한다.
Figure 112009075479993-pat00001
(여기서, T 행렬은 에이전트 별 메시지 작업 처리량 행렬, I는 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 나타내는 행렬, M은 에이전트 간 메시지 전송 수를 나타내는 행렬)
상기 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 결정하는 단계는, 상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 한다.
다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 주기적으로 업데이트 하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 우선순위 기반 메시지 스케줄링 장치는 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 획득하는 제1 수단; 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 입력받는 제2 수단; 상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 제3 수단; 및 상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 제4 수단을 포함한다.
상기 제3 수단은, 아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 할 수 있다.
Figure 112009075479993-pat00002
(여기서, T 행렬은 에이전트 별 메시지 작업 처리량 행렬, I는 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 나타내는 행렬, M은 에이전트 간 메시지 전송 수를 나타내는 행렬)
상기 제1 수단은, 상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 할 수 있다.
상기 제1 수단은, 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 주기적으로 업데이트 하는 것을 특징으로 할 수 있다.
상기한 바와 같이 본 발명에 따른 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치에 따르면 에이전트 및 메시지 작업 처리량의 중요도를 기반으로 메시지의 우선순위를 적절하게 계획함으로써 사용자 선호도와 시스템 환경의 변화를 빨리 적응할 수 있다.
이하, 본 발명에 따른 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치에 대하여 첨부된 도면을 참조하여 상세히 설명한다.
모바일 환경에서 메시지 전송 시간이 극소화되지 않은 경우 심지어 빠른 추론 운영을 통해 사용자들에게 상황 인지 서비스를 빨리 제공할 수 없다. 멀티 에이전트 내의 에이전트는 에이전트 커뮤니티를 형성하며 맞춤형 지능 서비스를 사용자에게 제공하기 위해 서로 협업한다. 에이전트 커뮤니티는 다이나믹하게 생성되고 삭제되며, 각각의 서비스를 제공하는 다양한 에이전트 커뮤니티들이 있다. 에이전트 커뮤니티 내의 에이전트는 센싱 에이전트, 추론 에이전트, 서비스 제공 에이전트 그리고 중재 에이전트의 4가지 형태로 분류할 수 있다.
커뮤니티란 다수의 협업 에이전트로 구성된 에이전트 그룹을 말하며, 이는 공통의 목표를 달성하기 위해 함께 작업하는 것에 합의한다. 하나의 에이전트 커뮤니티에서 각각의 에이전트는 다른 서비스를 위해 다른 역할을 한다. 다시 말해 에이전트가 서비스를 위해 중요한 역할을 하는 동안 그것은 다른 서비스들을 위해 중요하지 않거나 필요하지 않은 역할을 수행할 것이다. 메시지를 스케줄링할 때 에이전트에게 특수한 컨텍스트에서 자신의 역할을 고려하지 않고 동일한 우선순위가 할당되는 경우 에이전트 시스템의 성능은 극대화되지 않을 것이다. 중요한 역할을 하 는 에이전트에 대해 정해진 메시지가 지연될 때 사용자에게 서비스를 공급하는 시간도 지연될 것이다. 사용자들이 다른 서비스 도메인으로 이동할 때 그들의 모바일 장치들 내에 포함된 에이전트는 그들과 협업한다. 이 경우 에이전트 또한 메시지 전송 지연 문제를 가진다. 그러므로 대상 서비스에 대해 할당된 에이전트 역할의 중요도에 따라 우선순위를 사용하는 에이전트 커뮤니티의 메시지를 스케줄링할 필요가 있다.
도 1은 본 발명에 따른 에이전트 커뮤니티 구성의 일 예를 나타낸 도면이다.
에이전트 시스템을 설계하는데 있어 사용자에게 최적의 서비스를 제공하기 위해 어떤 에이전트 커뮤니티(10)가 어떤 에이전트에 의해 조직되는지, 그리고 에이전트 사이에서 어떤 종류의 메시지가 교환되는지 예측하는 과정이 중요하다.
도 1에서는 2개의 서비스, 즉 Service-1(S1)과 Service-2 (S2)를 제공하는 4개의 에이전트로 구성되는 에이전트 커뮤니티(10)가 도시되어 있다. 여기서 굵은 원으로 마킹된 에이전트 3(13)이 서비스를 제공하는 에이전트이다.
에이전트 1(11), 에이전트 2(12) 및 에이전트 3(13)은 Service 1을 제공하기 위해 메시지를 교환할 필요가 있다. 이와 유사하게 Service 2도 4개의 에이전트(11, 12, 13, 14)가 모두 협업하는 것을 알 수 있다.
도 1에 표시된 각각의 링크와 연합된 수는 전송이 요구되는 메시지의 수를 나타낸다. 예를 들어 Service 1에서 에이전트 1(11)은 에이전트 3(13)으로 1개의 메시지 전송을 필요로 하며, 에이전트 3(13)으로부터 에이전트 1(11)로는 2개의 메 시지 전송이 필요한 것이다.
이러한 구성을 가지는 에이전트 커뮤니티(10)는 유사한 구성을 통해 다양한 종류의 서비스를 제공할 수 있다. 이 때 Service-k (Sk)를 제공하기 위해 커뮤니티의 에이전트 t 사이에서 교환되는 메시지의 수는 아래 수학식과 같이 표시할 수 있다.
Figure 112009075479993-pat00003
여기서 mi ,j는 에이전트 커뮤니티 중 에이전트 i로부터 에이전트 j로 전송하는 메시지 전송 수를 의미한다. 예를 들어, 도 1에서 서비스 1과 관련된 메시지 송수신, 즉 MS1에서 m1,3은 1의 값을 가지게 되며, m3,1은 2의 값을 가진다. 한편 서비스 2와 관련된 메시지 송수신, 즉 MS2에서 m1,4는 1의 값을 가짐을 알 수 있다.
n개의 다른 서비스를 제공하는 에이전트 커뮤니티 C1의 전체 메시지 전송 수는 아래 수학식과 같이 표시될 수 있다.
Figure 112009075479993-pat00004
여기서 wSi는 에이전트 커뮤니티 C1이 제공하는 서비스 i의 가중치를 나타낸다. 이 때 모든 서비스 가중치의 합은 1이 된다.
한편, 에이전트 커뮤니티에 속한 각각의 에이전트는 상이한 정도로 중요한 역할을 하게 된다. 이러한 중요한 역할의 정도를 의미하는 커뮤니티 에이전트의 중요도는 아래 수학식과 같이 표시될 수 있다.
Figure 112009075479993-pat00005
여기서 1 내지 i는 각각 에이전트 1 내지 i의 중요도를 나타낸다. 에이전트 커뮤니티 내 에이전트 1 내지 i의 중요도 합은 1이 된다.
즉, 에이전트는 자신이 속하는 에이전트 커뮤니티에 따라서 다른 중요도를 가질 수 있으며, 에이전트 시스템을 설계할 때 시스템 설계자는 에이전트 커뮤니티를 고려하여 에이전트의 중요도를 결정한다. 이 경우 높은 중요도의 에이전트에 의해 발생된 메시지를 중요한 것으로 간주하게 된다.
이상의 파라미터를 고려하면 에이전트 커뮤니티의 메시지 작업 처리량(T)은 아래와 같이 에이전트 중요도(I)에 대한 행렬과 메시지 주기(M)에 대한 행렬의 곱으로 정의될 수 있다.
Figure 112009075479993-pat00006
T의 각 요소는 각각의 에이전트의 상관 메시지 작업 처리량을 의미한다. 본 발명에서는 높은 중요도의 에이전트의 메시지에게 높은 우선순위가 주어진다. 또한, 동일한 중요도의 에이전트의 경우, 더 높은 메시지 작업 처리량 한 개에는 더 높은 우선순위가 주어지게 된다. 이는 메시지 중요도가 사용자에게 서비스를 제공하는데 있어 작업 처리량보다 더 중요하기 때문이다.
도 1의 커뮤니티 에이전트에 대해 할당된 중요도 값과 가중치를
Figure 112009075479993-pat00007
와 같이 가정하기로 하자. 이 경우 에이전트 커뮤니티의 메시지 작업 처리량(T)은 다음과 같이 구할 수 있다.
Figure 112009075479993-pat00008
도 2는 도 1의 에이전트 커뮤니티의 모든 에이전트가 메시지를 동시에 보내는 경우를 나타낸 도면이다.
도 2에서는 스케줄링 순서와 함께 6개의 전송을 나타내고 있음을 알 수 있다.
여기서 I[3]은 0.5 중 가장 큰 값이므로 에이전트 3(13)으로부터의 2개의 메시지 송신이 우선 스케줄링된다. 이 때 에이전트 3(13)으로부터 전송되는 메시지 중 에이전트 1(11)로 전송되는 것은 에이전트 2(12)의 0보다 더 높은 0.54의 작업 처리량을 허용하며 이로 인하여 에이전트 1(11)로의 메시지 전송의 우선순위가 1번이 된다. 또한, 에이전트 3(13)으로부터 에이전트 2(12)로의 메시지 전송 우선순위가 2번이 된다.
그 다음 에이전트 1(11)과 에이전트 4(14)의 중요도는 동일하다. 그런데 에이전트 4(14)의 작업 처리량은 에이전트 1(11)보다 더 높으며, 이로 인해 에이전트 4(14)로부터 전송되는 메시지가 에이전트 1(11)의 메시지보다 높은 우선순위를 부여받아 3번 우선순위가 되며, 에이전트 1(11)가 전송하는 메시지의 수선순위가 4번, 5번이 된다.
마지막으로 에이전트 2(12)가 전송하는 메시지가 마지막 우선순위를 부여받게 된다.
도 3은 본 발명의 다른 실시예에 따른 멀티 에이전트 커뮤니티의 구성을 나타낸 도면이다.
복수의 에이전트 커뮤니티로 구성된 시스템에서 커뮤니티의 중요도 또한 전체 시스템 성능 극대화를 위해 고려되어야 한다. 멀티 에이전트 시스템은 도 3에 도시된 바와 같이 동일한 유형(30) 또는 다양한 유형의 에이전트 커뮤니티(40)로 구성될 수 있다.
이와 같은 경우 에이전트 커뮤니티의 우선순위를 결정하게 되는데, 에이전트 커뮤니티의 우선순위는 아래 수학식을 통해 획득되는 CT(Community Throughput)에 의해 결정된다.
Figure 112009075479993-pat00009
k는 개별 커뮤니티 내의 에이전트 커뮤니티의 수를 의미하며, i는 개별 커뮤니티 내의 에이전트 수를 의미한다. CT는 다시 아래의 수학식과 같이 결정될 수 있다.
Figure 112009075479993-pat00010
I와 M 행렬은 시스템 개발 시 에이전트 시스템 설계자에 의해 결정된다는 것에 유념해야 한다. 하지만, M 행렬은 에이전트 시스템 작동 동안 변화할 수 있다. 그러므로, 작동 중 정확한 T 행렬을 얻기 위해 에이전트 사이에서 메시지 교환을 주기적으로 감시하고, 업데이트할 필요가 있다. M은 사용자 선호도의 변화, 서비스 에이전트의 증가 등으로 초래되는 시스템 환경 변화로 인해 업데이트될 필요성이 잇는 것이다.
에이전트 시스템에서 에이전트는 학습을 통해 자신들의 기능성을 증가하고 확장할 수 있다. 결과적으로 새로운 서비스가 에이전트 커뮤니티에 의해 제공될 수 있다. M 행렬을 업데이트 하는 것은 이 현상을 반영한다. 장기적으로 I와 T 행렬을 이용하는 메시지 스케줄링 기법은 효과적으로 에이전트 시스템으로 하여금 시스템 환경 변화에 적응하도록 할 수 있다.
에이전트의 특수한 서비스는 사용자 위치에 따라 이용가능할 수도 있고 아닐 수도 있다. 따라서 메시지 스케줄링 기법은 사용자들의 위치를 고려할 필요성도 있다. 사용자 위치 정보를 고려하는 동안에도 I와 T 행렬을 통한 메시지 스케줄링은 시스템의 성능을 더욱 강화하게 된다.
본 발명에 따른 우선순위 기반의 메시지 스케줄링 기법은 에이전트 플랫폼에 대해 적용된다. 에이전트 플랫폼은 제안되는 계획을 수신하는 메시지들에 대해 적용하게 된다. 각각의 메시지 대기 시간은 다음과 같이 계획된다. 여기서 에이전트 플랫폼에 도착하는 메시지의 수는 푸아송 분포(Poisson Distribution)를 따르는 것으로 가정한다. 모델 내에서 사용되는 매개변수들은 다음과 같다.
Ti : 우선순위 i의 메시지 전송 시간
λi : 우선순위 i의 메시지 도착율
λ = ∑λi : 총 도착율
ri : 우선순위 i인 메시지의 평균 수신자 수
이 경우 평균 시간은 다음과 같이 연산될 수 있다.
Figure 112009075479993-pat00011
에이전트 플랫폼의 총 이용은 아래 수학식과 같이 구할 수 있다.
Figure 112009075479993-pat00012
Pollaczek-Khinchine 대기 시간 변형 공식에 의한 각각의 메시지를 위한 대기 행렬 내의 평균 대기 시간의 LST(Laplace-Stieltjes Transform)는 다음과 같다.
Figure 112009075479993-pat00013
그러므로 대기 행렬 내의 평균 대기 시간은 다음과 같다.
Figure 112009075479993-pat00014
도 4는 본 발명의 다른 실시예에 따른 에이전트 플랫폼 장치의 블록 구성을 나타낸 도면이다.
도 4에 도시된 바와 같이 본 발명에 따른 에이전트 플랫폼 장치(100)는 한 개의 에이전트 플랫폼 코어(110)와 MTP(Message Transfer Protocol)(120)로 구성된 다.
에이전트 플랫폼 코어(110)는 에이전트 컨테이너(111), 메인 컨테이너(114) 및 에이전트 디스크립션 테이블(Agent Description Table)로 구성된다. MTP는 이벤트 기반의 통신(Event Based Communication)을 지원한다.
에이전트 플랫폼 장치(100)는 에이전트의 선호도 정보를 관리하고 내부 에이전트 관리를 위한 기능을 포함한다. 다른 에이전트들과의 통신을 원하는 에이전트는 그들에 대한 위치 정보를 알 필요가 없다. 각각의 에이전트는 단지 이름만 사용하여 다른 에이전트와 통신을 하게 된다.
모든 ACL 메시지들은 에이전트 플랫폼 장치(100)를 통과한다. ACL 메시지를 받는 에이전트 플랫폼 장치(100)는 그것을 등록된 선호도 정보를 사용하는 에이전트에게 전달한다. AMS(Agent Management Service) 및 DF(Directory Facilitator) 또한 에이전트로서 에이전트 플랫폼 내에 각각 등록된다. 이는 JADE와 같은 기존의 에이전트 플랫폼과 비교되는 제안된 아키텍처의 구별 특징들 중 하나이며, 여기서 AMS와 DF는 개별 에이전트로서 실행되지는 않지만 플랫폼 자체 내에 구현된다. 에이전트로서 코어를 실행하는 것은 더 높은 내구성과 확장성을 허용할 것이라는 것을 주목한다. 에이전트 플랫폼 코어(111)의 핵심 모듈은 다음과 같다.
메인 컨테이너(114)는 에이전트 플랫폼 장치(100)를 관리하는 주요 모듈에 해당한다.
플랫폼 관리자(Platform Manager)(116)는 에이전트 플랫폼 장치(100)의 초기화 및 MTS 층으로부터 에이전트 처리 모듈까지의 메시지 전달을 다루는 하위 모듈 이다.
서비스 관리자(Service Manager)(115)는 상호 연관 모듈과 같은 추가 서비스를 등록하고 메시지로 발송하는 하위 모듈에 해당한다.
한편, 에이전트 컨테이너(111)는 유사 역할, 기능을 수행하는 에이전트를 컨테이너 내 관리하는 모듈에 해당한다.
수명 관리자(Life-Cycle Manager)(112)는 스레드로서 각각의 에이전트의 행위를 관리 및 감시하는 하위 모듈이다. 사용되는 방법들로는 시작, 일시 정지, 다시 시작, 정지 등이 존재한다.
에이전트 설명자(Agent Descriptor)(111)는 아이디, 주소, 역할 등과 같은 에이전트의 정보를 관리하는 하위 모듈에 해당한다.
마지막으로 ADT(Agent Description Table)는 에이전트 아이디의 해시키를 사용하는 에이전트 설명의 선호도 정보를 관리하는 해시 테이블에 해당한다.
에이전트 플랫폼 코어(110)는 통신을 위해 MTS(Message Transport Service) 라이브러리를 사용하며 그것은 계층적으로 하나의 메인 컨테이너와 여러 개의 에이전트 컨테이너로 구성된다. 여기서 에이전트 컨테이너는 에이전트 디스크립션을 관리하며, 여기서 에이전트 디스크립션은 수명 관리를 위한 상태 정보와 같은 에이전트의 연결 및 관리에 관한 정보를 포함한다.
한편, 에이전트 플랫폼 장치(100)는 스레드로서 에이전트를 감시 및 관리한다. 스레드는 에이전트의 현 상태를 통해 다이나믹하게 구동함으로써 시작, 정지 및 다시 시작과 같은 조치를 취한다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의하여 정해져야 한다.
도 1은 본 발명에 따른 에이전트 커뮤니티 구성의 일 예를 나타낸 도면.
도 2는 도 1의 에이전트 커뮤니티의 모든 에이전트가 메시지를 동시에 보내는 경우를 나타낸 도면.
도 3은 본 발명의 다른 실시예에 따른 멀티 에이전트 커뮤니티의 구성을 나타낸 도면.
도 4는 본 발명의 다른 실시예에 따른 에이전트 플랫폼 장치의 블록 구성을 나타낸 도면.
<도면의 주요 부분에 대한 부호 설명>
100 : 에이전트 플랫폼 장치
111 : 에이전트 컨테이너
112 : 수명 관리자
113 : 에이전트 설명자
114 : 메인 컨테이너
115 : 서비스 관리자
116 : 플랫폼 관리자
117 : ADT(Agent Description Table)
120 : MTP(Message Transform Protocol)

Claims (8)

  1. 에이전트 플랫폼에서 수행되는 우선순위 기반 메시지 스케줄링 방법에 있어서,
    다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수가 결정되는 단계;
    상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치가 결정되는 단계;
    상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량이 획득되는 단계; 및
    상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위가 결정되는 단계를 포함하되,
    상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량이 획득되는 단계는,
    아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량이 획득되는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 방법.
    Figure 112011075988159-pat00015
    (여기서, T 행렬은 에이전트 별 메시지 작업 처리량 행렬, I는 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 나타내는 행렬, M은 에이전트 간 메시지 전송 수를 나타내는 행렬)
  2. 삭제
  3. 제1항에 있어서,
    상기 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수가 결정되는 단계는,
    상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 방법.
  4. 제1항에 있어서,
    다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송수가 주기적으로 업데이트되는 단계를 더 포함하는 우선순위 기반 메시지 스케줄링 방법.
  5. 우선순위 기반 메시지 스케줄링 장치에 있어서,
    다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 획득하는 제1 수단;
    상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 입력받는 제2 수단;
    상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 제3 수단; 및
    상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 제4 수단을 포함하되,
    상기 제3 수단은,
    아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
    Figure 112011075988159-pat00016
    (여기서, T 행렬은 에이전트 별 메시지 작업 처리량 행렬, I는 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 나타내는 행렬, M은 에이전트 간 메시지 전송 수를 나타내는 행렬)
  6. 삭제
  7. 제5항에 있어서,
    상기 제1 수단은,
    상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
  8. 제5항에 있어서,
    상기 제1 수단은,
    다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송수를 주기적으로 업데이트 하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
KR1020090120669A 2009-12-07 2009-12-07 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치 KR101137570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090120669A KR101137570B1 (ko) 2009-12-07 2009-12-07 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090120669A KR101137570B1 (ko) 2009-12-07 2009-12-07 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20110064179A KR20110064179A (ko) 2011-06-15
KR101137570B1 true KR101137570B1 (ko) 2012-04-20

Family

ID=44397657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090120669A KR101137570B1 (ko) 2009-12-07 2009-12-07 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101137570B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101957239B1 (ko) * 2017-10-24 2019-03-12 성균관대학교산학협력단 작업 처리 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002558A (ko) * 2007-07-02 2009-01-09 성균관대학교산학협력단 에이전트플랫폼, 멀티 에이전트 시스템 및 멀티 에이전트시스템의 메시지 송수신 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090002558A (ko) * 2007-07-02 2009-01-09 성균관대학교산학협력단 에이전트플랫폼, 멀티 에이전트 시스템 및 멀티 에이전트시스템의 메시지 송수신 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
카달로그:한국인터넷정보학회 *

Also Published As

Publication number Publication date
KR20110064179A (ko) 2011-06-15

Similar Documents

Publication Publication Date Title
Wang et al. Scheduling with machine-learning-based flow detection for packet-switched optical data center networks
Zhang et al. Online adaptive interference-aware VNF deployment and migration for 5G network slice
Zeng et al. Joint optimization of task scheduling and image placement in fog computing supported software-defined embedded system
Ge et al. GA-based task scheduler for the cloud computing systems
US20180349212A1 (en) System and method for inter-datacenter communication
Kaur et al. A systematic review on task scheduling in Fog computing: Taxonomy, tools, challenges, and future directions
Yao et al. New scheduling algorithms for improving performance and resource utilization in hadoop YARN clusters
Amalarethinam et al. An Overview of the scheduling policies and algorithms in Grid Computing
Naik Classification and scheduling of information-centric IoT applications in cloud-fog computing architecture (CS_IcIoTA)
Li et al. Efficient online scheduling for coflow-aware machine learning clusters
Aljoby et al. On SDN-enabled online and dynamic bandwidth allocation for stream analytics
KR101950050B1 (ko) 이벤트 데이터 획득을 위한 스케일 아웃 시스템
Khan Optimized hybrid service brokering for multi-cloud architectures
Sharma et al. PLB: a resilient and adaptive task scheduling scheme based on multi-queues for cloud environment
Dai et al. Scheduling for response time in Hadoop MapReduce
Xu et al. Online learning algorithms for offloading augmented reality requests with uncertain demands in MECs
Ebrahim et al. Resilience and load balancing in fog networks: A multi-criteria decision analysis approach
Fahad et al. A multi‐queue priority‐based task scheduling algorithm in fog computing environment
El-Zoghdy A hierarchical load balancing policy for grid computing environment
Arefian et al. Delay reduction in MTC using SDN based offloading in Fog computing
Munir et al. Network scheduling and compute resource aware task placement in datacenters
Siapoush et al. Software-defined networking enabled big data tasks scheduling: A tabu search approach
KR101137570B1 (ko) 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치
Ru et al. An efficient deadline constrained and data locality aware dynamic scheduling framework for multitenancy clouds
Patel et al. An improved approach for load balancing among heterogeneous resources in computational grids

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: 20160328

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee