KR101984120B1 - 서비스 레이어 세션 마이그레이션 및 공유 - Google Patents

서비스 레이어 세션 마이그레이션 및 공유 Download PDF

Info

Publication number
KR101984120B1
KR101984120B1 KR1020177010525A KR20177010525A KR101984120B1 KR 101984120 B1 KR101984120 B1 KR 101984120B1 KR 1020177010525 A KR1020177010525 A KR 1020177010525A KR 20177010525 A KR20177010525 A KR 20177010525A KR 101984120 B1 KR101984120 B1 KR 101984120B1
Authority
KR
South Korea
Prior art keywords
session
service layer
node
information
context
Prior art date
Application number
KR1020177010525A
Other languages
English (en)
Other versions
KR20170056013A (ko
Inventor
데일 엔. 시드
광 루
리쥔 둥
훙쿤 리
쉬 리
윌리엄 로버트 4세 플린
카탈리나 엠. 믈라딘
필립 브라운
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 콘비다 와이어리스, 엘엘씨
Publication of KR20170056013A publication Critical patent/KR20170056013A/ko
Application granted granted Critical
Publication of KR101984120B1 publication Critical patent/KR101984120B1/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/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

기존 M2M 서비스 레이어 세션들의 마이그레이션 또는 공유를 위한 방법들, 디바이스들, 및 시스템들이 개시된다. 일 실시예에서, SMSF(Session Migration and Sharing Function)는 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 수행한다. M2M 서비스 레이어 세션들의 마이그레이션 및 공유를 가능하게 하기 위해 다양한 형태의 서비스 레이어 세션 컨텍스트가 사용될 수 있다.

Description

서비스 레이어 세션 마이그레이션 및 공유{SERVICE LAYER SESSION MIGRATION AND SHARING}
<관련 출원들에 대한 상호 참조>
본 출원은 2014년 9월 19일자로 출원된 US62/052,535호에 대한 우선권, 및 이익을 주장하며, 그 개시내용은 전부가 본 명세서에 참조로 통합된다.
<배경기술>
통신 세션은 2개 이상의 통신 엔티티들(예를 들어, 디바이스들, 애플리케이션들 등) 사이의 지속적인 상호작용적 정보의 교환을 포함할 수 있다. 통신 세션이 특정 시점에서 수립되고, 이후의 시점에서 다양한 상황들에 기초하여(예를 들어, 세션 타임들이 아웃된 후에 또는 엔티티들 중 하나가 세션을 종료하기로 결정할 때) 해제된다(torn down). 통신 세션은 엔티티들 사이의 다수의 메시지들의 교환을 포함할 수 있고 상태 저장이 가능할 수 있으며(stateful), 이는 통신하는 엔티티들 중 적어도 하나가 통신 세션을 유지할 수 있도록 세션 이력에 관한 정보를 저장하는 것 - 예를 들어, 세션 참가자들에게 적용될 수 있는 접속성, 등록, 보안, 스케줄링 및 데이터와 같은 세션 컨텍스트를 유지하는 것을 의미한다.
통신 세션은 네트워크 프로토콜 스택에서의 다양한 레이어들에서 프로토콜들 및 서비스들의 일부로서 구현될 수 있다. 예를 들어, 전송 프로토콜 레이어(예를 들어, TCP 접속), 세션 프로토콜 레이어(예를 들어, TLS 및 DTLS 세션들), 웹 전송 프로토콜 레이어(예를 들어, HTTP 및 CoAP 세션들), M2M(machine-to-machine)/IoT(Internet of Things) 서비스 레이어에서, 및 애플리케이션 레이어(예를 들어, 애플리케이션 특정 세션들)에서의 네트워크 노드들 사이에 통신 접속들/세션들이 수립될 수 있다. 본 출원은 주로 M2M/IoT 서비스 레이어 세션들을 타겟으로 하는 특징들에 관한 것이다.
종래의 애플리케이션 세션은 기본 통신 프로토콜 또는 서비스 레이어에 의해서 보다는 애플리케이션들 자체에 의해 수립되고 관리되는 2개 이상의 애플리케이션들 사이의 통신 세션이다. 그 결과, 애플리케이션 세션들은 애플리케이션들에 추가의 오버헤드 및 복잡도를 부가할 수 있다.
M2M(machine-to-machine) 서비스 레이어는 M2M 타입 디바이스들 및 애플리케이션들에 대한 부가 가치 서비스들을 제공한다. 예를 들어, M2M 서비스 레이어는 애플리케이션들 및 디바이스들에게 서비스 레이어에 의해 지원되는 M2M 중심 능력들의 집합체(collection)에 대한 액세스를 제공하는 API들(Application Programming Interfaces)을 지원할 수 있다. 몇몇 예들은 보안, 과금, 데이터 관리, 디바이스 관리, 발견, 공급, 및 접속성 관리를 포함한다. 이러한 능력들은 M2M 서비스 레이어에 의해 정의되는 메시지 포맷들, 자원 구조들, 및 자원 표현들을 사용하는 API들을 통해 애플리케이션들에 이용가능하게 된다.
M2M 서비스 레이어 세션은 M2M 서비스 레이어에 의해 지원되는 부가 가치 세션 관리 서비스들에 의해 촉진되는 통신 세션이다. 이러한 서비스들은 참가자들 사이의 서비스 레이어 세션을 수립하는 것뿐만 아니라 서비스 레이어 세션 및 그 참가자들에 관련된 컨텍스트를 수집하고 유지하는 메커니즘들과 같은 능력들을 포함할 수 있다. 이러한 참가자들이 M2M 애플리케이션들 및/또는 M2M 서비스 레이어 인스턴스들일 수 있는 2 이상의 M2M 서비스 레이어 세션 참가자들 사이에 서비스 레이어 세션이 수립될 수 있다. 그러나 최소한, M2M 서비스 레이어의 적어도 하나의 인스턴스는 서비스 레이어 세션의 촉진자로서 기능하기 위해 (즉, 필요한 서비스 레이어 세션 관리 기능성을 제공하기 위해) 세션에 참가해야 한다.
M2M 서비스 레이어 세션들의 한 가지 이점은 자신들의 애플리케이션 기반 세션들을 수립하고 유지해야 하는 부담으로부터 애플리케이션들을 오프로드(offload)하는데 이들이 사용될 수 있다는 것이다. 이것은 세션을 수립하고 유지하는데 수반되는 오버헤드의 예봉(brunt)이 M2M 서비스 레이어에 오프로드되어서 M2M 애플리케이션들이 이러한 책임으로 부담을 받지 않는다는 점에서 M2M 서비스 레이어 세션이 애플리케이션 세션과 다르기 때문이다. 서비스 레이어에 오프로드될 수 있는 오버헤드의 일부 예들은 자격증명들, 식별자들, 라우팅 정보, 발견 정보, 위치, 트랜잭션 이력, 및 데이터와 같은 세션 컨텍스트의 생성 및 관리를 포함할 수 있다. 다른 이점은 하나 이상의 기본 전송 또는 액세스 네트워크 통신 세션들 위에 M2M 서비스 레이어 세션이 계층화될 수 있다는 것이다. 일부 예들은 이에 제한되는 것은 아니지만 웹 전송 프로토콜 세션(예를 들어, HTTP 세션), 세션 레이어 세션들(예를 들어, TLS 세션), 또는 전송 레이어 접속들(예를 들어, TCP)을 포함한다. 이러한 계층화는 M2M 서비스 레이어 세션이 하위 레이어 세션들과 관련하여 지속성을 지원하게 하여 M2M 서비스 레이어 세션은 하위 레이어 세션들의 셋업 및 해제(tear down)와 독립적으로 지속되고 유지될 수 있다. 예를 들어, M2M 서비스 레이어 세션은, 정상적인 네트워크 통신 과정 동안 (예를 들어, 절전 방법들 및 이동성으로 인해) 상당히 통상적인, 그 기본 TCP/TLS 세션들이 반복적으로 셋업되고 해제되더라도 지속될 수 있다.
세션 참가자들 사이의 M2M 서비스 레이어 세션의 수립은 서비스 레이어 등록 프로세스의 일부로서 또는 그 이후의 별도의 프로세스로서 착수될 수 있다. 일단 수립되면, 서비스 레이어 세션은 세션 참가자들 및 이들 사이에서 발생하는 통신에 관한 서비스 레이어 컨텍스트를 수집하고 유지하는데 사용될 수 있다. 예를 들어, 세션 참가자들의 등록 상태 및 보안 자격증명, 세션 참가자들에 대한 가입 기준 및 연락처 정보, 서비스 레이어 자원들에 저장되는 세션 참가자 데이터, 및 세션 참가자들에 의해 수행되는 트랜잭션들의 이력과 같은 서비스 레이어 세션 컨텍스트가 각각의 세션에 대해 수집 및 유지될 수 있다. 세션 참가자들 사이의 M2M 서비스 레이어 세션의 종료는 서비스 레이어 등록 취소 프로세스의 일부로서 또는 등록 취소가 발생되기 전에 수행되는 별도의 프로세스로서 착수될 수 있다.
특정 서비스 레이어 세션의 수명 동안 서비스 레이어 세션 컨텍스트의 축적뿐만 아니라 서비스 레이어 세션의 수립은 세션 참가자들 대신에 상당량의 시간 및 노력을 수반할 수 있다. 따라서, 서비스 레이어 세션의 지속적인 특성은 이러한 지속성이 없는 하위 레이어 전송 및 액세스 네트워크 세션들에 비해 그 주요 부가 가치 차별화 엘리먼트들 중 하나이다. 지속적 서비스 레이어 세션은 애플리케이션들 대신에 서비스 레이어 세션 컨텍스트를 유지하는데 사용할 수 있어서, 그들은 이러한 정보를 자체적으로 유지할 필요가 없다. 또한, 하위 레이어 접속/세션이 해제될 때 서비스 레이어 세션 컨텍스트가 지속될 수 있으며, 하위 레이어 접속이 다시 수립될 때, 이러한 컨텍스트가 애플리케이션에 여전히 이용가능할 것이다. 따라서 이러한 컨텍스트는 비-지속적인 기본 전송 세션들과 독립적으로 유지될 수 있다. 서비스 레이어 세션 컨텍스트의 일부 예들은 애플리케이션들에 대한 서비스 레이어 등록들, 가입들, 자격증명들, 식별자들, 과금 기록들, 라우팅 정보, 발견 정보, 위치, 트랜잭션 이력, 및 데이터를 포함할 수 있다.
기존 M2M 서비스 레이어들은 하나의 서비스 레이어 인스턴스로부터 다른 서비스 레이어 인스턴스로 M2M 서비스 레이어 세션 컨텍스트를 마이그레이션하거나 공유하기 위한 지원이 부족하다. 유사하게 이들은 M2M 애플리케이션 인스턴스들 사이에 M2M 서비스 레이어 세션 컨텍스트를 마이그레이션하거나 공유하기 위한 지원 또한 부족한다. 이러한 기능성의 부족은 M2M 서비스 레이어가 모바일 세션 참가자들과 관련된 사용 사례들, 할당된 새로운 IP 어드레스들을 취득하는 것과 같은 세션 참가자들 어드레스에서의 변경들, 또는 새로운 세션 참가자들과 서비스 레이어 세션들을 공유하는 것과 관련된 사용 사례들에 대한 서비스 레이어 세션들의 지속성을 지원하지 못하게 한다.
본 명세서에는 하나 이상의 세션 참가자들과 기존 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 위한 방법들, 디바이스들, 및 시스템들이 개시된다. 일 실시예에서, SMSF(Session Migration and Sharing Function)는 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 수행한다. 또한, M2M 서비스 레이어 세션들의 마이그레이션 및 공유를 가능하게 하기 위해 다양한 형태의 서비스 레이어 세션 컨텍스트가 사용될 수 있다.
본 내용은 아래 상세한 설명에서 추가로 설명되는 개념들의 선택을 단순화된 형태로 소개하도록 제공된다. 본 내용은 청구 대상의 주요한 특징들 또는 필수 특징들을 식별하기 위한 의도가 아니며, 청구 대상의 범위를 제한하기 위해 사용될 의도도 아니다. 또한, 청구 대상은 본 개시내용의 임의의 부분에서든 언급되는 임의의 또는 모든 단점들을 해결하는 제한사항들에 제한되는 것은 아니다.
첨부 도면들과 연계하여 예에 의해 주어지는 이하의 설명으로부터 더 상세한 이해를 가질 수 있을 것이다.
도 1a는 네트워크 프로토콜 스택에서의 다양한 레이어들의 예를 도시한다.
도 1b는 예시적인 E2E(end-to-end) M2M(machine-to-machine) 서비스 레이어 세션을 도시한다.
도 2는 도 1b의 E2E M2M 서비스 레이어 세션을 추가적 상세사항들과 함께 도시한다.
도 3은 도 1b의 E2E M2M 서비스 레이어 세션들을 또 다른 상세사항들과 함께 도시한다.
도 4는 세션 자격증명 기능 부트스트래핑의 예시적인 방법을 도시한다.
도 5는 E2E M2M 서비스 레이어 세션 관리자에 대한 기능적 아키텍처를 도시한다.
도 6은 예시적인 E2E M2M 서비스 레이어 세션 수립 호출 흐름을 도시한다.
도 7은 다수의 경로들을 갖는 2개의 세션 종단점들 사이의 예시적인 서비스 레이어 세션을 도시한다.
도 8은 세션 종단점에 대한 기능적 아키텍처를 도시한다.
도 9는 세션 관리자의 oneM2M 실시예를 도시한다.
도 10a는 oneM2M SMG(session management) 서비스에 대한 E2E M2M 서비스 레이어 세션 수립 프로시저를 도시한다.
도 10b는 도 10a로부터 계속되는 oneM2M SMG(session management) 서비스에 대한 E2E M2M 서비스 레이어 세션 수립 프로시저를 도시한다.
도 11a는 oneM2M SMG 서비스에 대한 세션 사용 프로시저를 도시한다.
도 11b는 도 11a로부터 계속되는 oneM2M SMG 서비스에 대한 세션 사용 프로시저를 도시한다.
도 12는 oneM2M SMG 서비스에 대한 예시적인 M2M 세션 종료 프로시저를 도시한다.
도 13은 자원 "sessions"를 도시한다.
도 14는 CSE Base URI 아래에 있는 sessions 자원 인스턴스화를 도시한다.
도 15는 application 자원 아래에 있는 sessions 자원 인스턴스화를 도시한다.
도 16은 자원 <session>을 도시한다.
도 17은 자원 sessionEndpoints를 도시한다.
도 18은 자원 <sessionEndpoint>를 도시한다.
도 19는 자원 nextHops를 도시한다.
도 20은 자원 <nextHop>를 도시한다.
도 21은 자원 sessionPolicies를 도시한다.
도 22는 자원 <sessionPolicy>를 도시한다.
도 23은 자원 sessionContext를 도시한다.
도 24는 자원 <sessionContextInstance>를 도시한다.
도 25는 M2M 세션 마이그레이션 또는 공유를 위한 예시적인 사용 사례를 도시한다.
도 26은 M2M 세션 마이그레이션 또는 공유를 위한 다른 예시적인 사용 사례를 도시한다.
도 27은 M2M 서비스 레이어 세션 마이그레이션의 일 예를 도시한다.
도 28은 M2M 서비스 레이어 세션 공유의 일 예를 도시한다.
도 29는 네트워크의 노드의 서비스 레이어 인스턴스의 일부로서 구현되는 SMSF(Session Migration and Sharing Function)의 일 실시예를 도시한다.
도 30은 하나 이상의 장래의 세션 참가자들과의 기존 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 위한 방법의 일 실시예를 도시한다.
도 31은 oneM2M 아키텍처에 따라 CSE(Capability Services Entity) 내의 SSM(Service Session Management) CSF(Capability Service Function)의 일부로서 구현되는 SMSF의 일 실시예를 도시한다.
도 32는 일 실시예에 따른 oneM2M <session> 자원 구조의 변형을 도시한다.
도 33은 일 실시예에 따른 oneM2M <sessionPolicy> 자원 구조의 변형을 도시한다.
도 34는 일 실시예에 따른 oneM2M <sessionContext> 자원 구조의 변형을 도시한다.
도 35는 일 실시예에 따라 <sessionParticipant> 자원 구조에 링크되는 <sessionContext> 자원 구조를 도시한다.
도 36a 내지 도 36c는 oneM2M 서비스 레이어 세션을 마이그레이션하기 위한 방법의 일 실시예를 도시한다.
도 37a는 하나 이상의 개시되는 실시예들이 구현될 수 있는 예시적인 M2M(machine-to-machine), IoT(Internet of Things) 또는 WoT(Web of Things) 통신 시스템의 시스템 도면이다.
도 37b는 도 37a에 도시되는 M2M/IoT/WoT 통신 시스템 내에서 사용될 수 있는 예시적인 아키텍처의 시스템 도면이다.
도 37c는 도 37a에 도시되는 통신 시스템 내에서 사용될 수 있는 예시적인 M2M/IoT/WoT 단말 또는 게이트웨이 디바이스의 시스템 도면이다.
도 37d는 도 37a의 통신 시스템의 양상들이 구현될 수 있는 예시적인 컴퓨팅 시스템의 블록도이다.
도 38은 사용자가 엔드-투-엔드 세션 마이그레이션 정책을 대화식으로 구성하고 관리하게 하도록 구현될 수 있는 그래픽 사용자 인터페이스의 일 실시예를 도시한다.
위에 언급된 바와 같이, 통신 세션들은 네트워크 프로토콜 스택에서의 다양한 레이어들에서 프로토콜들 및 서비스들의 일부로서 구현될 수 있다. 예를 들어, 도 1a에 도시되는 바와 같이, 전송 프로토콜 레이어(50)(예를 들어, TCP 접속), 세션 프로토콜 레이어(52)(예를 들어, TLS 및 DTLS 세션들), 웹 전송 프로토콜 레이어(54)(HTTP 및 CoAP 세션들), M2M(machine-to-machine)/IoT(Internet of Things) 서비스 레이어(56)에서, 및 애플리케이션 레이어(58)(예를 들어, 애플리케이션-특정 세션들)에서의 네트워크 노드들 사이에 통신 접속들/세션들이 수립될 수 있다. 본 출원은 주로 M2M/IoT 서비스 레이어(56)에서 세션들을 타겟으로 하는 특징에 관한 것이다.
예를 들어, ETSI TS 102 690 1.1.1(2011-10)에 설명되는 ETSI(European Telecommunications Standards Institute) M2M 아키텍처, oneM2M-TS-0001 oneM2M Functional Architecture-V-0.1.2에 설명되는 oneM2M 아키텍처, 3GPP(Third Generation Partnership Project)에 의해 개발된 MTC(machine-type communication) 아키텍처, 및 OMA(Open Mobile Alliance)에 의해 개발된 LWM2M(Lightweight M2M architecture)를 포함하는 다수의 M2M(machine-to-machine) 통신 아키텍처들이 제안되어 왔다. 이러한 아키텍처들 각각은 API들(Application Programming Interfaces) 및 기본 네트워킹 인터페이스들의 세트를 통해 부가 가치 서비스 능력들을 지원하는 소프트웨어 미들웨어 레이어인 서비스 레이어를 정의한다. ETSI M2M의 서비스 레이어는 SCL(Service Capability Layer)이라고 지칭된다. SCL은 M2M 디바이스(여기서 이것은 DSCL(Device SCL)이라고 지칭됨), 게이트웨이(여기서 이것은 GSCL(gateway SCL)이라고 지칭됨) 및/또는 네트워크 노드(여기서 이것은 NSCL(network SCL)이라고 지칭됨) 내에 구현될 수 있다. oneM2M 서비스 레이어는 일 세트의 CSF들(Common Service Functions)(즉, 서비스 능력들)을 지원한다. CSF들 중의 일 세트의 하나 이상의 특정 타입들의 인스턴스화는 상이한 타입들의 네트워크 노드들(예를 들어, 인프라스트럭처 노드, 미들 노드, 애플리케이션 특정적 노드) 상에 호스팅될 수 있는 CSE(Common Services Entity)라고 지칭될 수 있다. 3GPP MTC 아키텍처에서, 이것이 제공하는 서비스 레이어, 및 서비스 능력들은 SCS(Service Capability Server)의 일부로서 구현된다. ETSI M2M 아키텍처의 DSCL, GSCL, 또는 NSCL에서, 3GPP MTC 아키텍처의 SCS(Service Capability Server)에서, oneM2M 아키텍처의 CSF 또는 CSE에서, 또는 다른 M2M 아키텍처의 일부 다른 컴포넌트 또는 모듈로서, 구체화되든 간에, 서비스 레이어는 서버들, 컴퓨터들, 또는 다른 컴퓨팅 디바이스들과 같은 네트워크의 하나 이상의 독립형 노드들 상에 실행되는 논리적 엔티티(예를 들어, 소프트웨어, 컴퓨터 실행가능 명령어들 등)로서, 또는 이러한 네트워크의 하나 이상의 기존 노드들의 일부로서 구현될 수 있다. 예로서, 서비스 레이어 또는 그 컴포넌트는 이하 설명되는 도 37c 또는 도 37d에 도시되는 일반적인 아키텍처를 갖는 노드 또는 컴퓨팅 시스템 상에서 실행되는 소프트웨어 형태로 구현될 수 있다.
기존 M2M 서비스 레이어들은 하나의 서비스 레이어 인스턴스로부터 다른 서비스 레이어 인스턴스로 M2M 서비스 레이어 세션 컨텍스트를 마이그레이션하거나 공유하기 위한 지원이 부족하다. 유사하게 이들은 M2M 애플리케이션 인스턴스들 사이에 M2M 서비스 레이어 세션 컨텍스트를 마이그레이션하거나 공유하기 위한 지원 또한 부족한다. 이러한 기능성의 부족은 M2M 서비스 레이어가 모바일 세션 참가자들과 관련된 사용 사례들, 할당된 새로운 IP 어드레스들을 취득하는 것과 같은 세션 참가자들 어드레스에서의 변경들, 또는 새로운 세션 참가자들과 서비스 레이어 세션들을 공유하는 것과 관련된 사용 사례들에 대한 서비스 레이어 세션들의 지속성을 지원하지 못하게 한다.
M2M 서비스 세션 컨텍스트를 마이그레이션하기 위한 지원의 부족은 M2M 센서들에 대한 제한들 또는 오버헤드를 또한 생성할 수 있다. 예를 들어, 처음부터 M2M 서비스 레이어 세션을 수립하는 것은, 이에 제한되는 것은 아니지만, 서비스 레이어에 등록하고, 그 센서 판독들을 저장하기 위해 컨테이너 자원들을 생성하고, 관심이 있는 통지들을 수신하기 위해 서비스 레이어로의 가입들을 생성하고, 서비스 레이어 내의 이벤트 생성 조건들을 구성하고, 서비스 레이어 내에 메시지 전달 및 취급 정책들을 구성하기 위한 요청들을 포함할 수 있는 상당 수의 M2M 서비스 레이어 요청들을 수반할 수 있다. 서비스 레이어 인스턴스들 사이의 서비스 레이어 세션 컨텍스트의 마이그레이션 및 공유를 지원함으로써, M2M 센서들에 대한 이러한 오버헤드가 최소화될 수 있다.
M2M 서비스 세션 컨텍스트를 마이그레이션하기 위한 지원의 부족은 M2M 애플리케이션들에 대한 제한들 또는 오버헤드를 또한 생성할 수 있고, M2M 서비스 세션 컨텍스트를 마이그레이션하기 위한 지원의 부족은 M2M 서비스 레이어들이 서비스 레이어 데이터의 마이그레이션/공유와 같은 부가 가치 서비스들(예를 들어, 자원 표현들)을 데이터를 액세스하고 사용하고 있는 애플리케이션들에 더 가까운 서비스 레이어 인스턴스들에 제공하는 것을 또한 방지할 수 있다.
본 명세서에는 하나 이상의 세션 참가자들과의 기존 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 위한 방법들, 디바이스들, 및 시스템들이 개시된다.
예시적인 서비스 레이어 세션 관리 메커니즘들
아래의 서비스 레이어 세션 마이그레이션 및 공유를 논의하기 전에, M2M 서비스 레이어에서 E2E(end-to-end) 세션 지원을 제공하기 위한 예시적인 메커니즘들이 도 1 내지 도 24를 참조하여 아래에 제공된다. 그러나, 이하 설명되는 서비스 레이어 세션 마이그레이션 및 공유 개념들은 본 섹션에 개시되는 서비스 레이어 세션 메커니즘들에 결코 제한되지 않는다는 점이 이해된다. 오히려, 이러한 메커니즘들은 서비스 레이어 세션들이 구현될 수 있는 방법의 일 예로서 단지 제공된다.
E2E M2M 서비스 레이어 세션들(서비스 레이어 세션들)은 M2M 서비스 레이어가, 데이터 집계 및 데이터 분석과 같은, 다른 부가 가치 세션 기능 중에서, 엔드-투-엔드 보안 서비스들, 서비스 기능성의 엔드-투-엔드 품질, 설정들 또는 구성의 엔드-투-엔드 협상에 참가하게 하는 세션들이다. 본 명세서(예를 들어, 도 4, 도 5, 및 전체)에서 논의되는 방법들 및 기능적 아키텍처들은 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 기능적 아키텍처들은 단일의 디바이스 상에서 구현되거나 다수의 디바이스들 사이에 분산될 수 있다. 디바이스들은 도 37a 내지 도 37d와 관련하여 이하 설명되는 바와 같은 디바이스들 중 하나 이상일 수 있다.
추가적 관점에 대해, 도 1b는 다수의 홉들에 걸쳐 있는 예시적인 E2E M2M 서비스 레이어 세션들을 도시한다. 도 1b에 도시되는 바와 같이, M2M 디바이스(110)는 M2M 애플리케이션(111)을 포함할 수 있다. M2M 애플리케이션(111)은 M2M 네트워크 애플리케이션(115)(태블릿, 서버, 개인용 컴퓨터, 또는 스마트폰과 같은 디바이스 상에 있을 수 있는 종단점 M2M 애플리케이션)과의 E2E M2M 서비스 레이어 세션에 관여될 수 있다. M2M 애플리케이션(111)의 M2M 서비스 레이어 세션은 다수의 홉들(홉(130) 및 홉(131))을 포함하고, M2M 서버(118) 상에 위치되는 M2M 서비스 레이어 인스턴스(123)에 의해 용이하게 된다.
도 1b는 2개의 M2M 서비스 레이어 인스턴스들(하나는 M2M 서버 상에서 호스팅되고 다른 것은 M2M 게이트웨이 상에서 호스팅됨)에 의해 용이하게 되는 서비스 레이어 세션의 일 예를 또한 도시한다. 도 1b에 도시되는 바와 같이, M2M 디바이스(112)의 M2M 애플리케이션(113)은 M2M 네트워크 애플리케이션(115)과의 E2E M2M 서비스 레이어 세션에 관여될 수 있다. M2M 애플리케이션(113)의 M2M 서비스 레이어 세션은 다수의 홉들(홉(132, 133) 및 홉(134))을 포함하고, 다수의 M2M 서비스 레이어 인스턴스들(M2M 게이트웨이(114)의 M2M 서비스 레이어 인스턴스(121), 및 M2M 서버(118)의 M2M 서비스 레이어 인스턴스(123))에 의해 용이하게 된다. M2M 서비스 레이어 인스턴스(121) 및 M2M 서비스 레이어 인스턴스(123)는 E2E M2M 서비스 레이어 세션을 관리하기 위해(예를 들어, 세션을 수립하거나 세션을 해제하기 위해) 서로 통신할 수 있다.
도 1b는 2개의 M2M 게이트웨이들 사이의 세션에 관여되는 서비스 레이어 세션을 또한 도시한다. 도 1b에 도시되는 바와 같이, M2M 게이트웨이(116)의 M2M 서비스 레이어 인스턴스(125)는 M2M 게이트웨이(114)의 M2M 서비스 레이어 인스턴스(121)와의 M2M 서비스 레이어 세션에 있다. M2M 서비스 레이어 인스턴스(125)의 M2M 서비스 레이어 세션은 다수의 홉들(홉(136) 및 홉(135))을 포함하고, M2M 서버(118)의 M2M 서비스 레이어 인스턴스(123)에 의해 용이하게 된다. E2E M2M 서비스 레이어 세션들에 대한 추가적 예들(도시되지 않음)이 가능하다. 예를 들어, 서로로부터 다수의 서비스 레이어 홉들만큼 떨어져 있는 2개의 M2M 서버들 사이에 E2E M2M 서비스 레이어 세션이 있을 수 있다. 다른 예는 M2M 서비스 레이어를 통해 흐르지 않지만 M2M 서비스 레이어에 의해 용이하게 되는, 2개의 종단점 애플리케이션들 사이의 직접 E2E 세션을 포함할 수 있다. 환언하면, 서비스 레이어는 애플리케이션들이 서로를 발견하고 자격증명들을 동적으로 공급하기 위해 사용할 수 있는 애플리케이션 발견 및 E2E 세션 자격증명 설정 서비스들을 제공할 수 있다. 또 다른 예로서, M2M 서비스 레이어 세션은 디바이스 상의 M2M 애플리케이션과 M2M 게이트웨이 상의 M2M 서비스 레이어 인스턴스 사이에 직접 수립될 수 있다. 다른 예로서, M2M 서비스 레이어 세션은 M2M 게이트웨이 상의 M2M 서비스 레이어 인스턴스와 M2M 서버 상의 서비스 레이어 인스턴스 사이에 직접 수립될 수 있다. 또 다른 예로서, 예를 들어, 하나 이상의 M2M 게이트웨이들 또는 서버들 상에 하나, 둘 또는 그 이상의 M2M 서비스 레이어 인스턴스들이 걸칠 수 있는, 다수의 디바이스들 상의 3개 이상의 M2M 애플리케이션들 사이에 M2M 서비스 레이어 세션이 수립될 수 있다.
이하에서 보다 상세히 설명되는 바와 같이, 서비스 레이어 세션들을 지원하기 위해, 다음과 같은 M2M 서비스 레이어 아키텍처 엘리먼트들 중 하나 이상이 존재할 수 있다: E2E M2M 서비스 레이어 세션 관리자 기능(세션 관리자 기능), E2E M2M 서비스 레이어 세션 종단점 기능(세션 종단점 기능), E2E M2M 서비스 레이어 세션 자격증명 부트스트래핑 기능(세션 자격증명 기능), M2M 서비스 레이어 세션 상태(세션 상태), 및 E2E M2M 서비스 레이어 세션 인터페이스들(세션 인터페이스). 도 2는 전술한 M2M 서비스 레이어 아키텍처 엘리먼트들을 포함하는 도 1b에서의 M2M 세션의 예시이다. 세션 종단점 기능(140), 세션 종단점 기능(149), 및 세션 종단점 기능(148)과 같은 M2M 세션 종단점 기능들은, 각각, M2M 디바이스(110), M2M 서버(118), 및 M2M 네트워크 애플리케이션(115)에 존재할 수 있다. 본 명세서에서 보다 상세히 논의되는 바와 같이, 세션 종단점 기능은 M2M 애플리케이션 또는 M2M 서비스 레이어 인스턴스가 서비스 레이어 세션에 참가할 수 있게 한다. 세션 종단점 기능은 세션 관리자와 상호작용한다.
도 2를 계속하여 참조하면, E2E M2M 서비스 레이어 세션 관리자(예를 들어, 세션 관리자(145))는 M2M 서버(예를 들어, M2M 서버(118)) 또는 M2M 게이트웨이에 존재할 수 있다. 도 2에는 도시되지 않지만, 디바이스 자체가 서비스 레이어를 호스팅하면, E2E M2M 서비스 레이어 세션 관리자가 또한 M2M 디바이스 상에 존재할 수 있다. 이하에서 보다 상세히 논의하는 바와 같이, 세션 관리자는 서비스 레이어 세션들의 수립, 해제, 및 관리를 지원한다. 세션 관리자는 세션 어드레스들 또는 식별자 어드레스들의 번역(예를 들어, 공개 세션 식별자(public session identifier)와 비밀 세션 식별자(private session identifier) 사이의 번역)을 수행할 수 있다. 또한, 세션 관리자는 서비스 레이어 메시지들을 다른 세션 관리자들로 라우팅하는 능력을 지원하여 이러한 메시지들이 그에 직접 접속되지 않은 세션 종단점들로 전달될 수 있다.
도 2를 더욱 참조하면, M2M 서비스 레이어 세션들은 세션 자격증명 기능(147)과 같은 세션 자격증명 기능을 포함할 수 있다. 세션 자격증명 기능(147)은 서비스 레이어 세션 관련 자격증명들 및 구성 정보의 공급 또는 부트스트래핑을 지원할 수 있다. 세션 관리자들 또는 세션 종단점들은 이러한 세션 자격증명들을 사용할 수 있다. 세션 자격증명 기능은 AAA 서버에 존재할 수 있고, 다이어미터 프로토콜(Diameter protocol)을 사용하는 ICredential 인터페이스(예를 들어, ICredential(157))를 가질 수 있다. 또한, 서비스 레이어 세션들은 M2M 디바이스(110), M2M 서버(118), 및 M2M 네트워크(115)와 같은, M2M 디바이스들 중 임의의 것이 가질 수 있는 세션 상태를 포함할 수 있다. 세션 상태는 세션 관리자들 또는 세션 종단점들에 의해 유지될 수 있고 세션 관리를 위해 사용될 수 있는 정보이다.
도 3은 전술한 M2M 서비스 레이어 아키텍처 엘리먼트들을 포함하는 도 1b의 서비스 레이어 세션들의 다수의 예들을 도시한다. 도 3에 도시되는 바와 같이, 세션 관리자들 사이의 IManager -Manager 인터페이스(예를 들어, IManager -Manager(154)) 및 세션 종단점과 세션 관리자 사이의 IEndpoint -Manager 인터페이스(예를 들어, IEndpoint -Manager(153), IEndpoint-Manager(155), IEndpoint -Manager(156))가 있을 수 있다. 도 3에 도시되는 바와 같이, 세션 관리자(145)는 다수의 노드들 사이의 다수의 M2M 서비스 레이어 세션들을 관리한다.
이하는, 그 중에서도 특히, 세션 자격증명 기능, 세션 관리자, 및 세션 상태 정보와 같은, 도 3의 기능들 중 일부와 관련하여 보다 상세한 방법들 및 시스템 설명들이다.
세션 자격증명 기능은 개별 세션 종단점들에 대한 세션 보안 자격증명들("보안 자격증명들" 또는 "세션 자격증명들")의 부트스트래핑은 물론, 세션 관리자들이 다수의 서비스 레이어 홉들에 걸쳐 있는 서비스 레이어 세션을 수립하는 것을 지원하고, 여기서 서비스 레이어 홉은 서비스 레이어 인스턴스 또는 애플리케이션 중 2개 이상 사이의 직접 서비스 레이어 통신 링크로서 정의될 수 있다. 본 명세서에서 논의되는 바와 같이, 세션을 보호하기 위한 세션 자격증명들 및 보안 자격증명들은 동의어로 사용된다. 세션 자격증명들을 공급하는 방법(도시되지 않음)은 세션 자격증명 기능의 관리자 또는 소유자에 의해 수행되는 사전 공급 단계(pre-provisioning step)일 수 있다. 예를 들어, 각각의 서비스 레이어 인스턴스마다, 세션 자격증명들의 풀(pool)이 세션 자격증명 기능에 사전 공급될 수 있다. 그 후에, 세션 관리자는, 필요할 때, 세션 자격증명들을 할당하라고 세션 자격증명 기능에 요청할 수 있다.
도 4는 M2M 디바이스, M2M 서버, M2M 게이트웨이 등에 존재할 수 있는 상이한 세션 참가자들 사이에 세션 자격증명들을 구성하는 세션 자격증명 기능 부트스트래핑의 예시적인 방법을 도시한다. 도 4에 대해, 세션 종단점(140)는 착수 애플리케이션의 일부인 반면, 세션 종단점(148)는 대상 애플리케이션의 일부인 것으로 가정될 수 있다.
단계 201, 단계 202 및 단계 203에서, 보안 단일 홉 세션(secure single-hop session)이 수립될 수 있다. 단계 201에서, 세션 관리자(145)와 세션 자격증명 기능(147) 사이에 보안 단일 홉 세션이 있다. 단계 202에서, 세션 관리자(145)와 세션 종단점(140) 사이에 보안 단일 홉 세션이 있다. 단계 203에서, 세션 관리자(145)와 세션 종단점(148) 사이에 보안 단일 홉 세션이 있다. 단계 201, 단계 202, 및 단계 203의 보안 단일 홉 세션들은 ETSI M2M 및 OMA LWM2M과 같은 아키텍처들에서 지원되는 종래의 서비스 레이어 부트스트랩 및 등록 프로시저들에 의해 설정될 수 있다.
단계 204에서, 세션 종단점(140)는 이용가능한 다른 세션 종단점들 및 그들의 대응하는 속성들을 발견하기 위해 또는 특정의 세션 종단점을 요청하기 위해 세션 관리자(145)에 쿼리할 수 있다(예를 들어, 세션 자격증명 부트스트랩 요청을 제공함). 다른 세션 종단점들을 명시적으로 발견하는 것에 대한 대안은 세션 종단점(140)가 단계 204의 부트스트랩 요청 내에서 세션을 수립하고자 하는 상대방인 세션 종단점들의 유형과 같은 정보를 제공하고 세션 관리자로 하여금 최상의 세션 종단점을 결정하게 하는 것이다. 세션 자격증명 부트스트랩 요청은 서비스 레이어 세션을 수립하고자 하는 애플리케이션, 게이트웨이, 서버 등과 연관되어 있는 세션 종단점에 의해 착수될 수 있다. 세션 자격증명 부트스트랩 요청은 착수 세션 종단점이 서비스 레이어 세션을 수립하고자 하는 하나 이상의 대상 세션 종단점들과 같은 정보를 포함할 수 있다. 또한, 세션 자격증명 부트스트랩 요청은 세션 관리자가 서비스 레이어 세션 자격증명들을 배포할 하나 이상의 대상 세션 종단점들을 선택하기 위해 사용할 수 있는 원하는 타입의 세션 종단점에 관한 정보를 포함할 수 있다. 세션 자격증명 부트스트랩 요청은 또한, 그 중에서도 특히, 세션의 요구된 QoS, 대상 세션 종단점의 위치, 및 착수 애플리케이션이 기꺼이 지불할 금액과 같은 정보를 포함할 수 있다.
단계 205에서, 세션 관리자(145)는 세션 자격증명을 배포받을 수 있는 대상 세션 종단점들 또는, 대안적으로, 어느 세션 종단점들에게 세션 자격증명 기능(147)에 대해 부트스트래핑하라고 요구할 수 있는지를 결정하기 위해 단계 204의 세션 자격증명 부트스트랩 요청을 파싱한다. 또한, 세션 관리자(145)는 서비스 레이어 세션에 관여될 수 있는 임의의 중간 서비스 레이어 인스턴스들(예를 들어, 서비스 레이어 인스턴스들을 갖는 M2M 게이트웨이들 또는 M2M 서버들)을 결정한다. 대상 세션 종단점들 및 중간 서비스 레이어 인스턴스들의 결정은 상이한 방식들로 수행될 수 있다. 예를 들어, 세션 관리자(145)는 대상 세션 종단점들의 목록과 같은, 단계 204에서 세션 자격증명 부트스트랩 요청에 포함된 정보를 사용할 수 있다. 대안적으로, 요청측 세션 종단점(예를 들어, 세션 종단점(140))에 의해 세션 상태로서 유지되는 이력(history) 또는 컨텍스트 정보가 또한 사용될 수 있거나, 세션 정책들이 또한 사용될 수 있다. 세션 상태를 사용하여, 세션 관리자(145)는 어느 대상 세션 종단점들에게 세션 자격증명들을 배포할지 선택하는 것을 추가로 한정할 수 있다.
도 4를 계속하여 참조하면, 단계 206에서, 세션 관리자(145)는 E2E M2M 세션 자격증명 요청을 세션 자격증명 기능(147)으로 송신할 수 있다. 단계 206의 자격증명 요청은 단계 205의 결정된 대상 세션 종단점들 및 결정된 서비스 레이어 인스턴스들에 대한 일 세트의 세션 자격증명들을 할당하라는 요청을 포함할 수 있다. 단계 207에서, 세션 자격증명 기능(147)은 세션 관리자(145), 세션 종단점(148), 및 세션 종단점(140)에 대한 일 세트의 세션 자격증명들을 생성한다. 또한, 단계 207에서, 자격증명 기능(147)은 세션 자격증명들의 상태를 유지한다. 자격증명 상태가 이미 생성된 서비스 레이어 세션의 세션 자격증명들을 원할지도 모르는 임의의 애플리케이션, 인스턴스 등으로 송신될 수 있다. 단계 208에서, 세션 자격증명 기능(147)은 E2E M2M 세션 자격증명 응답을 세션 관리자(145)로 송신한다. 세션 자격증명 응답은 임의의 수의 애플리케이션들 또는 서비스 레이어 인스턴스들에 할당될 수 있는 세션 자격증명을 포함할 수 있다. 대안적으로, 자격증명 응답은 일 세트의 세션 자격증명들을 포함할 수 있고, 일 세트의 세션 자격증명들 내의 각각의 세션 자격증명은 생성되도록 요망되는 서비스 레이어 세션에 관여되는 서비스 레이어 인스턴스 또는 애플리케이션에 특별히 할당될 수 있다.
단계 209에서, 단계 208의 세션 자격증명들을 수신할 때, 세션 관리자(145)가 또한 세션 자격증명들을 사용할 수 있도록, 세션 관리자(145)는 세션 자격증명들을 국부적으로 저장할 수 있다. 예를 들어, 세션 관리자(145)는 서비스 레이어 인스턴스(예를 들어, 서비스 레이어 인스턴스(123))를 통해 흐르는 애플리케이션 데이터를 암호화 또는 복호화하고 부가 가치 데이터 서비스들을 제공할 수 있다. 단계 210에서, 세션 관리자(145)는 단계 208의 세션 자격증명들을 포함할 수 있는 E2E 세션 자격증명들 구성 요청을 세션 종단점(148)으로 송신한다. E2E 세션 자격증명들 구성 요청은 또한 세션 종단점(148)이 세션 종단점(140)과의 서비스 레이어 세션에 참가할 수 있게 하라는 요청을 포함할 수 있다. 예를 들어, 세션 종단점(148)은 그 때에 서비스 레이어 세션을 허용하지 않을 수 있는 적절한 정책들을 가질 수 있다. 단계 211에서, 세션 종단점(148)은 제안된 세션에 대한 세션 자격증명 상태를 유지한다. 단계 212에서, 세션 종단점(148)은 송신된 세션 자격증명들을 수신하고 구현하는 것의 확인을 포함할 수 있는 E2E 세션 자격증명들 구성 응답을 세션 관리자(145)로 송신한다.
도 4를 추가로 참조하면, 단계 213에서, 세션 관리자(145)는 E2E 보안 자격증명 부트스트랩 응답을 세션 종단점(140)으로 송신할 수 있다. 단계 213의 E2E 보안 자격증명 부트스트랩 응답은 궁극적으로 단계 204의 요청에 응답한 것일 수 있고, 세션 자격증명들은 물론, 서비스 레이어 세션에 대한 세션 자격증명들을 갖는 대상 세션 종단점들의 목록을 포함할 수 있다. 단계 214에서, 세션 자격증명들을 수신할 때, 세션 종단점(140)는 수신된 자격증명들의 상태 정보를 유지할 수 있다.
도 4를 계속하여 참조하면, 세션 종단점들(예를 들어, 세션 종단점(140) 및 세션 종단점(148))은 세션 자격증명들을 리프레시하기 위해 부트스트래핑 동작을 주기적으로 반복할 필요가 있을 수 있다. 이 주기적인 리프레시는 세션 자격증명과 연관된 수명에 기초할 수 있다. 공통 세션 자격증명들로 안전하게 부트스트래핑하는 것은 착수 세션 종단점(140), 로컬 세션 관리자(145)(세션 종단점(140)에 대해 직접 등록된 세션 관리자), 임의의 중간 서비스 레이어 세션 관리자들(여기에 도시되어 있지 않지만, 때때로 적용가능할 수 있음), 및 하나 이상의 대상 E2E M2M 서비스 레이어 세션 종단점들(예를 들어, 세션 종단점(148)) 사이에 안전한 신뢰 체인(secure chain of trust)을 설정할 수 있다. 이 안전한 E2E 신뢰 체인은 보안된 기본 종래의 단일 홉 M2M 서비스 레이어 세션들은 물론, 존재할 수 있는 보안된 기본 전송 레이어 및 액세스 네트워크 접속들 상에 레이어를 이루고 있을 수 있다. 대안적으로, 전술한 안전한 E2E 신뢰 체인은 각각의 세션 종단점 및 세션 관리자로 하여금 홉별로(in a hop-by-hop fashion) 서로에 대해보다는 세션 자격증명 기능에 대해 인증하게 함으로써 설정될 수 있다.
도 4에 도시되는 단계들을 수행하는 엔티티들이 도 37c 또는 도 37d에 도시되는 것들과 같은 네트워크 노드 또는 컴퓨터 시스템의 메모리에 저장되고 네트워크 노드 또는 컴퓨터 시스템의 프로세서 상에서 실행되는 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있는 논리적 엔티티들이라는 점이 이해된다. 즉, 도 4에 도시되는 방법(들)은 도 37c 또는 도 37d에 도시되는 노드 또는 컴퓨터 시스템과 같은 네트워크 노드의 메모리에 저장된 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있고, 이 컴퓨터 실행가능 명령어들은, 노드의 프로세서에 의해 실행될 때, 도 4에 도시되는 단계들을 수행한다.
세션 자격증명들은 착수 M2M 애플리케이션에 대해서는 물론, 그가 등록되어 있는 M2M 서비스 레이어 인스턴스 뿐만 아니라 하나 이상의 대상 M2M 애플리케이션들에 대해 부트스트래핑될 수 있다. 자격증명들이 또한, 서비스 레이어 라우팅 정책들, 컨텍스트 정보, 또는 이력 정보에 기초하여, 다른 M2M 서비스 레이어 인스턴스들에 대해 부트스트래핑될 수 있다(예를 들어, 다른 M2M 서비스 레이어 인스턴스들이 착수 M2M 애플리케이션과 대상 M2M 애플리케이션 사이의 다중 홉 경로에 존재하는 경우).
도 5는 E2E M2M 서비스 레이어 세션 관리자(예를 들어, 세션 관리자(145))에 대한 기능적 아키텍처를 나타낸 것이다. 도 5에 도시되는 바와 같이, 세션 관리자(145)는 세션 자격증명 기능(147), E2E M2M 세션 컨텍스트 및 이력 기능(161)(세션 컨텍스트 기능), E2E M2M 세션 라우팅 기능(162)(세션 라우팅 기능), E2E M2M 세션 수립 및 해제 기능(163)(세션 수립 기능), E2E M2M 세션 정책 기능(164)(세션 정책 기능), E2E M2M 세션 구성 및 발견 기능(165)(세션 구성 기능), E2E M2M 세션 데이터 관리 기능(166)(세션 데이터 관리 기능), 및 세션 상태(151)를 포함할 수 있다. 일 실시예에서, 세션 관리자(145)는 M2M 서비스 레이어 인스턴스(예를 들어, 서비스 레이어 인스턴스(123))의 기능으로서 지원될 수 있다. 다른 실시예에서, 세션 관리자(145)는 M2M 서비스 레이어 인스턴스와 인터페이스할 수 있는 별개의 서비스(예를 들어, 독립형 웹 서비스)로서 지원될 수 있다. 세션 관리자의 기능들 각각에 대한 설명들이 본 명세서에 보다 상세히 논의된다.
E2E M2M 세션 수립 및 해제 기능(163)(세션 수립 기능)은 서비스 레이어 세션들을 설정하거나 해제하라는 요청들을 처리한다. 세션 종단점은 하나 이상의 대상 세션 종단점들과의 서비스 레이어 세션을 수립하라는 요청들을 세션 수립 기능으로 송신할 수 있다. 자격증명들이 성공적으로 부트스트래핑되거나 공급된 경우 또는 보안이 요구되지 않는 경우, 세션 수립 기능은, 요청될 때, 서비스 레이어 세션을 수립하거나 해제하는 것을 계속할 수 있다. 서비스 레이어 세션을 기존 단일 홉 M2M 서비스 레이어 세션들 또는 전송 레이어 세션들 위에 계층화하는 것에 의해 E2E M2M 서비스 레이어 세션이 수립될 수 있다. 이것은 각각의 세션 종단점에 대해서는 물론 서비스 레이어 세션 경로를 따라 있는 각각의 중간 세션 관리자에 대한 세션 상태를 유지 및/또는 배포하는 것에 의해 달성될 수 있다. 이 세션 상태는 세션 보안 자격증명들, 세션 라우팅 정보, 세션 컨텍스트, 및 세션 정책들과 같은 정보를 포함할 수 있다. 각각의 세션 종단점 및 세션 관리자에 대한 세션 상태의 구성은 지정된 세션 관리자(예를 들어, 서비스 레이어 세션 수립 요청을 개시하는 세션 종단점에 가장 가까운 세션 관리자)에 의해 관리될 수 있다.
도 6은 예시적인 E2E M2M 서비스 레이어 세션 수립 호출 흐름을 나타낸 것이다. 이러한 예에서, 세션 종단점(140)는 3개의 서비스 레이어 홉들만큼 떨어져 있는(즉, 2개의 M2M 서비스 레이어 인스턴스들에 의해 분리되어 있는) 세션 종단점(148)와 서비스 레이어 세션을 착수한다. 단계 220에서, 세션 종단점(140), 세션 종단점(148), 및 세션 관리자들(예를 들어, 세션 관리자(141) 및 세션 관리자(145))은, 본 명세서에 기술된 바와 같이(도 4에 관한 예를 참조), E2E M2M 서비스 레이어 세션 자격증명들로 부트스트래핑 또는 공급되었다. 단계 221에서, 세션 종단점(140)는 서비스 레이어 세션을 인증하고 설정하라는 요청을 세션 관리자(141)로 송신한다. 단계 221의 요청은 단계 220에서 수신된 세션 자격증명들을 포함할 수 있다. 일 실시예(도시되지 않음)에서, 세션 종단점(140)는 다수의 대상 세션 종단점들과의 E2E M2M 서비스 레이어 세션(예를 들어, 그룹 세션)을 수립하기 위해 다수의 요청들을 하나 이상의 세션 관리자들로 송신할 수 있다.
단계 222에서, 세션 관리자(141)는 세션 종단점(140)의 세션 자격증명들에 기초하여 세션 종단점(140)을 인증한다. 또한, 단계 222에서, 세션 관리자(141)는 서비스 레이어 세션을 인증하고 설정하라는 요청을 전달할 다음 홉을 결정한다. 세션 관리자(141)는 요청에 포함된 정보, 국부적으로 저장된 컨텍스트 및 정책들에 기초하여 그리고 네트워크 내의 다른 세션 관리자들과 협력하는 것에 의해 다음 홉을 결정한다. 이러한 예에서, 다음 홉은 다른 세션 관리자(예를 들어, 세션 관리자(145))이다. 도 6에 도시되는 바와 같이, 단계 223에서, 세션 관리자(141)는 서비스 레이어 세션을 인증하고 설정하라는 요청을 세션 관리자(145)로 송신한다. 단계 223의 요청은 단계 220에서 수신된 세션 자격증명들을 포함할 수 있다. 단계 224에서, 세션 관리자(145)는 세션 관리자(141)의 세션 자격증명들에 기초하여 세션 관리자(141)를 인증하고, 서비스 레이어 세션을 인증하고 설정하라는 요청을 전달할 다음 홉을 결정한다. 단계 225에서, 세션 관리자(145)는, 단계 221에서 유사하게 행해진 바와 같이, 서비스 레이어 세션을 인증하고 설정하라는 요청을 세션 종단점(148)으로 송신한다. 단계 226에서, 세션 종단점(148)은 세션 자격증명들에 기초하여 세션 관리자(145)를 인증하고, 세션 종단점(140)가 그와 통신하고자 하는 것으로 결정하며, 세션 자격증명들에 기초하여 세션 종단점(140)을 인증한다. 또한 단계 226에서, 세션 종단점(148)은 세션 상태 정보를 저장할 수 있고, 이에 대해서는 이하에서 보다 상세히 기술된다.
단계 227에서, 세션 종단점(148)은 E2E 세션 응답을 세션 관리자(145)로 송신한다. 단계 227의 E2E 세션 응답은 세션 종단점(140)과의 서비스 레이어 세션의 수립을 확인하는 응답은 물론, 다른 서비스 레이어 세션 상태 정보를 포함할 수 있다. 단계 227의 E2E 세션 응답은 단계 229 및 단계 231에서 세션 종단점(140)으로 계속 전달된다. 단계 225의 응답이 각각의 홉에 대해 다시 전달되기 때문에, 서비스 레이어 세션 상태 정보가 단계 228 및 단계 230에서 각각의 세션 관리자에 의해서는 물론, 단계 232에서 착수 세션 종단점(세션 종단점(140))에 의해 저장된다. 이 서비스 레이어 세션 상태 정보는, 서비스 레이어 세션이 세션 관리자들을 통해 세션 종단점들 사이에서 메시지들 E2E를 교환하는데 사용될 수 있도록, 서비스 레이어 세션을 유지하는데 사용된다.
도 6을 계속하여 참조하면, 세션 관리자(예를 들어, 세션 관리자(141) 또는 세션 관리자(145))는 서비스 레이어 세션 메시지들의 라우팅 경로를 동적으로 변경할 수 있다. 예를 들어, 세션 관리자(141)와 세션 관리자(145) 사이의 단일 홉 세션이 단절되는 경우, 업스트림 세션 관리자(upstream session manager)(이 경우에, 세션 관리자(141)임)는 대상 세션 종단점(예를 들어, 세션 종단점(148))과의 설정된 단일 홉 세션을 마침 가지고 있는 다른 이웃 세션 관리자(이용가능한 경우)와의 새로운 단일 홉 서비스 레이어 세션을 수립하는 것에 의해 복구할 수 있다. E2E M2M 서비스 레이어 세션 라우팅에 대한 추가 상세에 대해서는 이하를 참조하기 바란다. 또한, 비록 도 6에 도시되어 있지는 않지만(도 3을 참조), 세션 종단점들 및 세션 관리자들이 서로에 대해 인증하는 것에 대한 대안은 그들이 그 대신에 네트워크 내의 세션 자격증명 기능에 대해 직접 인증하는 것이다. 신뢰된 세션 자격증명 기능은 세션 종단점들 및 세션 관리자들을 인증할 수 있는 네트워크 내의 중심 노드일 수 있다. 이렇게 하는 것에 의해, 세션 종단점들 및 세션 관리자들은 서로에 의해서 보다는 이 기능에 의해 인증될 수 있다.
서비스 레이어 세션의 해제는 유사한 방식으로 세션 종단점들 및 세션 관리자들에 관한 서비스 레이어 세션 상태 정보를 제거하는 것에 의해 동작할 수 있다. 서비스 레이어 세션의 해제 동안, 대상 세션 종단점에서 시작하여 착수 세션 종단점 쪽으로 서비스 레이어 세션 상태 정보가 삭제될 수 있고, 이는 또한 각각의 세션 관리자에 관한 서비스 레이어 세션 상태 정보를 제거한다. 도 6에 도시되는 단계들을 수행하는 엔티티들이 도 37c 또는 도 37d에 도시되는 것들과 같은 네트워크 노드 또는 컴퓨터 시스템의 메모리에 저장되고 노드 또는 컴퓨터 시스템의 프로세서 상에서 실행되는 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있는 논리적 엔티티들이라는 점이 이해된다. 즉, 도 6에 도시되는 방법(들)은 도 37c 또는 도 37d에 도시되는 노드 또는 컴퓨터 시스템과 같은 네트워크 노드의 메모리에 저장된 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있고, 이 컴퓨터 실행가능 명령어들은, 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 도 6에 도시되는 단계들을 수행한다.
도 5의 기능적 아키텍처에도 도시되는 바와 같이, E2E M2M 서비스 레이어 세션 라우팅(세션 라우팅)에 관한 추가 상세들이 여기서 논의된다. 도 7은 서비스 레이어 세션 종단점들 사이에 다수의 서비스 레이어 세션 경로들을 가지는 2개의 세션 종단점들 사이의 예시적인 단일 서비스 레이어 세션을 나타내고 있다.
각각의 E2E M2M 서비스 레이어 세션 경로는 M2M 세션 종단점들 및 M2M 세션 관리자들을 서로 상호접속하는 상이한 일련의 단일 홉 M2M 서비스 레이어 세션들로 이루어져 있을 수 있다. 도 7은 경로(257)(즉, 실선) 또는 경로(259)(즉, 점선)와 같은 다수의 경로들을 취할 수 있는 하나의 서비스 레이어 세션을 나타내고 있다. 세션 종단점(250)과 세션 종단점(252) 사이의 다수의 서비스 레이어 세션 경로들은 중복성(redundancy), 장애 보호(fault protection), 및 심지어 상이한 레벨들의 서비스 품질을 제공할 수 있다. 세션 관리자(251), 세션 관리자(253), 및 세션 관리자(255)는 지정된 서비스 레이어 세션과 연관된 메시지들을 다수의 지원된 세션 경로들 중 하나로 라우팅하기 위해 E2E M2M 서비스 레이어 세션 라우팅 기능(세션 라우팅 기능)을 지원할 수 있다. 세션 라우팅 기능은 컨텍스트 인식은 물론 정책 기반 라우팅을 지원할 수 있다. 예를 들어, 세션 관리자(255)의 세션 라우팅 기능은 과거 메시지들의 이력 및 이 메시지들에 대해 선택된 경로들을 유지하는 것에 의해 상이한 세션 경로들에 걸쳐 지정된 서비스 레이어 세션을 부하 분산시킬 수 있다. 세션 관리자(255)의 세션 라우팅 기능은 부하 조건들 또는 장애들에 기초하여 서비스 레이어 경로들을 적응시킬 수 있고, 이는 보다 나은 탄력성(resiliency) 및 QoS를 제공할 수 있다. 세션 라우팅 기능은, 서비스 레이어 라우팅 결정은 물론 기본 액세스 네트워크 라우팅 결정을 위해 정보가 고려될 수 있도록, 정보를 공유하기 위해 기본 액세스 네트워크들과 인터페이스하는 것을 지원할 수 있다.
지원될 수 있는 다른 형태의 세션 라우팅은 서비스 레이어 세션과 연관되어 있을 수 있는 다수의 기본 전송 세션들 또는 액세스 네트워크 접속들 사이의 라우팅이다. 이것을 지원하기 위해, 서비스 레이어 세션 관리자(255)는 기본 전송/액세스 네트워크 라우팅 기능들에 대한 인터페이스를 가질 수 있다. 예를 들어, M2M 디바이스 또는 M2M 게이트웨이는 다수의 무선 액세스 기술들(예를 들어, Wi-Fi, 셀룰러 등)을 지원할 수 있다. E2E 서비스 레이어 세션은 다수의 단일 홉 M2M 서비스 레이어 세션들 위에 계층화될 수 있다. 각각의 단일 홉 서비스 레이어 세션은 그와 연관된 다수의 기본 전송 또는 액세스 네트워크 접속들을 가질 수 있다. 서비스 레이어 세션 관리자(255)는 단일 홉별로(on a single-hop by single-hop basis) 사용할 기본 전송 또는 액세스 네트워크 접속들의 라우팅 및 선택을 관리하기 위해 기본 전송 또는 액세스 네트워크 라우팅 기능들과 협력할 수 있다.
도 7을 계속하여 참조하면, 대안적으로, 서비스 레이어는 E2E 기반으로 어느 기본 전송 또는 액세스 네트워크 접속들을 사용할지의 라우팅 및 선택을 관리하기 위해 기본 네트워크 라우팅 기능들과 협력할 수 있다. 그렇게 함에 있어서, 보안 및 QoS가 단지 홉별로가 아니라 E2E 방식으로 관리될 수 있다. 예를 들어, 이 E2E 관리는 라우팅 정책들을 서비스 레이어 세션을 수립하는 일을 맡고 있는 세션 관리자(예를 들어, 세션 관리자(255))로부터 지정된 서비스 레이어 세션과 연관된 나머지 세션 관리자들(예를 들어, 세션 관리자(251) 및 세션 관리자(253))로 분산시키는 것에 의해 수행될 수 있다. E2E 관리는 단일 홉 라우팅으로 지원하기가 어려울 수 있는 라우팅 최적화를 가능하게 한다. 예를 들어, 세션 종단점(250)을 호스팅하는 디바이스가 세션 종단점(252)을 호스팅하는 디바이스에 아주 근접하게 되는 경우, E2E 라우팅 최적화가 동적으로 수행될 수 있다. 다른 예에서, 서비스 레이어 세션 메시지들을 M2M 서버 및 M2M 게이트웨이 양자 모두를 통해 하나의 애플리케이션으로부터 다른 애플리케이션으로 라우팅하는 대신에, 서비스 레이어 세션 메시지들을 양 애플리케이션에 아주 근접해 있는 공유 M2M 게이트웨이를 통해 라우팅하는 것에 의해 E2E 경로를 최적화하기 위해 또는 심지어 애플리케이션들 사이에 직접 피어-투-피어 경로를 설정하기 위해 E2E 라우팅 최적화가 수행될 수 있다.
이하는 도 5에 도시된 바와 같은 기능적 아키텍처에 관한 추가 상세이다. 기능적 아키텍처는 단일의 디바이스 상에서 구현되거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 도 5에 도시된 E2E M2M 서비스 레이어 세션 컨텍스트 및 이력 기능(세션 컨텍스트 기능)(161)은 E2E M2M 서비스 레이어 세션 컨텍스트 및 이력 정보를 수집, 해석, 공유 및 처리할 수 있다. 세션 관리자들 및 세션 종단점들은 서비스 레이어 세션들의 사용 및 관리에 관한 컨텍스트 인식 결정(context aware decision)을 행하기 위해 세션 컨텍스트 정보를 이용할 수 있다. 또한, 계산서 작성 및 과금은 물론 이력 및 추적 등의 목적들을 위해 세션 컨텍스트 정보가 이용될 수 있다. 세션 컨텍스트 기능(161)은 또한 세션 관리자들 및/또는 종단점들 사이의 세션 컨텍스트 정보의 공유를 지원한다.
일부 형태의 E2E M2M 서비스 레이어 세션 컨텍스트 정보는 다음과 같은 것들 중 하나 이상을 포함할 수 있다: 1) 과거의 서비스 레이어 세션 라우팅 결정들; 2) 이용되는 서비스 레이어 세션들과 기본 전송 및 액세스 네트워크 접속들에 관련된 동적으로 변하는 비용 또는 가격 결정 정보; 3) 서비스 레이어 세션들과 연관된 M2M 디바이스들 및 게이트웨이들의 위치; 4) 서비스 레이어 세션들과 연관된 액세스 네트워크 접속들에 대한 액세스 네트워크 혼잡 정보 및 가용 대역폭; 및 5) 지정된 서비스 레이어 세션과 연관된 M2M 디바이스들 및 게이트웨이들의 가용성(예를 들어, M2M 디바이스 또는 게이트웨이가 슬립 상태(sleeping)에 있는지 여부).
일부 컨텍스트 인식 서비스 레이어 세션 관련 결정들은 다음과 같은 것들 중 하나 이상을 포함할 수 있다: 1) 컨텍스트 인식 세션 라우팅; 2) 컨텍스트 인식 서비스 레이어 세션 부하 분산; 3) 메시지들의 컨텍스트 인식 서비스 레이어 세션 저장후 전달(store and forward)(예를 들어, 세션 종단점들이 이용가능하지 않은 동안); 및 4) 세션 종단점들로부터의 데이터의 컨텍스트 인식 서비스 레이어 세션 사전 대응적 프리페칭 및 캐싱과 보다 효율적인 액세스를 위해 데이터를 서비스 레이어 내에 캐싱하는 것.
도 5는 또한 E2E M2M 서비스 레이어 세션 정책 기능(세션 정책 기능)(164)을 도시한다. 세션 정책 기능(164)은 세션 정책 구성, 관리, 및 공유를 지원한다. 서비스 레이어 세션 정책들의 사용에 의해, 세션 관리자들은 세션 종단점들 사이의 서비스 레이어 세션 통신을 보다 지능적으로 관리할 수 있다. 또한, 세션 정책 기능(164)은 세션 관리자들 또는 세션 종단점들 사이의 서비스 레이어 세션 정책들의 공유를 지원한다. 어떤 서비스 레이어 세션 정책들은 다음과 같은 것들 중 하나 이상을 포함할 수 있다: 1) 세션 라우팅 정책들; 2) E2E M2M 서비스 레이어 세션 저장후 전달 정책들; 3) 서비스 레이어 세션 프리페치 정책들; 4) 서비스 레이어 세션 수립 정책들; 5) 서비스 레이어 세션 해제 정책들; 6) 수집할 컨텍스트, 컨텍스트를 어떻게 해석할지, 의사 결정에서 컨텍스트를 어떻게 고려할지 등을 결정하는 세션 컨텍스트 정책들; 및 7) 세션과 연관된 정보에 대한 권한 부여 및 액세스 제어를 제어할 수 있는 서비스 레이어 세션 보안 정책들.
도 5는 또한 E2E M2M 서비스 레이어 세션 속성들 및 파라미터들에 대한 구성 및 발견 기능들을 지원하는 E2E M2M 서비스 레이어 세션 구성 및 발견 기능(165)(세션 구성)을 도시한다. 서비스 레이어 세션 속성들 및 파라미터들의 구성은 설정 동안은 물론 통상적인 서비스 레이어 세션 동작 동안 서비스 레이어 세션을 제어하고 커스터마이즈하는데 사용될 수 있다. 서비스 레이어 세션 상태 정보의 발견은 원하는 일 세트의 기준들에 기초하여 이용가능한 서비스 레이어 세션들을 찾아내는데 사용될 수 있다. 이것은 M2M 애플리케이션들 및 M2M 서비스 레이어 인스턴스들이 이미 진행 중인 기존 서비스 레이어 세션들 또는 서비스 레이어 세션들을 지원하는 후보들을, 대응하는 세션 기준들 또는 속성들과 함께, 찾아내는데 도움을 줄 수 있다. 어떤 타입의 E2E M2M 서비스 레이어 세션 구성 및 발견은 다음과 같은 것들 중 하나 이상을 포함할 수 있다: 1) 세션 종단점 상 상에 호스팅되는 서비스 레이어 세션 상태의 세션 관리자에 의한 구성 및 그 반대; 2) 세션 관리자 상 상에 호스팅되는 서비스 레이어 세션 상태의 다른 세션 관리자에 의한 구성; 3) 세션 관리자 상 상에 호스팅되는 서비스 레이어 세션 상태의 세션 종단점에 의한 발견 및 그 반대; 및 4) 세션 관리자 상 상에 호스팅되는 서비스 레이어 세션 상태의 다른 세션 관리자에 의한 발견.
도 5는 또한 서비스 레이어 인스턴스에 의해 처리되는 서비스 레이어 세션 메시지들 내에 포함된 데이터의 관리를 지원할 수 있는 E2E M2M 세션 데이터 관리 기능(166)(세션 데이터 관리 기능)을 나타내고 있다. 서비스 레이어 인스턴스 내에 부트스트래핑되어 있는 세션 자격증명들을 이용하여, 이 기능은 수신된 서비스 레이어 세션 메시지들 내엔 포함된 데이터의 복호화 및 서비스 레이어 인스턴스들 및 애플리케이션들로 전달되는 서비스 레이어 세션 메시지들 내에 포함되는 서비스 레이어 세션 데이터의 암호화를 지원한다. 데이터가 복호화되면, 이 기능은, 그 중에서도 특히, 데이터 분석 기능, 데이터 집계 기능, 또는 데이터 메쉬업과 같은 서비스 레이어 인스턴스 내의 다른 기능들과 인터페이스하여 이 데이터를 그 기능들로 전달하는 것을 지원한다. 중간 M2M 서비스 레이어 인스턴스들에서 이 타입의 기능들을 지원하는 것은 이 서비스 레이어 인스턴스들이 네트워크를 통해 흐르는 메시지들에 대한 부가 가치 데이터 서비스들을 지원할 수 있게 하고, 이는 네트워크를 보다 효율적으로 만들고 세션 종단점 애플리케이션들의 복잡도를 감소시키는데도 도움을 줄 수 있다.
도 5는 또한 다음과 같은 것들 중 하나 이상을 포함할 수 있는 E2E M2M 세션 상태(151)를 나타내고 있다: E2E M2M 서비스 레이어 세션 식별자(세션 식별자), E2E M2M 서비스 레이어 세션 보안 자격증명들(세션 보안 자격증명들), E2E M2M 서비스 레이어 세션 서술자(세션 서술자(session descriptor)), E2E M2M 서비스 레이어 세션 라우팅 정보(세션 라우팅 정보), E2E M2M 서비스 레이어 세션 컨텍스트 또는 이력(세션 컨텍스트), 및 E2E M2M 서비스 레이어 세션 정책들(세션 정책들). 세션 식별자는 서비스 레이어 세션을 식별하기 위해 세션 관리자 및 세션 클라이언트들(예를 들어, 세션 애플리케이션들 또는 서비스 레이어 인스턴스들)에 의해 사용될 수 있다. 세션 식별자가 그의 대응하는 세션 관리자들, 세션 종단점들, 및 세션 자격증명 기능에 의해서만 암호화/복호화될 수 있도록, 세션 식별자는, 선택적으로, 세션 자격증명들을 사용하여 해싱될 수 있는 임의적인 고유의 영숫자 문자열일 수 있다.
세션 식별자는 또한 대응하는 세션 유형 및/또는 세션과 연관된 기능을 나타내는 설명적 영숫자 문자열일 수 있다. 이 설명적 세션 식별자는 세션 발견을 위해 사용될 수 있고, 세션 정보(session info)(예를 들어, sensor123-Measurements, LightingABC-Control 등)의 공유를 용이하게 할 수 있다. 설명적 세션 식별자는 그룹 세션들의 동적 형성을 지원하는데도 도움을 줄 수 있다. 설명적 세션 식별자가 그의 대응하는 세션 관리자들, 세션 종단점들, 및 세션 자격증명 기능에 의해서만 암호화/복호화될 수 있도록, 설명적 세션 식별자는, 선택적으로, 세션 자격증명들을 사용하여 해싱될 수 있다.
세션 식별자는 다른 식별자들의 일부분들을 재사용할 수 있다. 세션 종단점들은 전형적으로 그들에 할당되는 고유 식별자를 지원한다. 예를 들어, M2M 애플리케이션은 M2M 서비스 레이어 인스턴스에 등록할 때 고유의 애플리케이션 식별자를 할당받는다. 이와 유사하게, M2M 서비스 레이어 인스턴스는 고유 식별자로 공급되거나 부트스트래핑 프로시저 동안 고유 식별자로 동적으로 구성될 수 있다. 이 고유 식별자들은 E2E M2M 서비스 레이어 세션 식별자들을 생성하는데 사용될 수 있다. 세션 종단점들은 세션 수립 동안 서로 고유 식별자들을 교환할 수 있고, 2개의 세션 종단점들 사이의 고유 세션 식별자를 형성하기 위해 이 고유 식별자들이 연결(concatenate)될 수 있다.
세션 상태는 서비스 레이어 세션들과 연관된 보안 자격증명들(예를 들어, E2E 보안 인증서, 공개 키 등)을 포함할 수 있다. 서비스 레이어 세션은(예를 들어, E2E M2M 서비스 레이어 세션 자격증명 기능에 의해 설정되고 배포된) 독립적인 일 세트의 자격증명들을 지원할 수 있거나, 선택적으로, 기본 세션들 또는 연결들로부터의 보안 자격증명들을 이용할 수 있다. 예를 들어, 기본 단일 홉 M2M 서비스 레이어 세션들, 전송 레이어 세션들, 및/또는 액세스 네트워크 접속들로부터의 보안 자격증명들이 이용될 수 있다.
세션 상태는 기존 세션 참가자들(예를 들어, 세션 종단점, 세션 관리자, 또는 세션 자격증명 기능)에 의해 또는 기존 서비스 레이어 세션을 발견하기 위해 장래의 세션 참가자들에 의해 사용될 수 있는 세션을 기술하는 정보인 세션 서술자를 포함할 수 있다. 세션 서술자는 각각의 세션 참가자에 대한 설명(예를 들어, 디바이스 식별자, 참가자의 유형, 참가자가 지원하는 서비스, 참가자의 인터페이스 요구사항들, 사용되는 압축의 유형 등)일 수 있다. 세션 서술자는 서비스 레이어 세션을 구성하는데 사용되는 각각의 기본 단일 홉 세션에 대한 설명(예를 들어, 다중 홉 E2E M2M 서비스 레이어 세션을 이루고 있는 개개의 단일 홉 M2M 서비스 레이어 세션들에 관한 정보, 기본 전송 또는 액세스 네트워크 접속들에 관한 정보 등)일 수 있다.
세션 상태는 라우팅 정보를 포함할 수 있다. 세션 라우팅 정보는 들어오는 세션 메시지들을 라우팅할 다음 홉 E2E M2M 서비스 레이어 세션 종단점 또는 세션 관리자를 나타낼 수 있다. 세션 상태로서 저장될 수 있는 라우팅 정보의 형태들은 다음과 같다: M2M 애플리케이션 또는 M2M 서비스 레이어 인스턴스의 세션 식별자; 단일 홉 M2M 서비스 레이어 세션 식별자; 애플리케이션 프로토콜 식별자(예를 들어, URI(Uniform Resource Identifier), URL(Uniform Resource Locator), URN(Uniform Resource Name) 등); 전송 레이어 세션 식별자(TLS 세션 식별자); 네트워크 레이어 어드레스(예를 들어, IP 어드레스); 액세스 네트워크 식별자(예를 들어, IMSI(International Mobile Subscriber Identity), MSISDN(Mobile Subscriber Integrated Services Digital Network-Number), MAC(media access control) 어드레스 등); 또는 이용가능한 기본 네트워크 인터페이스들, 액세스 네트워크 접속들/베어러들, 전송 레이어 접속들의 목록 등.
세션 상태는 서비스 레이어 세션을 사용하여 수행되는 과거의 서비스 레이어 트랜잭션들에 관련된 컨텍스트 정보 및/또는 그 트랜잭션들의 이력일 수 있는 E2E M2M 서비스 레이어 세션 컨텍스트/이력을 포함할 수 있다. 예들은 세션 종단점들이 타겟으로 하는 자원들의 유형, 개수, 레이트, 크기 등을 추적하는 것 또는 애플리케이션이 설정하는 상이한 서비스 레이어 세션들(예를 들어, 레이트, 유형 등)을 추적하는 것을 포함한다.
세션 상태는 또한 E2E M2M 서비스 레이어 세션 관리자 또는 종단점이 E2E M2M 서비스 레이어 세션 메시지들을 어떻게 생성하거나 처리할지에 대한 규칙들을 정의하는 세션 정책들을 포함할 수 있다. 예를 들어, 정책들은 서비스 레이어 QoS 정책들, 라우팅 정책들, 서비스 레이어 저장후 전달 정책들, 서비스 레이어 액세스 제어 정책들 등을 포함할 수 있다. 정책들은 또한(예를 들어, 데이터가 읽기 전용인 경우 또는 데이터가 다른 데이터와 집계될 수 있는 경우, 기타) 세션 관리자가 메시지와 연관된 데이터를 어떻게 처리하는지를 정의하는데 사용될 수 있다. 정책들은 또한 세션 관리자에 대한 서비스 레이어 라우팅 규칙들을 정의하는데 사용될 수 있다(예를 들어, 세션 관리자가 과금, 보안, 추적/검사 등과 같은 기능들을 수행할 수 있도록 어떤 세션은 명시된 세션 관리자를 통해 라우팅되어야만 한다).
다음과 같은 것들 중 하나 이상은 개시된 세션 상태를 유지할 수 있다: 세션 관리자, 세션 종단점, 또는 세션 자격증명 기능. 세션 상태는 서비스 레이어 세션들의 설정, 관리, 및 해제를 위해 사용될 수 있다. 세션 상태는 동적으로 생성될 수 있다. 예를 들어, 메시지를 특정의 서비스 레이어 세션과 상관시키기 위해 세션 식별자들이 각각의 메시지에 포함될 수 있다. 세션 종단점들 또는 세션 관리자들은 그들이 송신하거나 수신하는 메시지에 기초하여 세션 상태를 생성하여 저장하고 이 상태를 세션 식별자에 기초하여 인덱싱할 수 있다. 서비스 레이어 세션 관리자는, 예를 들어, 이 상태를 저장하고 그가 행하는 장래의 사전 대응적 또는 자체적 서비스 레이어 결정들(세션 라우팅 결정, 세션 저장후 전달 결정 등) 또는 자체적 서비스 레이어 동작들(이전의 이력, 패턴들, 또는 경향들에 기초하여 데이터를 프리페칭하는 것 등)에서 이 상태를 고려할 수 있다.
세션 종단점은 세션 관리자와의 서비스 레이어 세션을 유지하기 위해 세션 상태를 저장할 수 있다. 세션 상태는 또한 세션 관리자들 및/또는 종단점들 사이에서 공유될 수 있다. 이 세션 상태는 웹 쿠키들과 유사한 방식으로 세션 종단점 자체에 의해 유지되거나 세션 관리자에 의해 유지될 수 있다. 예를 들어, 세션 종단점이 서비스 레이어 세션을 사용하고 있는 동안, 세션 상태는 세션 관리자에 의해 세션 종단점 상에서 업데이트/유지될 수 있다. 그렇게 함에 있어서, 세션 관리자는 세션 상태를 세션 종단점 상에 M2M 세션 쿠키로서 저장할 수 있다. 세션 종단점이 장래에 세션을 사용할 때, 이 저장된 M2M 세션 쿠키가 세션 관리자로 송신되거나 세션 관리자에 의해 검색되고, 종단점의 이전 활동을 알기 위해 세션 관리자에 의해 사용될 수 있다. M2M 세션 쿠키는 종단점이 과거에 어느 특정 자원들을 목표로 했는지, 자원들이 목표로 한 레이트 등과 같은 세션 상태를 포함할 수 있다. 이 M2M 세션 쿠키를 사용하여, 세션 관리자는 종단점의 이전 세션 액티비티에 기초하여 현재 세션 트랜잭션들을 보다 효율적으로 그리고 사전 대응적으로 관리할 수 있다. 예를 들어, 세션 관리자는 디바이스들이 깨어 있도록 보장하기 위해 미리 디바이스들을 사전 대응적으로 트리거하고, 미리 액세스 네트워크 자원들을 사전 대응적으로 예비하며, 대상 자원들이 미리 서비스 레이어에 캐싱/버퍼링되도록 미리 대상 자원들의 프리페칭을 수행하고, 기타를 할 수 있다. 유의할 점은, 개시된 M2M 세션 쿠키 개념이 또한 단일 홉 M2M 서비스 레이어 세션들에는 물론, E2E M2M 서비스 레이어 세션들에 적용가능할 수 있다는 것이다.
도 8은 세션 종단점(260)에 대한 기능적 아키텍처를 나타낸 것이다. 도 8에 도시되는 바와 같이, 세션 종단점(260)은 다음과 같은 것들 중 하나 이상을 포함할 수 있다: E2E M2M 세션 자격증명 부트스트래핑 기능(261), E2E M2M 세션 컨텍스트 및 이력 기능(262), E2E M2M 세션 수립 및 해제 기능(264), E2E M2M 세션 정책 기능(265), E2E M2M 세션 구성 및 발견 기능(266), E2E M2M 세션 데이터 관리 기능(263), 및 E2E M2M 세션 상태(267). 세션 종단점(260)은 E2E M2M 서비스 레이어 세션 통신(서비스 레이어 세션 통신)의 소스(source) 또는 싱크(sink)일 수 있는 논리적 엔티티인 것으로 간주될 수 있다. 일반적으로, 세션 종단점(260)은 도 5에 도시된 서비스 레이어 세션 관리자의 동일한 기능들 중 다수를 가진다. 그렇지만, 도 8의 세션 종단점(260)의 경우에, 이 기능들은 간소화될 수 있고, 보다 제한된 일 세트의 기능을 지원할 수 있으며, 서모스탯과 같은 자원 제약된 디바이스 상에 존재하는 세션 종단점들에 대해 특히 그렇다.
도 8을 계속하여 참조하면, E2E M2M 서비스 레이어 세션 종단점 자격증명 부트스트래핑 기능(261)(세션 종단점 자격증명 부트스트래핑 기능)은 세션 관리자에 대해 E2E M2M 서비스 레이어 세션 부트스트랩 요청들을 개시하는 것 및 세션 자격증명들을 포함하는 대응하는 응답들을 수신하는 것을 지원한다. 이 기능은 하나 이상의 대상 세션 종단점들과 서비스 레이어 세션을 수립하고자 하는 서비스 레이어 세션 종단점들에 의해 사용된다. 이 개시된 기능은 또한, 세션 종단점(260)이 다른 종단점에 의해 개시되고 있는 세션의 대상일 때, 세션 자격증명들을 포함하는 부트스트랩 구성 요청을 세션 관리자로부터 수신하는 것을 지원한다.
E2E M2M 서비스 레이어 세션 종단점 설정 및 해제 기능(264)(세션 종단점 설정 기능)은 세션 관리자에 대한 세션 종단점 설정 요청들을 개시하는 것을 지원한다. 이 기능은 또한 세션 종단점(260)이 세션 수립 또는 해제의 대상일 때 세션 수립 요청들을 세션 관리자로부터 수신하는 것을 지원한다.
E2E M2M 서비스 레이어 세션 종단점 컨텍스트 및 이력 기능(262)(세션 종단점 컨텍스트 기능)은 앞서 기술된 바와 같이 세션 관리자에 의해 지원되는 대응하는 기능과 유사한 방식으로 E2E M2M 서비스 레이어 세션 컨텍스트 및 이력 정보를 수집, 해석, 및 처리하는 것을 지원한다. 여기서, 세션 종단점(260)은 라우팅 및 액세스 네트워크 접속들에 관한 컨텍스트를 지원하지 않을 수 있다. 이 유형들의 컨텍스트가 세션 관리자들에 더 적합할 수 있다.
도 8의 E2E M2M 서비스 레이어 세션 종단점 정책 기능(265)(세션 종단점 정책 기능)은 본 명세서에서 세션 관리자들과 관련하여 논의된 바와 같이 세션 관리자에 의해 지원되는 대응하는 기능과 유사한 방식으로 E2E M2M 서비스 레이어 세션 정책들을 수집, 해석, 및 처리하는 것을 지원한다. 여기서, 세션 종단점(260)은 라우팅, 저장후 전달, 프리페칭, 및 액세스 네트워크 접속들에 관한 정책들을 지원하지 않을 수 있다. 이 유형들의 컨텍스트가 세션 관리자들에 더 적합할 수 있다. E2E M2M 서비스 레이어 세션 종단점 구성 및 발견 기능(266)(세션 종단점 구성)은 본 명세서에 기술된 바와 같이 세션 관리자에 의해 지원되는 대응하는 기능과 유사한 방식으로 서비스 레이어 세션 속성들 및 파라미터들에 대한 구성 및 발견 기능들을 지원한다. E2E M2M 세션 종단점 데이터 관리 기능(263)(세션 종단점 데이터 관리 기능)은 세션 종단점(260)에 의해 처리되는 E2E M2M 서비스 레이어 세션 메시지들에 포함되어 있는 데이터의 관리를 지원한다. 상세하게는, 이 기능은 세션 자격증명들을 사용하는 서비스 레이어 세션 데이터의 암호화 또는 복호화를 지원할 수 있다.
본 명세서에 정의된 E2E M2M 서비스 레이어 세션 인터페이스 메시지들은 TCP(transmission control protocol) 및/또는 TLS(transport layer security) 세션 UDP(user datagram protocol)/DTLS(datagram TLS), HTTP(hypertext transfer protocol), CoAP(constrained application protocol)와 같은 몇개의 기본 기존 프로토콜들 위에 바인딩되거나 계층화되어(그들 내에 캡슐화되어) 있을 수 있다. 그렇게 함에 있어서, 세션 상태(예를 들어, 보안 자격증명, 혼잡 정보 등)가 상이한 세션들 사이에서 공유되고 이용될 수 있다. 또한, 하위 레이어 세션들이 설정되고 해제되는 것과 무관하게 서비스 레이어 세션이 지속되고 유지될 수 있도록 서비스 레이어 세션은 하위 레이어 세션들과 관련하여 지속성을 지원할 수 있다. 하나의 예시적인 실시예로서, E2E M2M 서비스 레이어 세션 제어 메시지들이 JSON 또는 XML 표현으로서 인코딩되고 HTTP 또는 CoAP 메시지들의 페이로드 내에서 전달될 수 있다. 이 HTTP 및 CoAP 메시지들은 다시, 각각, 기본 TCP/TLS 및 UDP/DTLS 메시지들에 의해 캡슐화되어 전달될 수 있다.
이하의 도 9 내지 도 24는 oneM2M 및 다른 아키텍처들에 적용될 수 있는 E2E M2M 서비스 레이어 세션들에 관한 상세를 제공한다. 추가적 컨텍스트에 대해, oneM2M RESTful 아키텍처에 따르면, CSF(capability service function)가 일 세트의 "자원들"로 표현된다. 자원은 아키텍처에서의 고유하게 어드레싱 가능한 엔티티이다. 자원은 Create, Retrieve, Update, 및 Delete와 같은 RESTful 메서드들을 통해 조작될 수 있는 표현을 가지며, URI(Universal Resource Identifier)를 사용하여 어드레싱된다. 자원은 자식 자원(들) 및 속성(들)을 포함할 수 있다. 자식 자원은 부모 자원과 포함 관계(containment relationship)를 가지는 자원이다. 부모 자원 표현은 그의 자식 자원(들)에 대한 참조들을 포함한다. 자식 자원의 수명은 부모의 자원 수명에 의해 제한된다. 각각의 자원은 자원의 정보를 저장하는 일 세트의 "속성들"을 지원한다.
도 9는 세션 관리자의 oneM2M 실시예를 나타낸 것이다. oneM2M은 oneM2M 서비스 레이어에 의해 지원되는 기능들의 정의들을 가진다. 이 기능들은 CSF(capability service function)(CSF(270) 등)라고 지칭될 수 있다. oneM2M 서비스 레이어는 CSE(capability services entity)(CSE(271) 등)라고 지칭될 수 있다. CSE의 현재 버전은 세션 관리(Session Management, SMG) CSF에 대한 자리 표시자(placeholder)를 갖지만; 이 기능의 상세는 아직 정의되지 않았다. 일 실시예에서, 세션 관리자는 oneM2M SMG CSF(272)로서 역할을 할 수 있다. SMG CSF(272)는 M2M 애플리케이션들 사이의, M2M 애플리케이션과 CSE 사이의, 또는 CSE들 사이의 서비스 레이어 세션들을 관리할 수 있다. AE들은 레퍼런스 포인트 X를 통해 CSE들에 접속하는 반면, CSE들은 레퍼런스 포인트 Y를 통해 다른 CSE들에 접속한다.
도 10a 및 도 10b는 이하에서 보다 상세히 정의되는 자원들을 지원하는 oneM2M SMG(session management) 서비스에 대한 E2E M2M 서비스 레이어 세션 수립 프로시저를 나타내고 있다. 이 프로시저는 다음과 같을 수 있다(꼭 도시된 순서로 될 필요는 없음). 도 10a에 도시되는 바와 같이, 단계 310에서, CSE(306) 및 CSE(304)는 서로 등록하고, E2E M2M 서비스 세션 관리(세션 관리 또는 SMG) 기능들을 서로 교환한다. 단계 311에서, AE(308) 및 AE(302)는, 각각, CSE(306) 및 CSE(304)에 등록하고, 그들이 E2E M2M 세션 기반 통신(즉, E2E M2M 서비스 레이어 세션)을 지원한다는 것을 광고한다. oneM2M은 AE(application entity)를 M2M 애플리케이션 기능을 호스팅하는 네트워크 노드(예를 들어, M2M 디바이스)로서 정의한다. 단계 312에서, AE(302)는 CSE(304) 상 상에 호스팅되는 sessions 집합체 자원에 가입한다. 통지들이 송신될 수 있는 콜백 URI(uniform resource identifier)가 가입 요청에 포함될 수 있다. M2M 서비스 세션 수립 요청이 CSE(304)에 의해 수신될 때 AE(302)가 통지들을 수신하기 위해 이것이 행해질 수 있다. 이것은 CREATE 요청을 통해 행해질 수 있다.
도 10a를 계속하여 참조하면, 단계 313에서, CSE(304)는 AE(302)에 대한 sessions 자원에의 가입을 생성한다. 단계 314에서, CSE(304)는 가입 CREATE 요청에 대한 긍정적 응답을 반환한다. 단계 315에서, AE(308)는 E2E M2M 세션 기반 통신(즉, E2E M2M 서비스 레이어 세션)을 지원할 AE(302) 및 AE(302)의 능력을 발견한다. 단계 315는 CSE(306) 또는 CSE(304)에 의해 서비스되는 자원 발견 요청에 기초할 수 있다. 발견 결과들은 AE(308)가 AE(302)와 E2E M2M 세션을 수립하기 위해 사용할 수 있는 AE(302)에 대한 M2M 식별자들(예를 들어, 애플리케이션 ID, 노드 ID 등)과 같은 정보를 포함할 수 있다. 단계 316에서, AE(308)는 AE(302) 식별자 정보는 물론 세션을 수립하기 위해 SMG CSF에 의해 사용되는 AE(308) 정보를 포함하는 <session> 자원 CREATE 요청을 CSE(306)로 송신하는 것에 의해 AE(302)와 E2E M2M 세션을 수립하라고 요청한다. 단계 317에서, CSE(306)는 고유의 E2E 세션 식별자 및 세션 자격증명들을 할당한다. 세션 식별자들은 세션을 식별해주는 반면, 세션 자격증명들은 인증하고 식별된 세션에 참가할 권한을 부여하는데 사용된다. 단계 318에서, CSE(306)는 단계 316의 세션 수립 요청을 다음 홉(이 예에서, CSE(304)임)으로 전달한다. 세션 식별자 및 세션 자격증명들은 이 전달되는 요청에 포함될 수 있다. 단계 319에서, CSE(304) 상의 SMG CSF는 AE(302)를 대상으로 하는 M2M 서비스 세션 수립 요청을 수신하여 처리한다.
도 10b에서 계속되는 바와 같이, 단계 320에서, CSE(304) 상의 SMG CSF는 M2M 서비스 세션 수립 요청의 통지를 AE(302)로 송신한다. CSE(304)는 세션 식별자 및 자격증명들은 물론, 그 중에서도 특히, AE(308)의 M2M 식별자(들)와 같은 AE(308) 세션 정보를 통지에 포함시킨다. 이 정보는 나중에 세션 기반 메시지들을 CSE(304) 및 CSE(306) 상의 SMG CSF들을 통해 AE(308)로 송신하거나 그로부터 수신하기 위해 AE(302)에 의해 사용될 수 있다. 단계 321에서, AE(302)는 관심이 있고 AE(308)과의 M2M 서비스 세션(즉, 앞서 기술된 E2E M2M 서비스 레이어 세션)에 기꺼이 들어갈 것임을 나타내는, 통지 요청에 대한 긍정적 응답을 반환한다. AE(302)에 의해 명시된 세션 수립 정보(예를 들어, AE(302)의 M2M 식별자, 세션을 통해 액세스 가능하게 만들고자 하는 자원들 등)가 응답에 포함될 수 있다. 단계 322에서, CSE(304) 상의 SMG CSF는, 그가 세션 정보(예를 들어, sessionID, 종단점 식별자들 등)를 저장하는, AE(308) 및 AE(302) 양자 모두에 대한 M2M 서비스 <session> 자원 및 <sessionEndpoint> 자원들을 생성한다. 또한, CSE(306)에 대해 <nextHop> 자원이 또한 생성된다.
도 10b를 계속하여 참조하면, 단계 323에서, CSE(304) 상의 SMG CSF는 M2M 서비스 세션 수립 CREATE 요청에 대한 긍정적 응답을 CSE(306) 상의 SMG CSF에 반환한다. 단계 324에서, CSE(306) 상의 SMG CSF는, 그가 세션 정보(예를 들어, sessionID, 종단점 식별자들 등)를 저장하는, AE(308) 및 AE(302) 양자 모두에 대한 M2M <session> 자원 및 <sessionEndpoint> 자원들을 생성한다. 또한, CSE(304)에 대해 <nextHop> 자원이 또한 생성된다. 단계 325에서, CSE(306) 상의 SMG CSF는 단계 316의 M2M 서비스 세션 수립 CREATE 요청에 대한 긍정적 응답을 AE(308)에 반환한다. 응답은, 그 중에서도 특히, 세션 ID 및 자격증명들과 같은 세션 정보를 포함할 수 있다. 단계 326에서, AE(308)는 세션에 대해 그가 요구하는 원하는 레벨의 QoS(예를 들어, QoS는 메시지가 저장후 전달되어서는 안된다는 것일 수 있음)를 지원하기 위해 세션 정책을 생성하라는 요청을 CSE(306)로 송신한다. 단계 327에서, CSE(306) 상의 SMG CSF는 요청을 CSE(304) 상의 다음 홉 SMG CSF로 전달한다. 단계 328에서, CSE(304) 상의 SMG CSF는 <sessionPolicy> 자원을 생성한다. 단계 329에서, CSE(304) 상의 SMG CSF는 긍정적 응답을 CSE(306) 상의 SMG CSF로 반환한다. 단계 330에서, CSE(306) 상의 SMG CSF는 <sessionPolicy> 자원을 생성한다. 단계 331에서, CSE(304) 상의 SMG CSF는 긍정적 응답을 AE(308)로 반환한다.
도 11a 및 도 11b는 이하에서 보다 상세히 정의되는 자원들을 지원하는 oneM2M SMG 서비스에 대한 세션 사용 프로시저를 나타내고 있다. 단계 340에서, AE(308)는 CSE(304) 상 상에 호스팅되는 AE(302) 컨테이너 자원을 업데이트하라는 서비스 세션 기반 요청을 CSE(306)로 송신한다. 단계 341에서, CSE(306)는 단계 340의 요청이 서비스 세션 기반이라는 것을 검출하고, 그를 처리하기 위해 SMG CSF로 전달한다. 단계 342에서, sessionID에 기초하여, CSE(306) 상의 SMG CSF는 수신된 URI가 유효한 세션 종단점(AE(302)의 container1 자원)을 대상으로 한다는 것을 검증한다. 단계 343에서, 대상 세션 종단점(즉, AE(302))에 기초하여, CSE(306) 상의 SMG CSF는 다음 홉이 CSE(304)라고 결정한다. 단계 344에서, sessionID 및 대상 세션 종단점(즉, AE(302))에 기초하여, CSE(306) 상의 SMG CSF는 저장후 전달 스케줄링 정책을 정의하는 세션 정책을 찾아낸다. 단계 345에서, 정책에 기초하여, CSE(306)는 비혼잡 시간대(off-peak hours)까지 요청을 저장하고, 이어서 비혼잡 시간대 동안 그를 CSE(304)로 전달한다. 단계 346에서, CSE(306)는 요청을 CSE(304)로 전달한다. 단계 347에서, CSE(304)는 요청이 세션 기반이라는 것을 검출하고, 그를 처리하기 위해 SMG CSF로 전달한다. 단계 348에서, sessionID에 기초하여, CSE(304) 상의 SMG CSF는 수신된 URI가 유효한 세션 종단점(AE(302)의 container1 자원)을 대상으로 한다는 것을 검증한다. 단계 349에서, 대상 세션 종단점에 기초하여, CSE(304) 상의 SMG CSF는 요청이 로컬 AE(302) 컨테이너 자원을 대상으로 한다고 결정한다. 단계 350에서, sessionID 및 대상 세션 종단점에 기초하여, CSE(304) 상의 SMG CSF는 즉각적인 응답을 요구하는 세션 정책을 찾아낸다. 단계 351에서, 정책들에 기초하여, CSE(304)는 요청을 서비스하고 응답을 반환한다. 단계 352에서, CSE(304) 상의 SMG CSF는 세션 요청/응답 이력을 추적하기 위해 세션 컨텍스트를 생성한다.
도 11b에서 계속되는 바와 같이, 단계 353에서, CSE(304)는 응답을 CSE(306)로 송신한다. 단계 354에서, CSE(306) 상의 SMG CSF는 세션 요청/응답 이력을 추적하기 위해 세션 컨텍스트를 생성한다. 단계 355에서, CSE(306) 상의 SMG CSF는 응답을 AE(308)로 송신한다. 단계 356에서, CSE(304) 상의 SMG CSF는 컨테이너가 업데이트되었다는 세션 종단점(AE(302))에 대한 통지를 준비한다. 단계 357에서, CSE(304) 상의 SMG CSF는 container1 자원이 업데이트되었다는 통지를 세션의 일부로서 AE(302)로 송신한다. 단계 358에서, AE(302)는 통지를 수신했다는 긍정적 응답으로 응답한다. 단계 359에서, AE(302)는 업데이트된 컨테이너 자원을 검색하라는 세션 기반 RETRIEVE 요청을 CSE(304)로 송신한다. 단계 360에서, CSE(304)는 단계 359의 요청이 세션 기반이라는 것을 검출하고, 그를 처리하기 위해 SMG CSF로 전달한다. 단계 361에서, sessionID에 기초하여, CSE(304) 상의 SMG CSF는 URI가 유효한 세션 종단점(AE(302)의 container1 자원)을 대상으로 한다는 것을 검증한다. 단계 362에서, 대상 세션 종단점에 기초하여, CSE(304) 상의 SMG CSF는 요청이 로컬 AE(302) container1 자원을 대상으로 한다고 결정한다. 단계 363에서, sessionID 및 대상 세션 종단점에 기초하여, CSE(304) 상의 SMG CSF는 즉각적인 응답을 요구하는 세션 정책을 찾아낸다. 단계 364에서, 정책들에 기초하여, CSE는 요청을 서비스하고 즉각적인 응답을 반환한다. 단계 365에서, CSE(304) 상의 SMG CSF는 세션 요청 또는 응답 이력을 추적하기 위해 세션 컨텍스트를 생성한다. 단계 366에서, CSE(304)는 응답을 AE(302)로 반환한다.
도 12는 이하에서 정의되는 자원들을 지원하는 oneM2M SMG 서비스에 대한 예시적인 E2E M2M 세션 종료 프로시저를 나타낸 것이다. 이러한 예에서, 세션 착수자(AE(308))에 의해 세션 종료가 호출된다. 비록 도 12에 도시되어 있지는 않지만, 세션 종료가 또한 다른 세션 종단점들, SMG CSF 자체, 및 그렇게 할 적절한 관리 권한을 가지는 다른 CSF들에 의해 호출될 수 있다. 단계 370에서, AE(308)는 DELETE를 사용하여 E2E M2M 세션 종료 요청을 CSE(306)로 송신한다.
단계 371에서, CSE(306) 상의 SMG CSF는 요청을 처리하고, 이 CSE들에 관한 세션 상태가 해제될 수 있도록 세션 종료 요청을 다른 CSE들 상의 어느 다음 홉 SMG CSF들로 전달할 필요가 있는지를 결정한다. 이러한 예에서, CSE(304) 상의 SMG CSF가 검출된 다음 홉이다. 단계 372에서, CSE(306) 상의 SMG CSF는 세션 종료 요청을 CSE(304) 상의 SMG CSF로 전달한다. 단계 373에서, CSE(304) 상의 CSF는 세션이 종료될 것임을 세션 종단점(즉, AE(302))에 통지한다. 단계 374에서, AE(302)는 통지를 처리하고 국부적으로 저장된 M2M 세션 상태를 삭제한다. 단계 375에서, AE(302)는 그의 로컬 M2M 세션 상태를 제거했다는 것을 나타내는 통지 요청에 대한 긍정적 응답을 반환한다. 단계 376에서, CSE(304) 상의 SMG CSF는 그의 국부적으로 호스팅되는 <session> 자원 및 모든 자식 자원들을 삭제한다. SMG CSF는 또한 세션에 할당된 보안 자격증명들 및 식별자들과 같은 임의의 로컬 세션 상태를 삭제한다. 단계 377에서, CSE(304) 상의 SMG CSF는 세션 종료 DELETE 요청에 대한 긍정적 응답을 CSE(306) 상의 SMG CSF에 반환한다. 단계 378에서, CSE(306) 상의 SMG CSF는 그의 국부적으로 호스팅되는 <session> 자원 및 모든 자식 자원들을 삭제한다. SMG CSF는 또한 세션에 할당된 보안 자격증명들 및 식별자들과 같은 임의의 로컬 세션 상태를 삭제한다. 단계 379에서, CSE(306) 상의 SMG CSF는 M2M 서비스 세션 종료 DELETE 요청에 대한 긍정적 응답을 AE(308)에 반환한다. 단계 380에서, AE(308)는 저장된 M2M 세션 상태를 삭제한다.
도 10a, 도 10b, 도 11a, 도 11b, 및 도 12에 도시되는 단계들을 수행하는 엔티티들이 도 37c 또는 도 37d에 도시되는 것들과 같은 네트워크 노드 또는 컴퓨터 시스템의 메모리에 저장되고 네트워크 노드 또는 컴퓨터 시스템의 프로세서 상에서 실행되는 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있는 논리적 엔티티들이라는 점이 이해된다. 즉, 도 10a, 도 10b, 도 11a, 도 11b, 및 도 12에 도시되는 방법(들)은 도 37c 또는 도 37d에 도시되는 노드 또는 컴퓨터 시스템의 메모리에 저장된 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있고, 이 컴퓨터 실행가능 명령어들은, 노드의 프로세서에 의해 실행될 때, 도 10a, 도 10b, 도 11a, 도 11b, 및 도 12에 도시되는 단계들을 수행한다.
본 명세서에서 논의된 프로시저들에서 사용될 수 있는, SMG CSF에 대한 자원 구조들(예를 들어, 도 14)이 이하에서 개시된다. 자원 도면들의 이해를 돕기 위해, 자원 구조들을 설명하기 위한 oneM2M에 의해 정의된 그래픽 표현은 다음과 같다: 1) 정사각형 상자들은 자원들 및 자식 자원들에 대해 사용될 수 있고; 2) 둥근 코너들을 갖는 정사각형 상자들은 속성들에 대해 사용될 수 있으며; 3) 직각을 갖지 않는 평행사변형(예를 들어, 장사방형(rhomboid))이 자원들의 집합체에 대해 사용될 수 있고; 4) 각각의 속성 및 자식 자원의 다중성(multiplicity)이 정의되고; 5) "<"와 ">"의 구분 기호로 표시되어 있는 자원 이름들은 자원의 생성 동안 할당된 이름들을 나타낸다.
"sessions" 자원은, 도 13에 도시되는 바와 같이, 하나 이상의 <session> 자원들의 수집을 나타낼 수 있다. 대안적으로, <session> 자원들은 독립적으로(즉, sessions 집합체 자원 밖에) 인스턴스화될 수 있다. 이 sessions 자원은 oneM2M CSE 자원 트리 레이어구조에서 다양한 레벨들에 인스턴스화될 수 있다. 인스턴스화의 레벨은 M2M 세션의 유형을 나타낼 수 있다. 이와 유사하게, M2M 애플리케이션들 사이의 또는 M2M 애플리케이션들과 CSE들 사이의 M2M 세션들은, 도 14에 도시되는 바와 같이, application 자원 아래에 인스턴스화될 수 있다. 예를 들어, 다수의 CSE들 사이의 M2M 세션들은, 도 15에 도시되는 바와 같이, CSE의 기본 URI 아래에 인스턴스화될 수 있다. sessions 자원은 표 1에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 2에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00001
Figure 112017037882011-pct00002
<session> 자원은, 도 16에 도시되는 바와 같이, 특정의 M2M 서비스 세션을 관리하기 위해 SMG CSF에 의해 사용되는 정보를 포함할 수 있다. 이 자원은 표 3에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 4에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00003
Figure 112017037882011-pct00004
sessionEndpoints 자원은, 도 17에 도시되는 바와 같이, <sessionEndpoint> 자원들의 수집을 나타낼 수 있다. 이 자원은 표 5에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 6에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00005
Figure 112017037882011-pct00006
<sessionEndpoint> 자원은, 도 18에 도시되는 바와 같이, 특정의 M2M 서비스 세션 종단점에 적용가능한 속성들 및 자식 자원들을 포함할 수 있다. 이 자원은 표 7에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 8에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00007
Figure 112017037882011-pct00008
nextHops 자원은, 도 19에 도시되는 바와 같이, <nextHop> 자원들의 수집을 나타낼 수 있다. 이 자원은 표 9에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 10에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00009
Figure 112017037882011-pct00010
<nextHop> 자원은, 도 20에 도시되는 바와 같이, M2M 세션이 세션 종단점들 사이에 있는 다수의 CSE 홉들로 이루어져 있을 때 SMG CSF가 특정의 세션 종단점에 대한 메시지들을 전달하는 다음 홉 CSE에 관한 정보를 포함할 수 있다. 이 자원은 주어진 세션 및/또는 세션 종단점에 대한 세션 기반 요청들이 전달되는 다음 홉 CSE의 상태를 유지하기 위해 SMG CSF에 의해 사용될 수 있다. 이 정보를 유지하는 것은 다수의 CSE들에 걸쳐 있는 다중 홉 M2M 세션들을 해제하는 것은 물론 상이한 CSE들 상 상에 호스팅되는 SMG CSF들 사이의 협력과 같은 동작들에 대해 유용할 수 있다. 이 자원은 표 11에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00011
sessionPolicies 자원은, 도 21에 도시되는 바와 같이, <sessionPolicy> 자원들의 수집을 나타낼 수 있다. 이 자원은 표 12에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 13에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00012
Figure 112017037882011-pct00013
<sessionPolicy> 자원은, 도 22에 도시되는 바와 같이, 특정의 M2M 서비스 세션 정책에 적용가능한 속성들을 포함할 수 있다. 이 자원은 표 14에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00014
sessionContext 자원은, 도 23에 도시되는 바와 같이, <sessionContextInstances> 자원들의 수집을 나타낼 수 있다. 이 자원은 표 15에서의 그의 다중성에 따라 자식 자원들을 포함할 수 있다. 이 자원은 표 16에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00015
Figure 112017037882011-pct00016
<sessionContextInstance> 자원은, 도 24에 도시되는 바와 같이, 특정의 타입의 M2M 서비스 세션 컨텍스트에 적용가능한 속성들을 포함할 수 있다. 이 자원은 표 17에서의 그의 다중성에 따라 속성들을 포함할 수 있다.
Figure 112017037882011-pct00017
서비스 레이어 세션 마이그레이션 및 공유
서비스 레이어 세션 마이그레이션 및 공유의 필요성 및 이점을 설명하기 위해, 본 명세서에는 2개의 사용 사례들이 설명된다. 제1 사용 사례는 도 25에 도시되고, 제2 사용 사례는 도 26에 도시된다.
도 25를 참조하여, 제1 사용 사례에서는, 전 세계에 신선한 농산물(예를 들어, 바나나)을 배송하는 회사를 고려하자. 목적지에 따라, 회사의 농산물에 대한 전형적인 이동은 철저하게 거리가 다양할 수 있으며, 계약하는 비행기, 열차(예를 들어, 열차(410)), 트럭(예를 들어, 트럭(414)) 및 선박을 포함하는 상이한 형태의 여러 구간들을 포함할 수 있다. 이러한 구간들 각각은 배송 시간이 철저하게 다를 수 있다. 또한, 목적지에 따라, 물류 센터, 창고(예를 들어, 창고(402 및 404)), 선창 등에서 여러 번 정지할 수 있다. 이러한 이유로, 제대로 익은 제품이 최종 목적지에 도달하는 것을 보장하는 것은 회사에게 상당히 어려울 수 있다.
농산물의 품질 및 신선도를 그것이 성장되어 수확된 들판으로부터 그것이 구매될 수 있는 슈퍼마켓까지 보장하기 위해서, 회사는 M2M 센서 기술을 사용하여 농산물의 성숙도 뿐만 아니라 수송 동안의 환경 조건들을 모니터할 수 있다. 예를 들어, 센서들(412a, 412b, 412c 및 412d)과 같은 M2M 센서는 회사가 배송하는 농상물의 각각의 박스 내에 제공될 수 있다. 상자 안에 포함되는 농산물을 주기적으로 측정하는 애플리케이션이 각각의 M2M 센서 상에 호스팅될 수 있다. 예를 들어, 바나나의 경우에, 상자에 있는 바나나가 시간이 지남에 따라 방출하는 에틸렌 가스의 양을 측정하여, 바나나가 숙성 과정에서 어디에 있는지 예측하는데 M2M 센서가 사용될 수 있다. 이것은 바나나가 익을 때 에틸렌 가스 배출 정도가 증가하기 때문이다. 또한, 바나나의 숙성은 온도를 낮추면 느려질 수 있고 반대로 온도를 올리면 빨라질 수 있기 때문에 상자 내부의 온도도 면밀히 모니터링될 수 있다.
농산물의 상자가 자신의 목적지로 향하는 과정에서, 예를 들어, 제1 창고(402)에서 제2 창고(404)로, 회사는 농산물의 각각의 상자가 자신의 경로를 따라 정류장에서 정류장으로 이동함에 따라 그로부터 측정치들을 수집하도록 유통 경로들(예를 들어, 창고, 유통 센터, 적재 도크 등)을 따라 설치되는 M2M 게이트웨이들(예를 들어, M2M 게이트웨이(407 및 409))의 네트워크와 통신하는 M2M 서버(400)로 구성되는 M2M 서비스 레이어 플랫폼을 사용할 수 있다. 농산물의 상자가 자신의 경로를 따라 새로운 위치에 도달하면, 그 상자 내의 M2M 센서(예를 들어, 센서(412a-d))는 자신의 새로운 위치에서 M2M 게이트웨이(예를 들어, M2M 게이트웨이(407 또는 409))와 서비스 레이어 세션을 수립할 수 있다.
M2M 게이트웨이에서의 M2M 게이트웨이 서비스 레이어 인스턴스는 자신의 경로를 따라 이전 정류장들에서 M2M 게이트웨이 서비스 레이어 인스턴스들에 의해 수집되는 측정값뿐만 아니라 그 이동 이력으로부터 유래되는 주어진 상자의 농산물을 자동으로 식별할 수 있다. 이것은 서비스 레이어 세션 컨텍스트 및 구성 정보가 M2M 센서의 경로를 따라 (M2M 서버로부터의 도움으로) M2M 게이트웨이 서비스 레이어 인스턴스들 사이에서 마이그레이션 및 공유되게 하는 M2M 서비스 레이어 플랫폼에 의해 지원되는 세션 마이그레이션 특징(이후에 더 설명됨)에 의해 모두 용이하게 될 수 있다. 예를 들어, 제1 창고(402)에서 센서들(412a-d) 상의 M2M 애플리케이션들과 M2M 게이트웨이(407) 상의 M2M 서비스 레이어 인스턴스 사이에 수립되는 서비스 레이어 세션들에 대한 서비스 레이어 세션 컨텍스트(406)는, 도 25에서 라인 418에 의해 나타나는 바와 같이, (M2M 서버(400)로부터의 도움으로) 제2 창고(404)에서 M2M 게이트웨이(409) 상의 M2M 서비스 레이어 인스턴스에 마이그레이션될 수 있다. 마이그레이션된 서비스 레이어 세션 컨텍스트는 M2M 게이트웨이(407)로부터 M2M 서버(400)로 그리고 M2M 게이트웨이(409)로 송신됨에 따라 406, 406'및 406"에 도시된다. 그렇게 함에 있어서, 이러한 세션 마이그레이션 특징은 농산물의 각각의 상자에서의 각각의 M2M 센서에서 실행되는 M2M 애플리케이션이 자신의 경로를 따라 각각의 M2M 게이트웨이 서비스 레이어 인스턴스와 새로운 M2M 서비스 레이어 세션을 수립하지 않아도 되게 한다. 대신에, 마이그레이션된 세션 컨텍스트는 M2M 센서가 처음부터 세션을 구성하지 않아도 되게 하는 기존 세션을 다시 설정하는데 사용될 수 있다. 또한, 경로를 따라 각각의 M2M 게이트웨이 서비스 레이어 인스턴스에 의해 수집되는 서비스 레이어 세션 컨텍스트는 경로를 따라 다른 M2M 게이트웨이 서비스 레이어 인스턴스들과 보다 안전하고 효율적으로 공유될 수 있다. M2M 센서가 새로운 위치로 이동하고 새로운 M2M 게이트웨이 서비스 레이어 인스턴스에 등록된 것을 검출할 때 M2M 게이트웨이 서비스 레이어 인스턴스들 사이에 컨텍스트를 자동으로 마이그레이션하는 서비스 플랫폼에 의해 이것이 행해질 수 있다. 이것은 새로운 M2M 게이트웨이 서비스 레이어 인스턴스(예를 들어, 회사의 관리 애플리케이션의 인스턴스 - 도시되지 않음)에 접속되는 로컬 애플리케이션들이 이러한 정보를 보다 효율적이고 용이하게 발견하고 액세스하게 한다. 예로서, 이러한 세션 마이그레이션 기능성을 이용하면, 각각의 상자의 농산물이 숙성되는 속도가 보다 효율적이고 정확하게 추적될 수 있으며, 차례로, 회사는 보다 정확한 정보를 바탕으로 배송 결정을 내릴 수 있다.
도 26은 다른 예시적인 사용 사례를 도시한다. 이러한 사용 사례에서는, 경미한 치매로 고통 받고 있을 수 있으며 B형 당뇨병일 수 있는 사람(423)을 고려하자. 그 사람은 집(427)에서 혼자 살 수 있으며, 가족 및 간병인들로부터의 원격 지원을 요구할 수 있다. 이 사람에게 적절한 치료를 제공하기 위해, 집(427)은 집에서의 사람의 위치 뿐만 아니라 그 사람의 활동 수준을 추적하기 위한 다양한 센서들(예를 들어, 침대 매트리스, 바닥, 욕실, 주방 등에 대한 센서들)를 갖추고 있다. 또한, 그 사람은 그 사람의 포도당 수준들을 모니터하기 위해 착용되는 스마트 혈당계 디바이스(422)를 구비할 수 있다. 이러한 예에서, 센서들(예를 들어, 센서(422))은 그 사람의 건강 관리 제공자에 의해 관리되는 M2M 가능형 웹 서비스 플랫폼에 정기적으로 판독값을 보고하도록 구성될 수 있다. 이러한 M2M 서비스 레이어 플랫폼은 그 사람의 가족 및 간병 제공자가 그 집의 센서들에 의해 제공되는 정보를 사용하여 그 사람을 원격으로 모니터링하게 하는 서비스를 제공할 수 있다.
M2M 서비스 레이어 플랫폼은 그 사람의 가족 구성원들 및 간병 제공자들 각각이 M2M 서비스 레이어 플랫폼을 통해 그 사람의 집에 있는 센서들로의 보안 통신 세션을 수립하고 그들의 웹 가능형 디바이스들(예를 들어, 스마트 폰, 태블릿, 랩탑 등) 중 하나 상에 호스팅되는 원격 앱을 사용하여 그 사람의 활동을 모니터하게 할 수 있다. 이러한 플랫폼은 그 사람의 센서들과 그 사람의 가족 구성원들 및 간병 제공자 디바이스들 상 상에 호스팅되는 각각의 앱들 사이의 보안 통신을 조정할 수 있다. 서비스 레이어 플랫폼을 통해, 각각의 가족 구성원 및 간병 제공자는 집 안의 위치와 같은 그 사람에 관한 실시간 정보를 액세스할 수 있다. 또한, 이들은, 예를 들어, 그 날 집 전반적으로 추적된 이동, 그 사람이 욕실을 방문하였는지, 그 사람이 냉장고를 열었는지 또는 스토브를 켰는지, 또는 지난 12시간 동안의 혈당계 판독 값의 수집과 같은, 센서들에 의해 수집되고 M2M 서비스 레이어 플랫폼 내에 저장되는 정보를 또한 액세스할 수 있다. M2M 서비스 레이어 플랫폼은 그 사람의 가족 구성원이 가입하여 스토브가 1 시간 이상 켜져 있거나 혈당계 판독 값이 특정 임계 값을 초과할 때와 같은 특정 이벤트들의 발생에 기초하여 경보를 수신하게 할 수도 있을 것이다.
그 사람의 가족 구성원들 및 간병 제공자들이 서로 보다 잘 협조하고 가족 구성원들이 자신의 자유 시간 중 일부를 여전히 즐기게 하면서 그 사람이 항상 충분히 모니터되는 것을 보장하기 위해, 서비스 플랫폼은 특정 추가 특징들을 지원할 수 있다. 하나의 이러한 특징은 가족 구성원들 및 간병 제공자들이 그 사람의 간병을 예정된 교대로 나누게 하는 서비스 레이어 플랫폼의 능력이다. 각각의 교대의 시작/끝에서, 서비스 레이어는 한 가족 구성원 또는 간병 제공자에서 다른 사람으로 그 사람의 모니터링을 끊임없이 전환하는 것을 지원할 수 있다. 이것은 집에 있는 센서들을 하나의 지정된 가족 구성원 또는 간병 제공자로부터 다른 사람으로 접속하는 서비스 레이어 세션을 동적으로 마이그레이션하는 서비스 레이어 플랫폼에 의해 달성될 수 있다.
예를 들어, 도 26을 참조하면, 도시되는 바와 같이, 혈당계와 같은 원격 모니터링 디바이스(422) 상에서 실행되는 M2M 애플리케이션이 그 사람의 가족 구성원들 중 한 사람의 스마트 폰(428) 상에서 실행되는 eHealth 애플리케이션과 서비스 레이어 세션을 수립할 수 있으며, 이러한 세션은 M2M 게이트웨이(420) 및 M2M 서버(421) 상의 서비스 레이어 인스턴스들에 의해 용이하게 될 수 있다. M2M 게이트웨이(420)는 세션에 관련되는 서비스 레이어 세션 컨텍스트(424)를 저장할 수 있고, M2M 서버(426) 및 스마트 폰(428) 상에서 실행되는 서비스 레이어 인스턴스는 또한 각각 426 및 430에서 세션과 관련되는 컨텍스트를 저장할 수 있다. 미리 결정되거나 또는 예정된 시간에, 서비스 레이어 플랫폼은, 모니터링 디바이스(422)를 스마트 폰(428)과 접속시키는 서비스 레이어 세션의 그 스마트 폰(428)으로부터 eHealth 애플리케이션의 자신의 인스턴스를 실행하는 다른 가족 구성원 또는 간병 제공자의 랩탑(430)으로의 마이그레이션을 용이하게 할 수 있다. 이러한 마이그레이션은 점선 436에 의해 도시된다. 도시되는 바와 같이, 마이그레이션된 서비스 레이어 세션 컨텍스트(430')는 랩탑(432)에서 기존 세션을 재수립하는데 사용될 수 있으며, 다른 가족 구성원 또는 간병 제공자가 그 사람의 모니터링을 인수하게 한다. 이러한 마이그레이션을 수행할 때, 서비스 레이어는 그 사람의 경보가 전송되는 연락처 정보를 자동으로 업데이트할 수 있어, 각각의 교대의 시작/정지시 지정된 가족 구성원 또는 간병 제공자는 그들의 디바이스들을 그 사람의 센서들에 접속하는 보안 서비스 레이어 세션을 통해 이러한 경보들을 수신하도록 구성된다.
서비스 플랫폼이 지원할 수 있는 다른 특징은 그 사람의 가족 구성원들 및 간병 제공자들이 그들의 디바이스를 그 사람의 센서들에 접속하는 그들의 서비스 레이어 세션을 동일한 가족 구성원 또는 간병 제공자에 의해 소유되는 다른 지정된 디바이스(들)에 끊임없이 마이그레이션하게 하는 능력이다. 예를 들어, 가족 구성원의 또는 간병자의 교대 동안 그들이 그들의 전화를 사용하는 것으로부터 그들의 태블릿이나 PC를 사용하는 것으로 전환하여 경보를 수신하기를 원하면, 그들은 즉시 전환할 수 있고, 서비스 레이어는 경보들 중 어느 것도 손실되지 않도록 그리고 또한 센서들에 의해 수집된 임의의 과거 컨텍스트가 마찬가지로 새로운 디바이스로부터 안전하고 완전히 액세스가능하도록, 서비스 레이어 세션이 마이그레이션되는 것을 보장할 것이다.
도 25 및 도 26에 도시되는 예시적인 것들과 같은 사용 사례들을 지원하기 위해, 이하에는 하나 이상의 장래의 세션 참가자들과의 기존 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 위한 방법들이 개시된다. 본 명세서에서 사용되는 바와 같이, 용어 "서비스 레이어 세션" 및 그 변형들은 M2M 서비스 레이어 세션 참가자들 사이의 정보의 상태적 및 반영구적 교환을 의미한다. 용어 "M2M 서비스 레이어 세션 참가자" 및 그 변형은 특정 M2M 서비스 레이어 세션에 참가하는 M2M 서비스 레이어 인스턴스 또는 M2M 애플리케이션 인스턴스를 의미한다. 본 명세서에 더 사용되는 바와 같이, 용어 "M2M 서비스 레이어 세션 컨텍스트" 및 그 변형은 하나 이상의 M2M 서비스 레이어 세션 참가자들에 의해 유지되는 M2M 서비스 레이어 세션에 관련된 정보를 의미한다. 본 명세서에서 사용되는 바와 같이, 용어 "M2M 서비스 레이어 세션 마이그레이션", "서비스 레이어 세션 마이그레이션", "세션 마이그레이션", "마이그레이션" 등은 M2M 서비스 레이어 세션 참가자들 사이에 M2M 서비스 레이어 세션 컨텍스트를 옮기는 행위를 의미한다. 본 명세서에서 사용되는 바와 같이, 용어 "M2M 서비스 레이어 세션 공유", "서비스 레이어 세션 공유", "세션 공유", "공유" 등은 참가자들이 동일한 단일 세션을 공유할 수 있도록 M2M 서비스 레이어 세션 참가자들 사이에 M2M 서비스 레이어 세션 컨텍스트를 복제하고 이러한 복제된 버전의 세션 컨텍스트를 서로 동기화된 상태로 유지하는 행위를 의미한다. "M2M 애플리케이션"은 특정 M2M 사용 사례(예를 들어, eHealth, 스마트 에너지, 홈 오토메이션 등)를 대상으로 하는 애플리케이션을 지칭한다.
개시된 방법들은 서비스 레이어 세션이 수립되었는지 여부 및 세션 마이그레이션 또는 공유 기능을 인에이블하였는지 여부를 결정하는 단계; (기존의 또는 장래의) 세션 참가자들이 세션 마이그레이션 및 공유 서비스를 구성하게 하고, 이러한 서비스를 명시적으로 트리거하여 서비스 레이어 세션 마이그레이션 또는 공유를 시작하게 하는 단계; 세션 마이그레이션 및 공유 서비스가 세션 마이그레이션/공유 스케줄 및/또는 정책들에 기초하여 서비스 레이어 세션 마이그레이션 및 공유의 시작을 자동으로 트리거하게 하는 단계; 서비스 레이어 세션을 마이그레이션 또는 공유하는데 사용될 수 있는 서비스 레이어 세션 컨텍스트를 수집 및 유지하는 단계; 세션 마이그레이션 또는 공유를 수행할 때 대상이 될 장래의 세션 참가자들을 결정하는 단계; 장래의 세션 참가자가 서비스 레이어 세션들을 지원할 수 있는지 여부를 결정하는 단계; 기존 세션 참가자가 자신의 서비스 레이어 세션을 마이그레이션 또는 공유하는데 관심이 있는지/그렇게 하려는지 여부를 결정하는 단계; 서비스 레이어 세션 컨텍스트를 기존 세션 참가자로부터 장래의 세션 참가자에게 이동시킴으로써 서비스 레이어 세션을 마이그레이션하는 단계; 기존 세션 참가자(들)로부터의 서비스 레이어 세션 컨텍스트를 장래의 세션 참가자(들)에게 이용가능하게 함으로써 서비스 레이어 세션을 공유하는 단계; 및 서비스 레이어 세션 마이그레이션을 공유하고 기본 액세스 네트워크와 정보를 공유함으로써 기본 액세스 네트워크 접속들과 서비스 레이어 세션들의 마이그레이션 및 공유를 조정하는 단계를 포함한다.
이러한 방법들은 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 수행하는데 사용될 수 있는 SMSF(Session Migration and Sharing Function)의 형태로 수행 및/또는 구현될 수 있다. M2M 서비스 레이어 세션들의 마이그레이션 및 공유를 가능하게 하는데 사용될 수 있는 다양한 형태의 서비스 레이어 세션 컨텍스트가 또한 설명된다. 또한, SMSF의 oneM2M 실시예가 개시된다.
도 27은 M2M 서비스 레이어 세션 마이그레이션의 일 예를 도시한다. 이러한 예에서, M2M 디바이스(442)(예를 들어, 센서)의 M2M 애플리케이션(440)과 제1 M2M 게이트웨이(444)(M2M GW #1)의 서비스 레이어 인스턴스(446) 사이에 M2M 서비스 레이어 세션이 수립된다. 도시되는 바와 같이, M2M 게이트웨이(444)의 서비스 레이어 인스턴스(448)는 세션에 관련된 서비스 레이어 세션 컨텍스트 정보(448)를 유지할 것이다. 그러나, 단계 1에서, M2M 디바이스(442)가 이동하여 제2 M2M 게이트웨이(454)(M2M GW #2)에 등록한다고 가정하자. M2M 애플리케이션(440)은 새로운 M2M 게이트웨이(454)와의 서비스 레이어 세션의 재수립을 트리거할 수 있다. 결과적으로, 세션은 제1 M2M 게이트웨이(444) 상에 호스팅되는 서비스 레이어 인스턴스(446)로부터 M2M 서버(450) 상에 호스팅되는 서비스 레이어 인스턴스(452), 다음으로 제2 M2M 게이트웨이(454) 상에 호스팅되는 서비스 레이어 인스턴스(456)로 마이그레이션될 수 있다. 마이그레이션이 완료될 때, 서비스 레이어 세션 컨텍스트(448)는 제2 M2M 게이트웨이(454) 상에 존재하지만, 제1 M2M 게이트웨이(444) 상에도 M2M 서버(450) 상에도 존재하지 않는다. 대안적으로, 다른 잠재적인 세션 참가자들로부터의 미래의 마이그레이션 요청들로 돕기 위해 세션 컨텍스트가 M2M 서버(450) 상에 유지될 수 있다. 다른 잠재적인 M2M 서비스 레이어 세션 마이그레이션 실시예들(도 27에 도시되지 않음)의 일부 예들은 M2M 게이트웨이 상에 호스팅되는 서비스 레이어 인스턴스들 사이에서뿐만 아니라 M2M 서버들 상에 호스팅되는 서비스 레이어 인스턴스들 사이에서 그리고 M2M 디바이스들 상에 호스팅되는 서비스 레이어 인스턴스들 사이에서 직접 서비스 레이어 세션을 마이그레이션하는 것을 포함한다. 또한, 서비스 레이어 세션 마이그레이션은 M2M 애플리케이션 인스턴스들 사이의 세션 컨텍스트 마이그레이션도 마찬가지로 포함할 수 있다.
도 28은 M2M 서비스 레이어 세션 공유의 일 예를 도시한다. 이러한 예에서 M2M 서버 #1 및 M2M 서버 #2 상에 호스팅되는 서비스 레이어 인스턴스들은 그들 사이에 서비스 레이어 세션 컨텍스트를 복제하여 M2M 웹 애플리케이션 #1 및 #2 양자 모두가 M2M 디바이스 상에 호스팅되는 M2M 애플리케이션과 단일 서비스 레이어 세션을 공유하게 한다. 그렇게 함에 있어서, 양자 모두는 조정되고 동기화된 방식으로 디바이스의 애플리케이션과 안전하게 통신 할 수 있다(예를 들어, 그의 센서 판독값을 액세스하고/하거나 디바이스를 제어함). 이러한 공유는 M2M 애플리케이션들이 그들 사이에 큰 정도의 분리(예를 들어, 지리적으로 및/또는 네트워크 홉들의 수에 관련하여)를 갖는 서비스 레이어 세션들을 포함하는 시나리오들에 매우 적합할 수 있다. 이러한 경우들에서, 서비스 레이어 인스턴스들을 각각의 애플리케이션에 가깝게 위치시키는 것은 애플리케이션들이 먼 거리에 떨어져 위치되는 서비스 레이어 인스턴스와 통신하게 하는 것에 비해 유리할 수 있다. 이러한 타입의 공유는 로드 밸런싱과 같은 목적으로 M2M 애플리케이션들이 다수의 서비스 레이어 인스턴스들에 분산되는 시나리오들에 또한 매우 적합할 수 있다. 이러한 시나리오들에서, 서비스 레이어 인스턴스에 걸쳐 서비스 레이어 세션들을 공유하는 것은 애플리케이션들이 서로 동일한 세션에 보다 효율적으로 참가하게 할 수 있는데 그 이유는 서비스 레이어들이 애플리케이션들에 대한 서비스 레이어 세션 컨텍스트를 관리 및 동기화할 수 있고, 이들이 원격 서비스 레이어 인스턴스들과 통신해야하는 것보다는 오히려 그들의 로컬 서비스 레이어 인스턴스들과 통신하게 할 수 있기 때문이다. 다른 잠재적인 M2M 서비스 레이어 세션 공유 실시예들(도 28에 도시되지 않음)의 일부 예들은 M2M 게이트웨이 및/또는 M2M 디바이스들 상에 호스팅되는 서비스 레이어 인스턴스들 사이의 서비스 레이어 세션 공유를 포함한다. 또한 서비스 레이어 세션 공유는 M2M 애플리케이션 인스턴스들 사이의 세션 컨텍스트 공유를 마찬가지로 또한 포함할 수 있다.
서비스 레이어 세션 마이그레이션 및 공유를 가능하게 하기 위해, 다음 타입들의 기능성을 지원하지만, 이에 제한되는 것은 아닌, SMSF(Session Migration and Sharing Function)이 제공될 수 있다: (i) M2M 서비스 레이어 세션 마이그레이션 또는 공유가 수행될 때에 대한 트리거들을 생성하거나 이러한 트리거들을 받아들임; (ii) 트리거들을 평가하여 M2M 서비스 레이어 세션 마이그레이션 또는 공유를 착수할지 여부/그 시기와 적용가능한 세션 참가자들이 마이그레이션 또는 공유를 수행할 것인지 여부/그 시기를 결정함; (iii) 세션 참가자들 사이에 세션 컨텍스트를 이동시킴으로써 서비스 레이어 세션 마이그레이션을 수행함; 및 (iv) 세션 참가자들 사이에 세션 컨텍스트를 복제하고 서로의 컨텍스트의 복제된 복사본들을 최신 상태로 유지함으로써 서비스 레이어 세션 공유를 수행함. 일 실시예에서, 이러한 SMSF 기능은, 도 29에 도시되는 바와 같이, M2M 서버, M2M 게이트웨이, 또는 M2M 디바이스와 같은 M2M 노드에 의해 호스팅되는 M2M 서비스 레이어 인스턴스 내에서 호스팅될 수 있다. 예를 들어, SMSF는 M2M 서비스 레이어 인스턴스 내에 또는 기존 서비스 능력 내의 서브 기능으로서 개별 서비스 능력을 포함할 수 있다.
M2M 서비스 레이어 세션의 마이그레이션 및 공유를 용이하게 하기 위해, 이에 제한되는 것은 아니지만, 표 18에 정의되는 바와 같은 다음 타입들의 컨텍스트(즉, 정보) 중 하나 이상을 포함하는, 서비스 레이어 세션 마이그레이션 및 공유 컨텍스트가 이용될 수 있다. 이러한 타입의 컨텍스트는 서비스 레이어 세션 마이그레이션 또는 공유를 수행할지 여부, 이를 수행하는 시기, 어떠한 세션을 수행할지를 결정(즉, 트리거 결정)하기 위해 SMSF에 의해 사용될 수 있다.
Figure 112017037882011-pct00018
또한, 제2 타입의 서비스 레이어 세션 컨텍스트가 또한 사용될 수 있다. 이러한 타입의 컨텍스트는 세션 참가자들(예를 들어, 서비스 레이어 인스턴스들)에 의해 구성, 수집, 메모리에 저장, 및/또는 유지될 수 있다. 차례로, 이러한 세션 컨텍스트는 SMSF(들)를 통해 세션 참가자들 사이에 마이그레이션되거나 공유될 수 있다. 이러한 방식으로, 서비스 레이어 세션의 마이그레이션 또는 공유가 조정되고 달성될 수 있다. 이러한 제2 타입의 컨텍스트의 일부 예들은, 이에 제한되는 것은 아니지만, 아래 표 19에 정의되는 컨텍스트를 포함한다. 표 19에 열거되는 서비스 레이어 세션 컨텍스트는 개별 세션 참가자에 대해 구체적이거나 주어진 서비스 레이어 세션의 모든 참가자들에게 적용가능할 수 있다는 점에 주목하자.
Figure 112017037882011-pct00019
도 30은 하나 이상의 장래의 세션 참가자들과의 기존 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 위한 방법의 일 실시예를 도시한다. 일 실시예에서, 이러한 방법은, 그 자신과 명시된 서비스 레이어 인스턴스 사이에 존재하는 서비스 레이어 세션이 예를 들어 도 27에 도시되는 바와 같이 다른 서비스 레이어 인스턴스로 SMSF에 의해 마이그레이션될 것을 요청하기 위해 M2M 애플리케이션 인스턴스에 의해 사용될 수 있다. 제2 실시예에서, 이러한 방법은, 기존 서비스 레이어 세션이 예를 들어 도 28에 도시되는 바와 같이 다른 서비스 레이어 인스턴스 및 이에 등록되는 하나 이상의 M2M 애플리케이션들과 SMSF에 의해 공유될 것을 요청하기 위해 M2M 애플리케이션 인스턴스 또는 M2M 서비스 레이어 인스턴스에 의해 사용될 수 있다. 제3 실시예에서, 이러한 방법은, SMSF가 다른 M2M 애플리케이션 인스턴스와 연관된 기존 M2M 서비스 레이어 세션을 그것과 공유할 것을 요청하기 위해 M2M 애플리케이션 인스턴스에 의해 사용될 수 있다. 제4 실시예에서, 이러한 방법은, SMSF가 M2M 애플리케이션 인스턴스와 이를 갖는 다른 M2M 서비스 레이어 인스턴스 사이에 존재하는 기존 M2M 서비스 레이어 세션을 마이그레이션할 것을 요청하기 위해 M2M 서비스 레이어 인스턴스에 의해 사용될 수 있다.
도 30을 참조하면, 단계 1에서는, M2M 서비스 레이어 세션은 둘 이상의 세션 참가자들 사이에 수립된다. 예를 들어, 도 1 내지 도 24에 도시되는 예시적인 메커니즘에들 따라 위에 설명된 바와 같이 M2M 서비스 레이어 세션이 수립될 수 있다.
단계 2에서는, 수립되는 세션이 세션 마이그레이션 또는 공유 기능성을 가능하게 하는지 여부를 결정하기 위한 점검이 수행될 수 있다. 일 실시예에서, 이러한 점검은 M2M 서비스 레이어 세션들의 수립을 담당하는 M2M 서비스 레이어 내의 기능에 의해 수행될 수 있다. 이러한 점검의 결과가 세션 마이그레이션 또는 공유가 가능하게 된다고 결정하면, 단계 3으로의 이행이 발생할 수 있다. 그렇지 않으면 이러한 서비스 레이어 세션에 대해 세션 마이그레이션 또는 공유를 위한 추가 처리가 수행되지 않는다.
단계 3은 세션 수립 방법들에 대한 강화이다. 이러한 단계에서, 서비스 레이어 세션 수립 동안, 위에 논의된 바와 같이 M2M 서비스 레이어 내에서 서비스로서 기능하고 M2M 서버, 게이트웨이, 디바이스 또는 다른 노드의 서비스 레이어 인스턴스 내에 존재할 수 있는 SMSF는, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있는 정보로 구성될 수 있다:
1. 세션 마이그레이션 또는 공유 스케줄 - 이러한 스케줄은 SMSF가 세션 마이그레이션 또는 공유를 수행할 설정 시간과 같은 정보를 명시할 수 있다. 스케줄은 명시된 스케줄링된 시간에 세션 마이그레이션 또는 공유를 수행할 때 SMSF가 대상으로 하는 세션 참가자들의 목록을 또한 포함할 수 있다.
2. 세션 마이그레이션 또는 공유 정책들 - 이러한 정책들은 세션 마이그레이션 또는 공유를 수행할 때 SMSF에 의해 사용되는 규칙들을 명시할 수 있다. 정책들은 특정 세션 참가자들과 어떠한 타입의 세션 컨텍스트가 마이그레이션 또는 공유될 수 있는지, 어느 세션 참가자들이 서로 통신하도록 허용되는지, 및 자체적으로 수행하도록 SMSF를 트리거할 구체적인 조건들과 같은 규칙들을 명시할 수 있다.
3. 기본 액세스 네트워크/전송 레이어 세션 정보 - 이것은 서비스 레이어 세션들이 그 상부에 계층화될 수 있는 하나 이상의 기본 액세스 네트워크/전송 레이어 세션들에 관한 세션 식별자들, 정책들, 컨텍스트, 및 자격증명들과 같은 정보를 포함할 수 있다. SMSF는 이러한 정보를 사용하여 서비스 레이어 세션 공유 및 마이그레이션을 조정할 수 있다. 예를 들어, 서비스 레이어 세션을 마이그레이션하거나 공유할 때, SMSF는 또한 기본 액세스 네트워크 노드들과 조정하여 대응하는 기본 세션들을 마찬가지로 마이그레이션하거나 공유할 수 있다. 그렇게 함에 있어서, SMSF는 서비스 레이어 세션 마이그레이션 및 공유는 물론 기본 액세스 네트워크 세션 마이그레이션 및 공유를 서로 협력하여 조정할 수 있다.
이러한 구성은 (예를 들어, SMSF가 배치 될 때 구성되는) SMSF의 정적 또는 대역 외 사전 공급을 통해 또는 (예를 들어, 네트워크 내의 관리 엔티티에 의한) SMSF의 동적 구성을 통해 수행될 수 있다는 점에 주목하자.
단계 4에서, SMSF는 위 표 18 또는 표 19에 설명되는 컨텍스트와 같은 서비스 레이어 세션 컨텍스트를 수집하고 유지할 수 있다. SMSF는, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있는 방법들을 사용하여 서비스 레이어 세션 컨텍스트를 수집하고 유지할 수 있다:
1. M2M 서비스 레이어 세션 참가자들은 세션 컨텍스트를 SMSF 지원 인터페이스를 통해 SMSF에 명시적으로 전달할 수 있다. 예를 들어, RoA 실시예에서, SMSF는 세션 참가자들이 CRUD 동작들을 수행할 수 있는 세션 컨텍스트 자원들을 지원할 수 있다. SoA 실시예에서, SMSF는 세션 컨텍스트에서 전달하기 위해 세션 참가자들에 의해 호출될 수 있는 세션 컨텍스트 기능들을 지원할 수 있다.
2. SMSF는 M2M 서비스 레이어 세션 참가자들로부터 서비스 레이어 세션 컨텍스트를 사전 대응적으로 수집하기 위한 메커니즘을 지원할 수 있다. 예를 들어, 일 실시예에서, SMSF는 서비스 레이어 인스턴스에 쿼리하여 서비스 레이어에 의해 지원되는 개별 서비스 능력들로부터 세션 관련 컨텍스트를 수집(예를 들어, 표 18 또는 19에 정의되는 바와 같은 세션 컨텍스트를 수집)할 수 있다.
단계 5에서, SMSF는 M2M 서비스 레이어 세션 마이그레이션 또는 공유를 수행할 필요가 있는 트리거 조건을 검출할 수 있다. 이러한 트리거 조건은 자체적으로 생성될 수도 있고 기존의 또는 장래의 서비스 레이어 세션 참가자로부터 명시적 요청을 수신한 결과일 수 있다. SMSF는, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있는 방법들을 사용하여 서비스 레이어 세션 마이그레이션 또는 공유 트리거들을 검출할 수 있다.
1. SMSF는 하나 이상의 기존 세션 참가자들로부터 하나 이상의 장래의 세션 참가자들에게 특정 M2M 서비스 레이어 세션의 마이그레이션 또는 공유를 트리거해야 할 필요가 있음을 자체적으로 결정할 수 있다. 이러한 결정은, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있는 조건에 기초할 수 있다.
a. SMSF는 스케줄을 사용하여 세션 마이그레이션 또는 공유를 조정할 수 있다. 이러한 제안된 스케줄은 위의 1 단계에서 설명된다.
b. SMSF는 서비스 레이어 세션 정책들(단계 1 참조) 및 컨텍스트(단계 2 참조)의 조합을 사용하여 세션 마이그레이션 또는 공유가 필요한지 여부/그 시기를 결정할 수 있다.
2. 대안적으로, 기존 M2M 서비스 레이어 세션 참가자는 하나 이상의 다른 장래의 세션 참가자들과 자신의 M2M 서비스 레이어 세션을 마이그레이션 또는 공유할 필요가 있다고 결정할 수 있으며, 그 결과, SMSF에 대한 명시적인 트리거를 생성할 수 있다. 이러한 결정은, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있는 조건들에 기초할 수 있다.
a. 세션 참가자는 자신 또는 다른 기존 세션 참가자들 중 하나가 위치들을 변경했거나 위치 변경을 계획하고 있음을 검출할 수 있다. 여기서 위치는, 이에 제한되는 것은 아니지만, 절대 위치(예를 들어, 지오-로케이션(geo-location)) 또는 상대 위치(예를 들어, 네트워크 도메인)에 의한 것일 수 있다.
b. 세션 참가자는 서비스 레이어 세션에 참가할 의사가 있을 수 있는 그 근방의 새로운 후보 세션 참가자들(즉, 다른 M2M 서비스 레이어 인스턴스들 또는 애플리케이션 인스턴스들)의 존재를 검출할 수 있다.
c. 세션 참가자는 현재 통신하고 있는 세션 참가자들보다 더 적합한 후보 세션 참가자의 존재를 검출할 수 있다. 예를 들어, 세션 참가자는 자신 또는 다른 기존 세션 참가자들 중 하나가 다른 서비스 레이어 인스턴스에 등록하였고, 이러한 새로운 서비스 레이어 인스턴스가 우수한 세션 파트너 역할을 할 수 있음을 검출할 수 있다(예를 들어, 새로운 서비스 레이어 인스턴스가 더 가깝거나, 또는 더 많은 세션 기반 특징들을 지원하거나, 또는 새로운 서비스 레이어 인스턴스는 세션 참가자가 통신하는 것에 관심이 있는 것에 등록된 애플리케이션들을 가짐).
d. 세션 참가자는 자신이나 다른 기존 세션 참가자들 중 하나가 과부하가 되어 더 이상 효과적으로 세션에 참가할 수 없음을 검출할 수 있다.
e. 세션 참가자는 다른 기존 세션 참가자들 중 하나가 더 이상 이용가능할 수 없음을 검출할 수 있다(예를 들어, 네트워크를 떠났거나, 접속이 끊어졌거나, 휴면 상태가 됨 등).
f. 세션 참가자는 가까운 미래에 사용할 수 없게 될 것임을 검출할 수 있다(예를 들어, 오프라인으로 진행하거나 휴면 상태로 진행하는 등).
3. 대안적으로, 장래의 M2M 서비스 레이어 세션 참가자는 M2M 서비스 레이어 세션을 마이그레이션 또는 공유하기를 원하는지 결정할 수 있으며, 결과적으로 이러한 마이그레이션/공유를 수행하기 위해 SMSF를 트리거할 수 있다. 이러한 결정은 SMSF에 쿼리하고 신의 서비스 레이어 세션을 마이그레이션하거나 공유하고자 할 수 있는 주변의 서비스 레이어 세션들의 존재를 검출하는 장래의 세션 참가자에 의해 이루어질 수 있다. 또한, SMSF는 각각의 세션의 설명을 또한 제공할 수 있어, 장래의 참가자가 어떤 세션에 관심이 있고 호환되는지를 결정할 수 있다. 이러한 정보를 바탕으로 장래의 세션 참가자는 SMSF가 장래의 참가자와 명시적인 서비스 레이어 세션을 마이그레이션 또는 공유하기를 착수할 것을 요청할 수 있다.
단계 6에서, SMSF는 그것이 세션 마이그레이션 또는 공유를 수행할 때 대상이 될 세션 참가자(들)를 결정한다. 이것은 SMSF가 마이그레이션/공유를 착수하라는 명시적인 요청을 서비스하는 경우에 대해 명시적으로 정의될 수 있거나, 또는 SMSF에 의해 자체적으로 유도될 수 있다(예를 들어, 스케줄, 정책 정보 또는 세션 참가자들에 관한 정보를 바탕으로 함). 예를 들어, 일 실시예에서, 기존 세션 참가자(예를 들어, M2M 애플리케이션)는 이동하고자 하는 새로운 위치를 제공할 수 있으며, 이러한 위치 정보를 사용하여 SMSF는 애플리케이션의 서비스 레이어 세션을 마이그레이션할 수 있는 이용가능하고 호환 능한 서비스 레이어 인스턴스를 찾을 수 있다.
제2 실시예에서, 기존 세션에 합류하고 공유하고자 하는 장래의 세션 참가자는 자신이 합류하고 공유하고자 하는 세션의 설명을 제공할 수 있다. 이러한 세션 설명을 사용하여, SMSF는 이러한 설명과 일치하는 이용가능한 세션을 찾아 장래의 세션 참가자와 이를 공유할 수 있다.
제3 실시예에서, 세션 참가자(예를 들어, M2M 애플리케이션)는 방문한 이전 위치(들)의 목록을 제공할 수 있고, 이러한 정보를 사용하여, SMSF는 이러한 위치들에서의 서비스 레이어 인스턴스들에 쿼리하여, 세션 참가자가 현재 거주하는 새로운 위치에서의 서비스 레이어 인스턴스(들)로 공유되거나 마이그레이션될 수 있는 세션 참가자에게 적용가능한 기존 서비스 레이어 세션(들)을 찾을 수 있다.
단계 7에서, SMSF는 임의의 장래의 세션 참가자(들)이 그들 각각을 쿼리하여 (즉, 그들이 M2M 서비스 레이어 세션 통신을 지원하는지) 서비스 레이어 세션들을 지원할 수 있는지 점검할 수 있다. 예를 들어, RoA 기반 구현들에 대해, SMSF는 장래의 세션 참가자들이 그들의 세션 능력들을 광고하는데 사용할 수 있는 대응하는 자원을 쿼리할 수 있다. SoA 기반 구현들에 대해, SMSF는 그들의 세션 능력들을 SMSF에 반환할 수 있는 장래의 세션 참가자에 의해 지원되는 하나 이상의 기능들을 호출할 수 있다.
단계 8에서, SMSF는 임의의 기존 세션 참가자(들)가 SMSF가 그들과 함께 마이그레이션 또는 공유하려고 시도하고 있는 특정 서비스 레이어 세션에 참가하는데 관심이 있는지 점검할 수 있다. 세션이 새로운 장래의 세션 참가자와 마이그레이션 또는 공유될 것을 기존 세션 참가자가 요청한 경우, 세션 식별자 및/또는 세션 설명자(표 19에 정의됨)는 새로운 참가자와 공유되어 그것이 관심이 있는지 여부를 결정할 기회를 제공한다. 유사하게, 기존 세션이 마이그레이션 또는 공유될 것을 새로운 장래의 참가자가 요청한 경우, SMSF는 새로운 장래의 참가자에 대한 정보를 기존 세션 참가자들과 공유하여 그들이 그들의 세션들을 공유/마이그레이션하는데 관심이 있는지 여부를 결정할 기회를 그들에게 제공한다.
단계 9에서, SMSF는 장래의 세션 참가자들과의 세션 마이그레이션 또는 세션 공유를 수행할지 여부를 결정할 수 있다. 이는 요청 세션 참가자가 마이그레이션/공유를 착수하고 있는 경우에 대해 명시적으로 정의될 수 있거나, 또는 SMSF가 그들을 쿼리할 때 발견하는 정책 정보 및/또는 장래의 세션 참가자들의 선호도들을 바탕으로 SMSF에 의해 자체적으로 유도될 수 있다.
단계 10a에서, SMSF는 하나의 세션 참가자로부터 다른 세션 참가자로 서비스 레이어 세션 컨텍스트를 이동시킴으로써 서비스 레이어 세션 마이그레이션을 수행할 수 있다. 이러한 이동은 SMSF가 먼저 특정 세션에 적용가능한 모든 컨텍스트를 찾기 위해 세션 참가자들을 쿼리함으로써 수행될 수 있다. 이러한 쿼리는 세션 참가자들이 그들이 지원하는 세션 컨텍스트의 각각의 인스턴스와 세션 식별자(즉, 태그)를 유지함으로써 가능하게 될 수 있다. 예를 들어, RoA 기반 서비스 레이어들에서, 세션 식별자는 세션과 연관된 각각의 자원 인스턴스 내에 포함될 수 있다. 다음으로 SMSF는 이러한 세션 식별자에 기초하여 특정 세션에 적용가능한 자원들을 쿼리하고 찾을 수 있다.
적용가능한 세션 컨텍스트를 찾은 후, SMSF는 세션이 마이그레이션되어 나오고 있는 세션 참가자로부터 세션이 이동되어 들어가고 있는 세션 참가자에 이러한 컨텍스트를 복사할 수 있다. 이러한 복사 프로세서 동안, SMSF는 또한 특정 세션 컨텍스트를 검사하고 업데이트하여 일단 마이그레이션된 후에 사용할 수 있도록 한다. 예를 들어, 세션 참가자 어드레스들 또는 식별자들에 의존하는 세션 컨텍스트의 부분이 점검되고 잠재적으로 업데이트될 수 있다. 어드레스/식별자가 세션이 마이그레이션되어 나오는 세션 참가자의 것과 일치하면, 이러한 어드레스는 세션이 마이그레이션되어 들어가는 세션 참가자의 어드레스로 업데이트될 수 있다. 일단 복사되면, 세션이 마이그레이션되어 나오는 세션 참가자로부터의 서비스 레이어 세션 컨텍스트가 삭제될 수 있다(다른 세션 참가자가 이를 사용하고 있지 않는 경우). 서비스 레이어 세션 컨텍스트의 이러한 마이그레이션은, 이에 제한되는 것은 아니지만, 다음 중 하나 이상을 포함할 수 있다: (i) 서비스 레이어 가입 정보의 마이그레이션; (ii) 그룹 회원 정보의 마이그레이션; (iii) 연락처 정보의 서비스 레이어 포인트의 마이그레이션; (iv) 서비스 레이어 정책들(예를 들어, 메시지 전달 및 취급 정책들)의 마이그레이션; (v) 서비스 레이어 보안 자격증명의 마이그레이션; (vi) 서비스 레이어 디바이스/애플리케이션 관리 컨텍스트의 마이그레이션; (vii) 발견 메타데이터의 마이그레이션; (viii) 위치 메타데이터의 마이그레이션; (ix) 과금 및 회계 메타데이터의 마이그레이션; (x) 데이터(예를 들어, 서비스 레이어 컨테이너 자원들 내의 애플리케이션 지정 콘텐츠)의 마이그레이션; 및/또는 (xi) 기본 액세스 네트워크 접속들 및/또는 서비스 레이어 세션이 그 상부에 중첩되는 세션들의 마이그레이션.
세션 마이그레이션/공유를 수행할 때, SMSF는 세션 참가자들 및 그들의 대응 컨텍스트를 구별할 수 있다. 예를 들어, 한 세션 참가자가 다른 서비스 레이어 인스턴스에 마이그레이션할 때, 그 세션 컨텍스트가 이러한 새로운 서비스 레이어 인스턴스에 마이그레이션될 수 있다. 또한, 다른 세션 참가자들 또한 SMSF에 의해 업데이트될 수 있어 이러한 마이그레이션을 그들이 인식할 수 있다. SMSF는 각각의 세션 참가자의 세션 컨텍스트를 업데이트함으로써 이것을 행할 수 있다. 유사하게 세션 공유에 대해, 세션이 새로운 세션 참가자와 공유될 때, 다른 세션 참가자들은 SMSF가 그들의 세션 컨텍스트를 마찬가지로 업데이트함으로써 이것을 통지받을 수 있다.
일부 사용 사례 배치들에서(예를 들어, SMSF가 M2M 서비스 레이어 내의 임베딩된 능력일 때) 마이그레이션은 최종 목적지에 도달하기 전에 다수의 서비스 레이어 인스턴스들에 걸쳐 서비스 레이어 세션 컨텍스트를 이동하는 것을 포함할 수 있다는 점에 주목하자. 예를 들어, 도 27은 M2M 게이트웨이(444) 상에 호스팅되는 서비스 레이어 인스턴스(446)로부터 M2M 서버(450) 상에 호스팅되는 서비스 레이어 인스턴스(452)로 서비스 레이어 세션 컨텍스트(448)가 먼저 마이그레이션되고, 이어서 M2M 서버(450) 상의 서비스 레이어 인스턴스(452)가 이를 M2M 게이트웨이(454) 상에 호스팅되는 서비스 레이어 인스턴스(456)로 마이그레이션하는 경우를 도시한다. 따라서, 이러한 사용 사례는 2개의 홉들을 포함한다. 이러한 종류의 사용 사례들에서, 각각의 서비스 레이어 인스턴스 내에서 호스팅되는 SMSF 인스턴스들 사이의 협업은 서비스 레이어 세션을 적절하게 마이그레이션하는데 사용될 수 있다. 이러한 협업은 서로 통신을 착수하고 서비스 레이어 세션 컨텍스트를 그들 사이에 전달하는 SMSF 인스턴스들을 포함할 수 있다.
RoA 기반 서비스 레이어 아키텍처들에 대해, 위에 설명된 마이그레이션 동작들은 다음의 SMSF 동작들에 의해 실현될 수 있다:
1. SMSF는 먼저 세션이 마이그레이션되어 나오는 세션 참가자에 의해 호스팅되는 서비스 레이어 세션 컨텍스트를 포함하는 자원들에 대해 검색(RETRIEVE) 동작들을 행한다. 이러한 검색 동작들은 특정 세션에 적용가능한 컨텍스트를 찾기 위해 세션 식별자와 같은 쿼리 파라미터들을 포함할 수 있다.
2. SMSF는 검색된 자원 표현을 검사하여 컨텍스트가 업데이트되어야 하는 경우들을 검출한다(예를 들어, 세션 참가자들의 어드레스를 업데이트함).
3. SMSF는 세션이 마이그레이션되어 들어가는 세션 참가자에 대해 서비스 레이어 세션 컨텍스트를 포함하는 자원을 생성하는 POST 동작들을 행한다.
4. SMSF는 세션이 마이그레이션되어 나오는 세션 참가자에 의해 호스팅되는 서비스 레이어 세션 컨텍스트를 포함하는 자원을 제거하는 DELETE 동작들을 행한다(다른 세션 참가자들이 이를 사용하지 않는 경우).
SoA 기반 서비스 레이어 아키텍처들에 대해, 위에 설명된 마이그레이션 동작들은 다음의 SMSF 동작들에 의해 실현될 수 있다:
1. 세션이 마이그레이션되어 나오는 세션 참가자에 의해 호스팅되는 SMSF 제1 호출 기능(들). 이러한 기능(들)을 통해, SMSF는 서비스 레이어 세션 컨텍스트를 획득할 수 있다. 이러한 기능들은 특정 세션에 적용가능한 컨텍스트를 찾기 위해 세션 식별자와 같은 쿼리 파라미터들을 지원할 수 있다.
2. SMSF는 서비스 참가자에 의해 반환되는 서비스 레이어 세션 컨텍스트를 검사하여 컨텍스트가 업데이트되어야 하는 경우(예를 들어, 세션 참가자들의 어드레스를 업데이트함)를 검출한다.
3. 세션이 마이그레이션되어 들어가는 세션 참가자에 의해 호스팅되는 SMSF 호출 기능(들). 이러한 기능(들)을 통해, SMSF는 서비스 레이어 세션의 복사본을 생성할 수 있다.
4. 세션이 마이그레이션되어 나오는 세션 참가자에 의해 호스팅되는 SMSF 호출 기능(들). 이러한 기능(들)을 통해, SMSF는 서비스 레이어 세션 컨텍스트를 삭제할 수 있다.
단계 10b에서, SMSF는 서비스 레이어 세션 공유를 수행할 수 있다. 세션 마이그레이션에 대해 위 10a 단계에서 설명된 것과 유사한 방법이 사용될 수 있다. 그러나, 서비스 레이어 세션 컨텍스트를 새로운 세션 참가자에게 복사한 후, 이것이 복사되어 나온 세션 참가자로부터 삭제될 필요는 없다. 이것은 세션 참가자들이 공유된 세션 컨텍스트를 갖게 한다. 또한, 세션 참가자들 사이에서 세션 컨텍스트를 업데이트하고 동기화된 상태로 유지하는데 하나 이상의 SMSF(들)이 사용될 수 있다. 예를 들어, SMSF(들)는 세션 참가자들에 의해 호스팅되는 서비스 레이어 세션 컨텍스트의 복사본들이 서로 동기화되도록 보장하기 위해 SMSF간 통신/협업을 수행할 수 있다. 그렇게 함에 있어서, 세션 참가자들은 서비스 레이어 세션을 공유할 수 있다.
단계 11에서, SMSF는 기본 액세스 네트워크 노드들과 조정하여 서비스 레이어 세션들이 상부에 중첩되는 기본 액세스 네트워크 접속들을 관리할 수 있다. 이것은 다음을 포함할 수 있다:
1. 세션 참가자에 의해 더 이상 요구되지 않은 기본 액세스 네트워크 접속들의 해제 및/또는 중단을 조정함(예를 들어, 세션이 마이그레이션되어 나오는 세션 참가자에 의해 사용되는 액세스 네트워크 접속들의 해제).
2. 서비스 레이어 세션이 마이그레이션되거나 공유되는 세션 참가자에 관한 새로운 정보로 기존 기본 액세스 네트워크 접속들의 업데이트를 조정함(예를 들어, 세션 참가자의 새로운 위치는 기본 액세스 네트워크가 참가자들 새로운 위치에 기초하여 기존 접속을 마이그레이션하거나 또는 새로운 접속을 수립할 수 있도록 함).
3. 서비스 레이어 세션이 마이그레이션되거나 공유되는 새로운 세션 참가자를 지원하기 위해 새로운 기본 액세스 네트워크 접속들의 수립을 조정함(예를 들어, 기본 액세스 네트워크에 서비스 레이어 세션 정보를 제공하여 이는 새로운 액세스 네트워크 접속들을 보다 효율적으로 또는 효과적으로 구성 및 수립할 수 있음). 예를 들어, 서비스 레이어 세션 마이그레이션 또는 공유 스케줄은 기본 액세스 네트워크에 제공될 수 있으며, 이러한 스케줄은 이러한 공유 또는 마이그레이션 스케줄 따라 기본 액세스 네트워크 접속들을 사전 대응적으로 수립하고 해제하기 위해 액세스 네트워크에 의해 사용될 수 있다.
단계 12에서, SMSF는 서비스 레이어 세션 마이그레이션 또는 공유 트리거/요청의 처리를 완료할 수 있다. 완료되면, SMSF는 세션 컨텍스트를 계속 수집 및 유지하고 다음 트리거가 발생할 때까지 대기하는 단계 4로 다시 전환될 수 있다.
도 30에 도시되는 바와 같이, SMSF의 기능성이, 도 37c 또는 도 37d에 도시되는 것들과 같은, M2M 네트워크의 노드(예를 들어, 서버, 게이트웨이, 디바이스 또는 다른 컴퓨터 시스템)의 메모리에 저장되고, 그 프로세서 상에서 실행되는 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있다는 점이 이해된다. 즉, 도 30에 도시되는 방법은, 예를 들어 도 37c 또는 도 37d에 도시되는 노드 또는 컴퓨터 시스템과 같은, 네트워크 노드의 메모리에 저장된 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있고, 이 컴퓨터 실행가능 명령어들은, 노드의 프로세서에 의해 실행될 때, 도 30에 도시되는 단계들을 수행한다. 도 30에 도시되는 임의의 송신 및 수신 단계들은 노드의 프로세서 및 이것이 실행하는 컴퓨터 실행가능 명령어들(예를 들어, 소프트웨어)의 제어하에 노드의 통신 회로에 의해 수행될 수 있다는 점이 또한 이해된다.
이하, M2M 서비스 레이어 세션 마이그레이션 및 공유를 위해 위에 설명된 SMSF 및 방법들이 oneM2M 아키텍처에 따라 동작하는 네트워크에서 구현되는 실시예들이 개시된다. 위에서 언급된 바와 같이, oneM2M은 oneM2M 서비스 레이어에 의해 지원되는 능력들을 정의한다. 이러한 능력들은 CSF들(Capability Service Functions)이라고 지칭된다. oneM2M 서비스 레이어는 CSE(Capability Services Entity )라고 지칭된다. 도 31에 도시되는 바와 같이, CSE(271')는 일 세트의 CSF들(270')을 지원한다. 일 실시예에서, CSE(271')는 도 9에 도시되고 위에 설명된 CSE(272)의 변형된 버전일 수 있고, CSF(271')의 세트는 도 9에서의 그리고 위에 설명된 CSF들(271)의 변형된 버전일 수 있다.
CSE에 대한 oneM2M 사양의 한 버전은 SSM(Service Session Management) CSF의 예비 정의를 포함한다. 이러한 초기 정의는 세션 참가자들(예를 들어, M2M 애플리케이션들 및 M2M 서비스 레이어 인스턴스들) 사이의 서비스 레이어 세션 수립을 지원하지만, 서비스 레이어 세션 마이그레이션 또는 공유를 지원하지는 않는다. 이러한 격차에 대처하기 위해, 위에서 그리고 아래에 설명되는 SMSF 기능성은 oneM2M SSM CSF의 현재 버전 내에 통합될 수 있다. 이것은 (위에서 그리고 아래에 설명되는 바와 같은) SMSF가 SSM(Service Session Management) CSF(272')의 일부로서 포함되는 도 31에 도시된다. 일 실시예에서, SSM CSF(272')는 도 9에 도시되고 위에 설명되는 SSM CSF(272)의 변형된 버전일 수 있다. SMSF(예를 들어, SMSF(460))를 SSM CSF(예를 들어, SSM CSF(272'))에 통합함으로써, 본 명세서에 설명되는 서비스 레이어 세션 마이그레이션 및 공유 기능성이 SSM CSF에 의해 지원될 수 있다.
예를 들어 OneM2M 기능적 아키텍처(OneM2M Functional Architecture), oneM2M-TS-0001, 버전 0.4.3에서 설명되는 바와 같이, oneM2M RoA(Resource Oriented Architecture)에 따라서, 개별 CSF들은 그들 각각의 인터페이스 역할을 하는 "자원들"의 세트를 지원하고, 여기서 자원은 아키텍처에서 고유하게 어드레싱 가능한 엔티티이다. 자원은 Create, Retrieve, Update, 및 Delete와 같은 RESTful 메소드들을 통해 조작될 수 있는 표현을 갖고, URI(Universal Resource Identifier)를 사용하여 어드레스 된다. 자원은 자식 자원(들) 및 속성(들)을 포함할 수 있다. 자식 자원은 부모 자원과 포함 관계(containment relationship)를 갖는 자원이다. 부모 자원 표현은 그의 자식 자원(들)에 대한 참조들을 포함한다. 자식 자원의 수명은 부모의 자원 수명에 의해 제한된다. 각각의 자원은 자원의 정보를 저장하는 일 세트의 "속성들"을 지원한다.
현재 정의되는 oneM2M SSM CSF에 대한 세션 마이그레이션 및 공유 기능성을 지원하기 위한 oneM2M 자원 구조 강화들이 이하 설명된다. 자원 구조들을 설명하기 위한 oneM2M 정의되는 그래픽 표현은 다음과 같다는 점에 주목하자: (i) 사각형 상자들은 자원들 및 자식 자원들에 대해 사용되고; (ii) 둥근 모서리들이 있는 사각형 상자들은 속성에 대해 사용되고; (iii) 평행사변형들은 자원들의 수집에 대해 사용되고; (ⅳ) 다양한 각각의 속성 및 자식 자원이 정의되며; (v) "<" 및 ">"로 구분되는 자원 이름들은 자원의 생성 동안 배정되는 이름들을 나타낸다.
도 32는 oneM2M <session> 자원 구조의 변형을 도시하며, 이는 <session> 자원 속성들의 세트로 구성된다. 도시되는 바와 같이, 세션 마이그레이션 및 공유 기능성을 지원하기 위해 <session> 자원에 속성들을 추가함으로써 자원 구조가 변형될 수 있다. 이러한 속성들은 아래 표 20에 나열되고 설명된다.
Figure 112017037882011-pct00020
migrationOk 및 sharingOK 속성들은 SMSF가 주어진 세션에 대해 세션 마이그레이션 또는 공유를 수행하는 것을 가능하게 또는 불가능하게 하는데 사용될 수 있다. 이러한 속성들은 반드시 서로 상호 배타적일 필요는 없다는 점에 주목하자. 동일한 세션이 공유 및/또는 마이그레이션될 수 있다. SMSFschedule 속성은 SMSF가 세션 마이그레이션 또는 공유를 수행하는 시기를 스케줄링하는데 사용될 수 있다.
SMSFschedule 속성을 인코딩하기 위한 일 예시적인 실시예는 SMSF가 세션의 마이그레이션 또는 공유를 스케줄링하는데 사용할 수 있는 시간대를 제공하는 것이다. 이러한 시간대는 여러 상이한 포맷들로 표현될 수 있다. 다음은 몇 가지 예들이다.
일 실시예에서, 시간대는 쉼표로 구분되는 시작 및 종료 시간으로서 표현될 수 있고, 예를 들어,
Figure 112017037882011-pct00021
이다.
다른 실시예에서, 시간대는 XML 인코딩되는 시작 및 종료 시간으로서 표현될 수 있고, 예를 들어,
Figure 112017037882011-pct00022
이다.
또 다른 예로서, 시간대는 JSON 인코딩되는 시작 및 종료 시간으로서 명시될 수 있고, 예를 들어,
Figure 112017037882011-pct00023
이다.
SMSFtargets 속성은 세션이 마이그레이션되거나 공유될 장래의 세션 참가자들을 명시하는데 사용될 수 있다. 일 실시예에서, SMSFtargets 속성은 각각의 URI가 활성의 또는 장래의 세션 참가자에게 참조되는 URI들의 목록으로서 인코딩될 수 있다. 이러한 목록은 여러 상이한 포맷들로 표현될 수 있다.
제1 예로서, 목록은 다음과 같은 쉼표로 구분되는 URI들의 목록으로서 표현될 수 있다.
Figure 112017037882011-pct00024
다른 예로서, 목록은 다음과 같은 URI들의 XML 인코딩된 목록으로서 인코딩될 수 있다.
Figure 112017037882011-pct00025
또 다른 예로, 목록은 다음과 같은 URI들의 JSON 인코딩된 목록으로서 인코딩될 수 있다.
Figure 112017037882011-pct00026
SMSFtrigger 속성은 세션 마이그레이션 또는 공유를 수행하기 위해 SMSF를 명시적으로 트리거하는데 사용될 수 있다.
속성 부여된 SMSFtrigger를 인코딩하기 위한 일 실시예는 각각의 조건이 SMSF가 세션 마이그레이션 또는 공유를 착수하기 위한 기준인 조건들의 목록을 사용하는 것이다. 일 실시예에서, SMSF는 기준 신택스(syntax)를 지원할 수 있다. 목록에 있는 하나 이상의 기준이 SMSF에 의해 참(true)으로 평가되면, 이는 세션 마이그레이션 또는 공유를 트리거할 수 있다. 이전의 목록들과 마찬가지로, 이러한 목록은 여러 상이한 포맷들로 표현될 수 있다. 이는 조건들의 쉼표로 구분되는 목록으로 인코딩될 수 있고, 예를 들어,
Figure 112017037882011-pct00027
이다.
대안적으로, 이는 조건들의 XML로 인코딩된 목록으로서 인코딩될 수 있고, 예를 들어,
Figure 112017037882011-pct00028
이다.
그리고 이는 조건들의 JSON 인코딩된 목록으로서 인코딩될 수 있고, 예를 들어,
Figure 112017037882011-pct00029
Figure 112017037882011-pct00030
이다.
도 33은 oneM2M <sessionPolicy> 자원 구조의 변형을 도시한다. 특히, 서비스 레이어 세션 마이그레이션 및 공유 특정 정책 속성들이 <sessionPolicy> 자원에 추가될 수 있다. 일 실시예에서, 이러한 속성들은 policyType 속성 및 정책 속성을 포함한다. 각각이 표 21에서 상세히 설명된다.
Figure 112017037882011-pct00031
policyType 속성은 세션 정책이 세션 마이그레이션 정책인지 또는 세션 공유 정책인지 명시하는데 사용될 수 있다. 정책 속성은 세션 마이그레이션을 명시하거나 SMSF에 의해 사용되는 구체적인 정책들을 공유하는데 사용될 수 있다.
일 실시예에서, 세션 정책 정의는 세션 마이그레이션 또는 공유를 수행할 때 SMSF가 사용할 수 있는 트리거 조건들, 스케줄링 정보, 및 세션 참가자들과 같은 정보들로 이루어지는 세션 마이그레이션 및 공유 규칙들로 구성되는 데이터 구조를 정의함으로써 인코딩될 수 있다. 이러한 데이터 구조는 그 내에 임베딩되는 이러한 정보를 포함할 수 있거나 또는 이것은 이러한 정보를 포함하는 다른 자원들에 대한 링크들(예를 들어, smsfSchedule, smsfTargets, 및 smsfTriggers 속성들을 지원하는 위에 정의되는 <session> 자원에 대한 링크들)를 포함할 수 있다.
다음은 XML 인코딩된 정책 정의의 예이다:
Figure 112017037882011-pct00032
Figure 112017037882011-pct00033
JSON 인코딩된 정책 정의의 예는 다음과 같을 수 있다:
Figure 112017037882011-pct00034
Figure 112017037882011-pct00035
도 34는 oneM2M <sessionContext> 자원 구조의 변형을 도시한다. 도시되는 바와 같이, 서비스 레이어 세션 마이그레이션 및 공유 컨텍스트 타입들이 <sessionContext> 자원에 추가될 수 있다. 특히, 표 22에 정의되는 세션 컨텍스트 속성들이 추가될 수 있다. 이러한 컨텍스트는 주어진 세션의 모든 참가자들에게 적용될 수 있거나 또는 개별 세션 참가자에게 특정적일 수 있다는 점에 주목하자. 예를 들어, 개별 세션 참가자에 특정적인 컨텍스트에 대해, 도 35에 도시되는 바와 같이, <sessionParticipant> 자원 아래에 인스턴스화될 수 있다(또는 이에 링크될 수 있다).
Figure 112017037882011-pct00036
일 실시예에서, 세션 컨텍스트 정의는 세션 마이그레이션 또는 공유를 수행할 때 SMSF가 사용할 수 있는 세션 마이그레이션 및 공유 컨텍스트로 구성되는 데이터 구조를 정의함으로써 인코딩될 수 있다. 이러한 데이터 구조는 그 내에 임베딩되는 이러한 정보를 포함할 수 있거나 또는 이것은 이러한 정보를 포함하는 다른 자원들에 대한 링크들(예를 들어, smsfTargets 속성들과 같은 속성들을 지원하는 위에 정의되는 <session> 자원에 대한 링크들)를 포함할 수 있다.
다음은 XML 인코딩된 컨텍스트 정의의 예이다:
Figure 112017037882011-pct00037
Figure 112017037882011-pct00038
JSON 인코딩된 컨텍스트의 일 예는 다음과 같다:
Figure 112017037882011-pct00039
도 36a 내지 36c는 oneM2M 서비스 레이어 세션을 마이그레이션하기 위한 방법의 일 예시적인 실시예를 도시하고, 위에 논의된 oneM2M SMSF 자원 확장들이 마이그레이션 프로세스에서 어떻게 사용될 수 있는지를 보여준다. 이러한 예에서, M2M 디바이스(470) 상에 호스팅되는 M2M 애플리케이션(472)과 제1 M2M 게이트웨이(476)(M2M GW #1)의 서비스 레이어 인스턴스(474) 사이의 M2M 서비스 레이어 세션은, M2M 서버(482) 상에 호스팅되는 서비스 레이어 인스턴스(480)를 통해, 제1 M2M 게이트웨이(476) 상에 호스팅되는 서비스 레이어 인스턴스로부터 제2 M2M 게이트웨이(488)(M2M GW #2) 상에 호스팅되는 서비스 레이어 인스턴스(486)으로 마이그레이션되고 있다. 도시되는 바와 같이, 이러한 실시예에서, 서비스 레이어 인스턴스들(474, 480 및 486) 각각은, 예를 들어, 도 30에 도시되고 위에 설명되는 SMSF(Session Migration and Sharing Function) 기능성을 포함하는 SSM(Service Session Management) CSF(478, 484 및 490)를 각각 포함한다. 이러한 예에서, 제1 위치(도 36a의 좌측에 도시됨)로부터 새로운 위치(도 36a의 우측에 도시됨)로 이동된 모바일 M2M 디바이스(예를 들어, 디바이스(470))를 지원하기 위해 마이그레이션이 수행된다.
이러한 실시예에서, 마이그레이션은 M2M GW #1(476), M2M 서버(482), 및 M2M GW #2(488) 상에 인스턴스화되는 SMSF들(478, 484, 490) 사이의 협업을 통해 수행된다. 따라서, 서비스 레이어 세션 컨텍스트의 마이그레이션 경로는 M2M GW #1(476)로부터 M2M 서버(482)까지이고 이어서 M2M 서버(482)로부터 M2M GW #2(488)까지이다. 또한, 다른 실시예(도시되지 않음)에서, 서비스 레이어 세션 컨텍스트의 마이그레이션 경로는 M2M GW #1(476)으로부터 M2M GW #2(488)까지 직접일 수 있으며, 이 경우 M2M 서버(482)는 역할을 하지 않을 것이라는 점에 주목하자. 또한, 이러한 예에서는 서비스 레이어 마이그레이션이 구체적으로 도시되더라도, 유사한 단계들을 사용하는 대신에 마이그레이션 동작들을 위에 설명된 바와 같은 대응 공유 동작들로서 대체하여, 서비스 레이어 세션 공유가 수행될 수 있다는 점에 주목하자.
도 36a를 참조하면, 단계들(001a 및 001b)에서, M2M 디바이스(470) 상에 호스팅되는 M2M 애플리케이션(472)은 M2M GW #1(476) 상에 호스팅되는 M2M 서비스 레이어 인스턴스(474)에 등록한다. 이러한 등록은, 492에 도시되는 바와 같이, M2M GW #1(476) 상에 oneM2M 정의된 <application>을 생성함으로써 수행된다.
다음에, M2M 디바이스(470) 상에 호스팅되는 M2M 애플리케이션(472)은 자신과 M2M GW #1(476) 상에 호스팅되는 서비스 레이어 인스턴스(474) 사이에 M2M 서비스 레이어 세션을 수립한다. 이것은, 단계 002a에 도시되는 바와 같이, oneM2M 정의된 <session> 자원을 생성하는 M2M 애플리케이션에 의해 착수된다. 이것을 행할 때, 애플리케이션(472)은 migrationOk 속성을 'TRUE'로 구성함으로써 세션이 마이그레이션 가능하게 될 것을 나타낸다. 애플리케이션은 이러한 요청에 자신 고유의 애플리케이션 인스턴스 식별자('appXYZ123')를 또한 포함한다.
단계 003a 및 단계 003b에서, M2M GW #1(476) 상에 호스팅되는 SSM/SMSF(478)는 M2M 애플리케이션 'appXYZ123'에 대해 이미 이용가능한 마이그레이션 가능한 세션이 존재하는지 여부를 점검한다. 이것은 'appXYZ123'과 연관된 임의의 세션 자원들이 서버에 생성되거나 알려졌는지를 알아보기 위해 M2M 서버(482) 상의 서비스 레이어 인스턴스(480)를 쿼리함으로써 행해질 수 있다. 본 예에서는, 아무것도 없다. 결과적으로, 494에 도시되는 바와 같이, M2M GW #1(476) 상에 호스팅되는 SSM/SMSF(478)는, M2M 애플리케이션(472)에 대해 새로운 <session> 자원을 생성한다. 이러한 <session> 자원을 생성할 때, 고유 'sessionID'(예를 들어, "XYZ123")가 SSM/SMSF에 의해 세션에 할당되고 배정된다. 이러한 'sessionID'는 단계 002b에서 M2M 애플리케이션에 반환된다.
단계 004a 및 004b에서, 새로운 <session> 자원을 생성한 후, M2M GW #1(476) 상의 SSM/SMSF(478)는 M2M 서버(480) 상에 호스팅되는 서비스 레이어 인스턴스(480)에 이러한 자원을 알린다. M2M 애플리케이션(472)은 <session> 생성 요청에서 'migrationOK' 플래그를 'TRUE'로 설정한다(단계 002a). <session> 자원을 알림으로써, SSM/SMSF(478)는 네트워크에서 다른 서비스 레이어 인스턴스들 상에 호스팅되는 SSM/SMSF(예를 들어, M2M GW #2(488) 상에 호스팅되는 SSM/SMSF(490))에 의해 세션이 발견될 수 있게 한다. M2M 서버(482)에 알릴 때, 알려진 자원은 'sessionID' 및 M2M GW #1(476) 상의 서비스 레이어(474) 내에 호스팅되는 <session> 자원으로의 링크를 포함한다.
다음에, 단계 005a 및 005b에서, M2M 애플리케이션(472)은 세션이 활성인 동안 SSM/SMSF에 의해 어느 타입들의 세션 컨텍스트가 수집되고 유지될지 뿐만 아니라 세션이 다른 서비스 레이어에 마이그레이션되면/마이그레이션될 때 어느 컨텍스트가 마이그레이션될지를 정의하는 서비스 레이어 세션 정책 자원을 생성한다. 세션 정책 자원의 생성은 496에 도시된다.
본 예를 계속하는 도 36b를 참조하면, 단계 6은 M2M 애플리케이션(472)과 M2M GW #1(476) 상에 호스팅되는 서비스 레이어 인스턴스(474) 사이에 발생하는 정상적인 세션 기반 통신을 나타낸다.
세션 기반 통신이 발생함에 따라, M2M GW #1(476) 상에 호스팅되는 SSM/SMSF(478)는 <sessionPolicy> 규칙들에 기초하여 서비스 레이어 세션에 관련된 컨텍스트(표 19에 정의되는 컨텍스트와 같음)를 수집할 수 있다. 이러한 컨텍스트는 M2M GW #1(476) 상에 생성되는 <sessionContext> 자원 내에 SSM/SMSF(478)에 의해 저장될 수 있다. SSM/SMSF(478)는 이러한 자원들을 현재 세션의 sessionID(예를 들어, "XYZ123")로 태그할 수 있다.
본 예에서, 단계들 008a 및 008b에 도시되는 바와 같이, M2M 디바이스(470)는 제1 위치로부터 제2 위치로 이동한다. 이러한 예에서, 이동 후, 디바이스(470)는 더 이상 M2M GW #1(476)의 근처에 있지 않는다. 대신에 M2M GW #2(488)의 근처에 있다.
단계들 009a 및 009b에서, M2M 디바이스는 M2M GW #2(488) 상에 호스팅되는 서비스 레이어 인스턴스(486)에 등록한다.
본 예를 다시 계속하는 도 36c를 참조하면, 단계 010a에서, M2M 디바이스(470) 상에 호스팅되는 M2M 애플리케이션(472)은 자신과 M2M GW #2(488) 상에 호스팅되는 서비스 레이어 인스턴스(486) 사이에 M2M 서비스 레이어 세션을 수립하려고 시도한다. M2M 애플리케이션(472)이 M2M GW #2(488) 상에 호스팅되는 서비스 레이어 인스턴스(486)에 등록하고 M2M GW #1(476) 상에 호스팅되는 서비스 레이어와 수립한 세션의 sessionID(예를 들어, "XYZ123")를 제공함으로써 이것이 착수된다.
단계 011a에서, M2M GW #2(488) 상에 호스팅되는 SSM/SMSF(490)는 이것 sessionID를 포함했기 때문에 M2M 애플리케이션 등록에 의해 트리거된다. SSM/SMSF(490)은 M2M 애플리케이션 'appXYZ123'에 대해 이미 이용가능한 마이그레이션 가능한 세션이 있는지 점검한다. 'appXYZ123'과 연관된 임의의 세션 자원들이 생성되었거나 이에 알려졌는지 알아보기 위해 부모 서비스 레이어(즉, M2M 서버(482)) 상의 서비스 레이어(480)에 쿼리함으로써 단계 011b에서 이를 행한다. 이러한 특정 경우에는, 하나가 존재하고, 단계 011c에 도시되는 바와 같이, M2M GW #1(476) 상에 호스팅되는 대응하는 <session> 자원에 대한 링크가 M2M GW #2(488) 상의 SSM/SMSF(490)에 반환된다.
단계 12에서, M2M GW #2(488) 상에 호스팅되는 SSM/SMSF(490)는 M2M GW #1 상의 서비스 레이어(474)로부터 서비스 레이어 세션을 마이그레이션한다. 이렇게 하기 위해, SSM/SMSF(490)는 <sessionPolicy> 자원(들)을 먼저 검색하여 준수할 필요가 있는 세션 마이그레이션 정책들이 존재하는지 확인한다. 이러한 정책들을 사용하여, SSM/SMSF(490)는 세션을 M2M GW #2(488)에 마이그레이션할 수 있는지 결정할 수 있다. 그렇다면, SSM/SMSF(490)는 <session>, <sessionPolicy>, 및 <sessionContext> 자원들을 선택적으로 검색하고, M2M GW #2(488) 상에 호스팅되는 서비스 레이어(486)의 자원 트리 내에 대응하는 버전들을 생성할 수 있다. 이러한 검색들을 수행할 때, SSM/SMSF(490)는 sessionID를 포함하는 쿼리 스트링 파라미터를 포함할 수 있다. 이것은 SSM/SMSF(490)가 마이그레이션하려는 세션에 적용가능한 세션 자원들을 찾게 한다. 이러한 검색들에 대한 응답들을 수신하면, SSM/SMSF(490)는 검색된 자원 표현들을 검사하여 컨텍스트가 업데이트되어야 하는 경우를 검출할 수 있다(예를 들어, 마이그레이션으로 인해 더 이상 유효하지 않을 수 있는 세션 참가자들에서의 변화들을 설명함). 일단 SSM/SMSF(490)가 프로세스의 검색 및 생성을 완료하면, M2M GW #1(476) 상에 호스팅되는 서비스 레이어로부터 세션을 삭제할 수 있다. 단계 010a에서 전송되는 세션 생성 요청에 대한 응답은 다음으로 단계 010b에서 M2M 애플리케이션(472)에 전송될 수 있다.
단계 013에서, M2M GW #2(488) 상에 호스팅되는 SSM/SMSF(490)는 기본 액세스 네트워크와 조정하여 서비스 레이어 세션 정보를 그것에 전달할 수 있다. 이러한 정보를 사용하여, 기본 액세스 네트워크는 M2M 디바이스(470)에 대응하는 액세스 네트워크 접속들을 서비스 레이어 세션과 조정할 수 있다. 예를 들어, 이는 M2M GW #1(476)에 접속하는데 M2M 디바이스(470)에 의해 더 이상 요구되지 않는 기본 액세스 네트워크 접속들의 해제 및/또는 중단, 또는 서비스 레이어 세션 스케줄 정보(예를 들어, 서비스 레이어 세션이 활성/비활성인 시간들, 세션 마이그레이션 스케줄 등)를 공유하는 것을 조정할 수 있다. 이것은 이러한 정보를 이용하는 기본 액세스 네트워크 접속들을 사전 대응적으로 수립 및 해제하기 위해 액세스 네트워크에 의해 사용될 수 있다.
도 36a 내지 도 36c에 도시되는 단계들을 수행하는 엔티티들은 이하 설명되는 도 37c 또는 도 37d에 도시되는 것들과 같은 M2M 네트워크의 노드(예를 들어, 서버, 게이트웨이, 디바이스, 또는 다른 컴퓨터 시스템)의 메모리에 저장되고 그 프로세서 상에서 실행되는 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있는 논리적 엔티티들이라는 점이 이해된다. 즉, 도 36a 내지 도 36c에 도시되는 방법은 예를 들어 도 37c 또는 도 37d에 도시되는 노드 또는 컴퓨터 시스템과 같은 네트워크 노드의 메모리에 저장된 소프트웨어(즉, 컴퓨터 실행가능 명령어들)의 형태로 구현될 수 있고, 이 컴퓨터 실행가능 명령어들은, 노드의 프로세서에 의해 실행될 때, 도 36a 내지 도 36c에 도시되는 단계들을 수행한다. 도 36a 내지 도 36c에 도시되는 임의의 송신 및 수신 단계들은 노드의 프로세서 및 이것이 실행하는 컴퓨터 실행가능 명령어들(예를 들어, 소프트웨어)의 제어하에 노드의 통신 회로에 의해 수행될 수 있다는 점이 또한 이해된다.
본 명세서에 제시되는 실시예들은 REST(representational state transfer) 아키텍처의 면에서 설명되며, 컴포넌트들 및 엔티티들은 REST 아키텍처(RESTful 아키텍처)의 제약조건들에 부합하게 설명된다. RESTful 아키텍처는, 사용되는 물리적 컴포넌트 구현 또는 통신 프로토콜들의 면에서보다, 아키텍처에서 사용되는 컴포넌트들, 엔티티들, 커넥터들, 및 데이터 엘리먼트들에 적용되는 제약조건들의 면에서 설명된다. 따라서, 컴포넌트들, 엔티티들, 커넥터들, 및 데이터 요소들의 역할들 및 기능들이 설명될 것이다. RESTful 아키텍처에서는, 고유하게 어드레싱 가능한 자원들의 표현들이 엔티티들 사이에 이동된다. RESTful 아키텍처에서 자원들을 취급할 때, Create(자식 자원들을 생성함), Retrieve(자원의 콘텐츠를 판독함), Update(자원의 콘텐츠를 기입함) 또는 Delete(자원을 삭제함)와 같은, 자원들에 적용될 수 있는 기본적인 메소드들이 있다. 통상의 기술자라면 본 실시예들의 구현들이 본 개시내용의 범주 내에 있으면서 달라질 수 있다는 점을 인식할 것이다. 통상의 기술자라면 개시되는 실시예들이 예시적인 실시예들을 설명하기 위해 본 명세서에서 사용되는 oneM2M을 사용하는 구현들에 제한되는 것은 아니라는 점을 또한 인식할 것이다. 개시되는 실시예들은 ETSI M2M, 3GPP MTC, OMA LWM2M, 및 다른 유사한 M2M 시스템들 및 아키텍처들과 같은 아키텍처들 및 시스템들에서 구현될 수 있다.
예시적인 M2M / IoT / WoT 통신 시스템
도 37a는 하나 이상의 개시된 실시예들이 구현될 수 있는 예시적인 M2M(machine-to machine), IoT(Internet of Things), 또는 WoT(Web of Things) 통신 시스템(10)의 도면이다. 일반적으로, M2M 기술들은 IoT/WoT에 대한 구성 블록들을 제공하고, 임의의 M2M 디바이스, M2M 게이트웨이, M2M 서버, 또는 M2M 서비스 플랫폼은 IoT/WoT는 물론 IoT/WoT 서비스 레이어 등의 컴포넌트 또는 노드일 수 있다.
도 37a에 도시되는 바와 같이, M2M/IoT/WoT 통신 시스템(10)은 통신 네트워크(12)를 포함한다. 통신 네트워크(12)는 고정 네트워크(예를 들어, Ethernet, Fiber, ISDN, PLC 등) 또는 무선 네트워크(예를 들어, WLAN, 셀룰러 등) 또는 이종 네트워크들의 네트워크일 수 있다. 예를 들어, 통신 네트워크(12)는 음성, 데이터, 비디오, 메시징, 방송 등과 같은 콘텐츠를 다수의 사용자들에게 제공하는 다수의 액세스 네트워크들을 포함할 수 있다. 예를 들어, 통신 네트워크(12)는 CDMA(code division multiple access), TDMA(time division multiple access), FDMA(frequency division multiple access), OFDMA(orthogonal FDMA), SC-FDMA(single-carrier FDMA) 등과 같은 하나 이상의 채널 액세스 방법들을 이용할 수 있다. 또한, 통신 네트워크(12)는 예를 들어 코어 네트워크, 인터넷, 센서 네트워크, 산업 제어 네트워크, 개인 영역 네트워크, 융합 개인 네트워크(fused personal network), 위성 네트워크, 홈 네트워크, 또는 기업 네트워크와 같은 다른 네트워크들을 포함할 수 있다.
도 37a에 도시되는 바와 같이, M2M/IoT/WoT 통신 시스템(10)은 인프라스트럭처 도메인(Infrastructure Domain) 및 필드 도메인(Field Domain)을 포함할 수 있다. 인프라스트럭처 도메인은 엔드-투-엔드 M2M 배치(end-to-end M2M deployment)의 네트워크측을 지칭하고, 필드 도메인은 보통 M2M 게이트웨이 후방에 있는 영역 네트워크들(area networks)을 지칭한다. 필드 도메인 및 인프라스트럭처 도메인은 양자 모두 다양하고 상이한 네트워크 노드들(예를 들어, 서버들, 게이트웨이들, 디바이스 등)을 포함할 수 있다. 예를 들어, 필드 도메인은 M2M 게이트웨이들(14) 및 단말 디바이스들(18)을 포함할 수 있다. 임의의 수의 M2M 게이트웨이 디바이스들(14)과 M2M 단말 디바이스들(18)이 원하는 바에 따라 M2M/IoT/WoT 통신 시스템(10)에 포함될 수 있다는 점이 이해될 것이다. M2M 게이트웨이 디바이스들(14) 및 M2M 단말 디바이스들(18) 각각은 통신 네트워크(12) 또는 직접 무선 링크를 통해, 통신 회로를 사용하여, 신호들을 송신 및 수신하도록 구성된다. M2M 게이트웨이 디바이스(14)는 무선 M2M 디바이스들(예를 들어, 셀룰러 및 비-셀룰러)뿐만 아니라 고정형 네트워크 M2M 디바이스들(예를 들어, PLC)가 통신 네트워크(12) 또는 직접 무선 링크와 같은 오퍼레이터 네트워크들을 통해서 통신하게 한다. 예를 들어, M2M 디바이스들(18)은 통신 네트워크(12) 또는 직접 무선 링크를 통해 데이터를 수집할 수 있고, M2M 애플리케이션(20) 또는 다른 M2M 디바이스들(18)에 데이터를 보낼 수 있다. M2M 디바이스들(18)은 또한 M2M 애플리케이션(20) 또는 M2M 디바이스(18)로부터 데이터를 수신할 수 있다. 또한, 데이터 및 신호들은 아래 설명되는 것처럼 M2M 서비스 레이어(22)를 통해 M2M 애플리케이션(20)에 송신될 수 있고 그로부터 수신될 수 있다. M2M 디바이스들(18) 및 게이트웨이들(14)은, 예를 들어, 셀룰러, WLAN, WPAN(예를 들어, Zigbee, 6LoWPAN, Bluetooth), 직접 무선 링크, 및 유선을 포함하는 다양한 네트워크들을 통해 통신할 수 있다.
도 37b를 참조하면, 필드 도메인에 도시되는 M2M 서비스 레이어(22)는 M2M 애플리케이션(20), M2M 게이트웨이들(14), 및 M2M 디바이스들(18) 및 통신 네트워크(12)에 대한 서비스들을 제공한다. M2M 서비스 레이어(22)는 원하는 대로 임의의 수의 M2M 애플리케이션들, M2M 게이트웨이들(14), M2M 디바이스들(18), 및 통신 네트워크들(12)과 통신할 수 있다는 점이 이해될 것이다. M2M 서비스 레이어(22)는 네트워크의 하나 이상의 노드들에 의해 구현될 수 있으며, 이는 서버들, 컴퓨터들, 디바이스들 등을 포함할 수 있다. M2M 서비스 레이어(22)는 M2M 디바이스들(18), M2M 게이트웨이들(14), 및 M2M 애플리케이션들(20)에 적용되는 서비스 능력들을 제공한다. M2M 서비스 레이어(22)의 기능들은 다양한 방식들로, 예를 들어, 웹 서버로서, 셀룰러 코어 네트워크에서, 클라우드에서 등으로 구현될 수 있다.
도시되는 M2M 서비스 레이어(22)와 유사하게, 인프라스트럭처 도메인에는 M2M 서비스 레이어(22')가 있다. M2M 서비스 레이어(22')는 인프라스트럭처 도메인에서 M2M 애플리케이션(20') 및 기본 통신 네트워크(12')에 대한 서비스들을 제공한다. M2M 서비스 레이어(22')는 또한 필드 도메인에서 M2M 게이트웨이 디바이스들(14) 및 M2M 디바이스들(18)에 대한 서비스들을 제공한다. M2M 서비스 레이어(22')는 임의 수의 M2M 애플리케이션들, M2M 게이트웨이들 및 M2M 디바이스들과 통신할 수 있다는 점이 이해될 것이다. M2M 서비스 레이어(22')는 상이한 서비스 제공자에 의해 서비스 레이어와 상호작용할 수 있다. M2M 서비스 레이어(22')는 서버들, 컴퓨터들, 디바이스들, 또는 가상 머신들(예를 들어, 클라우드 컴퓨팅/스토리지 팜들, 기타 등등) 등을 포함할 수 있는, 네트워크의 하나 이상의 노드들에 의해 구현될 수 있다.
또한 도 37b를 참조하면, M2M 서비스 레이어(22 및 22')는 다양한 애플리케이션들 및 버티컬들이 이용할 수 있는 서비스 전달 능력들의 코어 세트를 제공한다. 이러한 서비스 능력들은 M2M 애플리케이션들(20, 20')이 디바이스들과 상호작용하고 또한 데이터 수집, 데이터 분석, 디바이스 관리, 보안, 과금, 서비스/디바이스 발견 등과 같은 기능들을 수행하는 것을 가능하게 한다. 본질적으로, 이러한 서비스 능력들은 이러한 기능성들을 구현하는 애플리케이션들의 부담을 없애고, 따라서 애플리케이션 개발을 간단화하고 마케팅하기 위한 비용 및 시간을 줄인다. 서비스 레이어(22 및 22')는 또한 M2M 애플리케이션들(20 및 20')이 서비스 레이어(22 및 22')가 제공하는 서비스들과 관련하여 다양한 네트워크들(12 및 12')을 통해 통신하는 것을 가능하게 한다.
M2M 애플리케이션들(20 및 20')은, 이에 제한되는 것은 아니지만, 운송, 건강 및 웰빙, 커넥티드 홈(connected home), 에너지 관리, 자산 추적, 그리고 보안 및 감시와 같은 다양한 산업들에서의 애플리케이션들을 포함할 수 있다. 앞서 언급된 바와 같이, 시스템의 디바이스들, 게이트웨이들, 서버들 및 다른 노드들에 걸쳐 동작하는 M2M 서비스 레이어는, 예를 들어, 데이터 수집, 디바이스 관리, 보안, 과금, 위치 추적/지오펜싱(geofencing), 디바이스/서비스 발견, 및 레거시 시스템들 통합과 같은 기능들을 지원하고, 이러한 기능들을 서비스들로서 M2M 애플리케이션들(20, 20')에 제공한다.
위에 언급된 바와 같이, 본 명세서에 설명되는 SMSF(Session Migration and Sharing Function)는 M2M 시스템의 서비스 레이어의 일부로서 구현될 수 있다. 일반적으로, 도 37a 및 도 37b에 도시되는 서비스 레이어들(22 및 22')과 같은 서비스 레이어는 API들(Application Programming Interfaces) 및 기본 네트워킹 인터페이스들의 세트를 통해 부가 가치 서비스 능력들을 지원하는 소프트웨어 미들웨어 레이어를 정의한다. ETSI M2M 및 oneM2M 아키텍처들 양자 모두는 서비스 레이어를 정의한다. ETSI M2M의 서비스 레이어는 SCL(Service Capability Layer)이라고 지칭된다. SCL은 ETSI M2M 아키텍처의 다양하고 상이한 노드들에서 구현될 수 있다. 예를 들어, 서비스 레이어의 인스턴스는 M2M 디바이스(여기서, 이것은 DSCL(device SCL)이라고 지칭됨), 게이트웨이(여기서 이것은 GSCL(gateway SCL)이라고 지칭됨) 및/또는 네트워크 노드(여기서 이것은 NSCL(network SCL)이라고 지칭됨) 내에서 구현될 수 있다. oneM2M 서비스 레이어는 한 세트의 CSF들(Common Service Functions)(즉, 서비스 능력들)을 지원한다. CSF들 중의 한 세트의 하나 이상의 특정 타입들의 인스턴스화는 상이한 타입들의 네트워크 노드들(예를 들어, 인프라스트럭처 노드, 미들 노드, 애플리케이션 특정적 노드) 상에서 호스팅될 수 있는 CSE(Common Services Entity)라고 지칭될 수 있다. 3GPP(Third Generation Partnership Project)는 또한 MTC(machine-type communications)에 대한 아키텍처를 정의하였다. 그러한 아키텍처에서, 이것이 제공하는 서비스 레이어와 서비스 능력들은 SCS(Service Capability Server)의 일부로서 구현된다. ETSI M2M 아키텍처의 DSCL, GSCL 또는 NSCL에서, 3GPP MTC 아키텍처의 SCS(Service Capability Server)에서, 또는 oneM2M 아키텍처의 CSF 또는 CSE에서, 또는 네트워크의 일부 다른 노드에서 구현되든 간에, 서비스 레이어의 인스턴스는 서버들, 컴퓨터들, 및 다른 컴퓨팅 디바이스들 또는 노드들을 포함하는, 네트워크에서의 하나 이상의 독립형 노드들 상에서 실행되는 논리적 엔티티(예를 들어, 소프트웨어, 컴퓨터 실행가능 명령어들 등)로서, 또는 하나 이상의 기존 노드들의 일부로서 구현될 수 있다. 예로서, 서비스 레이어 또는 그 컴포넌트의 인스턴스는 이하 설명되는 도 37c 또는 도 37d에 도시되는 일반적인 아키텍처를 갖는 네트워크 노드(예를 들어, 서버, 컴퓨터, 게이트웨이, 디바이스 등) 상에서 실행되는 소프트웨어 형태로 구현될 수 있다.
또한, 본 명세서에 설명되는 SMSF 및 다른 방법들 및 기능성들은 본 출원의 SMSF와 같은 서비스들을 액세스하기 위해 SOA(Service Oriented Architecture) 및/또는 ROA(Resource-Oriented Architecture)를 사용하는 M2M 네트워크의 일부로서 구현될 수 있다.
도 37c는 M2M 디바이스(18), M2M 게이트웨이(14), M2M 서버 등과 같은 M2M 네트워크 노드(30)의 예시적 하드웨어/소프트웨어 아키텍처의 블록도이다. 도 37c에 도시되는 바와 같이, M2M 노드(30)는 프로세서(32), 비-이동식 메모리(44), 이동식 메모리(46), 스피커/마이크로폰(38), 키패드(40), 디스플레이, 터치 패드, 및/또는 표시자들(42), 전원(48), GPS(global positioning system) 칩셋(50), 및 다른 주변기기들(52)을 포함할 수 있다. 노드(30)는 송수신기(34) 및 송신/수신 엘리먼트(36)와 같은 통신 회로를 또한 포함할 수 있다. M2M 노드(30)는 실시예와 일관성을 유지하면서 전술한 엘리먼트들의 임의의 부분 조합을 포함할 수 있다는 점이 이해될 것이다. 이러한 노드는 본 명세서에 설명되는 SMSF 기능성을 구현하는 노드일 수 있다.
프로세서(32)는 범용 프로세서, 특수 목적 프로세서, 종래의 프로세서, DSP(digital signal processor), 복수의 마이크로프로세서들, DSP 코어와 연관되는 하나 이상의 마이크로프로세서들, 제어기, 마이크로제어기, ASIC들(Application Specific Integrated Circuits), FPGA(Field Programmable Gate Array) 회로들, 임의의 다른 타입의 IC(integrated circuit), 상태 머신 등일 수 있다. 일반적으로, 프로세서(32)는 노드의 다양한 요구되는 기능들을 수행하기 위해 노드의 메모리(예를 들어, 메모리(44) 및/또는 메모리(46))에 저장되는 컴퓨터 실행가능 명령어들을 실행할 수 있다. 예를 들어, 프로세서(32)는 신호 코딩, 데이터 처리, 전력 제어, 입력/출력 처리, 및/또는 M2M 노드(30)가 무선 또는 유선 환경에서 동작할 수 있게 하는 임의의 다른 기능성을 수행할 수 있다. 프로세서(32)는 애플리케이션 레이어 프로그램들(예를 들어, 브라우저들) 및/또는 RAN(radio access-layer) 프로그램들 및/또는 통신 프로그램들을 실행할 수 있다. 프로세서(32)는 예를 들어, 액세스 레이어 및/또는 애플리케이션 레이어에서와 같이, 인증, 보안 키 합의, 및/또는 암호화 작업들과 같은 보안 작업들을 또한 수행할 수 있다.
도 37c에 도시되는 바와 같이, 프로세서(32)는 그것의 통신 회로(예를 들어, 송수신기(34) 및 송신/수신 엘리먼트(36))에 연결된다. 프로세서(32)는, 컴퓨터 실행가능 명령어들의 실행을 통해서, 노드(30)로 하여금 그것이 접속되는 네트워크를 통해 다른 노드들과 통신하게 하도록 통신 회로를 제어할 수 있다. 특히, 프로세서(32)는 본 명세서 및 청구범위에서 설명되는 송신 및 수신 단계들을 수행하도록 통신 회로를 제어할 수 있다. 도 37c가 프로세서(32) 및 송수신기(34)를 별개의 컴포넌트들로서 묘사하지만, 프로세서(32) 및 송수신기(34)는 전자 패키지 또는 칩에 함께 통합될 수 있다는 점이 이해될 것이다.
송신/수신 엘리먼트(36)는 신호들을 M2M 서버들, 게이트웨이들, 디바이스 등을 포함하는 다른 M2M 노드들에 송신하거나, 또는 이들로부터 수신하도록 구성될 수 있다. 예를 들어, 실시예에서, 송신/수신 엘리먼트(36)는 RF 신호들을 송신 및/또는 수신하도록 구성되는 안테나일 수 있다. 송신/수신 엘리먼트(36)는 WLAN, WPAN, 셀룰러 등과 같이, 다양한 네트워크들 및 에어 인터페이스들을 지원할 수 있다. 실시예에서, 송신/수신 엘리먼트(36)는, 예를 들어 IR, UV, 또는 가시광 신호들을 송신 및/또는 수신하도록 구성되는 방출기/검출기일 수 있다. 또 다른 실시예에서, 송신/수신 엘리먼트(36)는 RF 신호 및 광 신호 양자 모두를 송신 및 수신하도록 구성될 수 있다. 송신/수신 엘리먼트(36)는 무선 또는 유선 신호들의 임의의 조합을 송신 및/또는 수신하도록 구성될 수 있다는 점이 이해될 것이다.
또한, 송신/수신 엘리먼트(36)가 단일 엘리먼트로서 도 37c에 묘사되지만, M2M 노드(30)는 임의의 수의 송신/수신 엘리먼트들(36)을 포함할 수 있다. 보다 구체적으로, M2M 노드(30)는 MIMO 기술을 이용할 수 있다. 따라서, 실시예에서, M2M 노드(30)는 무선 신호들을 송신 및 수신하기 위한 2개 이상의 송신/수신 엘리먼트들(36)(예를 들어, 다수의 안테나들)을 포함할 수 있다.
송수신기(34)는 송신/수신 엘리먼트(36)에 의해 송신될 신호들을 변조하고, 송신/수신 엘리먼트(36)에 의해 수신되는 신호들을 복조하도록 구성될 수 있다. 전술된 바와 같이, M2M 노드(30)는 멀티-모드 능력들을 가질 수 있다. 따라서, 송수신기(34)는, M2M 노드(30)가, 예를 들어, UTRA 및 IEEE 802.11과 같은 다수의 RAT들을 통해 통신할 수 있게 하기 위한 다수의 송수신기들을 포함할 수 있다.
프로세서(32)는 비-이동식 메모리(44) 및/또는 이동식 메모리(46)와 같은 임의의 타입의 적합한 메모리로부터 정보를 액세스하거나 거기에 데이터를 저장할 수 있다. 예를 들어, 프로세서(32)는 위에 설명된 바와 같이 그 메모리에 세션 컨텍스트를 저장할 수 있다. 비-이동식 메모리(44)는 RAM(random-access memory), ROM(read-only memory), 하드 디스크, 또는 임의의 다른 타입의 메모리 저장 디바이스를 포함할 수 있다. 이동식 메모리(46)는 SIM(subscriber identity module) 카드, 메모리 스틱, SD(secure digital) 메모리 카드 등을 포함할 수 있다. 다른 실시예들에서, 프로세서(32)는 서버 또는 가정용 컴퓨터 상에서와 같이, M2M 노드(30) 상에 물리적으로 위치되지 않은 메모리로부터 정보를 액세스할 수 있고, 거기에 데이터를 저장할 수 있다. 프로세서(32)는 M2M 서비스 레이어 세션 마이그레이션 또는 공유의 상태를 반영하거나 또는 사용자로부터 입력을 획득하거나 또는 노드의 세션 마이그레이션 또는 공유 능력들 또는 설정들에 관한 정보를 사용자에게 디스플레이하기 위해 디스플레이 또는 표시자들(42) 상의 조명 패턴들, 이미지들, 또는 컬러들을 제어하도록 구성될 수 있다. 다른 예에서, 디스플레이는 세션 상태에 관한 정보를 보여줄 수 있다. 추가적으로, 디스플레이(42)는, 본 명세서에 설명되는 기본 서비스 레이어 세션 기능성을 통해, 사용자가 E2E 세션, 또는 그것의 마이그레이션 또는 공유를 대화식으로 수립하고 관리하게 하도록, 사용자에게 그래픽 사용자 인터페이스- 예를 들어, oneM2M 실시예에 대해 위에 설명된 RESTful 사용자/애플리케이션 API 위에 계층화될 수 있음 -를 제시하는데 사용될 수 있다. 이러한 그래픽 사용자 인터페이스의 예는 도 38에 도시되고 아래에 설명된다.
프로세서(32)는 전원(48)으로부터 전력을 수신할 수 있고, M2M 노드(30)의 다른 컴포넌트들에게 전력을 분배 및/또는 제어하도록 구성될 수 있다. 전원(48)은 M2M 노드(30)에 전력을 공급하기 적합한 임의의 디바이스일 수 있다. 예를 들어, 전원(48)은 하나 이상의 건전지 배터리들(예를 들어, 니켈-카드뮴(NiCd), 니켈-아연(NiZn), 니켈 금속 수소화물(NiMH), 리튬-이온(Li-ion) 등), 태양 전지들, 연료 전지들 등을 포함할 수 있다.
프로세서(32)는 또한 GPS 칩셋(50)에 연결될 수 있으며, 이것은 M2M 노드(30)의 현재 위치에 관한 위치 정보(예를 들어, 경도 및 위도)를 제공하도록 구성된다. M2M 노드(30)는 실시예와 일관성을 유지하면서 임의의 적합한 위치-결정 방법에 의해 위치 정보를 취득할 수 있다는 점이 이해될 것이다.
프로세서(32)는 다른 주변기기들(52)에 또한 연결될 수 있으며, 이러한 주변기기들은, 추가적인 특징들, 기능성, 및/또는 유선 또는 무선 접속성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈들을 포함할 수 있다. 예를 들어, 주변기기들(52)은 가속도계, e-나침반, 위성 송수신기, 센서, (사진들 또는 비디오를 위한) 디지털 카메라, USB(universal serial bus) 포트, 진동 디바이스, 텔레비전 송수신기, 핸즈프리 헤드셋, Bluetooth® 모듈, FM(frequency modulated) 무선 유닛, 디지털 음악 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저 등을 포함할 수 있다.
도 37d는 M2M 서버, 게이트웨이, 디바이스, 또는 다른 노드와 같은 M2M 네트워크의 하나 이상의 노드들을 구현하는데 또한 사용될 수 있는 예시적인 컴퓨팅 시스템(90)의 블록도이다. 컴퓨팅 시스템(90)은 컴퓨터 또는 서버를 포함할 수 있으며, 이러한 소프트웨어가 어디에 또는 어떤 수단에 의해 저장되고 액세스되든 간에, 소프트웨어의 형태일 수 있는 컴퓨터 판독가능 명령어들에 의해 주로 제어될 수 있다. 이러한 컴퓨터 판독가능 명령어들은 컴퓨팅 시스템(90)으로 하여금 동작하게 하도록 CPU(central processing unit)(91)와 같은 프로세서 내에서 실행될 수 있다. 많은 공지된 워크스테이션들, 서버들, 및 개인용 컴퓨터들에서, 중앙 처리 유닛(91)은 마이크로프로세서라 불리는 단일-칩 CPU에 의해 구현된다. 다른 머신들에서, 중앙 처리 유닛(91)은 다수의 프로세서들을 포함할 수 있다. 코프로세서(81)는 추가적인 기능들을 수행하거나 또는 CPU(91)를 보조하는, 주 CPU(91)와는 별개인, 선택적 프로세서이다. CPU(91) 및/또는 코프로세서(81)는, 세션 자격증명을 수신하거나 세션 자격증명을 기반으로 인증하는 것과 같이, E2E M2M 서비스 레이어 세션들에 대해 개시되는 시스템들 및 방법들에 관련된 데이터를 수신, 생성 및 처리할 수 있다.
동작에 있어서, CPU(91)는 명령어들을 페치, 디코드, 및 실행하고, 컴퓨터의 주 데이터 이송 경로인 시스템 버스(80)를 통해 다른 자원들로/로부터 정보를 이송한다. 이러한 시스템 버스는 컴퓨팅 시스템(90) 내의 컴포넌트들을 접속하고, 데이터 교환을 위한 매체를 정의한다. 시스템 버스(80)는 데이터를 전송하기 위한 데이터 라인들, 어드레스들을 전송하기 위한 어드레스 라인들, 및 인터럽트들을 전송하고 시스템 버스를 동작시키기 위한 제어 라인들을 통상적으로 포함한다. 이러한 시스템 버스(80)의 예는 PCI(Peripheral Component Interconnect) 버스이다.
시스템 버스(80)에 연결되는 메모리 디바이스들은 RAM(random access memory)(82) 및 ROM(read only memory)(93)을 포함한다. 이러한 메모리들은 정보가 저장 및 검색되게 하는 회로를 포함한다. ROM들(93)은 쉽게 수정될 수 없는 저장된 데이터를 일반적으로 포함한다. RAM(82)에 저장되는 데이터는 CPU(91) 또는 다른 하드웨어 디바이스들에 의해 판독 또는 변경될 수 있다. RAM(82) 및/또는 ROM(93)에 대한 액세스는 메모리 제어기(92)에 의해 제어될 수 있다. 메모리 제어기(92)는 명령어들이 실행됨에 따라 가상 어드레스들을 물리적 어드레스들로 변환하는 어드레스 변환 기능을 제공할 수 있다. 메모리 제어기(92)는 시스템 내의 프로세스들을 격리하고 시스템 프로세스들을 사용자 프로세스들로부터 격리하는 메모리 보호 기능을 또한 제공할 수 있다. 따라서, 제1 모드에서 실행되는 프로그램은 그 자신의 프로세스 가상 어드레스 공간에 의해 매핑되는 메모리만 액세스할 수 있고; 이것은 프로세스들 사이의 메모리 공유가 마련되지 않는 한 다른 프로세스의 가상 어드레스 공간 내의 메모리를 액세스할 수 없다.
또한, 컴퓨팅 시스템(90)은 CPU(91)로부터 프린터(94), 키보드(84), 마우스(95), 및 디스크 드라이브(85)와 같은 주변기기들로 명령어들을 통신하는 것을 담당하는 주변기기 제어기(83)를 포함할 수 있다.
디스플레이 제어기(96)에 의해 제어되는 디스플레이(86)는 컴퓨팅 시스템(90)에 의해 생성되는 시각적 출력을 디스플레이하는데 사용된다. 이러한 시각적 출력은 텍스트, 그래픽, 애니메이션 그래픽, 및 비디오를 포함할 수 있다. 디스플레이(86)는 CRT 기반 비디오 디스플레이, LCD 기반 평면 패널 디스플레이, 가스 플라즈마 기반 평면 패널 디스플레이, 또는 터치 패널로 구현될 수 있다. 디스플레이 제어기(96)는 디스플레이(86)에 전송되는 비디오 신호를 생성하는데 요구되는 전자 컴포넌트들을 포함한다. 디스플레이(86)는, 예를 들어, 도 38에 도시되고 아래에 설명되는 예시적인 그래픽 사용자 인터페이스를 디스플레이하는데 사용될 수 있다.
또한, 컴퓨팅 시스템(90)은 도 37a 및 도 37b의 네트워크(12)와 같은 외부 통신 네트워크에 컴퓨팅 시스템(90)을 접속하여, 컴퓨팅 시스템(90)이 네트워크의 다른 노드들과 통신할 수 있게 하는데 사용될 수 있는, 예를 들어 네트워크 어댑터(97)와 같은 통신 회로를 포함할 수 있다.
예시적인 그래픽 사용자 인터페이스
도 38은 사용자가 엔드-투-엔드 세션 마이그레이션 정책을 대화식으로 구성하고 관리하게 하도록 구현될 수 있는 그래픽 사용자 인터페이스(500)의 일 실시예를 도시한다. 일 실시예에서, 이러한 그래픽 사용자 인터페이스는 엔드-투-엔드 세션을 수립, 관리, 이전 및 공유하기 위해 전술된 방법들의 상부에 계층화될 수 있다. 도시되는 실시예에서, 그래픽 사용자 인터페이스는 E2E M2M 서비스 레이어 세션의 마이그레이션을 관리하기 위한 정책을 생성(또는 삭제)하기 위해 사용자에 의해 사용될 수 있다. 도시되는 바와 같이, 윈도우(502)에서, 사용자는 어느 세션 컨텍스트가 마이그레이션되어야 할지를 선택할 수 있다. 윈도우(504)는 마이그레이션 스케줄을 수립하는데 사용될 수 있다. 윈도우(506)는 현재 세션과 관련된 이벤트들에 관한 정보를 디스플레이하는데 사용될 수 있다. 윈도우(508)는 시간/스케줄 기반 마이그레이션 또는 이벤트 기반 마이그레이션을 수행할지 여부와 같은 서비스 편성 정책들을 설정하는데 사용될 수 있다. 윈도우들(510 및 512)은 어디서부터 그리고 어디로 마이그레이션이 수행되어야 하는지 식별하는데 사용할 수 있다. 윈도우(514)는 구성 정책이 수립되는 E2E M2M 서비스 레이어 세션의 식별자뿐만 아니라 세션과 관련된 자격증명을 입력 및/또는 디스플레이하는데 사용될 수 있다. 버튼들(516 및 518)은, 각각, 정책이 생성되거나 삭제되게 하는데 사용될 수 있다.
다양한 실시예들에서, 그래픽 사용자 인터페이스(500)는, 예를 들어, 도 37a 내지 도 37d의 예시적인 네트워크의 디바이스들(18), 게이트웨이들(14) 및 서버들(22), 또는 다른 도면에들 도시되는 디바이스들, 게이트웨이들, 또는 서버들 중 임의의 것과 같은, 최종 사용자 디바이스들, 단말들, 게이트웨이들, 또는 이러한 네트워크들의 서버들을 포함하는, M2M, IoT, 또는 WoT 네트워크의 임의의 하나 이상의 노드들 상에서 구현될 수 있다. 예를 들어, 그래픽 사용자 인터페이스(500)는 도 37c에 도시되는 예시적인 네트워크 노드(30)의 디스플레이(42) 또는 도 37d의 예시적인 컴퓨터 시스템(90)의 디스플레이(86) 상에 구현되고 디스플레이될 수 있다.
본 명세서에 설명되는 시스템들, 방법들 및 프로세스들 중 임의의 것 또는 모든 것은 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 실행가능 명령어들(즉, 프로그램 코드)의 형태로 구현될 수 있다는 점이 이해되며, 이 명령어들은, 예를 들어 M2M 서버, 게이트웨이, 디바이스 등을 포함하는 M2M 네트워크의 노드와 같은 머신에 의해 실행될 때, 본 명세서에 설명되는 시스템들, 방법들 및 프로세스들을 수행 및/또는 구현한다. 구체적으로, 위에 설명된 단계들, 동작들 또는 기능들 중 임의의 것이 그러한 컴퓨터 실행가능 명령어들의 형태로 구현될 수 있다. 컴퓨터 판독가능 저장 매체는 정보의 저장을 위한 임의의 비-일시적(즉, 유형의 또는 물리적) 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비-이동식 매체 양자 모두를 포함하지만, 이러한 컴퓨터 판독가능 저장 매체는 신호들을 포함하지 않는다. 컴퓨터 판독가능 저장 매체는, 이에 제한되는 것은 아니지만, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광학 디스크 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 원하는 정보를 저장하는데 사용될 수 있는 그리고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 유형의 또는 물리적 매체를 포함한다.
도면들에 도시되는 바와 같이, 본 개시내용의 주제의 바람직한 실시예들을 설명함에 있어서, 구체적인 용어가 명료성을 위해 채택된다. 그러나, 청구되는 주제는 그와 같이 선택되는 구체적인 용어로 제한되는 것으로 의도되는 것이 아니며, 각각의 구체적인 엘리먼트가 유사한 목적을 달성하기 위해 유사한 방식으로 동작하는 모든 기술적 등가물들을 포함하는 것으로 이해되어야 할 것이다.
본 작성 명세서는 최상의 모드를 포함하는 본 발명을 개시하고, 또한 관련분야에서의 임의의 숙련된 자가 임의의 디바이스들 또는 시스템들을 제작하고 사용하고 임의의 통합된 방법들을 수행하는 것을 포함하여 본 발명을 실시할 수 있도록 하기 위해 예를 사용한다. 본 발명의 특허를 받을 수 있는 범주는 청구범위에서 정의되며, 관련분야에서의 숙련된 자들에게 발생하는 다른 예들을 포함할 수 있다. 이러한 다른 예들은, 청구항들의 문자 그대로의 표현과 상이하지 않은 엘리먼트들을 가지는 경우, 또는 이들이 청구항들의 문자 그대로의 표현과 실질적인 차이가 없는 등가적 엘리먼트들을 포함하는 경우, 청구항들의 범위 내에 있는 것으로 의도된다.

Claims (26)

  1. 프로세서, 메모리 및 통신 회로를 포함하는 노드로서,
    상기 노드는 자신의 통신 회로를 통해 통신 네트워크에 접속되고 상기 네트워크에서의 게이트웨이 또는 서버로서 동작하며, 상기 노드는 상기 노드의 상기 메모리에 저장되는 컴퓨터 실행가능 명령어들을 더 포함하며, 상기 컴퓨터 실행가능 명령어들은, 상기 노드의 상기 프로세서에 의해 실행될 때, 상기 네트워크의 서비스 레이어의 인스턴스의 기능들을 수행하고, 상기 노드로 하여금:
    상기 노드의 메모리에, 상기 노드의 상기 서비스 레이어 인스턴스와 상기 네트워크에 접속되는 제2 노드 상에 실행되는 애플리케이션 사이에 수립되는 서비스 레이어 세션에 관한 정보를 포함하는 컨텍스트를 저장하게 하고;
    상기 노드의 상기 서비스 레이어 인스턴스와 상기 제2 노드의 상기 애플리케이션 사이의 상기 서비스 레이어 세션이 제3 노드로 마이그레이션되거나 공유될 것을 표시하는 트리거 조건에 응답하여, 상기 서비스 레이어 세션에 대해 저장된 컨텍스트를 상기 노드로부터 상기 제3 노드 상에 실행되는 서비스 레이어 인스턴스로 송신하게 하는 노드.
  2. 제1항에 있어서,
    상기 트리거 조건은 상기 서비스 레이어 세션이 마이그레이션될 것을 표시하며, 상기 저장된 세션 컨텍스트가 상기 제3 노드 상에 실행되는 상기 서비스 레이어 인스턴스에 송신된 후, 상기 노드의 상기 서비스 레이어 인스턴스는 상기 노드의 상기 메모리로부터 상기 컨텍스트를 삭제하는 노드.
  3. 제1항에 있어서,
    상기 서비스 레이어 세션에 대해 저장되는 상기 컨텍스트는, (i) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 스케줄을 명시하는 정보; (ii) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 정책들을 정의하는 정보; 및 (iii) 상기 서비스 레이어 세션이 마이그레이션되거나 공유될 것임을 표시하는 상기 트리거 조건을 야기할 수 있는 이벤트들을 명시하는 정보 중 하나 이상을 포함하는 노드.
  4. 제3항에 있어서,
    상기 서비스 레이어 세션에 대해 저장되는 상기 세션 컨텍스트는, (i) 상기 서비스 레이어 세션에 관한 통지들이 송신될 다른 서비스 레이어 세션 참가자들을 식별하는 정보; (ⅱ) 상기 서비스 레이어 세션의 식별자; (iii) 상기 서비스 레이어 세션의 참가자들에 의해 사용될 보안 자격증명들; (iv) 세션 액티비티에 관한 정보; (v) 상기 서비스 레이어 세션의 참가자들에게 메시지들을 라우팅하는 것에 관한 정보; (vi) 상기 서비스 레이어 세션에 대한 참가자들의 위치들에 관한 정보; (vii) 상기 서비스 레이어 세션의 참가자들을 대신하여 수집되고 저장되는 데이터; (viii) 다른 참가자들에 의한 서비스 레이어 세션의 발견을 용이하게 하는 정보; (ix) 상기 서비스 레이어 세션을 사용하여 수행되는 트랜잭션들에 관한 정보; 및 (x) 상기 서비스 레이어 세션의 기초가 되는 액세스 네트워크 세션들 또는 전송 레이어 세션들에 관한 정보 중 하나 이상을 더 포함하는 노드.
  5. 제1항에 있어서,
    상기 세션 컨텍스트는 상기 노드의 상기 서비스 레이어 인스턴스에 의해 생성되고 유지되는 하나 이상의 자원들에 저장되는 노드.
  6. 제1항에 있어서,
    상기 노드로부터 상기 제3 노드 상에 실행되는 서비스 레이어 인스턴스로 상기 서비스 레이어 세션에 대해 상기 저장된 컨텍스트를 송신하는 것은, 상기 서비스 레이어 세션에 대해 상기 저장된 컨텍스트를 상기 노드로부터 중간 노드 상에서 실행되는 서비스 레이어 인스턴스로 송신하는 것을 포함하며, 이러한 중간 노드는 다음으로 상기 서비스 레이어 세션 컨텍스트를 상기 제3 노드로 전달하는 노드.
  7. 제1항에 있어서,
    상기 트리거 조건은 상기 노드의 상기 서비스 레이어 인스턴스에 의해 자체적으로 생성되는 노드.
  8. 제1항에 있어서,
    상기 트리거 조건은 상기 서비스 레이어 세션의 참가자에 의해 야기되는 노드.
  9. 프로세서, 메모리 및 통신 회로를 포함하는 노드로서,
    상기 노드는 자신의 통신 회로를 통해 통신 네트워크에 접속되고 상기 네트워크에서의 게이트웨이 또는 서버로서 동작하며, 상기 노드는 상기 노드의 상기 메모리에 저장되는 컴퓨터 실행가능 명령어들을 더 포함하며, 상기 컴퓨터 실행가능 명령어들은, 상기 노드의 상기 프로세서에 의해 실행될 때, 상기 네트워크의 서비스 레이어의 인스턴스의 기능들을 수행하고, 상기 노드로 하여금:
    상기 노드의 상기 서비스 레이어 인스턴스에 등록하는 상기 네트워크에 접속되는 제2 노드 상에 실행되는 애플리케이션에 응답하여- 상기 제2 노드의 애플리케이션은 제3 노드의 서비스 레이어 인스턴스와의 서비스 레이어 세션을 이미 수립하였고, 이미 수립된 세션과 관련된 서비스 레이어 세션 식별자가 상기 제2 노드로부터 수신됨 -, 상기 세션 식별자에 의해 식별되는 이미 수립된 세션이 상기 제3 노드의 서비스 레이어 인스턴스로부터 상기 노드의 서비스 레이어 인스턴스로 마이그레이션될 수 있는지 결정하게 하고;
    상기 세션 식별자에 의해 식별되는 세션이 상기 제3 노드로부터 마이그레이션될 수 있다고 결정되면, 상기 세션에 대한 세션 컨텍스트를 상기 네트워크를 통해 상기 제3 노드의 서비스 레이어 인스턴스로부터 검색하게 하고;
    상기 제3 노드의 서비스 레이어 인스턴스로부터 검색되는 세션 컨텍스트에 기초하여 상기 제2 노드의 애플리케이션과 상기 노드의 서비스 레이어 인스턴스 사이에 세션을 재수립하게 하는 노드.
  10. 제9항에 있어서,
    상기 제2 노드로부터 수신되는 세션 식별자에 의해 식별되는 세션이 마이그레이션될 수 있는지 결정하는 것은, 상기 제2 노드의 애플리케이션과 상기 제3 노드의 서비스 레이어 인스턴스 사이의 이전 세션에 관한 정보를 유지한 다른 노드의 서비스 레이어 인스턴스를 쿼리하는 것을 포함하는 노드.
  11. 제9항에 있어서,
    상기 제2 노드로부터 수신되는 상기 세션 식별자에 의해 식별되는 상기 세션이 마이그레이션될 수 있는지의 결정은 상기 제3 노드로부터 검색되는 상기 세션 컨텍스트에 의해 명시되는 정책에 기초하는 노드.
  12. 제9항에 있어서,
    상기 제3 노드의 상기 서비스 레이어 인스턴스로부터 검색되는 상기 세션 컨텍스트는, (i) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 스케줄을 명시하는 정보; (ii) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 정책들을 정의하는 정보; 및 (iii) 상기 서비스 레이어 세션을 마이그레이션되거나 공유되도록 트리거할 수 있는 이벤트들을 명시하는 정보 중 하나 이상을 포함하는 노드.
  13. 제12항에 있어서,
    상기 제3 노드의 상기 서비스 레이어 인스턴스로부터 검색되는 상기 세션 컨텍스트는, (i) 상기 서비스 레이어 세션에 관한 통지들이 송신될 다른 서비스 레이어 세션 참가자들을 식별하는 정보; (ⅱ) 상기 서비스 레이어 세션의 식별자; (iii) 상기 서비스 레이어 세션의 참가자들에 의해 사용될 보안 자격증명들; (iv) 세션 액티비티에 관한 정보; (v) 상기 서비스 레이어 세션의 참가자들에게 메시지들을 라우팅하는 것에 관한 정보; (vi) 상기 서비스 레이어 세션에 대한 참가자들의 위치들에 관한 정보; (vii) 상기 서비스 레이어 세션의 참가자들을 대신하여 수집되고 저장되는 데이터; (viii) 다른 참가자들에 의한 서비스 레이어 세션의 발견을 용이하게 하는 정보; (ix) 상기 서비스 레이어 세션을 사용하여 수행되는 트랜잭션들에 관한 정보; 및 (x) 상기 서비스 레이어 세션의 기초가 되는 액세스 네트워크 세션들 또는 전송 레이어 세션들에 관한 정보 중 하나 이상을 더 포함하는 노드.
  14. 네트워크 내의 게이트웨이 또는 서버로서 동작하는 노드에 의한 사용을 위한 방법으로서,
    상기 노드는 프로세서, 메모리 및 통신 회로를 포함하고, 상기 노드는 자신의 통신 회로를 통해 통신 네트워크에 접속되고, 상기 노드의 상기 메모리에 저장되는 컴퓨터 실행가능 명령어들을 더 포함하며, 상기 컴퓨터 실행가능 명령어들은, 상기 노드의 상기 프로세서에 의해 실행될 때, 상기 네트워크의 서비스 레이어의 인스턴스의 기능들을 수행하고, 상기 방법은:
    상기 노드의 메모리에, 상기 노드의 상기 서비스 레이어 인스턴스와 상기 네트워크에 접속되는 제2 노드 상에 실행되는 애플리케이션 사이에 수립되는 서비스 레이어 세션에 관한 정보를 포함하는 컨텍스트를 저장하는 단계;
    상기 노드의 상기 서비스 레이어 인스턴스와 상기 제2 노드의 상기 애플리케이션 사이의 상기 서비스 레이어 세션이 제3 노드로 마이그레이션되거나 공유될 것을 표시하는 트리거 조건에 응답하여, 상기 서비스 레이어 세션에 대해 저장된 컨텍스트를 상기 노드로부터 상기 제3 노드 상에 실행되는 서비스 레이어 인스턴스로 송신하는 단계
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 트리거 조건은 상기 서비스 레이어 세션이 마이그레이션될 것을 표시하며, 상기 방법은:
    상기 저장된 세션 컨텍스트가 상기 제3 노드 상에 실행되는 상기 서비스 레이어 인스턴스에 송신된 후, 상기 노드의 상기 메모리로부터 상기 컨텍스트를 삭제하는 단계를 더 포함하는 방법.
  16. 제14항에 있어서,
    상기 서비스 레이어 세션에 대해 저장되는 상기 컨텍스트는, (i) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 스케줄을 명시하는 정보; (ii) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 정책들을 정의하는 정보; 및 (iii) 상기 서비스 레이어 세션이 마이그레이션되거나 공유될 것임을 표시하는 상기 트리거 조건을 야기할 수 있는 이벤트들을 명시하는 정보 중 하나 이상을 포함하는 방법.
  17. 제16항에 있어서,
    상기 서비스 레이어 세션에 대해 저장되는 상기 컨텍스트는, (i) 상기 서비스 레이어 세션에 관한 통지들이 송신될 다른 서비스 레이어 세션 참가자들을 식별하는 정보; (ⅱ) 상기 서비스 레이어 세션의 식별자; (iii) 상기 서비스 레이어 세션의 참가자들에 의해 사용될 보안 자격증명들; (iv) 세션 액티비티에 관한 정보; (v) 상기 서비스 레이어 세션의 참가자들에게 메시지들을 라우팅하는 것에 관한 정보; (vi) 상기 서비스 레이어 세션에 대한 참가자들의 위치들에 관한 정보; (vii) 상기 서비스 레이어 세션의 참가자들을 대신하여 수집되고 저장되는 데이터; (viii) 다른 참가자들에 의한 서비스 레이어 세션의 발견을 용이하게 하는 정보; (ix) 상기 서비스 레이어 세션을 사용하여 수행되는 트랜잭션들에 관한 정보; 및 (x) 상기 서비스 레이어 세션의 기초가 되는 액세스 네트워크 세션들 또는 전송 레이어 세션들에 관한 정보 중 하나 이상을 더 포함하는 방법.
  18. 제14항에 있어서,
    상기 컨텍스트는 상기 노드의 상기 서비스 레이어 인스턴스에 의해 생성되고 유지되는 하나 이상의 자원들에 저장되는 방법.
  19. 제14항에 있어서,
    상기 노드로부터 상기 제3 노드 상에 실행되는 서비스 레이어 인스턴스로 상기 서비스 레이어 세션에 대해 상기 저장된 컨텍스트를 송신하는 단계는, 상기 서비스 레이어 세션에 대해 상기 저장된 컨텍스트를 상기 노드로부터 중간 노드 상에서 실행되는 서비스 레이어 인스턴스로 송신하는 단계를 포함하며, 이러한 중간 노드는 다음으로 상기 서비스 레이어 세션 컨텍스트를 상기 제3 노드로 전달하는 방법.
  20. 제14항에 있어서,
    상기 트리거 조건은 상기 노드의 상기 서비스 레이어 인스턴스에 의해 자체적으로 생성되는 방법.
  21. 제14항에 있어서,
    상기 트리거 조건은 상기 서비스 레이어 세션의 참가자에 의해 야기되는 방법.
  22. 네트워크 내의 게이트웨이 또는 서버로서 동작하는 노드에 의한 사용을 위한 방법으로서,
    상기 노드는 프로세서, 메모리 및 통신 회로를 포함하고, 상기 노드는 자신의 통신 회로를 통해 통신 네트워크에 접속되고, 상기 노드의 상기 메모리에 저장되는 컴퓨터 실행가능 명령어들을 더 포함하며, 상기 컴퓨터 실행가능 명령어들은, 상기 노드의 상기 프로세서에 의해 실행될 때, 상기 네트워크의 서비스 레이어의 인스턴스의 기능들을 수행하고, 상기 방법은:
    상기 노드의 상기 서비스 레이어 인스턴스에 등록하는 상기 네트워크에 접속되는 제2 노드 상에 실행되는 애플리케이션에 응답하여- 상기 제2 노드의 애플리케이션은 제3 노드의 서비스 레이어 인스턴스와의 서비스 레이어 세션을 이미 수립하였고, 이미 수립된 세션과 관련된 서비스 레이어 세션 식별자가 상기 제2 노드로부터 수신됨 -, 상기 세션 식별자에 의해 식별되는 이미 수립된 세션이 상기 제3 노드의 서비스 레이어 인스턴스로부터 상기 노드의 서비스 레이어 인스턴스로 마이그레이션될 수 있는지 결정하는 단계;
    상기 세션 식별자에 의해 식별되는 세션이 상기 제3 노드로부터 마이그레이션될 수 있다고 결정되면, 상기 세션에 대한 세션 컨텍스트를 상기 네트워크를 통해 상기 제3 노드의 서비스 레이어 인스턴스로부터 검색하는 단계; 및
    상기 제3 노드의 서비스 레이어 인스턴스로부터 검색되는 세션 컨텍스트에 기초하여 상기 제2 노드의 애플리케이션과 상기 노드의 서비스 레이어 인스턴스 사이에 세션을 재수립하는 단계
    를 포함하는 방법.
  23. 제22항에 있어서,
    상기 제2 노드로부터 수신되는 세션 식별자에 의해 식별되는 세션이 마이그레이션될 수 있는지 결정하는 단계는, 상기 제2 노드의 애플리케이션과 상기 제3 노드의 서비스 레이어 인스턴스 사이의 이전 세션에 관한 정보를 유지한 다른 노드의 서비스 레이어 인스턴스를 쿼리하는 단계를 포함하는 방법.
  24. 제22항에 있어서,
    상기 제2 노드로부터 수신되는 상기 세션 식별자에 의해 식별되는 상기 세션이 마이그레이션될 수 있는지 결정하는 단계는 상기 제3 노드로부터 검색되는 상기 세션 컨텍스트에 의해 명시되는 정책에 기초하는 방법.
  25. 제22항에 있어서,
    상기 제3 노드의 상기 서비스 레이어 인스턴스로부터 검색되는 상기 세션 컨텍스트는, (i) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 스케줄을 명시하는 정보; (ii) 상기 서비스 레이어 세션의 마이그레이션 또는 공유가 수행될 정책들을 정의하는 정보; 및 (iii) 상기 서비스 레이어 세션을 마이그레이션되거나 공유되도록 트리거할 수 있는 이벤트들을 명시하는 정보 중 하나 이상을 포함하는 방법.
  26. 제25항에 있어서,
    상기 제3 노드의 상기 서비스 레이어 인스턴스로부터 검색되는 상기 세션 컨텍스트는, (i) 상기 서비스 레이어 세션에 관한 통지들이 송신될 다른 서비스 레이어 세션 참가자들을 식별하는 정보; (ⅱ) 상기 서비스 레이어 세션의 식별자; (iii) 상기 서비스 레이어 세션의 참가자들에 의해 사용될 보안 자격증명들; (iv) 세션 액티비티에 관한 정보; (v) 상기 서비스 레이어 세션의 참가자들에게 메시지들을 라우팅하는 것에 관한 정보; (vi) 상기 서비스 레이어 세션에 대한 참가자들의 위치들에 관한 정보; (vii) 상기 서비스 레이어 세션의 참가자들을 대신하여 수집되고 저장되는 데이터; (viii) 다른 참가자들에 의한 서비스 레이어 세션의 발견을 용이하게 하는 정보; (ix) 상기 서비스 레이어 세션을 사용하여 수행되는 트랜잭션들에 관한 정보; 및 (x) 상기 서비스 레이어 세션의 기초가 되는 액세스 네트워크 세션들 또는 전송 레이어 세션들에 관한 정보 중 하나 이상을 더 포함하는 방법.
KR1020177010525A 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유 KR101984120B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462052535P 2014-09-19 2014-09-19
US62/052,535 2014-09-19
PCT/US2015/050929 WO2016044718A1 (en) 2014-09-19 2015-09-18 Service layer session migration and sharing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014947A Division KR102198229B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유

Publications (2)

Publication Number Publication Date
KR20170056013A KR20170056013A (ko) 2017-05-22
KR101984120B1 true KR101984120B1 (ko) 2019-09-03

Family

ID=54238615

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020217031956A KR102360767B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유
KR1020197014947A KR102198229B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유
KR1020177010525A KR101984120B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유
KR1020207037679A KR102311627B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020217031956A KR102360767B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유
KR1020197014947A KR102198229B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207037679A KR102311627B1 (ko) 2014-09-19 2015-09-18 서비스 레이어 세션 마이그레이션 및 공유

Country Status (6)

Country Link
US (5) US10367896B2 (ko)
EP (2) EP3913896A3 (ko)
JP (2) JP6335388B2 (ko)
KR (4) KR102360767B1 (ko)
CN (2) CN112217905B (ko)
WO (1) WO2016044718A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649424B2 (en) * 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
JP6335388B2 (ja) * 2014-09-19 2018-05-30 コンヴィーダ ワイヤレス, エルエルシー サービス層セッション移転および共有
WO2016176686A1 (en) 2015-04-30 2016-11-03 Drawbridge Networks, Inc. Computer network security system
US10419540B2 (en) * 2015-10-05 2019-09-17 Microsoft Technology Licensing, Llc Architecture for internet of things
US10306016B2 (en) 2016-02-01 2019-05-28 General Electric Company System and method for scoped attributes
US10534746B2 (en) * 2016-05-09 2020-01-14 Droplit, Inc. System and method for defining machine-to-machine communicating devices and defining and distributing computational tasks among same
CN107787020B (zh) * 2016-08-26 2020-12-08 华为技术有限公司 一种sfc网络中同步拓扑信息的方法及路由网元
EP3520371A1 (en) * 2016-09-29 2019-08-07 Convida Wireless, LLC Storing and retrieving the network context of a device
US11172000B2 (en) * 2016-10-21 2021-11-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus for facilitating real time multimedia communications
US10942907B2 (en) 2016-11-04 2021-03-09 Oracle International Corporation Safe release of database sessions for planned maintenance operations
CN109964468B (zh) * 2016-11-14 2021-07-09 华为技术有限公司 会话处理方法、装置和系统
US20180139090A1 (en) * 2016-11-15 2018-05-17 John Geiger Method for secure enrollment of devices in the industrial internet of things
CN108112007B (zh) 2016-11-25 2020-08-11 京东方科技集团股份有限公司 信息通知方法、装置及系统
JP2020031247A (ja) * 2016-12-19 2020-02-27 シャープ株式会社 通信システムおよび通信装置
KR102071315B1 (ko) * 2017-12-05 2020-01-30 서울대학교산학협력단 서비스 지향 사물 인터넷 플랫폼 및 그 제어 방법
CN110049070B (zh) * 2018-01-15 2021-09-14 华为技术有限公司 事件通知方法及相关设备
US11343332B2 (en) * 2018-02-08 2022-05-24 Telefonaktiebolaget Lm Ericsson (Publ) Method for seamless migration of session authentication to a different stateful diameter authenticating peer
US10826941B2 (en) 2018-05-10 2020-11-03 Fortinet, Inc. Systems and methods for centrally managed host and network firewall services
US11522865B2 (en) * 2018-06-20 2022-12-06 Convida Wireless, Llc Automated IoT device configuration using user profile
CN113302899A (zh) * 2019-01-16 2021-08-24 康维达无线有限责任公司 通信网络中的自动服务层消息流管理
EP4014126A4 (en) * 2019-08-15 2023-08-16 Telepathy Labs, Inc. SYSTEM AND PROCEDURES FOR REQUESTING MULTIPLE DATA SOURCES
US11637745B2 (en) 2019-09-11 2023-04-25 Hand Held Products, Inc. Configuring a remote electronic device by a peer electronic device in a networked environment
US11687507B2 (en) 2019-09-12 2023-06-27 Oracle International Corporation Termination of database sessions for planned failover
US11936739B2 (en) 2019-09-12 2024-03-19 Oracle International Corporation Automated reset of session state
CN114731735A (zh) * 2019-11-07 2022-07-08 三星电子株式会社 在无线通信系统中提供服务的方法和装置
KR20210128096A (ko) * 2020-04-16 2021-10-26 세종대학교산학협력단 사물인터넷 플랫폼 간 연동 방법 및 장치
WO2022019816A1 (en) * 2020-07-23 2022-01-27 Telefonaktiebolaget Lm Ericsson (Publ) Procedure for transferring an active group communication session between group communication servers
WO2022226446A1 (en) * 2021-04-23 2022-10-27 Citrix Systems, Inc. Computing system and related methods providing multiple endpoint connections based upon connection leases
US20230108145A1 (en) * 2021-10-04 2023-04-06 UiPath, Inc. Cloud migration
WO2023150721A1 (en) * 2022-02-04 2023-08-10 Intel Corporation Sixth generation (6g) mutual transport layer security (mtls) based security architecture between user equipment (ue) and 6g network
CN116319949B (zh) * 2022-12-19 2023-11-14 北京开科唯识技术股份有限公司 会话迁移方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090201917A1 (en) 2008-02-08 2009-08-13 Oracle International Corporation Pragmatic approaches to ims
JP2009212892A (ja) 2008-03-05 2009-09-17 Panasonic Corp 移動端末及び接続局装置
JP2012504354A (ja) 2008-09-29 2012-02-16 ノーテル・ネットワークス・リミテッド ギガビット無線送信
US20130142118A1 (en) 2011-12-06 2013-06-06 Qualcomm Incorporated Systems and methods for machine to machine device control and triggering
US20130223339A1 (en) * 2012-02-24 2013-08-29 Hitachi, Ltd. Radio communication system, radio communication method, and gateway

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527800A (ja) 1998-10-02 2002-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 会話ブラウザおよび会話システム
JP2001127772A (ja) 1999-10-28 2001-05-11 Yrp Mobile Telecommunications Key Tech Res Lab Co Ltd Atmネットワークシステム、その集中制御局およびatmスイッチ
US6714987B1 (en) * 1999-11-05 2004-03-30 Nortel Networks Limited Architecture for an IP centric distributed network
US6684251B1 (en) * 2000-05-25 2004-01-27 Sprint Communications Company, L.P. Dynamic connection set-up in a communication network
GB2368225B (en) * 2000-10-17 2003-12-10 Hewlett Packard Co Inviting assistant entity into a network communication session
US8244864B1 (en) * 2001-03-20 2012-08-14 Microsoft Corporation Transparent migration of TCP based connections within a network load balancing system
CN100456247C (zh) * 2002-12-26 2009-01-28 捷讯研究有限公司 用于建立无线组件应用的方法、移动通信装置和服务器
JP3939253B2 (ja) 2003-01-29 2007-07-04 株式会社エヌ・ティ・ティ・ドコモ ハンドオーバー方法、無線通信システム及び基地局
US7441000B2 (en) * 2003-12-22 2008-10-21 International Business Machines Corporation Method for session sharing
JP2006042001A (ja) 2004-07-28 2006-02-09 Mitsubishi Electric Corp 移動端末、アクセス集線装置およびサーバ
JP2007324788A (ja) 2006-05-31 2007-12-13 Softbank Bb Corp 移動端末及び通信方法
US8166176B2 (en) * 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
US7856226B2 (en) * 2007-04-17 2010-12-21 Aylus Networks, Inc. Systems and methods for IMS user sessions with dynamic service selection
ATE517478T1 (de) 2007-10-03 2011-08-15 Accenture Global Services Ltd Technologieagnostisches universell anwendbares datenmodell für eine telekommunikationsdienstanbieter-architektur
WO2009078810A1 (en) * 2007-12-19 2009-06-25 Linda Seah Contact-less and dual interface inlays and methods for producing the same
US9014137B2 (en) 2008-06-13 2015-04-21 Qualcomm Incorporated Apparatus and method for personality modification during handoff
WO2010109547A1 (ja) 2009-03-27 2010-09-30 富士通株式会社 マルチキャストデータ通信方法及び通信システム
CN102396250A (zh) 2009-04-17 2012-03-28 松下电器产业株式会社 用于在分段移动通信系统中管理本地ip访问的设备
US20110029999A1 (en) * 2009-07-29 2011-02-03 Telefonaktiebolaget Lm Ericsson (Publ) Policies transfer for session transfer
US9246953B2 (en) * 2009-11-19 2016-01-26 Oracle International Corporation Protocol level communications for protocol level composition with session sharing
MX2012006478A (es) * 2009-12-09 2012-11-22 Interdigital Patent Holdings Metodo y aparato para duplicacion de sesion y comparticion de sesion.
EP2520069B1 (en) * 2009-12-31 2017-05-31 Telefonaktiebolaget LM Ericsson (publ) Managing session data of a composite service session in a communication network
US8990413B2 (en) * 2010-02-05 2015-03-24 Oracle International Corporation Service level cross network coordinated interaction
US8856317B2 (en) * 2010-07-15 2014-10-07 Cisco Technology, Inc. Secure data transfer in a virtual environment
US9699274B2 (en) * 2011-07-25 2017-07-04 Alcatel Lucent Method and apparatus for reliable session migration
US20130219043A1 (en) * 2012-02-20 2013-08-22 Moritz M. Steiner Method and apparatus for automatic migration of application service
JP5821686B2 (ja) * 2012-02-22 2015-11-24 富士通株式会社 リソース管理装置およびリソース管理方法
US9106481B2 (en) * 2012-03-29 2015-08-11 Intel Corporation Device-to-device tapping service layer
US8948001B2 (en) * 2012-06-26 2015-02-03 Juniper Networks, Inc. Service plane triggered fast reroute protection
US9100236B1 (en) * 2012-09-30 2015-08-04 Juniper Networks, Inc. TCP proxying of network sessions mid-flow
CN103841142B (zh) * 2012-11-23 2017-06-20 华为技术有限公司 一种会话迁移的方法、装置及系统
EP3077906B1 (en) * 2013-12-03 2019-01-30 Telefonaktiebolaget LM Ericsson (publ) A first service network node, a second service network node and methods relating to handling of a service session
US9661027B2 (en) * 2014-09-11 2017-05-23 At&T Intellectual Property I, L.P. Informational enrichment for interactive systems
JP6335388B2 (ja) * 2014-09-19 2018-05-30 コンヴィーダ ワイヤレス, エルエルシー サービス層セッション移転および共有

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090201917A1 (en) 2008-02-08 2009-08-13 Oracle International Corporation Pragmatic approaches to ims
JP2009212892A (ja) 2008-03-05 2009-09-17 Panasonic Corp 移動端末及び接続局装置
JP2012504354A (ja) 2008-09-29 2012-02-16 ノーテル・ネットワークス・リミテッド ギガビット無線送信
US20130142118A1 (en) 2011-12-06 2013-06-06 Qualcomm Incorporated Systems and methods for machine to machine device control and triggering
US20130223339A1 (en) * 2012-02-24 2013-08-29 Hitachi, Ltd. Radio communication system, radio communication method, and gateway

Also Published As

Publication number Publication date
US20220337667A1 (en) 2022-10-20
CN112217905A (zh) 2021-01-12
CN107079050A (zh) 2017-08-18
EP3195571B1 (en) 2021-05-05
US10367896B2 (en) 2019-07-30
KR20210124533A (ko) 2021-10-14
CN112217905B (zh) 2024-03-29
US20240121312A1 (en) 2024-04-11
WO2016044718A1 (en) 2016-03-24
US11418602B2 (en) 2022-08-16
KR102198229B1 (ko) 2021-01-04
KR20210002132A (ko) 2021-01-06
EP3913896A2 (en) 2021-11-24
KR20190060010A (ko) 2019-05-31
US20210297493A1 (en) 2021-09-23
US20170289271A1 (en) 2017-10-05
JP2018147507A (ja) 2018-09-20
US11064033B2 (en) 2021-07-13
JP6335388B2 (ja) 2018-05-30
EP3195571A1 (en) 2017-07-26
US20190297149A1 (en) 2019-09-26
KR102360767B1 (ko) 2022-02-14
JP6563555B2 (ja) 2019-08-21
EP3913896A3 (en) 2022-02-09
JP2017535838A (ja) 2017-11-30
CN107079050B (zh) 2020-11-03
KR20170056013A (ko) 2017-05-22
US11888942B2 (en) 2024-01-30
KR102311627B1 (ko) 2021-10-13

Similar Documents

Publication Publication Date Title
US11888942B2 (en) Systems and methods for service layer session migration and sharing
US11765150B2 (en) End-to-end M2M service layer sessions
KR102095436B1 (ko) 서비스 계층에서의 요청 처리
US11032132B2 (en) Resource link binding management
US11422864B2 (en) Advanced resource link binding management

Legal Events

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