KR20050084796A - 네트워크 설정 및 관리 프로토콜 - Google Patents

네트워크 설정 및 관리 프로토콜 Download PDF

Info

Publication number
KR20050084796A
KR20050084796A KR1020057002136A KR20057002136A KR20050084796A KR 20050084796 A KR20050084796 A KR 20050084796A KR 1020057002136 A KR1020057002136 A KR 1020057002136A KR 20057002136 A KR20057002136 A KR 20057002136A KR 20050084796 A KR20050084796 A KR 20050084796A
Authority
KR
South Korea
Prior art keywords
type
message
networked
description
devices
Prior art date
Application number
KR1020057002136A
Other languages
English (en)
Other versions
KR101058065B1 (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
Priority claimed from GBGB0218174.1A external-priority patent/GB0218174D0/en
Application filed by 코닌클리케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20050084796A publication Critical patent/KR20050084796A/ko
Application granted granted Critical
Publication of KR101058065B1 publication Critical patent/KR101058065B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Selective Calling Equipment (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크된 디바이스들간의 통신을 위한 프로토콜에 관한 것이다. 디바이스들은, 다른 디바이스 타입이 종속되지 않는 제어기 디바이스 타입(52) 및 다수의 다른 디바이스 타입들이 종속되는 기본 디바이스 타입(54)을 포함하는 디바이스 타입들의 계층구조로서 논리적으로 배열된다. 디바이스들은 디바이스 타입을 포함하는 고정된 길이 및 포맷의 간단한 디바이스 기술 메시지를 구현하고, 일부 디바이스들은 부가 정보를 포함하는 확장된 디바이스 기술 메시지를 더 구현한다.

Description

네트워크 설정 및 관리 프로토콜{A network establishment and management protocol}
본 발명은 네트워크 프로토콜에 관한 것으로, 특히 프로토콜의 구현들에 관한 것이다.
네트워크 관리에 대한 종래 기술 프로토콜은 대역폭, 배터리 소비, 및 비용의 정도가 문제가 되지 않는, 인터넷 애플리케이션들에 유용한 유니버설 플러그 앤 플레이(UPnP)이다. 소비자 전자제품들(CE)에서의 프로토콜의 구현들은 존재하지만, 프로토콜의 한도 때문에, 그러한 구현들은 그렇지 않다면 최소 처리 능력(capability)만을 요구하는 가장 간단한 디바이스들에 특히 과부하(heavy load)를 부과한다.
따라서, 라이트들, 서모스탯들, 및 CE 장비(TV, DVD 및 PVR을 위한 원격 제어)와 같은 간단한 디바이스들에 내장하기에 적절한 프로토콜, 즉 구현하기에 심플하고 비용효율이 높고, 최소 대역폭을 요구하면서, 능력 변경으로 디바이스들의 범위에 걸쳐 스케일러블(scalable)한 프로토콜에 대한 필요성이 존재한다.
이 필요성은 무선 애플리케이션에 대해 제한되지 않고, 유선 애플리케이션들로 확장한다.
도 1은 본 발명에 따른 실시예를 사용하여 통신하는 디바이스들의 쌍을 도시하는 도.
도 2는 1개의 디바이스내의 소프트웨어의 개략도.
도 3은 디바이스 디스커버리 프로세스의 흐름도.
도 4는 디바이스 타입 계층구조(hierarchy)의 개략도.
도 5는 제어되는 디바이스에 그 디바이스의 제어기의 제어 능력을 제어기가 통지하기 위해 수행하는 단계들을 도시하는 도.
도 6은 제어되는 디바이스의 제어기의 제어 능력을 제어기가 결정하기 위해 수행하는 단계들을 도시하는 도.
도 7은 합성 디바이스에 대한 디바이스 디스커버리 프로세스의 흐름도.
도 8은 합성 디바이스의 실시예를 예시하는 도.
도 9는 합성 디바이스의 또 다른 실시예를 예시하는 도.
도 10은 소프트웨어의 구조를 도시하는 도.
도 11은 HUCL 프로토콜을 예시하는 도.
도 12는 간단한 디바이스 기술 메시지를 예시하는 도.
본 발명의 제 1 양상에 따라 시스템이 제공되고, 상기 시스템은 네트워크 메시지들을 전송하고 수신하기 위한 트랜시버를 각각 갖는 복수의 네트워크된 디바이스들; 간단한 디바이스 질의 메시지를 다른 디바이스들에 전송하고, 다른 디바이스들로부터 이후 수신된 간단한 디바이스 기술 메시지(simple device description message)들을 수신하고 해석하도록 배열된 적어도 하나의 네트워크된 디바이스; 및 확장된 디바이스 질의 메시지를 다른 디바이스들에 전송하고, 다른 디바이스들로부터 이후 수신된 확장된 디바이스 기술 메시지들을 수신하고 해석하도록 배열된 적어도 하나의 네트워크된 디바이스를 포함하고; 네트워크된 디바이스들 각각은 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 전송함으로써, 디바이스들 중 다른 것들로부터의 인입 간단한 디바이스 질의 메시지에 응답하도록 배열되고; 적어도 하나의 네트워크된 디바이스들은 확장된 디바이스 기술 메시지를 전송함으로써, 디바이스들 중 다른 것들로부터의 인입 확장된 디바이스 질의 메시지에 응답하도록 배열된다.
이러한 시스템은 본 특허 출원의 목적인 프로토콜을 구현한다. 프로토콜 자체는 홈 유니폼 제어 언어(home uniform control language; HUCL)라 호칭될 것이다.
비교하여, 발명자들이 알고있는 기존의 기술 시스템들은 단일 디바이스 기술 메시지 및 응답만을 구현한다. 규정된 길이의 간단한 디바이스 기술 및 가변 길이의 확장된 디바이스 기술을 제공함으로써, 본 발명은 간단한 메시지들만을 사용하 는 간단한 디바이스들과 가변 길이의 확장된 디바이스 기술로부터 이용가능한 더 많은 기능을 사용하는 복잡한 디바이스들을 HUCL 프로토콜을 사용하여 결합하는 것을 가능하게 한다. 간단한 디바이스들은 확장된 디바이스 기술 질의들을 간단하게 무시할 수 있다.
간단한 디바이스 기술은 각각의 필드가 고정된 길이로 이루어진 미리 결정된 필드들의 적은 또는 적당한 수를 포함한다. 일반적으로, 동일한 필드들은 일부 변화가 존재할 수 있음에도, 각각의 메시지들에 대해 사용될 것이다. 예컨대, 합성 디바이스는 아래에 설명된 서브-디바이스들의 수를 포함하는 부가적인 정수 필드(integer field)를 포함할 수 있다.
바람직하게, 간단한 디바이스 기술 메시지는 인간-판독가능한 메시지 포맷으로부터 압축된 토큰-압축된 메시지 형태로 이루어지고, 메시지는 다른 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하고; 디바이스 타입 값은 제어기 디바이스 타입 및 기본 디바이스 타입(basic device type)을 포함하는 미리 결정된 최상위 레벨 요소(top level element)들을 갖고, 기본 디바이스에 종속되고 보조(subsidiary) 디바이스 타입이 종속된 상위 레벨 디바이스 타입들의 성질들을 승계하는 보조 디바이스 타입들의 적어도 하나의 다른 레벨을 갖지만, 제어기 디바이스 타입에 종속되는 보조 디바이스 타입들의 어떠한 다른 레벨도 포함하지 않는 디바이스 타입 계층구조로부터 선택된다.
HUCL 프로토콜의 바람직한 구현에 따라, 아래 놓인 메시지 포맷은 XML과 같은 인간 판독가능한 포맷이다. 그러나, 대역폭을 절약하기 위해, 메시지들은 네트 워크된 디바이스들간에서 압축된 형태로 전달된다. 사용된 압축 방법이 공통 스트링들을 토큰들로 대체하는 토큰 압축이기 때문에, 네트워크된 디바이스들은 그럼에도 불구하고, 이러한 압축된 메시지들을 처리 가능하다. 따라서, 네트워크된 디바이스는 압축해제(decompress) 없이 압축된 토큰들을 인식할 수 있고, 적어도 간단한 디바이스 기술의 응답을 요구하는 질의를 인식하기에 충분하며, 그 다음에 간단한 디바이스 기술로 응답한다.
토큰 코딩의 적절한 형태는 기술하는 이 시점에, http://www.w3.org/TR/wbxml에서 이용가능한, 1999년 6월 24일자 "wap binary XML content format"에서 설명된다.
기본 디바이스 타입에 종속된 적어도 하나의 계층, 즉 제어되는 디바이스들의 계층이 바람직하게 존재하지만, 제어기 디바이스들의 계층에 대응하는 것은 존재하지 않는다. 이는 간단한 디바이스 기술 메시지들을 최대한 짧고 간단하게 유지하기 위한 것이고 - 유니버설 원격 제어와 같은 많은 제어기들은 다수의 상이한 디바이스 타입들을 제어가능하다.
바람직하게, 복수의 네트워크된 디바이스들은 메시지들을 압축해제하는 능력이 없고 따라서 압축된 메시지들을 직접적으로 해석하는 적어도 하나의 간단한 디바이스, 및 메시지들을 압축해제하기 위한 메시지 압축해제 배열 및 압축해제된 메시지들을 해석하기 위한 메시지 해석기를 포함하는 적어도 하나의 복잡한 디바이스를 포함한다.
또 다른 양상에서, 본 발명은 간단한 및 확장된 디바이스 기술 질의 메시지 둘 다에 응답할 수 있는 개별적인 네트워크된 디바이스에 관한 것이다.
따라서, 제 2 양상에서 네트워크된 디바이스가 제공되고, 네트워크된 디바이스는,
메시지들을 전송하고 수신하는 트랜시버; 및
다른 디바이스들로부터 간단한 디바이스 기술 질의 메시지를 수신 시, 네트워크된 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 다른 디바이스에 전송하는 단계; 및
또 다른 디바이스로부터 확장된 디바이스 기술 질의 메세지를 수신 시, 가변 길이의 확장된 디바이스 기술을 다른 디바이스에 전송하는 단계를 수행하도록 배열된 메시지 핸들러를 포함한다.
본 발명은 이러한 디바이스 질의 메시지들에 응답할 수 있는 네트워크된 디바이스들 뿐만아니라, 디바이스 질의 메시지들을 생성하고 결과들을 처리하는 디바이스들에 또한 관한 것이다.
따라서, 제 3 양상에서 네트워크된 디바이스가 제공되고, 네트워크된 디바이스는,
메시지들을 전송하고 수신하는 트랜시버(8); 및
적어도 하나의 다른 디바이스의 어드레스를 설정하는 단계;
간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 또 다른 디바이스에 전송하는 단계; 및
다른 디바이스의 타입을 나타내는 디바이스 타입 값 및 확장된 디바이스 기 술이 이용가능한지 여부를 표시하는 필드를 포함하는 고정된 길이의 간단한 디바이스 기술 메시지를 다른 디바이스로부터 수신하는 단계를 수행하도록 배열되고,
확장된 디바이스 기술이 이용가능한지 여부를 결정하기 위해 간단한 디바이스 기술 메시지를 시험하는 단계;
다른 디바이스로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 다른 디바이스에 전송하는 단계; 및
가변 길이의 확장된 디바이스 기술을 다른 디바이스로부터 수신하는 단계를 선택적으로 수행하도록 더 배열된, 메시지 핸들러를 포함한다.
본 발명은 또한, 제 2 및 제 3 양상들의 동작의 방법에 관한 것이다.
따라서, 제 4 양상에서 본 발명은 네트워크된 디바이스의 동작의 방법에 관한 것이고, 네트워크된 디바이스의 동작 방법은, 간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 다른 디바이스들 중 하나에 전송하는 단계; 다른 디바이스의 타입을 나타내는 디바이스 타입 값 및 확장된 디바이스 기술이 이용가능한지 여부를 표시하는 필드를 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 다른 디바이스로부터 수신하는 단계; 확장된 디바이스 기술이 이용가능한지 여부를 결정하기 위해 간단한 디바이스 기술 메시지를 시험하는 단계, 및 이용가능하다면, 다른 디바이스들로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 다른 디바이스에 전송하는 단계; 및 가변 길이의 확장된 디바이스 기술을 다른 디바이스로부터 수신하는 단계를 포함한다.
제 5 양상에서, 본 발명은 네트워크된 디바이스의 동작의 방법에 관한 것이 고, 네트워크된 디바이스의 동작 방법은,
간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 다른 디바이스들 중 하나로부터 수신하는 단계;
네트워크된 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 다른 디바이스에 전송하는 단계;
네트워크된 디바이스로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 다른 디바이스로부터 수신하는 단계; 및
가변 길이의 확장된 디바이스 기술을 다른 디바이스에 전송하는 단계를 포함한다.
이전에 언급된 바와 같이, 디바이스 타입 값은 제어기 디바이스 타입 및 기본 디바이스 타입을 포함하는 미리 결정된 최상위 레벨 요소들을 갖고, 기본 디바이스 타입에 종속되고 보조 디바이스 타입이 종속된 상위 레벨 디바이스 타입들의 성질들을 승계하는 보조 디바이스 타입들의 적어도 하나의 다른 레벨을 갖지만, 상기 제어기 디바이스 타입에 종속되는 보조 디바이스 타입들의 어떠한 다른 레벨도 포함하지 않는 디바이스 타입 계층구조로부터 선택될 수 있다.
본 발명에 따른 제어기 디바이스는 제어 입력을 바람직하게 포함하고, 제어 입력으로부터 수신된 신호들에 기초하여 다른 디바이스들을 제어한다. 또한, 제어기 디바이스는 제어기가 어떤 디바이스들을 제어할 수 있는지 결정하는 하나 이상의 방법들을 구현할 수 있다.
디바이스가 제어기 디바이스 타입일 때, 정보의 부족을 다루는 한가지 접근 법은 제어기 디바이스가, 네트워크된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록에서, 미리 결정된 디바이스 타입이거나 또는 미리 결정된 디바이스 타입이 종속되는 상위 레벨 디바이스 타입 중 하나인, 디바이스 타입의 가장 낮은 레벨로 응답함으로써, 제어기가 미리 결정된 디바이스 타입을 제어할 수 있는지 여부를 질의하는 인입 제어기 질의 메시지에 응답하는 기능을 갖는 것이다.
제어기 디바이스가 되는 대신, 디바이스는 기본 디바이스 타입의 디바이스 타입 또는 기본 디바이스 타입이 종속되는 디바이스 타입을 갖는 제어되는 디바이스; 제어기에 의해 전송된 기본 디바이스 명령들에 응답하는 능력을 갖는 네트워크된 디바이스일 수 있고, 명령들은 명령들의 적어도 하나의 미리 결정된 베이스 세트를 포함한다.
다기능 디바이스들에 대처하기 위해, 미리 결정된 최상위 레벨 요소들은 다른 디바이스 타입들의 미리 결정된 수의 기능을 갖는 합성 디바이스 타입을 포함할 수 있고, 합성 디바이스로서의 디바이스 타입 및 다른 디바이스 타입들의 순간 수(instantaneous number)를 포함하는 간단한 디바이스 기술을 전송함으로써, 간단한 디바이스 기술을 요구하는 인입 디바이스 질의 메시지에 응답하도록 배열된다.
네트워크된 디바이스는 미리 결정된 간단한 디바이스 기술 메시지를 저장하는 메모리를 포함할 수 있고, 여기서 기술 메시지는 인간 판독가능한 형태의 메시지로부터 사전-압축된 메시지로서, 메시지는 디바이스 타입; 전송한 디바이스가 확장된 디바이스 기술이 이용가능한지 여부를 표시하는 플래그(flag); 및 추가 상태 세팅들의 미리 결정된 수를 식별하는 추가 플래그들의 미리 결정된 수를 포함한다. 따라서, 간단한 디바이스 기술 메시지를 내부적으로 생성하는 것 보다, 적절한 메시지가 사전-저장되고 요구될 때 전송된다.
본 발명은 또한 네트워크된 디바이스를 제어하기 위한 컴퓨터 프로그램에 관한 것이다.
시스템은, 간단한 기능을 갖고 메시지들을 압축해제할 능력이 없는 다수의 간단한 디바이스들, 및 메시지들을 해석하고 메시지들상에서 작동하기 위해 메시지들을 압축해제하는 더 복잡한 디바이스들을 포함할 수 있다. 더 복잡한 디바이스들은 증가된 오버헤드 및 프로세서 전력 요구조건의 희생으로 더 복잡한 기능을 가질 수 있다.
또 다른 양상에서, 본 발명은 전자 디바이스들을 제어하기 위한 네트워크 설정 및 관리 프로토콜에 관한 것으로, 프로토콜은 레코드 메체상에서 레코딩되고, 프로토콜은, 상기 메시지들의 압축에 대한 메카니즘을 규정하는 압축 알고리즘; 메시지들은 XML 적용(compliant) 메시지들인, 범용 메시지 포맷의 규정; 및 메시지 시퀀싱 요구조건들의 규정을 포함한다.
프로토콜은 제어기 디바이스들을 규정할 수 있고, 제어기 디바이스들에 대한 디스커버리는 제어하는 디바이스를 디스커버하고, 상기 제어하는 디바이스에 그것의 이후 동작에 관한 명령을 하기 위한 메카니즘을 포함하도록 규정될 수 있다.
프로토콜은 고정된 길이 및 컨텐트의 제 1 메시지와 규정되지 않은 길이 및 컨텐트의 제 2 메시지 중 하나인 디바이스 기술 메시지들을 더 규정할 수 있다.
프로토콜은 디바이스 기술 메시지들의 디스커버리가 제 2 디바이스 기술 메 시지의 점진적인(piecemeal) 디스커버리를 허용하도록 규정될 수 있다.
프로토콜은 합성 디바이스들을 규정할 수 있고 합성 디바이스들의 디바이스 기술 메시지들은 합성 디바이스들내의 서브-디바이스들의 수를 포함하도록 규정된다.
합성 디바이스들의 디바이스 기술 메시지들의 디스커버리는 다음에 서브-디바이스들의 디스커버리를 허용하도록 규정될 수 있다.
본 발명의 더 나은 이해를 위해, 실시예들이 첨부 도면들을 참조하여 전적으로 예로서만 이제 기술될 것이다.
프로토콜 HUCL은 무선 시스템들을 위해 본래 설계된 낮은 대역폭 제어 프로토콜인 라이트웨이트(lightweight)다. 메시징 포맷은 XML에 기초하고, 메시지들은 전송 이전에 압축된다. XML의 사용은 전송되는 데이터를 감소시키는 압축을 갖는 확장가능하고 스케일러블한 솔루션을 제공하여, 송신기가 온(on)되고 전력을 소비하는 시간량을 감소시킨다.
HUCL 프로토콜의 일반적인 원리들 및 디바이스상에서 어떻게 작동하는지는 간단한 예를 참조하여 이제 기술될 것이다.
도 1을 참조하여, 라이트 스위치(2) 및 라이트 설비(light fitting)(4)가 제공된다. 라이트 스위치(2)는 제어 회로(12) 및 메모리(14)와 함께, RF 트랜시버(8) 및 배터리(10)와 함께, 사용자에 의해 작동되는 물리적인 락커 스위치(6)를 갖는다. 라이트 설비 또한 RF 트랜시버(8) 및 메모리(14)를 갖지만, 라이트 설비는 메인 전원 공급되고, 전구(22)에 전원 공급하기 위해 제어 회로(20)를 갖는다. 따라서, 라이트 스위치(2)는 제어 입력(6)(스위치)을 갖는 제어기의 예이고, 반면에 라이트 설비는 제어되는 디바이스(4)의 예이다. 제어기내의 메모리(14)는 제어기가 제어할 수 있는 디바이스 타입들, 및 디바이스 타입들에 속하는 제어 기능들의 목록(24)을 포함한다. 제어되는 디바이스(4) 및 제어기(2) 둘 다내의 메모리(14)는 제어 회로가 아래 더 상세히 기술될 방법들을 수행하도록 하는 코드(26)를 또한 포함한다.
도 2는 각각의 디바이스들상의 메모리(14)내에 존재하는 소프트웨어의 리프리젠테이션(representation)이다. 제어 애플리케이션(30)은 일정 이벤트들이 발생할 때 HUCL 소프트웨어 스택(32)과 통신한다.
유사한 방식으로, HUCL 소프트웨어 스택(32)은 RF 소프트웨어 스택(34)과 통신하고, RF 소프트웨어 스택(34)은 예컨대, 데이터의 수신과 같은 일정 이벤트들이 발생할 때 HUCL 소프트웨어 스택(32)과 되돌려 통신할 것이다.
메시지들(36)은 전송되고 수신된다. 메시지들은 간단한 디바이스 기술 질의 메시지, 또는 다수의 어떤 다른 메시지 타입들을 포함하는 다수의 타입들일 수 있다.
디바이스들의 작동이 도 3을 참조하여 이제 기술될 것이다. 디바이스들의 상기 쌍의 작동의 제 1 페이스(phase)는 스위치가 라이트 설비의 어드레스를 디스커버(discover)하는 것에 대한 것이다. 이는 디바이스 디스커버리(device discovery)로 알려진 것이고, 이는 디바이스 디스커버리가 제공되거나(RF 소프트웨어 스택내에), 또는 RF 전송 스택의 상부에(HUCL 소프트웨어 스택의 하위 계층에) 디바이스 디스커버리가 구현 가능한, 아래 놓인 RF 전송 스택의 요구조건이다.
디스커버리 프로세스는 알려진 디바이스들의 수를 처음 요청하고, 그 디바이스들의 네트워크 어드레스들을 그 다음에 요청하는 호출(call)을 HUCL 소프트웨어 스택에 행함으로써 애플리케이션에 의해(일부 사용자 상호작용의 결과로서 가능한) 개시된다(100). 이들 디바이스 어드레스들은 리턴된다.
아래 놓인 RF 프로토콜에 따라, 네트워크 어드레스들은 일부 다른 방식으로 설정될 수 있다.
디바이스 디스커버리 페이스의 최종 결과는 제어 애플리케이션에 RF 스택에 알려진 모든 디바이스들의 어드레스들의 목록이 공급되는 것이다(102). 프로세스의 이 포인트에서, 제어 애플리케이션은 각각의 다른 디바이스의 어드레스 외에 각각의 다른 디바이스에 관해 아는 것이 없다.
쌍을 이루는 프로세스(pairing process)내의 제 2 페이스는 제어 애플리케이션이 어드레스들을 가지고 있는 디바이스들에 관한 정보를 모으는 것에 대한 것이다. 이 정보는 디바이스 기술이라 호칭된다. 제어 애플리케이션은 HUCL 소프트웨어 스택에 호출을 행하고, 디바이스 기술이 요구되는 디바이스의 어드레스를 전달함으로써 이를 이루어낸다.
그 다음에, 디바이스 기술에 대한 요청이 RF 링크를 통해 목적 디바이스에 전달되어(104), 상술된 스위치/설비 예에서, 요청이 스위치로부터 설비로 전송된다. 요청을 수신할 시에, 목적 디바이스의 HUCL 소프트웨어 스택은 제어 애플리케이션에 디바이스 기술을 요청하는 호출을 행한다. 기술의 포맷은 규정되어 있다. 미리 압축된 형태가 아니라면, 기술은 요청의 발신자에 되돌려 전송되기 전에 압축된다.
요청하는 디바이스상의 HUCL 소프트웨어 스택이 디바이스 기술을 수신할 때 (106), 디바이스 기술은 제어 애플리케이션까지 전달된다. 이 포인트에서, 애플리케이션은 디바이스에 관한 일정 기본 정보를 가지고 있고, 이 디바이스와 그 이상의 통신을 해야하는가에 대한 결정을 이루어낼 수 있다.
HUCL의 설계 목표는 간단한 디바이스들상에서 작동하기에 적절한 것이지만, 디바이스를 완전히 기술하기 위해 필요한 정보는 꽤나 복잡할 가능성이 있다. 아래의 목록은 디바이스가 그것의 기술의 부분으로서 제공하기를 원할 수 있는 정보의 소트(sort)를 도시한다.
Device Type e.g. DVD
Vendor Name e.g. Philips
Model Number e.g. DVD1010/002
Serial Number e.g. AH6848032345
Vendor URL e.g. www.philips.com
이 섹션 전체를 통한 예에서 사용된 스위치와 같은, 제어 디바이스들의 가장 심플함을 위해, 이 정보의 대부분은 대체로 불필요하다. 그러나, 이는 이러한 정보가 사용자에 디스플레이될 수 있는 스크린을 갖는 상위 엔드 'PDA' 타입 원격 제어기에서 사용될 수 있다.
하위-엔드 디바이스들상에서의 이러한 기술들의 처리는 기술이 수신되면서 완전한 메시지를 캐시하기 위한 저장매체가 필요할 수 있으므로, 문제점을 보일 수 있다. 상기 도시된 기술 데이터의 전체 크기가 불명확하고, 대부분의 정보는 '프리 텍스트(free text)'이고; 벤더 이름이 길 수 있으며, URL이 예컨대,
http://www.consumer.philips.com/global/b2c/ce/catalog/subcategory.jhtml?groupld=VIDEO&divld=0&catld=DVD&subCatld=DVDPLAYER와 같이 파라미터들을 갖는 정확한 페이지를 명기할 수 있으므로, 문제점은 처음 짐작할 수 있는 것보다 안좋다.
HUCL에서 이를 극복하는 방식은 디바이스 정보가 정보의 2개의 타이어들(tiers)로 분리되는 것이다. 제 1 타이어는 디바이스의 심플화한 기술이지만, 그 이상의 정보가 이용가능하면 식별한다. 제 1 타이어는 어떤 프리 텍스트 필드들을 포함하지 않아서, 그것의 전체 길이는 명확하다. 확장된 정보의 제 2 타이어는 선택적이지만, 부가 정보를 제공한다.
도 12를 참조하여, 간단한 디바이스 기술 메시지(230)는 디바이스 타입(232), 확장된 디바이스 기술이 이용가능한지 여부를 표시하기 위한 필드(238), 및 예컨대, 이벤트 서브스크립션(event subscription)이 이용가능한지 여부를 표시하기 위한 플래그와 같은 키 정보를 식별하는 다른 필드들(236)을 필드들로서 포함한다. 선택적인 정수 필드(234)는 합성 디바이스의 서브-디바이스들의 수를 나타낸다. 당업자는 메시지(230)가 심플화를 위해 생략된 헤더(header) 및 푸터(footer)를 또한 포함할 수 있다는 것을 알 것이다. 메시지는 명료함을 위해 마찬가지로 생략된 압축된 XML 토큰들을 포함할 것이다. 간단한 디바이스 기술의 필드들은 모두 고정된 길이여서, 압축해제 없이 쉽게 다루어질 수 있다.
간단한 디바이스 기술(230)을 수신한 이후에(도 3), 간단한 디바이스 기술(230)은 HUCL 스택으로 되돌려 전달된다.
확장된 디바이스 기술이 이용가능하고 제어기 디바이스가 그것을 요구하면, 제어기 디바이스 제어 애플리케이션은 "GetExtendedDescription" 요청(108)을 디바이스에 되돌려 송신(issue)할 수 있다.
이 요청을 수신하는 디바이스상의 HUCL 스택은 확장된 디바이스 기술을 요청하는 GetExtendedDescription 호출을 제어 애플리케이션에 행한다.
확장된 디바이스 기술은 HUCL 스택에 되돌려 전달되고, 그것을 요청하였던 디바이스상의 제어 애플리케이션으로 되돌아간다. 그 다음에, 확장된 기술은 요청하는 디바이스로 리턴된다(110).
GetExtendedDescription 질의가 확장된 디바이스 기술을 제공하지 않는 디바이스상에서 수신되면, 요청은 간단히 무시된다.
이 섹션 전체를 통해 사용된 스위치/설비 예로 다시 돌아가면, 스위치가 설비의 어드레스만을 아는 포인트에서부터, 스위치는 설비의 간단한 디바이스 기술을 설비에 요청한다. 이를 수신할 시, 간단한 디바이스 기술은, 스위치가 표준 설비 명령 세트에 순응하는 라이트 설비와 토킹하는 중임을 스위치가 알고, (예컨대) 설비가 어떤 확장된 디바이스 기술을 제공할 수 없음을 또한 스위치가 알도록 충분한 정보를 제공한다.
디바이스 애플리케이션은 간단한 디바이스 기술이 요청되었을 때, HUCL 스택에 간단한 디바이스 기술을 제공하는 것은 의무적이다. 어떤 확장된 디바이스 기술을 제공하지 않는 디바이스는 이러한 정보에 대해 수신한 어떤 요청도 무시할 수 있다.
디바이스에 의해 리턴된 간단한 디바이스 기술내에 포함된 것은(요청되었을 때) 예컨대, TV, DVD, 라이트 설비 등과 같은 디바이스의 타입을 식별하는 디바이스 타입 필드(232)다. 디바이스 타입 필드(232)는 디바이스가 순응하는 명령 세트를 제어기(간단한 디바이스 기술을 요청하는)에 식별할 것이다. HUCL 디바이스들은 그것들의 식별자에 의해 간단하게 자신들을 식별하고, 그 다음에 HUCL 디바이스들은 자신들이 어떻게 제어되는지 기술하기 위한 메시지들을 전송하려 하지 않으며; HUCL에는 '런타임(run time)' 서비스 기술 컨셉트(concept)가 존재하지 않는다. 디바이스가 라이트 설비로서 자신을 식별한다면, 이 디바이스상에서 호출될 수 있는 명령 세트는 라이트 설비 타입 디바이스에 대한 HUCL 명세에서 식별된다.
도 4를 참조하여, 모든 디바이스 타입들은 베이스 디바이스 타입(50)에 종속된다. 이 예에서, 최상위 레벨 요소들(58)은 제어기 디바이스 타입(52), 제어되는 디바이스들에 대한 베이스 디바이스 타입(54), 및 알람 디바이스 타입(56)을 포함한다.
보조 디바이스 타입들(68)은 기본 디바이스 타입에 종속된다. 예에서, 이들은 TV 디바이스 타입(64), 디머블(dimmable) 라이트 디바이스 타입(62), 및 PVR 디바이스(60)을 포함한다.
디바이스 타입 분류는 간단한 제어기가 제어기의 능력의 한도까지 디바이스를 제어할 수 있는지 여부를 식별하도록 허용하는 시스템을 제공하는 것이다.
간단한 스위치는 라이트를 턴 온 및 오프하기 위해 라이트 설비와 한 쌍일 수 있고, 스위치의 제어 기능, 즉 디바이스를 턴 온 또는 오프하는 능력이 예컨대, TV, 히터, 프린터와 같은 온/오프 컨셉트를 수용할 수 있는 어떤 디바이스에 적용가능해야 한다고 할 지 모른다.
이것이 구현될 수 있는 한가지 방식은 어떻게 제어하는지(턴 온 또는 오프) 알고있는 모든 디바이스들의 목록을 스위치가 갖도록 하여, 스위치가 디바이스에 대한 간단한 디바이스 기술을 요청할 때, 스위치는 리턴된 기술내의 디바이스 타입 필드를 보고 스위치가 어떻게 제어하는지 알고있는 디바이스 타입들의 그것의 목록내에 디바이스가 존재하는지 여부를 결정할 수 있다.
이 접근법의 2개의 중요한 결점들이 존재한다. 우선, 스위치는 간단한 디바이스이고, 그것이 제어할 수 있는 방대할 수 있는 모든 가능한 디바이스들의 목록을 유지해야만 하는 것은 스위치와의 애플리케이션에 바람직하지 않고; 다음으로, 스위치가 생산된 후에(간단한 온 오프 기능을 수용할 수 있는) 디바이스의 새로운 타입이 생성된다면, 스위치는 그것의 목록에 새로운 디바이스 타입을 가지지 않을 것이고, 스위치가 그 디바이스를 제어할 수 없고, 즉 확장가능하지 않다.
HUCL은 도 4에 도시된 계층 방식으로 디바이스들을 분류한다. 디바이스 타입 필드(232)(도 9)는 계층내에서 디바이스를 식별하여서, 새로운 디바이스들이 생성되었다 할지라도, 그것이 계층내의 적절한 포인트로부터 유도되는 한, 간단한 스위치는 그것을 한도까지 제어할 수 있다는 것을 여전히 알 수 있다.
트리내의 하위 위치에 있는 디바이스들은 그 위의 디바이스 타입들의 기능을 승계한다. 트리내의 하위 디바이스들에 적용될 때, 일부 해석을 명령들에 대해 추가할 필요가 있을 수 있고, 이는 예컨대, 라이트에 전송될 때 온/오프 명령은 그것 을 명백하게 턴 온 및 오프할 것이지만, TV에 동일한 명령들이 전송될 때, TV를 스탠바이 모드(standby mode)에 진입하거나 또는 진출하도록 할 수 있다.
디바이스 타입 기술의 핵심 이점은, 제어기가 특정 디바이스 타입에 대한 지식이 자체내에 없을지라도, 제어기가 일부 지식을 가질 수 있는 특정 디바이스가 유도된 곳으로부터 제어기는 디바이스를 결정할 수 있고, 따라서 디바이스를 더 적은 한도까지 제어가능할 수 있다(디바이스의 관점(perspective)으로부터).
예컨대, 라이트 스위치가 디바이스의 어드레스를 얻는 경우를 고려하면, 라이트 스위치는 디바이스로부터 간단한 디바이스 기술을 요청하고; 디바이스 타입 필드는 디바이스를 TV로서 식별하지만, 스위치는 그것이 알고있는 디바이스로서 TV를 인식하지 않는다. 그러나, 스위치는 그것이 스위치가 알고있는 '기본 디바이스'의 유도체(derivative)임을 기술로부터 또한 설정할 수 있다. 결론은 디바이스 자체에 관해서는 아는 것이 없더라도, 스위치가 TV를 제어기의 능력, 즉 온 및 오프의 한도까지 제어할 수 있다는 것이다. 디바이스는 스위치가 제조되고나서 오랜 후에 발명된 'XYZ'라 호칭되는 디바이스의 새로운 분류일 수 있지만, 디바이스가 기본 디바이스로부터 유도된 한, 스위치는 여전히 그것을 한도까지 제어할 수 있다.
디바이스 타입 계층이 2개의 타이어들, 및 제어기 및 기본 디바이스 최상위 레벨 요소들만을 가질 수 있더라도, 적어도 하나의 그 이상의 타이어 및/또는 최상위 레벨 요소가 요망된다. 위에 도시된 기본 디바이스의 기능에 응하지 않을 수 있는 디바이스들의 이 케이터(cater)들은 알람과 같은 기본 '턴 온''턴 오프' 기능 을 갖지 않는 디바이스들이다. 예시 목적을 위해 '알람' 타입 디바이스(56)가 도 4에 도시되어 있고, 이 '알람' 디바이스는 기본 디바이스로부터 유도된 디바이스들이 가지고 있어야만 하는 노멀(normal) 온/오프 기능들을 구현하기를 원하지 않음이 분명하고; 따라서, 그것은 계층내의 기본 디바이스(54) 자체와 동일한 최상위 레벨(58)에 자리잡는다.
계층구조에 대한 제 2 확장이 도 4에 또한 도시되어 있고, 이는 즉, 노멀 TV 디바이스(64) 아래의 향상된 TV 디바이스(66)이다. 여기서, 향상된 TV 디바이스는 기본 디바이스(54)와 TV 디바이스(64) 둘 다의 모든 기능성을 승계하지만, 노멀 TV에 없는 일부 확장된 기능성을 또한 포함한다. 노멀 TV 디바이스를 작동시키도록 설계된 보통의 TV 원격 제어는 향상된 TV 디바이스를 노멀 TV 디바이스 기능성의 레벨까지 작동시킬 수 있지만, 확장된 기능성을 제어할 수는 없다.
HUCL 프로토콜은 따라서, 디바이스 타입 및 그것이 기능성을 승계한 그것의 위의 디바이스들을 기술하는 확장가능한 메카니즘을 제공한다. 다수의 층들의 계층구조의 아이디어(idea)가 매력이 있는 듯 하지만, 3 또는 4 레벨들 너머로 확장하는 것은 간단한 디바이스 기술의 크기에 영향을 주기 시작할 것이다.
HUCL내에서, 제어가능 디바이스 뿐만아니라 제어기로부터 디바이스 기술을 요청하는 것이 가능하다. 1개의 디바이스가 "GetSimpleDescription"을 제어기 디바이스(예컨대, 스위치)에 전송할 때, "제어기"의 디바이스 타입을 포함하는 간단한 디바이스 기술이 리턴된다. 제어기 디바이스는 또한, 제조자, 모델 번호 등과 같은 그 이상의 정보를 제공하는 확장된 디바이스 기술을 이용가능하게 할 수 있 다.
제어기에 의해 리턴되는 디바이스 타입은 간단하게, 디바이스 타입 트리내에서 규정된 상이한 제어기 타입 디바이스들의 계층이 없는 "제어기"(52)임을 주지하는 것은 중요하다. 이에 대한 이유는 프로토콜 및 메시지들의 크기들을 작고 간단하게 유지하기 위해 다시 시도하는 것이다. 스위치, TV 원격 제어, PVR 원격 제어 등과 같은 기본 제어기로부터 유도된 상이한 제어기 타입들을 갖는 것이 가능할 수 있다고 여겨질 수 있다. 그러나, 광범위한 디바이스들을 제어 가능한 유니버설 원격 제어기(Universal Remote Controller)와 같은 인텔리전트 제어기(intelligent controller)와 함께 문제점이 발생될 수 있다. 간단한 디바이스 기술내에 모든 가능한 제어기 타입들을 포함하는 것은 최초의 간단한 디바이스 기술을 간단하게 하기 위해 시도하는 목표에 대립하는 잠재적으로 큰 메시지를 초래할 수 있다. 제어기 디바이스의 정확한 능력을 결정하기 위해 상이한 메카니즘들이 이용된다.
제어기 디바이스의 능력을 결정하는 제 1 수단은 제어기 디바이스에서 허가되고, 예컨대, "유니버설 원격 제어"와 같은 디바이스 명칭과 같은 정보를 포함할 수 있으며, 텍스트 정보이고 애플리케이션 소프트웨어에 의해 직접적으로 해석가능하지 않으면서 제어기에 관한 통지된 선택을 행하도록 돕기 위해 사용자에 제공될 수 있는 확장된 디바이스 기술에 의한 것이다.
디바이스가 제어기에 관해 더 결정하기 위한 제 2 수단은 그것에 질의하는 것이다.
질의의 사용은, 그렇지 않다면, 엔-메스(en-mass)가 공급된다면, 요청자에 오버로드(overload)를 줄 수 있는 디바이스에 관한 정보를 드립-피딩(drip-feeding)하는 강력한 메카니즘이다.
제어 타입의 각각의 디바이스는 다른 디바이스들이 특정 디바이스 타입(도 5)을 제어 가능한지 여부를 질의(120)하도록 하는 수단을 제공한다. 질의에서 전달된 디바이스 타입은 간단한 디바이스 기술에서 사용된, 즉 디바이스 타입 계층에서 규정된 것과 동일한 필드다. 제어기는 질의에서 전달된 디바이스 타입 또는 그 디바이스 타입이 종속되는 곳인, 제어기 메모리(14)에 저장된 목록내의 최하위 디바이스 타입을 리턴함으로써, 제어기가 디바이스를 제어할 수 있는 레벨을 리턴한다(122). 예컨대, 간단한 스위치에 그것이 향상된 TV 디바이스를 제어할 수 있는지 여부가 질의된다. 도 4에 도시된 상기 계층구조에 기초하여, 응답은 스위치가 향상된 TV 디바이스를 기본 디바이스 레벨까지 제어할 수 있다는 것이다. 스위치는 향상된 TV 디바이스의 디바이스 타입에 관해 자체에서 아는 것이 없지만, 디바이스 타입이 승계된 디바이스들을 또한 포함하므로, 기본 디바이스를 식별가능할 수 있고 이것을 스위치가 제어가능한 최하위 계층적으로 상위 디바이스 타입(lowest hierarchically superior device type)으로서 리턴한다.
제어기는 스위치가 간단한 디바이스 기술(도 6)로 리턴된 디바이스 타입을 제어할 수 있는지 여부를 결정하기 위한 알고리즘을 또한 구현한다. 스위치가 디바이스의 어드레스를 디스커버할 때, 스위치는 디바이스에 그것의 간단한 디바이스 기술을 물어보고(124), 이 정보를 수신할 시(126), 스위치는 질의 프로세스의 결과로서 스위치가 응답할 필요가 있는 동일한 질문인, 스위치가 이 타입의 디바이스를 어떤 정도까지 제어할 수 있는지를 시험한다(128). 결과는 2개의 질의 프로세스들(120, 122, 124, 126, 및 128)이 간단한 스위치 디바이스의 복잡성을 크게 증가시키지 않는다는 것이다. 동일한 것이 다른 간단한 디바이스들에 적용된다.
디바이스가, 모두 단일 RF 트랜시버상에 함께 위치되는 것처럼, 동일한 물리적인 어드레스를 통해 모두 액세스되는 다수의 개별 디바이스들의 합성일 수 있는 경우들이 존재할 것이라고 예견할 수 있다.
디바이스의 이 타입의 예들은 단일 RF 트랜시버를 통해 제어되는 개별적으로 스위치 가능한 라이트들의 뱅크(bank), 또는 통합된 알람 클럭을 갖는 TV이고, 여기서 구성요소들 둘 다는 동일한 트랜시버를 통해 원격으로 다시 제어가능하다.
도 7은 디스커버리 프로세스를 예시한다. 스위치는 아래 놓인 전송 매체에 의해 알려진 모든 디바이스들의 어드레스를 최초에 얻고, 이는 4개의 개별적인 제어가능한 라이트들의 단일 어드레스를 포함한다. 스위치는 라이트 뱅크에 Get Simple Description 명령을 송신(140)하고, 떠오르는 의문점은 답신은 어떤 것이 될 것인가 ? 이다. 4개의 디바이스 기술들이 리턴되면, 이는 스위치가 수신하기를 예측했던 것보다 4 배 많은 데이터일 수 있다. 다중 간단한 디바이스 기술들을 리턴하는 것은 스케일러블하지 않고, 예컨대 라이트 뱅크에 20개의 라이트들이 존재한다면 문제점들을 야기할 수 있다.
HUCL에 의해 제공된 이에 대한 솔루션은 합성 디바이스들에 대한 특정 디바이스 타입이다.
합성 디바이스는 디바이스 타입 필드(232)내에 "합성 디바이스(Composite Device"로서 그것의 디바이스 타입을 포함하는 그것의 간단한 디바이스 기술을 리턴한다(142). 간단한 디바이스 기술은 이 예에서, 이 단일 디바이스내에 4개의 내장된 디바이스들이 존재한다는 것을 필드(234)에서 또한 식별한다.
제어기가 합성 디바이스와 통신하는 중이라는 것을 식별하면, 다음 스테이지는 제어기가 합성 디바이스내에 어떤 디바이스들이 내장되어 있는지 설정하는 것이다. 제어기는 Get Simple Description 요청들을 합성 디바이스에 더 행하지만(144), 특정 내장된 디바이스들에 요청들을 어드레싱한다. 내장된 디바이스들은 그것들의 디바이스 기술들을 리턴한다(146).
제어기가 내장된 디바이스들 중 하나를 제어할 것이라고 결정하면, 각각의 명령에 내장된 디바이스 ID를 포함함으로써, 모든 제어 명령들은 특정 내장된 디바이스에 직접 보내진다. 합성 디바이스의 개념(concept)이 설정되고 나면, 이익을 가질 수 있는 다수의 흥미있는 디바이스 결합들에 대한 가능성이 시작되고, 이들의 일부가 아래에 기술될 것이다.
인테그럴 스위치(integral switch)를 갖는 램프로 이루어진 단일 디바이스가 예로 주어지고, 여기서 스위치의 기능은 다른 디바이스들을 제어할 수 있도록 공개된다(expose). 디바이스의 간단한 디바이스 기술에 대해 질의된 때, 디바이스는 자신을 합성 디바이스로서 제시(exhibit)하지만, 그 이상 질의될 때, 1개의 내장된 디바이스는 제어기로 발견될 수 있고, 다른 것들은 제어가능한 즉, 라이트 디바이스로 발견될 수 있다. 다수의 이러한 디바이스들은, 예컨대 라운지의 1개의 테이블 램프를 온시키는 것이 라운지의 모든 테이블 램프들을 온되도록 하는 것과 같 이, 디바이스들 중 하나의 스위치를 작동하는 것으로 모든 디바이스들의 스위치들을 온/오프시키도록 하는 이러한 방법으로 구성될 수 있다.
CE 도메인내의 합성 디바이스의 다른 가능한 결합들은 예컨대, TV + 비디오 카세트 레코더(VCR) 또는 DVD 및 VCR을 포함한다. 요구되면, 이들의 각각은 자신을 2개의 디바이스들의 합성으로서 기술한다.
개념적으로, 예컨대 TV 디바이스(60) 자체에 더하여 튜너(64), 오디오(66), 및 디스플레이(68) 서브-구성요소들로 이루어질 수 있는 TV 디바이스(60)와 같이(도 8을 보라), 디바이스는 제로(0) 또는 더 많은 서브-구성요소들을 코어 디바이스에 더하여 이루어진다.
단일 디바이스는 예컨대, TV/VCR 콤비 디바이스가 오디오(66) 및 디스플레이(68) 뿐만아니라 TV에 대한 하나와 VCR에 대한 하나의 2개의 튜너들(62 및 64)을 가질 수 있는 것처럼(도 9를 보라), 하나 이상의 서브-구성요소의 경우를 가질 수 있음을 또한 생각해 볼 수 있다.
가장 간단한 디바이스들상에서 XML, 및 그것의 압축 및 압축해제의 사용은 약간 헤비웨이트(heavyweight)인 것처럼 여겨질 수 있다. 프로토콜을 기술하기 위한 XML의 사용은 추후 향상에 대해 쉽게 확장가능하고, 기술하고 이해하기에 비교적 간단하고, 구축된 정보를 쉽게 다룰 수 있으며, '인터넷 도메인'과 즉시 호환가능한 솔루션을 제공한다.
XML상에 태그된 압축 기법을(HUCL내에서 규정된) 사용하는 것은 컨텐트 구조를 보유하기 위한 일부 부가 오버헤드를 갖는, 종래의 순수 2진-기반 프로토콜의 그것에 대한 비교적 장황한 프로토콜 백 다운(back down)을 취한다.
명령의 압축된 형태로 명령을 제공받아야 한다면, 명령 구조에 관한 정보 및 데이터 값들에 대한 정의 테이블을 사용하여 어떤 다른 2진 기반 프로토콜을 판독할 수 있는 유사한 수단으로 판독될 수 있다. 2진 데이터가 XML 기반 표기법으로부터 발원되었을 수 있는 단일 힌트는 구조를 나타내기 위한 데이터의 존재일 수 있다.
HUCL 명세는 메시지들이 그것의 압축된 형태로 전송 매체를 통해서 항상 전송된다고 규정한다. 그러나, 간단한 디바이스상에서, 애플리케이션은 압축된 메시지들상에서 직접적으로 작동할 수 있어서, HUCL 소프트웨어 스택내에서 압축/압축해제 소프트웨어의 존재에 대한 그 디바이스상의 필요성을 제거한다. 이 경우에서, 애플리케이션은 간단한 디바이스 기술을 그것의 미리압축된 형태로 저장할 수 있고, 어떤 다른 2진 프로토콜 파서(binary protocol parser)와 본질적으로 유사할 수 있는 애플리케이션이 수신한 압축된 프로토콜 메시지들에 대한 파서를 가질 수 있으며; 응답 메시지들은 그것들의 압축된 형태로 또한 저장될 필요가 있을 수 있다.
이 접근법을 사용하여 이 섹션 전체를 통해 사용된 라이트 스위치 및 라이트 설비 예와 같은 가장 간단한 디바이스들이 감소된 소프트웨어 스택으로 구현될 수 있고, 간단한 디바이스가 이해하고 전송해야할 필요가 있을 수 있는 명령들의 수가 비교적 적게 주어지고(턴 라이트 온, 턴 라이트 오프, 토글, 전류 상태 획득, 디바이스 기술 획득, 등), 애플리케이션 소프트웨어상의 오버헤드는 최소가 된다.
압축된 데이터상에서 작동하도록 애플리케이션을 실제로 구현하는 디바이스들에 대한 스케일러블 솔루션이 제공되고 이루어질 수 있지만, 디바이스가 더 복잡해질 때, 스택내에 압축/압축해제 기능성을 포함하고, 애플리케이션이 전체 XML 표기법에서 프로토콜 메시지들을 사용하도록 하기에 더 용이하게 되는 포인트가 존재할 것이다. 이 컷 오프 포인트는 디바이스 설계자에 전체적으로 일임(down)되고 HUCL에 규정되거나 또는 전용이 되지 않는다.
도 10은 HUCL을 이루는 구성요소들이 어떻게 함께 맞춰지는지를 예시한다. 구성요소들은 메모리내에 레코딩된 소프트웨어 구성요소들인 것이 인지될 것이다.
뒤따르는 섹션들은 HUCL 소프트웨어 스택(32)을 형성하는 층들, 및 그것들이 제공하는 기능성을 더 상세히 설명한다.
이전에 언급된 바와 같이, HUCL은 특정 전송 프로토콜에 따르지 않지만(예컨대, PCT/IP와 다른), 대신, 전송 스택(34)의 상부에 직접적으로 자리잡고 있다. 상이한 전송 스택들(34)은 그것들의 본질에 의해 애플리케이션들에 상이한 API's를 통해 상이한 서비스들을 제공할 것이고; HUCL 전송 적응 층(Transport Adaption Layer)(180)은 특정 전송 층에 대해 버퍼로서 작용한다.
전송 적응 층(180)은 서비스들의 고정된 전송 독립 세트를 HUCL내의 상위층들에 제공한다. 이 층의 요구조건들은 프로토콜 명세에서 상세히 규정된다.
메시징층(messaging layer)(182)은 HUCL 소프트웨어 스택의 기능성의 벌크(bulk)를 제공한다. 애플리케이션들은 HUCL API를 통해 이 층과 통신하고, 그것은 필요할 때(예컨대, 데이터가 수신될 때), 애플리케이션에 호출을 되돌려 행할 것이 다.
메시징층(182)은 또한 어떤 최초 오류 보고를 다루고, 필요하다면 긍정응답(acknowledgement)한다. 응답들에 대한 잃어버린 메시지들 및 결합한 메시지들을 검사하기 위해 사용된 메시지 ID's 및 트랜섹션(Transaction) ID's는 또한 이 층에 의해 전체적으로 다루어진다.
메시징층(182)은 메시지가 압축되거나 또는 압축해제될 필요가 있을 때 압축/압축해제 서비스들(184)을 또한 사용한다. 상기된 바와 같이, 애플리케이션은 메시지들의 압축된 형태에서 메시지들과 배타적으로 관계하고, 이들 서비스들에 어떠한 호출도 이루어지지 않고 그것들은 런타임 스택으로부터 제거될 수 있다.
압축 및 압축해제 서비스들은 HUCL 메시지들의 압축된 형태 및 압축해제된 형태간에서 HUCL을 변환하기 위한 수단을 간단하게 메시지층에 제공한다. 시스템의 이 구성요소가 애플리케이션과의 모든 데이터 교환들이 압축된 메시지들로 이루어지는 로우-엔드(low-end) 디바이스들에서 결여되는 것이 가능하다.
애플리케이션 프로그래밍 인터페이스 API(186)는 모든 애플리케이션들이 HUCL 소프트웨어 스택과 통신하기 위해 통하는 인터페이스다. 통신은 HUCL 스택이 예컨대 전송 스택을 통해 수신된 메시지와 같은 하위층들에서 발생하는 일정 이벤트들의 결과로서 애플리케이션에 비동기 호출을 되돌려 행할 것인 양방향성(bi-directional)이다.
HUCL은 독립적인 전송 스택(34)이고, 이는 HUCL 메시징 프로토콜이 유선 및 무선 둘 다의 다양한 전송 스택들의 상부에 구축될 수 있음을 의미한다.
HUCL이 라이트웨이트 프로토콜로서 설계되었으므로, 따라서, 신생 지그비(Zigbee)(802.15.4) 표준과 같은 라이트웨이트 전송 스택들에 가장 적절하지만, 유선(예컨대, 이더넷) 및 무선(예컨대, 802.11b) 둘 다의 다른 프로토콜들의 광범위를 개시하는 TCP & UDP/IP의 상부에 자리잡을 수 있다.
전송 스택(34)상에 구현될 HUCL에 대해, HUCL 스택의 메시징층에 다수의 서비스들을 제공 가능해야만 한다. 이는 이들 서비스들이 전송 스택 자체내에 존재하거나 또는 HUCL 스택의 전송 추상층(Transport Abstraction Layer)에서 어떤 잃어버린 서비스들을 구현 가능해야만 할 수 있다는 의미다. 이들 서비스들은 어드레싱, 메시지 전달 및 디바이스 디스커버리와 같은 양상들을 커버할 수 있다(예컨대, 네트워크상의 다른 디바이스들의 어드레스들을 디스커버링하는).
프로토콜은 그자체가 매체(214)에 레코딩된 문서이고, 도 11에 도시된 바와 같은 뒤따르는 정보를 포함한다:
모든 HUCL 메시지들이 순응하는 포맷을 규정하는 범용 HUCL 메시지 포맷(200);
제어 프로토콜을 형성하는 특정 메시지들을 규정하는 메시지 정의(202);
어떤 메시지들이 언제 전송되는지 및 메시지 수신 시 애플리케이션의 요구조건들을 규정하는 메시지 시퀀싱 요구조건들(204);
HUCL과 그것을 사용하는 애플리케이션간의 양방향 인터페이스를 규정하는 HUCL API 정의(206);
HUCL 소프트웨어 스택의 메시징 시스템 요구조건들 및 기능성(208);
HUCL 메시지들의 압축을 위한 메카니즘을 규정하는 압축 알고리즘(210); 및
HUCL 소프트웨어 스택이 전송 시스템과 어떻게 인터페이스되는지를 규정하는 전송 적응 층 정의(transport adaption layer definition)(212)(예컨대, RF 스택).
HUCL은 따라서 간단하게 메시지 포맷 정의가 아니고, 또한 메시지 교환 및 압축을 캡슐화한다(encapsulate). 상기 목록내의 나중의 4개 항목(item)들은 디바이스에 존재할 수 있는 HUCL 소프트웨어 스택을 형성하고, 처음 3개 항목들은 스택 및 애플리케이션이 순응해야만 하는 요구조건들을 규정한다.
본원을 읽으므로서, 다른 변화들 및 변경들이 당업자에 명백할 것이다. 이러한 변화들 및 변경들은 설계, 제조, 및 네트워크 사용에서 이미 알고 있고, 여기서 기술된 특징들 대신에 또는 부가하여 사용될 수 있는, 동등물 및 다른 특징들을 수반할 수 있다. 이 애플리케이션에서, 청구항들이 특징들의 특정 조합들에 명료하게 설명되었지만, 공개의 범위는 본 발명이 행하는 바와 같이 어떤 또는 모든 동일한 기술 문제점들을 덜어내거나 또는 그렇지 않는, 여기서 함축적이거나 또는 명백하게 공개된 어떤 참신한 특징 또는 특징들의 어떤 참신한 조합, 또는 그것들의 어떤 일반화를 또한 포함한다는 것이 이해되어야 한다. 여기서, 출원인은 본 발명 또는 그로부터 유도된 어떤 그이상의 애플리케이션들의 진행 동안, 새로운 청구항들이 어떤 그러한 특징들 및/또는 그러한 특징들의 조합들에 명료하게 설명될 수 있음을 주의시킨다.
특히, 예들에서 사용된 특정 서브루틴 이름들은 쉽게 변경될 수 있다. 디바이스들을 제어하는 컴퓨터 프로그램이 메모리(14)에 레코딩된 것으로 도시되어 있 지만, 당업자는 컴퓨터 프로그램이 CD, 플로피 디스크, 등과 같은 많은 다른 타입의 레코드 캐리어상에 레코딩될 수 있음을 깨달을 것이다.
더욱이, 라이트 설비 및 라이트 스위치의 간단한 예가 광범위하게 전술되었음을 주지해야할 것이다. 당업자는 더 많은 복잡한 제어 시나리오가 또한 가능함을 인지할 것이다.

Claims (22)

  1. 적어도 하나의 다른 디바이스를 갖는 네트워크에서 네트워크된 디바이스의 동작 방법에 있어서,
    간단한 디바이스 기술(simple device description)을 요청하는 간단한 디바이스 기술 질의 메시지를 적어도 하나의 다른 디바이스에 전송하는 단계(104);
    상기 다른 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 상기 다른 디바이스로부터 수신하는 단계(106);
    상기 다른 디바이스로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 상기 다른 디바이스에 전송하는 단계(108); 및
    가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스로부터 수신하는 단계(110)를 포함하는 네트워크된 디바이스 동작 방법.
  2. 제 1 항에 있어서,
    간단한 디바이스 기술을 적어도 하나의 다른 디바이스에 전송하는 상기 단계(104) 이전에, 또 다른 디바이스 또는 다른 디바이스들의 네트워크 어드레스를 설정하는 단계(102)를 더 포함하는, 네트워크된 디바이스 동작 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 간단한 디바이스 기술 메시지(230)는 인간-판독가능한 메시지 포맷으로부터 압축된 토큰-압축된(token-compressed) 메시지의 형태이며, 상기 메시지는,
    상기 다른 디바이스의 타입을 나타내는 디바이스 타입 값(232)을 포함하고;
    상기 디바이스 타입 값은 제어기 디바이스 타입(52) 및 기본 디바이스 타입(basic device type)(54)을 포함하는 미리 결정된 최상위 레벨 요소(top level element)들을 갖고, 상기 기본 디바이스 타입에 종속되고 보조(subsidiary) 디바이스 타입이 종속된 상위 레벨 디바이스 타입들의 성질들을 승계하는 상기 보조 디바이스 타입들의 적어도 하나의 다른 레벨을 갖지만, 상기 제어기 디바이스 타입에 종속되는 보조 디바이스 타입들의 어떠한 다른 레벨도 포함하지 않는 디바이스 타입 계층구조로부터 선택되는, 네트워크된 디바이스 동작 방법.
  4. 제 3 항에 있어서,
    상기 네트워크된 디바이스는 상기 제어기가 제어할 수 있는 디바이스 타입들의 목록(24)을 포함하는 제어기 디바이스(2)인, 네트워크된 디바이스 동작 방법.
  5. 제 4 항에 있어서,
    상기 네트워크된 디바이스가 상기 다른 디바이스를 제어할 수 있는 한도(extent)를 결정하기 위해, 상기 제어기에 의해 제어될 수 있는 디바이스 타입들의 상기 목록에서, 상기 다른 디바이스의 상기 디바이스 타입 또는 상기 다른 디바이스의 상기 디바이스 타입이 종속되는 상위 레벨 디바이스 타입 중 하나인 디바 이스 타입의 가장 낮은 레벨을 결정함으로써, 상기 네트워크된 디바이스가 또 다른 디바이스를 제어할 수 있는지 여부를 결정하는 단계를 더 포함하는, 네트워크된 디바이스 동작 방법.
  6. 제 5 항에 있어서,
    상기 제어기가 요청된 디바이스 타입의 디바이스를 제어할 수 있는지 여부를 요청하기 위해 상기 요청된 디바이스 타입 값을 포함하는 제어기 질의 메시지를 또 다른 디바이스로부터 수신하는 단계; 및
    상기 요청된 디바이스 타입 또는 상기 요청된 디바이스 타입이 종속되는 상위 레벨 디바이스 타입 중 하나인, 디바이스 타입들의 상기 목록내의 디바이스 타입의 상기 가장 낮은 레벨을 나타내는 디바이스 타입 값을 포함하는 제어기 응답 메시지로 응답하는 단계를 더 포함하는, 네트워크된 디바이스 동작 방법.
  7. 제 2 항에 있어서,
    상기 디바이스 타입 계층구조내의 상기 미리 결정된 최상위 레벨 요소들은 합성 디바이스 타입을 더 포함하고, 상기 네트워크된 디바이스는 정수의 다른 디바이스들의 기능을 갖는 상기 합성 디바이스 타입이고, 상기 방법은,
    상기 디바이스를 합성 디바이스로서 나타내는 상기 디바이스 타입 값(232) 및 다른 디바이스들의 상기 수(234)인 정수의 서브-디바이스 수를 또한 포함하는 간단한 디바이스 기술 메시지(230)를 전송함으로써, 수신된 간단한 디바이스 기술 질의 메시지에 응답하는 단계를 더 포함하는, 네트워크된 디바이스 동작 방법.
  8. 네트워크된 디바이스의 동작 방법에 있어서,
    간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 상기 다른 디바이스들 중 하나로부터 수신하는 단계(104);
    상기 네트워크된 디바이스의 상기 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 상기 다른 디바이스에 전송하는 단계(106);
    상기 네트워크된 디바이스로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 상기 다른 디바이스로부터 수신하는 단계(108); 및
    가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스에 전송하는 단계(110)를 포함하는 네트워크된 디바이스 동작 방법.
  9. 네트워크된 디바이스에 있어서,
    메시지들을 전송하고 수신하는 트랜시버(8); 및
    상기 다른 디바이스들로부터 간단한 디바이스 기술 질의 메시지를 수신(104) 시, 상기 네트워크된 디바이스의 상기 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 상기 다른 디바이스에 전송하는 단계(106); 및
    또 다른 디바이스로부터 확장된 디바이스 기술 질의 메세지를 수신(108) 시, 가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스에 전송하는 단계(110)를 수행하도록 배열된 메시지 핸들러(26 및 182)를 포함하는 네트워크된 디바이스.
  10. 제 9 항에 있어서,
    상기 간단한 디바이스 기술 메시지(230)는 인간-판독가능한 메시지 포맷으로 압축된 토큰-압축된 메시지의 형태로서, 상기 메시지는,
    상기 다른 디바이스의 타입을 나타내는 디바이스 타입 값(232)을 포함하고;
    상기 디바이스 타입 값은 제어기 디바이스 타입(52) 및 기본 디바이스 타입(54)을 포함하는 미리 결정된 최상위 레벨 요소들을 갖고, 상기 기본 디바이스 타입에 종속되고 보조 디바이스 타입이 종속된 상위 레벨 디바이스 타입들의 성질들을 승계하는 상기 보조 디바이스 타입들의 적어도 하나의 다른 레벨을 갖지만, 상기 제어기 디바이스 타입에 종속되는 보조 디바이스 타입들의 어떠한 다른 레벨도 포함하지 않는 디바이스 타입 계층구조로부터 선택되는, 네트워크된 디바이스.
  11. 네트워크된 디바이스에 있어서,
    메시지들을 전송하고 수신하는 트랜시버(8); 및
    간단한 디바이스 기술을 요청하는 간단한 디바이스 기술 질의 메시지를 또 다른 디바이스에 전송하는 단계; 및
    상기 다른 디바이스의 타입을 나타내는 디바이스 타입 값 및 확장된 디바이스 기술이 이용가능한지 여부를 표시하는 필드를 포함하는 고정된 길이의 간단한 디바이스 기술 메시지를 상기 다른 디바이스로부터 수신하는 단계를 수행하도록 배열되고,
    확장된 디바이스 기술이 이용가능한지 여부를 결정하기 위해 상기 간단한 디바이스 기술 메시지를 시험하는 단계;
    상기 다른 디바이스로부터 확장된 디바이스 기술을 요청하는 확장된 디바이스 기술 질의 메시지를 상기 다른 디바이스에 전송하는 단계; 및
    가변 길이의 확장된 디바이스 기술을 상기 다른 디바이스로부터 수신하는 단계를 선택적으로 수행하도록 더 배열된, 메시지 핸들러(26 및 182)를 포함하는 네트워크된 디바이스.
  12. 제 11 항에 있어서,
    상기 간단한 디바이스 기술 메시지(230)는 인간-판독가능한 메시지 포맷으로 압축된 토큰-압축된 메시지의 형태로서, 상기 메시지는,
    상기 다른 디바이스의 타입을 나타내는 디바이스 타입 값(232)을 포함하고;
    상기 디바이스 타입 값은 제어기 디바이스 타입(52) 및 기본 디바이스 타입(54)을 포함하는 미리 결정된 최상위 레벨 요소들을 갖고, 상기 기본 디바이스 타입에 종속되고 보조 디바이스 타입이 종속된 상위 레벨 디바이스 타입들의 성질들을 승계하는 상기 보조 디바이스 타입들의 적어도 하나의 다른 레벨을 갖지만, 상기 제어기 디바이스 타입에 종속되는 보조 디바이스 타입들의 어떠한 다른 레벨도 포함하지 않는 디바이스 타입 계층구조로부터 선택되는, 네트워크된 디바이스.
  13. 제 12 항에 있어서,
    상기 네트워크된 디바이스는 상기 네트워크된 디바이스에 의해 제어될 수 있는 디바이스 타입들의 목록을 포함하여, 상기 제어기에 의해 제어될 수 있는 디바이스 타입들의 상기 목록에서, 상기 다른 디바이스의 상기 디바이스 타입 또는 상기 다른 디바이스의 상기 디바이스 타입이 종속되는 상위 레벨 디바이스 타입 중 하나인 디바이스 타입의 상기 가장 낮은 레벨을 결정함으로써, 상기 네트워크된 디바이스가 또 다른 디바이스를 제어할 수 있는 한도를 상기 네트워크된 디바이스가 결정할 수 있도록 하는 상기 제어기 디바이스 타입을 갖는, 네트워크된 디바이스.
  14. 제 13 항에 있어서,
    상기 메시지 핸들러는,
    상기 제어기가 상기 요청된 디바이스 타입의 디바이스를 제어할 수 있는지 여부를 요청하기 위해 요청된 디바이스 타입 값을 포함하는 제어기 질의 메시지를 또 다른 디바이스로부터 수신하고;
    상기 요청된 디바이스 타입 또는 상기 요청된 디바이스 타입이 종속되는 상위 레벨 디바이스 타입 중 하나인, 디바이스 타입들의 상기 목록내의 디바이스 타입의 상기 가장 낮은 레벨을 나타내는 디바이스 타입 값을 포함하는 제어기 응답 메시지로 응답하도록 배열된, 네트워크된 디바이스.
  15. 시스템에 있어서,
    네트워크 메시지들을 전송하고 수신하기 위한 트랜시버를 각각 갖는 복수의 네트워크된 디바이스들;
    간단한 디바이스 질의 메시지를 다른 디바이스들에 전송하고, 상기 다른 디바이스들로부터 이후 수신된 간단한 디바이스 기술 메시지들을 수신하고 해석하도록 배열된 적어도 하나의 네트워크된 디바이스; 및
    확장된 디바이스 질의 메시지를 다른 디바이스들에 전송하고, 상기 다른 디바이스들로부터 이후 수신된 확장된 디바이스 기술 메시지들을 수신하고 해석하도록 배열된 적어도 하나의 네트워크된 디바이스를 포함하고,
    상기 네트워크된 디바이스들 각각은 상기 디바이스의 타입을 나타내는 디바이스 타입 값을 포함하는 규정된 길이의 간단한 디바이스 기술 메시지를 전송함으로써, 상기 디바이스들 중 다른 것들로부터의 인입 간단한 디바이스 질의 메시지에 응답하도록 배열되고,
    적어도 하나의 네트워크된 디바이스들은 확장된 디바이스 기술 메시지를 전송함으로써, 상기 디바이스들 중 다른 것들로부터의 인입 확장된 디바이스 질의 메시지에 응답하도록 배열된, 시스템.
  16. 제 15 항에 있어서,
    상기 복수의 네트워크된 디바이스들은 메시지들을 압축해제(decompress)하기 위한 상기 능력이 없고 압축된 메시지들을 직접적으로 해석하는 적어도 하나의 간 단한 디바이스, 및 상기 메시지들을 압축해제하기 위한 메시지 압축해제 배열 및 상기 압축해제된 메시지들을 해석하기 위한 메시지 해석기를 포함하는 적어도 하나의 복잡한 디바이스를 포함하는, 시스템.
  17. 제 15 항 또는 제 16 항에 있어서,
    상기 미리 결정된 최상위 레벨 요소들은 합성 디바이스 타입을 더 포함하고;
    상기 시스템은 다른 디바이스들의 미리 결정된 수의 기능을 갖는 상기 합성 디바이스 타입의 적어도 하나의 네트워크된 디바이스를 포함하고, 상기 미리 결정된 수는 2 이상의 정수이며;
    상기 합성 디바이스 타입의 상기 적어도 하나의 네트워크된 디바이스의 각각은 합성 디바이스로서의 상기 디바이스 타입(232) 및 다른 디바이스들의 상기 미리 결정된 수를 나타내는 서브-디바이스 수(234)를 포함하는 간단한 디바이스 기술(230)을 전송함으로써, 간단한 디바이스 기술을 요구하는 인입 디바이스 질의 메시지에 응답하는, 시스템.
  18. 네트워크된 디바이스를 제어하기 위한 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 상기 네트워크된 디바이스가 제 1 항 내지 제 8 항 중 어느 한 항에 따라 방법의 상기 단계들을 수행하게 하도록 배열된, 컴퓨터 프로그램.
  19. 네트워크된 디바이스를 제어하기 위한 컴퓨터 프로그램으로서, 상기 네트워크된 디바이스는 전송 스택 및 애플리케이션을 갖는, 상기 컴퓨터 프로그램에 있어서,
    상기 전송 스택과 인터페이스하기 위한 전송 적응 층(180)을 구현하는 코드;
    상기 애플리케이션과 인터페이스하기 위한 애플리케이션 프로그래밍 인터페이스(186)를 구현하는 코드; 및
    토큰-엔코딩된 인간 판독가능한 메시징 포맷의 메시지들을 전송하고 수신하는 능력을 포함하는 메시징 층(182)을 구현하는 코드를 포함하고,
    상기 코드는 상기 네트워크 디바이스가,
    간단한 디바이스 기술 응답을 요구하는 인입 디바이스 질의 메시지들을 인식하고, 디바이스 타입을 포함하는 간단한 디바이스 기술 응답을 제공하고;
    확장된 디바이스 기술을 요구하는 인입 디바이스 질의 메시지들을 인식하고, 확장된 디바이스 기술과 응답하게 하도록 배열된, 컴퓨터 프로그램.
  20. 데이터 캐리어(14)에 레코딩된 제 18 항 또는 제 19 항에 따른 컴퓨터 프로그램.
  21. 전자 디바이스들을 제어하기 위한 네트워크 설정 및 관리 프로토콜로서, 상기 프로토콜은 레코드 매체상에 레코딩되는, 상기 프로토콜에 있어서,
    상기 메시지들의 압축에 대한 상기 메카니즘을 규정하는 압축 알고리즘(210);
    범용 메시지 포맷의 규정(200)으로서, 상기 메시지들은 XML 적용(compliant) 메시지들인, 상기 범용 메시지 포맷 규정(200); 및
    메시지 시퀀싱 요구조건들의 규정(204)을 포함하는, 프로토콜.
  22. 제 21 항에 따른 전자 디바이스들을 결합하기 위한 네트워크 설정 및 관리 프로토콜에 따른 시스템.
KR1020057002136A 2002-08-06 2003-07-24 네트워크 설정 및 관리 프로토콜 KR101058065B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0218174.1A GB0218174D0 (en) 2002-08-06 2002-08-06 A network establishment and management protocol
GB0218174.1 2002-08-06
GB0309401 2003-04-25
GB0309401.8 2003-04-25
PCT/IB2003/003307 WO2004015956A2 (en) 2002-08-06 2003-07-24 A network establishment and management protocol

Publications (2)

Publication Number Publication Date
KR20050084796A true KR20050084796A (ko) 2005-08-29
KR101058065B1 KR101058065B1 (ko) 2011-08-22

Family

ID=31716913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002136A KR101058065B1 (ko) 2002-08-06 2003-07-24 네트워크 설정 및 관리 프로토콜

Country Status (9)

Country Link
US (2) US8078742B2 (ko)
EP (1) EP1529379B1 (ko)
JP (1) JP2005535247A (ko)
KR (1) KR101058065B1 (ko)
CN (1) CN100525223C (ko)
AU (1) AU2003249528A1 (ko)
DK (1) DK1529379T3 (ko)
ES (1) ES2428356T3 (ko)
WO (1) WO2004015956A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0411528D0 (en) * 2004-05-24 2004-06-23 Koninkl Philips Electronics Nv Device abstraction layer for local networking system
KR100702516B1 (ko) * 2006-04-07 2007-04-02 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 데이터 저장 방법 및 그장치
US20120311070A1 (en) * 2011-05-31 2012-12-06 Fanhattan Llc Intelligent application adapted to multiple devices
WO2014075034A1 (en) 2012-11-12 2014-05-15 Flavien Baumgartner Systems and methods for wireless pairing and communication for electrostimulation
CN106465090B (zh) 2014-05-09 2019-11-19 华为技术有限公司 用于设备到设备的发现消息大小的可扩展解决方案
US10623244B2 (en) * 2014-12-19 2020-04-14 Emerson Process Management Lllp Data transfer on an industrial process network
KR102442428B1 (ko) * 2015-09-24 2022-09-14 삼성전자주식회사 다바이스의 액세스 토큰 발급 방법 및 이를 지원하는 장치
CN111061207A (zh) * 2019-12-25 2020-04-24 湖南舞龙软件开发有限公司 一种基于数据驱动的设备描述方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002505060A (ja) * 1997-06-16 2002-02-12 テレフオンアクチーボラゲツト エル エム エリクソン 電気通信性能管理システム
US5991713A (en) * 1997-11-26 1999-11-23 International Business Machines Corp. Efficient method for compressing, storing, searching and transmitting natural language text
KR100607215B1 (ko) 1998-05-07 2006-08-01 삼성전자주식회사 네트워크에서 사용자와 디바이스 명령 및 제어 방법 및 장치
WO2000068824A1 (en) * 1999-05-10 2000-11-16 3Com Corporation Method and system for network management
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US7171475B2 (en) * 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US6832273B2 (en) * 2000-12-21 2004-12-14 Microsoft Corporation System and method to specify extended configuration descriptor information in USB devices
US7170857B2 (en) * 2001-08-10 2007-01-30 Strix Systems, Inc. Virtual linking using a wireless device
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
US7058734B2 (en) * 2002-02-25 2006-06-06 Hewlett-Packard Development Company, Lp. Variable-function or multi-function apparatus and methods
US6930958B2 (en) * 2002-04-02 2005-08-16 Nate Goergen Method and apparatus for synchronizing timekeeping devices
US8312132B2 (en) * 2004-08-20 2012-11-13 Core Wireless Licensing S.A.R.L. Context data in UPNP service information

Also Published As

Publication number Publication date
US20060026291A1 (en) 2006-02-02
AU2003249528A1 (en) 2004-02-25
JP2005535247A (ja) 2005-11-17
EP1529379B1 (en) 2013-07-17
CN100525223C (zh) 2009-08-05
EP1529379A2 (en) 2005-05-11
CN1675886A (zh) 2005-09-28
US8943213B2 (en) 2015-01-27
KR101058065B1 (ko) 2011-08-22
WO2004015956A3 (en) 2004-09-16
DK1529379T3 (da) 2013-10-14
US20120059898A1 (en) 2012-03-08
AU2003249528A8 (en) 2004-02-25
ES2428356T3 (es) 2013-11-07
US8078742B2 (en) 2011-12-13
WO2004015956A2 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
US8943213B2 (en) Network establishment and management protocol
US8874689B2 (en) Network establishment and management protocol
US6546419B1 (en) Method and apparatus for user and device command and control in a network
CN1943171B (zh) 用于控制分布式站的网络中的设备的方法和网络站
US20070162586A1 (en) Middleware device and method of supporting compatibility of devices in home network
KR20050078511A (ko) UPnP 디바이스가 PLC 디바이스를 컨트롤할 수있도록 브릿징하는 장치 및 방법
US20060031570A1 (en) Network establishment and management protocol
KR20050085254A (ko) 구성 사항을 전달하기 위해 구성 식별자를 사용하는 방법
KR100412365B1 (ko) 브릿지 수단을 가지는 가전기기 네트워크 시스템과 그동작방법
KR20050062766A (ko) 네트워크 설정 및 관리 프로토콜
KR101195535B1 (ko) 제너럴 UPnP 미들웨어 어댑터 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 및 이를 이용한 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
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: 20150803

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160809

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170801

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180809

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190813

Year of fee payment: 9