KR101196605B1 - 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법 - Google Patents

멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법 Download PDF

Info

Publication number
KR101196605B1
KR101196605B1 KR1020100106785A KR20100106785A KR101196605B1 KR 101196605 B1 KR101196605 B1 KR 101196605B1 KR 1020100106785 A KR1020100106785 A KR 1020100106785A KR 20100106785 A KR20100106785 A KR 20100106785A KR 101196605 B1 KR101196605 B1 KR 101196605B1
Authority
KR
South Korea
Prior art keywords
agent
workload
load
service
node
Prior art date
Application number
KR1020100106785A
Other languages
English (en)
Other versions
KR20120045321A (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 KR1020100106785A priority Critical patent/KR101196605B1/ko
Publication of KR20120045321A publication Critical patent/KR20120045321A/ko
Application granted granted Critical
Publication of KR101196605B1 publication Critical patent/KR101196605B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 각각의 노드가 로드 밸런싱 관리 에이전트(LBMA)를 가지는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법에 관한 것이다. 본 발명에 따른 동적 로드 밸런싱 방법은 LBMA가 수집 시작 시간과 수집 주기에 따라서 LBMA가 속한 노드에 대한 부하 정보를 수집하는 제1 단계; 상기 부하 정보를 이용하여 각각의 에이전트에 대해서 에이전트 현재 작업량을 산출하는 제2 단계; 에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트 현재 작업량을 이용해서 에이전트의 예측된 미래 작업량을 산출하여, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량을 초과하면 에이전트의 작업부하가 감소하는 추세라고 판단하고, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량 이하이면 에이전트의 작업부하가 증가하는 추세라고 판단하는 제3 단계; 및 에이전트의 작업부하가 증가하는 추세라고 판단되고 에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트의 로컬 노드 부하, 에이전트의 내부 통신 부하, 및 에이전트의 외부 통신 부하를 이용하여 각각의 에이전트에 대해서 에이전트 크래딧 값을 산출하고 가장 작은 에이전트 크래딧 값을 가지는 에이전트를 이주대상 에이전트로 선택해서 이주시키는 제4 단계;를 포함한다.

Description

멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법{DYNAMIC LOAD BALANCING METHOD FOR MULTI-AGENT SYSTEM}
본 발명은 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법에 관한 것으로, 더욱 구체적으로는 멀티 에이전트 시스템에서 에이전트 이주를 활용한 예측기반 동적 로드 밸런싱 방법에 관한 것이다.
에이전트들은 복잡한 유비쿼터스 환경에서 공동의 목표를 달성하기 위해 사용자를 대신하여 사용자가 원하는 작업을 자동으로 수행하는 자율적인 프로그램이다. 에이전트들은 일반 소프트웨어와 구별되는 다음과 같은 특징을 가지고 있다. 다른 에이전트의 직접적인 지시나 간섭 없이도 스스로 판단하여 행동하는 자율성(Autonomy), 지식 베이스와 추론능력을 바탕으로 사용자의 의도를 파악하여 계획을 세우고 학습을 통해 새로운 지식을 깨닫게 되는 지능(Intelligence), 다른 에이전트와의 협업을 통해서 공통된 목적을 달성하는 협동성(Cooperation), 독립된 하나의 에이전트로는 처리하기 힘든 작업을 수행하기 위해 에이전트간의 통신으로 도움을 받는 사교성(Social Ability)이 있다. 그 외에 환경변화에 대해 반응할 수 있는 반응성(Reactivity), 올바른 정보만을 주고받는 정직성(Veracity), 그리고 목적을 달성하는 방향으로 작업을 수행한다는 이성적 행동(Rationality), 학습할 수 있는 능력을 말하는 적응성(Adaptation), 에이전트가 초기에 부여받은 임무를 수행하기 위해 자신이 생성된 호스트를 벗어나 네트워크상의 다른 호스트에서 작업을 수행하거나, 임무 수행에 필요한 정보를 구하기 위해 네트워크 사이를 이동할 수 있는 이동성(Portability), 환경에 대하여 능동적으로 목도 지향적인 행동을 취하는 전향성(Pro-Activeness)등을 만족해야 한다. 에이전트는 크게 멀티 에이전트와 모바일 에이전트로 구분된다. 멀티 에이전트는 하나의 에이전트로 해결하지 못하는 복잡한 작업을 처리하기 위하여 다양한 작업을 할 수 있도록 구성된 여러 에이전트간의 협업을 통해 작업을 수행한다. 모바일 에이전트는 사용자의 목적에 따라 작업을 수행하기 위해 프로그램 자체가 네트워크를 통해 돌아다니며 수행되는 구조이다. 멀티에이전트 시스템은 독립적인 에이전트로 해결하기 힘든 복잡한 문제를 에이전트간의 협업을 통해서 해결한다. 이 결과 이종성(Heterogeneity)은 에이전트 기반의 유비쿼터스 시스템의 구현에서 가장 중요한 이슈가 되었다. FIPA의 에이전트 관리 참조 모델의 각 항목들은 논리적인 서비스 집합들이며 물리적인 구성은 포함하지 않는다. 즉, 에이전트 관리 참조 모델은 논리적인 주요 컴포넌트들로 구성된다. 에이전트는 애플리케이션의 기능들과 커뮤니케이션을 하며, 자율적인 특성을 지니는 프로세스이다. 에이전트들 사이는 ACL (Agent Communication Language) 또는 KQML(Knowledge Query and Manipulation Language)을 사용하여 통신한다.
DF(Directory Facilitator)는 에이전트들에게 옐로우 페이지 서비스를 제공하며 AMS(Agent Management System)는 플랫폼 내의 에이전트의 등록 및 제거, 일시 정지와 회복 등 전반적인 에이전트 생명주기에 대한 관리를 수행하며 에이전트 플랫폼에서 AMS는 오직 하나만 존재한다. MTS(Message Transport Service)는 에이전트 플랫폼들과 에이전트 사이의 통신 연결을 제공한다. 이동형 에이전트는 이종 분산 환경에서 자유롭게 이주가능한 하나의 프로그램이다. 또한, 멀티에이전트 시스템 중 특히 이동형 에이전트를 위한 프레임워크가 연구되고 있다. 이동형 에이전트는 네트워크 트래픽 감소, 비동기적 상호작용, 부하분산, 서비스 분산 그리고 협력 처리 등을 제공한다.
부하 분산 방식은 정적 부하 분산과 동적 부하 분산 방식 두 가지로 분류된다. 정적 부하 분산 방식은 작업의 실행 전에 오직 시스템의 평균적인 상태의 정보 값을 기반으로 작업부하를 파악한다. 또한, 만약 한 호스트에 작업이 진행된다면 정적 부하 분산 방식에서는 이 작업을 다른 호스트로 이주시킬 수 없다. 반대로 동적 부하 분산방식은 시스템의 지속적인 상태 변화에 따라서 빠르게 대처하며 시스템의 최대 성능을 위하여 작업을 동적으로 분산시킨다.
최근 이동형 에이전트 기반의 부하 분산 방식에 대하여 다양한 방식이 제안되고 있다. MALD(Mobile Agent based Load)는 분산된 웹 서버들 간에 확장성 있는 부하분산 방식을 구현하기 위한 이동형 에이전트 기술을 사용한다. FLASH는 이종의 클러스터 시스템상에서 부하분산을 위한 응용 프로그램들 구현하기 위해 개발된 프레임워크이다.
본 발명에서는 에이전트들의 부하 상태를 예측하고 판별하기 위한 수식화된 모델을 제공하는 것을 목표로 한다. 또한, 수식화된 모델을 통해 측정된 값을 히스토리 데이터 저장소에 저장하고 이를 지수평균에 적용해 작업부하의 증감을 미리 예측하여 불필요한 에이전트들의 이동을 방지하고, 멀티 에이전트 시스템의 동적 부하분산 방식을 위한 적절한 정책들을 적용하여 효과적인 부하분산 방법을 제공하는 것을 목표로 한다.
본 발명에 따른 각각의 노드가 로드 밸런싱 관리 에이전트(LBMA)를 가지는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법은 상술한 목적을 달성하기 위해서, LBMA가 수집 시작 시간과 수집 주기에 따라서 LBMA가 속한 노드에 대한 부하 정보를 수집하는 제1 단계; 상기 부하 정보를 이용하여 각각의 에이전트에 대해서 에이전트 현재 작업량을 산출하는 제2 단계; 에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트 현재 작업량을 이용해서 에이전트의 예측된 미래 작업량을 산출하여, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량을 초과하면 에이전트의 작업부하가 감소하는 추세라고 판단하고, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량 이하이면 에이전트의 작업부하가 증가하는 추세라고 판단하는 제3 단계; 및 에이전트의 작업부하가 증가하는 추세라고 판단되고 에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트의 로컬 노드 부하, 에이전트의 내부 통신 부하, 및 에이전트의 외부 통신 부하를 이용하여 각각의 에이전트에 대해서 에이전트 크래딧 값을 산출하고 가장 작은 에이전트 크래딧 값을 가지는 에이전트를 이주대상 에이전트로 선택해서 이주시키는 제4 단계;를 포함한다.
유비쿼터스 환경의 중요한 요구사항은 다수의 에이전트가 동시에 서비스를 제공하는 멀티 에이전트 시스템에서 에이전트와 서비스가 증가하는 상황 변화에 따라 최적의 서비스를 제공하는 것이다. 본 발명에서는 히스토리 데이터를 지수평균 기법을 응용하여 에이전트의 부하 추세를 예측하는 예측기반 동적 로드 밸런싱을 제안하고 사용자에게 에이전트 기반의 서비스를 웹 상에서 쉽게 검색하고 제공해주는 에이전트 시스템을 제시하고 동적 부하 분산을 위한 수집정책, 선택정책, 위치정책, 이주정책을 제안하였고, 이를 통해서 각각의 에이전트들의 통신 부하를 줄이고 전체적인 시스템의 부하에 균형을 맞춤으로서 최적화된 서비스 응답시간을 제공하는 것을 가능하게 한다.
도 1은 본 발명에 따른 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법의 흐름도이다.
도 2는 본 발명에 따른 정보 수집 방식을 개략적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 정보 수집 방식을 나타낸 도면이다.
도 4는 본 발명에 따른 에이전트 이주 절차를 나타낸 도면이다.
도 5는 본 발명에 따른 에이전트 플랫폼의 구조를 나타낸 도면이다.
도 6은 본 발명에 따른 웹 서비스 기반의 서비스를 지원하는 에이전트 플랫폼의 구조를 나타낸 도면이다.
도 7 및 도 8은 본 발명에 따른 에이전트의 부하 정보의 예측을 실험한 결과를 나타낸 도면이다.
도 9 및 도 10은 본 발명에 따른 에이전트의 응답시간을 실험한 결과를 나타낸 도면이다.
본 발명에서는 기존 멀티 에이전트 시스템에서 부하를 줄이기 위해 에이전트 이주를 활용한 동적 부하 분산기법을 사용한다. 그러나, 에이전트의 불필요한 이주에 의해서 시스템의 부하가 증가하는 단점이 있다. 따라서, 에이전트의 불필요한 이주를 방지하는 예측 기반 부하분산 정책과 모델을 제안하고 웹을 통한 에이전트 기반의 서비스를 지원하는 멀티 에이전트 구조를 소개한다. 본 발명에 따른 방법에 대해서 첨부도면들을 참조하여 이하에서 상세하게 설명한다.
도 1은 본 발명에 따른 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법의 흐름도이다.
본 발명에 따른 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법은, 에이전트의 부하 정보를 수집하는 단계(S101), 상기 부하 정보를 이용해서 에이전트의 작업량을 계산하는 단계(S103), 에이전트의 작업량이 부하 임계점 이상인지를 판단하는 단계(S105), 에이전트의 작업량의 증감 추이를 예측하는 단계(S107), 에이전트의 작업량이 증가하는지 판단하는 단계(S109), 에이전트의 크레딧 값을 계산하는 단계(S111), 및 에이전트의 크레딧 값을 고려하여 이주 대상 에이전트를 선택하는 단계(S113)를 포함한다.
에이전트의 부하 정보를 수집하는 단계(S101)에서는 각각의 노드의 LBMA가 수집 시작 시간과 수집 주기에 따라서 에이전트의 부하 정보를 수집한다.
기존의 방식은 멀티 에이전트 시스템상에 단 하나의 LBCA(Load Balancing Control Agent)에이전트를 두어 LMA에서 각 노드의 부하 정보를 수집한 후 부하 노드를 선택하고 에이전트를 이주시킨다. 다시 말해, 중앙 집중형 방식이다. 그러나, 중앙 집중형 부하 수집 방식은 에이전트의 수가 증가함에 따라 LBCA의 부하가 급격히 증가하고 처리속도가 떨어진다는 단점이 있다.
한편, 노드들은 주기적으로 또는 어떤 조건에 일치하면 노드의 상태 정보를 교환하게 되는데, 노드의 상태 정보를 교환하는 방법으로는 상대적인 가용 자원 변화율 또는 임계치 기반 갱신 유발 정책, 절대적인 가용 자원 변화 혹은 타이머 기반 갱신 유발 정책 등이 있다. 이런 방법들은 모두 기본적으로 노드의 상태 정보 전달을 위한 오버헤드를 최소화하면서 노드 상태 정보의 정확성을 높이고자 한다. 경로 선택을 위해서 가장 최근에 받은 노드의 상태 정보를 이용하게 되는데, 시간이 지남에 따라 노드의 상태는 계속적으로 변하기 때문에 그 정확성이 떨어지게 된다. 이와 같이 정확성이 떨어지는 정보를 기준으로 선택을 할 경우에 그 성능이 떨어져 사용자의 QoS를 만족시키지 못하게 된다.
본 발명에서는 이러한 문제점들을 해결하기 위해서 분산 정보 수집 방식에 의해서 에이전트의 부하 정보를 수집한다. 도 2는 본 발명에 따른 정보 수집 방식을 개략적으로 나타낸 도면이고, 도 3은 본 발명의 일 실시예에 따른 정보 수집 방식을 나타낸 도면이다.
도 2 및 3을 참조하면, 본 발명에 따른 멀티에이전트 시스템에 있는 에이전트 노드는 각각의 정적인 에이전트인 로드 밸런싱 관리 에이전트(Load Balancing Management Agent; 이하, LBMA라고 함)를 갖는다. LBMA는 에이전트 플랫폼의 ARM(Agent Relation Manager)를 통해서 자신의 노드에 속한 에이전트와 통신하는 내부 및 외부 에이전트들의 정보를 알고 있다. 시스템 관리자는 각각의 LBMA에 서로 다른 부하 정보 수집 시작 시간 Sn과 수집 주기 Pn을 할당한다. Sn은 랜덤하게 LBMA들에 할당되고, Pn은 각 에이전트 서버 부하 정보의 정확도와 정보 수집으로 발생하는 오버헤드 간에 상충관계를 기반으로 정해진다.
도 2에서는 본 발명에 따라서 시스템 관리자가 부하 정보의 수집 주기 및 부하 임계점을 설정한 이후에, 제1 노드의 LBMA가 부하 정보를 수집한 다음 제2 노드의 LBMA가 부하 정보를 수집한다는 것을 설명한다.
LBMA는 Sn과 Pn을 이용하여 주기적으로 자신의 에이전트들과 통신하는 내부 및 외부 에이전트들의 부하 정보를 수집하고 부하 노드를 선택한다. 따라서, 각각의 에이전트는 할당된 Sn과 Pn을 통해서 분할 정복 방법으로 부하의 균형을 유지한다. 예를 들어, 도 3과 같이 노드 N1의 에이전트 a1, a2와 노드 N3의 에이전트 a7은 서로 통신을 한다.
표 1은 본 발명에 따른 정보 수집 시작 시간(Start Up Time)과 주기(Cycle)의 예를 열거한 것이다.
노드 명칭 시작시간(ms) 주기(ms)
Node1 300 1000
Node2 500 1000
Node3 500 800
Node4 300 900
도 3을 참조해서 표 3에 따르면, 노드 N1의 S1은 300ms이고, P1는 1000ms이다. N3는 S3은 500ms이며 P3는 800ms이다. 따라서 N1이 부하 분산을 위한 부하 정보 수집을 먼저 시작한다. N1의 부하 정보 수집이 끝나면 노드 N3가 부하 정보 수집을 실행한다. 이때, N3의 LBMA는 에이전트 a7이 노드 N1의 LBMA에 의해서 외부 노드와 통신으로 발생하는 부하를 계산한 값 l7을 갖고 있다. l7이 노드 N3의 정보 갱신 주기가 돌아오기 이전에 계산되었던 값이라면(즉, S3< T <P3), 노드 N3은 에이전트 a7의 외부 통신 부하 정보를 계산하지 않고, 노드 N1에 의해서 계산된 값 l7을 사용한다. 그러나, 정보 갱신 주기 내에 측정된 값이 없다면 l7을 계산한다. 이는 중복으로 부하를 측정하는 것을 방지하며 노드의 상태 정보의 오차를 줄일 수 있다. 또한, 시스템을 시작하거나 수행도중에 동적으로 주기(Pn)를 설정하고 부하 임계점(LH)을 설정할 수 있다. 부하 임계점은 노드에서 수집한 부하와 비교(예컨대, li > LH 인지 판단함)하여 분산 수행을 알릴 수 있다.
다음으로, 부하 정보를 이용해서 에이전트의 작업량을 계산하는 단계(S103)에서는 상술한 바와 같이 수집된 부하 정보를 이용해서 각각의 에이전트의 모든 서비스에 대한 에이전트 현재 작업량을 계산한다.
부하 분산은 특정 에이전트에 메시지 과부하가 발생하거나 다른 노드에 존재하는 에이전트와의 통신으로 인해서 발생한다. 부하 분산은 에이전트들의 작업부하를 동일하게 유지하기 위해 필요하다. 왜냐하면, 에이전트 기반 서비스는 다양한 에이전트들의 협동에 의해서 수행되고, 에이전트의 작업부하는 에이전트가 얼마나 많은 다른 에이전트들과 협력하는가에 의해서 결정되기 때문이다. 본 발명에서는 각각의 LBMA에 히스토리 데이터 저장소와 컨트롤러를 추가하여 시간대별 에이전트 작업부하(이하, 작업량이라고도 한다)을 기록한다. 컨트롤러는 히스토리 데이터 저장소에 기록된 작업량 정보를 기반으로 지수평균을 이용하여 미래의 작업량을 예측한다. 서비스 q에 대한 에이전트의 개별 작업량을 계산하는 방법은 수학식 1과 같다.
Figure 112010070504955-pat00001
vi q는 서비스 q에 대한 에이전트 ai의 개별 작업량을 나타낸다. ci q는 노드에서 서비스 q에 대한 에이전트 ai가 차지하는 CPU 점유율을 나타내며 가중치로 사용한다. hi q는 서비스 q에 대한 내부 노드의 통신 부하를 나타내고, gi q는 서비스 q에 대한 외부 노드의 통신 부하를 나타낸다. 함수 N은 에이전트가 존재하는 노드를 나타낸다. 함수 C는 에이전트들 사이에 메시지들을 전송하기 위해서 요구되는 시간을 나타낸다. f는 멀티 에이전트 시스템의 네트워크 대역폭에 기반해 계산된 값으로 시스템에 의존적이다. cai q는 각각의 에이전트들의 CPU 점유율을 나타낸다. 에이전트들의 관계는 2차원 행렬 모델로 나타내며 수학식 2와 같이 표현된다.
Figure 112010070504955-pat00002
여기서,
Figure 112010070504955-pat00003
이다.
에이전트 ai의 총 작업량은 수학식 3과 같이 표현된다.
Figure 112010070504955-pat00004
결국, 에이전트의 총 작업량, 다시 말해 에이전트 현재 작업량(li)은 수학식 1에 의해서 계산되는 각각의 서비스에 대한 에이전트의 개별 작업량을 모두 합산하여 산출된다. 계산된 li의 값은 히스토리 데이터 저장소에 저장된다.
이후, 에이전트의 작업량이 부하 임계점 이상인지를 판단하는 단계(S105)를 거치게 된다. 부하 임계점은 시스템 관리자에 의해서 임의로 설정될 수 있다. 에이전트의 현재 작업량이 부하 임계점 이상인 경우에는 에이전트의 작업량의 증감 추이를 예측하는 단계(S107)로 넘어간다.
에이전트의 작업량의 증감 추이를 예측하는 단계(S107)에서는 에이전트의 현재 작업량을 이용해서 에이전트의 예측된 미래 작업량을 산출한다. 에이전트의 현재 작업량과 에이전트의 예측된 미래 작업량이 산출되면 에이전트의 작업량이 증가하는지 판단하게 된다(S109). 에이전트의 현재 작업량이 에이전트의 예측된 미래 작업량을 초과하면 에이전트의 작업부하가 감소하는 추세라고 판단하고, 에이전트의 현재 작업량이 에이전트의 예측된 미래 작업량 이하이면 에이전트의 작업부하가 증가하는 추세라고 판단한다.
컨트롤러는 히스토리 데이터를 지수평균식을 이용하여 작업량의 증감 추이를 판별하고, 미래의 작업량을 예측한다. 본 발명에서의 지수평균식은 수학식 4와 같이 표현된다.
Figure 112010070504955-pat00005
여기서, li는 현재 측정된 작업량, 다시 말해, 에이전트 현재 작업량을 나타내고, Li는 현재를 기준으로 과거의 예측 값, 다시 말해, 에이전트의 예측된 현재 작업량을 나타내고, Li + 1는 현재의 부하 값과 과거의 예측 값을 기준으로 계산한 미래 시점에 대한 현재의 예측 값, 다시 말해, 에이전트의 예측된 미래 작업량을 나타낸다. λ는 현재와 과거의 측정값들을 어느 정도의 비율로 반영하여 다음 시점의 예측 값을 계산할 것인지를 결정하는 조정 값이다. 다시 말해, λ는 li와 Li를 어느 정도의 비율로 반영하여 Li + 1를 계산할 것인지를 결정하는 조정 값이다. 현재 작업량 li와 지수평균 기법이 반영된 수학식 4에 의해서 계산된 예측 값 Li +1을 비교하여 수학식 5 및 수학식 6을 이용해서 증감 추이를 판별한다.
Figure 112010070504955-pat00006
Figure 112010070504955-pat00007
수학식 5의 경우에는 현재 작업량 li이 히스토리 데이터를 지수평균 기법에 적용한 예측 값 Li +1보다 크다. 이것은 에이전트의 작업부하가 감소한다는 의미이다. 따라서, 부하가 증가하고 있지 않은 경우로 현재의 작업량의 증가는 일시적인 현상으로 현재 시점 이후에 작업량이 감소한다고 판단하여 에이전트의 이주를 승인하지 않는다. 수학식 6의 경우에는 현재 작업량 li보다 예측 값 Li +1이 크다. 에이전트의 작업부하가 증가하고 있다는 의미이다. 따라서, 에이전트의 이주정책을 통해서 에이전트의 이주를 준비하고, 이주를 통해서 전체 시스템의 작업부하를 균등하게 유지한다.
이와 같이, 본 발명에서는 현재의 측정값뿐만 아니라 과거의 측정값도 반영하는 지수평균의 특성을 이용한 작업량 예측 기법을 통하여 일시적인 에이전트들의 작업량 증가에 따른 불필요한 이주의 발생을 감소시킨다. 그 결과, 에이전트의 이주에 따른 작업량의 증가와 불필요한 시스템 자원의 소모를 방지하는 결과를 낳는다.
에이전트의 작업량이 증가하는지 판단하는 단계(S109)에서 에이전트의 작업량이 증가하는 것으로 판단된 경우에는 에이전트의 크레딧 값을 계산하는 단계(S111)로 넘어간다. 에이전트의 크레딧 값을 계산하는 단계(S111)에서는 각각의 에이전트의 모든 서비스에 대한 에이전트 크레딧을 계산한다.
멀티 에이전트 기반 서비스의 QoS(Quality of Service)를 보장하기 위하여 크레딧 기반의 모델을 사용하여 부하 분산을 처리할 것이다. 모든 에이전트에게는 크레딧(CR)이라 불리는 변수가 할당된다. 높은 크레딧 값을 가진 에이전트는 계속 현재 노드에 머무를 기회가 많아진다. 반대로 크레딧 값이 작은 에이전트는 이주를 위해 선택될 가능성이 높아진다. 각 에이전트의 크레딧 값은 에이전트 사이의 상호 작용의 상황에 따라 변한다.
에이전트의 크레딧 값이 증가하는 경우는,
- 작업량이 감소하는 경우,
- 같은 노드에 있는 에이전트와 통신이 증가하는 경우, 또는
- 로컬 노드와 높은 친밀도가 있는 경우(예를 들어, 특정 프로세서 또는 I/O 장치를 사용하는 경우이거나, 현재 노드의 로컬화된(localized) 큰 데이터를 사용하는 경우)이다.
대조적으로 에이전트의 크레딧 값이 감소하는 경우는,
- 작업량이 증가하는 경우,
- 서로 다른 노드 간의 에이전트와 통신이 증가하는 경우, 또는
- 에이전트의 높은 이동성 혹은 에이전트 메시지를 즉시 주고 받는 에이전트(참고로, 잦은 메시지 통신은 에이전트의 부하를 높임)인 경우이다.
각각의 에이전트는 위에 주어진 경우에 따라 크레딧 값을 할당받고, 그 크레딧 값에 따라 이주대상으로 선택되거나 계속 머문다. 모든 에이전트 ai는 속해 있는 서비스 q마다 작업 성향을 알기 위해 수학식 7과 같이 표현되는 크레딧 값 cri q을 개별적으로 가지고 있다.
Figure 112010070504955-pat00008
여기서, cri q는 서비스 q에 대한 에이전트 ai의 개별 크래딧 값을 나타내고, pi q는 서비스 q에 대한 로컬 노드의 부하를 나타내고, hi q는 서비스 q에 대한 내부 노드의 통신 부하를 나타내고, gi q는 서비스 q에 대한 외부 노드의 통신 부하를 나타내고, x1, x2, 및 x3은 에이전트의 서비스 의존 계수로서 양의 실수이다.
의존 계수가 높을수록 에이전트는 서비스를 할 때 외부 통신, 내부 통신, 및 로컬 노드와 의존도가 높아진다.
CM(Credit Manager)은 위의 정의된 VM과 마찬가지로 서비스와 에이전트 간의 관계를 크레딧으로 나타낸다. 따라서, 에이전트들의 관계는 2차원 행렬 모델로 나타내며 수학식 8와 같이 표현된다.
Figure 112010070504955-pat00009
여기서,
Figure 112010070504955-pat00010
이다.
CRi 값은 ai가 속한 서비스를 실행할 때 할당된 각각의 cri q값의 총 합으로서, 수학식 9와 같이 표현된다. 또한, CRi 값은 에이전트와 노드 간의 관계 정도를 나타내는 것으로 내부 통신은 양수 값이 부여되고 반대로 외부 통신은 음수 값이 부여된다.
Figure 112010070504955-pat00011
결국, 에이전트 크래딧(CRi)은 수학식 7에 의해서 계산되는 각각의 서비스에 대한 에이전트의 개별 크래딧을 모두 합산하여 산출된다.
각각의 에이전트의 크레딧 값이 계산되면, 에이전트의 크레딧 값을 고려하여 이주 대상 에이전트를 선택하는 단계(S113)로 넘어간다.
본 발명의 이주 대상 에이전트를 선택하는 단계(S113)에서는 효과적인 이주를 위하여, 크레딧 기반의 색인 모델을 사용한 에이전트 이주 정책을 제공한다. 시스템 관리자에 의해 설정된 임계점 LH보다 큰 부하를 갖고 미래의 예측 값이 지속적으로 증가하는 발신 노드(Sender Node)중에서 가장 작은 CR값을 갖는 에이전트를 선택하여 분산을 수행한다. 왜냐하면, 선택된 에이전트는 자신이 속한 서비스를 수행하는데 대부분의 시간을 원격지 에이전트와 통신하는데 사용하거나 로컬 노드와 친밀도가 낮기 때문에 로컬 노드의 부하 정도를 줄이기 위한 이주 후보로 가장 적합한 에이전트이다. 에이전트가 이주하면 외부 에이전트와의 과부하 통신은 수신 노드(Receiver Node)의 내부 통신으로 전환되기 때문에 부하를 줄일 수 있다. 추가적으로 에이전트 선택에 대해서 서비스 측면을 고려해야 한다. 단지 에이전트를 이주시키는 것만으로 서비스의 응답시간을 줄 일순 없다. 만약, 에이전트가 둘 이상의 서비스에 속해 있고 외부와의 통신으로 인한 부하가 가장 큰 상황에서 에이전트가 이주를 한다면 외부 에이전트와의 서비스 응답시간은 최소화되지만 이주한 에이전트가 수행하는 또 다른 서비스 응답시간은 최소화되지 않을 수도 있기 때문이다. 따라서, 복제 에이전트(clone agent)를 생성 후 이주시키고 서비스를 재구성한다. 이때, 재구성될 서비스는 에이전트가 갖는 CR 값 중 가장 낮은 값을 갖는 서비스이다. 그리고, 복제 에이전트는 항상 부모 에이전트를 기록하여 중복된 복제 에이전트가 오는 것을 방지할 수 있다. 이주 목적지에 동일 부모 에이전트가 존재한다면 이주하지 않고 동일한 부모를 가진 에이전트에게 서비스만 할당해준다. 시간의 흐름에 따라 다수의 서비스를 실행하는 에이전트는 복사 후 이주를 반복하게 되고 복제 에이전트 수가 증가하여 노드의 자원을 지속적으로 차지하게 된다. 따라서, LBMA는 관리자가 설정한 최소 통신 부하 값을 통하여 복제 에이전트를 감지하고 부모 에이전트에게 선택된 복제 에이전트의 서비스를 할당한 후 삭제한다.
본 발명에 따른 멀티 에이전트 시스템은 에이전트 이주를 지원하기 위해 멀티 에이전트 시스템을 모바일 에이전트 시스템과 결합한 것이다. 시스템 내의 에이전트는 한 노드에서 다른 노드로 이주할 수 있다. 이러한 이동 에이전트가 동적 환경 변화에 적응하면서 자율적으로 시스템을 이주하기 위해서는 시스템의 상태 정보는 물론 현재 수행 중이거나 시스템에 등록되어 있는 에이전트의 상태를 관리해야 한다. 또한 이주할 목적지 시스템의 위치를 관리하고 통신을 수행하기 위한 기능을 제공해야 한다. 목적지 노드는 하나 이상의 실행중인 에이전트를 가지고 있어야 한다. 멀티 에이전트 시스템에서 부하 분산 또는 고장 감내를 위한 이주를 실시한다. 이를 위해, 제안된 멀티 에이전트 시스템은 이주를 위해 원본 에이전트 또는 클론 에이전트를 사용한다. 이주 절차는 도 4와 같다. 이주를 요청하는 에이전트는 AMS 에이전트에 요청 메시지를 보낸다. 그리고 나서 AMS 에이전트는 이주 요청 에이전트에게 타임스탬프와 함께 인증 메시지를 보낸다. 에이전트는 인증 메시지와 함께 목적지 노드의 동적 라이브러리 에이전트에게 이주 요청 메시지를 전송한다. 동적 라이브러리 에이전트는 인증 메시지에 대해 인증과 유효성을 확인을 실시한 후, 에이전트 코드를 수신한다. 에이전트는 에이전트 목적지 노드에 스스로 이동하거나 클론 에이전트를 이동시킨다. 이주된 에이전트는 동적 라이브러리 에이전트에 의해서 실행되고 만약 이주된 에이전트가 클론 에이전트라면, 플랫폼에 스스로 등록한다.
에이전트 플랫폼은 도 5와 같이 하나의 에이전트 플랫폼 코어와 메시지 전송 프로토콜로 이루어진다. 에이전트 플랫폼 코어는 메인 컨테이너, 에이전트 컨테이너, 에이전트 디스크립션 테이블로 이루어진다. 메시지 전송 프로토콜은 기존의 에이전트 플랫폼이 정보를 제공하는 쪽에서 소비자 에이전트의 주소를 알아야 통신이 가능한 단점을 보완하기 위하여 이벤트 기반 통신을 지원한다. 또한 기존 에이전트 시스템에서 사용하는 중앙 집중형 수집 정책으로 인해서 발생하는 과부하를 줄이기 위해 분산된 정보 수집 정책을 지원하기 위한 에이전트 관계 메니저를 두었다. 에이전트 플랫폼은 에이전트의 참조 정보와 내부 에이전트를 관리하기 위해 사용되는 기능들을 포함한다. 다른 에이전트와의 통신을 원하는 에이전트는 해당 에이전트의 위치 정보를 알 필요 없이 오직 각 에이전트들이 갖고 있는 고유 AID(Agent Identification)만을 가지고 통신한다. 모든 ACL 메시지는 에이전트 플랫폼을 통한다. ACL 메시지를 수신하는 에이전트 플랫폼은 등록된 참조 정보를 이용하여 목적지 에이전트에 전달해준다. 제안된 에이전트 플랫폼에서는 AMS와 DF를 에이전트로 구현하여 각각 에이전트 플랫폼에 등록된다. 이는 JADE와 같은 기존 에이전트 플랫폼과 차별화된 기능 중 하나이다. 제안된 플랫폼에서 코어 모듈을 에이전트로써 구현함으로써 더욱 높은 견고성과 확장성을 갖는다.
에이전트 기반의 서비스 방식에서는 에이전트들이 에이전트 플랫폼에 분산되어 서비스를 제공할 수 있다. 그리고 각 에이전트들은 고유 AID(Agent Identification)를 가지고 있기 때문에 에이전트 서버를 통하여 메시지를 받을 에이전트의 검색이 쉽고 ACL을 사용하여 에이전트 간의 통신이 용이하다.
도 6은 에이전트 기반의 서비스를 웹을 통하여 제공하기 위한 구조를 나타낸다. 각각의 에이전트들은 자신이 제공하는 서비스를 DF 에이전트에게 등록한다. 여기서 하나의 에이전트가 한 개의 서비스를 제공할 수도 있고 다수에 에이전트가 하나의 서비스를 제공할 수도 있다. 그리고, 에이전트들은 자신에 대한 DFAgentDescription과 ServiceDescription을 작성하고 DF에 등록을 위한 요청 메시지를 보내게 된다. 이를 받은 DF는 메시지에 의해서 DF의 내부동작을 수행하게 된다. 에이전트가 작성한 디스크립션은 지식 베이스에 저장이 되고, 이렇게 등록된 에이전트의 서비스는 웹 서버와 공유를 함으로써 DF에 저장된 내용을 웹 브라우저를 통해서 쉽게 검색하고, 확인할 수 있다. 또한, 웹 클라이언트는 복잡한 로컬 상의 에이전트시스템의 DF에 서비스를 검색할 필요가 없고, 웹 브라우저로 노출된 에이전트들의 서비스에 대한 내용을 가시적으로 확인할 수 있다. 그리고, 멀티에이전트 시스템 안에서 에이전트는 부하 분산 서비스를 통하여 언제든지 요청하는 사용자에게 최적의 서비스 응답을 보장할 수 있다.
이하에서는, 본 발명에 따른 예측기반 부하 분산 기법의 평가를 위한 실험 환경을 설명하고 에이전트가 분산되어있는 노드에 부하에 따라 서비스 응답속도를 측정한다. 실험에서는 총 5개의 에이전트 서버들을 둔다. 각각 Pentium-4 2.80GHz 프로세서 및 2GB 메모리로 구성된 PC를 사용하여 구축했다. 성능 비교를 용이하게 하기 위하여 동종의 서버로 테스트를 한다. 본 실험에서는 기존의 부하 분산 방식으로 실제 측정된 부하 값과 본 발명에서 제안한 지수평균식을 이용한 예측 값을 비교한다. 이 경우, 표 2와 같이 에이전트를 등록하고 서비스를 진행한다.
유형 내부 노드 외부 노드 메시지 사이즈
a 2 1 50kbyte
b 3 2 50kbyte
λ가 0인 경우 최근의 측정값이 전혀 반영되지 않으며, λ가 1인 경우에는 최근의 측정값이 바로 예측 값이 되게 된다. 따라서, 본 발명에서는 λ = 0.5를 사용하여 과거와 현재에 측정된 부하 값을 같은 비중을 두어 미래의 부하 값을 예측하게 한다. 도 7 및 8은 실제 측정된 부하 값과 지수평균을 적용한 예측 값을 나타낸 그래프이다. 두 그래프는 실제 측정된 로드 값과 예측 값이 유사하게 증감이 나타남을 보여준다.
결과적으로, 현재의 측정값뿐만 아니라 과거의 측정값도 반영하기 때문에 작업 부하의 일시적인 증가나 감소에 따라 발생하는 불필요한 에이전트의 이주를 미리 예측하여 에이전트 이주로 인한 영향을 적게 받게 하였다.
또한, 제안한 예측 기반 부하 분산 방식을 적용한 멀티 에이전트 시스템의 성능을 테스트한다. 제안한 방식과 비교를 위해서 일반적으로 사용되는 순수 워크로드 기반의 부하 분산 방식을 구현하여 비교하였다. 이 방식 다른 에이전트와의 관계를 고려하지 않고 단지 수집한 워크로드(workload)만으로 에이전트를 선택하며 이주할 때는 고 부하에서 저 부하로 에이전트를 이동시킨다. 각각의 LBMA의 정보 수집 주기를 100ms으로 설정하여 LBMA에서 부하 정보를 수집한다. 이 경우, 표 3과 같이 서비스는 2가지 타입의 서비스들을 등록한다.
유형 에이전트 메시지 사이즈
a 5 50kbyte
b 5 100kbyte
각 타입의 서비스는 서로 할당된 작업부하가 틀리며 각각의 서비스는 고유 ID로 구분된다. 그리고 각 타입의 서비스 중 50% 는 중복 서비스를 하는 에이전트를 갖는다. 도 9 및 10은 테스트 결과를 나타낸다. 두 그래프는 두 가지 타입 갖는 서비스를 각각 10개씩 등록하여 모든 서비스에게 요청을 하고 응답을 받을 때까지의 시간을 부하 분산을 하지 않을 때와 일반적인 방식인 워크로드 기반의 부하 분산 그리고 우리가 제안한 성향기반의 부하 방식을 비교하여 나타내었다. 부하 분산을 하지 않을 경우 요청 수에 따라 큰 폭으로 응답시간이 늘어나는 것을 볼 수 있다. 그리고, 워크로드 기반의 부하 분산과 본 발명에 따른 방법은 요청 수가 적을 때는 응답시간이 큰 차이를 보이지 않다가 30개가 넘어가면서 점차 워크로드 기반의 방법은 응답시간이 크게 증가 하기 시작한다는 것을 알 수 있다. 그리고, 작업량이 큰 서비스일수록 그 차이는 더 크다. 그리고, 60개 요청을 했을 경우에는 요청시간이 큰 차이가 나는 것을 볼 수 있다. 따라서, 도 9 및 10에서의 그래프의 결과는 예측기반 부하 분산방식이 에이전트의 작업 부하가 증가하면 에이전트를 이주나 복제를 통해서 부하의 증가를 줄이고 사용자에게 최적화된 서비스 응답시간을 보여준다는 것을 알 수 있다.
이상의 설명은 본 발명의 기술 사항을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이런 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (5)

  1. 각각의 노드가 로드 밸런싱 관리 에이전트(LBMA)를 가지는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법으로서,
    LBMA가 수집 시작 시간과 수집 주기에 따라서 LBMA가 속한 노드에 대한 부하 정보를 수집하는 제1 단계;
    상기 부하 정보를 이용하여 각각의 에이전트에 대해서 에이전트 현재 작업량을 산출하는 제2 단계;
    에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트 현재 작업량을 이용해서 에이전트의 예측된 미래 작업량을 산출하여, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량을 초과하면 에이전트의 작업부하가 감소하는 추세라고 판단하고, 에이전트 현재 작업량이 에이전트의 예측된 미래 작업량 이하이면 에이전트의 작업부하가 증가하는 추세라고 판단하는 제3 단계; 및
    에이전트의 작업부하가 증가하는 추세라고 판단되고 에이전트 현재 작업량이 부하 임계점 이상인 경우에, 에이전트의 로컬 노드 부하, 에이전트의 내부 통신 부하, 및 에이전트의 외부 통신 부하를 이용하여 각각의 에이전트에 대해서 에이전트 크래딧 값을 산출하고 가장 작은 에이전트 크래딧 값을 가지는 에이전트를 이주대상 에이전트로 선택해서 이주시키는 제4 단계;를 포함하는 것을 특징으로 하는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 에이전트 현재 작업량은 하기 수학식 1에 의해서 계산되는 각각의 서비스에 대한 에이전트의 개별 작업량을 모두 합산하여 산출되는 것을 특징으로 하는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법.
    <수학식 1>
    Figure 112010070504955-pat00012

    여기서, vi q는 서비스 q에 대한 에이전트의 개별 작업량을 나타내고, ci q는 노드에서 서비스 q에 대한 에이전트가 차지하는 CPU 점유율을 나타내고, hi q는 서비스 q에 대한 내부 노드의 통신 부하를 나타내고, gi q는 서비스 q에 대한 외부 노드의 통신 부하를 나타냄.
  4. 제 3 항에 있어서,
    상기 에이전트의 예측된 미래 작업량은 하기 수학식 2에 의해서 산출되는 것을 특징으로 하는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법.
    <수학식 2>
    Figure 112010070504955-pat00013

    여기서, Li + 1는 에이전트의 예측된 미래 작업량을 나타내고, li는 에이전트 현재 작업량을 나타내고, Li는 에이전트의 예측된 현재 작업량을 나타내고, λ는 li와 Li를 어느 정도의 비율로 반영하여 Li + 1를 계산할 것인지를 결정하는 조정 값임.
  5. 제 4 항에 있어서,
    상기 에이전트 크래딧 값은 하기 수학식 3에 의해서 계산되는 각각의 서비스에 대한 에이전트의 개별 크래딧 값을 모두 합산하여 산출되는 것을 특징으로 하는 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법.
    <수학식 3>
    Figure 112010070504955-pat00014

    여기서, cri q는 서비스 q에 대한 에이전트의 개별 크래딧 값을 나타내고, pi q는 서비스 q에 대한 로컬 노드의 부하를 나타내고, hi q는 서비스 q에 대한 내부 노드의 통신 부하를 나타내고, gi q는 서비스 q에 대한 외부 노드의 통신 부하를 나타내고, x1, x2, 및 x3은 에이전트의 서비스 의존 계수임.
KR1020100106785A 2010-10-29 2010-10-29 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법 KR101196605B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106785A KR101196605B1 (ko) 2010-10-29 2010-10-29 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106785A KR101196605B1 (ko) 2010-10-29 2010-10-29 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법

Publications (2)

Publication Number Publication Date
KR20120045321A KR20120045321A (ko) 2012-05-09
KR101196605B1 true KR101196605B1 (ko) 2012-11-02

Family

ID=46264807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106785A KR101196605B1 (ko) 2010-10-29 2010-10-29 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법

Country Status (1)

Country Link
KR (1) KR101196605B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108835B1 (ko) 2018-04-24 2020-05-29 주식회사 넥서스커뮤니티 예측 로드 밸런싱 방법 및 장치 그리고 예측 로드 밸런싱 방법이 수록된 컴퓨터로 읽어들일 수 있는 기록 매체
KR102427473B1 (ko) * 2020-09-29 2022-08-01 한국전자기술연구원 마이크로 데이터센터내 가용 자원상태 기반 워크로드 예측 정확도 증가 방법
CN112288341B (zh) * 2020-12-29 2021-04-13 青岛泛钛客科技有限公司 基于多智能体强化学习的信贷工厂订单调度方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600229B1 (en) 2003-09-30 2009-10-06 Emc Corporation Methods and apparatus for load balancing processing of management information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600229B1 (en) 2003-09-30 2009-10-06 Emc Corporation Methods and apparatus for load balancing processing of management information

Also Published As

Publication number Publication date
KR20120045321A (ko) 2012-05-09

Similar Documents

Publication Publication Date Title
Sundararaj Optimal task assignment in mobile cloud computing by queue based ant-bee algorithm
Cicconetti et al. A decentralized framework for serverless edge computing in the internet of things
Balasangameshwara et al. Performance-driven load balancing with a primary-backup approach for computational grids with low communication cost and replication cost
Aljanabi et al. Improving IoT services using a hybrid fog-cloud offloading
EP2707795A1 (en) Allocation of virtual machines in datacenters
Yao et al. Using crowdsourcing to provide QoS for mobile cloud computing
Boukerche et al. A task-centric mobile cloud-based system to enable energy-aware efficient offloading
Adhikary et al. Quality of service aware cloud resource provisioning for social multimedia services and applications
Jazayeri et al. A latency-aware and energy-efficient computation offloading in mobile fog computing: a hidden Markov model-based approach
Guan et al. A novel mobility-aware offloading management scheme in sustainable multi-access edge computing
Gabi et al. Systematic review on existing load balancing techniques in cloud computing
KR101196605B1 (ko) 멀티 에이전트 시스템에서의 동적 로드 밸런싱 방법
Melhem et al. Selection process approaches in live migration: A comparative study
Mahmoudi et al. SDN-DVFS: an enhanced QoS-aware load-balancing method in software defined networks
Saravanakumar et al. A novel load balancing algorithm for computational grid
EP2645625B1 (en) Computer system and subsystem management method
Abdulazeez et al. A Novel Offloading Mechanism Leveraging Fuzzy Logic and Deep Reinforcement Learning to Improve IoT Application Performance in a Three-Layer Architecture Within the Fog-Cloud Environment
Mughal et al. Efficient Allocation of resource-intensive mobile cyber–physical social system applications on a heterogeneous mobile ad hoc cloud
Son et al. Prediction-based dynamic load balancing using agent migration for multi-agent system
KR101079477B1 (ko) 에이전트 작업부하를 반영한 부하 분산 방법
Kumar et al. A priority based dynamic load balancing approach in a grid based distributed computing network
Guan et al. Design and implementation of offloading and resource management techniques in a mobile cloud environment
CN112948114B (zh) 边缘计算方法和边缘计算平台
WO2015092873A1 (ja) 情報処理システム及び情報処理方法
Yahaya et al. Dynamic load balancing policy with communication and computation elements in grid computing with multi-agent system integration

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee