KR100755712B1 - 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 - Google Patents
웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 Download PDFInfo
- Publication number
- KR100755712B1 KR100755712B1 KR1020060027212A KR20060027212A KR100755712B1 KR 100755712 B1 KR100755712 B1 KR 100755712B1 KR 1020060027212 A KR1020060027212 A KR 1020060027212A KR 20060027212 A KR20060027212 A KR 20060027212A KR 100755712 B1 KR100755712 B1 KR 100755712B1
- Authority
- KR
- South Korea
- Prior art keywords
- management data
- embedded device
- management
- layer
- control command
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B42—BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
- B42D—BOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
- B42D11/00—Carrying forward or transferring entries from one page to another, e.g. for book-keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B42—BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
- B42D—BOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
- B42D12/00—Book-keeping books, forms or arrangements
- B42D12/02—Book-keeping forms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B42—BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
- B42D—BOOKS; BOOK COVERS; LOOSE LEAVES; PRINTED MATTER CHARACTERISED BY IDENTIFICATION OR SECURITY FEATURES; PRINTED MATTER OF SPECIAL FORMAT OR STYLE NOT OTHERWISE PROVIDED FOR; DEVICES FOR USE THEREWITH AND NOT OTHERWISE PROVIDED FOR; MOVABLE-STRIP WRITING OR READING APPARATUS
- B42D15/00—Printed matter of special format or style not otherwise provided for
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법이 제공된다. 본 발명의 실시예에 따른 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법은 웹 서비스를 이용하는 임베디드 디바이스의 액션을 WSDL 문서의 제어 명령과 XML로 선언되는 관리 데이터로 분리 구성하고, 분리 구성된 액션을 바탕으로 관리 데이터 트리를 생성하여 디스크립션 메시지에 대한 액션을 수행한다.
웹 서비스, 관리 데이터, 제어 명령, 디스크립션 메시지
Description
도 1 종래 기술에 따른 UPnP 관리 서버의 디바이스 제어 방법을 도시한 도면.
도 2 종래 기술에 따른 임베디드 디바이스의 서비스 디스크립션 메시지를 도시한 도면.
도 3은 본 발명의 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 메시지 구성을 도시한 도면.
도 4a는 본 발명의 제 1 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 요청 메시지를 도시한 도면.
도 4b은 본 발명의 제 2 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 응답 메시지를 도시한 도면.
도 5는 본 발명의 실시예에 따른 디스크립션 메시지 처리를 도시한 도면.
도 6은 본 발명의 실시예에 따른 관리 데이터 트리를 도시한 도면.
도 7은 본 발명의 실시예에 따른 제어 명령 레이어를 도시한 도면.
도 8은 본 발명의 실시예에 따른 관리 데이터 레이어를 도시한 도면.
도 9는 본 발명의 실시예에 따른 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100: 임베디드 디바이스 300: 관리 서버
310: 관리 데이터 레이어 320: 제어 명령 레이어
본 발명은 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법에 관한 발명으로서, 웹 서비스를 이용하는 임베디드 디바이스의 액션을 WSDL 문서의 제어 명령과 XML로 선언되는 관리 데이터로 분리 구성하고, 분리 구성된 액션을 바탕으로 관리 데이터 트리를 생성하여 디스크립션 메시지에 대한 액션을 수행하는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법에 관한 것이다.
임베디드 시스템(Embedded System)은 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 가지는 시스템으로 개인용 컴퓨터와 달리 특정한 요구사항을 가지고 있으며, 미리 정의된 작업만을 수행한다.
일반 PC가 하드디스크와 같은 대용량 저장장치에 운영체제를 내장하고 있는 반면, 임베디드 시스템은 OS와 응용 프로그램들이 ROM(Flash)에 이미지 형태로 저장되어 있다가 부팅과 동시에 RAM Disk를 만든 후, RAM 디스크 상에 OS와 응용 프로그램들이 구성되고 구동되는 시스템이다.
웹 서비스(Web Service)는 네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템으로 서비스 지향적 분산 컴퓨팅 기술의 일종이다. 웹 서비스 프로토콜 스택은 SOAP, WSDL, UDDI 등으로 이루어지며 모든 메시징에 XML이 사용된다.
XML는 W3C의 텍스트 기반 마크업 언어에 대한 표준안으로 HTML과 다른 식으로 태그를 이용해서 각종 표현과 데이터를 나타낼 수 있다. XML은 이식성이 높은 구조화된 데이터를 기술하는데 유용하며, 데이터 기술 시 주로 이용된다. 특히, 메시징 프로토콜과 상호 교환을 필요로 하는 데이터 포맷으로 많이 이용되고 있다.
WSDL은 XML을 이용하여 웹 서비스 제공자에 의해서 제공되는 서비스 연결 정보 즉, 바인딩 시 주고받을 메시지 형식과 자신이 제공하는 오퍼레이션 정보 등과 같은 서비스 인터페이스를 기술한다. 즉, WSDL은 웹 서비스를 기술하는 역할을 하는 것이다. 여기서, XML 웹 서비스를 기술하기 위해서는 기본적으로 어떤 메시지를 생성하고 받아들일 수 있는지를 정의하는 것이 중요한데, WSDL은 XML 스키마를 이용해서 이 문제를 해결하고 있다.
WSDL 문서는 서비스 제공자가 제공하는 서비스를 호출하기 위한 인터페이스를 기술하고 있다. WSDL 문서는 서비스 호출 시 필요한 파라미터 정보를 나타내는 메시지(message), 타입(type), 호출할 서비스에 해당하는 포트타입(port type), 바인딩 오퍼레이션 정보를 가지고 있는 바인딩(binding), 그리고 서비스 호출을 위한 포트(port), 서비스(service)로 구성된다.
UPnP는 PC, 주변장치, 지능형 가전제품, 무선 장비 등과 같은 장치들을 네트웍에 접속시켰을 때, 인터넷과 웹 프로토콜을 사용하여 서로를 자동으로 인식할 수 있도록 해주는 표준이다. UPnP를 이용하면, 사용자가 어떤 장치를 네트워크에 추가하면 그 장치는 스스로 구성을 완료하며, TCP/IP 주소를 받고, 다른 장치들에게 자신의 존재를 알리기 위해 인터넷 HTTP에 기반을 둔 발견 프로토콜을 사용하게 된다. 예를 들어, 현재 네트워크에 접속되어 있는 카메라와 프린터가 있고 그 프린터를 통해 사진을 출력하려고 할 때, 카메라의 단추를 누르면 카메라가 "발견 요청" 신호를 네트워크에 보냄으로써 이용 가능한 프린터가 네트워크 상에 있는지 찾도록 할 수 있다. 그러면 그 신호를 받은 프린터는 자신의 위치를 URL의 형태로 카메라에게 응답하게 된다.
카메라와 프린터는 공용의 언어로 XML을 사용하거나, 또는 프로토콜 협상을 통해 어떤 방식으로 의사소통을 할 것인지를 정할 수 있게 된다. 의사소통을 위한 공용언어가 결정되면, 카메라는 프린터를 제어하고 선택된 사진을 출력할 수 있게 된다.
디스크립션 메시지(Description Message)는 임베디드 디바이스가 UDDI와 관리 서버에게 가능한 서비스를 알리는 것으로 관리 서버의 요청에 의한 응답으로 전송될 수 있고, 관리 서버가 UDDI서버로부터 수신 할 수 있다. 또한, 관리 서버에 해당 서비스들이 사전 입력되어 포함될 수 있다.
도 1 종래 기술에 따른 UPnP 관리 서버의 디바이스 제어 방법을 도시한 도면이다.
종래 기술에 따른 UPnP 관리 서버의 디바이스 제어는 임베디드 디바이스(100)의 서비스 디스크립션 메시지를 이용하여 구성하고 해당 서비스들의 리스트를 도시한 것이다.
관리 데이터(Management Object)는 JobAttributes, Margins, MediaList, PrinterAttributes, PrinterAttributesV2등을 포함하는 임베디드 디바이스(100)이 서비스하는 기능들을 의미하고, 제어 명령(Operation)은 Get등의 명령들을 포함한다.
관리 데이터와 제어 명령의 조합으로 이루어진 GetJobAttributes, GetMargins, GetMediaList, GetPrinterAttributes, GetPrinterAttributesV2 등을 액션(Action)(110)이라고 한다.
임베디드 디바이스(100)은 UPnP로 구성되는 디바이스들로 임베디드 디바이스(Embedded Device)들이 이에 포함된다.
도 2 종래 기술에 따른 임베디드 디바이스의 서비스 디스크립션 메시지를 도시한 도면이다.
종래 기술에 따른 임베디드 디바이스(100)의 서비스 디스크립션 메시지는 액션(110)과 상태변수(200)를 포함한다.
디스크립션 메시지는 임베디드 디바이스가 제공하는 액션(110)과 관리 데이터를 알아야 관리 서버가 임베디드 디바이스(100)을 제어한다.
디스크립션 메시지는 WSDL 문서로 임베디드 디바이스(100)이 UDDI와 관리 서버에게 임베디드 디바이스(100)의 가능한 서비스를 알리는 것으로 관리 서버의 요청에 대한 응답으로 전송되고, 관리 서버가 UDDI서버로부터 수신하며, 관리 서버에 해당 서비스들이 사전 입력되는 것을 포함한다.
액션(110)에는 액션 이름, 인수 관리 데이터 등이 미리 정의 되고, 관리 데이터와의 연결을 위한 상태 변수(200)도 정의 된다.
이와 같은 종래 기술에서는 관리 데이터와 제어 명령을 분리하여 구성하지 않기 때문에 임베디드 디바이스에 관리 데이터가 추가될 경우 이에 대응되는 액션의 개수의 증가로 서비스 디스크립션의 용량이 증가한다. 즉, 임베디드 디바이스가 n 개의 제어 명령이 적용 가능하고, m 개의 관리 데이터가 존재하는 경우 임베디드 디바이스(110)의 이용 가능한 서비스를 모두 표현하고, 해당 서비스들을 사용하기 위해서는 최대 n*m 개의 제어 명령이 필요하게 된다.
서비스 디스크립션 정보의 경우 액션의 추가로 해당 정보가 변경 되어야 하며, 임베디드 디바이스의 서비스 레이어의 코드 또한 변경이 불가피 하다는 단점이 있다.
뿐만 아니라 임베디드(Embedded) 디바이스의 경우 제한된 리소스(Resource)로 인해, 임베디드 디바이스에 추가되는 소프트웨어의 용량을 고려하지 않을 수 없으며, 디스크립션 정보를 임베디드 디바이스가 관리하는 것 또한 이에 따르는 리소스가 발생하게 된다. 특히 임베디드 디바이스가 파일 시스템을 지원하지 않는 임베디드 OS에서 동작할 경우 디스크립션 정보가 임베디드 디바이스의 메모리에 올라와 있어야 하므로 리소스 사용에 대한 부담이 더욱 가중 될 수 밖에 없다.
임베디드 디바이스의 다수의 관리 데이터를 제어하여 임베디드 디바이스의 정보를 업데이트 할 경우 임베디드 디바이스의 관리 데이터에 대응하는 수만큼의 디스크립션 메시지 구성과 전송이 요구된다. 이와 같은 과정을 반복적으로 수행할 경우 명령의 호출, 디스크립션 메시지의 구성, 검증 과정 등이 중복 수행될 수 있다.
본 발명은 상기한 문제점을 개선하기 위해서 고안된 것으로 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법에 관한 것으로, 액션을 관리 데이터 레이어와 제어 명령 레이어로 분리 구성하여 임베디드 디바이스의 디스크립션 메시지의 정보 용량을 줄이고, 유사한 기능을 수행하는 임베디드 디바이스 대해서 관리 데이터 레이어의 관리 데이터 파일만을 수정하여 기존의 애플리케이션에 적용하여 임베디드 디바이스를 제어하기 위한 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법에 관한 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법은 액션을 WSDL 문서의 제어 명령 레이어와 XML로 선언되는 관리 데이터 레이어로 분리하여 구성하는 단계, 분리 구성된 액션을 바탕으로 관리 데이터 트리를 생성하는 단계 및 관리 데이터 트리를 이용하여 액션을 수행하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있 다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 3은 본 발명의 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 메시지 구성을 도시한 도면이다.
본 발명의 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 메시지는 관리 서버(300)로부터 임베디드 디바이스(100)에게 제어 명령을 내리기 위해 필요한 정보를 포함할 수 있다.
서비스 디스크립션 메시지는 UDDI와 관리 서버(300)에게 이용 가능한 서비스를 알리는 것으로 관리 서버(300)에 대한 요청에 의한 응답으로 전송될 수 있고, 관리 서버가 UDDI서버로부터 수신 할 수 있다. 또한, 관리 서버에 해당 서비스들이 사전 입력되어 포함될 수 있다.
서비스 디스크립션 메시지는 관리 데이터 레이어(310)와 제어 명령 레이어(320)를 분리 구성하여 임베디드 디바이스(100)에 대한 제어를 수행 할 수 있다.
임베디드 디바이스(100)은 웹 서비스를 이용할 수 있는 PDA 와 같은 휴대용 단말기, UPnP 네트워크로 구성되는 PC 주변 장치들을 포함할 수 있다.
관리 서버(300)가 웹 서비스 또는 UPnP로 구성되는 임베디드 디바이스(100)을 제어하기 위해서 임베디드 디바이스(300)에 서비스 디스크립션 메시지를 요청하여 해당 서비스 디스크립션 메시지에 대한 응답 메시지를 이용하여 임베디드 디바이스(100)을 제어 할 수 있다.
관리 데이터 레이어(310)는 임베디드 디바이스의 서비스에 대한 정보, 예를 들어, 임베디드 디바이스(100)의 모델명, 시리얼 번호, 제조사, 제조사 URL 등을 포함하는 xml로 작성될 수 있다. 관리 데이터 레이어(310)에서는 임베디드 디바이스(100)의 웹 서비스 스택을 이용하여 액션을 처리하는 도 6의 관리 데이터 관리자(500)를 생성하고 도 6의 관리 데이터 트리(600)를 생성하여 관리 데이터에 대한 검증을 수행 할 수 있다. 관리 데이터 관리자(500)는 제어 명령 부분의 코드를 의미한다.
제어 명령 레이어(320)는 관리 서버(300)와 임베디드 디바이스(100)간에 공유되는 항목들로 관리 서버(300)가 해당 항목들을 사전에 인식하고 있음을 전제로 하며, xsd와 wsdl 문서를 포함할 수 있다.
관리 서버(300)가 현재 제어하고 있는 임베디드 디바이스(100)과 유사한 동작을 수행하는 디바이스들을 제어할 경우 관리 데이터 레이어(310)의 관리 데이터를 수정하여 애플리케이션에 대한 수정을 최소화 할 수 있다. 즉, 관리 데이터에 변화에 따라 애플리케이션 레이어와 관리 데이터 레이어를 포함하는 서비스 레이어의 수정이 최소화 될 수 있다.
이와 같이 서비스 디스크립션 메시지를 관리 데이터 레이어(310)와 제어 명령 레이어(320)로 분리하여 구성 할 경우 해당 서비스 디스크립션 메시지의 크기가 종래 m*n 개 에서 m+n개로 감소할 수 있다. 여기서 m은 관리 데이터의 개수이고, n은 제어 명령의 종류를 의미한다. 즉, 제어 명령 레이어(320)와 관계없이 관리 데이터 레이어(310)의 관련 코드 수정만으로 애플리케이션에 대한 개발을 할 수 있다.
도 4a는 본 발명의 제 1 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 요청 메시지를 도시한 도면이다.
본 발명의 제 1 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 요청 메시지는 제어 명령 정보(400)와 관리 데이터 정보(410)를 포함 할 수 있다.
도시한 바와 같이 서비스 디스크립션 요청 메시지는 관리 서버(300)로부터 임베디드 디바이스(100)에 제어 명령을 내리기 위해 생성되는 메시지로 xml로 선언될 수 있다.
디스크립션 메시지의 제어 명령 정보(400)는 xml 태그안에 GET, SET, ADD, DELETE등이 제어 명령으로 선언되어 포함될 수 있고, 관리 데이터 정보(410)는 임베디드 디바이스(100)이 관리하는 관리 데이터에 대한 정보를 요청하는 함수로 xml 태그(410)에 BS_INFO로 선언 함으로써, 임베디드 디바이스(100)이 관리하는 데이터들을 배열 할 것을 요청할 수 있다. 이와 같이 제어 명령과 관리 데이터의 조합으로 이루어진 메시지를 임베디드 디바이스(100)을 제어할 수 있는 수단, 즉 액션을 의미한다.
즉, 관리 서버(300)는 임베디드 디바이스(100)에 대한 서비스 디스크립션 메시지를 통해 제어 명령 GET, SET, ADD, DELETE등에 대한 임베디드 디바이스(100)의 관리 데이터 정보(410), BS_INFO를 요청 할 수 있다.
도 4b은 본 발명의 제 2 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 응답 메시지를 도시한 도면이다.
본 발명의 제 2 실시예에 따른 임베디드 디바이스에 대한 서비스 디스크립션 응답 메시지는 관리 서버(300)의 서비스 디스크립션 메시지 요청에 대한 응답을 도시한 것이다.
도시한 바와 같이 서비스 디스크립션 응답 메시지는 관리 서버(300)의 요청에 대한 응답 메시지로 xml로 선언될 수 있다.
xml 태그(420)에는 도 4a의 제어 명령 정보(400) GET, SET, ADD, DELETE등에 대한 응답임을 나타내는 제어 명령 정보(420) GETResponse가 표시될 수 있고, 도 4a에서 요청한 관리 데이터 정보(410), BS_INFO에 대한 응답으로 MO_PATH에 대한 MO_VALUE로 시리얼 번호, 모델명, 제조사, 제품 버전 정보 등을 포함하는 정보들을 배열 할 수 있다.
즉, 제어 명령 요청에 대한 응답, 관리 데이터와 제어 명령의 조합으로 이루어지는 제어 수단, 제어 명령 기본 정보가 임베디드 디바이스(100)을 제어할 수 있는 액션이 될 수 있다.
도 5는 본 발명의 실시예에 따른 디스크립션 메시지 처리를 도시한 도면이다.
본 발명의 실시예에 따른 관리 데이터 트리를 이용한 디스크립션 메시지 처리는 관리 데이터 관리자를 바탕으로 해당 메시지 처리를 도시한 것이다.
제어 명령에 대한 응답 메시지, 액션(도 4a)을 처리하기 위해서는 도시한 바와 같이 임베디드 디바이스(100)의 디스크립션 정보를 바탕으로 관리 데이터 관리자(500)를 구성함으로써 해당 액션들의 처리를 수행할 수 있다.
관리 데이터 관리자(500)에서는 관리 데이터 트리(600)를 생성하여 웹 서비스 스택(510)로부터 올라오는 디스크립션 메시지에서 관리 데이터 항목을 획득할 수 있다. 반면, 제어 명령에 관련된 항목들은 관리 서버(300)와 임베디드 디바이스(100)간에 공유되는 항목들이므로 따로 획득하지 않아도 되며, 관리 서버가 사전에 알고 있음을 전제로 할 수 있다.
이는 관리 데이터 레이어(310)와 제어 명령 레이어(320)를 분리 구성함으로써 이루어질 수 있다.
관리 데이터 관리자(500)에서 생성되는 관리 데이터 트리(600)는 관리 데이터와 제어 명령에 대응되는 중간 노드(620)와 리프 노드(630)를 포함할 수 있고, 관리 데이터 관련 항목 및 제어 명령 관련 항목들을 이용하여 관리 데이터 트리(600)를 내부적으로 포함할 수 있다.
이를 통해 트리의 중간 노드(620)가 생성되고, 임베디드 디바이스(100)의 관리 데이터 관리자(500)를 사용하는 서비스 레이어에서는 생성된 관리 데이터 트리(600)의 중간 노드(620)에 실제 임베디드 디바이스(100)의 기능을 수행할 수 있는 함수 포인터를 등록하여 중간 노드(620)를 생성할 수 있다.
관리 데이터 관리자(500)를 사용하는 서비스 레이어는 생성된 관리 데이터 트리(600)의 리프 노드(630)에 실제 임베디드 디바이스(100)의 기능을 수행 할 수 있는 함수 포인터를 등록 함으로써, 제어 명령 레이어에 대한 수정이 요구 되지 않는다.
관리 데이터 관리자(500)는 웹 서비스 스택으로부터 올라오는 메시지, 액션에 대한 MO_PATH 및 MO_VALUE의 검증을 수행 할 수 있다. 액션에 대한 검증은 중간 노들과의 비교를 통하여 이루어 질 수 있으며, 관리 데이터 트리(600)의 리프 노드(630)에서 함수 포인터를 호출하여 도 4b와 같은 응답 메시지를 관리 서버(300)에 전송 할 수 있다.
임베디드 디바이스(100)의 개발이 필요한 경우는 관리 데이터 관리자(500)를 재사용함으로써, 해당 장치의 개발 비용이 절감 될 수 있다.
도 6은 본 발명의 실시예에 따른 관리 데이터 트리를 도시한 도면이다.
본 발명의 실시예에 따른 관리 데이터 트리는 임베디드 디바이스의 디스크립션 메시지 정보를 이용하여 관리 데이터 관리자(500)가 해당 트리를 생성할 수 있다.
관리 데이터 트리(600)는 루트(610)를 기준으로 중간 노드(620)와 리프 노드(630)들을 포함할 수 있다.
중간 노드(620)와 리프 노드(630)는 관리 데이터와 제어 명령에 대응되는 수만큼 포함될 수 있다.
도시한 바와 같이 관리 데이터 트리(600)는 도 4a와 같은 액션을 처리하는 트리로 액션, 예를 들어, GetAttribute 등을 관리 데이터 트리(600)의 중간 노드(620)로 정의하고, 제어 명령에 대한 함수 포인터를 이용하여 리프 노드(630)들을 구성할 수 있다.
중간 노드(620)를 이용하여 관리 데이터들의 집합에 대한 제어 명령을 수행할 수 있고, 도 5의 웹 서비스 스택(510)으로부터 올라오는 메시지와의 비교를 통해 관리 데이터 PATH의 검증을 수행할 수 있다.
중간 노드(620)들을 이용한 검증 및 하위 노드들에 대한 제어는 유사한 동작을 수행하는 임베디드 디바이스들의 관리 데이터를 수정 함으로써 이루어 질 수 있다.
리프 노드(630)는 관리 데이터에 대한 실제 처리를 담당하고 있는 함수 포인터를 등록하고 있음으로써, 관리 데이터의 변화에 따르는 관리 데이터 관리자(500)의 오버헤드가 줄어들 수 있다.
또한, 리프 노드(630)에 등록되는 함수 포인터를 이용하여 디스크립션 메시지 구성 및 검증 시 요구되는 성능 효율 등을 획득할 수 있다. 이러한 정보들의 획득은 제어 명령과 관리 데이터를 분리 구성된 디스크립션 메시지의 요청과 응답이 한번에 이루어 질 수 있으므로 1/A 정도의 리소스(Resource)만을 이용하여, 다수의 관리 데이터 및 제어 명령, 액션들을 처리할 수 있다. 여기서, A는 처리 할 액션의 수를 의미한다.
도 7은 본 발명의 실시예에 따른 제어 명령 레이어를 도시한 도면이다.
본 발명의 실시예에 따른 제어 명령 레이어는 웹 기반 관리 서버를 위한 제 어 명령 레이어로 device.wsdl과 operation.xsd를 포함할 수 있다.
WSDL은 XML을 이용하여 웹 서비스 제공자에 의해서 제공되는 서비스 연결 정보 즉, 바인딩 시 송수신되는 메시지 형식과 자신이 제공하는 제어 명령 정보등과 같은 서비스 인터페이스를 기술한다. WSDL에서 XML 웹 서비스를 기술하기 위해서는 기본적으로 어떤 메시지를 생성하고 받아들일 수 있는지를 정의하는 것이 중요한데, WSDL은 XML 스키마를 이용해서 이 문제를 해결하고 있다.
WSDL 문서는 서비스 제공자가 제공하는 서비스를 호출하기 위한 인터페이스를 기술하고 있다. WSDL 문서는 서비스 호출 시 필요한 파라미터 정보를 나타내는 메시지(message), 타입(type), 호출할 서비스에 해당하는 포트타입(port type), 바인딩 오퍼레이션 정보를 가지고 있는 바인딩(binding), 그리고 서비스 호출을 위한 포트(port), 서비스(service)를 포함한다.
XML 문서에서 각 요소를 형식적으로 기술하는 방법을 규정한 월드 와이드 웹 컨소시엄(W3C)의 권고 사항인 XML 스키마는 XML 객체의 속성과 요소 간 상호 관계의 추상적 표현으로 문서에서 스키마를 나타내기 위해 구조 분석과 각 구조 요소를 정의한다. 예를 들어, 웹 사이트의 경우 웹 사이트 요소와 웹 페이지 요소 및 기타 콘텐츠 요소를 XML, HTML 태그를 사용하여 정의한다. 문서형 정의(DTD)나 단순 객체 XML(SOX: Simple Object XML)과 같은 언어보다 다소 유리하고 XML로 되어 있기 때문에 파서(parser)에 의한 매개 처리 없이 직접 처리되며, 자기 기록, 자동 스키마 생성, XSL 변환(XSLT)을 통한 정의 능력 등의 이점이 있다.
제어 명령 레이어의 operationMsg.xsd는 GET, SET등과 같은 기본적인 제어 명령(700)을 포함하고, Device.wsdl에서 사용하는 input 메시지의 스키마로써 해당 input 메시지의 포맷(710~740)을 포함할 수 있다.
Input 메시지 포맷(710)의 MO_PATH로 제어 명령(700)중 get 할 수 있는 관리 데이터를 가리키며, 실제 값은 MO_VLUE로 해당 메시지들은 도 4b의 메시지들이 이에 포함될 수 있다.
도 8은 본 발명의 실시예에 따른 관리 데이터 레이어를 도시한 도면이다.
본 발명의 실시예에 따른 관리 데이터 레이어는 device.xml을 포함할 수 있다.
관리 데이터 레이어는 도 7에서 도시한 메시지 포맷(710~740) 중 관리 데이터로 표현할 수 있는 임베디드 디바이스(100)의 관리 데이터 정보들을 포함할 수 있다.
도 7의 제어 명령 레이어의 device.xml에서 트리 형태로 표현되는 관리 데이터 정보들은 도 6에서 MO_PATH로 GET 제어 명령에 대한 수행 대상을 가리키며, 실제 값은 도 4b의 VALUE와 같이 도시할 수 있다.
도 9는 본 발명의 실시예에 따른 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 흐름도이다.
본 발명의 실시예에 따른 웹 서비스를 이용한 임베디드 디바이스의 원격 관리는 먼저 관리 서버가 피 제어대상을 제어하기 위해 도 4a의 디스크립션 메시지 요청한다(S900). 서비스 디스크립션에 대해 요청을 받은 피 제어 대상은 관리 가능한 관리 데이터 정보들을 관리 데이터 레이어(310)와 제어 명령 레이어(320)를 분 리 하여 도 4b와 같은 메시지로 응답 메시지를 전송한다(S910).
전송 된 응답 메시지를 바탕으로 관리 데이터 관리자(500)를 구성하여 분리 구성된 액션들에 대한 관리 데이터 트리를 생성한다(S920).
관리 데이터 트리(600)는 관리 데이터와 제어 명령에 대응되는 중간 노드(620)와 리프 노드(630)를 포함할 수 있고, 관리 데이터 관련 항목 및 제어 명령 관련 항목들을 이용하여 관리 데이터 트리(600)를 내부적으로 포함할 수 있다.
이를 통해 트리의 중간 노드(620)가 생성되고, 임베디드 디바이스(100)의 관리 데이터 관리자(500)를 사용하는 서비스 레이어에서는 생성된 관리 데이터 트리(600)의 중간 노드(620)에 실제 임베디드 디바이스(100)의 기능을 수행할 수 있는 함수 포인터를 등록하여 중간 노드(620)를 생성할 수 있다.
제어 명령 코드를 이용하여 관리 데이터 트리(600)가 생성되면, 해당 트리를 이용하여 전송 받은 액션에 대한 제어 명령을 처리한다(S930).
관리 데이터 관리자(500)는 웹 서비스 스택으로부터 올라오는 메시지, 액션에 대한 MO_PATH 및 MO_VALUE의 검증을 수행 할 수 있다. 액션에 대한 검증은 중간 노들과의 비교를 통하여 이루어 질 수 있으며, 관리 데이터 트리(600)의 리프 노드(630)에서 함수 포인터를 호출하여 도 4b와 같은 응답 메시지를 관리 서버(300)에 전송 할 수 있다.
임베디드 디바이스(100)의 개발이 필요한 경우는 관리 데이터 관리자(500)를 재사용함으로써, 해당 장치의 개발 비용이 절감 될 수 있다.
상기한 바와 같은 본 발명의 웹 서비스를 이용한 CE 디바이스의 원격 관리 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 액션으로부터 관리 데이터와 제어 명령을 분리 구성함으로써 임베디드 디바이스의 서비스 디스크립션 정보의 크기를 줄일 수 있는 장점이 있다.
둘째, 관리 데이터 레이어의 관리 데이터를 수정하여 유사한 제어 명령을 수행하는 임베디드 디바이스에 적용할 수 있다는 장점도 있다.
셋째, 관리 데이터 관리자의 리프 노드에 관리 데이터 처리 기능을 추가하여 다른 서비스 레이어의 애플리케이션에 적용할 수 있다는 장점도 있다.
넷째, 관리 데이터 트리를 이용하여 임베디드 디바이스의 제어는 1회의 서비스 디스크립션 메시지 전송을 통해 해당 임베디드 디바이스의 관리 데이터 및 기능 제어를 할 수 있다는 장점도 있다.
Claims (5)
- 웹 서비스를 이용하는 임베디드 디바이스의 액션을 WSDL 문서의 제어 명령 레이이와 XML로 선언되는 관리 데이터 레이어로 분리하여 구성하는 단계;상기 분리 구성된 액션을 바탕으로 관리 데이터 트리를 생성하는 단계; 및상기 관리 데이터 트리를 이용하여 상기 액션을 수행하는 단계를 포함하는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법.
- 제 1항에 있어서,상기 액션은 제어 명령 레이이어와 관리 데이터 레이어로 분리 구성되며, 상기 관리 데이터 레이어에서의 관리 데이터의 수정 또는 상기 관리 데이터의 처리 기능을 상기 관리 데이터 트리의 리프 노드에 등록하여 기존 애플리케이션의 변경을 최소화하여 적용할 수 있는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법.
- 제 2항에 있어서,상기 임베디드 디바이스의 상기 액션을 바탕으로 관리 데이터 관리자는 관리 데이터 트리를 생성하고, 관리 데이터에 관한 PATH, VALUE에 대한 검증을 수행하며, 상기 관리 데이터 관리자를 재사용할 수 있는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법.
- 제 3항에 있어서,상기 관리 데이터 트리의 중간 노드는 관리 데이터들의 집합에 대한 제어 명령을 수행하고, 중간 노드들의 비교를 통하여 MO_PATH 및 VALUE에 대한 검증을 수행하며, 리프 노드에 관리 데이터에 대한 실제 처리를 담당하는 함수 포인터를 등록하는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리방법.
- 제 4항에 있어서,상기 임베디드 디바이스의 관리 데이터 변경 시 WSDL 문서로 작성되는 제어 명령 레이어를 변경 하지 않고, 상기 XML로 작성되는 관리 데이터 레이어의 변경을 통해 상기 임베디드 디바이스에 적용할 수 있는 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060027212A KR100755712B1 (ko) | 2006-03-25 | 2006-03-25 | 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060027212A KR100755712B1 (ko) | 2006-03-25 | 2006-03-25 | 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100755712B1 true KR100755712B1 (ko) | 2007-09-05 |
Family
ID=38736572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060027212A KR100755712B1 (ko) | 2006-03-25 | 2006-03-25 | 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100755712B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020010888A (ko) * | 2001-12-20 | 2002-02-06 | 이계철 | 원격 게이트웨이 시스템을 위한 엑스엠엘 기반의 관리시스템 및 그 방법 |
KR20040108441A (ko) * | 2003-06-17 | 2004-12-24 | 텔코웨어 주식회사 | Xml 문서를 이용한 프로토콜 테스트 장치 및 그방법과, xml 문서를 이용한 프로토콜 테스트소프트웨어를 기록한 컴퓨터가 읽을 수 있는 기록매체 |
-
2006
- 2006-03-25 KR KR1020060027212A patent/KR100755712B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020010888A (ko) * | 2001-12-20 | 2002-02-06 | 이계철 | 원격 게이트웨이 시스템을 위한 엑스엠엘 기반의 관리시스템 및 그 방법 |
KR20040108441A (ko) * | 2003-06-17 | 2004-12-24 | 텔코웨어 주식회사 | Xml 문서를 이용한 프로토콜 테스트 장치 및 그방법과, xml 문서를 이용한 프로토콜 테스트소프트웨어를 기록한 컴퓨터가 읽을 수 있는 기록매체 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8219970B2 (en) | XML push and remote execution of a wireless applications | |
US7870482B2 (en) | Web browser extension for simplified utilization of web services | |
US8424020B2 (en) | Annotating portions of a message with state properties | |
CN101268674B (zh) | 提供远程用户界面的设备和方法 | |
CN108920259A (zh) | 深度学习作业调度方法、系统和相关设备 | |
US8826176B2 (en) | Information processing apparatus and control method | |
EP1306777A2 (en) | Contents conversion system, automatic style sheet selection method and program thereof | |
JP2002215486A (ja) | Wsdlに基づいたコントローラ装置用通信システム | |
WO2003081443A1 (fr) | Dispositif de formation d'images comportant une fonction de service web | |
KR101602099B1 (ko) | 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법 | |
KR20050085085A (ko) | 관리 오브젝트들의 우선순위화 | |
US8970870B2 (en) | Delivery of scan services over a device service port | |
US20090327454A1 (en) | Service flow processing apparatus and method | |
CN113992641A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Kang et al. | Android RMI: a user-level remote method invocation mechanism between Android devices | |
KR100755712B1 (ko) | 웹 서비스를 이용한 임베디드 디바이스의 원격 관리 방법 | |
JP2007135238A (ja) | Webサービス機能を有する画像形成装置 | |
US7818431B2 (en) | Efficient exchange of service requests and responses | |
US20140215011A1 (en) | Message exchange via generic tlv generator and parser | |
EP1988686B1 (en) | Metadata communication system | |
JP2004103008A (ja) | 情報処理装置及び情報処理方法 | |
JP5548433B2 (ja) | Webサービス基盤システム | |
JP4221020B2 (ja) | 画像処理装置 | |
US8024375B2 (en) | Method and apparatus for processing messages | |
Nakazawa et al. | Galaxy: a service shaping approach for addressing the hidden service problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |