KR20140070740A - 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법 - Google Patents

사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법 Download PDF

Info

Publication number
KR20140070740A
KR20140070740A KR1020120134565A KR20120134565A KR20140070740A KR 20140070740 A KR20140070740 A KR 20140070740A KR 1020120134565 A KR1020120134565 A KR 1020120134565A KR 20120134565 A KR20120134565 A KR 20120134565A KR 20140070740 A KR20140070740 A KR 20140070740A
Authority
KR
South Korea
Prior art keywords
integrated framework
providing
dynamic
resource
resources
Prior art date
Application number
KR1020120134565A
Other languages
English (en)
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 KR1020120134565A priority Critical patent/KR20140070740A/ko
Priority to US13/946,448 priority patent/US20140149561A1/en
Publication of KR20140070740A publication Critical patent/KR20140070740A/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 REST(Representation State Transfer) 스타일의 사물 표현, 제어, 응용객체간 통신 및 서비스 구축, 연계 시스템의 구축을 지원하기 위한 통합 프레임워크에 관한 것이다. 보다 구체적으로는 시스템에 다양한 명세 언어 처리를 제공하는 방법, 시스템의 운영중에 구현에 대한 동적 연결(bind)/연결해제(unbind)를 제공하는 구현 바인딩 방법, 그리고 이를 바탕으로 REST에 기반한 시스템 구축 및 재구성을 지원하기 위한 리소스(resource), 메소드(method), 표현(representation)의 구성 및 그 운영 방법에 관한 것이다.

Description

사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법{SYSTEM AND METHOD FOR PROVIDING UNIFIED FRAMEWORK}
본 발명은 REST(Representational State Transfer) 스타일의 사물 표현, 제어, 응용객체간 통신 및 서비스 구축, 연계시스템의 구축을 지원하기 위한 통합 프레임워크에 관한 것으로, 특히 시스템에 다양한 명세 언어 처리를 제공하는 방법, 시스템의 운영 중에 구현에 대한 동적 연결(bind)/연결해제(unbind)를 제공하는 구현 바인딩 방법, 그리고 이를 포함하여 REST에 기반한 시스템 구축 및 동적 재구성을 지원하기 위한 리소스(resource), 메소드(method), 표현(representation)의 구성 및 그 운영 방법에 관한 것이다.
통신장비들간 또는 장비와 사람간의 통신에서 보다 범위를 넓혀 우리가 볼 수 있는 모든 사물을 사람과 통신이 가능케 하기 위한 기술들로 사물 인터넷(Internet of Things, IoT), 사물 웹(Web of Things, WoT) 등이 제안되고 있다.
이러한 사물(Thing)과 관련해서 센싱, 통신, 서비스 기술 등이 존재하여야 하며, 이를 통해 모든 사물이 인터넷 망을 통해 정보가 수집 및 구축되고, 이를 활용한 다양한 서비스 제공이 가능하다. 대표적인 웹 서비스 아키텍처인 REST에서, REST 응용은 리소스를 탐색하고, 탐색한 리소스에 4개의 메소드(CRUD(Create, Read, Update, Delete) 스타일의 서비스)만을 적용하여 목적을 완료할 수 있다. 즉, REST 스타일은 HTTP을 이용하여 리소스 중심의 웹 서비스를 구축하고, 리소스를 통해 서비스를 요청하고 서비스를 제공하는 방식을 사용한다.
하지만, 이와 같은 REST 스타일 방식은 M2M(Machine to Machine) 혹은 IoT 네트워크에 존재하는 다양한 하드웨어 장치범위(energy-critical 소형 센서 노드에서 대용량 네트워크 서버 장치까지)에 대해 제약 조건에 따른 자동화된 구성에 대한 부분을 고려하지 않았기 때문에, 웹 서비스 구성 및 배포가 매우 어렵다는 단점이 있다.
또한, 무선 센서 네트워크에서의 REST 스타일의 서비스는 다수의 독립적인 개발자들에 의해 개발, 구축, 탐색, 사용이 가능한 개방형 구조로 구축되기 위해 범용적인 웹 서비스 명세 방법(예를 들어, WADL, Web Application Description Language)의 확장과 축소, 그리고 그에 따른 소프트웨어 구현에 대한 동적 연결과 불필요한 소프트웨어 구현에 대한 해제 등을 제공하여야 하지만, 현재까지의 REST 스타일은 범용 컴퓨터 이상의 장치만을 전제함에 따라 이러한 기능들은 지원하고 있지 않는 실정이다.
한국공개특허 2012-0075614호, REST 웹 서비스를 이용한 개방형 인터페이스 기반 지불 시스템 및 그 방법, 2012.07.09 공개 한국등록특허 0809523, 3차원 비사실적 렌더링을 위한 확장성이 있는 스타일 기반의 통합 프레임워크 및 이러한 프레임워크의 구성 시스템 및 방법, 2008.02.26 등록
본 발명은 이러한 문제점들을 해결하기 위해, 센서 노드(sensor node), 게이트웨이(gateway), 네트워크 장비 등과 같은 추가 장치의 하드웨어 벤더 및 소프트웨어의 구현 다양성을 보장하고, 시스템 자체와 응용에 대한 자유로운 원격 제어를 제공하며, 하드웨어의 제한적인 성능에 따른 동적 재구성을 지원할 수 있는 REST 스타일의 통합 프레임워크를 제공하고자 한다.
본 발명의 실시예에 따르면, 사물 표현, 제어, 응용객체간 통신 및 서비스 구축, 연계 시스템의 구축을 지원하기 위한 REST 스타일의 통합 프레임워크로서, 명세 언어 처리를 제공하는 방법, 시스템의 운영 중에 구현에 대한 동적 연결(bind)/연결해제(unbind)를 제공하는 구현 바인딩 방법, 그리고 이를 포함하여 동적 재구성을 지원하기 위한 리소스(resource), 메소드(method), 표현(representation)의 구성 및 그 운영 방법을 포함할 수 있다.
또한, 본 발명은, 시스템 리소스와 응용 리소스에 대한 자유로운 원격 제어, HW 제한적인 성능에 따른 동적 재구성을 지원하는 구조 및 절차를 포함할 수 있다.
또한, 본 발명은, REST 스타일에 따라 리소스/메소드/파라미터의 범용화된 명세와 이의 해석을 허용하기 위해, 시스템 리소스로의 인터프리터(interpreter)를 제공할 수 있다.
또한, 본 발명은, 센서 추가, 응용 변경 등으로 인한 시스템/응용의 동적인 추가를 시스템의 재부팅 없이 지속 가능한 운용을 제공하기 위해, 변경된 리소스에 대한 새로운 서비스의 동적 연결(bind)이나 해제(unbind)를 제공할 수 있다.
또한, 본 발명은, 미리 확정되지 않은 목적 시스템의 다양한 하드웨어적 혹은 소프트웨어적인 제한 조건을 만족시키기 위해서는 응용 리소스/서비스의 동적인 구축뿐만 아니라 이를 운용하는 시스템 리소스/서비스 자체도 동적으로 구축될 수 있도록 하는 구성 및 그 절차를 포함할 수 있다.
또한, 본 발명은, 동적 구축이 필요한 응용 및 시스템 서비스는 개발자나 사용자의 개입 없이 자체에 재구성을 위한 추가의 구조와 운용 방법을 제공할 수 있다.
또한, 본 발명은, REST 스타일을 기반으로 하며, 추가로 장치들(예를 들어, 센서노드, 게이트웨이, 네트워크 장치 등)의 HW 벤더 및 SW의 구현 다양성을 보장할 수 있다.
본 발명에 의하면, M2M(Machine to Machine), 사물 인터넷(Internet of Things, IoT), 사물 웹(Web of Things, WoT) 등과 같은 환경에서 다양한 센서노드, 사용자 단말 또는 서버에 포함된 REST 스타일의 서비스 구축 방식으로, 각 장치에 탑재된 서비스(리소스와 그 메소드의 실행)간의 요청을 인식하고, 그 요청에 따라 웹서비스 명세의 해석을 통해 리소스를 생성하고 요청 시점에서 관련 메소드의 연계(bind)를 허용하며, 또한 요청에 따라 불필요한 리소스와 관련 메소드의 재구성을 제공할 수 있다. 이를 통해, 대상 장치의 제한 조건에 따라 재구성과 적용이 가능한 단일의 REST 스타일 시스템 구축이 가능하다.
도 1은 본 발명의 실시예에 따른 통합 프레임워크가 적용되는 네트워크 구성 예시도,
도 2는 본 발명의 실시예에 따른 통합 프레임워크 시스템에 대한 블록도,
도 3은 본 발명의 실시예에 따른 통합 프레임워크를 구체적으로 나타낸 도면,
도 4는 본 발명의 실시예에 따른 통합 프레임워크의 REST 인터페이스 구성을 나타낸 도면,
도 5는 본 발명의 실시예에 따른 통합 프레임워크 서비스 구축 과정을 예시한 흐름도,
도 6은 본 발명의 실시예에 따른 통합 프레임워크가 탑재된 초기 동작 과정을 예시한 흐름도,
도 7은 본 발명의 실시예에 따라 HTTP 요청의 해석 및 처리 과정을 예시한 흐름도,
도 8은 도 7에 따라 시스템 리소스를 재구성하는 과정으로서, 통합 프레임워크 내에 인터프리터를 추가하는 경우를 예시한 흐름도,
도 9는 도 7에 따라 시스템 리소스를 재구성하는 과정으로서, 리소스 해제 과정을 예시한 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
목적 시스템이 미리 확정되지 않은 다양한 제한 조건(하드웨어적 또는 소프트웨어적인 제한 조건)을 만족시키기 위해서는 응용 리소스/서비스의 동적인 구축뿐만 아니라 이를 운용하는 시스템 리소스/서비스 자체도 동적으로 구축될 필요가 있다. 또한, 웹은 다양한 미디어(hypermedia)를 제공함에 따라, REST(Representational State Transfer) 스타일의 서비스 구축을 위한 리소스(resource)/메소드(method)/파라미터(parameter)의 범용화된 명세와 이의 해석을 허용해야 한다. 또한, 센서의 추가 등으로 인한 서비스의 추가에 따른 시스템의 재부팅 없이 지속 가능한 운용 서비스를 제공할 필요가 있다.
본 발명은, 동적 구축이 필요한 응용 및 시스템 서비스에 대해 재구성을 위한 추가의 구현을 포함하고, 시스템 리소스/서비스로서의 해석기(interpreter)를 제공할 수 있으며, 변경된 리소스에 대한 새로운 서비스의 동적 연결(bind) 또는 해제(unbind)를 제공하고자 하는 것으로, 이러한 기술 사상으로부터 본 발명의 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 통합 프레임워크가 적용되는 네트워크 구성 예시도로서, REST(Representational State Transfer) 스타일의 통합 프레임워크 운용 환경을 도시한 것이다.
도 1에 도시된 바와 같이, REST 스타일의 통합 프레임워크 운용 환경은 M2M(Machine to Machine) 환경 또는 사물 인터넷(Internet of Thing) 환경에서의 다양한 하드웨어 장치들을 위한 서비스 환경으로서, 디바이스1(100/1), 디바이스2(100/2), 게이트웨이1(200/1), 게이트웨이2(200/2), 네트워크 장치1(300/1), 네트워크 장치2(300/2) 등을 포함할 수 있으며, 각각의 장치들은 네트워크(10/1~10/3)에 의해 연결될 수 있다.
도 1에는 이들 장치들을 일정 개수로 한정하였으나, 이는 설명의 편의를 위해 예시한 것일 뿐, 네트워크를 통해 연결되는 하드웨어 장치들은 보다 다양한 개수로 구현될 수 있음을 본 발명의 기술분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.
도 1에서 디바이스(100/1)(100/2)는 센서 노드(sensor node)를 포함할 수 있으며, 센싱 및 전송 기능을 가진다.
게이트웨이(200/1)(200/2)는 디바이스(100/1)(100/2)로부터 센싱 데이터를 수집하는 역할을 하며, 네트워크 장치(300/1)(300/2)는 애플리케이션이 탑재될 수 있다.
이들 구성들(100/1)(100/2)(200/1)(200/2)(300/1)(300/2)은 HTTP(또는 CoAP(Constrained Application Protocol))를 탑재하며, 기본적으로 네트워크(10/1~10/3)를 통해 HTTP 요청 및 응답에 대한 메시지 교환이 이루어진다.
네트워크(10/1) 상에서 발신측 디바이스1(100/1)의 HTTP 요청 메시지에 의해 디바이스1(100/1)과 게이트웨이1(200/1) 간의 서비스 탐색 및 실행 동작이 요청될 수 있으며, 수신측 게이트웨이1(200/1)로의 요청 인식이 처리된 후 HTTP 응답 메시지가 네트워크1(10/1)로 전달될 수 있다.
디바이스1(100/1)은 HTTP 응답에 대한 확인을 함으로써 송수신을 완료할 수 있다.
각 장치는 통합 프레임워크와 그에 따른 장치 제한적인 개별 구현을 포함함으로써, REST 스타일의 서비스 탐색 실행이 가능하다.
예컨대, 디바이스1(100/1)은 통합 프레임워크와 개별 구현을 통해 웹 서비스가 구축된 반면, 디바이스2(100/2)는 통합 프레임워크 없이 개별 구현만을 통해 웹 서비스가 구축될 수 있다. 즉, 디바이스1(100/1)은 후술하는 설명에서와 같이, 인터프리터, 구현 바인더, 재구성 서비스 구현 템플릿 등을 포함하는 반면, 디바이스2(100/2)는 최소 사양의 웹 서비스 연계 기능만을 가지며, 운용중의 서비스 구축, 재구성 등의 기능을 제공하지 못한다.
통합 프레임워크의 구성 요소는 설치 후 장치의 사양이나 목적 변경 등에 따라 부분적인 착탈이 가능하며, 구현 시스템내의 서비스 역시 부분적인 착탈이 가능하다. 즉, 네트워크 장치1(300/1)과 네트워크 장치2(300/2)는 초기에 동일한 설정에 따라 시작되었지만, 운용 중에 구성 변경 요구를 통해 통합 프레임워크는 각기 다른 시스템 형상으로 재구성할 수 있다.
도 2는 본 발명의 실시예에 따른 통합 프레임워크 시스템의 구조를 도시한 것으로, 디폴트 HTTP 데몬(212), 통합 프레임워크(213), 인터프리터(214), 구현 바인더(215) 등을 포함할 수 있으며, REST 스타일의 아키텍처(211)를 기반으로 할 수 있다. 도 2의 통합 프레임워크 시스템은 도 1의 임의의 장치, 예컨대 디바이스1(100/1), 게이트웨이1(200/1), 네트워크 장치1(300/1) 등에서 어느 하나의 장치에 포함될 수 있다.
도 2에 도시한 바와 같이, 인터프리터(214)와 구현 바인더(215)는 필요에 따라 시스템 초기 시점에 선택하여 적용할 수도 있으며, 다른 응용 서비스와 마찬가지로 운용 중에 동적으로 재구성할 수 있다.
이러한 인터프리터(214)와 구현 바인더(215)는 내부에 팩토리 패턴(216)을 구비하고 있으며, 이 팩토리 패턴(216)을 통해, 다수개의 인터프리터와 다른 방식의 구현 바인더를 추가할 수 있다.
HTTP 데몬(212)의 경우, 통신 과정에서 장치가 제공자(provider) 역할인 통합 프레임워크의 경우에만 필요하며, 소비자(consumer) 역할에서는 클라이언트 프록시로 대체될 수 있다. 클라이언트 웹 브라우저인 경우, 통합 프레임워크는 포함되지 않으며, 웹 브라우저는 오직 검색된 리소스 계층구조와 메소드 리스트만을 사용하여 서비스를 요청할 수 있다.
도 3은 특정 장치에 통합 프레임워크를 구체화한 예시도이다.
통합 프레임워크(213)는 REST 스타일에 따라 제공 가능한 리소스 자원(311)내에 인터프리터(214)와 구현 바인더(215)를 포함할 수 있다. 통합 프레임워크(213)에서 제공 가능한 모든 인터프리터(214)들은 리소스 계층 구조(311)내의 “/system/interpreter/”자원의 하위 자원(322)으로 제공되며, 도 3에서는 사용자의 HTTP 하이퍼텍스트(hypertext) 타입으로 WADL(Web Application Description Language) 명세와 JSON(Java Script Object Notation) 명세를 해석할 수 있는 두 개의 인터프리터를 예시하였다. 해석 결과인 리소스와 그 메소드들, 그리고 파라미터 변환 인터페이스(314)를 통해 통합 프레임워크(213)에 반영하기 위한 백엔드(backend) 디폴트 인터프리터로 구성될 수 있다.
구현 바인더(215)는 실행 가능한 오브젝트를 포함하는 구현들(320)을 서비스 인터페이스(314)에 의해 통합 프레임워크에 제시된 리소스, 메소드, 파라미터 변환 등과 동적으로 연결(bind)할 수 있다(도 4에서 설명). 이때, 사용되는 구현 바인더(215)의 서비스 역시 REST 스타일에 따라 “/system/implementation biner/”리소스의 하위 리소스(323)로 정의될 수 있다. 대표적으로 도 3에서는 특정 리소스에 POST 메소드를 연결하는 bindPOST 리소스와 GET 메소드를 해제하는 unbindGET 리소스를 예시하고 있다.
도 4는 통합 프레임워크(213)의 REST 인터페이스 구성을 도시하고 있다.
본 발명의 실시예에 따른 통합 프레임워크는 REST 스타일을 지원하며, REST 리소스(Resource)(412)는 계층 구조로 정의되고(예를 들어, 도 3의 도면부호 322 및 323), 적용 가능한 메소드(413)가 함께 정의될 수 있다.
메소드(413)는 클라이언트의 요청에 따라 수행되어야 할 요청(Request) 메소드(416)와 이의 처리 결과를 포함한 응답을 위한 응답(Response) 메소드(417)로 구성될 수 있다. 여기서, 응답의 표현 방식을 정의한 표현(Representation)(418)이 추가로 정의되어야 한다. 각각의 메소드는 요구와 응답에 포함될 파라미터 변환(ParamTranslation)(414) 체계를 포함하여야 한다. 이들은 인터프리터(214)에 의해 해석되고 추가 인터페이스(314)에 따라 통합 프레임워크에 생성 반영될 수 있다.
한편, 생성된 이들 요소의 실제 구현은 구현 바인더(215)의 바인드 인터페이스(321)에 의해 실제 구현(320)내 각 함수들인 요청 메소드(416)의 실행 코드(419), 응답 메소드(417)의 실행코드(420), 그리고 파라미터 변환(414)의 실행코드(415)를 제공할 수 있다.
일 예로, POST/GET 메소드가 가능한 /example 리소스를 포함하는 example.wadl에 대한, “POST /system/interpreter/WADL HTTP/1.1 … application/wadl …” request가 제시되었다면, 통합 프레임워크는 인터프리터 리소스(/system/interpreter/WADL)의 활용(322)(314)을 통해 리소스(412)에 “/example”을 생성하며, 이 리소스의 요청 메소드(416) 및 응답 메소드(417)에 {Request.POST, Request.GET, Response.POST, Response.GET} 등을 생성할 수 있다. 이후, 구현 바인더(215)를 통해 {Request.POST, request.GET}의 실제 구현 코드(example.so)를 각각 연계(bind)할 수 있다. 이후, 임의의 클라이언트로부터 “POST /example HTTP/1.1 …”와 같은 요구를 수신할 경우, 통합 프레임워크는 Request.POST의 구현 코드를 수행하고 그 결과를 Response.POST에 따라 반환할 수 있다.
도 5는 통합 프레임워크에 서비스를 구축하기 위해 필요한 두 절차를 예시적으로 설명하는 흐름도이다.
도 5에 예시한 바와 같이, 서비스 구축을 위해서는 REST 서비스의 명세가 필요하며, 대표적인 REST 웹 서비스의 명세 방법인 WADL 등을 사용할 수 있다. 또는 자체의 인터프리터를 제공한다면, 해당 인터프리터가 인식하는 명세 방법(Description Language)을 통해 작성할 수도 있다.
REST 스타일의 서비스 명세를 위해, 리소스를 정의하여야 한다(511).
다음으로, 리소스를 통해 가용한 CRUD 스타일의 메소드를 정의하고 명세하여야 한다(512).
정의된 메소드는 처리 중에 필요한 파라미터들에 대한 정의를 메소드 정의에 추가할 수 있다(513).
이러한 과정(511~513)을 반복하여 리소스들간의 계층 구조를 포함하는 최종 웹 애플리케이션(WADL을 사용하여 명세할 경우) 명세를 작성할 수 있다(514).
작성된 명세는 도 3에 따라 통합 프레임워크내의 인터프리터(214)를 통해 해석되며, 통합 프레임워크 내에 리소스 계층과 메소드로 생성될 수 있다.
한편, 통합 프레임워크에 구축될 서비스는 재구성이 가능하여야 하므로, 리소스의 명세 작성 이후(511), 리소스의 재구성 과정에 시스템에 반영해야 하는 구현을 포함하여야 한다(515).
메소드와 파라미터 변환에 대해서도 동일하게 재구성을 위한 추가 구현을 포함할 수 있다(516, 517).
이후, 개별 메소드(Request, Response)에 대한 실제 처리를 구현할 수 있다(518).
개별 메소드의 실행에 필요한 파라미터 변경에 대한 코드를 구현한 후(519), 구현 바인더에 제시하는 형태의 라이브러리를 생성하고 바인딩 명세를 작성할 수 있다(520).
도 6은 통합 프레임워크가 탑재된 장치, 예를 들어 디바이스1(100/1)의 초기 동작 흐름을 예시하고 있다.
장치는 통합 프레임워크의 활성화 이후에 상호 통신이 가능하다.
장치의 전원이 인가되고 통합 프레임워크가 활성화되면, 파일 시스템으로부터 초기 시스템 설정을 읽을 수 있다(611).
만일, 응용 설정이 존재할 경우, 통합 해당 응용을 설치할 수 있다(610).
이후, 시스템 설정으로부터 추가 시스템 리소스에 대한 설치가 불필요하다면, 즉시 요구의 수신대기 상태로 전환할 수 있다(616).
만일, 시스템 리소스에 대한 설치가 필요하다면, 통합 프레임워크의 시스템 요소(예를 들어, 인터프리터, 구현 바인더)들을 탑재하기 위한 시스템 리소스(/system)를 생성할 수 있다(612).
상기 단계(611)의 시스템 설정에 따라 구현 바인더의 기본 리소스와 메소드를 설치할 수 있다(613).
이후, 시스템 설정으로부터, 인터프리터의 추가가 가능한 설정이라면(614), 시스템 리소스(/system)의 하위 리소스(/system/interpreter/backend)를 추가하고 관련 메소드의 설정, 구현 코드와 연계할 수 있다(615).
이후, 외부 요청 메시지를 수신 대기할 수 있다(616).
외부 요청 메시지에 따라, 인터프리터의 추가가 가능하다. 외부 요청 메시지의 수신을 대기하는 과정에서 HTTP 요구가 수신되면, 통합 프레임워크는 외부 요청 메시지를 해석한 후 처리 루틴을 호출할 수 있다(617).
요청 메시지에 대한 처리가 완료되면, 결과와 함께 응답 메시지를 반환할 수 있다(618).
도 7은 HTTP 요구의 해석 및 처리 과정을 예시적으로 나타낸 흐름도이며, 시스템 프레임워크 내의 리소스의 생성 및 제거, 메소드의 연결 및 해제 시의 과정들을 포함할 수 있다.
도 7에 도시한 바와 같이, HTTP 요구가 리소스 생성일 경우(711), 해당 리소스의 생성(721) 전에 재구성에 필요한 시스템/응용 리소스의 재구성 설정을 위한 Reconfiguration 템플릿(411)에 따라 구현되어야 하는 Reconfiguration.enter 절차를 수행할 수 있다.
절차 수행이 성공한 후(711), 해당 리소스와 관련된 리소스(Resource)(412), 메소드(Method)(413,416,417), 파라미터 변환(ParamTranslation)(414) 등의 구조를 생성할 수 있다.
리소스의 제거일 경우(712), 해당 리소스와 이 리소스의 계층 구조상의 하위 리소스들의 활용을 오프(off)로 하고, 이들과 연관된 모든 리소스(412), 메소드(413,416,417), 파라미터 변환(414) 등에 대해 Reconfiguration.exit 절차를 수행할 수 있다.
만일, 메소드 구현 연결 요구일 경우(713), 해당 메소드의 Reconfiguration.enter 절차를 수행하고(718), 이후 구현 바인더를 통해 지정 리소스에 해당 구현 코드들을 바인딩할 수 있다(724)
만일, 메소드 구현 해제 요구일 경우(714), 지정 리소스의 메소드 정의부인 메소드(요청 또는 응답)와 구현 코드간의 연결을 해제하고(719), 이후 해당 메소드의 Reconfiguration.exit 절차를 수행할 수 있다.
이외의 HTTP 요구들은 해당 요청(request)을 수행하고 그 결과를 반환할 수 있다(720). 대표적으로 특정 리소스의 정보를 GET하는 요구가 이에 해당될 수 있다.
도 8은 도 7에 따라 시스템 리소스(WADL 인터프리터)의 재구성 과정을 예시적으로 나타낸 흐름도이다.
도 8에 도시한 바와 같이, 통합 프레임워크 내에 WADL 인터프리터를 추가하는 경우, 먼저, 현 리소스의 해제를 고려하여, 미리 필요한 작업을 포함하는 Reconfiguration.enter 절차를 수행할 수 있다(811).
다음으로 실제 인터프리터 리소스(/system/interpreter/frontend/WADL)를 생성하며, 이 리소스의 여러 구현과의 연계(bind)를 위한 구조를 생성할 수 있다(813).
리소스의 동작과 관련하여 생성된 메소드 구조(응답, 요청 등)에 대해 개별적으로 Reconfiguration.enter 절차를 각각 수행할 수 있다(814).
이후, 개별 메소드 구조와 실제 구현 코드와의 바인딩을 수행할 수 있으며(815), 클라이언트는 통합 프레임워크내의 WADL 인터프리터를 사용할 수 있다.
도 9는 해당 리소스의 해제 과정을 예시적으로 나타낸 흐름도이다.
먼저, 해당 리소스(/system/interpreter/frontend/WADL)를 비활성화 단계로 전환하고(816), 리소스와 관련된 메소드 구조 등에 대한 연결해제(unbind)를 수행할 수 있다(817).
이후, 순서대로 메소드 구조와 리소스에 대한 Reconfiguration.exit 절차를 수행(818, 819)함으로서, 통합 프레임워크로부터 WADL 인터프리터를 제거할 수 있다.
이상 설명한 바와 같은 본 발명의 실시예에 의하면, M2M(Machine to Machine), 사물 인터넷(Internet of Things, IoT), 사물 웹(Web of Things, WoT) 등과 같은 환경에서 다양한 센서노드, 사용자 단말 또는 서버에 포함된 REST 스타일의 서비스 구축 방식으로, 각 장치에 탑재된 서비스(리소스와 그 메소드의 실행)간의 요청을 인식하고, 그 요청에 따라 웹서비스 명세의 해석을 통해 리소스를 생성하고 요청 시점에서 관련 메소드의 연계(bind)를 허용하며, 또한 요청에 따라 불필요한 리소스와 관련 메소드의 재구성을 제공할 수 있다. 이를 통해, 대상 장치의 제한 조건에 따라 재구성과 적용이 가능한 단일의 REST 스타일 시스템 구축이 가능하다.
213: 통합 프레임워크
214: 인터프리터
215: 구현 바인더

Claims (11)

  1. 사물 네트워크 상의 하드웨어 장치에 대한 리소스(resource) 및 메소드(method) 및 파라미터(parameter)의 범용 명세와 해석을 제공하는 인터프리터(interpreter)와,
    상기 하드웨어 장치의 리소스 변경에 따른 동적 연결(bind) 또는 동적 해제(unbind)를 제공하는 구현 바인더(implementation binder)를 포함하는
    통합 프레임워크 시스템.
  2. 제 1 항에 있어서,
    상기 사물 네트워크는, REST(Representation State Transfer) 스타일을 기반으로 하는
    통합 프레임워크 시스템.
  3. 제 1 항에 있어서,
    상기 구현 바인더는, 응용 서비스에 대한 리소스의 동적 연결 또는 동적 해제를 제공하는
    통합 프레임워크 시스템.
  4. 제 1 항에 있어서,
    상기 구현 바인더는, 시스템 서비스에 대한 리소스의 동적 연결 또는 동적 해제를 제공하는
    통합 프레임워크 시스템.
  5. 제 1 항에 있어서,
    상기 통합 프레임워크 시스템은, 시스템 리소스와 응용 리소스에 대한 원격 제어 및 하드웨어 제한적인 성능에 따른 동적 재구성을 지원하는
    통합 프레임워크 시스템.
  6. 사물 네트워크 상의 하드웨어 장치에 대한 명세 언어를 처리하는 과정과,
    시스템 운영 중에 구현에 대한 동적 연결 또는 동적 해제를 제공하는 과정과,
    상기 하드웨어 장치의 동적 재구성을 위한 리소스 및 메소드 및 표현(representation)을 제공하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
  7. 제 6 항에 있어서,
    상기 명세 언어를 처리하는 과정은,
    리소스를 정의하는 과정과,
    상기 리소스를 통해 가용한 메소드를 정의하는 과정과,
    파라미터에 대한 정의를 상기 메소드에 추가하는 과정을 포함하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
  8. 제 6 항에 있어서,
    상기 사물 네트워크는, REST 스타일을 기반으로 하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
  9. 제 6 항에 있어서,
    상기 동적 연결 또는 동적 해제를 제공하는 과정은, 응용 서비스에 대한 리소스의 동적 연결 또는 동적 해제를 제공하는 과정인 것을 특징으로 하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
  10. 제 6 항에 있어서,
    상기 동적 연결 또는 동적 해제를 제공하는 과정은, 시스템 서비스에 대한 리소스의 동적 연결 또는 동적 해제를 제공하는 과정인 것을 특징으로 하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
  11. 제 6 항에 있어서,
    상기 동적 연결 또는 동적 해제를 제공하는 과정은, 시스템 리소스와 응용 리소스에 대한 원격 제어 및 하드웨어 제한적인 성능에 따른 동적 재구성을 지원하는 과정인 것을 특징으로 하는
    통합 프레임워크 시스템의 통합 프레임워크 제공 방법.
KR1020120134565A 2012-11-26 2012-11-26 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법 KR20140070740A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120134565A KR20140070740A (ko) 2012-11-26 2012-11-26 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법
US13/946,448 US20140149561A1 (en) 2012-11-26 2013-07-19 Integration framework system and method of providing integration framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120134565A KR20140070740A (ko) 2012-11-26 2012-11-26 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법

Publications (1)

Publication Number Publication Date
KR20140070740A true KR20140070740A (ko) 2014-06-11

Family

ID=50774278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120134565A KR20140070740A (ko) 2012-11-26 2012-11-26 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법

Country Status (2)

Country Link
US (1) US20140149561A1 (ko)
KR (1) KR20140070740A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597635A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 图形处理资源分配方法、装置、计算机设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015143416A1 (en) 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US9467533B2 (en) 2014-03-21 2016-10-11 Ptc Inc. System and method for developing real-time web-service objects
US20150268936A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. System and method for testing computing devices in a heterogeneous environment
US9900370B2 (en) 2014-06-16 2018-02-20 Electronics And Telecommunications Research Institute Apparatus and method for controlling execution of mashup web of things service
CN106878361B (zh) * 2015-12-14 2020-08-25 阿里巴巴集团控股有限公司 一种终端应用页面的调试方法、装置及客户端

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10110039A1 (de) * 2000-04-12 2001-10-18 Ibm Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen
US7159224B2 (en) * 2002-04-09 2007-01-02 Sun Microsystems, Inc. Method, system, and articles of manufacture for providing a servlet container based web service endpoint
EP1414211A1 (en) * 2002-10-23 2004-04-28 Sony International (Europe) GmbH Software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US20050160155A1 (en) * 2003-12-22 2005-07-21 Harpreet Geekee Method and apparatus for dynamic rendering of services
US8051136B2 (en) * 2008-10-13 2011-11-01 International Business Machines Corporation Optimizing a presence enabled managed service
US20100299677A1 (en) * 2009-05-22 2010-11-25 Bluestem Software Llc Article of manufacture for programmatically describing web service-driven applications
US8856735B2 (en) * 2012-07-25 2014-10-07 Oracle International Corporation System and method of generating REST2REST services from WADL

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597635A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 图形处理资源分配方法、装置、计算机设备及存储介质
CN110597635B (zh) * 2019-09-12 2023-10-27 腾讯科技(深圳)有限公司 图形处理资源分配方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US20140149561A1 (en) 2014-05-29

