KR20070058097A - 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법 - Google Patents

컨텍스트 지향 이벤트 서비스 시스템 및 그 방법 Download PDF

Info

Publication number
KR20070058097A
KR20070058097A KR1020050116403A KR20050116403A KR20070058097A KR 20070058097 A KR20070058097 A KR 20070058097A KR 1020050116403 A KR1020050116403 A KR 1020050116403A KR 20050116403 A KR20050116403 A KR 20050116403A KR 20070058097 A KR20070058097 A KR 20070058097A
Authority
KR
South Korea
Prior art keywords
event
context
channel
oriented
service
Prior art date
Application number
KR1020050116403A
Other languages
English (en)
Other versions
KR100735667B1 (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 KR1020050116403A priority Critical patent/KR100735667B1/ko
Publication of KR20070058097A publication Critical patent/KR20070058097A/ko
Application granted granted Critical
Publication of KR100735667B1 publication Critical patent/KR100735667B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

이벤트 서비스에서 기존의 필터링 기능으로 생기는 오버헤드를 어댑터로 감소시키기 위한 리플렉티브하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법에 관한 것으로, 유무선 환경에서 경량화 디바이스와 함께 커뮤니케이션 프로토콜을 사용하여 시추에이션과 컨텍스트 기반의 분산 서비스를 제공하는 커뮤니케이션 플랫폼 층, 서비스의 효율성을 최대화하고, 스스로 환경에 적응하며, 에이전트 시스템의 이점을 적응시키는 컴포넌트로 구성된 에이전트 플랫폼 층, 지능적인 서비스를 제공하기 위해 자가성장 엔진과 온톨로지 기반 상황 인식 엔진으로 구성된 외부 층, 에이전트 기반 플랫폼을 구성하기 위한 툴을 구비한 CALM을 포함하는 구성을 마련한다.
상기와 같은 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법을 이용하는 것에 의해, ERP 시스템 통합 분야와 금융 시스템, 공항사 및 항공사의 MQ 서버의 성능을 개선할 수 있다.
컨텍스트, 에이전트, 리플렉티브, 어댑터

Description

컨텍스트 지향 이벤트 서비스 시스템 및 그 방법{CORBA-based Adaptive Bridging Pool System and Method thereof}
도 1은 본 발명에 따른 컨텍스트 지향 이벤트 서비스의 아키텍처가 적용되는 CALM의 구조도,
도 2는 본 발명에 따른 어댑터를 사용하는 컨텍스트 지향 채널 관리의 흐름도,
도 3은 본 발명에 따른 계층적인 컨텍스트 구조 맵핑의 구조도,
도 4는 본 발명에 따른 이벤트 채널과 콘슈머(consumer) 사이에 재전송 처리의 구조도,
도 5는 본 발명에 따른 리플렉티브 필터링 처리의 구조도,
도 6은 본 발명에 따른 발명한 이벤트 서비스와 기존 옴니이벤트 서비스의 성능 비교 분석 그래프,
도 7은 본 발명에 따른 발명한 이벤트 서비스와 TIBCO의 성능 비교 분석 그래프,
도 8은 종래의 이벤트 모니터링 시스템의 전체 구성도.
본 발명은 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 아키텍처에 관한 것으로, 특히 이벤트 서비스에서 기존의 필터링 기능으로 생기는 오버헤드를 어댑터로 감소시키기 위한 리플렉티브하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법에 관한 것이다.
유비쿼터스 환경에서 어댑티브하고 리플렉티브 시스템은 이벤트(환경, 시스템, 사용자 정보 등)를 신뢰성 있고 신속하게 전송하고 수신해야 한다. 또한, 다양한 이벤트 정보 중에서 필요 없는 것을 구별하는 필터링 기능도 필요하다.
과거에 많은 연구자들은 분산 컴퓨팅 환경에서 애플리케이션과 시스템들의 개발을 용이하게 하기 위해 미들웨어 기술들을 개발했다.
미들웨어(Middleware)라 함은 두 개 이상의 시스템 또는 프로그램 사이에서 둘 사이를 중재하거나 매개 역할을 하는 소프트웨어로 분산 컴퓨팅(Distributed Computing) 환경에서 서로 다른 프로토콜, 운영체제(Operating System), 데이터베이스(Database), 응용프로그램 간의 통신기능을 제공하는 모든 소프트웨어를 말한다.
따라서, 미들웨어는 분산성, 상호운영성(Interoperability), 이식성(Portability)을 향상시키기 위한 플랫폼 투명성(Platform Transparency), 네트워크 투명성 및 독립성(Network Transparency and Isolation), 위치의 투명성(Locational Transparency), 클라이언트-서버 연결성(Clinet-Server Connectivity)을 지원하는 기술들로 구성된다.
이러한 미들웨어는 소프트웨어 개발자와 운영 체제 특정 애플리케이션 프로그래밍 인터페이스(API)를 격리시키는 것을 돕는 그 자신의 API를 구비한 소프트웨어이다. 미들웨어 계층은 종종 클라이언트 프로세스와 서버 프로세스 사이에 위치한다. 애플리케이션의 미들웨어 계층과 연관된 루트 시간을 측정함으로써 문제를 식별하고 수정하여 개선된 성능 및 가용성을 얻을 수 있다.
또, CORBA(Common Object Request Broker Architecture)는 네트웍에서 분산 프로그램 객체를 생성, 배포, 관리하기 위한 구조와 규격이며, 애플리케이션 객체들 사이에서 투명한 통신 방법을 제공하는 표준으로 알려져 있다. OMG라는 개발자 연합에 의해 제안된 CORBA 표준은 ORB(Object Request Broker)를 사용해 분산 환경에서 이기종 시스템간 통신을 가능하게 한다. ORB를 사용하는 클라이언트는 개발 언어나 위치(로컬 또는 리모트)에 상관없이 투명하게 서버 객체의 메소드를 호출할 수 있다. 또한 CORBA 표준은 각 ORB가 가져야하는 인터페이스들과 서비스들을 명세한다. 그 명세는 인터페이스를 묘사하기 위해 IDL을 포함한다.
또한 현재 미들웨어는 전송 스택 미들웨어, 네트워크 운영체제 미들웨어, 데이터베이스 미들웨어, 트랜잭션(Transaction) 미들웨어, 객체관리 미들웨어(CORBA:Common Object Request Broker Architecture), 리플렉티브(Reflective) 목적 지향 미들웨어, 튜플스페이스(TupleSpace) 기반 미들웨어, 문맥인지 미들웨어, 기타 미들웨어(Jini, Coda, XMIDDLE) 등이 상용화되고 있다.
그러나 분산 애플리케이션의 개발을 목적으로 하고 있음에도 불구하고, 전통적인 미들웨어 기술들은 새로운 퍼베이시브 컴퓨팅 환경의 동적인 관점에 지원이 부족하다.
퍼베이시브 컴퓨팅 환경에서 애플리케이션은 환경 변화에 적응적인 미들웨어를 요구한다. 이러한 미들웨어를 어댑티브하고 리플렉티브 미들웨어라 한다.
어댑티브 미들웨어는 기능적인 동작이 환경의 조건 혹은 요구 조건에 변화에 효율적으로 반응하기 위해 동적으로 수정되는 소프트웨어 시스템이다. 적응성은 관리자에 의해 구성 파일이나, 다른 프로그램으로부터 명령, 혹은 사용자들로부터 요청에 의해 만들어진 변화에 따라 실행이 될 수 있다. 실행시간 어댑티브 시스템의 기본적인 요구 사항은 측정, 보고, 피드백 그리고 안전성이다.
리플렉티브 미들웨어는 어댑티브 미들웨어가 이루어졌을 때 그 다음 논리적인 단계이다. 리플렉티브 시스템은 그의 기능과 운용 환경에 대해 추론하고 검사할 수 있으며, 실행시간에 자가 적응(self-adapt)하기 위해 그것을 허락한다. 또한, 리플렉티브 시스템은 내부 시스템에서 실행시간에 적용되고 처리되는 것을 허락할 수단을 통해 제공하고 있는 어댑티브 미들웨어 위에 구성된다.
이런 방법은 시스템 기능의 자동 자기검사(self-examination), 기능의 평준화, 자동 조절을 가능케 한다. 이 리플렉티브 미들웨어는 고도 동적 환경을 다루는 중요하고 효율적인 방법이지만 아직 유연하고 적응적인 시스템과 애플리케이션의 개발을 지원하는 것은 미흡한 상태이다.
또한, 대부분의 분산 처리 시스템에서는 이벤트의 공급을 담당하는 공급자와 이벤트의 소비를 담당하는 소비자가 있고 이들을 연결해주는 이벤트 관리 서버가 있으며 공급자와 소비자 사이에 전달되어 지는 이벤트의 수는 한정되어있다. 또 한, 분산 처리 시스템의 대부분은 실시간 운영체제를 도입하여 요청해온 이벤트들에 대한 처리를 우선시하고 시스템 자원 제한이 존재하여 GUI 화면을 제공하지 않고 있다. 그러나 광범위한 지역에 분산된 대규모 분산 시스템에서는 이벤트 공급자와 이벤트 소비자 사이에 제공되고 소비되는 이벤트의 수는 무한히 발생 가능하며 네트워크 및 이벤트 관리 서버의 성능은 유한하므로 발생하게 되는 문제에 대해 관리자는 문제 발생 원인을 신속하게 파악하여 대처할 수 없다.
광범위한 지역에 분산된 대규모 분산 시스템에서는 이벤트 공급자와 이벤트 소비자 사이에 제공되고 소비되는 이벤트의 수는 무한히 발생 가능하며 네트워크 및 이벤트 관리 서버의 성능은 유한하므로 서버의 과부화, 네트워크 병목 현상 등 여러 가지 원인 들로 인한 문제 발생시 이벤트 관리 서버를 관리하는 관리자의 입장에서 일반적인 콘솔화면에서는 신속하게 파악하고 대처하는데 어려움이 있다.
또한 종래의 이벤트 서비스 기술에는 Publish-Subscribe 모델과 TIBCO 기술이 존재한다. Publish-Subscribe 모델의 이벤트 서비스는 푸쉬 모델과 풀 모델로 구분되고 있다. 이 모델은 각각 공급자(supplier), 소비자(consumer), 그리고 채널로 각각 구성 된다. 공급자는 이벤트를 생성하고 소비자는 이벤트 서비스 서버로부터 이 생성된 이벤트를 수신하는 역할을 한다. 이 공급자와 소비자는 하나 혹은 그 이상의 이벤트 채널로 연결되어 있다.
이벤트 채널은 공급자에서 소비자로나 그 반대로도 이벤트를 전송하고, 이벤트 서비스 서버 안에서 중심의 중개자로 작업을 한다. 이벤트 채널은 공급자와 소비자 등록 역할을 하며, 등록된 모든 소비자에게 신뢰성 있는 이벤트 전송을 한 다. 그리고 반응이 늦은 소비자에게 발생되는 에러를 제어한다.
또 이벤트 서비스 서버는 이벤트 전송 형태에 있어서 두 가지인 푸쉬(Push), 풀(Pull) 모델을 제공한다. 푸쉬 모델에서, 공급자는 proxyconsumer를 통해 이벤트 채널에게 이벤트를 푸쉬하고, 이 이벤트를 받은 이벤트 채널은 proxysupplier를 통해 소비자에게 이벤트를 푸쉬 한다. 이런 푸쉬 모델에서는 공급자에서 소비자 방향으로 이벤트가 전송된다.
이와 반대로, 풀 모델에서는 소비자에서 이벤트 채널에게 proxysupplier을 통해 이벤트를 요청하고, 이벤트 채널에 proxyconsumer를 통해 공급자에게 이벤트를 요청하는 방식을 취한다. 이벤트 채널에는 다수의 공급자와 소비자가 연결될 수 있다.
또한, 이벤트 채널은 공급자와 소비자가 다른 모델을 사용하기 원할 때에는, 이벤트 전송을 위한 다른 모델 조합을 지원한다(push/push, push/pull, pull/push, and pull/pull). 이런 모델들은 공급자와 소비자들의 역할이 모델 형태에 따라 달라진다.
또 다른 형태에 이벤트 서비스 기술로 TIBCO RV(Rendezvous)가 있다. 이 TIBCO RV는 TIBCO API와 RVD(Rendezvous Communications Daemon)를 사용한다. 여기서 각 프로세스는 각 Rendezvous API 라이브러리와 연결되어 있다. 대부분의 환경에서, 각각의 호스트 컴퓨터에서는 각각 하나의 RVD가 실행된다.
또한 각 호스트에는 그 기능을 강화하기 위해 RVRD(Router Daemon)과 같은 컴포넌트와 작업 매니저인 RVTX도 같이 실행된다. 만약 컴퓨터 1에서 하나의 프로 그램A와 데몬이 실행되고 있으면, 컴퓨터 2에서는 두 개의 프로그램 B, C와 하나의 데몬이 실행되고 있는 상태이다. 이런 환경에서는 세 개의 프로그램들은 데몬을 통해 서로 통신할 수 있다.
그리고 TIB(TIBCO Information Bus)의 서비스 포트와 하나의 RVD 인스턴스와 연결된 RV는 메시지를 송수신하는데 사용된다. TIB은 TRDP/UDP/IP 프로토콜의 가상 채널이다. TRDP(TIBCO Reliable Data Protocol)는 신뢰성 있는 메시지 전송을 위해 메시지 신뢰성에 문제점이 있는 UDP 프로토콜 상단에 위치시킨다.
그리고 WAN 환경에서 통신을 지원하기 위해서 TIBCO RV는 각 서브 네트워크에 RVRD가 필요하며, 작업 관리를 위해 네트워크 당 RVTX도 필요하다. TIBCO RV는 신뢰성, 검증, 그리고 트랜잭션 메세징을 지원한다. 신뢰성 있는 메세징을 위해서, RVD는 메시지 전송의 신뢰성을 관리하고, RV 내부구조는 메시지를 송수신하는데 사용된다.
영속적인과 비영속적인 메시지를 위해 검증된 메세징(Certified Messaging CM)에서, RVD는 더 이상 신뢰성을 조절하지 않고, 오직 메시지 채널링 매체로 사용된다. 이런 검증된 메세징을 조절하기 위해서 RV 내부구조에는 부가적인 서비스를 포함하고 있다. 그리고 RVTX는 트랜잭션 메세징을 관리하는 역할을 한다.
또한, RV 피어(Peer)는 주제 기반 목적지(Subject Based Destination) 기술을 통해 메시지를 전송하고, 유니캐스트, 멀티 캐스트, 그리고 브로드캐스트 방식으로 메시지 전송을 할 수 있다.
메시지를 수신하는 피어는 메시지를 받기 위해 주제(Subject)를 등록한다. 유니캐스트 방식에서 발신자는 수신자에게 메시지를 전송하기 위해 주제에 의해 표현된 수신하는 피어의 유일한 ID를 사용한다. 멀티캐스트 방식에서, 네트워크 IP 주소는 메시지가 전송되는 컴퓨터 그룹을 지정하기 위해서 사용된다. 브로드캐스트 방식에서, 메시지는 네트워크에 있는 모든 컴퓨터들에게 전송된다. 그 컴퓨터들에게 메시지가 필요하든지 없든지 상관없이 모든 컴퓨터에게 메시지를 전송하는 방식이다.
또한 이러한 이벤트 서비스의 관리에 관한 일 예가 대한민국 공개특허공보 2004-0052016호(2004년06월19일)등에 개시되어 있다.
상기 공개특허공보 2004-0052016호에는 도 8에 도시된 바와 같이, 이벤트 공급자(104)는 발생하는 이벤트의 이름 및 구체적인 패턴을 인터넷 등의 통신망(103)을 통하여 이벤트 관리 서버(101)에 등록하고, 실시간으로 발생하는 이벤트를 이벤트 관리 서버(101)에 전송하며, 이벤트 소비자(105)는 관심 있는 이벤트의 패턴 조건식을 인터넷 등의 통신망(103)을 통하여 이벤트 관리 서버(101)에 등록하며, 이벤트 관리 서버(101)는 패턴 조건식을 만족하는 이벤트만을 이벤트 소비자(105)에게 전달하며, 그 후 이벤트 모니터링 시스템(102)은 주기적으로 이벤트 관리 서버(101)에게 이벤트 공급자(104)에 의하여 등록된 이벤트의 이름 및 패턴 조건식, 이벤트 소비자(1055)가 관심 있는 이벤트 및 패턴 조건식과 현재 이벤트 공급자(104)와 이벤트 소비자(105)의 연결 정보를 요청하며 이벤트 관리 서버는 이 요청에 부응하여 해당되는 정보를 송신하며, 이벤트 모니터링 시스템(102)은 이 정보를 수신하여 로깅 과정을 통해 데이터베이스로 저장하며, 이벤트 모니터링 시스 템(102)이 이 정보를 GUI 기반으로 화면에 표현하여 이벤트 관리 시스템 관리자가 직관적으로 현재의 상황을 알아 볼 수 있도록 하는 구성에 대해 개시되어 있다.
통상 퍼베이시브 컴퓨팅 환경에서 어댑티브하고 리플렉티브 시스템은 이벤트(환경, 시스템, 사용자 정보등)를 신뢰성 있고 신속하게 전송하고 수신해야 한다. 또한, 다양한 이벤트 정보 중에서 필요 없는 것을 구별하는 필터링 기능도 필요하다. 예를 들어, 시스템의 컴포넌트는 환경, 시스템, 그리고 사용자 정보와 관련된 몇몇의 이벤트 정보를 수신할 것이다.
그러나 컴포넌트는 이런 모든 이벤트 정보를 모두 필요하지 않고 단지 몇몇의 정보만 사용한다. 따라서, 컴포넌트는 이런 네트워크 부하를 감소하기 위해 필터 기능이 필요하다. 이 요구조건은 메세징, 메시지 지향 미들웨어, 메시지 큐잉, publish-subscribe 모델처럼 특징을 갖는 다양한 미들웨어 제품을 만족 시켜야 한다. publish-subscribe 모델은 필터링 기능을 사용하는 가장 대표적인 이벤트 전송 모델이다. 이 모델을 사용하는 존재하는 기술에는 JMS (Java Message Service), CORBA 이벤트 서비스, and TIBCO RV 있다.
이들 중에 본 발명에서는 CORBA 이벤트 서비스를 사용하며, 이 이벤트 서비스는 CORBA에서 제공되는 서비스 중에 하나이다. CORBA 이벤트 서비스는 객체들 사이에 비동기적이 통신과 객체 사이의 독립성을 지원해주지만, CORBA 이벤트 서비스에서는 신뢰성 문제을 다루지 않고 있다. 이벤트가 전송할 때 정보를 잃어 버릴 수 있는 문제를 확인할 수 없다는 것이다.
따라서 TAO와 Visibroker 포함한 대표적인 CORBA 기반 미들웨어의 이벤트 서비스는 이 신뢰성 통신 부분을 분리하여 지원하고 있다. 이들 대부분의 CORBA 기반 미들웨어는 불필요한 이벤트를 처리하기 위해 필터링 기능을 지원하고 있으며, 주로 이벤트 채널을 통해 다루고 있다.
그 결과로 상술한 바와 같은 종래의 기술에 있어서는 이러한 필터링 기능이 대부분의 CORBA 기반 미들웨어의 이벤트와 알림 서비스를 사용하는 이벤트 서버에 오버헤드를 발생시킨다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위해 이루어진 것으로서, 리플렉티브 컨텍스트 지향 이벤트 서비스로서 기존의 필터링 기능에서 생기는 오버헤드 문제를 어댑터를 사용하여 감소시키는 리플렉티브 필터링 기능과 신뢰성 통신도 지원하는 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법을 제공하는 것이다.
본 발명의 다른 목적은 균등한 부하를 분산하기 위해 리플렉티브하고 동적인 컨텍스트 지향 채널 관리를 지원하는 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템은 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 시스템 에 있어서, 유무선 환경에서 경량화 디바이스와 함께 커뮤니케이션 프로토콜을 사용하여 시추에이션과 컨텍스트 기반의 분산 서비스를 제공하는 커뮤니케이션 플랫폼 층, 서비스의 효율성을 최대화하고, 스스로 환경에 적응하며, 에이전트 시스템의 이점을 적응시키는 컴포넌트로 구성된 에이전트 플랫폼 층, 지능적인 서비스를 제공하기 위해 자가성장 엔진과 온톨로지 기반 상황 인식 엔진으로 구성된 외부 층, 에이전트 기반 플랫폼을 구성하기 위한 툴을 구비한 CALM(Component-based Autonomic Layered Middleware)을 포함하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 CALM은 에이전트 개발 툴킷과 상황 데이터를 제공하는 컴포넌트를 개발할 때 상황 정보를 표현하기 위한 컨텍스트 지향 인터페이스 정의 언어를 지원하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 커뮤니케이션 플랫폼은 ORB를 통해 상황 인식을 지원하기 위한 이벤트 서비스와 컨텍스트 기반 네이밍 서비스 및 네트워크 환경, 로드 밸런싱, 보안, 고장 감내를 적용하기 위한 트랜잭션 서비스와 동적 프로토콜 바인딩을 제공하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 에이전트 플랫폼은 에이전트가 자가생성, 자가관리, 자가소멸 작용을 실행할 수 있는 에이전트 컨테이너 서비스를 제공하고, 디스커버리와 상황 인식 엔진을 통해 에이전트와 서비스를 발견하는 것에 의해 동적으로 재구성하는 재구성 모듈과 커뮤니티 안에 에이전트들을 관리하는 에이전트 관리 시스템을 포함하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 에이전트는 지능형 에이전트 서비스와 계층적인 구조에 함께 요소들의 그룹핑을 위한 컨텍스트 정보의 카테고리와 컨텍스트 정보를 정의하기 위해 사용되는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 컨텍스트를 효율적으로 조작하기 위해 상기 CORBA의 IDL과 헝가리 표기를 사용하여 접두사, 중간자, 그리고 접미사를 정의하는 것을 통해 컴포넌트의 역할을 정의하는 COIDL을 더 포함하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템에 있어서, 상기 이벤트 서비스는 신뢰성 있는 통신을 위해 이벤트 넘버링과 이벤트 큐를 사용하는 것을 특징으로 한다.
또한 상기 목작을 달성하기 위해 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법은 어댑터, 이벤트 채널 관리자 및 채널로 구성된 시스템의 컨텍스트 지향 이벤트 서비스 방법에 있어서, 이벤트 서버가 작동됐을 때, 상기 이벤트 채널 관리자가 네이밍 서비스에 등록하는 단계, 공급자와 소비자가 이벤트 서버의 위치를 찾는 단계, 상기 어댑터가 CALM과 접속이 됐을 때, 상기 어댑터가 컨텍스트와 특정한 어댑터 정보로 구성된 일정의 프로파티를 가지는 채널 생성을 요청하기 위해 디폴트 채널을 사용하는 단계, 상기 이벤트 채널 관리자가 적합한 이름을 할당하여 이 벤트 채널을 생성하는 단계, 디스커버리 에이전트가 컨텍스트 지향 이벤트 채널에 접속하기 위해 컨텍스트와 관련된 채널 이름을 제공하는 단계, 컨텍스트 공급자가 컨텍스트 지향 이벤트 채널을 통해 컨텍스트 정보를 전송하고 어댑터 그룹이 그 컨텍스트 정보를 받는 단계를 포함하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 디폴트 채널은 디스커버리 안에서 플랫폼 관리자에 의해 관리되는 하나의 어댑터 그룹 채널인 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 생성하는 단계에서 생성된 이벤트 채널은 동적 관리를 위해 컨텍스트 공급자와 함께 관리자에 의해 모니터되는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 어댑터는 리플렉티브 컨텍스트 지향 이벤트 서비스를 사용하는 시스템과 애플리케이션의 개발에 있어서 개발자를 지원하고, 하나의 공급자와 하나의 소비자당 하나의 이벤트 큐만큼 멀티 스레드를 지원하고, 공급자 경우에 소비자가 사용할 필요없는 이벤트를 필터링하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 채널의 생성과 관리는 계층적인 컨텍스트 구조에 디스커버리를 통해 에이전트에 요구된 컨텍스트에 따라서 동적으로 실행되는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 이벤트 서비스는 신뢰성 있는 통신을 위해 이벤트 넘버링과 이벤트 큐를 사용하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 이벤트 채널과 어댑터는 각각 이벤트 큐를 갖고, 공급자의 어댑터가 상기 이벤트 채널에게 메시지를 보내기 전에 그 자신의 이벤트 큐에 저장한 후에, 상기 공급자의 어댑터가 상기 이벤트 채널에게 이벤트를 보내는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 어댑터가 상기 이벤트 채널로부터 재전송 요청을 받는 경우에, 상기 어댑터가 상기 이벤트 큐에 이벤트를 재전송하는 것을 특징으로 한다.
또 본 발명에 따른 컨텍스트 지향 이벤트 서비스 방법에 있어서, 상기 공급자의 어댑터는 애플리케이션이 이벤트들로부터 채널을 받기 위해 지시하지 않고 있었던 이벤트를 여과하여 제거하는 것을 특징으로 한다.
또 상기 목적을 달성하기 위해 본 벌명에 따른 컨텍스트 지향 이벤트 서비스 시스템은 계층적인 컨텍스트 구조 맵핑으로서, 이벤트 채널 관리자에 의해 관리되고 이벤트 채널 관리자에 의해 생성되는 채널 메시지를 통해 자동적인 채널, 채널 이름, 채널 삭제를 실행하는 컨테스트 지향 채널, 리플렉티브 채널 서버, 컴포넌트의 역할을 정의하는 COIDL과 컨텍스트 기반 네이밍 서비스를 포함하는 것을 특징으로 한다.
본 발명의 상기 및 그밖의 목적과 새로운 특징은 본 명세서의 기술 및 첨부 도면에 의해 더욱 명확하게 될 것이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시 예를 첨부된 도면을 참조로 하여 상세히 설명하기로 한다.
본 발명에 따른 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 아키텍처는 CALM(Component-based Autonomic Layered Middleware) 프로젝트에 관한 것이다.
도 1은 본 발명에 따른 컨텍스트 지향 이벤트 서비스의 아키텍처가 적용되는 CALM의 구조도이다.
도 1에 도시하는 바와 같이, CALM은 효율적이고 유연한 시스템을 구축하기 위해서 리플렉티브 패러다임과 에이전트 시스템이 적용되고, 유용한 개발 툴을 제공한다. CALM은 두 개의 내부 층(Layer), 하나의 외부 층, 그리고 효율적인 에이전트 기반 플랫폼을 구성하기 위해 다양한 툴로 구성되어 있다.
그 내부 층은 커뮤니케이션 플랫폼 층과 에이전트 플랫폼 층으로 구성되어 있다.
커뮤니케이션 플랫폼 층은 유무선 환경에서 경량화 디바이스와 함께 커뮤니케이션 프로토콜을 사용하여 시추에이션(Situation)과 컨텍스트(Context) 기반의 다양한 분산 서비스를 제공할 수 있게 구성된다.
에이전트 플랫폼 층은 이 플랫폼이 서비스의 효율성을 최대화 할 수 있고, 스스로 환경에 적응할 수 있고, 다양한 에이전트 시스템의 이점을 적응시킬 수 있는 컴포넌트로 구성된다.
외부 층은 지능적인 서비스를 제공하기 위해 자가성장 (Self-Growing)엔진과 온톨로지(Ontology) 기반 상황 인식(Situation Awareness) 엔진으로 구성된다. 또, CALM은 에이전트 개발 툴킷과 상황 데이터를 제공하는 컴포넌트를 개발할 때 효율적으로 상황 정보를 표현하기 위해서 컨텍스트 지향 인터페이스 정의 언어(Context-oriented interface definition language)를 지원한다.
커뮤니케이션 플랫폼은 ORB를 통해 효율적인 상황 인식(Situation-Awareness)을 지원하기 위해 이벤트 서비스와 컨텍스트 기반 네이밍 서비스(Context-based naming service)을 제공한다.
또한, 다양한 네트워크 환경, 로드 밸런싱, 보안, 고장 감내, 그리고 그 외에 기능 들을 적용하기 위해 트랜잭션 서비스(Transaction Service)와 동적 프로토콜 바인딩(Dynamic Protocol Binding)을 제공한다.
임베디드 장치를 위한 커뮤니케이션 플랫폼은 이벤트-기반 서비스를 제공한다. 그래서 커뮤니케이션 플랫폼에서, 임베디드 장치는 리플렉티브 컨텍스트 지향 이벤트 서비스의 어댑터를 사용하는 지능적인 미들웨어의 에이전트를 이용할 수 있다.
에이전트 플랫폼은 에이전트가 자가생성(Self-Creation), 자가관리(Self-Management), 자가소멸(Self-Destruction) 작용을 실행할 수 있는 에이전트 컨테이너 서비스(Agent Container Service)를 제공한다.
또한, 에이전트 플랫폼은 디스커버리와 상황 인식 엔진을 통해 에이전트와 서비스를 발견하는 것에 의해 동적으로 재구성하는 재구성 모듈(Reconfiguration Module)을 포함한다.
에이전트 관리 시스템(Agent Management System AMS)은 커뮤니티 안에 에이전트들을 관리한다. 또, 에이전트 플랫폼은 커뮤니케이션 플랫폼과 함께 실시간, QoS, 그리고 보안 서비스를 통해 신뢰성 있고 최적화된 서비스를 제공한다. 에이전트 플랫폼은 AMS와 에이전트 그룹의 프로파티(Property)를 사용하는 에이전트 그룹을 동적 생성과 소멸을 통해 커뮤니티 컴퓨팅을 지원한다.
에이전트 개발자들은 툴킷, 표준 스펙, 그리고 퍼베이시브 환경에서 이미 개발된 에이전트에 대한 지식을 가져야 한다. 따라서, 디자인 단계에서 본 발명에서는 에이전트 디자인, 성능 평가를 위한 테스트 툴, 그리고 구현 단계에서 그것들을 자동적으로 관리하는 에이전트 툴킷을 위한 일반적인 패턴을 제공한다.
특별한 컨텍스트를 표현하기 위해 필요한 에이전트를 개발하고 디자인하기 위해서는 기존의 플랫폼에서 사용되는 컨텍스트의 형을 확인할 필요가 있다.
또, 에이전트는 컨텍스트의 프로파티를 이해해야된다. 결국, COIDL은 특별한 지능형 에이전트 서비스와 계층적인 구조에 함께 요소들의 그룹핑을 위해서 컨텍스트 정보의 카테고리와 컨텍스트 정보를 정의하기 위해 사용된다. 또한, COIDL은 컨텍스트를 효율적으로 조작하기 위해서 CORBA IDL과 헝가리 표기(Hungarian Notation)를 사용하여 접두사(Prefix), 중간자(Middle), 그리고 접미사(suffix)를 정의하는 것을 통해 컴포넌트의 역할을 명확하게 정의할 수 있다.
본 발명에서 리플렉티브하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스는 CORBA 기반의 OmniEvent 서비스 기반이다.
도 2는 본 발명에 따른 어댑터를 사용하는 컨텍스트 지향 채널 관리의 흐름도이다.
도 2에서 도시하는 바와 같이, 본 발명에 따른 시스템은 어댑터, 이벤트 채널 관리자, 그리고 채널로 구성된다.
도 2에 작동의 메커니즘은 다음과 같다.
이벤트 서버가 작동됐을 때, 이벤트 채널 관리자는 네이밍 서비스에 등록한다(Act 1).
공급자와 소비자는 이벤트 서버의 위치를 찾는다(Act 2).
어댑터가 CALM과 접속이 됐을 때, 어댑터는 컨텍스트와 특정한 어댑터 정보로 구성된 일정의 프로파티를 가지는 채널 생성을 요청하기 위해 디폴트 채널을 사용한다(Act 3). 그 디폴트 채널은 디스커버리 안에서 플랫폼 관리자에 의해 관리되는 하나의 어댑터 그룹 채널이다.
이벤트 채널 관리자는 적합한 이름을 할당하여 이벤트 채널을 생성한다(Act 4). 그때부터 어댑터는 컨텍스트 공급자로써 간주된다. 생성된 이벤트 채널은 동적 관리를 위해 컨텍스트 공급자와 함께 관리자에 의해 모니터 된다.
만약 다른 어댑터가 어댑터 그룹 채널을 통해 특정한 컨텍스트를 요청한다면, 디스커버리 에이전트는 컨텍스트 지향 이벤트 채널에 접속하기 위해 컨텍스트와 관련된 채널 이름을 제공한다(Act 5).
그 컨텍스트 공급자는 컨텍스트 지향 이벤트 채널을 통해 컨텍스트 정보를 전송하고 어댑터 그룹은 그 컨텍스트 정보를 받는다(Act 6-9).
어댑터는 여러 가지의 특성을 가진다.
첫째, 어댑터는 리플렉티브 컨텍스트 지향 이벤트 서비스를 사용하는 시스템과 애플리케이션의 개발 있어서 개발자를 지원한다. 개발자들은 채널 생성, 채널 선택 기타 등등에 대해 상세하게 고려할 필요가 없다. 왜냐하면, 어댑터는 자동적으로 이벤트 채널 관리자에게 채널 생성을 요청하고 그것을 연결한다.
둘째, 어댑터는 하나의 공급자와 하나의 소비자당 하나의 이벤트 큐만큼 멀티 스레드를 지원한다.
셋째, 어댑터는 필터링 기능을 가진다. 공급자 경우에 소비자가 사용할 필요없는 이벤트를 필터링 한다. 이벤트 채널 관리자는 컨텍스트 지향 채널들에 관리를 책임진다. 이벤트 서버가 작동했을 때, 이벤트 채널 관리자는 네이밍 서버에 등록한다. 공급자는 이벤트 서버의 등록 정보를 사용하여 이벤트 채널 관리자에게 채널 생성을 요청한다. 소비자는 관련된 채널이 생성되는지 안 됐는지를 이벤트 채널 관리자에게 요구한다.
컨텍스트 지향 채널은 공급자와 소비자 사이의 비동기적 통신을 위해 둘 사이의 통신을 분리한다. 이 컨텍스트 지향 채널은 ConsumerAdmin object, SupplierAdmin object, 필터링 모니터(filtering monitor), 이벤트 큐(Event Queue), 그리고 proxies로 구성된다.
ConsumerAdmin object는 소비자를 첨가하는 것을 책임지는 반면, SupplierAdmin object는 공급자를 첨가하는 것을 책임진다. ConsumerAdmin object는 소비자를 첨가할 때, ConsumerAdmin는 하나의 proxysupplier를 생성한다.
그와 반대로 공급자가 첨가될 때, SupplierAdmin는 proxconsumer를 첨가한다. 이벤트 큐는 순환 버퍼이며, 신뢰성 있는 통신을 지원하기 위해 공급자로부터 수신된 이벤트를 저장한다. 큐의 크기는 시스템 자원, 컨텍스트의 크기, 그리고 전송 빈도 수에 따라 결정된다.
필터링 모니터는 관련 된 proxysupplier를 통해 소비자의 필터링 상태를 분석하고 모니터링 하며, 공급자의 어댑터에게 이런 정보를 알린다.
본 발명에 따른 리플렉티브하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스의 채널 생성과 관리는 계층적인 컨텍스트 구조에 디스커버리를 통해 에이전트에 요구된 컨텍스트에 따라서 동적으로 실행된다. 디스커버리와 컨텍스트 지향 채널 관리자와 함께 네이밍 서비스는 리플렉션을 위해서 계층적인 컨텍스트 구조를 사용한다. 또, 리플렉티브 컨텍스트 지향 이벤트 서비스는 계층적인 컨텍스트 구조를 사용하는 각각의 표현하는 정보에 컨텍스트를 분류하기 위해 COIDL을 사용한다.
컨텍스트 지향 동적 채널은 이벤트 서비스에 프로토콜의 재결합을 보증할 수 있고, 전송되는 이벤트 데이터의 타입에 따라서 전송을 최적화할 수 있다. 여기서 클라이언트 개발자들은 컨텍스트 채널 혹은 컨텍스트 구조의 특정한 이름을 알 필요가 없다. 개발자들은 오직 어떤 컨텍스트 정보의 종류가 사용되는지 관련된 것만 필요하다.
각 어댑터는 다른 어댑터와 함께 통신하기 위해서 디폴트 채널을 가진다. 전송되는 이벤트 데이터는 에이전트의 특정의 컨텍스트 정보에 관계가 있다.
도 3은 본 발명에 따른 계층적인 컨텍스트 구조 맵핑의 구조도 이다.
도 3에서 도시하는 바와 같이, 리플렉티브 채널 서버는 COIDL과 네이밍 서비스와 함께 계층적인 컨텍스트 구조를 사용한다. 컨텍스트 정보는 이벤트 채널 관리자에 의해 관리되는 컨텍스트 지향 채널에 의해 사용된다.
컨텍스트 지향 채널은 이벤트 채널 관리자에 의해 생성되는 채널 메시지를 통해 자동적인 채널, 채널 이름, 채널 삭제를 한다. 이런 메커니즘은 시스템 관리자가 불필요한 작업을 피하게 하고, 사용되지 않는 채널 때문에 발생되는 시스템 메모리의 불필요한 사용을 피한다.
도 4는 본 발명에 따른 이벤트 채널과 소비자 사이에 재전송 처리의 구조도이다.
도 4에서 도시하는 바와 같이, 본 발명에 따른 이벤트 서비스는 신뢰성 있는 통신을 위해 이벤트 넘버링과 이벤트 큐를 사용한다.
또한, 이벤트 서비스의 이벤트 형식은 다음과 같다.
struct EventHeader { bool ACK; unsigned short EventNumber; unsigned short Size; any EventData; };
이벤트 채널과 어댑터는 각각 이벤트 큐를 가진다. 신뢰성 있는 통신은 다음과 같이 제공된다.
공급자의 어댑터는 이벤트 채널에게 메시지를 보내기 전에 그 자신의 이벤트 큐에 저장한다. 그 후에, 공급자의 어댑터는 이벤트 채널에게 이벤트를 보낸다.
그리고 어댑터는 이벤트를 보낸 후에 이벤트 채널로부터 승인이 올 때까지 기다린다. 만약 어댑터가 이벤트 채널로부터 ACK 메시지를 수신하고 이벤트 큐가 가득 차면, 어댑터는 이벤트가 승인될 때까지 새로운 이벤트와 함께 승인된 이벤트를 덮어씌운다.
어댑터가 이벤트 채널로부터 재전송 요청을 받는 경우에, 어댑터는 이벤트 큐에 이벤트를 재전송한다. 이벤트 채널은 공급자의 어댑터로부터 이벤트를 수신한다. 이벤트 채널은 수신된 이벤트의 크기와 이벤트 넘버를 체크한다. 수신된 이벤트의 크키와 이벤트 넘버가 검증되지 않을 경우에, 이벤트 채널은 손실되거나 불 검증된 크기 이벤트를 재전송하기 위해 공급자의 어댑터에게 요청한다.
만약 이벤트가 검증된다면, 이벤트 채널은 그 자신의 이벤트 큐에 수신된 이벤트를 저장한다. 이벤트 채널은 그것이 소비자에게 이벤트를 보내자마자 이벤트를 수신한다. 만약 이벤트 채널은 소비자로부터 재전송 요청을 수신하면, 그것은 분리하여 그것들을 조절한다.
즉, 도 4와 같이 재전송을 요청하는 소비자의 각 proxysupplier는 이벤트 큐에서 이벤트를 재전송한다. 소비자의 어댑터는 이벤트 채널로부터 이벤트를 수신하고, 수신된 이벤트의 넘버와 크기를 체크한다. 만약 수신된 이벤트들이 불 검증되면, 그것은 손실되거나 불 검증된 수신된 이벤트의 재전송하기 위해 이벤트 채널에게 요청한다.
도 5는 본 발명에 따른 리플렉티브 필터링 처리의 구조도 이다.
도 5에서 도시하는 바와 같이, 리플렉티브 필터링의 목적은 사용하지 않는 이벤트 때문에 이벤트 채널의 이벤트 큐에 발생하는 낭비를 방지하고, 네트워크 부하를 감소하기 위함이다.
리플렉티브 필터링 처리는 도 5와 같다. 소비자의 어댑터는 이벤트 채널에게 그것을 연결하고, 동시에 관련된 proxysupplier에게 자신의 필터링 특징을 보낸다. 이벤트 채널의 필터링 모니터는 소비자의 필터링 특징(Criteria)을 모니터링하고 분석하며, 공급자의 어댑터에게 분석한 결과를 전송한다.
필터링 모니터는 일반적으로 잠자기 모드(Sleeping mode)로 있지만, 필터링 모니터는 소비자나 새로운 소비자에게 새로운 필터링 특징을 수신했을 때 그 자신을 활성화시킨다.
공급자의 어댑터는 이벤트 채널의 필터링 모니터로부터 필터링 특징(Criteria)을 수신한다. 그 공급자의 어댑터는 애플리케이션이 이벤트들로부터 채널을 받기 위해 지시하지 않고 있었던 이벤트를 여과하여 제거한다.
본 발명에 따른 성능평가는 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스, 옴니이벤트(omniEvent) 서비스, 그리고 TIBCO RV를 메시지 전송 효율성에 관련하여 성능 분석하였다.
테스트 플랫폼 환경은 6대의 Window xp 기반의 컴퓨터를 사용했으며, 이들 컴퓨터는 2.1-Ghz CPU와 512-Mbyte 메모리를 갖는 동일한 사양을 사용했다.
본 발명의 이벤트 서비스와 옴니이벤트 서비스 경우에는 두 대의 공급자, 네이밍 서버 한대, 그리고 4대의 소비자 컴퓨터를 사용했으며, TIBCO RV 경우에는 로 컬 RVC 인스턴스가 연결된 공급자 한대 컴퓨터, 4대의 소비자를 가지고 테스트 환경을 구축했다.
그 결과로 1 대 1, 1 대 다수의 접속에 경우에 1000번 테스트하여 평균 전송 시간을 각각 비교하였다.
도 6은 본 발명에 따른 발명한 이벤트 서비스와 기존 옴니이벤트 서비스의 성능 비교 분석 그래프이다.
도 6에서 도시하는 바와 같이, 본 발명의 이벤트 서비스가 옴니이벤트 서비스는 신뢰성 있는 통신을 지원하지 않게 때문에 옴니이벤트 서비스 보다 약간 더 느리다는 것을 보여준다.
도 7은 본 발명에 따른 발명한 이벤트 서비스와 TIBCO의 성능 비교 분석 그래프이다.
도 7에서 도시하는 바와 같이, 1 대 1과 1대 4 접속에 경우에 본 발명에 이벤트 서비스와 TIBCO RV이 성능 분석을 나타낸다. 본 발명에 따른 이벤트 서비스가 항상 TIBCO RV보다 이벤트 전송 시간에 있어서 항상 높은 성능을 나타낸다.
특히,이벤트 크기가 1대 다수의 접속을 위해 증가할 때 차이는 더 중요한 의의를 가져 얻는다.
TIBCO RV의 메시지 전송의 경과 시간이 지수적으로 증가하는 반면에 본 발명의 이벤트 서비스는 적게 증가하는 것을 알 수 있다. 그 결과로, 본 발명의 이벤트 서비스는 소비자의 수가 증가하더라도 성능에는 영향을 미치지 않는 것을 나타낸다.
이상 본 발명자에 의해서 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
상술한 바와 같이, 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법에 의하면, 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 아키텍처로서 유비쿼터스 각각의 미들웨어에 적용될 수 있으며, ERP 시스템 통합 분야와 금융 시스템, 공항사 및 항공사의 MQ 서버의 성능을 개선할 수 있다는 효과가 얻어진다.
또, 본 발명에 따른 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법에 의하면, uT-Agent 기반 객체지향형 분산처리 플랫폼에서 다수의 개발자 및 업체가 손쉽게 다양한 응용 서비스 및 제품을 개발할 수 있도록 함으로써 유비쿼터스 컴퓨팅 기술의 산업화를 촉진할 수 있다는 효과가 얻어진다.

Claims (17)

  1. 새로운 리플렉티브 하고 신뢰성 있는 컨텍스트 지향 이벤트 서비스 시스템에 있어서,
    유무선 환경에서 경량화 디바이스와 함께 커뮤니케이션 프로토콜을 사용하여 시추에이션과 컨텍스트 기반의 분산 서비스를 제공하는 커뮤니케이션 플랫폼 층,
    서비스의 효율성을 최대화하고, 스스로 환경에 적응하며, 에이전트 시스템의 이점을 적응시키는 컴포넌트로 구성된 에이전트 플랫폼 층,
    지능적인 서비스를 제공하기 위해 자가성장 엔진과 온톨로지 기반 상황 인식 엔진으로 구성된 외부 층,
    에이전트 기반 플랫폼을 구성하기 위한 툴을 구비한 CALM(Component-based Autonomic Layered Middleware)을 포함하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  2. 제 1항에 있어서,
    상기 CALM은 에이전트 개발 툴킷과 상황 데이터를 제공하는 컴포넌트를 개발할 때 상황 정보를 표현하기 위한 컨텍스트 지향 인터페이스 정의 언어를 지원하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  3. 제 2항에 있어서,
    상기 커뮤니케이션 플랫폼은 ORB를 통해 상황 인식을 지원하기 위한 이벤트 서비스와 컨텍스트 기반 네이밍 서비스 및 네트워크 환경, 로드 밸런싱, 보안, 고장 감내를 적용하기 위한 트랜잭션 서비스와 동적 프로토콜 바인딩을 제공하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  4. 제 3항에 있어서,
    상기 에이전트 플랫폼은 에이전트가 자가생성, 자가관리, 자가소멸 작용을 실행할 수 있는 에이전트 컨테이너 서비스를 제공하고,
    디스커버리와 상황 인식 엔진을 통해 에이전트와 서비스를 발견하는 것에 의해 동적으로 재구성하는 재구성 모듈과
    커뮤니티 안에 에이전트들을 관리하는 에이전트 관리 시스템을 포함하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  5. 제 4항에 있어서,
    상기 에이전트는 지능형 에이전트 서비스와 계층적인 구조에 함께 요소들의 그룹핑을 위한 컨텍스트 정보의 카테고리와 컨텍스트 정보를 정의하기 위해 사용되 는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  6. 제 5항에 있어서,
    상기 컨텍스트를 효율적으로 조작하기 위해 상기 CORBA의 IDL과 헝가리 표기를 사용하여 접두사, 중간자, 그리고 접미사를 정의하는 것을 통해 컴포넌트의 역할을 정의하는 COIDL을 더 포함하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  7. 제 1항에 있어서,
    상기 이벤트 서비스는 신뢰성 있는 통신을 위해 이벤트 넘버링과 이벤트 큐를 사용하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
  8. 어댑터, 이벤트 채널 관리자 및 채널로 구성된 시스템의 컨텍스트 지향 이벤트 서비스 방법에 있어서,
    이벤트 서버가 작동됐을 때, 상기 이벤트 채널 관리자가 네이밍 서비스에 등록하는 단계,
    공급자와 소비자가 이벤트 서버의 위치를 찾는 단계,
    상기 어댑터가 CALM과 접속이 됐을 때, 상기 어댑터가 컨텍스트와 특정한 어댑터 정보로 구성된 일정의 프로파티를 가지는 채널 생성을 요청하기 위해 디폴트 채널을 사용하는 단계,
    상기 이벤트 채널 관리자가 적합한 이름을 할당하여 이벤트 채널을 생성하는 단계,
    디스커버리 에이전트가 컨텍스트 지향 이벤트 채널에 접속하기 위해 컨텍스트와 관련된 채널 이름을 제공하는 단계,
    컨텍스트 공급자가 컨텍스트 지향 이벤트 채널을 통해 컨텍스트 정보를 전송하고 어댑터 그룹이 그 컨텍스트 정보를 받는 단계를 포함하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  9. 제 8항에 있어서,
    상기 디폴트 채널은 디스커버리 안에서 플랫폼 관리자에 의해 관리되는 하나의 어댑터 그룹 채널인 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  10. 제 9항에 있어서,
    상기 생성하는 단계에서 생성된 이벤트 채널은 동적 관리를 위해 컨텍스트 공급자와 함께 관리자에 의해 모니터되는 것을 특징으로 하는 컨텍스트 지향 이벤 트 서비스 방법.
  11. 제 10항에 있어서,
    상기 어댑터는 리플렉티브 컨텍스트 지향 이벤트 서비스를 사용하는 시스템과 애플리케이션의 개발에 있어서 개발자를 지원하고,
    하나의 공급자와 하나의 소비자당 하나의 이벤트 큐만큼 멀티 스레드를 지원하고,
    공급자 경우에 소비자가 사용할 필요없는 이벤트를 필터링하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  12. 제 11항에 있어서,
    상기 채널의 생성과 관리는 계층적인 컨텍스트 구조에 디스커버리를 통해 에이전트에 요구된 컨텍스트에 따라서 동적으로 실행되는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  13. 제 8항에 있어서,
    상기 이벤트 서비스는 신뢰성 있는 통신을 위해 이벤트 넘버링과 이벤트 큐 를 사용하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  14. 제 13항에 있어서,
    상기 이벤트 채널과 어댑터는 각각 이벤트 큐를 갖고,
    공급자의 어댑터가 상기 이벤트 채널에게 메시지를 보내기 전에 그 자신의 이벤트 큐에 저장한 후에, 상기 공급자의 어댑터가 상기 이벤트 채널에게 이벤트를 보내는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  15. 제 14항에 있어서,
    상기 어댑터가 상기 이벤트 채널로부터 재전송 요청을 받는 경우에, 상기 어댑터가 상기 이벤트 큐에 이벤트를 재전송하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  16. 제 8항에 있어서,
    상기 공급자의 어댑터는 애플리케이션이 이벤트들로부터 채널을 받기 위해 지시하지 않고 있었던 이벤트를 여과하여 제거하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 방법.
  17. 계층적인 컨텍스트 구조 맵핑으로서,
    이벤트 채널 관리자에 의해 관리되고 이벤트 채널 관리자에 의해 생성되는 채널 메시지를 통해 자동적인 채널, 채널 이름, 채널 삭제를 실행하는 컨테스트 지향 채널,
    리플렉티브 채널 서버,
    컴포넌트의 역할을 정의하는 COIDL과
    컨텍스트 기반 네이밍 서비스를 포함하는 것을 특징으로 하는 컨텍스트 지향 이벤트 서비스 시스템.
KR1020050116403A 2005-12-01 2005-12-01 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법 KR100735667B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050116403A KR100735667B1 (ko) 2005-12-01 2005-12-01 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050116403A KR100735667B1 (ko) 2005-12-01 2005-12-01 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20070058097A true KR20070058097A (ko) 2007-06-07
KR100735667B1 KR100735667B1 (ko) 2007-07-06

Family

ID=38355082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050116403A KR100735667B1 (ko) 2005-12-01 2005-12-01 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100735667B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904362B1 (ko) * 2007-09-17 2009-06-23 성균관대학교산학협력단 웹을 통해 에이전트 서비스의 검색이 가능한 캄, 이를이용한 에이전트 시스템 및 에이전트 시스템의 운영방법
KR100929821B1 (ko) * 2008-02-26 2009-12-07 성균관대학교산학협력단 제이드 에이전트와 통신 가능한 캄 기반 디렉터리퍼실리테이터 및 이를 이용하는 멀티 에이전트 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330223A (ja) * 1996-06-11 1997-12-22 Nec Corp イベント駆動型サーバへのcorbaによる処理方法と装置
KR100364077B1 (ko) * 2000-06-21 2002-12-12 김행곤 웹 환경 하에서 실시간 정보 생성기와 자원 레지스트리를이용한 네트워크 정보의 관리 방법
KR100380974B1 (ko) * 2001-06-08 2003-04-18 엘지전자 주식회사 분산 처리 시스템에서 이기종 오알비 지원 네이밍 서비스정합 장치 및 방법
KR100613651B1 (ko) * 2004-12-11 2006-08-22 한국전자통신연구원 상황 인식 서비스 제공 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100904362B1 (ko) * 2007-09-17 2009-06-23 성균관대학교산학협력단 웹을 통해 에이전트 서비스의 검색이 가능한 캄, 이를이용한 에이전트 시스템 및 에이전트 시스템의 운영방법
KR100929821B1 (ko) * 2008-02-26 2009-12-07 성균관대학교산학협력단 제이드 에이전트와 통신 가능한 캄 기반 디렉터리퍼실리테이터 및 이를 이용하는 멀티 에이전트 시스템

Also Published As

Publication number Publication date
KR100735667B1 (ko) 2007-07-06

Similar Documents

Publication Publication Date Title
JP3980596B2 (ja) サーバを遠隔かつ動的に構成する方法およびシステム
US7096258B2 (en) System and method providing automatic policy enforcement in a multi-computer service application
US9663659B1 (en) Managing computer network resources
US7216160B2 (en) Server-based application monitoring through collection of application component and environmental statistics
US11522951B2 (en) Configuring service mesh networking resources for dynamically discovered peers or network functions
US7664844B2 (en) Managing network errors communicated in a message transaction with error information using a troubleshooting agent
US20060029054A1 (en) System and method for modeling and dynamically deploying services into a distributed networking architecture
US7890809B2 (en) High level operational support system
EP1204259A2 (en) Data management framework for policy management
KR20000057718A (ko) 자각-개시 푸시를 제공하기 위한 방법 및 장치
JPH0962523A (ja) 分散演算環境におけるイベント管理方法及びシステム
US10140121B2 (en) Sending a command with client information to allow any remote server to communicate directly with client
CN108475220B (zh) 用于集成事务中间件平台与集中式审计框架的系统和方法
KR100735667B1 (ko) 컨텍스트 지향 이벤트 서비스 시스템 및 그 방법
WO2017166166A1 (en) System and method for providing runtime tracing for web-based client accessing transactional middleware platform using extension interface
Cowan et al. Making software agent technology available to enterprise applications
KR102346793B1 (ko) IoT 기반의 디바이스와 서버 간 통신을 위한 프로토콜 컨버터 및 그 프로토콜 변환 방법
Adams et al. Scalable management—Technologies for management of large-scale, distributed systems
KR20010096738A (ko) 네트워크를 이용한 클라이언트 컴퓨터 원격 관리 방법
Steele et al. XML-based mobile agents
Del Cid et al. DARMA: adaptable service and resource management for wireless sensor networks
Campos et al. Improving the scalability of DPWS-based networked infrastructures
Wheeler Voyager architecture best practices
Kumar Middleware Interoperability using SOA for Enterprise Business Application
Talwar et al. Scalable management

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee