KR20080064587A - 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 - Google Patents

이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 Download PDF

Info

Publication number
KR20080064587A
KR20080064587A KR1020070001656A KR20070001656A KR20080064587A KR 20080064587 A KR20080064587 A KR 20080064587A KR 1020070001656 A KR1020070001656 A KR 1020070001656A KR 20070001656 A KR20070001656 A KR 20070001656A KR 20080064587 A KR20080064587 A KR 20080064587A
Authority
KR
South Korea
Prior art keywords
service
wrapper
framework
application
message
Prior art date
Application number
KR1020070001656A
Other languages
English (en)
Other versions
KR100880536B1 (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 KR1020070001656A priority Critical patent/KR100880536B1/ko
Priority to US12/448,676 priority patent/US8707329B2/en
Priority to PCT/KR2007/000086 priority patent/WO2008082021A1/en
Publication of KR20080064587A publication Critical patent/KR20080064587A/ko
Application granted granted Critical
Publication of KR100880536B1 publication Critical patent/KR100880536B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템이 제공된다. 본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템은, 유비쿼터스 환경에서 다수의 애플리케이션들에서 사용되는 다양한 프로토콜의 서비스를 유기적으로 통합하여 USS(Ubiquitous Smart Space: 유비쿼터스 스마트 공간)를 효율적으로 구축하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템에 있어서, 동일한 기능을 가지는 서비스 별로 등록, 관리하는 복수의 랩퍼를 구비하며, 상기 애플리케이션으로부터 서비스를 요청하는 메시지를 수신하는 경우, 상기 랩퍼를 통해 서비스를 검색, 호출하여 서비스 수행 결과를 상기 애플리케이션으로 전달하는 프레임워크; 상기 애플리케이션과 상기 프레임워크간에 메시지를 전달하는 메시지 브로커; 및 기존의 서비스가 상기 랩퍼의 스펙에 맞도록 프로토콜을 변환시키는 외부 모듈을 포함한다. 본 발명에 따르면, 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템 상에서 개발된 애플리케이션은 서비스의 변경 및 환경의 변경에 대해서 독립적이기 때문에 서비스의 추가 삭제 및 수정에 대해 애플리케이션을 수정할 필요가 없어 애플리케이션의 수명주기가 늘어날 수 있다.
서비스 통합, 프레임워크, 랩퍼, GDL

Description

이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템{OPEN FRAMEWORK SYSTEM FOR HETEROGENEOUS COMPUTING AND SERVICE INTEGRATION}
도 1은 본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템의 구성을 나타내는 도.
도 2는 본 발명에 따른 오픈 프레임워크의 구성을 나타내는 블록도.
도 3은 도 2의 서비스 검색 랩퍼의 구성을 나타내는 블록도.
도 4는 도 2의 서비스 호출 랩퍼의 구성을 나타내는 블록도.
도 5는 도 2의 콘텍스트 브로커 랩퍼의 구성을 나타내는 블록도.
본 발명은 유비쿼터스 시스템에 관한 것으로서, 보다 상세하게는 유비쿼터스 컴퓨팅 환경에서 다양한 프로토콜의 서비스를 유기적으로 통합하여 USS(Ubiquitous Smart Space: 유비쿼터스 스마트 공간)를 효율적으로 구축하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템에 관한 것이다.
전통적인 컴퓨팅 환경은 사용자가 특정한 컴퓨팅 장치가 있는 공간 앞에서 그 장치를 직접 사용하는 정적인 환경이다. 유비쿼터스 환경은 사용자가 컴퓨팅 장 치를 인지하지 않아도 인접한 공간에 존재하는 모든 컴퓨팅 장치들이 사용자의 편의와 업무를 돕기 위해 서로 협동하는 동적이고 지능적인 환경이다.
물리적인 공간과 전자적인 공간의 결합으로 생성되는 유비쿼터스 공간은 다양한 기종의 장치들과 다양한 플랫폼 상의 애플리케이션과 서비스들이 실시간으로 협업하게 된다. 이러한 환경 하에 존재하는 서비스들은 다양하게 혼재할 뿐만 아니라 서비스를 받는 대상에 따라 정보 제공방법 등이 실행시간에 결정되고 변경되어야 한다.
유비쿼터스 컴퓨팅 환경에서 시스템 통합에 어려운 점은 컴퓨팅 환경이 다양하고 다른 컴퓨팅 환경이라는 점과 그러한 컴퓨팅 장치 및 서비스들이 동적으로 유입되고 유출되는 환경이라는 점이다. 이러한 유비쿼터스 컴퓨팅 환경의 높은 유연성에 대한 요구는 기존의 프레임워크로 구성하기에는 한계가 있으며, 다양한 서비스를 융합할 수 있는 새로운 유비쿼터스 컴퓨팅 환경을 위한 프레임워크의 필요성이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 다양한 프로토콜을 이용하는 디바이스들을 전체적으로 제어하기 위한 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템은, 유비쿼터스 환경에서 복수의 애플리케이션 들에서 사용되는 다양한 프로토콜의 서비스를 유기적으로 통합하여 USS(Ubiquitous Smart Space: 유비쿼터스 스마트 공간)를 효율적으로 구축하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템에 있어서, 동일한 기능을 가지는 서비스 별로 등록, 관리하는 복수의 랩퍼를 구비하며, 상기 애플리케이션으로부터 서비스를 요청하는 메시지를 수신하는 경우, 상기 랩퍼를 통해 서비스를 검색, 호출하여 서비스 수행 결과를 상기 애플리케이션으로 전달하는 프레임워크; 상기 애플리케이션과 상기 프레임워크간에 메시지를 전달하는 메시지 브로커; 및 기존의 서비스가 상기 랩퍼의 스펙에 맞도록 프로토콜을 변환시키는 외부 모듈을 포함한다.
상기 메시지는 상기 프레임워크에서 정의하는 언어인 GDL(Goal Description Language)에 의해 표현된다.
상기 프레임워크는, 상기 애플리케이션에서 요청한 서비스의 검색 및 호출을 하도록 스케줄링하는 프로세스 플로우 엔진; 및 상기 프로세스 플로우 엔진으로부터 출력신호에 응답하여 상기 랩퍼를 호출하는 랩퍼 관리부를 포함한다.
상기 복수의 랩퍼는, 상기 프레임워크를 이용하려는 모든 검색 서비스(discovery service)들이 지켜야 하는 스펙을 제공하는 서비스 검색 랩퍼; 상기 프레임워크에 혼재하는 서비스 실행 프레임워크들을 통합하여 서비스를 수행해줄 수 있는 스펙을 제공하는 서비스 호출 랩퍼; 및 상기 애플리케이션과 상기 외부 모듈간의 정보 교환을 위해 지켜야하는 스펙을 제공하는 콘텍스트 브로커 랩퍼를 포함한다.
상기 복수의 랩퍼는, 초기에 설정된 것 이외에도 추가할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다.
본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템은 자율적 협업 컴퓨팅 환경인 커뮤니티 컴퓨팅을 기반으로 하고 있으며, 기존의 유비쿼터스 환경을 위한 다양한 디바이스, 서비스 등의 통합 아키텍쳐 기술을 이용하여 개방형 플랫폼으로 구성된다. 본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템을 약칭하여 USPi(Ubiquitous System Platform Initiative)라 한다.
도 1은 본 발명에 따른 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템의 구성을 도시한 것이다.
도 1을 참조하면, 서비스 통합 프레임워크 시스템(100)은 애플리케이션(110), 서비스 통합 프레임워크(120), 웹서비스 검색 모듈(130), 콘텍스트 브로커 모듈(140), 메시지 브로커(150), 웹서비스들(172, 174, 176) 및 센서들(192, 194, 196)을 포함한다.
애플리케이션(110)은 서비스 통합 프레임워크(120)에 대해 서비스를 요청하고, 그에 대한 서비스 수행 결과를 수신한다. 애플리케이션(110)과 서비스 통합 프 레임워크(120)간에는 메시지 브로커(150)를 통해 메시지가 전달된다. 메시지 브로커(150)를 사용하여 메시지를 전달하기 위해서는 어댑터가 필요하며, 각각의 장치에는 서비스 통합 프레임워크 어댑터(112, 122, 132, 142)가 사용된다.
서비스 통합 프레임워크(120)는 다이내믹한 이종 컴퓨팅 환경에서 애플리케이션, 서비스 및 다양한 미들웨어를 통합하기 위한 플랫폼이다. 서비스 통합 프레임워크(120)는 랩퍼(Wrapper)를 구비함으로써 동일한 기능을 하는 서비스들의 기능 및 스펙을 포괄하는 인터페이스 스펙을 제공함으로써 가능해진다.
서비스 통합 프레임워크(120)는 서비스 시스템의 각 기능블록에 대하여 랩퍼 스펙을 제공한다. 외부 서비스들은 이러한 랩퍼 스펙을 지원할 수 있어야 한다. 랩퍼 스펙을 준수하기 위하여 외부 모듈(External Module)을 두어 기존의 서비스 프로토콜들을 변환하여 서비스 통합 프레임워크에 서비스를 제공할 수 있다. 또한 서로 다른 미들웨어 및 프로토콜을 지원하는 외부 모듈(External Module)을 작성하여 미들웨어간 통합 및 서비스-미들웨어간 통합, 프로토콜-프로토콜 간의 통합이 가능하다. 본 발명의 실시예에서는, 외부 모듈로서 웹서비스 검색 모듈(130) 및 콘텍스트 브로커 모듈(140)을 구비한다.
서비스 통합 프레임워크(120)는 서비스 검색 랩퍼(124), 서비스 호출 랩퍼(126) 및 콘텍스트 브로커 랩퍼(128)를 포함한다.
서비스 검색 랩퍼(Service Discovery Wrapper)(124)는 서비스 통합 프레임워크(120)를 이용하려는 모든 검색 서비스(discovery service)들이 지켜야 하는 표준 스펙을 제시한다. 서비스 디스커버러(Service discoverer)들에게 스펙을 제공하여 서비스 통합 프레임워크(120)에 통합되도록 하며 기 개발된 서비스들은 스펙을 수용하는 별도의 모듈을 작성하여 호환되도록 하여야 한다. 서비스 검색은 사용하고자 하는 서비스를 정확하게 찾아주는 기능이다. 서비스 통합 프레임워크 지능공간에서 서비스 검색은 서비스 호출(service invocation)과 함께 서비스 통합 프레임워크를 사용하기 위한 필수 기능이다.
서비스 호출 랩퍼(Service Invocation Wrapper)(126)는 서비스 통합 프레임워크 도메인의 서비스를 수행하는 역할을 하는 랩퍼이다. 서비스 호출 랩퍼(126)는 서비스 통합 프레임워크에 혼재하는 서비스 실행 프레임워크들을 통합하여 서비스를 수행해줄 수 있는 스펙을 제공한다. 이러한 스펙을 제공함으로써 추후 개발되는 서비스는 해당 스펙을 지원하는 서비스를 작성함으로써 별도의 조치 없이 서비스 통합 프레임워크에 서비스를 제공할 수 있다.
콘텍스트 브로커 랩퍼(Context Broker Wrapper)(128)는 애플리케이션(110)과 콘텍스트 브로커 모듈(140)간의 정보 교환을 위해 지켜야하는 표준 스펙을 제시한다. 콘텍스트 정보를 이용하고자 하는 애플리케이션(110)에게 스펙을 제공하여 콘텍스트 브로커를 이용할 수 있도록 한다.
콘텍스트 브로커(Context Broker)는 커뮤니티에서 필요한 다양한 콘텍스트 정보를 제공해 주는 서비스 시스템이다. 커뮤니티에서 상황에 적합한 서비스를 제공하기 위한 필수 기능이며, 콘텍스트의 종류와 목적에 따라 다양한 형태의 콘텍스트 브로커가 존재할 수 있다. 서비스 통합 프레임워크에서는 복수의 콘텍스트 브로커를 관리하고, 콘텍스트 정보를 요청하는 애플리케이션(110)들에게 효율적으로 정 보를 전달하기 위해 콘텍스트 브로커 랩퍼(128)를 제공한다.
콘텍스트 브로커 모듈(140)은 센서(192, 194, 196)로부터 센서 네트워크(180)를 통하여 실시간으로 각종 상황을 감시하여 데이터들을 축적하고, 실시간으로 분석 및 진단하여 해당 디바이스들을 구동하기 위한 유용한 정보를 추출하도록 구성되며, 상황인식서비스(CAS: Context-Aware Service) 등과 같이 수시로 변하는 사용자의 상황 정보(위치, 주변소음, 작업, 시간, 일정 등)를 스스로 인식하여 사용자에게 유용한 디바이스들을 제어할 수 있도록 구성된다.
도 2는 본 발명에 따른 오픈 프레임워크의 구성을 블록도로 도시한 것이다.
도 2를 참조하면, 서비스 통합 프레임워크(120)는 프로세스 플로우 엔진(210), GDL 인터프리터(220), 랩퍼 관리부(230), 제1, 제2 및 제3 랩퍼 콘테이너(242, 244, 246) 및 통신 관리부(250)를 포함한다.
프로세스 플로우 엔진(210)은 해당 프로세스 플로우 각각의 단계에서 랩퍼 관리부(230)에게 서비스를 요청한다. 프로세스 플로우 엔진(210)에서는 프로세스 플로우를 표현하기 위한 언어로서, YAWL(Yet Another Workflow Language)를 사용한다. YAWL은 페트리 네트(Petri Nets)의 단점을 보완하고 향상시킨 강력한 워크플로우 언어이다. 페트리 네트는 다중 인스턴스(multiple instances), 동기화 패턴 및 취소(cancellation) 패턴을 지원하지 않는 한계를 가진다. 그러나, 본 발명에 따른 YAWL은 다중 인스턴스(multiple instance), 복합 태스크(composite tasks), OR 결합(OR-joins), 토큰의 제거(removal of tokens), 직접 연결된 천이(directly connected transition) 등을 추가한 정적 기반 워크플로우 언어이다.
YAWL은 모든 워크플로우 패턴들을 지원하기 때문에 표현력이 좋으며 이는 다른 워크플로우 언어로 쓰여진 프로세스 모델들을 공유할 수 있는 잠재적인 이점이 있다. 따라서 YAWL은 확장성 있게 서비스 통합 프레임워크의 프로세스 흐름을 표현하고 적용하는데 적합하다.
YAWL의 각 노드에서 사용되는 심볼을 나타낸다. 이러한 심볼들을 사용하여 워크플로우를 가시적으로 표현할 수 있다. YAWL은 워크플로우를 디자인하기 위한 GUI(Graphic User Interface) 에디터를 제공하며 이를 이용하여 비주얼한 디자인이 가능하다.
GDL 인터프리터(220)는 통신 관리부(250)로부터 입력되는 GDL 형식의 데이터를 해석하고, 이로부터 PFDL 저장부(270)에 저장된 PFDL(Processflow Description Language) 중에서 적합한 PFDL을 선택한다.
애플리케이션(110)이 서비스 통합 프레임워크(120)에게 서비스를 요청하거나 해당 결과를 받을 때에는 GDL 기술언어를 이용하여 데이터를 교환하게 된다. GDL은 애플리케이션이 하고자 하는 목표 즉, 서비스 검색 또는 호출 또는 특정 문제를 해결하기 위한 서비스들의 오케스트레이션(Orchestration)을 기술한 언어이다. GDL 파서(Parser)(224)는 GDL을 해석하고, PFDL 관리부(222)는 미리 저장된 PFDL 저장부(270)에서 적합한 PFDL을 선택한다.
랩퍼 관리부(230)는 프로세스 플로우 엔진(210)으로부터 요청받은 서비스에 대해 각각의 랩퍼를 검색, 호출한다. 랩퍼 관리부(230)는 복수의 랩퍼를 등록하여 관리하는 랩퍼 테이블(232) 및 랩퍼의 호출을 담당하는 랩퍼 호출부(234)를 포함한 다.
복수의 랩퍼 콘테이너(242, 244, 246)는 복수의 랩퍼를 포함한다. 도시된 실시예에서는, 제1 랩퍼 콘테이너(242)는 서비스 검색 랩퍼(124)를 포함하고, 제2 랩퍼 콘테이너(244)는 서비스 호출 랩퍼(126)를 포함하고, 제3 랩퍼 콘테이터(246)는 콘텍스트 브로커 랩퍼(128)를 포함한다. 이러한 랩퍼들은 기본적으로 설정된 것 이외에, 추가할 수 있다.
도 3은 도 2의 서비스 검색 랩퍼의 구성을 블록도로 도시한 것이다.
서비스 검색 랩퍼(Service Discovery Wrapper; 이하 ‘SDW'라 함)(124)는 서비스 통합 프레임워크 도메인에 설치될 여러 서비스들을 검색해 주는 서비스들을 등록한다. 서비스 통합 프레임워크에는 검색 서비스가 여러 개 존재할 수 있으며 이들 중 서비스 통합 프레임워크에 등록을 원하는 서비스들을 통합 관리하는 역할을 SDW가 하게 된다. 등록된 EM들(320, 322, 324)은 EM 저장부(EM repository)(310)에 저장된다. 또한, SDW(124)는 등록된 EM들의 등록을 해지한다. SDW가 먼저 등록을 해제할 수 있으며, EM가 해제를 요청할 수도 있다.
요청 메시지 파서/검증부(Request message parser/validator)(302)는 수신된 검색 요청 메시지를 해석하고 유효성 여부를 검증한다. EM 선택부(EM Selector)(304)는 등록된 EM들이 복수개 있을 경우에 서비스 요청 정보에 의해 어느 한 EM을 선택한다. 요청 메시지 생성부/송신부(Request massage maker/sender)는 EM 선택부(304)에 의해 선택된 EM에게 서비스 요청 메시지를 송신한다. 서비스 검색 EM(322)이 요청 메시지를 수신하였으면, 서비스 검색을 실행하여 응답 메시지 를 SDW(124)로 보낸다. 응답 메시지 수신부/검증부(312)는 EM으로부터 응답 메시지를 수신하여 유효성 여부를 검증한다. 결과 생성부(Result maker)(308)는 서비스 검색 결과를 통신 관리부(250)로 보낸다.
SDW에서 가장 중요한 부분은 서비스 통합 프레임워크와 EM간에 서비스 이용을 위해 사용하게 될 실제 데이터 형식의 정의이다. 각각 개발되고 장단점이 있는 서비스 검색을 위한 EM은 SDW가 제공하는 통합 스키마에 형식에 맞게 데이터를 가공할 수 있어야 한다. SDW에서 EM으로 전달하는 데이터와 EM에서 SDW로 전달하는 데이터는 SDW에서 정의한 통합 스키마에 맞는 데이터만 가능하다. SDW는 사용하게 되는 데이터가 타당한지 검사할 의무가 있다.
GDL은 서비스 통합 프레임워크와 service discovery EM간에 사용하는 모든 메시지를 포함하는 형태의 스키마를 가진다. GDL의 명령(command)에 따라서 몸체(body)의 스키마가 결정된다. 따라서 SDW는 GDL의 헤더와 몸체를 해석할 수 있어야 한다. 몸체를 임의의 형태로 정의하였으며, 헤더의 명령에 따라 몸체의 형태가 결정된다. 명령에 따라 몸체의 스키마가 정의되며 명령은 아래에 기술된 6가지이다. 각각은 고유의 메시지 스키마를 가지고 있다.
EM이 서비스 통합 프레임워크에서 서비스를 제공하려면 SDW에 등록을 해야 하는바, SDWRegister는 검색 EM을 SDW에 등록할 때 사용하는 메시지 스키마이다.
SDWDeregister는 EM을 SDW에서 등록 해제하는 메시지다. 이 메시지는 SDW가 EM에게 보낼 때도 사용하고 EM이 SDW에게 등록해제를 요구할 때 사용할 수 있다.
SDWRequest는 SDW에게 검색을 요청하기 위한 메시지 스키마이다. SDWResponse는 SDWRequest에 대한 응답으로 검색된 결과를 리턴하는 메시지 스키마이다.
SDWACK은 SDW 메시지에 대한 긍정적인 응답을 위한 메시지 스키마이다. SDWRegister, SDWDeregister에 대한 응답으로 가능하다.
SDWNACK은 SDW 메시지에 대한 부정적인 응답을 위한 메시지 스키마이다. SDWRegister, SDWDeregister, SDWRequest, SDWResponse에 대한 부정적인 응답으로 가능하다.
도 4는 도 2의 서비스 호출 랩퍼의 구성을 블록도로 도시한 것이다.
서비스 호출 랩퍼(Service Invocation Wrapper; 이하 ‘SIW’라 함)(126)는 서비스 통합 프레임워크 도메인의 서비스를 수행하는 역할을 하는 랩퍼이다. SIW(126)는 서비스 통합 프레임워크에 혼재하는 서비스 실행 프레임워크들을 통합하여 서비스를 수행해줄 수 있는 스펙을 제공한다. 이러한 스펙을 제공함으로써 추후 개발되는 서비스는 해당 스펙을 지원하는 서비스를 작성함으로써 별도의 조치 없이 서비스 통합 프레임워크에 서비스를 제공할 수 있으며, 기존의 개발된 서비스들은 EM을 작성하여 연결함으로써 최소한의 노력을 통하여 서비스 통합 프레임워크에 통합이 가능하다.
서비스를 실행하는데 필요한 여러 가지 정보들이 있다. 예를 들면 서비스명 혹은 URL, 실행에 필요한 매개변수와 그 값들, 신용카드 번호 혹은 주소 등 많은 정보들을 필요로 하게 된다. 각각의 서비스들이 요구하는 정보도 각각 다르며, 서비스를 수행하는데 필요한 정보도 수행될 서비스에 따라 전혀 달라지게 된다. 이러 한 모든 상황들을 통합할 수 있는 서비스 실행 및 그 결과를 나타내는 일반적인 형태의 메시지 스키마를 정의하고 이를 이용하여 서비스를 수행하고 결과를 돌려받는 것이 SIW의 핵심 기능이다.
요청 메시지 파서/검증부(Request message parser/validator)(402)는 수신된 검색 요청 메시지를 해석하고 유효성 여부를 검증한다. EM 선택부(EM Selector)(404)는 등록된 EM들이 복수개 있을 경우에 서비스 요청 정보에 의해 어느 한 EM을 선택한다. 요청 메시지 생성부/송신부(Request massage maker/sender)는 EM 선택부(404)에 의해 선택된 EM에게 서비스 요청 메시지를 송신한다. 서비스 호출 EM(422)가 요청 메시지를 수신하였으면, 서비스를 수행하여 응답 메시지를 SIW(126)로 보낸다. 응답 메시지 수신부/검증부(412)는 EM으로부터 응답 메시지를 수신하여 유효성 여부를 검증한다. 결과 생성부(Result maker)(408)는 서비스 수행 결과를 통신 관리부(250)를 통해 애플리케이션(100)으로 전송한다.
SIW(126)는 서비스 통합 프레임워크(120)를 통하여 어플리케이션(110)과 메시지를 주고 받으며, 서비스 호출 EM(420, 422, 424)과 통신한다. SIW(126)는 서비스 통합 프레임워크(120), EM(420, 422, 424) 및 SIW(126)와 통신하는 모든 개체들에게 통일된 메시지 형식을 가지고 통신하며 이를 SIW 메시지 스키마로 정의하였다. 따라서 SIW를 이용하고자 하는 모든 개체는 SIW 메시지 스키마를 준수하도록 개발되어야 한다.
SIW(126)에서는 다음과 같은 메시지 스키마가 사용된다. 별도의 프로토콜은 없으며 대신 메시지가 모든 것을 포함하고 있다.
SIWRegister는 service invocation EM이 SIW에게 자신을 등록할 때 사용하는 메시지다. 응답으로는 SIWACK, SIWNACK 등이 리턴될 수 있다.
SIWDeregister는 등록된 service invocation EM의 등록을 해제하는데 사용하는 메시지이다. SIW에서 EM으로 메시지를 보낼 수도 있으며, 그 반대도 가능하다. 응답으로는 SIWACK, SIWNACK가 올 수 있다.
SIWRequest는 SIW에게 호출을 요청하는 메시지다.
SIWRequest는 일반적으로 서비스 통합 프레임워크에서 SIW에게 전달되고 SIW가 다시 서비스 호출 EM으로 전달된다. 응답으로는 SIWResponse, SIWNACK이 올 수 있다.
SIWResponse는 SIWRequest의 응답으로 서비스의 수행결과를 리턴하는 메시지다. SIWResponse는 일반적으로 서비스 호출 EM에서 SIW로 전달되고 SIW에서 서비스 통합 프레임워크로 전달된다. 메시지에 오류가 있을 경우 SIWNACK가 리턴될 수 있다.
SIWACK은 SIWRegister 및 SIWDeregister의 긍정적인 응답으로 사용된다.
SIWNACK은 SIWRegister, SIWDeregister, SIWRequest 및 SIWResponse의 부정적인 응답으로 사용된다.
도 5는 도 2의 콘텍스트 브로커 랩퍼의 구성을 블록도로 도시한 것이다.
콘텍스트 브로커 랩퍼(Context Broker Wrapper; 이하 'CBW'라 함)(128)는 애플리케이션과 콘텍스트 브로커간의 정보 교환을 위해 지켜야 하는 표준 스펙을 제시한다. 콘텍스트 정보를 이용하고자 하는 애플리케이션에게 CBW 스펙을 제공하여 CBW(128)를 통해 콘텍스트 브로커를 이용할 수 있도록 한다.
콘텍스트 브로커 EM(520)은 CBW 통합 스키마를 이용하여 EM 저장부(EM repository)(510)로의 등록을 CBW(128)에게 요청한다. CBW(128)는 요청 메시지가 유효한지 여부를 검증하여 EM 저장부(510)에 콘텍스트 브로커 EM(520)를 등록한다. 등록 해지는 등록 절차와 동일하게 수행된다.
콘텍스트 정보를 원하는 애플리케이션(100)이 서비스 통합 프레임워크(110)로 요청하면, 서비스 통합 프레임워크(110)는 CBW(128)에게 요청 메시지를 전달한다. 요청 메시지 파서/검증부(Request message parser/validator)(502)는 수신된 요청 메시지를 해석하고 유효성 여부를 검증한다. EM 선택부(EM Selector)(504)는 등록된 EM들이 복수개 있을 경우에 서비스 요청 정보에 의해 어느 한 EM을 선택한다. 요청 메시지 생성부/송신부(Request massage maker/sender)는 EM 선택부(504)에 의해 선택된 EM에게 서비스 요청 메시지를 송신한다. 콘텍스트 브로커 EM(522)이 요청 메시지를 수신하였으면, 콘텍스트 정보를 포함하는 응답 메시지를 CBW(128)로 보낸다. 응답 메시지 수신부/검증부(512)는 EM로부터 응답 메시지를 수신하여 유효성 여부를 검증한다. 결과 생성부(Result maker)(508)는 콘텍스트 정보를 포함하는 응답 메시지를 통신 관리부(250)를 통해 애플리케이션(100)으로 전송한다.
CBW가 사용하는 메시지 스키마이다. 6가지 메시지가 존재하며, 각각의 기능은 다음과 같다.
EM가 서비스 통합 프레임워크에서 서비스를 제공하려면 CBW에 등록을 해야 하는바, CBWRegister는 context broker EM을 CBW에 등록할 때 사용하는 메시지 스키마이다.
CBWDeregister는 EM을 CBW에서 등록 해제하는 메시지다. 이 메시지는 CBW가 EM에게 보낼 때도 사용하고 EM이 CBW에게 등록해제를 요구할 때 사용할 수 있다.
CBWRequest는 CBW에게 context 정보를 요청하기 위한 메시지 스키마이다.
CBWResponse는 CBWRequest에 대한 응답으로 context 정보를 리턴하는 메시지 스키마이다.
CBWACK은 CBW 메시지에 대한 긍정적인 응답을 위한 메시지 스키마이다. CBWRegister, CBWDeregister에 대한 응답으로 가능하다.
CBWNACK은 CBW 메시지에 대한 부정적인 응답을 위한 메시지 스키마이다. CBWRegister, CBWDeregister, CBWRequest, CBWResponse에 대한 부정적인 응답으로 가능하다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위에 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
본 발명에 따르면, 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템 상에서 개발된 애플리케이션은 서비스의 변경 및 환경의 변경에 대해서 독 립적이기 때문에 서비스의 추가 삭제 및 수정에 대해 애플리케이션을 수정할 필요가 없어 애플리케이션의 수명주기가 늘어날 수 있다. 또한 기존의 서비스 및 미들웨어 등에서 동작하던 서비스들을 타 미들웨어 등과 통합하고자 할 때 서비스 통합 프레임워크를 사용하면 최소한의 노력으로 기존의 서비스들을 그대로 이용할 수 있다. 따라서 대규모 도메인을 구축할 경우 각각의 도메인이 서로 다른 미들웨어나 프로토콜을 사용한다고 하더라도 서비스 통합 프레임워크를 사용하여 쉽게 통합이 가능하여 생산성이 증대될 수 있다.

Claims (5)

  1. 유비쿼터스 환경에서 복수의 애플리케이션들에서 사용되는 다양한 프로토콜의 서비스를 유기적으로 통합하여 USS(Ubiquitous Smart Space: 유비쿼터스 스마트 공간)를 효율적으로 구축하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템에 있어서,
    동일한 기능을 가지는 서비스 별로 등록, 관리하는 복수의 랩퍼를 구비하며, 상기 애플리케이션으로부터 서비스를 요청하는 메시지를 수신하는 경우, 상기 랩퍼를 통해 서비스를 검색, 호출하여 서비스 수행 결과를 상기 애플리케이션으로 전달하는 프레임워크;
    상기 애플리케이션과 상기 프레임워크간에 메시지를 전달하는 메시지 브로커; 및
    기존의 서비스가 상기 랩퍼의 스펙에 맞도록 프로토콜을 변환시키는 외부 모듈을 포함하는 것을 특징으로 하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템.
  2. 제1항에 있어서,
    상기 메시지는 상기 프레임워크에서 정의하는 언어인 GDL(Goal Description Language)에 의해 표현되는 것을 특징으로 하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템.
  3. 제1항에 있어서, 상기 프레임워크는,
    상기 애플리케이션에서 요청한 서비스의 검색 및 호출을 하도록 스케줄링하는 프로세스 플로우 엔진; 및
    상기 프로세스 플로우 엔진으로부터 출력신호에 응답하여 상기 랩퍼를 호출하는 랩퍼 관리부를 포함하는 것을 특징으로 하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템.
  4. 제1항에 있어서, 상기 복수의 랩퍼는,
    상기 프레임워크를 이용하려는 모든 검색 서비스(discovery service)들이 지켜야 하는 스펙을 제공하는 서비스 검색 랩퍼;
    상기 프레임워크에 혼재하는 서비스 실행 프레임워크들을 통합하여 서비스를 수행해줄 수 있는 스펙을 제공하는 서비스 호출 랩퍼; 및
    상기 애플리케이션과 상기 외부 모듈간의 정보 교환을 위해 지켜야하는 스펙을 제공하는 콘텍스트 브로커 랩퍼를 포함하는 것을 특징으로 하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템.
  5. 제1항에 있어서, 상기 복수의 랩퍼는,
    초기에 설정된 랩퍼 이외에도 새로이 추가될 수 있는 것을 특징으로 하는 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크 시스템.
KR1020070001656A 2007-01-05 2007-01-05 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템 KR100880536B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070001656A KR100880536B1 (ko) 2007-01-05 2007-01-05 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템
US12/448,676 US8707329B2 (en) 2007-01-05 2007-01-05 Open framework system for heterogeneous computing and service integration
PCT/KR2007/000086 WO2008082021A1 (en) 2007-01-05 2007-01-05 Open framework system for heterogeneous computing and service integration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070001656A KR100880536B1 (ko) 2007-01-05 2007-01-05 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템

Publications (2)

Publication Number Publication Date
KR20080064587A true KR20080064587A (ko) 2008-07-09
KR100880536B1 KR100880536B1 (ko) 2009-01-28

Family

ID=39588678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070001656A KR100880536B1 (ko) 2007-01-05 2007-01-05 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템

Country Status (3)

Country Link
US (1) US8707329B2 (ko)
KR (1) KR100880536B1 (ko)
WO (1) WO2008082021A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170118815A (ko) * 2015-02-20 2017-10-25 콘비다 와이어리스, 엘엘씨 메시지 버스 서비스 디렉토리
CN112015374A (zh) * 2020-08-18 2020-12-01 中国电子科技集团公司第二十八研究所 一种基于自然语言的跨编程语言微服务集成系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671416B2 (en) * 2011-01-14 2014-03-11 Apple Inc. Dynamic service discovery
KR101971621B1 (ko) 2011-11-11 2019-04-24 삼성전자주식회사 서버와 디바이스를 중개하는 방법 및 장치, 컴퓨터로 읽을 수 있는 기록 매체
CA2891202A1 (en) * 2012-11-16 2014-05-22 Duncan Lamb Unified framework for device configuration, interaction and control, and associated methods, devices and systems
TWI569604B (zh) * 2015-01-21 2017-02-01 智邦科技股份有限公司 網路交換機系統及其操作方法
US11550632B2 (en) * 2015-12-24 2023-01-10 Intel Corporation Facilitating efficient communication and data processing across clusters of computing machines in heterogeneous computing environment
US10467072B2 (en) 2017-04-05 2019-11-05 Rockwell Automation Technologies, Inc. Common gateway platform
JP7132531B2 (ja) * 2018-05-28 2022-09-07 日本電信電話株式会社 転送制御装置、転送制御方法、サービス提供システムおよび転送制御プログラム
US11902239B2 (en) * 2021-01-11 2024-02-13 Salesforce, Inc. Unified application messaging service

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
US7487509B2 (en) * 2002-08-08 2009-02-03 Sun Microsystems, Inc. System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments
US20040078424A1 (en) * 2002-10-16 2004-04-22 Nokia Corporation Web services via instant messaging
US20040093580A1 (en) * 2002-11-12 2004-05-13 Carollyn Carson System and methodology for mobile e-services
US7533141B2 (en) * 2003-01-24 2009-05-12 Sun Microsystems, Inc. System and method for unique naming of resources in networked environments
KR100550009B1 (ko) * 2003-11-13 2006-02-08 한국전자통신연구원 유비쿼터스 컴퓨팅을 위한 네트워크 장치 및 패킷 라우팅방법
US7404189B2 (en) * 2003-12-30 2008-07-22 International Business Machines Corporation Scheduler supporting web service invocation
KR100682995B1 (ko) * 2004-12-16 2007-02-15 한국전자통신연구원 유비쿼터스 기반의 상황 정보 제공 서비스 시스템 및 그방법
KR100637080B1 (ko) * 2005-02-23 2006-10-23 삼성전자주식회사 홈네트워크의 서비스 프레임워크
KR100679865B1 (ko) * 2005-03-07 2007-02-07 아주대학교산학협력단 유비쿼터스 컴퓨팅 환경의 다양성을 지원하기 위한 시스템
KR100703754B1 (ko) * 2005-04-15 2007-04-06 삼성전자주식회사 웹서비스 처리 장치 및 방법
US20070174454A1 (en) * 2006-01-23 2007-07-26 Mitchell David C Method and apparatus for accessing Web services and URL resources for both primary and shared users over a reverse tunnel mechanism
US8572286B2 (en) * 2007-05-21 2013-10-29 Sap Ag Method and apparatus for mapping an appropriate service version for a client

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170118815A (ko) * 2015-02-20 2017-10-25 콘비다 와이어리스, 엘엘씨 메시지 버스 서비스 디렉토리
US10708376B2 (en) 2015-02-20 2020-07-07 Convida Wireless, Llc Message bus service directory
CN112015374A (zh) * 2020-08-18 2020-12-01 中国电子科技集团公司第二十八研究所 一种基于自然语言的跨编程语言微服务集成系统
CN112015374B (zh) * 2020-08-18 2022-09-06 中国电子科技集团公司第二十八研究所 一种基于自然语言的跨编程语言微服务集成系统

Also Published As

Publication number Publication date
KR100880536B1 (ko) 2009-01-28
US8707329B2 (en) 2014-04-22
US20100011374A1 (en) 2010-01-14
WO2008082021A1 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
KR100880536B1 (ko) 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템
US7937500B2 (en) Dynamic, real-time integration of software resources through services of a content framework
US7035944B2 (en) Programmatic management of software resources in a content framework environment
US8271609B2 (en) Dynamic service invocation and service adaptation in BPEL SOA process
US8065657B2 (en) Exchange infrastructure system and method
US7681203B2 (en) Context-aware automatic service discovery and execution engine in mobile ad-hoc networks
US20030055868A1 (en) Building distributed software services as aggregations of other services
CN104618433A (zh) 一种基于eca规则的服务组合方法
Yan et al. Researching and Designing the Architecture of E-government Based on SOA
CN101276269B (zh) 可扩展资源管理平台
AU2003223040B2 (en) Exchange infrastructure system and method
Zinnikus et al. A model-driven, agent-based approach for the integration of services into a collaborative business process
CN101246421A (zh) 一种基于工作流引擎实现的通用框架
Park et al. Development of HLA-DDS wrapper API for network-controllable distributed simulation
EP1122644A1 (en) A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
Xiao et al. Adaptive agent model: an agent interaction and computation model
Seo et al. Automating the DEVS modeling and simulation interface to web services
KR20090000123A (ko) 시스템 재구성이 용이한 적응적 프로세스 제어방법
Di Modica et al. An OSGi middleware to enable the Sensor as a Service paradigm
KR20080006075A (ko) 표준 함수 기반의 사용자 중심 홈 네트워크 분산 미들웨어통합 구조
Di Modica et al. Sensor node plug-in system: A service-oriented middleware for wireless sensor networks
Dobrescu et al. Embedding wireless sensors in UPnP services networks
Li et al. Study on the architecture of platform for internet of things service based on EDSOA
Nürnberg Extensibility in component-based open hypermedia systems
Gao et al. Extension BPML for Sub-process

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20130111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 12