Similar Documents

Publication Publication Date Title
Im et al. IoT mashup as a service: cloud-based mashup service for the Internet of things
KR20140070740A (ko) 사물간 연계 및 협업을 제공하기 위한 통합 프레임워크 시스템, 통합 프레임워크 제공 방법
EP2893443B1 (en) Re-configuration in cloud computing environments
CN105183452B (zh) 一种用于配电设备监测基于Spring AOP的远程规约服务系统
US20130326079A1 (en) Unifying Programming Models in Connectivity Framework
CN112424746A (zh) 服务网格内的原位触发的功能即服务
CN101853152B (zh) 一种生成用户图形界面的方法和系统
US20190327236A1 (en) System and method to securely execute datacenter management operations remotely
CN102043665A (zh) 知晓系统全景的应用间通信基础架构
KR102274178B1 (ko) 서버에서 시험 분산 애플리케이션을 에뮬레이션하는 기법
Amaral et al. Cooperative middleware platform as a service for internet of things applications
JP2005196772A (ja) ネットワーク上でのサービス共有のための装置及び方法
EP1715620B1 (en) Method and system for remote server administration
Le et al. Managing on-demand sensing resources in IoT cloud systems
Sotiriadis et al. Automatic migration and deployment of cloud services for healthcare application development in FIWARE
KR20090039904A (ko) 무선 네트워크 시스템 및 그에 따른 디바이스 제어 방법
CN102137079B (zh) 一种远程过程调用的业务开发方法及装置
US20060235955A1 (en) Method and system for remote server administration
Krishnamurthy et al. Programming frameworks for Internet of Things
KR20220108967A (ko) 외부 전자 장치를 제어하기 위한 어플리케이션을 생성하는 방법 및 이를 지원하는 전자 장치
Wall et al. Decentralized configuration of embedded web services for smart home applications
CN115514750A (zh) 电子设备远程控制方法、服务器、系统、介质和设备
Azzara et al. Architecture, functional requirements, and early implementation of an instrumentation grid for the IoT
JP2005039557A (ja) ソフトウェア無線機
Bhanu et al. Implementing Dynamically Evolvable Communication with Embedded Systems through WEB Services.

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid