KR102599634B1 - 지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법 - Google Patents

지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법 Download PDF

Info

Publication number
KR102599634B1
KR102599634B1 KR1020210160454A KR20210160454A KR102599634B1 KR 102599634 B1 KR102599634 B1 KR 102599634B1 KR 1020210160454 A KR1020210160454 A KR 1020210160454A KR 20210160454 A KR20210160454 A KR 20210160454A KR 102599634 B1 KR102599634 B1 KR 102599634B1
Authority
KR
South Korea
Prior art keywords
profile
registry
discovery
local
local device
Prior art date
Application number
KR1020210160454A
Other languages
English (en)
Other versions
KR20220147487A (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 US17/729,788 priority Critical patent/US11659049B2/en
Publication of KR20220147487A publication Critical patent/KR20220147487A/ko
Application granted granted Critical
Publication of KR102599634B1 publication Critical patent/KR102599634B1/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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법이 개시된다. 다양한 실시예에 따른 서비스 상호연동을 위한 원격 디바이스 프로파일 관리 방법은 로컬 디바이스의 디바이스 프로파일의 클라우드 네트워크에 대한 등록 요청을 수신하는 동작과, 상기 디바이스 프로파일에 대한 정규 프로파일 ID를 생성하는 동작과, 상기 로컬 디바이스가 등록된 디바이스 레지스트리의 ID 및 연결 정보와 함께 상기 정규 프로파일 ID를 포함하는 레코드를 등록하는 동작과, 상기 정규 프로파일 ID와 상기 디바이스 프로파일 포함하는 레코드를 등록하는 동작을 포함할 수 있다.

Description

지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법{DEVICE AND METHOD FOR REMOTE DEVICE PROFILE MANAGEMENT/INDENTIFICATION FOR INTELLIGENT DISCOVERY}
아래 개시는 사물인터넷 디바이스 상호연동을 위한 클라우드에 연결된 원격 디바이스의 효율적 탐색에 필요한 디바이스 프로파일 식별 및 관리를 위한 기술이다.
인터넷의 발달과 사물인터넷이 ICT 융합 서비스(예: 사물인터넷 기반 블록체인 기술 융합서비스, 사물인터넷 기반 인공지능 융합 서비스와 같은 사물인터넷 기반 서비스)를 필수적인 기반기술로 자리잡음에 따라 사물인터넷의 초연결기술 역시 필수 개념으로 활용되고 있다. 그리고, 사물인터넷 기술은 "지능형 IoT"를 넘어 "자율형 IoT"를 항해 진화하고 있다.
"사물인터넷의 초연결"이라고 하면, 동일한 네트워크 범위 내의 로컬 디바이스간 연결과 인터넷(또는 클라우드)에 존재하는 원격 디바이스와의 연결로 구분되며 이를 모두 포함한다.
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
로컬 디바이스간 연결(예: 로컬 탐색)과 원격 디바이스와의 연결(예: 원격 탐색)은 "디바이스간 연결을 위한 디바이스 정보(예: 디바이스 프로파일)를 단순 데이터로 별도의 서버 장치에 관리함에 따라 이를 식별하는 기술"로 디바이스 상호탐색이 가능할 수 있다. 로컬 탐색 및 원격 탐색은 디바이스 정보(또는 프로파일)를 활용한 이러한 단순한 형태의 탐색절차에 중점을 둘 수 있다. 로컬 탐색 및 원격 탐색은 단순히 디바이스 정보를 관리하는 서버와의 정보 교환을 통해 대상 디바이스 탐색에 중점을 두거나 탐색과정에서 상호 인증 방법에 초점을 맞출 수 있다. 자율형 IoT로 진화하기 위해 필수적인 기술 즉, "어떻게 디바이스 프로파일을 세분화하고, 관리하여 이를 효율적으로 식별할 지에 대한 세부 기술"은 기존 기술을 통해 해결이 불가능할 수 있다.
다양한 실시예들은 지능형 디바이스 탐색을 위한 필수적 추가기술 및 이를 위한 장치 및 방법을 제공할 수 있다.
다양한 실시예들은 디바이스 지능형 탐색을 위한 추가적인 3가지 필수 세부 기술 즉, "(1) 지능형 탐색을 위한 프로파일 세분화 방법, (2) 프로파일 관리 및 등록방법, (3) 효율적인 탐색을 위한 식별 방법 및 절차"를 포함할 수 있다.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.
다양한 실시예에 따른 서비스 상호연동을 위한 원격 디바이스 프로파일 관리 방법은 로컬 디바이스의 디바이스 프로파일의 클라우드 네트워크에 대한 등록 요청을 수신하는 동작과, 상기 디바이스 프로파일에 대한 정규 프로파일 ID를 생성하는 동작과, 상기 로컬 디바이스가 등록된 디바이스 레지스트리의 ID 및 연결 정보와 함께 상기 정규 프로파일 ID를 포함하는 레코드를 등록하는 동작과, 상기 정규 프로파일 ID와 상기 디바이스 프로파일 포함하는 레코드를 등록하는 동작을 포함할 수 있다.
상기 방법은 상기 디바이스 프로파일의 상기 클라우드 네트워크에 대한 등록 완료 후 등록 완료를 알리기 위한 확인 메시지를 회신하는 동작을 더 포함할 수 있다.
상기 방법은 상기 확인 메시지에 응답하여 상기 디바이스 레지스트리에 저장된 상기 디바이스 프로파일의 임시 프로파일 ID를 상기 정규 프로파일 ID로 업데이트하는 동작을 더 포함할 수 있다.
상기 방법은 상기 로컬 디바이스에 대한 타이머를 통해 상기 로컬 디바이스의 활성화 상태를 확인하는 동작을 더 포함할 수 있다.
상기 방법은 상기 타이머가 종료될 때마다 상기 로컬 디바이스에 디스커버리 요청 메시지를 송신하는 동작을 더 포함할 수 있다.
상기 방법은 상기 로컬 디바이스로부터 상기 디스커버리 요청 메시지에 대한 디스커버리 응답 메시지를 수신한 경우, 상기 타이머를 재설정하는 동작을 더 포함할 수 있다.
상기 방법은 상기 로컬 디바이스로부터 프로파일 등록 취소 메시지를 수신하거나 상기 디스커버리 응답 메시지를 수신하지 않는 경우, 상기 디바이스 프로파일의 상기 클라우드 네트워크에 대한 등록 취소를 수행하는 동작을 더 포함할 수 있다.
도 1은 다양한 실시예에 따른 서비스 디스커버리 프레임워크를 나타낸다.
도 2는 다양한 실시예에 따른 로컬 디바이스 등록을 설명하기 위한 도면이다.
도 3은 다양한 실시예에 따른 로컬 디바이스 갱신/해제 동작을 설명하기 위한 도면이다.
도 4는 다양한 실시예에 따른 클라우드 네트워크에 대한 디바이스 프로파일의 등록/해제 동작을 설명하기 위한 도면이다.
도 5는 다양한 실시예에 따른 디바이스 프로파일 디스커버리 동작을 설명하기 위한 도면이다.
도 6은 다양한 실시예에 따른 디바이스 연결 및 연결등록을 설명하기 위한 도면이다.
도 7 및 도 8은 다양한 실시예에 따른 디바이스 프로파일을 디스커버리하는 동작의 일 예를 설명하기 위한 도면이다.
도 9는 다양한 실시예에 따른 기능 및 서비스 지능형 디스커버리 동작을 설명하기 위한 도면이다.
도 10은 다양한 실시예에 따른 연결 가능 여부 확인 동작을 설명하기 위한 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 다양한 실시예에 따른 서비스 디스커버리 프레임워크를 나타낸다.
도 1을 참조하면, 다양한 실시예에 따르면, 서비스 디스커버리 프레임워크(10)는 클라우드 네트워크(30) 내 복수의 엔티티들(예: 중앙집중형 엔티티들(centralized entities)) 및 로컬 네트워크(50, 70, 또는 90) 내 복수의 엔티티들(예: 분산형 엔티티들(distributed entities))을 포함할 수 있다. 서비스 디스커버리 프레임워크(10)는 이기종 IoT 환경에서 디바이스 디스커버리(device discovery) 및 디바이스 관리(device management)와 상호연동(interworking)하는 서비스 프레임워크에 관한 것일 수 있다. 디바이스 디스커버리는 서비스 상호연동을 위해 임의의 디바이스(예: 타겟 디바이스)에 대한 정보를 요청하여 획득하는 동작을 의미할 수 있다. 디바이스 디스커버리 동작은 동일한 서브넷 상의 로컬 네트워크(50, 70, 또는 90)에 존재하는 디바이스 디스커버리(예: 로컬 디바이스 디스커버리) 및 동일한 서브넷 밖에 존재하는 디바이스 디스커버리(예: 원격 디바이스 디스커버리)를 포함할 수 있다. 로컬 디바이스 디스커버리는 브로드캐스팅과 같은 방법으로 신속한 탐색이 가능하지만, 원격 디바이스 디스커버리는 디바이스 식별을 위한 추가적인 장치 및 기능이 요구될 수 있다. 서비스 디스커버리 프레임워크(10)는 원격 디바이스 디스커버리를 위한 클라우드 기반 디바이스 프로파일 관리 및 식별 방법을 포함할 수 있다.
다양한 실시예에 따르면, 로컬 네트워크들(50, 70, 90)은 인터넷을 중심으로 연결되어 있으며, 분산형 엔티티들이 연결되어 있을 수 있다. 분산형 엔티티들은 로컬 디바이스(local device) 및 디바이스 레지스트리(device registry)를 포함할 수 있다. 로컬 디바이스는 서비스에 활용이 가능한 기능(function)들을 가지고 있으며, 로컬 디바이스에 포함된 기능에 대한 기능 정보를 디바이스 프로파일이라고 할 수 있다. 디바이스 레지스트리는 각 로컬 네트워크(50, 70, 90)에 포함된 하나 이상의 로컬 디바이스의 연결 정보 및 디스커버리 정보를 일괄 관리할 수 있다. 각 로컬 네트워크(50, 70, 90)에 연결된 분산형 엔티티들(예: 로컬 디바이스, 디바이스 레지스트리)은 서로 상이한 서비스 제공자(service provider)에 의해 운영될 수 있다.
다양한 실시예에 따르면, 클라우드 네트워크(30)는 중앙집중형 엔티티들을 포함할 수 있다. 중앙집중형 엔티티들은 프로파일 매니저(profile manager)(110), 레지스트리 식별자 리졸버(registry ID resolver)(130), 및 연결 매니저(connection manager)(150)를 포함할 수 있다. 프로파일 매니저(110)는 디바이스 프로파일을 관리하기 위한 것이고, 레지스트리 식별자 리졸버(130)는 디스커버리된 디바이스(예: 디바이스 프로파일)의 식별 지원을 위한 것이고, 연결 매니저(150)는 디스커버리된 디바이스(예: 디바이스 프로파일) 연결 관리를 위한 것일 수 있다. 프로파일 매니저(110), 레지스트리 식별자 리졸버(130), 및 연결 매니저(150)는 하나의 클라우드, 즉 클라우드 네트워크(30)에 소속되어 있으며, 동일 서비스 제공자(예: 단일 클라우드 서비스 제공자)에 의해 운영될 수 있다. 프로파일 매니저(110), 레지스트리 식별자 리졸버(130), 및 연결 매니저(150)는 별도의 하드웨어 장치(예: 서버 장치)로 구현될 수 있다.
다양한 실시예에 따르면, 프로파일 매니저(110)는 관리 중인 디바이스 프로파일(예: harmonized device profile)의 지능형 컨텍스트 인지(context-aware)(예: 지능형 컨텍스트 인지 메커니즘)를 통해 디스커버리(예: 지능형 디스커버리)을 지원할 수 있다. 프로파일 매니저(110)는 지능형 컨텍스트 인지를 위해 서비스 및 기능 유형 매치를 위한 복수의 데이터베이스(database(DB))(DB DEVICE_PROFILE, DB SERVICE_PROFILE)(예: 자료구조)를 포함할 수 있다. 복수의 데이터베이스는 디바이스 프로파일을 위한 제1 데이터베이스(DB DEVICE_PROFILE) 및 서비스 프로파일을 위한 제2 데이터베이스(DB SERVICE_PROFILE)를 포함할 수 있다. 로컬 디바이스가 로컬 네트워크(50, 70, 또는 90)에 나타나면, 프로파일 매니저(110)는 등록 절차를 통해 로컬 디바이스에 대한 디바이스 프로파일을 제1 데이터베이스(DB DEVICE_PROFILE)에 등록할 수 있다. 제1 데이터베이스(DB DEVICE_PROFILE)는 각 로컬 네트워크(50, 70, 90)에 연결된 로컬 디바이스의 디바이스 프로파일을 등록 및 저장할 수 있다. 제2 데이터베이스(DB SERVICE_PROFILE)는 서비스 프로파일을 등록 및 저장할 수 있다. 서비스 프로파일은 별도의 등록 절차 없이 사전에 구축되어 있을 수 있다. 로컬 디바이스가 디스커버리 절차를 통해 서비스 상호연동(interworking)을 위한 타겟 로컬 디바이스에 대한 디바이스 프로파일을 요청하는 경우, 프로파일 매니저(110)는 타겟 로컬 디바이스에 대응하는 하나 이상의 디바이스 프로파일의 정보를 요청한 로컬 디바이스에 제공(예: 전송)할 수 있다. 이때, 프로파일 매니저(110)는 제1 데이터베이스(DB DEVICE_PROFILE)에 저장된 디바이스 프로파일들과 제2 데이터베이스(DB SERVICE_PROFILE)에 저장된 서비스 프로파일들을 매칭함으로써 제1 데이터베이스(DB DEVICE_PROFILE)에 저장된 디바이스 프로파일들로부터 타겟 로컬 디바이스가 될 수 있는 하나 이상의 디바이스 프로파일의 정보를 추출할 수 있다.
표 1은 제1 데이터베이스(DB DEVICE_PROFILE)에 저장되는 디바이스 프로파일을 나타낼 수 있다. 디바이스 프로파일은 두 가지의 속성(예: 속성 정보)를 포함할 수 있다. 두 가지 속성은 디바이스 프로파일의 ID(데이터 타입: unsigned numeric) 및 기능(function)의 이름(데이터 타입: string)을 포함할 수 있다. 기능은 로컬 디바이스가 제공하는 기능 정보를 의미할 수 있다.
[표 1]
표 2는 제2 데이터베이스(DB SERVICE_PROFILE)에 저장되는 서비스 프로파일을 나타낼 수 있다. 서비스 프로파일은 두 가지의 속성(예: 속성 정보 또는 속성 항목)를 포함할 수 있다. 두 가지 속성은 서비스의 이름(예: 서비스 프로파일의 이름)(데이터 타입: string) 및 기능(function)의 이름(데이터 타입: string)(예: 해당 서비스에 필요한 기능)을 포함할 수 있다. 서비스 프로파일은 서비스에 대한 프로파일로, 서비스(예: 서비스 상호연동)를 위해 필요한 기능에 대한 목록일 수 있다.
[표 2]
다양한 실시예에 따르면, 레지스트리 식별자 리졸버(130)는 디스커버리 대상인 타겟 로컬 디바이스에 대한 디바이스 프로파일의 식별정보(예: ID)를 해석하여 타겟 로컬 디바이스와 연결된 디바이스 레지스트리(예: 레지스트리 식별자 리졸버(130)에 등록된 디바이스 레지스트리임)의 연결 정보(또는 위치 정보)(예: URL(uniform resource locator))를 제공할 수 있다. 레지스트리 식별자 리졸버(130)는 디바이스 레지스트리를 관리하기 위한 데이터베이스(DB REGISTRY)(예: 자료구조)를 포함할 수 있다. 데이터베이스(DB REGISTRY)는 디바이스 레지스트리 정보를 저장할 수 있다. 표 3은 데이터베이스(DB REGISTRY)에 저장되는 디바이스 레지스트리 정보를 나타낼 수 있다. 디바이스 레지스트리 정보는 복수의 속성(예: 속성 정보 또는 속성 항목)을 포함할 수 있다. 복수의 속성은 디바이스 레지스트리의 ID(데이터 타입: unsigned numeric), 디바이스 레지스트리의 연결 정보(데이터 타입: string), 및 디바이스 프로파일의 ID(데이터 타입: unsigned numeric)(예: 디바이스 레지스트리에 등록된 로컬 디바이스의 디바이스 프로파일의 ID)을 포함할 수 있다.
[표 3]
다양한 실시예에 따르면, 연결 매니저(150)는 디스커버리 대상인 타겟 로컬 디바이스에 대한 디바이스 프로파일에서 기능별 연결가능 여부를 실시간 모니터링하고, 추가 연결(예: 다음 연결) 가능성 여부를 제공할 수 있다. 연결 매니저(150)는 디스커버리 절차가 끝난 후에 타겟 로컬 디바이스에 대한 연결이 완료되면 타겟 로컬 디바이스에 대한 디바이스 프로파일의 기능에 추가 연결 가능 여부를 등록할 수 있다. 또한, 타겟 로컬 디바이스가 신규(예: 신규 등록)이고 타겟 로컬 디바이스의 기능에 대해 추가 연결 제외를 원하는 경우에, 연결 매니저(150)는 타겟 로컬 디바이스의 해당 기능에 대해서 추가 연결 여부를 미리 불가능으로 설정할 수 있다. 연결 매니저(150)는 타겟 로컬 디바이스의 연결 정보를 위한 데이터베이스(DB AVAILABLE_CONNECTION)(예: 자료구조)를 포함할 수 있다. 표 4는 데이터베이스(DB AVAILABLE_CONNECTION)에 저장되는 연결 정보를 나타낼 수 있다. 연결 정보는 복수의 속성(예: 속성 정보 또는 속성 항목)을 포함할 수 있다. 복수의 속성은 디바이스 프로파일의 ID(데이터 타입: unsigned numeric)(예: 타겟 로컬 디바이스의 디바이스 프로파일의 ID), 기능(function)의 이름(데이터 타입: string)(예: 타겟 로컬 디바이스의 기능), 및 다음 연결에 대한 가용성(데이터 유형: data type: bool (TRUE/FALSE))(예: 기능에 대한 추가 연결 여부)를 포함할 수 있다.
[표 4]
다양한 실시예에 따르면, 디바이스 레지스트리는 동일한 로컬 네트워크(50, 70, 또는 90)(예: 동일한 서브넷) 상에 존재하는 로컬 디바이스를 탐색하여 로컬 디바이스의 디바이스 정보를 등록하고, 신규로 등록된 로컬 디바이스의 디바이스 프로파일을 클라우드 네트워크(30) 내 엔티티들(예: 프로파일 매니저(110), 레지스트리 식별자 리졸버(130), 또는 연결 매니저(150))에 등록할 수 있다. 또한, 디스커버리 절차 시, 디바이스 레지스트리는 디스커버리 대상(예: 타겟 로컬 디바이스)의 프로파일 디바이스의 연결에 대한 정보를 제공할 수 있다. 디바이스 레지스트리는 로컬 디바이스에 대한 최신 정보를 유지하기 위해 타이머를 활용하는데, 타이머를 통해 일정시간이 지나면 등록된 로컬 디바이스가 활성화 상태인지 확인할 수 있다. 디바이스 레지스트리는 디바이스 정보를 저장하기 위한 데이터베이스(DB DEVICE)(예: 자료구조)를 포함할 수 있다. 표 5는 데이터베이스(DB DEVICE)에 저장되는 디바이스 정보를 나타낼 수 있다. 디바이스 정보는 복수의 속성(예: 속성 정보 또는 속성 항목)을 포함할 수 있다. 복수의 속성은 로컬 디바이스의 디바이스 ID(데이터 타입: unsigned numeric), 로컬 디바이스의 연결 정보(데이터 타입: string)(예: URL), 디바이스 프로파일의 ID(데이터 타입: unsigned numeric), 및 타이머(데이터 타입: unsigned numeric)을 포함할 수 있다.
[표 5]
다양한 실시예에 따르면, 로컬 디바이스는 동일한 로컬 네트워크(50, 70, 또는 90)(예: 동일한 서브넷) 상에 연결된 단일 홉 네트워킹이 가능한 디바이스를 의미하며, 동일한 로컬 네트워크(50, 70, 또는 90)의 디바이스 레지스트리에 등록될 수 있다. 로컬 디바이스는 다른 로컬 디바이스의 디스커버리 절차 시 디바이스 레지스트리로부터 디스커버리 요청에 대해 자신의 연결 정보를 응답할 수 있다. 로컬 디바이스는 디바이스 프로파일을 저장하기 위한 데이터베이스(DB DEVCIE_PROFILE)(예: 자료구조)를 포함할 수 있다. 표 6은 데이터베이스(DB DEVCIE_PROFILE)에 저장되는 디바이스 프로파일을 나타낼 수 있다. 디바이스 프로파일은 복수의 속성(예: 속성 정보 또는 속성 항목)을 포함할 수 있다. 복수의 속성은 로컬 디바이스가 가지는 기능의 이름(데이터 타입: string), 기능의 타입(데이터 유형: TYPE_FUNC), 및 남은 연결 자원(remaining connection resource)(데이터 타입: unsigned numeric)을 포함할 수 있다. 표 7은 기능의 타입(TYPE_FUNC)을 나타내는데, 기능의 타입(TYPE_FUNC)은 센서 타입(TYPE_SENSOR), 액츄에이터 타입(TYPE_ACTUATOR), 및 프로세서 타입(TYPE_PROCESSOR)의 3가지 형태로 구분될 수 있다.
[표 6]
[표 7]
도 2는 다양한 실시예에 따른 로컬 디바이스 등록을 설명하기 위한 도면이다.
도 2에서, 로컬 디바이스 등록 절차는 로컬 디바이스 등록 및 프로파일 클라우드 등록을 포함할 수 있다. 도 2에서는 동일한 로컬 네트워크에서 로컬 디바이스와 디바이스 레지스트리 간의 등록 동작을 나타내는 것일 수 있다.
동작 210에서, 디바이스 레지스트리는 로컬 네트워크(50, 70, 또는 90)(예: 동일한 서브넷) 내에서 로컬 디바이스(예: 알 수 없는 로컬 디바이스)를 발견하기(discover) 위한 디스커버리 요청 메시지(DISCOVERY_REQ(NONE)) 동일한 로컬 네트워크(50, 70, 또는 90)(예: 동일한 서브넷) 상에 브로드캐스팅할 수 있다.
동작 220에서, 디스커버리 요청 메시지(DISCOVERY_REQ(NONE))를 수신한 로컬 디바이스는 자신의 디바이스 ID가 포함된 디스커버리 응답 메시지(DISCOVERY_REP(DEVICE_ID))(예: 유니캐스트 메시지)를 디바이스 레지스트리로 회신할 수 있다.
동작 230에서, 디바이스 레지스트리는 디스커버리 응답 메시지(DISCOVERY_REP(DEVICE_ID))를 수신하고, 디바이스 ID와 로컬 디바이스의 연결 정보(예: URL)를 포함하는 레코드(예: 로컬 디바이스에 대응하는 레코드)를 데이터베이스(DB DEVICE)에 등록할 수 있다.
동작 240에서, 디바이스 레지스트리는 등록된(또는 신규 등록된) 로컬 디바이스에 디바이스 프로파일을 요청하는 프로파일 요청 메시지(PROFILE_REQ(DEVICE_ID))(예: 유니캐스트 메시지)를 송신할 수 있다.
동작 250에서, 해당 로컬 디바이스(예: 디바이스 레지스크리에 신규 등록된 로컬 디바이스)는 프로파일 요청 메시지(PROFILE_REQ(DEVICE_ID))에 응답하여 디바이스 프로파일이 포함된 프로파일 응답 메시지(PROFILE_REP(DEVICE_ PROFILE))를 디바이스 레지스트리로 회신할 수 있다. 디바이스 프로파일은 제1 프로파일 ID(예: 임시(tentative) 프로파일 ID)와 기능 명을 포함할 수 있다. 로컬 디바이스는 하나 이상의 디바이스 프로파일에 대해 ID(예: 동일한 하나의 ID)를 가질 수 있으며, 복수 개의 기능을 포함할 수 있다.
동작 260에서, 디바이스 레지스트리는 데이터베이스(DB DEVICE)에 저장된 디바이스 ID에 매칭되는 레코드에 디바이스 프로파일과 타이머를 등록(예: 업데이트)할 수 있다. 디바이스 프로파일은 제1 프로파일 ID(예: 임시(tentative) 프로파일 ID)와 기능 명을 포함할 수 있다. 로컬 디바이스는 하나 이상의 디바이스 프로파일에 대해 ID(예: 동일한 하나의 ID)를 가질 수 있으며, 여러 개의 기능을 포함할 수 있다. 레코드에는 미리 정해진(predefined) 지정 시간의 타이머가 설정될 수 있다.
동작 270에서, 디바이스 레지스트리는 디바이스 프로파일의 클라우드 네트워크(30)에 대한 등록 동작(예: REGISTRY _ADD_REQ, REGISTRY_ADD_ACK)을 시작할 수 있다. 클라우드 네트워크(30)에 대한 등록 동작이 끝나면, 디바이스 프로파일의 ID가 로컬 디바이스에 대해서 제2 프로파일 ID(예: 일반(regular) 프로파일 ID)로 결정되며, 디바이스 레지스트리는 데이터베이스(DB DEVICE)에 제2 프로파일 ID를 최종 등록(예: 업데이트)할 수 있다.
동작 280에서, 디바이스 레지스트리는 제2 프로파일 ID가 포함된 프로파일 확인(confirmation) 메시지(PROFILE_ACK(PROFILE_ID))를 로컬 디바이스로 전송할 수 있다.
동작 290에서, 로컬 디바이스는 자신의 디바이스 프로파일에 대해서 할당된 제2 프로파일 ID를 수신하고, 저장할 수 있다.
도 3은 다양한 실시예에 따른 로컬 디바이스 갱신/해제 동작을 설명하기 위한 도면이다.
도 3에서는 로컬 네트워크에 등록된 로컬 디바이스와 디바이스 레지스트리 간의 갱신/해제 동작을 나타내는 것일 수 있다. 갱신/해제 동작은 등록된 로컬 디바이스가 사라지거나 상호연동할 수 없을 때 수행될 수 있다.
동작 310에서, 디바이스 레지스트리는 등록된 로컬 디바이스에 대해 설정된 타이머가 종료(또는 만료)(expire or out)(예: 갱신)되는지 확인할 수 있다.
동작 315에서, 디바이스 레지스트리는 등록된 로컬 디바이스에 대해 설정된 타이머가 종료(예: 갱신)될 때마다 주기적으로(또는 정기적으로) 디스커버리 요청 메시지(DISCOVERY_REQ(NONE))를 해당 로컬 디바이스에 유니캐스팅 송신할 수 있다.
동작 320에서, 로컬 디바이스는 디스커버리 요청 메시지(DISCOVERY_REQ(NONE))에 응답하여 태스크 종료 여부(예: 상호연동 종료 여부)를 결정할 수 있다. 로컬 디바이스는 더 이상 작업을 수행할 수 없어 비활성화될 시점에 상호연동 종료를 결정할 수 있다.
동작 330에서, 상호연동이 종료되는 경우, 로컬 디바이스(600, 610, 620, 630)는 등록 취소(deregistration)를 위한 프로파일 등록 취소 메시지(PROFILE_RST(PROFILE_ID))(예: 유니캐스트 메시지)를 디바이스 레지스트리로 송신할 수 있다. 프로파일 등록 취소 메시지(PROFILE_RST(PROFILE_ID))는 프로파일 ID(예: 제2 프로파일 ID)를 포함할 수 있다.
동작 340에서, 인터워킹이 종료되지 않은 경우, 로컬 디바이스는 아직 활성화되어 있음을 전달하기 위해 디스커버리 응답 메시지(DISCOVERY_ACK(NONE))를 디바이스 레지스트리로 전송할 수 있다.
동작 350에서, 디바이스 레지스트리는 프로파일 등록 취소 메시지(PROFILE_RST(PROFILE_ID)) 또는 디스커버리 응답 메시지(DISCOVERY_ACK(NONE))의 수신을 확인할 수 있다.
동작 360에서, 디스커버리 응답 메시지(DISCOVERY_ACK(NONE))가 수신된 경우, 디바이스 레지스트리는 타이머를 해당 레코드(예: 로컬 디바이스)의 미리 정의된 특정 시간으로 재설정할 수 있다.
동작 370에서, 프로파일 등록 취소 메시지(PROFILE_RST(PROFILE_ID))가 수신된 경우, 디바이스 레지스트리는 데이터베이스에서 프로파일 ID에 해당하는 레코드를 등록해제(예: 제거, 삭제)할 수 있다. 또한, 프로파일 등록 취소 메시지(PROFILE_RST(PROFILE_ID)) 및/또는 디스커버리 응답 메시지(DISCOVERY_ACK(NONE))가 수신되지 않는 경우에도, 디바이스 레지스트리는 데이터베이스에서 프로파일 ID에 해당하는 레코드를 등록해제(예: 제거, 삭제)할 수 있다. 디바이스 레지스트리는 클라우드 네트워크(30)에 있는 엔티티에 대해 등록 취소 동작을 수행할 수 있다.
도 4는 다양한 실시예에 따른 클라우드 네트워크에 대한 디바이스 프로파일의 등록/해제 동작을 설명하기 위한 도면이다.
디바이스 프로파일의 등록 동작은 동작 410 내지 동작 445을 포함할 수 있다. 로컬 디바이스가 디바이스 레지스트리에 신규 등록되는 시점마다 디바이스 프로파일의 등록 동작이 수행될 수 있다.
동작 410에서, 디바이스 레지스트리는 상호연동을 위해 로컬 네트워크(50, 70, 또는 90)에 조인한 로컬 디바이스가 데이터베이스(DB DEVICE)에 신규 등록되어 있는지 확인할 수 있다.
동작 415에서, 디바이스 레지스트리는 로컬 디바이스가 신규 등록되는 시점마다 레지스트리 추가 요청 메시지(REGISTRY_ADD_REQ(DEVICE_PROFILE))를 레지스트리 식별자 리졸버(130)에게 전송할 수 있다. 레지스트리 추가 요청 메시지(REGISTRY_ADD_REQ(DEVICE_PROFILE))는 디바이스 레지스트리의 ID와 신규 등록된 로컬 디바이스의 디바이스 프로파일을 포함할 수 있다.
동작 420에서, 레지스트리 식별자 리졸버(130)는 수신된 디바이스 프로파일에 대한 정규(regular) 프로파일 ID(예: 제2 프로파일 ID)를 생성하고 할당할 수 있다.
동작 425에서, 레지스트리 식별자 리졸버(130)는 디바이스 레지스트리의 ID 및 연결 정보(예: URL)과 함께 정규 프로파일 ID를 포함하는 레코드를 데이터베이스(DB REGISTRY)에 등록할 수 있다.
동작 430에서, 레지스트리 식별자 리졸버(130)는 프로파일 추가 요청 메시지(PROFILE_ADD_REQ(PROFILE_ID, DEVICE_PROFILE))(예: 유니캐스트 메시지)를 프로파일 매니저(110)로 전송할 수 있다. 프로파일 추가 요청 메시지(PROFILE_ADD_REQ(PROFILE_ID, DEVICE_PROFILE))는 디바이스 프로파일 및 디바이스 프로파일의 정규 프로파일 ID을 포함할 수 있다.
동작 435에서, 프로파일 매니저(110)는 디바이스 프로파일 및 디바이스 프로파일의 정규 프로파일 ID를 포함하는 레코드를 데이터베이스(DB DEVICE_PROFILE)에 등록(예: 신규 등록)할 수 있다.
동작 440에서, 프로파일 매니저(110)는 등록 완료 후 등록 완료를 알리기 위해 프로파일 추가 확인(confirmation) 메시지(PROFILE_ADD_ACK(PROFILE_ID))를 레지스트리 식별자 리졸버(130)로 회신할 수 있다. 프로파일 추가 확인 메시지(PROFILE_ADD_ACK(PROFILE_ID))는 디바이스 프로파일의 정규 프로파일 ID를 포함할 수 있다.
동작 445에서, 레지스트리 식별자 리졸버(130)는 프로파일 추가 확인(confirmation) 메시지(PROFILE_ADD_ACK(PROFILE_ID))에 응답하여 등록 완료를 알리기 위해 레지스트리 추가 확인 메시지(REGISTERY_ADD_ACK(PROFILE_ID))를 디바이스 레지스트리에 회신할 수 있다.
디바이스 프로파일의 해제 동작은 동작 450 내지 동작 480을 포함할 수 있다. 로컬 디바이스가 디바이스 레지스트리에 등록해제되는 시점마다 디바이스 프로파일의 등록해제 동작이 수행될 수 있다.
동작 450에서, 디바이스 레지스트리는 로컬 디바이스가 데이터베이스(DB DEVICE)에 등록 해제되어 있는지 확인할 수 있다. 디바이스 레지스트리는 로컬 디바이스의 디바이스 프로파일이 데이터베이스(DB DEVICE)에 등록해제 되어 있는지 확인하는 것일 수 있다.
동작 455에서, 디바이스 레지스트리는 데이터베이스(DB DEVICE)에 로컬 디바이스에 대응하는 레코드가 삭제(예: 등록 해제)되는 시점마다 레지스트리 삭제 요청 메시지(REGISTRY_DEL_REQ(REG. ID))를 레지스트리 식별자 리졸버(130)로 송신할 수 있다. 레지스트리 삭제 요청 메시지(REGISTRY_DEL_REQ(REGISTRY_ID))는 디바이스 레지스트리의 ID를 포함할 수 있다.
동작 460에서, 레지스트리 식별자 리졸버(130)는 데이터베이스(DB REGISTRY)에서 디바이스 레지스트리의 ID에 대응하는 레코드를 등록해제(예: 제거, 삭제)할 수 있다. 레지스트리 식별자 리졸버(130)는 디바이스 레지스트리의 ID 및 연결 정보(예: URL)와 함께 정규 프로파일 ID를 데이터베이스(DB REGISTRY)에서 등록 해제할 수 있다.
동작 465에서, 레지스트리 식별자 리졸버(130)는 프로파일 삭제 요청 메시지(PROFILE_DEL_REQ(PROFILE_ID))를 프로파일 매니저(110)에 송신할 수 있다. 프로파일 삭제 요청 메시지(PROFILE_DEL_REQ(PROFILE_ID))는 디바이스 프로파일의 정규 프로파일 ID를 포함할 수 있다.
동작 470에서, 프로파일 매니저(110)는 데이터베이스(DB DEVICE_PROFILE)에서 정규 프로파일 ID에 대응하는 레코드를 등록해제(예: 제거, 삭제)할 수 있다. 프로파일 매니저(110)는 디바이스 프로파일 및 디바이스 프로파일의 정규 프로파일 ID를 데이터베이스(DB DEVICE_PROFILE)에서 등록해제할 수 있다.
동작 475에서, 프로파일 매니저(110)는 삭제 완료 후 삭제 완료를 알리기 위해 프로파일 삭제 확인 메시지(PROFILE_DEL_ACK(PROFILE_ID))를 레지스트리 식별자 리졸버(130)로 회신할 수 있다. 프로파일 삭제 확인 메시지(PROFILE_DEL_ACK(PROFILE_ID))는 디바이스 프로파일의 정규 프로파일 ID를 포함할 수 있다.
동작 480에서, 레지스트리 식별자 리졸버(130)는 프로파일 삭제 확인 메시지(PROFILE_DEL_ACK(PROFILE ID))에 응답하여 해제 완료를 알리기 위해 레지스트리 삭제 확인 메시지(REGISTERY_DEL_ACK(REGISTERY_ID))를 디바이스 레지스트리로 회신할 수 있다.
도 5는 다양한 실시예에 따른 디바이스 프로파일 디스커버리 동작을 설명하기 위한 도면이다.
도 5는 클라우드 네트워크(30) 상에 존재하는 연결 매니저(150)를 통해 상호연동 가능한 타겟 로컬 디바이스의 디바이스 프로파일을 탐색하는 동작을 설명하기 위한 것일 수 있다.
동작 510에서, 로컬 디바이스는 서비스 상호연동(예: 협업)을 위해 필요한 기능을 가진 타겟 로컬 디바이스의 디바이스 프로파일을 디스커버리하기 위한 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(DEVICE_PROFILE))를 디바이스 레지스트리로 송신할 수 있다. 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(DEVICE_PROFILE))는 서비스 상호연동(예: 협업)을 요청하는 로컬 디바이스 자신의 디바이스 프로파일을 포함할 수 있다.
동작 515에서, 디바이스 레지스트리는 해당 프로파일ID(예: 정규 프로파일 ID)가 더 포함된 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(PROFILE_ID, DEVICE_PROFILE))를 레지스트리 식별자 리졸버(130)로 송신할 수 있다. 디바이스 레지스트리가 레지스트리 식별자 리졸버(130)로 송신하는 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(PROFILE ID, DEVICE_PROFILE))는 로컬 디바이스의 디바이스 프로파일 및 프로파일 ID를 포함하는 것일 수 있다.
동작 520에서, 레지스트리 식별자 리졸버(130)는 서비스 상호연동에 사용될 관련 디바이스 프로파일에 대한 지능형 디스커버리(예: 지능형 검색)를 위해 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(PROFILE_ID, DEVICE_PROFILE))를 프로파일 매니저(110)로 포워딩할 수 있다.
동작 525에서, 프로파일 매니저(110)는 "(기능 및 서비스) 지능형 디스커버리 동작"(예: SEARCH MATCHED SERVICES & PROFILE)을 수행할 수 있다. "(기능 및 서비스) 지능형 디스커버리 동작"은 디바이스 프로파일을 입력 값으로 사용할 수 있다. 프로파일 매니저(110)는 프로파일 매니저(110)의 데이터베이스에서 일치되는 것을 검색할 수 있다. 프로파일 매니저(110)는 제1 데이터베이스(DB DEVICE PROFILE)에서 제2 데이터베이스(DB SERVICE PROFILE)과 일치하는 모든 관련 디바이스 프로파일을 찾을 때까지 동작 525를 반복 수행할 수 있다.
동작 530에서, 프로파일 매니저(110)는 프로파일 매니저(110)의 데이터베이스에서 일치되는 것이 검색될 때마다 검색된 대상(예: 타겟 로컬 디바이스)의 디바이스 프로파일의 프로파일 ID(예: 정규 프로파일 ID)가 포함된 연결 확인 요청 메시지(VERIFY_CONNECT_REQ((TARGET DEV.) PROFILE_ID, #FUNC)) 메시지를 연결 매니저(150)에 송신할 수 있다.
동작 535에서, 연결 매니저(150)는 자신의 데이터베이스(DB AVAILABLE_CONNECTION)에서 "연결 가능여부 확인 알고리즘"을 통해 해당 디바이스 프로파일(예: 검색된 타겟 로컬 디바이스의 디바이스 프로파일)이 연결 가능한지 여부를 검색할 수 있다. 연결 매니저(150)는 "CHECK AVAILABLE CONNECTION"에 대한 세부 절차를 사용하여 디바이스 프로파일의 ID로 데이터베이스(DB AVAILABLE_CONNECTION)의 결과(출력: TURE/FALSE)를 확인할 수 있다.
동작 540에서, 연결 매니저(150)는 확인 결과가 포함된 연결 확인 응답 메시지(VERIFY_CONNECT_REP((TARGET DEV.) PROFILE_ID, #AVAILALE))를 프로파일 매니저(110)로 회신할 수 있다.
동작 550에서, 프로파일 매니저(110)는 연결 확인 응답 메시지(VERIFY_CONNECT_REP(TARGET DEV., PROF. ID, AVAILALE))에서 확인 결과가 "TRUE" 일 경우에만 디스커버리 프로파일 응답 메시지(DISCOVERY_PROFILE_REP(#SERVICE, #FUNC, PROFFILE_ID))를 레지스트리 식별자 리졸버(130)로 회신할 수 있다. 디스커버리 프로파일 응답 메시지(DISCOVERY_PROFILE_REP(#SERVICE, #FUNC, PROFILE_ID))는 타겟 로컬 디바이스의 정보(예: 서비스명, 기능명, 디바이스 프로파일의 ID)인 "검색된 서비스 명, 기능 명, 프로파일 ID"를 포함할 수 있다.
동작 555에서, 레지스트리 식별자 리졸버(130)는 연결 대상인 타겟 로컬 디바이스의 디바이스 레지스트리의 URL(예: 연결 대상 프로파일 ID를 가진 디바이스를 관리하는 디바이스 레지스트리로 연결을 위한 연결 정보)을 데이터베이스(DB REGISTRY)에서 찾아 디바이스 레지스트리의 URL이 더 추가된 디스커버리 프로파일 응답 메시지(DISCOVERY_PROFILE_REP(REGISTRY_URL, #SERVICE, #FUNC, PROFILE_ID))를 디스커버리 요청한 디바이스 레지스트리로 회신할 수 있다.
동작 560에서, 디바이스 레지스트리는 디스커버리 프로파일 응답 메시지(DISCOVERY_PROFILE_REP(REGISTRY_ URL, #SERVICE, #FUNC, PROFILE_ ID))를 디스커버리 요청한 로컬 디바이스로 포워딩할 수 있다.
동작 565에서, 로컬 디바이스는 타겟 로컬 디바이스가 등록된 디바이스 레지스트리의 URL을 이용하여 타겟 로컬 디바이스의 프로파일 ID가 포함된 디스커버리 디바이스 요청 메시지(DISCOVERY_DEVICE_REQ(PROFILE_ ID))를 타겟 로컬 디바이스를 관리하는 디바이스 레지스트리로 송신할 수 있다. 디스커버리 디바이스 요청 메시지(DISCOVERY_DEVICE_REQ(PROFILE_ID))는 타겟 로컬 디바이스의 정보를 요청하기 위한 것일 수 있다.
동작 570에서, 디바이스 레지스트리는 디스커버리 디바이스 응답 메시지(DISCOVERY_DEVICE_REP(DEVICE_URL))를 디스커버리 요청한 로컬 디바이스로 회신할 수 있다. 디스커버리 디바이스 응답 메시지(DISCOVERY_DEVICE_REP(DEVICE_URL))는 타겟 로컬 디바이스의 URL(즉, 연결을 위한 위치정보)를 포함할 수 있다. 로컬 디바이스는 타겟 로컬 디바이스와 연결 및 상호연동하기 위한 모든 정보를 얻을 수 있다. 이를 수신한 로컬 디바이스는 디바이스간 연결 및 연결 등록 절차를 시작할 수 있다.
도 6은 다양한 실시예에 따른 디바이스 연결 및 연결등록을 설명하기 위한 도면이다.
도 6은 서비스 상호연동을 위해 두 개의 로컬 디바이스가 새로운 연결을 가질 때 연결 상태를 등록하는 절차에 관한 것일 수 있다.
로컬 디바이스는 연결 대상 디바이스 프로파일 탐색 절차를 통해 획득한 타겟 로컬 디바이스와의 연결절차 및 클라우드에 소속된 연결 매니저(150)와의 연결정보 등록 절차를 도 6과 같이 시작할 수 있다.
동작 610에서, 디스커버리 요청 절차를 통해 연결 대상인 타겟 로컬 디바이스의 URL을 획득한 로컬 디바이스는 타겟 로컬 디바이스의 URL을 통해 서비스 상호연동(예: 협업)을 위해 원하는(또는 필요한) 기능이 포함된 디바이스 기능 요청 메시지(DEVICE_FUNC_REQ(#FUNC))를 타겟 로컬 디바이스로 송신할 수 있다.
동작 620에서, 타겟 로컬 디바이스는 요청한 기능에 대해 연결될 준비가 되어 있음을 알리기 위해 디바이스 기능 확인 메시지(DEVICE_FUNC_ACK(#FUNC))를 로컬 디바이스로 회신할 수 있다.
동작 630에서, 각 로컬 디바이스는 상호 연결이 되면, 연결된 기능에 대한 또 다른 연결이 가능한지 여부를 판단할 수 있다. 각 로컬 디바이스는 추가 연결이 가능하면 #AVAILABLE 값에 "TRUE"를 저장하고 불가능하면 "FALSE" 값을 저장할 수 있다.
동작 640에서, 각 로컬 디바이스는 해당 기능에 대한 추가 연결(예: 다른 로컬 디바이스와의 상호연동을 위한 추가 연결)이 가능한지 여부가 포함된 프로파일 추가 등록 요청 메시지(PROFILE_AVAILABLE_REG_REQ(PROFILE_ID, #FUNC, #AVAILABLE))를 연결 매니저(150)에 송신할 수 있다.
동작 650에서, 연결 매니저(150)는 해당 프로파일 ID(예: 정규 프로파일 ID)가 존재할 경우 해당 기능에 대한 추가 연결가능성 여부를 데이터베이스(DB AVAILABLE_CONNECTION)에 업데이트하고, 없으면 신규 항목으로 등록할 수 있다.
동작 660에서, 연결 매니저(150)는 등록이 완료되면 프로파일 추가 등록 확인 메시지(PROFILE_AVAILABLE_REG_ACK(PROFILE ID)) 메시지를 각 로컬 디바이스로 회신함으로써 추가 연결 가능성 여부가 갱신/신규등록 되었음을 알릴 수 있다.
도 7 및 도 8은 다양한 실시예에 따른 디바이스 프로파일을 디스커버리하는 동작의 일 예를 설명하기 위한 도면이다.
도 7 및 도 8에 도시된 바와 같이, 프로파일 매니저(110)는 서비스 상호연동을 위해 디스커버리를 요청한 로컬 디바이스가 가지고 있지 않은 기능을 가진 다른 로컬 디바이스의 프로파일을 디스커버리할 수 있다. 도 7에서, 왼쪽은 제1 데이터베이스(DB DEVICE_PROFILE)의 일 예이고, 오른쪽은 제2 데이터베이스(DB SERVICE_PROFILE)의 일 예일 수 있다.
로컬 디바이스는 특정 목적의 서비스 상호연동(예: 협업)을 위해 연결 가능한 타겟 로컬 디바이스의 프로파일 목록을 요청할 수 있다. 로컬 디바이스는 자신의 디바이스 프로파일을 전송할 수 있다. 프로파일 매니저(110)는 프로파일 목록을 요청한 로컬 디바이스가 상호연동을 위한 타겟 로컬 디바이스의 디바이스 프로파일을 특정하지 않더라도, 프로파일 목록을 요청한 로컬 디바이스의 디바이스 프로파일에 포함된 동일한 기능(FUNC)이 있는 서비스 프로파일을 제2 데이터베이스(DB_SERVICE_PROFILE)에서 검색하여 서비스 목록을 알아내고, 알아낸 서비스 프로파일 상의 기능(FUNC)을 가진 모든 타겟 로컬 디바이스의 디바이스 프로파일을 연결하여 도 8과 같은 트리 형태의 자료 구조를 생성할 수 있다.
예를 들어, 프로파일 목록을 요청한 로컬 디바이스의 디바이스 프로파일 #1과 연관된 서비스 #3이 도 8의자료 구조를 토대로 선택되면, 서비스 #3과 연결된 로컬 디바이스가 가진 프로파일에서 제외한 기능(FUNC) #2와 #3을 가진 타겟 로컬 디바이스를 최종 검색해낼 수 있다. 이렇게 검색된 최종 타겟 로컬 디바이스의 디바이스 프로파일 #3이 FUNC #2와 FUNC #3을 모두 포함하고 있으므로, 로컬 디바이스는디바이스 프로파일 #3에 해당하는 타겟 로컬 디바이스와 연결을 시도할 수 있다.
도 9는 다양한 실시예에 따른 기능 및 서비스 지능형 디스커버리 동작을 설명하기 위한 도면이다.
도 9에서는 도 7과 같은 형태로 기능 목록이 등록 완료됨 가정하며, 프로파일 및 서비스 자료구조 내 속성으로 존재하는 기능 및 서비스 명칭은 일괄적으로 통일된 명칭을 사용함을 가정한다. 기능 및 서비스 명칭들은 편의상 “#FUNC번호” 또는 “#SERVICE번호”로 대체하여 표현한다.
동작 911 내지 동작 918에서, 프로파일 매니저(110)는 디스커버리를 요청한 로컬 디바이스의 디바이스 프로파일을 이용하여 DB_SERVICE_PROFILE에서 서비스 프로파일을 하나씩 검색하면서 기능이 동일한지 확인하여 동일하면 LR_SER 리스트에 해당 서비스들을 모두 저장하는 동작을 수행할 수 있다. 프로파일 매니저(110)는 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(PROFILE ID, DEV. PROFILE))를 레지스트리 식별자 리졸버(130)으로부터 전달받을 수 있다. 프로파일 매니저(110)는 디스커버리 프로파일 요청 메시지(DISCOVERY_PROFILE_REQ(PROFILE ID, DEV. PROFILE))를 이용하여 디바이스 프로파일을 임시 변수(TMP_PF)에 저장하고, 디바이스 프로파일 내 기능을 임시 변수(TMP_FUNC)에 저장하고, DB SERVICE PROFILE에서 첫번째 서비스 항목을 임시 변수(TMP_SER)에 저장할 수 있다. 프로파일 매니저(110)는 수신된 프로파일의 “#FUNC번호”과 일치하는 기능을 포함하는 서비스들은 별도의 임시 변수(LR_SER)에 모두 저장할 수 있다.
동작 921 내지 동작 943에서, 프로파일 매니저(110)는 저장된 LR_SER 리스트에 저장된 서비스 상의 기능과 DB_DEVICE_PROFILE에 저장된 프로파일의 기능들을 하나씩 비교하여 동일하면 추가 연결이 가능한지 확인 (VERIFY_CONNECT_REQ)하여 연결 가능하면 검색된 디바이스 프로파일을 디스커버리를 요청한 로컬 디바이스에게 전달할 수 있다. 프로파일 매니저(110)는 임시 변수(LR_SER)에 저장된 서비스들의 “#FUNC번호”과 DB DEVICE PROFILE에 속한 일치하는 “#FUNC번호”의 디바이스 프로파일들이 확인될 때마다 연결 확인 요청 메시지(VERIFY_CONNECT_REQ(TARGET DEV., PROF. ID, #FUNC))를 연결 매니저(150)에 송신하고, 연결 매니저(150)로부터 연결 가능성 여부 결과가 포함된 연결 확인 응답 메시지(VERIFY_CONNECT_REP(TARGET DEV., PROF. ID, AVAILALE))를 수신할 수 있다. #AVAILABLE 값이 "TRUE"이면, 프로파일 매니저(110)는 해당 서비스명칭, 해당 기능명칭, 해당 프로파일 ID가 포함된 디스커버리 프로파일 응답 메시지(DISCOVERY_PROFILE_REP(#SERVICE, #FUNC, DEV. PROF. ID))는 레지스트리 식별자 리졸부(130)로 회신할 수 있다.
DB DEVICE PROFILE에 등록된 모든 프로파일 일치여부가 확인될 때까지 상술한 동작이 반복될 수 있다.
도 10은 다양한 실시예에 따른 연결 가능 여부 확인 동작을 설명하기 위한 도면이다.
연결 매니저(150)는 프로파일 매니저(110)으로부터 연결 확인 요청 메시지(VERIFY_CONNECT_REQ(일치된 프로파일 ID, “#FUNC번호”))를 수신할 때마다 연결 가능 여부 확인 동작을 수행할 수 있다. 연결 가능 여부 확인 동작은 동작 1011 내지 동작 1025를 포함할 수 있다.
연결 매니저(150)는 수신된 연결 확인 요청 메시지(VERIFY_CONNECT_REQ(TARGET DEV., PROF. ID, #FUNC))가 있을 경우, 디바이스 프로파일 ID 및 해당 기능명칭(“#FUNC번호”)을 각각 임시 변수(IN_PF_ID)와 임시 변수(IN_FUNC)에 저장할 수 있다.
연결 매니저(150)는 DB AVAILABLE_CONNECTION에 등록된 프로파일 ID와 연결된 기능명칭(“#FUNC번호”)이 일치하는 지 검색하여 일치된 기능의 (“#FUNC번호”) 연결가능 여부결과 값을 VERIFY_CONNECT_REP (TARGET DEV. PROF. ID, AVAILALE) 메시지에 포함하여 프로파일 매니저(110)로 회신할 수 있다.
만약, PROFILE_AVAILABLE_REG_REQ(PROFILE ID, #FUNC, #AVAILABLE)메시지를 로컬 디바이스(로부터 수신하면, 연결 매니저(150)는 그 값을 DB AVAILABLE_CONNECTION에 신규등록 혹은 갱신할 수 있다.
그리고, 연결 매니저(150)는 PROFILE_AVAILABLE_REG_ACK (PROFILE ID)메시지를 로컬 디바이스로 회신할 수 있다.
상술한 바와 같이, 다양한 실시예들은 자율형 디바이스 협업을 위한 상호 디바이스 프로파일을 지능형 탐색을 통해 다양한 서비스를 제공함에 있어 효율적인 관리가 가능하다. 예를 들어, 사용자들 간의 요청에 의해 디바이스의 기능이 부족하더라도 인터넷에 연결된 자원적 여유가 있는 디바이스로부터 부족한 기능을 지원 받음으로써 보다 다양한 서비스를 위한 협업이 가능하며, 다양한 서비스 결과를 도출할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 서비스 상호연동을 위한 디바이스 프로파일 관리 방법에 있어서,
    레지스트리 식별자 리졸버가 로컬 디바이스의 디바이스 프로파일의 클라우드 네트워크에 대한 등록 요청을 수신하는 동작;
    레지스트리 식별자 리졸버가 상기 디바이스 프로파일에 대한 정규 프로파일 ID를 생성하는 동작;
    레지스트리 식별자 리졸버가 상기 로컬 디바이스가 등록된 디바이스 레지스트리의 ID 및 연결 정보와 함께 상기 정규 프로파일 ID를 포함하는 레코드를 등록하는 동작;
    프로파일 매니저가 상기 정규 프로파일 ID와 상기 디바이스 프로파일을 포함하는 레코드를 등록하는 동작;
    디바이스 레지스트리가 상기 로컬 디바이스에 대한 타이머를 통해 상기 로컬 디바이스의 활성화 상태를 확인하는 동작; 및
    디바이스 레지스트리가 상기 타이머가 종료될 때마다 상기 로컬 디바이스에 디스커버리 요청 메시지를 송신하는 동작
    을 포함하는, 디바이스 프로파일 관리 방법.
  2. 제1항에 있어서,
    레지스트리 식별자 리졸버가 상기 디바이스 프로파일의 상기 클라우드 네트워크에 대한 등록 완료 후 등록 완료를 알리기 위한 확인 메시지를 회신하는 동작
    을 더 포함하는, 디바이스 프로파일 관리 방법.
  3. 제2항에 있어서,
    디바이스 레지스트리가 상기 확인 메시지에 응답하여 상기 디바이스 레지스트리에 저장된 상기 디바이스 프로파일의 임시 프로파일 ID를 상기 정규 프로파일 ID로 업데이트하는 동작
    을 더 포함하는, 디바이스 프로파일 관리 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    디바이스 레지스트리가 상기 로컬 디바이스로부터 상기 디스커버리 요청 메시지에 대한 디스커버리 응답 메시지를 수신한 경우, 상기 타이머를 재설정하는 동작
    을 더 포함하는, 디바이스 프로파일 관리 방법.
  7. 제6항에 있어서,
    디바이스 레지스트리가 상기 로컬 디바이스로부터 프로파일 등록 취소 메시지를 수신하거나 상기 디스커버리 응답 메시지를 수신하지 않는 경우, 상기 디바이스 프로파일의 상기 클라우드 네트워크에 대한 등록 취소를 수행하는 동작
    을 더 포함하는, 디바이스 프로파일 관리 방법.
KR1020210160454A 2021-04-27 2021-11-19 지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법 KR102599634B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/729,788 US11659049B2 (en) 2021-04-27 2022-04-26 Device and method for remote device profile management/identification for intelligent discovery

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210054356 2021-04-27
KR1020210054356 2021-04-27
KR1020210092478 2021-07-14
KR20210092478 2021-07-14

Publications (2)

Publication Number Publication Date
KR20220147487A KR20220147487A (ko) 2022-11-03
KR102599634B1 true KR102599634B1 (ko) 2023-11-08

Family

ID=84040689

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210160454A KR102599634B1 (ko) 2021-04-27 2021-11-19 지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법
KR1020210160436A KR20220147486A (ko) 2021-04-27 2021-11-19 사물인터넷 디바이스 상호연동을 위한 서비스 프로파일 탐색 및 연결관리 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210160436A KR20220147486A (ko) 2021-04-27 2021-11-19 사물인터넷 디바이스 상호연동을 위한 서비스 프로파일 탐색 및 연결관리 방법

Country Status (1)

Country Link
KR (2) KR102599634B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101770050B1 (ko) 2013-01-25 2017-08-30 어댑티브 스펙트럼 앤드 시그널 얼라인먼트, 인크. 광대역 경험을 향상시키기 위한 클라우드 서비스에 대한 방법 및 장치
KR102084516B1 (ko) 2017-05-31 2020-04-23 한필규 프로파일링 기반의 클라이언트 장치 식별 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190088878A (ko) * 2018-01-19 2019-07-29 한국전자통신연구원 네트워크 기능 프로파일 관리 방법 및 장치
KR20210044404A (ko) * 2019-10-15 2021-04-23 한국전자통신연구원 사물인터넷 정보 관리 시스템 및 그의 사물인터넷 정보 제공 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101770050B1 (ko) 2013-01-25 2017-08-30 어댑티브 스펙트럼 앤드 시그널 얼라인먼트, 인크. 광대역 경험을 향상시키기 위한 클라우드 서비스에 대한 방법 및 장치
KR102084516B1 (ko) 2017-05-31 2020-04-23 한필규 프로파일링 기반의 클라이언트 장치 식별 방법

Also Published As

Publication number Publication date
KR20220147487A (ko) 2022-11-03
KR20220147486A (ko) 2022-11-03

Similar Documents

Publication Publication Date Title
US10148493B1 (en) API gateway for network policy and configuration management with public cloud
US8527987B2 (en) Method and device for installing applications on NFC-enabled devices
TWI577164B (zh) 可縮放位址解析之技術
TW201543243A (zh) 在服務導向架構中的監控能力
KR102158654B1 (ko) 자원 구독 방법, 자원 구독 장치, 및 자원 구독 시스템
CN108494755B (zh) 一种传输应用程序编程接口api请求的方法及装置
KR20160091881A (ko) 무선 통신 시스템에서 특정 리소스의 관리를 위한 방법 및 장치
US11489921B2 (en) Kickstart discovery controller connection command
CA3050205A1 (en) Bulk creation of managed functions in a network that includes virtualized network function
US11140533B2 (en) Enable reliable and distributed M2M/IoT services
US10887249B2 (en) Resource trees by management controller
KR102599634B1 (ko) 지능형 탐색을 위한 원격 디바이스 프로파일 관리/식별 장치 및 방법
CN114650281A (zh) 基于复杂网络的文件下载方法、装置、设备及存储介质
US10764724B2 (en) Method and apparatus for implementing member resource processing
US20200186463A1 (en) Method and system for name-based in-networking processing
US11659049B2 (en) Device and method for remote device profile management/identification for intelligent discovery
US11671507B2 (en) Service profile discovery and connection management method for interworking with IoT device
US11240312B2 (en) Apparatus and method of providing IoT resource information
US9270772B2 (en) System and method for providing access to presence status for mobile devices
KR20220103025A (ko) M2m 시스템에서 보안 키를 교체하기 위한 방법 및 장치
US20150282121A1 (en) Local resource sharing method of machine to machine component and apparatus thereof
KR20200130151A (ko) M2m 시스템에서 서비스 엔티티를 확인하기 위한 방법 및 장치
JP2020098483A (ja) 情報処理システム、方法およびプログラム
WO2014176954A1 (zh) 分布式存储系统的数据的处理方法、装置及系统
WO2018120222A1 (zh) 一种管理vnffg的方法、装置和系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right