KR101137570B1 - 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치 - Google Patents
멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 239000003795 chemical substances by application Substances 0.000 description 241
- 241001522296 Erithacus rubecula Species 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013439 planning Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/60—Business processes related to postal services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business 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
본 발명은 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치에 관한 것이다.
다양한 어플리케이션을 지원하는 유비쿼터스 컴퓨팅 시스템은 분산된 에이전트를 통해 효과적으로 실행될 수 있으며, 이는 사용자를 위해 자발적으로 작업을 수행한다. 에이전트는 커뮤니티를 조직하며 개개인의 사용자 문맥에 맞게 만들어지고 정보 처리 기능을 가진 서비스를 제공하기 위해 서로 협업한다.
일반적으로, 에이전트 시스템은 모바일 에이전트 시스템과 멀티 에이전트 시스템으로 구분된다. 전형적인 유비쿼터스 컴퓨팅 환경은 멀티 에이전트 시스템이나 그 두 유형의 에이전트 시스템을 결합하는 하이브리드 시스템에 기반할 것이다. 멀티 에이전트 시스템에서 다른 에이전트가 서비스 목적을 달성하기 위해 공존하는데 그 서비스 목적은 그들이 제공하는 기능에 따라 센싱 에이전트, 추론 에이전트, 서비스 제공 에이전트 그리고 중재 에이전트로 분류될 수 있다.
에이전트는 위치, 감정 등과 같이 사용자 컨텍스트를 효율적으로 적응하기 위해 에이전트의 커뮤니티를 다이나믹하게 조직하거나 해체함으로써 서로 협업한다. 커뮤니티란 공통의 목표를 위해 함께 작업하기로 한 다수의 협업 에이전트로 구성된 에이전트 그룹이다.
멀티 에이전트 시스템에는 다양한 커뮤니티 조직 모델이 존재한다. 에이전트 시스템의 의해 차용된 커뮤니티 조직 모델은 시스템의 성능 상에 중대하고 정량적으로 예측 가능한 영향을 줄 수 있다. 이로 인해 최근에는 많은 연구들이 커뮤니티 조직의 방법론에 초점을 맞춘다. 하지만, 그 연구들은 에이전트의 역할을 아직 절절히 고려하고 있지는 못하다. 에이전트 커뮤니티에서 각각의 에이전트는 자신의 역할에 따라 다른 중요도 수준을 가정한다. 사용자들을 위한 모든 컨텍스트와 서비스가 항상 높은 중요도를 필요로 하는 것은 아니다.
최근의 연구들은 컨텍스트와 주위 환경에 관련된 에이전트의 중요도와 필요성 대신 커뮤니티 조직의 방법에 초점을 맞춘다. 메시지를 스케줄링할 때, 에이전트 시스템이 특정 컨텍스트 내에서 에이전트의 역할을 고려하지 않고 모든 에이전트에게 동일한 우선순위를 할당한다면, 에이전트 시스템의 성능은 극대화되지 않을 것이다. 사용자들에게 서비스를 제공하는 것 또한 중요한 역할의 에이전트가 기다리고 있는 메시지의 잠복으로 인해 지연될 것이다. 일부 연구들은 에이전트 사이에서 교환되는 ACL(Agent Communication Language) 메시지에 사용된 일련의 통신 행 위 및 행동 라벨을 고려한다. 하지만 이러한 접근 방법은 모든 에이전트에게 작용하는데 있어 효율적이지 않다는 문제점이 있다.
메시지들은 메시지의 길이, 그 시스템 내에 있었던 시간의 양 그리고 메시지에 제공된 서비스의 양 등과 같은 조건에 근거하여 일정이 스케줄링될 수 있다. 그러므로 스케줄링 기법의 성능은 다수의 조건에 대해 측정될 수 있다.
간단하고 직관적인 스케줄링 기법으로 FCFS 계획이 있다. 대다수의 에이전트 플랫폼이 이 계획을 차용한다. FCFS를 통해 메시지는 도착 시간을 기준으로 분류되며 도착 순서대로 수행된다. FCFS는 긴 메시지 뒤에 기다리는 짧은 메시지에 대하여 불공평함이라는 단점을 가진다.
라운드 로빈(round-robin) 기법을 통해 메시지는 작은 셀(cell)들로 분류되며 메시지들 사이에서 교대로 라운드 로빈 방식을 통해 한 개의 셀(cell)을 수행하게 된다. 본래 라운드 로빈 기법은 우선적이지만 여러 사전 정의된 우선순위에 기반하지는 않는다. 그것은 FCFS의 단점을 극복하는데 짧은 메시지들이 완료되어야 하는 긴 메시지의 전송을 기다려야 하지는 않을 것이기 때문이다. 하지만, 이 기법은 시스템 내에 다수의 메시지가 있을 때 불필요하게 큰 지연이 발생하는 단점이 있다.
버킷(Bucket) 스케줄링은 순수한 라운드 로빈이 다수의 파일에 사용될 때 일어나는 문제를 개선하고자 하는 라운드 로빈의 다른 형태이다. 버킷 스케줄링에서 메시지들은 크기에 기반한 버킷으로 분류되며 버킷은 라운드 로빈으로 수행된다. 메시지가 다시 셀(cell)로 나누어지게 되면 버킷은한 번에 다수의 셀들로서 수행된다. 버킷으로서 수행되는 셀의 수는 버킷들 사이에서 바뀔 수 있다. 각각의 버킷은 주어진 크기나 크기의 범위의 메시지들을 포함하며, 서버는 라운드 로빈 방식으로 각각의 버킷을 취급한다.
SMP(Shorter Message Preempt)란 더 짧은 메시지가 긴 메시지보다 우선한 우선순위를 받는 간단한 우선순위 계획이다. 본 계획은 모든 메시지는 셀로 나누어지며 모든 셀들은 셀이 속하는 본래의 메시지 길이인 우선순위 값으로 값이 매겨진다. 그러면 그 서버는 가장 작은 태그 값의 셀에 가장 높은 우선순위를 부여함으로써 한 번에 하나씩 셀을 취급한다. 실제로 이는 더 긴 메시지들보다 우선한 우선순위를 더 짧은 메시지에 주는 결과를 가져온다.
더 나은 성능을 나타내기 위해 SMP는 약간의 변화를 주는데 우선 가장 짧은 남은 처리 시간에 대한 메시지를 수행하는 것이다. 이러한 변화를 통해 더 짧은 메시지들이 메시지가 수행되고 있을 때 도착한다면 완료까지 소요되는 남은 시간의 양이 더 짧은 메시지보다 더 작은 경우 더 긴 메시지는 서비스를 계속 받게 된다.
다이나믹 스케줄링 기법은 시스템 내에서 얼마나 시간이 걸리고 있으며, 얼마나 많은 서비스를 받고 있는지를 바탕으로 메시지의 우선순위를 변경한다. 위에서 설명한 더 짧은 남은 처리 시간 계획은 다이나믹한 스케줄링 기법의 간단한 예이며 메시지 우선순위는 상승된다. “우선순위”기능은 메시지에 우선순위 값을 할당하는데 사용한다. 알고리즘의 각각의 반복에 있어서 스케줄러는 가장 높은 우선순위 메시지의 하나의 셀을 수행하며 모든 메시지의 우선순위를 다시 계산한다.
따라서 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것으로, 에이전트 커뮤니티 속 에이전트 사이에서 전송된 메시지의 양을 주기적으로 검사하고 그에 따라 결정되는 에이전트의 중요도에 의해서 스케줄링이 이루어지는 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치의 제공을 그 목적으로 한다.
본 발명의 일 측면에 따른 우선순위 기반 메시지 스케줄링 방법은 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 결정하는 단계; 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 결정하는 단계; 상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 단계; 및 상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 단계를 포함한다.
상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 단계는, 아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 한다.
(여기서, T 행렬은 에이전트 별 메시지 작업 처리량 행렬, I는 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 나타내는 행렬, M은 에이전트 간 메시지 전송 수를 나타내는 행렬)
상기 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 결정하는 단계는, 상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 한다.
다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 주기적으로 업데이트 하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 우선순위 기반 메시지 스케줄링 장치는 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 획득하는 제1 수단; 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 입력받는 제2 수단; 상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 제3 수단; 및 상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 제4 수단을 포함한다.
상기 제3 수단은, 아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 할 수 있다.
(여기서, 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 사이에서 교환되는 메시지의 수는 아래 수학식과 같이 표시할 수 있다.
여기서 mi ,j는 에이전트 커뮤니티 중 에이전트 i로부터 에이전트 j로 전송하는 메시지 전송 수를 의미한다. 예를 들어, 도 1에서 서비스 1과 관련된 메시지 송수신, 즉 MS1에서 m1,3은 1의 값을 가지게 되며, m3,1은 2의 값을 가진다. 한편 서비스 2와 관련된 메시지 송수신, 즉 MS2에서 m1,4는 1의 값을 가짐을 알 수 있다.
n개의 다른 서비스를 제공하는 에이전트 커뮤니티 C1의 전체 메시지 전송 수는 아래 수학식과 같이 표시될 수 있다.
여기서 wSi는 에이전트 커뮤니티 C1이 제공하는 서비스 i의 가중치를 나타낸다. 이 때 모든 서비스 가중치의 합은 1이 된다.
한편, 에이전트 커뮤니티에 속한 각각의 에이전트는 상이한 정도로 중요한 역할을 하게 된다. 이러한 중요한 역할의 정도를 의미하는 커뮤니티 에이전트의 중요도는 아래 수학식과 같이 표시될 수 있다.
여기서 1 내지 i는 각각 에이전트 1 내지 i의 중요도를 나타낸다. 에이전트 커뮤니티 내 에이전트 1 내지 i의 중요도 합은 1이 된다.
즉, 에이전트는 자신이 속하는 에이전트 커뮤니티에 따라서 다른 중요도를 가질 수 있으며, 에이전트 시스템을 설계할 때 시스템 설계자는 에이전트 커뮤니티를 고려하여 에이전트의 중요도를 결정한다. 이 경우 높은 중요도의 에이전트에 의해 발생된 메시지를 중요한 것으로 간주하게 된다.
이상의 파라미터를 고려하면 에이전트 커뮤니티의 메시지 작업 처리량(T)은 아래와 같이 에이전트 중요도(I)에 대한 행렬과 메시지 주기(M)에 대한 행렬의 곱으로 정의될 수 있다.
T의 각 요소는 각각의 에이전트의 상관 메시지 작업 처리량을 의미한다. 본 발명에서는 높은 중요도의 에이전트의 메시지에게 높은 우선순위가 주어진다. 또한, 동일한 중요도의 에이전트의 경우, 더 높은 메시지 작업 처리량 한 개에는 더 높은 우선순위가 주어지게 된다. 이는 메시지 중요도가 사용자에게 서비스를 제공하는데 있어 작업 처리량보다 더 중요하기 때문이다.
도 1의 커뮤니티 에이전트에 대해 할당된 중요도 값과 가중치를
도 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)에 의해 결정된다.
k는 개별 커뮤니티 내의 에이전트 커뮤니티의 수를 의미하며, i는 개별 커뮤니티 내의 에이전트 수를 의미한다. CT는 다시 아래의 수학식과 같이 결정될 수 있다.
I와 M 행렬은 시스템 개발 시 에이전트 시스템 설계자에 의해 결정된다는 것에 유념해야 한다. 하지만, M 행렬은 에이전트 시스템 작동 동안 변화할 수 있다. 그러므로, 작동 중 정확한 T 행렬을 얻기 위해 에이전트 사이에서 메시지 교환을 주기적으로 감시하고, 업데이트할 필요가 있다. M은 사용자 선호도의 변화, 서비스 에이전트의 증가 등으로 초래되는 시스템 환경 변화로 인해 업데이트될 필요성이 잇는 것이다.
에이전트 시스템에서 에이전트는 학습을 통해 자신들의 기능성을 증가하고 확장할 수 있다. 결과적으로 새로운 서비스가 에이전트 커뮤니티에 의해 제공될 수 있다. M 행렬을 업데이트 하는 것은 이 현상을 반영한다. 장기적으로 I와 T 행렬을 이용하는 메시지 스케줄링 기법은 효과적으로 에이전트 시스템으로 하여금 시스템 환경 변화에 적응하도록 할 수 있다.
에이전트의 특수한 서비스는 사용자 위치에 따라 이용가능할 수도 있고 아닐 수도 있다. 따라서 메시지 스케줄링 기법은 사용자들의 위치를 고려할 필요성도 있다. 사용자 위치 정보를 고려하는 동안에도 I와 T 행렬을 통한 메시지 스케줄링은 시스템의 성능을 더욱 강화하게 된다.
본 발명에 따른 우선순위 기반의 메시지 스케줄링 기법은 에이전트 플랫폼에 대해 적용된다. 에이전트 플랫폼은 제안되는 계획을 수신하는 메시지들에 대해 적용하게 된다. 각각의 메시지 대기 시간은 다음과 같이 계획된다. 여기서 에이전트 플랫폼에 도착하는 메시지의 수는 푸아송 분포(Poisson Distribution)를 따르는 것으로 가정한다. 모델 내에서 사용되는 매개변수들은 다음과 같다.
Ti : 우선순위 i의 메시지 전송 시간
λi : 우선순위 i의 메시지 도착율
λ = ∑λi : 총 도착율
ri : 우선순위 i인 메시지의 평균 수신자 수
이 경우 평균 시간은 다음과 같이 연산될 수 있다.
에이전트 플랫폼의 총 이용은 아래 수학식과 같이 구할 수 있다.
Pollaczek-Khinchine 대기 시간 변형 공식에 의한 각각의 메시지를 위한 대기 행렬 내의 평균 대기 시간의 LST(Laplace-Stieltjes Transform)는 다음과 같다.
그러므로 대기 행렬 내의 평균 대기 시간은 다음과 같다.
도 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항에 있어서,상기 다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수가 결정되는 단계는,상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 방법.
- 제1항에 있어서,다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송수가 주기적으로 업데이트되는 단계를 더 포함하는 우선순위 기반 메시지 스케줄링 방법.
- 우선순위 기반 메시지 스케줄링 장치에 있어서,다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송 수를 획득하는 제1 수단;상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 입력받는 제2 수단;상기 결정된 에이전트 간 메시지 전송 수와 상기 에이전트 커뮤니티가 제공하는 다수의 서비스 별 가중치를 기준으로 상기 에이전트 커뮤니티에 속하는 에이전트 별 메시지 작업 처리량을 획득하는 제3 수단; 및상기 에이전트 간 메시지 전송 수와 메시지 작업 처리량을 기준으로 에이전트의 메시지 전송 우선 순위를 결정하는 제4 수단을 포함하되,상기 제3 수단은,아래 수학식을 이용하여 에이전트 별 메시지 작업 처리량을 획득하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
- 삭제
- 제5항에 있어서,상기 제1 수단은,상기 에이전트의 중요도가 높은 에이전트에게 높은 우선순위를 부여하고, 상기 에이전트의 중요도가 동일한 에이전트들간에는 상기 에이전트의 메시지 작업 처리량이 큰 에이전트에게 높은 우선순위를 부여하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
- 제5항에 있어서,상기 제1 수단은,다수의 서비스를 제공하는 에이전트 커뮤니티에 속하는 에이전트 간 메시지 전송수를 주기적으로 업데이트 하는 것을 특징으로 하는 우선순위 기반 메시지 스케줄링 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101957239B1 (ko) * | 2017-10-24 | 2019-03-12 | 성균관대학교산학협력단 | 작업 처리 방법 및 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090002558A (ko) * | 2007-07-02 | 2009-01-09 | 성균관대학교산학협력단 | 에이전트플랫폼, 멀티 에이전트 시스템 및 멀티 에이전트시스템의 메시지 송수신 방법 |
-
2009
- 2009-12-07 KR KR1020090120669A patent/KR101137570B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090002558A (ko) * | 2007-07-02 | 2009-01-09 | 성균관대학교산학협력단 | 에이전트플랫폼, 멀티 에이전트 시스템 및 멀티 에이전트시스템의 메시지 송수신 방법 |
Non-Patent Citations (1)
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 |