KR102184286B1 - 분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양 - Google Patents

분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양 Download PDF

Info

Publication number
KR102184286B1
KR102184286B1 KR1020180078709A KR20180078709A KR102184286B1 KR 102184286 B1 KR102184286 B1 KR 102184286B1 KR 1020180078709 A KR1020180078709 A KR 1020180078709A KR 20180078709 A KR20180078709 A KR 20180078709A KR 102184286 B1 KR102184286 B1 KR 102184286B1
Authority
KR
South Korea
Prior art keywords
service
iot
aggregation
space
searching
Prior art date
Application number
KR1020180078709A
Other languages
English (en)
Other versions
KR20190094070A (ko
Inventor
고인영
백경덕
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to US16/186,000 priority Critical patent/US11647090B2/en
Publication of KR20190094070A publication Critical patent/KR20190094070A/ko
Application granted granted Critical
Publication of KR102184286B1 publication Critical patent/KR102184286B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

분산 IoT 환경을 위한 공간-응집 서비스 검색 및 이양 방법이 개시된다. 공간-응집 서비스 검색 및 이양 방법은, 분산 IoT(internet of thing) 환경에서 주어진 작업(task)에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 단계를 포함하고, 상기 IoT 리소스 세트를 검색하는 단계는, 사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리를 고려한 공간-응집(spatio-cohesive) 방식을 통해 상기 IoT 리소스 세트를 검색할 수 있다.

Description

분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양{SPATIO-COHESIVE SERVICE DISCOVERY AND DYNAMIC SERVICE HANDOVER FOR DISTRIBUTED IOT ENVIROMENTS}
아래의 설명은 사용자 작업(task)을 수행하는 데 요구되는 적절한 IoT(internet of thing) 서비스를 효율적이고 동적으로 검색하는 기술에 관한 것이다.
최근 IoT 기술이 널리 확산되어 도시 환경에서 IoT 리소스를 활용하는 다양한 서비스를 제공하고 있다.
IoT 기술의 예시로서, 한국등록특허공보 제10-1397471호(등록일 2014년 05월 14일)에는 개방형 IoT 서비스를 제공하는 기술이 개시되어 있다.
IoT 서비스를 효과적으로 관리하기 위해 상업용 IoT 기반 시스템이 클라우드 컴퓨팅 모델을 채택하고 있으나, IoT 리소스의 수가 급격히 증가했기 때문에 중앙 집중식 클라우드 컴퓨팅 모델의 확장성에 한계가 있다.
분산 IoT 환경에서 서비스 간 거리를 사용자의 주변에 집중적으로 위치시키는 IoT 리소스를 활용하여 사용자 작업을 수행하는 데 요구되는 적절한 IoT 서비스를 효율적이고 동적으로 검색할 수 있는 방법 및 그 시스템을 제공한다.
컴퓨터 시스템에서 수행되는 방법에 있어서, 분산 IoT(internet of thing) 환경에서 주어진 작업(task)에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 단계를 포함하고, 상기 IoT 리소스 세트를 검색하는 단계는, 사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리를 고려한 공간-응집(spatio-cohesive) 방식을 통해 상기 IoT 리소스 세트를 검색하는 것으로, 공간적 거리와 관련된 규칙이 포함된 공간-응집성 요구사항에 기초하여 서비스 검색 계획을 생성하는 단계; 및 상기 서비스 검색 계획을 기반으로 하여 상기 작업을 위해 필요로 하는 서비스를 검색하되 상기 작업의 공간-응집성 요구 사항을 충족시키는 서비스를 검색한 다음 검색된 서비스와 공간-응집을 유지하는 다른 서비스를 검색하는 단계를 포함하는 방법을 제공한다.
일 측면에 따르면, 상기 서비스 검색 계획을 생성하는 단계는, 사전에 정의된 작업 템플릿으로부터 상기 작업에 대해 특정된 공간-응집성 요구 사항을 추출하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 공간-응집성 요구사항은 온톨로지(ontology) 모델을 기반으로 표현되며 규칙 기반 추론 방법을 사용하여 추출될 수 있다.
또 다른 측면에 따르면, 상기 서비스 검색 계획을 생성하는 단계는, 상기 공간-응집성 요구사항을 서비스의 공간적인 위치와 관계를 추상화한 그래프로 표현한 후 순회(traversal)를 가이딩하는 검색 전략을 사용하여 상기 서비스 검색 계획을 상기 그래프에 인스턴스화(instantiated)하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 검색 전략은 상위(parent) 서비스에서 하위(child) 서비스를 검색하는 경로를 구성하기 위한 스패닝 트리 알고리즘(spanning tree algorithm)과 서비스의 중요도에 따라 각 서비스에 우선 순위를 할당하기 위한 서비스 우선 순위 함수로 구성될 수 있다.
또 다른 측면에 따르면, 상기 IoT 리소스 세트를 검색하는 단계는, 상기 그래프에 인스턴스화된 상기 서비스 검색 계획에 따라 서비스 검색 요청을 상위 서비스에서 하위 서비스로 전파함으로써 상기 작업과 관련된 서비스를 실현하는데 필요한 IoT 리소스를 검색하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 IoT 리소스를 검색하는 단계는, 상기 상위 서비스에 대해 상기 하위 서비스의 제공이 가능한 후보 IoT 리소스를 검색한 후 상기 후보 IoT 리소스 중 공간 거리가 가장 가까운 IoT 리소스를 선택하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 IoT 리소스 세트를 검색하는 단계는, 상기 검색된 서비스의 공간-응집성 상태를 모니터링하여 상기 검색된 서비스 중 적어도 일부 서비스를 이양하는(handover) 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 이양하는 단계는, 상기 작업에 대해 선택된 IoT 리소스가 상기 공간-응집성 요구사항을 충족하는지 여부를 주기적으로 확인하여 일정 주기 동안 이양될 IoT 리소스의 수를 최소화하는 목적 함수에 따라 상기 공간-응집성 요구사항을 충족하지 못하는 IoT 리소스를 다른 IoT 리소스로 전환할 수 있다.
또 다른 측면에 따르면, 상기 IoT 리소스 세트를 검색하는 단계는, IoT 환경의 동적 변화에 의해 사용 가능한 서비스에 대해 기계 학습을 통해 학습된 정책에 기초하여 상기 작업을 위해 필요로 하는 서비스를 선택하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 정책은 사용자와 서비스 간의 공간 거리가 얼마나 가까운지 측정하는 척도로 정의된 공간-응집도를 최대화하면서 새로 선택된 서비스 집합과 기존에 사용하던 서비스 집합의 차이로 정의된 핸드오버 횟수를 최소화하는 방향으로 학습될 수 있다.
또 다른 측면에 따르면, 상기 정책은 사용자의 좌표와 속도를 나타내는 상태 벡터, 서비스의 좌표와 속도를 나타내는 상태 벡터, 사용자와 서비스 간의 상대적 위치와 속도를 나타내는 관계 벡터를 입력으로 하는 신경망으로 구현될 수 있다.
컴퓨터 시스템에서 수행되는 방법에 있어서, 분산 IoT 환경에서 주어진 작업에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 단계를 포함하고, 상기 IoT 리소스 세트를 검색하는 단계는, 사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리와 관련된 공간-응집성 요구사항을 추출하는 단계; 상기 공간-응집성 요구사항을 서비스의 공간적인 위치와 관계를 추상화한 그래프로 표현한 후 순회를 가이딩하는 검색 전략을 사용하여 상기 그래프에 인스턴스화함으로써 서비스 검색 계획을 생성하는 단계; 및 상기 서비스 검색 계획에 따라 서비스 검색 요청을 상위 서비스에서 하위 서비스로 전파함으로써 상기 작업과 관련된 서비스를 실현하는데 필요한 IoT 리소스를 검색하는 단계를 포함하는 방법을 제공한다.
컴퓨터 시스템에 있어서, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 분산 IoT 환경에서 주어진 작업에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 과정을 처리하고, 상기 IoT 리소스 세트를 검색하는 과정은, 사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리를 고려한 공간-응집 방식을 통해 상기 IoT 리소스 세트를 검색하는 것으로, 공간적 거리와 관련된 규칙이 포함된 공간-응집성 요구사항에 기초하여 서비스 검색 계획을 생성하는 과정; 및 상기 서비스 검색 계획을 기반으로 하여 상기 작업을 위해 필요로 하는 서비스를 검색하되 상기 작업의 공간-응집성 요구 사항을 충족시키는 서비스를 검색한 다음 검색된 서비스와 공간-응집을 유지하는 다른 서비스를 검색하는 과정을 포함하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 분산 IoT 환경에서 사용자가 필요로 하는 서비스를 제공받기 위해 IoT 디바이스와 맞물려서 사용 가능한 서비스를 검색할 수 있고, 사용자가 이동 중에도 사용자에게 서비스를 물리적으로 제공할 수 있는 범위 안에 있는 IoT 디바이스로 사용 중인 서비스를 이양할 수 있다.
도 1은 MANET(mobile ad-hoc network)를 이용한 분산 IoT 환경의 예시를 도시한 것이다.
도 2는 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 공간-응집 서비스 검색 및 이양 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 있어서 공식 표기법을 정리한 테이블을 도시한 것이다.
도 5는 본 발명의 일 실시예에 있어서 공간-응집성 요구 사항을 나타내는 온톨로지(ontology) 모델의 예를 도시한 것이다.
도 6은 본 발명의 일 실시예에 있어서 SWRL(Semantic Web Rule Language)에서 표현된 규칙의 예를 도시한 것이다.
도 7은 본 발명의 일 실시예에 있어서 서비스 검색 계획을 생성하는 과정의 예를 도시한 것이다.
도 8은 본 발명의 일 실시예에 있어서 공간-응집 서비스 검색 과정을 나타낸 알고리즘을 도시한 것이다.
도 9는 본 발명의 일 실시예에 있어서 후보 IoT 리소스 검색 과정을 나타낸 알고리즘을 도시한 것이다.
도 10은 본 발명의 일 실시예에 있어서 동적 서비스 이양 과정을 나타낸 알고리즘을 도시한 것이다.
도 11은 본 발명의 다른 실시예에 있어서 기계 학습 기반 서비스 검색 에이전트를 도시한 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
최근에는 IoT 리소스의 수가 급격히 증가함에 따라 MANET(mobile ad-hoc network) 기반의 분산 컴퓨팅 모델을 적용하고 있다.
도 1은 MANET를 이용한 분산 IoT 환경의 예시를 도시한 것이다.
도 1을 참조하면, 분산 IoT 환경에서 IoT 리소스는 MANET를 통해 직접 액세스 할 수 있다. MANET는 인프라를 배치할 필요 없이 IoT 리소스가 서로 상호 작용할 수 있게 하여 사용자에게 보다 효율적이고 유연한 방식으로 서비스를 제공한다. 또한, IoT에 웹 서비스 및 클라우드 서비스와 같은 다른 유형의 서비스를 함께 통합하여 사용자 작업(task)을 수행함으로써 복합 서비스를 구현할 수 있다.
사용자 중심의 IoT 서비스 제공을 위해 작업 기반 서비스 제공 프레임 워크가 개발되고 있다. 이러한 프레임 워크에서 작업은 사용자의 요구에 대한 설명이며 필요한 기능들을 제공하는 데 요구되는 서비스를 수반한다. 서비스는 사용자 작업에 대한 활동을 지원하는 데 필요한 일련의 기능으로 정의한다. 서비스는 리소스 세트를 필요로 하는 서비스 인스턴스(service instance)를 통해 실현되는데, 리소스 세트는 특정 프리미티브(primitive) 기능을 제공하는 IoT 디바이스에 해당한다.
본 발명에서는 IoT 리소스가 인프라 없이 MANET을 구성하기에 충분한 연산 능력과 네트워킹 성능을 가지고 있다고 가정하며, IoT 리소스가 제한된 연산 또는 네트워킹 능력에 의해 제약을 받는 경우 리소스를 MANET에 참여시키기 위해 서비스 게이트웨이가 사용되는 것 또한 가능하다.
이러한 분산 IoT 환경은 적절한 IoT 리소스를 효율적이고 동적으로 검색하는 새로운 문제를 제기한다. 즉, 새로운 문제는 사용자 근처에서 사용자 작업을 수행하는 데 필요한 IoT 서비스를 제공하는 것이다. 이 문제를 해결하기 위해, 서비스 지향 아키텍처 및 웹 서비스 도메인에서 여러 연구가 수행되고 있다. 특히, 분산 서비스의 이동성, 위치 의존성 및 합성 가능성은 실용적인 IoT 환경에서 효과적인 서비스 제공을 가능하게 하기 위한 중요한 이슈로 고려되어 있다. 첫째, 사용자 및 IoT 리소스의 이동성으로 인해 IoT 서비스의 가용성이 자주 변경된다. 따라서, 검색 알고리즘은 사용자 작업을 수행하는 데 필수적인 유효한 IoT 서비스를 동적으로 검색 할 필요가 있다. 둘째, 기존 웹 서비스와 달리, 사용자 및 IoT 리소스의 공간적 위치는 IoT 서비스를 사용자에게 제공하는 효과에 영향을 준다. IoT 서비스의 출력을 효과적이고 효율적인 방식으로 사용자에게 이양하기 위해 해당 IoT 리소스는 사용자 가까이에 위치해야 한다. 셋째, IoT 환경의 다양한 서비스들은 복잡한 사용자 작업을 수행하기 위해 서로 조정되어야 하므로 협업 IoT 리소스는 사용자가 존재하는 공간에 일관되게 위치해야 한다.
본 발명에서는 서비스 간 거리를 사용자의 주변에 집중적으로 위치시키는 IoT 리소스를 활용하여 서비스 조정의 결과가 사용자에게 효과적으로 이양될 수 있도록 하는 서비스로서 공간-응집 서비스(spatio-cohesive service)를 정의한다. IoT 서비스의 공간-응집성(spatio-cohesivenss)은 사용자 작업의 QoE(quality of experience)를 최대화하는 데 중요한 요소이다. IoT 서비스의 공간-응집성 저하가 감지되면 사용자 작업에 필요한 일정 수준의 공간-응집성을 보장할 수 있도록 일부 서비스를 MANET에서 대체해야 한다.
따라서, 본 발명에서는 높은 QoE를 갖는 사용자 작업을 수행하기 위해 IoT 서비스의 공간-응집성이 필수적인 ad-hoc IoT 환경에 대한 공간-응집 서비스 검색 및 이양 방법을 제안한다.
본 발명에 따른 공간-응집 서비스 검색 및 이양 방법은 두 단계로 구성된다. 첫 번째 단계에서는 사용자 작업을 수행하기 위해 함께 조정될 수 있는 서비스를 검색하기 위한 체계적인 계획인 서비스 검색 계획이 생성된다. 이 단계에서는 스패닝 트리 알고리즘(spanning tree algorithm) 및 서비스 우선 순위 기능과 같은 다양한 서비스 검색 전략이 가장 효과적인 검색 계획을 생성하는 것으로 간주된다.
두 번째 단계에서는 첫 번째 단계에서 생성된 서비스 검색 계획을 사용하여 공간-응집 서비스가 검색 및 이양된다. 공간-응집 서비스 검색 알고리즘은 먼저 사용자를 위한 작업의 공간-응집성 요구 사항을 충족시키는 핵심 서비스 세트를 발견한 다음, 이미 발견된 서비스와 공간-응집을 유지하면서 점진적으로 다른 서비스를 검색한다. 또한, 동적 서비스 이양 알고리즘은 서비스의 공간-응집성 상태를 모니터링하고 서비스 중 일부가 요구 사항 경계를 초과할 때 이양을 수행한다.
이하에서 분산 IoT 환경에서의 공간-응집 서비스 검색 및 이양을 위한 구체적인 실시예를 설명하기로 한다.
도 2는 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
본 발명의 실시예들에 따른 IoT 서비스 시스템이 도 2의 컴퓨터 시스템(200)을 통해 구현될 수 있다. 도 2에 도시한 바와 같이, 컴퓨터 시스템(200)은 공간-응집 서비스 검색 및 이양 방법을 실행하기 위한 구성요소로서 프로세서(210), 메모리(220), 영구 저장 장치(230), 버스(240), 입출력 인터페이스(250) 및 네트워크 인터페이스(260)를 포함할 수 있다.
프로세서(210)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(210)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(210)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(210)는 버스(240)를 통해 메모리(220)에 접속될 수 있다.
메모리(220)는 컴퓨터 시스템(200)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(220)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(220)는 컴퓨터 시스템(200)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(220)는 예를 들어 IoT 서비스를 제어하기 위한 명령어들을 포함하는 컴퓨터 시스템(200)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(200)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(210)를 포함할 수 있다.
버스(240)는 컴퓨터 시스템(200)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(240)는 컴퓨터 시스템(200)의 컴포넌트들 사이에, 예를 들어 프로세서(210)와 메모리(220) 사이에 데이터를 운반할 수 있다. 버스(240)는 컴퓨터 시스템(200)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(230)는 (예를 들어 메모리(220)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(200)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(230)는 컴퓨터 시스템(200) 내의 프로세서(210)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(230)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(250)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 IoT 서비스와 관련된 입력이 입출력 인터페이스(250)를 통해 수신될 수 있다.
네트워크 인터페이스(260)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(260)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(260)를 통해 수신될 수 있다. 그리고, IoT 서비스와 관련된 정보들은 네트워크 인터페이스(260)를 통해 수신 또는 송신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(200)은 상술한 입출력 인터페이스(250)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 컴퓨터 시스템(200)이 스마트폰과 같은 모바일 기기의 형태로 구현되는 경우, 일반적으로 모바일 기기가 포함하고 있는 카메라, 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 컴퓨터 시스템(200)에 더 포함되도록 구현될 수 있다.
서비스 컴퓨팅 환경에서 서비스 검색은 능동적인(proactive) 서비스 검색 및 수동적인(reactive) 서비스 검색으로 분류될 수 있다. 수동적인 서비스 검색 알고리즘은 사용자 요청에 따라 서비스를 검색하는 것으로, 분산 IoT 환경에서는 확장성 때문에 사용자 작업의 요구 사항에 따라 수동적인 방식으로 서비스를 검색해야 한다. 또한 IoT 환경에서의 서비스 검색은 서비스를 제공하는데 요구되는 IoT 리소스를 필요로 하므로 본 발명에서의 서비스 검색은 필요한 IoT 리소스의 검색과 밀접하게 관련되어 있다. 특히, IoT 환경에서의 서비스 검색 프로세스는 필요한 서비스를 제공할 수 있는 후보 리소스 중에서 최상의 IoT 리소스의 선택을 포함한다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 공간-응집 서비스 검색 및 이양 방법의 예를 도시한 순서도이다.
프로세서(210)는 도 3의 공간-응집 서비스 검색 및 이양 방법이 포함하는 단계들(S310 내지 S320)을 수행할 수 있다. 예를 들어, 프로세서(210)는 메모리(220)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 공간-응집 서비스 검색 및 이양 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
도 3은 공간-응집 서비스 검색 및 동적 서비스 이양 알고리즘의 주요 단계와 전반적인 프로세스를 나타내고 있다. 첫 번째 단계(S310)에서는 공간-응집성 요구 사항이 추출되고(S311) 공간-응집성 요구 사항에 기초하여 서비스 검색 및 이양에 대한 계획이 생성된다(S312~S313). 공간-응집성 요구 사항은 서로 밀접하게 위치해야 하는 두 서비스 사이 또는 사용자와 서비스 사이의 위치에 종속한다. 추출이 끝난 후, 요구 사항이 그래프로 표현되고, 서비스 검색 계획은 그래프에서 순회(traversal)를 가이딩하는 다양한 검색 전략을 사용하여 그래프에 인스턴스화된다(instantiated). 두 번째 단계(S320)에서는 IoT 환경에서 사용자 작업을 위한 IoT 서비스가 상기 단계(S310)에서 생성된 서비스 검색 계획을 기반으로 하여 공간-응집 방식으로 검색된다(S321). 두 번째 단계(S320)에서 동적 서비스 이양 단계(S322)는 주기적으로 활성화되어 서비스의 공간-응집성 요구의 변경 사항을 모니터링하고, 다른 서비스에 공간적으로 응집되지 않은 일부 서비스 인스턴스를 다른 서비스 인스턴스로 동적으로 이양한다.
공간-응집 서비스 검색 및 동적 서비스 이양 문제는 공식적으로 다음과 같이 정의된다.
공간-응집 서비스 검색 및 동적 서비스 이양 문제는 주어진 작업 T에 대해 필요로 하는 서비스 세트 ST를 제공하는데 필요한 IoT 리소스 세트 D를 찾는 것이다. 각 서비스 s∈ST는 필요한 기능 및 제약 조건에 대한 정보가 포함된 서비스 설명 desS을 소유한다. 시간 인스턴스 τi의 시퀀스인 시계열 TS는 MANET의 토폴로지 변화를 나타낸다. 시간 인스턴스 τ0는 작업이 실행을 시작하는 시간을 나타낸다. 시간 τ에서의 MANET은 그래프 N(τ)=(D∪{u},E(τ))로 표현된다. 그래프의 꼭지점(정점)은 서비스 기능을 제공하는 IoT 리소스 세트 D 및 서비스를 소비하는 사용자 u를 포함한다. 각 정점 v는 시간 τ에서 노드의 물리적 좌표를 반환하는 함수 v.coord(τ)를 가진다. IoT 리소스 d∈D을 이용하여 제공될 수 있는 서비스는 dservice로 표현된다. 시간 τ에서 네트워크의 에지 세트는 E(τ)로 정의되며 여기서, E(τ)는 IoT 리소스 및 사용자 중에서 MANET을 형성하는 직접 링크의 세트이다. E(τ)의 원소들은 이동성으로 인해 IoT 리소스와 사용자 간의 연결이 변함에 따라 변한다.
IoT 환경에서 서비스를 소비하는 사용자가 한 명이라고 가정한다. 본 발명은 공간적으로 응집된 방식으로 사용자 작업을 위한 서비스 검색에 초점을 맞춘다.
공간-응집성 요구 사항은 (m,n,l)로 정의되며, 여기서 m과 n은 서비스 또는 사용자(즉, m,n∈ST∪{u})이고, 상한선 l 내에서 서로 공간적으로 가까이 위치해야 한다. RT는 작업 템플릿(template)의 서비스 설명에서 자동 추출될 수 있는 작업 T에 대한 공간-응집성 요구 사항 세트이다. 또한, 공간-응집성 요구 사항은 사용자 선호도(preference)에서 추출되거나 사용자가 수동으로 제공할 수 있다.
상기한 표기들을 요약하면 도 3과 같다.
본 발명에서는 공간-응집 솔루션 cSC(τ)∈C(τ)를 찾는 것이다. 여기서, C(τ)⊆2D는 시간 τ에서 작업의 서비스를 제공하는 후보 IoT 리소스 세트이다. 각 서비스 쌍(서비스 m 및 n)에서 서비스를 제공하는 리소스 간, 또는 서비스를 제공하는 리소스 m 및 세트 c의 사용자 n 사이의 공간 거리는 함수 distancec(m,n)로 정의되며, 작업의 각 공간-응집성 요구 사항에 대해 최소화되어야 한다. 또한, 요구 사항의 달성은 거리와 한계 값의 비율이며, 거리가 한계를 초과하면 0이 된다. 따라서, 후보 IoT 리소스 세트 c와의 공간-응집성 요구 사항 ri(c)의 달성은 수학식 1과 같이 측정될 수 있다.
[수학식 1]
Figure 112018066707920-pat00001
또한, 네트워크의 연결성에 대한 정의(Brandes, U., Erlebach, T.: Network Analysis: Methodological Foundations. LNCS, vol. 3418. Springer, Heidelberg (2005))에 따르면, IoT 리소스 후보 세트의 공간-응집성은 공간-응집성 요구사항의 장애를 일으키는 서비스의 최소 거리 평균으로 측정될 수 있다. 따라서 후보 리소스 세트 c의 공간-응집성 목적 함수 RT(c)는 수학식 2와 같이 정의될 수 있다.
[수학식 2]
Figure 112018066707920-pat00002
후보 IoT 리소스 세트의 공간-응집성은 0과 1 사이의 값이다. 낮은 값은 IoT 리소스 요구 사항을 충족시키지 못하는 경우가 많다는 것을 나타낸다. 반면에, 높은 값은 공간-응집성 요구 사항 대부분이 리소스에 의해 크게 달성되었음을 나타낸다.
공간-응집 서비스 검색 문제는 초기 시간 cSC0)에 공간-응집 서비스를 제공하는 리소스 세트를 찾는 것이고, 동적 서비스 이양 문제는 IoT MANET, 즉 cSCi)(i>0)에 변경이 있을 때 공간-응집 서비스를 제공하는 새로운 리소스 세트를 찾는 것이다. 또한, 동적 서비스 이양 문제는 부가적인 목적 함수 handover(c(τi-1),c(τi))를 가지며, 이 함수는 c(τi -1) to c(τi)으로부터의 이양 수를 식별하기 위한 것이다. 서비스 이양을 위한 목적 함수는 수학식 3과 같이 정의될 수 있다.
[수학식 3]
Figure 112018066707920-pat00003
이양될 IoT 리소스의 수를 최소화함으로써 IoT MANET의 변화에 따른 서비스 이양의 오버 헤드를 감소시킬 수 있다. 따라서 사용자 작업의 주기 동안 서비스 이양 비용을 최소화하면서 사용자 작업에 대한 공간-응집 서비스를 찾는 문제를 정의한다(수학식 4).
[수학식 4]
Figure 112018066707920-pat00004
일부 제약 조건을 가지는 각 공간-응집성 요구 사항에 대한 목적 함수가 여러 개 존재하기 때문에, 이 문제는 제한된 다중 목적 최적화 문제이다. RT(c)에 포함된 목적 함수가 서로 충돌 하는지를 확인하기 위해 작업 T에 대해 선택된 IoT 리소스 di를 고려한다. 검색 알고리즘은 di의 서비스에 공간적으로 응집된 서비스를 제공하는데 필요한 IoT 리소스를 검색한다. 모든 리소스와 사용자가 MANET에 무작위적이며 균일하게 분배되어 있다고 가정하면, 리소스는 di에서 모든 방향으로 분배될 것으로 예상된다. 따라서 di 대신에 대체 리소스 d'i를 선택하면 또 다른 요구 사항 달성을 높이는 동시에 공간-응집성 요구 사항 달성 중 하나가 감소된다.
검색 계획 생성 단계(S310)
공간-응집성 요구 사항을 추출하는 과정(S311)은 다음과 같다.
기능성과 웹 서비스의 QoS를 의미론적으로 표현하는 연구들(Chen, X., et al.: Web service recommendation via exploiting location and QoS information. IEEE Trans. Parallel Distrib. Syst. 25(7), 1913-1924 (2014), Ma, Q., et al.: A semantic QoS-aware discovery framework for web services. In: IEEE International Conference on Web Services, ICWS 2008 (2008))에서는 서비스의 의미론적 설명에 기반하여 의미론적 방법으로 서비스의 QoS 요구 사항을 추론하는 것이 가능하다는 것을 보여준다. 마찬가지로, 사용자 작업의 공간-응집성 요구 사항은 작업 템플릿에서 자동적으로 추출될 수 있다. 따라서 도 5에서 표현된 바와 같이, 사용자 작업의 공간-응집성 요구 사항을 나타내는 간단한 온톨로지(ontology) 모델을 정의한다. 온톨로지 모델은 OWL(Web Ontology Language)을 사용하여 개발된 것으로, UML(Unified Modeling Language) 클래스 다이어그램으로 표현되어 있다. 도 5에 표현된 바와 같이, 작업은 다중 서비스로 구성되는 자체 작업 템플릿을 갖는다. 서비스는 서비스의 품질 속성 및 제약 조건을 나타내는 일부 서비스 특징을 가질 수 있다. 또한, 서비스는 하나 이상의 서비스 카테고리로 분류될 수 있다. 작업의 서비스 및 사용자는 서비스 경계를 형성하도록 응집될 수 있으며, 이를 통해 작업에 대한 공간-응집성 요구 사항이 특정될 수 있다. 마지막으로, 공간-응집성 요구 사항의 세트는 작업 템플릿에서 추출된다.
온톨로지 모델을 기반으로 표현된 공간-응집성 요구 사항은 규칙 기반 추론 방법을 사용하여 추출될 수 있다. 도 6은 SWRL(Semantic Web Rule Language)에서 표현된 규칙의 예를 보여준다. 예를 들어, SWRL 규칙에서는 작업에 볼륨 속성이 30dB 미만인 오디오 서비스가 필요한 경우 사용자와 오디오 서비스 간의 거리가 5m 미만이어야 한다고 명시한다.
공간-응집성 요구 사항 그래프를 생성하는 과정(S312)은 다음과 같다.
본 발명에서 제시된 방법에서는 공간-응집성 요구 사항 그래프(spatio-cohesiveness requirement graph, SCRG)라고 불리우는 그래프로 공간-응집성 요구 사항을 표현하는데, 이 그래프에서는 사용자와 서비스가 꼭지점 (ST∪{u})로 표현되고 이들 사이의 공간-응집성 요구 사항은 엣지 (RT)로 표현된다. 사용자를 나타내는 꼭지점을 SCRG의 루트로 정의한다. 각 엣지의 레이블은 공간-응집성 요구 사항의 상한선을 나타낸다. 요구 사항 그래프는 서비스의 공간적인 위치와 관계를 추상화 한 것이다. 이 그래프는 서비스 간 기능적 의존성을 나타내지는 않는다. 본 발명에서는 SCRG의 사용자와 모든 서비스가 연결되어 있다고 가정한다.
검색 계획을 생성하는 과정(S313)은 다음과 같다.
이전 단계(S312)에서 생성된 SCRG를 기반으로 하여 서비스를 체계적으로 검색할 수 있는 서비스 검색 계획을 세운다. 작업 T에 대한 서비스 검색 계획은 정의식 1과 같이 정의된다.
[정의식 1]
Figure 112018066707920-pat00005
정의식 1에서 childP는 공간-응집성 요구 사항의 서브 세트이며 상위(parent) 서비스에서 하위(child) 서비스 세트를 검색하기 위한 요구 사항 그래프의 경로를 나타낸다. nonchildP는 childP의 보완적인 세트이다. 따라서 서비스 S에 대해 선택된 IoT 리소스는 nonchildP의 공간-응집성 요구 사항을 충족하는지 여부에 따라 평가된다. 그런 다음, childP에 따라 서비스 S의 하위 서비스가 S의 선택된 리소스 근처에서 검색된다. 도 7은 SCRG에서 서비스 검색 계획을 생성하는 예를 보여준다.
childP세트의 생성은 SCRG의 스패닝 트리(spanning tree)를 구성함으로써 수행된다. 따라서, 본 발명에서의 서비스 검색 전략은 스패닝 트리 알고리즘과 서비스 우선 순위 함수로 구성된다. 스패닝 트리 알고리즘은 childP를 구성하기 위한 것이며, 서비스 우선 순위 함수는 중요도에 따라 각 서비스에 우선 순위를 할당하기 위한 것이다. 이를 통해 알고리즘은 서비스의 하위 서비스 중에서 우선 순위가 높은 서비스를 효과적으로 검색할 수 있게 해준다. DFS(Depth-First Search), BFS(Breadth-First Search) 및 MST(Minimum Spanning Tree)와 같은 다양한 스패닝 트리 알고리즘이 사용될 수 있다. 서비스 우선 순위 함수의 경우 알고리즘을 사용하여 요구 사항 그래프에서 서비스의 중요도(centrality)를 계산할 수 있다. 이는 그래프에서 꼭지점의 중요도를 나타내는 잘 알려진 지표이거나 엄격한 우선 순위 지정을 위해 서비스 노드에서 상위 서비스에 대한 요구 사항 경계이다.
공간-응집 서비스 검색 및 이양(S320)
공간-응집 서비스 검색 과정(S321)은 다음과 같다.
공간-응집 서비스 검색 알고리즘은 이전 단계(S313)에서 구축된 서비스 검색 계획에 기초하여 사용자 노드의 하위 서비스로부터 사용자 작업 서비스를 실현하는데 필요한 IoT 리소스를 찾는다. 그런 다음, 검색된 서비스는 하위 서비스에 대한 리소스를 재귀적으로 찾는다. 각 리소스에 대해 사용자 요청과 같이 리소스 근처에서 하위 서비스를 검색할 수 있는 서비스 검색 에이전트가 배포된다. 서비스 검색 에이전트에 의해 사용자는 상위 서비스 근처에서 하위 서비스를 검색하기 위하여 검색된 서비스의 리소스를 요청한다. 따라서, 검색 계획에 따라 서비스 검색 요청이 상위 서비스에서 하위 서비스로 전파된다.
서비스 검색 프로세스 동안 서비스에 대해 공간-응집성 요구 사항을 만족하는 하위 서비스에 사용할 수 있는 리소스가 존재하지 않을 수 있다. 이러한 경우 하위 서비스에 대한 상위 서비스의 서비스 검색이 성공적으로 수행될 때까지 상위 서비스의 리소스를 재귀적으로 다시 검색한다.
공간-응집 서비스 검색 알고리즘에는 서비스를 동시에 검색하고 서비스에 대해 여러 후보 리소스를 찾을 수 있는 두 가지 옵션이 존재한다. 이러한 옵션을 사용하면 동적 수준 및 배포된 서비스의 밀도와 같은 환경 조건에 따라 장애 발생률과 서비스 검색 대기 시간 사이의 효율적인 교환이 수행될 수 있다.
도 8은 공간-응집 서비스 검색을 위한 알고리즘 1을 나타내고 있다.
알고리즘 1은 검색된 각 서비스에 대해 재귀적으로 실행되는 공간-응집 서비스 검색 알고리즘을 보여준다. 서비스 검색은 초기에 사용자에 의해 시작되고 IoT 리소스로 전파된다. 알고리즘 1에 대한 입력은 작업 T인데, 이 작업 T는 자신의 템플릿과 작업 대해 검색되어야 할 서비스 세트 ST을 포함한다. 작업에 대해 생성된 서비스 검색 계획이 작업 템플릿에서 추출되고, 계획에 기반하여 공간-응집성 요구 사항을 확인하기 위한 서비스의 비-하위(non-child) 서비스가 발견된다(라인 2-3). 비-하위 서비스가 이미 검색되었고 요구 사항을 충족하지 못하면 리소스는 상위 서비스에서 자체 서비스를 다시 검색하려고 시도한다(라인 4-9). 서비스 재검색 중에 단순화를 위해 서비스의 현재 리소스가 비활성화되고 대체 리소스가 검색된다(라인 29-34). 이러한 방법은 장애(실패) 리소스를 이후 프로세스에서 보이지 않게 해준다. 비-하위 서비스의 모든 공간-응집성 요구 사항이 충족되면 리소스의 서비스 검색 에이전트는 관련 서비스의 하위 서비스 검색을 시작한다(라인 10-16). 하위 서비스의 검색은 상위 서비스 근처에서 하위 서비스를 실현할 수 있는 후보 리소스 세트를 찾아 냄으로써 달성된다(라인 20). 후보 리소스 세트가 검색된 후, 리소스는 하위 서비스를 제공할 수 있는 가장 가까운 리소스를 선택하고 선택된 리소스에서 검색 프로세스를 시작한다(라인 23-26). 하위 서비스에 사용할 수 있는 후보 리소스가 없는 경우 리소스는 상위 서비스를 다시 검색한다(라인 21-22). 또한, 옵션에서 하위 서비스를 동시에 검색 할 수 없으면 이전 검색 세션이 종료될 때까지 기다린 후 다음의 검색을 진행한다(라인 13-15).
도 9는 후보 리소스를 찾기 위한 알고리즘 2를 나타내고 있다.
알고리즘 2는 리소스의 서비스 검색 에이전트에 의해 후보 IoT 리소스 세트를 찾는 것이다. 해당 리소스는 하위 서비스를 요청하고(라인 3) 다른 리소스의 응답을 기반으로 후보를 찾는다(라인 4-10). 응답된 리소스가 필수 하위 서비스를 제공할 수 있고 공간-응집성 요구 사항을 충족하는 경우 서비스 검색 에이전트는 후보 세트에 리소스를 추가한다(라인 4-7). 이 옵션이 여러 후보 리소스 찾을 수 없는 경우 먼저 발견된 후보 리소스를 리턴한다(라인 8-10).
동적 서비스 이양 과정(S322)은 다음과 같다.
서비스 이양은 사용자 작업을 수행하기 위한 서비스 세트를 고려할 필요가 있는 반면, 전통적인 이양은 단일 액세스 포인트만을 고려한다는 점이 IoT 환경에서의 전통적인 이양과 서비스 이양 사이의 주요 차이점에 해당한다. 또한, 사용자의 모바일 기기와 리소스 사이에서 이양하는 경우뿐만 아니라, 리소스들 사이에서 이양하는 경우를 고려할 필요가 있다. 본 발명에서는 사용자 작업을 위해 생성된 서비스 발견 계획을 이용하여 동적인 방식으로 서비스를 수행한다.
도 10은 동적 서비스 이양을 위한 알고리즘 3을 나타내고 있다.
알고리즘 3은 알고리즘 1과 유사한 구조를 갖는다. 서비스 이양은 작업에 대해 선택된 리소스가 공간-응집성 요구 사항을 충족시키는지 여부를 사용자가 주기적으로 확인함으로써 시작되고, 서비스 검색 알고리즘과 유사한 서비스로 전파된다. 상위 서비스에 의해 서비스에서 이양 프로세스가 시작되면 리소스상의 연관 서비스 검색 에이전트는 히스테리시스 마진(hysteresis margin) 및 임계 값을 갖는 이양 결정 규칙을 사용하여 하위 서비스에 대한 후보 리소스 세트를 발견한다(라인 27-34). 이양 결정 규칙은 상위 서비스와 후보 리소스 사이의 공간-응집성 및 상위 서비스의 리소스와 현재 리소스 사이의 공간-응집성을 상위 서비스와 하위 서비스의 공간-응집성 요구에 따라 계산한다. 서비스 검색 알고리즘과는 달리, 빈 후보 세트는 상위 서비스의 근방에서 하위 서비스에 이용 가능한 더 나은 리소스가 없음을 나타낸다.
도시 규모의 공공 IoT 환경에 수 많은 IoT 디바이스들이 분산되어 있을 때 사용자가 필요로 하는 서비스를 제공받기 위해서는 IoT 디바이스와 맞물려서 사용 가능한 서비스를 검색하는 과정이 필요하다. 본 발명에서는 IoT 디바이스들, 예컨대 디스플레이나 오디오 등과 같은 액츄에이터(actuator) 등의 물리적 효과가 사용자에게 제공되기 위해서는 공간적으로 가까운 곳에 위치해야 한다는 점과, 사용자에게 가까운 IoT 디바이스부터 차례로 검색함으로써 확장성을 확보하고 사용자에 의해 검색된 여러 개의 IoT 디바이스들이 가까운 곳에 위치하여 서로 효율적으로 통신하도록 하는 서비스 검색 알고리즘을 제공한다. 또한, 사용자가 사용 중인 서비스가 이동 중에도 지속적으로 수행되기 위해서는 사용자에게 서비스를 물리적으로 제공할 수 있는 범위 안에 있는 IoT 디바이스로 서비스를 이양할 필요성이 있다. 이에, 본 발명에서는 일반적인 네트워크 환경에서 존재하는 이양 기술들을 IoT 서비스 관점으로 확장하여 사용자가 서비스를 검색한 이후에도 지속적으로 IoT 서비스가 수행될 수 있는 이양 알고리즘을 제공한다.
따라서, 서비스 간 상호 작용을 효율적으로 수행하고 서비스 조정 결과를 사용자에게 효과적으로 이양하기 위하여 공간적으로 응집된 방식을 통하여 사용자의 주변 환경에서 IoT 서비스를 검색할 수 있고, 사용자 작업에 대한 QoE 수준을 보장하기 위해 어느 하나의 IoT 리소스에서 다른 IoT 리소스로 동적으로 전환하는 서비스 이양 방식을 통해 공간적 응집에 대한 성능 저하가 모니터링될 때 안정적인 방식으로 서비스를 제공할 수 있다.
본 발명의 실시예에서 상위 서비스로부터 하위 서비스를 선택하는 것은 검색된 후보 IoT 리소스 중 공간 거리가 가장 가까운 IoT 리소스를 선택하는 방식이다. 이러한 경우 IoT 환경의 현재 공간-응집성 상태만을 고려하기 때문에 효율적인 리소스 선택에 한계가 있을 수 있다.
본 발명의 다른 실시예에서는 현재 상태는 물론이고 미래 상태를 예측적으로 고려하는 기계 학습을 통해 최상의 IoT 리소스를 선택할 수 있다.
도 11은 기계 학습 기반 서비스 검색 에이전트를 도시한 것이다.
서비스 검색 에이전트는 사용자의 모바일 기기에서 작동되며, 사용자를 중심으로 주변 지역의 사용 가능한 IoT 리소스, 즉 서비스 제공자들을 검색한다. 검색된 IoT 리소스들이 각각의 서비스 종류 별로 분류되고 고정된 숫자의 서비스 종류가 존재한다고 가정한다.
사용자가 필요로 하는 각 서비스 종류에 대하여 에이전트는 기계 학습을 통해 학습된 정책(policy)을 적용하여 서비스 선택을 수행한다. 정책은 신경망(neural network)로 구현 및 표현된다. 이러한 정책을 통해 각 서비스 타입에 대해 수행된 선택의 조합이 에이전트가 현재 수행하는 행동(action)으로 정의한다. 이러한 행동을 IoT 환경 내에서 수행한 이후 에이전트는 보상(reward)의 형태로 행동에 대한 평가를 받고 보상을 최대화하는 방향으로 정책을 학습한다. 본 발명에서 보상은 선택된 서비스들의 공간-응집도와 핸드오버 횟수를 통해 정의될 수 있다.
기계 학습을 적용하기 위해 공간-응집 서비스 검색 문제를 POMDP(partial-observable Markov decision process)의 형태로 정의한다.
POMDP는 MDP(Markov decision process)의 한 확장 형태로, IoT 환경에 대한 관측이 부분적으로 이루어진다. POMDP는 다음과 같은 5개의 요소로 정의된다.
(1) 상태(state)는 IoT 환경이 가질 수 있는 상태의 집합으로 정의된다.
(2) 행동(action)은 에이전트가 IoT 환경 안에서 취할 수 있는 행동의 집합으로 정의되며, IoT 환경은 행동에 영향을 받아 현재 상태에서 다른 상태로 이동한다.
(3) 관측(observation)은 에이전트에게 IoT 환경의 현재 상태에 대한 부분적인 관측을 주는 함수로 정의된다.
(4) 전이 함수(transition function)는 에이전트가 어떤 상태에서 어떤 행동을 취했을 때 다른 어떤 상태로 전이될 확률을 나타내는 함수로 정의된다.
(5) 보상(reward)은 에이전트의 행동에 의해 상태의 전이가 일어났을 때 행동을 강화(reinforce)하거나 질책(discourage)하는 보상 값을 지시하는 함수로 정의된다.
POMDP 정의
IoT 환경은 많은 수의 IoT 리소스가 서비스 제공자로서 고르게 배치되어 있는 2차원 평면 공간으로 정의되며, IoT 환경 내의 서비스들을 활용해 작업을 수행하고자 하는 사용자 에이전트가 1명 존재한다. 본 문제 정의에서는 IoT 환경에 배치된 IoT 리소스와 사용자 에이전트를 객체(object)로 정의한다. 또한, 모든 객체는 자신의 좌표(coordinate)와 속도(velocity)를 속성으로 가지며, 이를 알 수 있다고 가정한다. 그리고, IoT 환경의 상태를 정의하기 위해 객체들의 상태를 정의하며, 좌표, 속도, 및 서비스 종류로 정의한다. 이와 같이 정의되는 객체들의 상태의 집합이 현재 환경이 가지는 상태가 된다.
공간-응집 서비스 검색 문제에서 사용자 에이전트는 객체 간 공간 상의 유클리디안 거리(Euclidean distance)를 바탕으로 부분적 관찰성을 가지며, 이에 따라 사용자 에이전트는 IoT 환경 내에서 가까운 거리에 위치한 서비스들을 검색 및 사용할 수 있다.
에이전트의 행동은 각 서비스 타입에 대해 후보 서비스 중 하나의 서비스 제공자를 선택하는 것으로 정의된다. IoT 환경의 동적 변화에 의해 사용 가능한 후보 서비스의 수, 즉 가능한 행동의 수는 계속해서 변하며 이에 본 발명에서는 기계학습 방법 중 이와 같은 상황에 유연하게 대처할 수 있는 것으로 알려져 있는 정책-경사(policy-gradient) 방법을 선택해 사용할 수 있다.
본 발명에서는 두 가지 보상 척도, 공간-응집도와 핸드오버 횟수를 정의한다. 먼저, 공간-응집도는 사용자와 선택된 서비스들이 공간 안에 얼마나 가깝게 위치하는지를 측정하는 척도이고, 핸드오버 횟수는 행동에 의해 새로 선택된 서비스 집합과 기존에 사용하던 서비스 집합의 차이로 정의된다. 최종 보상 값을 하나로 만들기 위해 공간-응집도에서 핸드오버 횟수를 빼는 것으로 공간-응집도는 최대화하면서 핸드오버 횟수는 최소화하는 방향으로 학습하도록 한다.
서비스 검색 에이전트
서비스 검색 에이전트는 사용자가 필요로 하는 각 서비스 종류에 대해 확률적(stochastic) 정책을 유지하는데, 이는 각 후보로 검색된 서비스 제공자가 선택될 확률을 나타낸다. 각 서비스 종류에 대한 확률 함수를 곱함으로써 동시확률분포(joint probability)를 구하고, 이는 곧 에이전트가 전체 서비스에 대해 가지는 행동 정책(joint policy)이 된다. 이 과정에서 각 서비스 종류에 대해 이루어지는 선택은 독립적이라고 가정한다.
정책은 확률적 정책을 표현하는 데 적합한 방법 중 하나인 FFNN(feed-forward neural network) 형태의 파라미터로 표현될 수 있다. 검색된 각 후보 서비스에 대하여 에이전트는 정책의 입력으로 후보 서비스의 상태 벡터, 사용자의 상태 벡터, 둘 사이의 관계 벡터를 사용한다. 이때, 관계 벡터는 사용자와 후보 서비스의 상태 벡터를 감산함으로써 구해지는데, 이는 사용자와 후보 서비스의 상대적 위치 및 속도를 나타내는 역할을 한다. 신경망으로 표현된 정책에 의해 후보 서비스의 출력값이 나오면 이에 softmax 함수를 취한 다음 각 후보 서비스를 선택할 확률 값으로 사용한다.
서비스 검색 에이전트를 학습시키기 위하여 기 공지된 알고리즘의 기계 학습 모델들을 활용할 수 있으며, 예를 들어 액터-크리틱 알고리즘(actor-critic algorithm)을 사용하여 서비스 검색 에이전트를 학습시킬 수 있다.
따라서, 본 발명의 실시예들은 IoT 환경에서 주어진 작업을 위해 필요로 하는 서비스를 검색하는 과정에서 기계 학습을 통해 IoT 환경에 대해 학습된 정책에 따라 현재 상태와 함께 미래 상태를 고려한 서비스를 선택할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 시스템에서 수행되는 방법에 있어서,
    분산 IoT(internet of thing) 환경에서 주어진 작업(task)에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 단계
    를 포함하고,
    상기 IoT 리소스 세트를 검색하는 단계는,
    사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리를 고려한 공간-응집(spatio-cohesive) 방식을 통해 상기 IoT 리소스 세트를 검색하는 것으로,
    공간적 거리와 관련된 규칙이 포함된 복수 개의 공간-응집성 요구사항에 기초하여 서비스 검색 계획을 생성하는 단계; 및
    상기 서비스 검색 계획을 기반으로 하여 상기 작업을 위해 필요로 하는 서비스를 검색하되 상기 작업의 상기 복수 개의 공간-응집성 요구 사항을 충족시키는 서비스를 검색한 다음 검색된 서비스와 공간-응집을 유지하는 다른 서비스를 검색하는 단계
    를 포함하고,
    상기 복수 개의 공간-응집성 요구사항 각각은 사용자와 서비스 사이 또는 서비스와 서비스 사이의 거리가 일정 상한선 이내에 있어야 함을 요구하는 것이고,
    상기 서비스 검색 계획을 생성하는 단계는,
    상기 복수 개의 공간-응집성 요구사항을 서비스의 공간적인 위치와 관계를 추상화한 그래프로 표현한 후 순회(traversal)를 가이딩하는 검색 전략을 사용하여 상기 서비스 검색 계획을 상기 그래프에 인스턴스화(instantiated)하는 단계
    를 포함하고,
    상기 IoT 리소스 세트를 검색하는 단계는,
    상기 그래프에 인스턴스화된 상기 서비스 검색 계획에 따라 서비스 검색 요청을 상위 서비스에서 하위 서비스로 전파함으로써 상기 작업과 관련된 서비스를 실현하는데 필요한 IoT 리소스를 검색하는 단계
    를 포함하고,
    상기 IoT 리소스를 검색하는 단계는,
    상기 IoT 리소스에 의해 충족되는 상기 복수 개의 공간-응집성 요구사항 중 다수의 공간-응집성 요구사항에 기초하여 후보 IoT 리소스 세트를 결정하는 것으로,
    상기 상위 서비스에 대해 상기 하위 서비스의 제공이 가능한 후보 IoT 리소스를 검색한 후 상기 후보 IoT 리소스 중 공간 거리가 가장 가까운 IoT 리소스를 선택하는 단계
    를 포함하고,
    상기 복수 개의 공간-응집성 요구사항은 UML(Unified Modeling Language) 클래스 다이어그램을 이용한 온톨로지(ontology) 모델을 기반으로 표현되며,
    상기 온톨로지 모델을 기반으로 표현된 공간-응집성 요구 사항은 SWRL(Semantic Web Rule Language)에 기반한 규칙 기반 추론 방법을 사용하여 추출되고,
    상기 검색 전략은 상위(parent) 서비스에서 하위(child) 서비스를 검색하는 경로를 구성하기 위한 스패닝 트리 알고리즘(spanning tree algorithm)과 서비스의 중요도에 따라 각 서비스에 우선 순위를 할당하기 위한 서비스 우선 순위 함수로 구성되고,
    상기 IoT 리소스 세트를 검색하는 단계는,
    상기 검색된 서비스의 공간-응집성 상태를 모니터링하여 상기 검색된 서비스 중 적어도 일부 서비스를 이양하는(handover) 단계
    를 포함하고,
    상기 이양하는 단계는,
    상기 작업에 대해 선택된 IoT 리소스가 상기 복수 개의 공간-응집성 요구사항을 충족하는지 여부를 주기적으로 확인하여 일정 주기 동안 이양될 IoT 리소스의 수를 최소화하는 목적 함수에 따라 상기 복수 개의 공간-응집성 요구사항을 충족하지 못하는 IoT 리소스를 다른 IoT 리소스로 전환하고,
    상기 IoT 리소스 세트를 검색하는 단계는,
    IoT 환경의 동적 변화에 의해 사용 가능한 서비스에 대해 기계 학습을 통해 학습된 정책에 기초하여 상기 작업을 위해 필요로 하는 서비스를 선택하는 단계
    를 포함하고,
    상기 작업을 위해 필요로 하는 서비스를 선택하는 단계는,
    사용자와 서비스 간의 공간 거리가 얼마나 가까운지 측정하는 척도로 정의된 공간-응집도를 최대화하면서 새로 선택된 서비스 집합과 기존에 사용하던 서비스 집합의 차이로 정의된 핸드오버 횟수를 최소화하는 방향으로 학습된 상기 정책에 따라 상기 작업을 위해 필요로 하는 서비스로서 현재 상태와 함께 미래 상태를 고려한 서비스를 선택하는 것
    을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 서비스 검색 계획을 생성하는 단계는,
    사전에 정의된 작업 템플릿으로부터 상기 작업에 대해 특정된 공간-응집성 요구 사항을 추출하는 단계
    를 포함하는 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 컴퓨터 시스템에 있어서,
    컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    분산 IoT 환경에서 주어진 작업에 대해 필요로 하는 일련의 기능인 서비스 세트를 제공하기 위한 IoT 리소스 세트를 검색하는 과정
    을 처리하고,
    상기 IoT 리소스 세트를 검색하는 과정은,
    사용자와 서비스 간, 그리고 서비스와 서비스 간의 공간적 거리를 고려한 공간-응집 방식을 통해 상기 IoT 리소스 세트를 검색하는 것으로,
    공간적 거리와 관련된 규칙이 포함된 복수 개의 공간-응집성 요구사항에 기초하여 서비스 검색 계획을 생성하는 과정; 및
    상기 서비스 검색 계획을 기반으로 하여 상기 작업을 위해 필요로 하는 서비스를 검색하되 상기 작업의 상기 복수 개의 공간-응집성 요구 사항을 충족시키는 서비스를 검색한 다음 검색된 서비스와 공간-응집을 유지하는 다른 서비스를 검색하는 과정
    을 포함하고,
    상기 복수 개의 공간-응집성 요구사항 각각은 사용자와 서비스 사이 또는 서비스와 서비스 사이의 거리가 일정 상한선 이내에 있어야 함을 요구하는 것이고,
    상기 서비스 검색 계획을 생성하는 과정은,
    상기 복수 개의 공간-응집성 요구사항을 서비스의 공간적인 위치와 관계를 추상화한 그래프로 표현한 후 순회를 가이딩하는 검색 전략을 사용하여 상기 서비스 검색 계획을 상기 그래프에 인스턴스화하는 과정
    을 포함하고,
    상기 IoT 리소스 세트를 검색하는 과정은,
    상기 그래프에 인스턴스화된 상기 서비스 검색 계획에 따라 서비스 검색 요청을 상위 서비스에서 하위 서비스로 전파함으로써 상기 작업과 관련된 서비스를 실현하는데 필요한 IoT 리소스를 검색하는 과정
    을 포함하고,
    상기 IoT 리소스를 검색하는 과정은,
    상기 IoT 리소스에 의해 충족되는 상기 복수 개의 공간-응집성 요구사항 중 다수의 공간-응집성 요구사항에 기초하여 후보 IoT 리소스 세트를 결정하는 것으로,
    상기 상위 서비스에 대해 상기 하위 서비스의 제공이 가능한 후보 IoT 리소스를 검색한 후 상기 후보 IoT 리소스 중 공간 거리가 가장 가까운 IoT 리소스를 선택하는 과정
    을 포함하고,
    상기 복수 개의 공간-응집성 요구사항은 UML(Unified Modeling Language) 클래스 다이어그램을 이용한 온톨로지(ontology) 모델을 기반으로 표현되며,
    상기 온톨로지 모델을 기반으로 표현된 공간-응집성 요구 사항은 SWRL(Semantic Web Rule Language)에 기반한 규칙 기반 추론 방법을 사용하여 추출되고,
    상기 검색 전략은 상위(parent) 서비스에서 하위(child) 서비스를 검색하는 경로를 구성하기 위한 스패닝 트리 알고리즘(spanning tree algorithm)과 서비스의 중요도에 따라 각 서비스에 우선 순위를 할당하기 위한 서비스 우선 순위 함수로 구성되고,
    상기 IoT 리소스 세트를 검색하는 과정은,
    상기 검색된 서비스의 공간-응집성 상태를 모니터링하여 상기 검색된 서비스 중 적어도 일부 서비스를 이양하는(handover) 과정
    을 포함하고,
    상기 이양하는 과정은,
    상기 작업에 대해 선택된 IoT 리소스가 상기 복수 개의 공간-응집성 요구사항을 충족하는지 여부를 주기적으로 확인하여 일정 주기 동안 이양될 IoT 리소스의 수를 최소화하는 목적 함수에 따라 상기 복수 개의 공간-응집성 요구사항을 충족하지 못하는 IoT 리소스를 다른 IoT 리소스로 전환하고,
    상기 IoT 리소스 세트를 검색하는 과정은,
    IoT 환경의 동적 변화에 의해 사용 가능한 서비스에 대해 기계 학습을 통해 학습된 정책에 기초하여 상기 작업을 위해 필요로 하는 서비스를 선택하는 과정
    을 포함하고,
    상기 작업을 위해 필요로 하는 서비스를 선택하는 과정은,
    사용자와 서비스 간의 공간 거리가 얼마나 가까운지 측정하는 척도로 정의된 공간-응집도를 최대화하면서 새로 선택된 서비스 집합과 기존에 사용하던 서비스 집합의 차이로 정의된 핸드오버 횟수를 최소화하는 방향으로 학습된 상기 정책에 따라 상기 작업을 위해 필요로 하는 서비스로서 현재 상태와 함께 미래 상태를 고려한 서비스를 선택하는 것
    을 특징으로 하는 컴퓨터 시스템.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020180078709A 2018-01-15 2018-07-06 분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양 KR102184286B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/186,000 US11647090B2 (en) 2018-01-15 2018-11-09 Spatio-cohesive service discovery and dynamic service handover for distributed IoT environments

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180004863 2018-01-15
KR1020180004863 2018-01-15

Publications (2)

Publication Number Publication Date
KR20190094070A KR20190094070A (ko) 2019-08-12
KR102184286B1 true KR102184286B1 (ko) 2020-11-30

Family

ID=67625056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180078709A KR102184286B1 (ko) 2018-01-15 2018-07-06 분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양

Country Status (1)

Country Link
KR (1) KR102184286B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236826A1 (en) * 2003-05-19 2004-11-25 Michael Harville Combination case for service location management of media services
US20060026008A1 (en) * 2004-07-27 2006-02-02 Xerox Corporation Method and system for managing resources for multi-service jobs based on location
KR101748299B1 (ko) 2017-02-02 2017-06-19 주식회사 한국넷킹콜 IoT 기반 통합 원격 화장실 관리 시스템, IoT 기반 통합 원격 관리 서버 및 IoT 기반 통합 원격 화장실 관리 방법
US20170220963A1 (en) * 2016-01-29 2017-08-03 Liquid Analytics, Inc. Systems and methods for dynamic prediction of workflows

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170109399A (ko) * 2016-03-21 2017-09-29 전자부품연구원 온톨로지 기반 IoT 서비스 구성 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236826A1 (en) * 2003-05-19 2004-11-25 Michael Harville Combination case for service location management of media services
US20060026008A1 (en) * 2004-07-27 2006-02-02 Xerox Corporation Method and system for managing resources for multi-service jobs based on location
US20170220963A1 (en) * 2016-01-29 2017-08-03 Liquid Analytics, Inc. Systems and methods for dynamic prediction of workflows
KR101748299B1 (ko) 2017-02-02 2017-06-19 주식회사 한국넷킹콜 IoT 기반 통합 원격 화장실 관리 시스템, IoT 기반 통합 원격 관리 서버 및 IoT 기반 통합 원격 화장실 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
백경덕, 김민협, 고인영. 사물인터넷 환경에서 지리적 응집도를 고려한 동적 서비스 검색방법. 정보과학회논문지, 제43권 제8호, 2016.08.. 출처: http://kiise.or.kr/e_journal/2016/8/JOK/pdf/08.pdf*

Also Published As

Publication number Publication date
KR20190094070A (ko) 2019-08-12

Similar Documents

Publication Publication Date Title
Qi et al. Knowledge-driven service offloading decision for vehicular edge computing: A deep reinforcement learning approach
Sami et al. Demand-driven deep reinforcement learning for scalable fog and service placement
Rausch et al. Edge intelligence: The convergence of humans, things, and ai
Abdulazeez et al. Offloading mechanisms based on reinforcement learning and deep learning algorithms in the fog computing environment
Li et al. A distributed consensus algorithm for decision making in service-oriented internet of things
Pianini et al. Partitioned integration and coordination via the self-organising coordination regions pattern
Casadei et al. Self-organising coordination regions: A pattern for edge computing
Kokkonen et al. Autonomy and intelligence in the computing continuum: Challenges, enablers, and future directions for orchestration
Wanigasekara et al. A bandit approach for intelligent IoT service composition across heterogeneous smart spaces
Kasnesis et al. Cognitive friendship and goal management for the social IoT
Srour et al. A Water Flow‐Like Algorithm for the Travelling Salesman Problem
Qi et al. Vehicular edge computing via deep reinforcement learning
Gupta et al. Toward intelligent resource management in dynamic Fog Computing‐based Internet of Things environment with Deep Reinforcement Learning: A survey
Robles-Enciso et al. A multi-layer guided reinforcement learning-based tasks offloading in edge computing
Adhikari et al. A comprehensive survey on nature‐inspired algorithms and their applications in edge computing: Challenges and future directions
Chaari et al. Dynamic computation offloading for ground and flying robots: Taxonomy, state of art, and future directions
Abedini Bagha et al. Improving delay in SDNs by metaheuristic controller placement
Khojand et al. Controller placement in SDN using game theory and a discrete hybrid metaheuristic algorithm
KR102184286B1 (ko) 분산 IoT 환경을 위한 공간-응집 서비스 검색 및 동적 서비스 이양
US11647090B2 (en) Spatio-cohesive service discovery and dynamic service handover for distributed IoT environments
Sountharrajan et al. On-the-go network establishment of iot devices to meet the need of processing big data using machine learning algorithms
Cheng Coordinating decentralized learning and conflict resolution across agent boundaries
Khan et al. Content caching in mobile edge computing: a survey
Domini et al. Field-Based Coordination for Federated Learning
Elmazi et al. Selection of actor nodes in wireless sensor and actor networks considering actor-sensor coordination quality parameter

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
G170 Publication of correction
G170 Publication of correction