KR102444858B1 - 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체 - Google Patents

리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR102444858B1
KR102444858B1 KR1020160076519A KR20160076519A KR102444858B1 KR 102444858 B1 KR102444858 B1 KR 102444858B1 KR 1020160076519 A KR1020160076519 A KR 1020160076519A KR 20160076519 A KR20160076519 A KR 20160076519A KR 102444858 B1 KR102444858 B1 KR 102444858B1
Authority
KR
South Korea
Prior art keywords
resource information
time
time interval
user device
user
Prior art date
Application number
KR1020160076519A
Other languages
English (en)
Other versions
KR20170142667A (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 KR1020160076519A priority Critical patent/KR102444858B1/ko
Priority to US16/311,350 priority patent/US10856298B2/en
Priority to PCT/KR2017/006465 priority patent/WO2017222276A1/ko
Publication of KR20170142667A publication Critical patent/KR20170142667A/ko
Application granted granted Critical
Publication of KR102444858B1 publication Critical patent/KR102444858B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/51Allocation or scheduling criteria for wireless resources based on terminal or device properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/003Arrangements to increase tolerance to errors in transmission or reception timing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/06Registration at serving network Location Register, VLR or user mobility server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/022Selective call receivers
    • H04W88/023Selective call receivers with message or information receiving capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

본 개시는 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 본 개시의 실시예에 따른 리소스정보 제공장치는, 전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 통신 인터페이스부, 및 수신된 제1 시간간격마다 제1 사용자장치로 리소스 정보를 반복적으로 제공하도록 통신 인터페이스부를 제어하는 프로세서를 포함할 수 있다.

Description

리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체{Apparatus and Method for Providing Resource Information, and Computer Readable Recording Medium}
본 개시는 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 더 상세하게는 가령 사물인터넷(IoT) 분야에서 제약적인 환경을 갖는 장치의 메시지 트래픽을 감소하려는 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체에 관한 것이다.
최근 사물인터넷 서비스가 확산되고 있고, 이러한 서비스에 연결되는 사용자의 수와 사물들의 증가 속도는 급속도로 빨라지고 있다. 사용자 서비스는 사물의 리소스 상태를 읽고 쓰는 단편적 구조에서, 복수 개의 리소스 정보 또는 서비스를 이용하여 새로운 서비스를 생성하는 복합적인 서비스 구조로 발전하고 있다.
사물은 그 기능과 종류가 다양해지고 있고, 하나의 서비스에 종속되기보다 개방 형태의 1개 이상의 서비스에 상태 정보(혹은 리소스 정보)를 제공할 수 있다. 이러한 현상은 사물의 트래픽(traffic)을 증가시키고 사물의 성능 자원을 소비하게 된다. 특히, 낮은 성능의 사물에서는 제한된 배터리 소모에 따른 동작시간의 감소를 초래하고, 낮은 처리 속도에 따른 응답의 지연이 발생할 수 있다.
이를 해결하고자 종래에는 사물인터넷의 구조적 방법과 메시지 교환 방법을 통해 해결하고자 하였다. 사물과 사용자의 중간에 위치한 허브(hub), 게이트웨이(gateway), 프락시(proxy)의 사물인터넷의 구조적인 특징을 활용한 방법과 제약된 사물의 메시지 교환을 위한 경량의 프로토콜인 CoAP, MQTT가 대표적이다.
그런데, 이러한 기존의 연구들은 사물인터넷에서 제약적인 환경을 갖는 사물의 트래픽을 감소하는 데에 한계가 있어, 여전히 전력소모가 많이 발생한다.
본 개시의 실시예는 가령 사물인터넷 분야에서 제약적인 환경을 갖는 장치의 메시지 트래픽을 감소하려는 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체를 제공함에 그 목적이 있다.
본 개시의 실시예에 따른 리소스정보 제공방법은 전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 단계, 및 상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하는 단계를 포함한다.
상기 리소스정보 제공방법은, 상기 리소스 정보를 반복해서 수신하기 위해 허용되는 제2 시간간격이 포함된 제2 요청 신호를 수신하는 단계, 및 상기 제1 시간간격 및 상기 제2 시간간격을 기초로 결정되는 시간에 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치로 상기 리소스 정보를 제공하는 단계를 더 포함할 수 있다.
상기 제1 시간간격 및 상기 제2 시간간격은 상기 제1 사용자장치 및 상기 제2 사용자장치에 포함되는 어플리케이션에 디폴트(default)로 설정되거나, 화면에 표시되는 UI 화면상에서 사용자에 의해 설정될 수 있다.
상기 리소스 정보를 제공하는 단계는, 상기 제2 시간간격을 변경하여 상기 제1 시간간격의 시간에 상기 리소스 정보를 상기 제2 사용자장치로 전송 가능한지 판단하는 단계, 및 판단 결과 전송 가능하면, 상기 리소스 정보를 상기 제2 사용자 장치로 전송하는 단계를 포함할 수 있다.
상기 판단하는 단계는, 상기 제1 시간간격과 상기 제2 시간간격이 서로 일치하거나 최소공배수 또는 최대공약수의 관계에 있는지 또는 도래하는 상기 제1 시간간격의 현 시간(Base Time)을 기준으로 상기 제2 시간간격의 시간 변경률(Tolerance Ratio)이 기설정된 허용가능범위 내에 있는지를 판단할 수 있다.
상기 제2 시간간격의 시간 변경률은,
Figure 112016059106316-pat00001
(여기서, USERSchedTime은 메시지가 전송된 이전 스케줄 시간 + 제2 시간간격)의 관계식에 의해 결정될 수 있다.
또한, 본 개시의 실시예에 따른 리소스정보 제공장치는, 전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 통신 인터페이스부, 및 상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하도록 상기 통신 인터페이스부를 제어하는 프로세서를 포함한다.
상기 통신 인터페이스부는, 상기 리소스 정보를 반복해서 수신하기 위해 허용되는 제2 시간간격이 포함된 제2 요청 신호를 더 수신하며, 상기 프로세서는, 상기 제1 시간간격 및 상기 제2 시간간격을 기초로 결정되는 시간에 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치로 상기 리소스 정보를 제공하도록 상기 통신 인터페이스부를 제어할 수 있다.
상기 제1 시간간격 및 상기 제2 시간간격은 상기 제1 사용자장치 및 상기 제2 사용자장치에 포함되는 어플리케이션에 디폴트로 설정되거나, 화면에 표시되는 UI 화면상에서 사용자에 의해 설정될 수 있다.
상기 리소스정보 제공장치는, 상기 전자 장치와 상기 제1 사용자 장치 및 상기 제2 사용자 장치 중 적어도 하나의 장치 사이의 통신 경로 상에 위치하는 중계 장치로서 서버, 상기 서버에 연결된 프락시 장치, 게이트웨이(gateway) 또는 허브(hub)를 포함할 수 있다.
상기 프로세서는 상기 제2 시간간격을 변경하여 상기 제1 시간간격의 시간에 상기 리소스 정보를 상기 제2 사용자장치로 전송 가능한지 판단하며, 판단 결과 전송 가능하면, 상기 리소스 정보를 상기 제2 사용자 장치로 전송하도록 상기 통신 인터페이스부를 제어할 수 있다.
상기 프로세서는 전송 가능한지 판단하기 위해 상기 제1 시간간격과 상기 제2 시간간격이 서로 일치하거나 최소공배수 또는 최대공약수의 관계에 있는지 또는 도래하는 상기 제1 시간간격의 현 시간을 기준으로 상기 제2 시간간격의 시간 변경률이 기설정된 허용가능범위 내에 있는지를 판단할 수 있다.
상기 프로세서는,
Figure 112016059106316-pat00002
(여기서, USERSchedTime은 메시지가 전송된 이전 스케줄 시간 + 제2 시간간격)의 관계식에 의해 상기 제2 시간간격의 시간 변경률을 결정할 수 있다.
한편, 본 개시의 실시예에 따른 컴퓨터 판독가능 기록매체는, 리소스정보 제공방법을 실행하기 위한 프로그램을 저장하는 컴퓨터 판독가능 기록매체에 있어서, 상기 리소스정보 제공방법은, 전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 단계, 및 상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하는 단계를 실행한다.
도 1은 본 개시의 실시예에 따른 사물인터넷 시스템을 나타내는 도면,
도 2는 도 1에 도시된 리소스정보 제공장치의 세부 구조를 예시하여 나타낸 도면,
도 3은 도 1에 도시된 리소스정보 제공장치의 다른 세부 구조를 예시하여 나타낸 도면,
도 4는 도 3의 제어부의 세부 구조를 예시하여 나타낸 도면,
도 5 내지 도 8은 본 개시의 실시예에 따른 간격-톨러런스 리소스 모니터링 방법을 설명하기 위한 도면,
도 9 내지 도 12는 본 개시의 실시예에 따른 에포크 분석을 설명하기 위한 도면,
도 13 내지 도 15는 본 개시의 실시예에 따른 실험 결과를 설명하기 위한 도면,
도 16은 본 개시의 실시예에 따른 리소스 정보 처리 과정을 나타내는 도면,
도 17은 본 개시의 실시예에 따른 사용자장치의 구동 과정을 나타내는 흐름도,
도 18은 본 개시의 제1 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도,
도 19는 본 개시의 제2 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도, 그리고
도 20은 본 개시의 제3 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 개시의 실시예에 대하여 상세히 설명한다.
도 1은 본 개시의 실시예에 따른 사물인터넷 시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 개시의 실시예에 따른 사물인터넷 시스템(90)은 사용자장치(100), 통신망(110) 및 전자장치(120)(이하, '사물'이라 함)를 포함하며, 여기서 통신망(110)은 리소스정보 제공장치(이하, '프락시(proxy)'라 함)를 포함할 수 있다.
사용자장치(100)는 본 개시의 실시예에 따른 어플리케이션을 포함할 수 있다. 어플리케이션은 사용자에게 인터페이스(interface)를 통해 사물인터넷 서비스를 제공하기 위한 프로그램이다. 어플리케이션은 통신망(110)을 통해 펌웨어 형태로 어플리케이션 운영자의 서버에서 다운로드할 수 있지만, 사용자장치(100)의 제품 출고시에 기저장되어 출고될 수 있다. 이러한 어플리케이션은 인터넷에 연결된 허브(110-1) 혹은 게이트웨이(110-2)를 통해 사물(120)의 리소스 정보(혹은 상태 정보)를 요청하기 위해 사용될 수 있다. 어플리케이션은 사물인터넷 서비스를 사용하는 주체이기도 하지만, 또한 서비스를 생산하는 주체가 될 수 있다. 여기서, 사물(120)의 리소스 정보는 홈(home) 내의 세탁기에 대한 세탁 상태나 잔여 시간 등을 나타내는 상태 정보가 될 수 있고, 비닐하우스의 경우에는 온도나 습도 등을 나타내는 센싱 정보가 될 수 있을 것이다.
사용자장치(100)의 어플리케이션은 서드파티업체에 의해 제공될 수 있는데, 이러한 어플리케이션은 사용자가 사물(120)로 리소스 정보를 요청할 때 자신이 어떠한 시간 간격으로 매번 리소스 정보를 수신하고자 하는지에 대한 최대 시간간격에 대한 시간간격 정보를 제공할 수 있다. 이에 따라 사용자장치(100)는 최대 시간 내에서 사물(120)의 리소스 정보를 수신할 수 있게 된다. 여기서, 최대 시간에 대한 정보는 서드파티업체에 의해 제공되는 사용자 어플리케이션의 목적(또는 용도)에 의해 결정된다고 볼 수 있다. 예를 들어, 홈 내의 TV와 같은 사물에 대한 리소스 정보를 요청하는 시간보다는 비닐하우스 내의 센서와 같은 사물로부터의 리소스 정보를 요청하는 시간은 더 짧을 수 있다. 따라서, 센서 등과 관련한 어플리케이션을 제공하는 서드파티업체는 최대 시간의 간격을 비교적 짧게 (제작)하여 사용자에게 어플리케이션을 제공할 수 있을 것이다. 가령 비닐하우스의 온도계는 어플리케이션이 모니터링에 500ms를 설정할 수 있다면, 비닐하우스 덮개 개폐를 위해서는 10분(10×60×1000ms)으로 설정할 수 있다. 이러한 허용 가능한 최대 시간간격의 설정은 어플리케이션에 디폴트(default)로 설정되는 것도 가능하지만, 화면에 표시되는 UI 화면을 통해 사용자와의 인터페이스를 통해 설정하는 것도 얼마든지 가능할 수 있으므로 위의 내용에 특별히 한정하지는 않을 것이다.
통신망(110)은 유무선 통신망을 모두 포함한다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망(110-2)을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로 망 등을 포함하는 의미이다. 물론 본 개시의 실시예에 따른 통신망(110)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망 등에 사용될 수 있다. 가령, 통신망(110)이 유선 통신망인 경우 통신망(110) 내의 액세스포인트(Access Point)는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(110)은 액세스포인트를 포함할 수 있다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함한다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 사물(120)이 최대 몇 대까지 접속할 수 있느냐에 따라 구분된다. 물론 액세스포인트는 사물(120)과 지그비 및 와이파이(Wi-Fi) 등의 근거리 통신을 수행하기 위한 근거리 통신 모듈을 포함한다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 사물(120)로 전달할 수 있다. 물론 본 개시에서는 메시지를 전송하여 최대 시간간격 정보를 등록하고, 그에 대한 리소스 정보를 수신하기 위한 경로로 이해해도 좋을 것이다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함될 수 있다.
본 개시에 따라, 허브(110-1)는 위의 액세스포인트의 하나이며, 어플리케이션이 사물인터넷 서비스에 접속하기 위한 연결 창구로서 제공된다. 사물인터넷 서비스들은 허브(110-1)를 통해 일반적으로 제공되고 있으며, 사용자 어플리케이션은 위치, 시간의 제약 없이 사물인터넷 서비스를 제공받을 수 있다. 본 개시에 따라, 게이트웨이(110-2)는 사물(120)이 네트워크의 제약 없이 인터넷에 연결되는 것을 돕기 위한 연결 장치이다. 일반적으로 사물(120)이 물리적으로 위치하는 로컬 영역에 존재한다. 와이파이뿐만 아니라, 지그비, 블루투스, Z 파장(Z-Wave) 등의 통신 환경의 차이 없이 사물(120)들을 인터넷에 연결할 수 있다.
본 개시의 실시예에 따라 허브(110-1) 및 게이트웨이(110-2) 중 적어도 하나의 장치는 프락시를 포함할 수 있다. 프락시는 사물(120)의 성능적 제약사항을 극복하기 위해 사물(120)을 대신하는 논리적 장치이다. 본 개시에서는 프락시를 리소스정보 제공장치라 명명하고 있는데, 이러한 프락시는 허브(110-1)나 게이트웨이(100-2)와 별도로 스탠드 얼론(stand-alone) 형태의 개별 장치로 구성되어 허브(110-1)나 게이트웨이(100-2)와 연동할 수 있으나, 허브(110-1)나 게이트웨이(100-2)의 내부에 포함되어 구성될 수 있다. 프락시가 포함된 허브(110-1)나 게이트웨이(100-2) 또한 본 개시에서는 리소스정보 제공장치가 될 수 있다. 따라서, 본 개시에서는 리소스정보 제공장치가 어떠한 형태로 구성되느냐에 특별히 한정하지는 않을 것이다. 성능적 제약사항을 극복하기 위한 대표적인 기능으로 리소스 캐시가 있다. 리소스 캐시에 리소스 정보를 일시적으로 보관하며, 시간적 지역성을 만족하는 사물(120)의 리소스 정보 요청에 대해서는 사물(120)에 메시지를 전달하지 않고도 빠른 응답을 제공할 수 있다. 본 개시에서는 리소스정보 제공장치가 이러한 캐시(cache)를 포함하지 않지만, 이에 특별히 한정하지는 않을 것이다.
사물(120)은 사물인터넷에서 리소스 정보를 제공하는 주체로서 전자장치에 해당되며, 리소스를 관리하고 네트워크 통신 기능을 갖는다. 사물(120)은 단순한 연산만 가능한 장치부터 고성능의 장치까지 세상의 모든 사물이 포함될 수 있다. 제약적인 사물(120)은 낮은 성능으로 인하여 사물인터넷 서비스에 있어서 비효율성을 초래할 수 있다. 사물(120)의 제약적인 성능으로는 전원, 네트워크와 처리 속도가 있다. 제약된 전원을 가진 사물(120)은 트래픽이 증가하게 되면, 사물(120)의 전원을 빠르게 소모하여 사용 시간이 단축되는 문제가 발생한다. 제약된 네트워크와 처리 속도를 가진 사물(120)은 트래픽이 증가하게 되면, 사물(120)의 트래픽 처리에 대한 지연으로 인해 응답 시간이 늦어지는 문제도 발생할 수 있다. 이에 본 개시에서는 가령 제약된 성능을 가진 사물(120)의 메시지를 줄임으로써 배터리 사용 시간의 증가와 병목으로 인한 응답 지연 현상을 개선할 수 있게 되는 것이다.
도 2는 도 1에 도시된 리소스정보 제공장치의 세부 구조를 예시하여 나타낸 도면이다.
도 2에 도시된 바와 같이, 본 개시의 실시예에 따른 리소스정보 제공장치(110-1, 110-3)는 통신 인터페이스부(200) 및 자원처리부(210)를 포함한다.
통신 인터페이스부(200)는 도 1의 사용자장치(100)로부터 제공되는 정보를 자원처리부(210)로 전달하고, 전달된 정보에 상응하는 리소스 정보를 자원처리부(210)로부터 수신하여 사용자장치(100)로 전송한다. 물론 이의 과정에서 암호화하고 복호화하는 등의 과정을 추가로 수행할 수도 있을 것이다.
자원처리부(210)는 사용자가 요구하는 시간 이내에 자원 상태 정보를 사용자에게 제공하며, 최대 간격(Max-interval)(혹은 최대 시간간격), 스케줄 시간 변경(Schedule Time Shift) 및 허용 시간 톨러런스 비율(혹은 허용 간격 톨러런스 비율)의 3가지 주요 기능을 갖는다. 여기서 "최대 간격"은 사용자가 사물(120)의 리소스 정보를 반복적으로 수신하고자 하는 최대 기간을 의미한다. "스케줄 시간 변경"은 계획된 서비스 시간을 이전 즉 앞선 시간으로 변경하는 것을 의미한다. "허용 톨러런스 비율"은 스케줄 시간 변경이 발생하였을 때 최대 간격 대비 변경된 시간의 비율을 의미한다. 프락시는 최대 간격을 이용하여 모든 사용자들의 메시지 서비스 시간을 계획하고 허용 톨러런스 비율 이내에서 스케줄 시간 변경을 수행한다. 기타 자원처리부(210)와 관련한 자세한 내용은 이후에 다시 다루기로 한다.
도 3은 도 1에 도시된 리소스정보 제공장치의 다른 세부 구조를 예시하여 나타낸 도면이며, 도 4는 도 3의 제어부의 세부 구조를 예시하여 나타낸 도면이다.
도 3에 도시된 바와 같이, 본 개시의 다른 실시예에 따른 리소스정보 제공장치(110-1', 110-3')는 통신 인터페이스부(300), 제어부(310), 저장부(320) 및 모니터링 실행부(330)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 저장부(320)와 같은 일부 구성요소가 생략되어 구성되거나, 모니터링 실행부(330)와 같은 일부 구성요소가 제어부(310)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
도 3의 리소스정보 제공장치(110-1', 110-3')는 도 2의 리소스정보 제공장치(110-1, 110-3)와 비교해 볼 때, 도 2의 자원 처리부(210)가 도 3과 같이 하드웨어적으로 제어부(310)와 모니터링 실행부(330)로 구분될 수 있다는 데에 차이가 있다. 다시 말해, 도 2의 자원 처리부(210)는 제어 기능과 본 개시의 실시예에 따른 다양한 모니터링 동작을 동시에 수행한다면, 도 3의 리소스정보 제공장치(110-1', 110-3')는 제어부(310)가 장치 내부의 전반적인 제어 기능을 담당하고, 모니터링 실행부(330)는 장치의 모니터링 동작을 수행하는 동작만 이원화하여 수행한다고 볼 수 있다. 예를 들어, 모니터링 실행부(330)는 사용자가 제공한 최대 간격에 대한 정보를 근거로 일정 시간 간격으로 사물(120)로부터 취득한 리소스 정보를 제공하되, 이의 과정에서 스케줄 시간을 변경하고 이때 허용 간격 톨러런스 비율을 점검하게 되는 것이다. 모니터링 실행부(330)는 EEPROM의 형태를 가질 수 있는데, 이로 인해 프로그램의 자유로운 쓰기 및 삭제가 가능할 수 있을 것이다.
이러한 점을 제외하면 도 3의 리소스정보 제공장치(110-1', 110-3')는 도 2의 리소스정보 제공장치(110-1, 110-3)와 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
한편, 도 3의 제어부(310)는 도 4에서와 같이 프로세서(400)와 메모리(410)를 포함할 수 있다. 상기의 구성에 따라, 프로세서(400)는 리소스정보 제공장치(110-1, 110-3)와의 초기 동작시 모니터링 실행부(330)에 저장된 프로그램을 메모리(410)로 로딩하여 저장한 후 모니터링 동작을 위하여 메모리(410)에 저장된 프로그램을 실행시킬 수 있다. 그 결과, 도 3 대비 데이터 처리 속도가 더 빨라질 수 있다. 다시 말해, 도 3에서는 제어부(310)가 모니터링 실행부(330)에 프로그램을 실행하도록 제어하고, 그 제어에 따른 결과를 수신하므로 도 4 대비 속도가 다소 느리다.
저장부(320)는 리소스정보 제공장치(110-1', 110-3') 내에서 처리되는 다양한 정보를 임시 저장한 후, 제어부(310)의 요청이 있을 때 출력해 줄 수 있다.
이제부터는 본 개시의 실시예에 따른 자원 모니터링 방법, 에포크(Epoch)를 이용한 트래픽 분석 및 실험 환경과 결과를 살펴보기로 한다. 여기서, "에포크"란 반복되는 스케줄 시간의 기간을 의미한다. 허용 간격 톨러런스 비율이 증가함에 따라 에포크의 크기는 감소하고, 시간당 메시지 수 또한 감소한다.
도 5 내지 도 8은 본 개시의 실시예에 따른 간격-톨러런스 리소스 모니터링 방법을 설명하기 위한 도면이다.
설명의 편의상 도 1과 함께 참조하면, 사물인터넷 서비스는 일반적으로 사물(120)의 리소스 상태 정보를 이용하여 제공된다. 리소스 상태 정보는 사용자 어플리케이션 인터페이스를 갱신하거나, 혹은 다른 새로운 서비스의 입력으로 제공되어 사용될 수 있다. 사물인터넷 서비스는 특정 시점의 일회성의 사물의 리소스 상태만 이용하는 것보다, 일정기간 동안의 리소스 상태의 관찰과 이력(history) 정보를 필요로 한다.
사물(120)의 리소스 상태 정보가 짧은 시간 간격으로 사용자 어플리케이션에 제공된다면, 사용자 어플리케이션은 리소스 상태를 보다 정확하고 실시간성을 높게 갱신할 수 있을 뿐만 아니라, 발생한 문제에 대해서도 신속하게 대처할 수 있다. 하지만, 사물인터넷의 기존 어플리케이션 프로토콜을 이용하여 사용자 어플리케이션이 필요한 만큼 이상으로 자주 사물(120)의 리소스 상태 정보를 수신하게 된다면 사용자 어플리케이션에 제공된 리소스 상태 정보는 버려지게 되고, 사물(120)의 메시지 트래픽을 증가시킬 수 있다. 제약적인 사물(120)에게 메시지 트래픽 증가는 사물(120)의 사용 시간을 단축시킬 뿐만 아니라, 응답 시간을 증가시키는 문제의 원인이 되기도 한다.
이러한 이유에서, 사용자 어플리케이션 혹은 서비스에서 요구되는 만큼 리소스 상태를 갱신하기 위하여 특정 시간 이내에 사물(120)로부터 리소스 상태 정보를 수신해야 한다. 사용자 어플리케이션은 필요한 만큼의 시간 간격 정보 즉 최대 간격을 프락시에게 제공하고, 프락시는 각 사용자 어플리케이션으로부터 제공된 최대 간격 정보와 허용 가능한 범위 내에서 시간적 역방향으로 시간이 변경된 변경 시간에 사용자 어플리케이션으로 사물(120)의 리소스 상태를 주기적으로 제공한다. 허용된 범위 이내에서 시간이 변경된 시점에 사물(120)의 리소스 상태 정보를 제공하는 방법을 간격-톨러런스(Interval-Tolerant) 관찰 방법이라 명명한다.
간격-톨러런스 리소스 모니터링 방법에서, 사용자 어플리케이션, 프락시, 사물(120) 간에 전달되는 메시지의 종류는 등록(registration), 통지(notification), 등록해지(unregister) 메시지가 있다.
여기서, 등록 메시지는 사용자 어플리케이션이 사물(120)의 리소스 상태 정보를 주기적으로 관찰하기 위해 사용자 어플리케이션이 프락시로 전달하는 메시지다. 프락시는 등록 메시지를 수신할 경우 통지 메시지 스케줄 연계 목록(Notification Message Schedule Linked List)에 새로운 사용자 어플리케이션 노드(node)와 스케줄 시간 노드(Schedule Time node)를 생성하여 추가한다. 등록 메시지는 사물(120)의 리소스 상태 정보를 수신하기 전, 최초 1회 프락시에 요청되고, 상태를 관찰하고자 하는 사물(120)의 리소스 식별자와 리소스 상태 정보를 수신하고자 하는 최대 시간 주기인 최대 간격, 그리고 사용자에 대한 정보를 포함한다.
최대 간격은 사용자 어플리케이션이 관찰하고자 하는 사물(120)의 리소스 상태 정보를 프락시가 사용자 어플리케이션에 전달하는 통지 메시지의 최대 시간 간격이다. 사용자 어플리케이션은 이전 통지 메시지를 수신한 시점으로부터 최대 간격 시간이 경과할 때까지 새로운 통지 메시지를 수신하지 못할 경우 사용자 어플리케이션과 사물 구간에서 문제가 발생한 것으로 판단하여 복구, 재시도 혹은 해지를 수행할 수 있다.
통지 메시지는 프락시가 사용자 어플리케이션에 전달하는 사물(120)의 리소스 상태 정보를 포함하는 메시지이다. 프락시는 각 사용자 어플리케이션이 요청한 최대 간격 시간 이내에 사용자 어플리케이션에 통지 메시지를 전달해야 한다. 프락시는 등록해지 메시지를 수신하기 전까지 사용자 어플리케이션에 통지 메시지를 반복적으로 전송한다.
등록해지 메시지는 사용자 어플리케이션이 더 이상 사물(120)의 리소스 상태 정보를 수신하지 않고자 할 경우 이 메시지를 프락시로 전달하는 메시지이다. 등록해지 메시지는 해지하고자 하는 사물(120)과 리소스, 그리고 사용자에 대한 정보를 포함한다. 프락시는 등록해지 메시지를 수신할 경우 통지 메시지 스케줄 연계 목록으로부터 해당되는 사용자 어플리케이션 노드와 스케줄 시간 노드를 제거하고, 이 시점부터 통지 메시지를 해당 사용자 어플리케이션에 전달하지 않는다.
간격-톨러런스 리소스 관찰 방법의 메시지는 등록 메시지, 통지 메시지, 그리고 등록해지 메시지의 순서대로 실행된다. 등록 메시지는 시작 시 1회, 등록해지 메시지는 종료 시 1회 사용자 어플리케이션으로부터 프락시로 전달되지만, 통지 메시지는 등록 메시지가 프락시로 전달된 시점으로부터, 등록해지 메시지가 프락시로 전달된 시점까지 최대 간격으로 프락시로부터 사용자 어플리케이션에 전달된다.
도 5는 간격-톨러런스 리소스 모니터링 방법을 나타내는 도면으로서, 도 5에서 USER#1는 프락시에 등록 메시지(최대 간격 1000ms)를 전달하고, 프락시는 등록 메시지를 수신한 이후 1000ms 시간 간격으로 사물의 리소스 상태 정보를 읽어 사용자 어플리케이션에 통지 메시지를 전달한다. USER#2는 프락시에 등록 메시지(최대 간격 1400ms)를 전달하고, 프락시는 등록 메시지를 수신한 이후 1300ms 시간 간격으로 사물의 리소스 상태 정보를 읽어 사용자 어플리케이션으로 통지 메시지를 전달한다. 프락시는 각 사용자 어플리케이션들의 최대 간격 정보와 허용 간격 톨러런스 비율을 이용하여 각 사용자 어플리케이션에 전달할 실제 스케줄 시간(Actual Schedule Time)을 결정한다. 실제 스케줄 시간은 기대(혹은 예상) 스케줄 시간에서 시간 변경을 수행하여 구할 수 있는데, 이는 도 5에서 USER#1의 5번째 통지 메시지가 이전 통지 발송 시간으로부터 최대 간격 1000ms가 아닌 800ms 이후에 발송된 것을 확인할 수 있다.
프락시는 등록 메시지를 통해 사물의 리소스 상태 정보에 대한 요청을 받게 되면, 각 사용자 어플리케이션에 통지 메시지를 전송할 시간을 계산하게 된다. 통지 메시지가 사용자 어플리케이션에 제공되는 시점을 실제 스케줄 시간이라 하는데, 기본 시간(Base Time), 예상 스케줄 시간(Expected Schedule Time), 이전 서비스 시간(Previous Service Time)을 이용하여 구할 수 있다.
통지 메시지 스케줄 링크 목록의 스케줄 시간 노드에서 현재 시간(Now)보다 이전에 위치한 통지 메시지가 실제 스케줄 시간이다. 실제 스케줄 시간이 현재보다 이전에 위치하게 되면, 실제 스케줄 시간을 이전 서비스 시간으로 설정하고 새로이 계획된 스케줄 시간을 계산한다.
이러한 (가령 알고리즘의) 계산 과정은 아래의 <표 1>에서와 같이 나타낼 수 있다.
Figure 112016059106316-pat00003
통지 메시지 스케줄 연계 링크의 스케줄 시간 노드 중에서 지금보다 이후에 위치한 가장 빠른 실제 스케줄 시간을 기본 시간이라고 한다. 기본 시간은 모든 사용자 어플리케이션이 예상 스케줄 시간으로부터 시간 변경 수행시 목적 값으로 사용된다. 기본 시간은 <수학식 1>과 같이 나타낼 수 있다.
Figure 112016059106316-pat00004
통지 메시지 스케줄 연계 목록의 스케줄 시간 노드 중에서 지금이 실제 스케줄 시간보다 커지게 되면, 새로운 스케줄 시간을 계산하게 되는데, 이전 서비스 시간으로부터 최대 간격만큼 더한 시간이 예산 스케줄 시간이 된다. 예상 스케줄 시간은 향후 실제 스케줄 시간을 구하기 위한 시각 값으로 사용된다. 이는 <수학식 2>와 같이 표현될 수 있다.
Figure 112016059106316-pat00005
실제 스케줄 시간(AST)은 통지 메시지 스케줄 연계 링크의 스케줄 시간 노드 중에서 실제 통지 메시지가 전달되는 시간이다. 실제 스케줄 시간은 시간 변경이 이루어질 경우 현재의 기본 시간으로 설정되고, 시간 변경이 발생하지 않을 경우 예상 스케줄 시간이 실제 스케줄 시간이 된다.
이러한 과정은 <표 2>에서와 같이 나타낼 수 있다.
Figure 112016059106316-pat00006
톨러런스 비율(혹은 시간 변경률)은 통지 메시지 스케줄 연계 링크 목록의 스케줄 시간 노드에서 예상 스케줄 시간으로부터 기본 시간까지 시간을 최대 간격으로 나눈 백분율로서 0~100%로 표현된다. 톨러런스 비율은 <수학식 3>과 같이 나타낼 수 있다.
Figure 112016059106316-pat00007
허용 톨러런스 비율은 시간 변경 실행을 결정하기 위한 기준 값을 의미하며, 각 사용자 어플리케이션의 현재 시점의 톨러런스 비율이 허용 톨러런스 비율 이내인 경우 시간 변경을 수행한다. 허용 톨러런스 비율은 사물(120)의 특성에 따라서 프락시에서 일괄적으로 설정되어 모든 사용자 어플리케이션의 시간 변경을 위한 기본 값으로 사용된다. 하지만, 간격의 톨러런스(tolerance)에 민감한 사용자 어플리케이션의 경우 별도의 요청을 통해 해당 사용자 어플리케이션에서만 사용되는 고객 허용 톨러런스 비율을 사용할 수 있다. 이러한 과정은 <표 3>에서와 같이 나타낼 수 있다.
Figure 112016059106316-pat00008
프락시는 사용자 어플리케이션에게 제공할 통지 메시지들의 전송 시간을 관리하기 위한 구조체인 통지 메시지 스케줄 연계 목록을 갖는다.
도 6은 통지 메시지 스케줄 연계 목록을 예시하여 나타낸 도면으로서, 도 6에서와 같이 통지 메시지 스케줄 연계 목록은 사물의 리소스를 식별할 수 있는 정보를 포함하는 리소스 노드를 갖는다. 이를 기준으로 리소스에 등록을 요청한 모든 사용자 어플리케이션들의 이름과 통신에 사용될 정보, 최대 간격 정보를 포함하여 노드를 생성하고 리소스 노드에 연결한다. 1개 이상의 사용자 어플리케이션이 존재할 경우 기존에 존재하는 사용자 어플리케이션 노드에 새로운 사용자 어플리케이션 노드가 링크(link)로 추가된다. 각 사용자 어플리케이션 노드는 사용자 어플리케이션에 통지를 제공할 시간 정보를 가지는 스케줄 시간 노드를 갖는다. 현재와 실제 스케줄 시간이 동일하거나 이전인 경우 통지 메시지를 사용자 어플리케이션에 전송한다.
도 7은 첫번째 스케줄 시간을 결정하는 과정을 설명하기 위한 도면으로, 새로운 사용자 어플리케이션이 통지 메시지 스케줄 링크 목록에 추가될 경우, 해당 사용자 어플리케이션에 최초의 통지 메시지를 전달하기 위한 초기 시간 값을 설정해야 하는데, 기존의 사용자 어플리케이션들의 스케줄 시간을 고려하여 사물의 트래픽을 감소할 수 있다.
USER#New가 새로 추가될 경우 최초 스케줄 시간의 값은 아래의 순서대로 결정된다.
(1) USER#New와 동일한 최대 간격을 가진 USER#A가 존재할 경우, USER#New의 예상 스케줄 시간을 실제 스케줄 시간값으로 설정한다.
(2) USER#New의 최대 간격의 배수가 되는 최대 간격을 가진 USER#A가 존재할 경우, USER#New의 예상 스케줄 시간을 실제 스케줄 시간값으로 설정한다.
(3) USER#New의 예상 스케줄 시간을 기본 시간값으로 설정한다.
도 7에서 볼 때, 기본 시간이 7200ms이고 USER#1, USER#2 그리고 USER#3의 최대 간격이 각각 1000ms, 800ms, 1600ms인 경우, 최대 간격이 800ms USER#New 가 새로 추가된다면 USER#New의 예상 스케줄 시간은 동일한 최대 간격을 가진 USER#2의 실제 스케줄 시간으로 설정된다. USER#2가 존재하지 않는다면, USER#New의 예상 스케줄 시간은 USER#2 최대 간격의 2배수 최대 간격인 1600ms을 가진 USER#3의 예상 스케줄 시간으로 설정된다. USER#3가 존재하지 않는다면, USER#New의 예상 스케줄 시간은 기본 시간으로 설정된다.
도 8은 본 개시의 실시예에 따른 스케줄 시간 변경을 설명하기 위한 도면으로, 프락시는 통지 전달 시간을 시간 슬라이스(time slice) 간격으로 통지 메시지 스케줄 연계 목록의 스케줄 시간 노드를 관찰하고, 현재 시간에 해당하는 최신 정보로 스케줄 시간 노드를 갱신한다. 시간 변경은 사용자 어플리케이션의 톨러런스 비율이 허용 톨러런스 비율 이내인 경우에만 최대 간격을 준수하기 위하여 시간의 역방향으로만 발생할 수 있다.
도 8에서 현재는 7800ms이고, 현재로부터 가장 가까운 미래의 모든 사용자 어플리케이션의 예상 스케줄 시간인 8000ms이 기본 시간이 된다. USER#2의 예상 스케줄 시간은 8200ms이지만, 톨러런스 비율이 16.7%로 허용 톨러런스 비율 20% 이하이므로 시간 변경을 수행하고 실제 스케줄 시간은 8000ms가 된다. USER#3은 USER#2와 동일한 예상 스케줄 시간인 8200ms이지만, 톨러런스 비율이 25%로 허용 톨러런스 비율인 20%를 초과하므로 실제 스케줄 시간은 예상 스케줄 시간과 같다.
도 9 내지 도 12는 본 개시의 실시예에 따른 에포크 분석을 설명하기 위한 도면이다.
간격 톨러런스 리소스 모니터링 방법은 허용된 범위 내에서 스케줄 시간 변경을 통해 사물의 트래픽을 감소하는 방법으로, 일정시간 동안의 사물의 트래픽과 분포 특성에 대한 분석이 필요하다. 본 개시의 실시예에서는 이러한 분석을 위한 시간적 공간을 에포크라 정의한다. 또한, 에포크는 시스템의 런 타임(Run-time) 즉 실행시간 중 트래픽 분석과 스케줄링을 위한 시간 공간을 분리시켜, 연산으로 인한 시스템 부하로 인해 전송 시간 지연 발생을 방지하는 효과도 제공할 수 있다.
에포크를 간략히 소개하면, 모든 사용자 어플리케이션이 각각의 최대 간격을 이용하여 통지 메시지의 발송 시점을 결정할 경우, 모든 사용자 어플리케이션의 실제 스케줄 시간은 일정 시간 이후부터 동일한 실제 스케줄 시간들의 집합으로 반복하게 된다. 에포크의 사전적 의미는 시간적으로 구분되는 기간이라는 의미를 가지는데, 본 개시의 실시예에서는 이러한 실제 스케줄 시간 집합의 반복이 시작되는 시점부터 종료되는 시점까지의 시간적 공간을 에포크로 사용한다. 에포크의 크기는 에포크 시간의 길이를 의미한다. 간격 톨러런스 리소스 모니터링 방법의 트래픽 분석과 분포 분석에서는 모든 사용자 어플리케이션의 실제 스케줄 시간이 동일한 시점을 에포크의 시작으로, 에포크 시작 이후의 첫 번째 모든 사용자 어플리케이션의 스케줄 시간이 동일한 시간을 에포크의 종료로 사용하였다. 에포크 시작 위치에 존재하는 실제 스케줄 시간은 이전 서비스 시간으로 설정하고 분석에는 포함하지 않는다.
도 9는 허용 톨러런스 비율이 0%인 경우의 간격 톨러런스 리소스 모니터링 방법의 에포크를 나타내고 있다. USER#1, USER#2, USER#3들은 각 사용자 어플리케이션의 최대 간격인 400ms, 600ms, 500ms 간격으로 각각 통지 메시지를 수신한다. 프락시는 USER#1에게 15회, USER#2에게 10회, USER#3에게는 12회의 통지 메시지가 전달되고, 이 경우 사물은 27회의 메시지를 프락시에 전달하게 된다.
에포크의 시작은 10000ms, 에포크의 종료는 16000ms이고 이 경우 에포크 크기는 6000ms가 된다. 허용 톨러런스 비율이 0%인 상태에서 시간 변경이 발생하지 않으므로, 에포크 크기는 사용자 어플리케이션의 최대 간격들의 최소공배수인 6000ms와 같다. 이는 <수학식 4>에서와 같이 표현할 수 있다.
Figure 112016059106316-pat00009
허용 톨러런스 비율이 0%인 상태에서, 사용자 어플리케이션의 개수가 증가하면서 사용자 어플리케이션들의 모든 최대 간격의 최소공배수가 급격히 증가함에 따라 에포크의 길이 또한 증가하게 된다. 이 경우 시스템이 런-타임 중에 통지 메시지의 스케줄링 연산과 분석에 부하가 발생하게 되면 예상되지 못한 메시지 전송 지연이 발생할 수 있다.
간격 톨러런스 리소스 모니터링 방법은 예상 스케줄 시간의 시간 변경을 통해 실제 스케줄 시간을 구하게 되므로, 동적인 시간 변경으로 인한 에포크의 변형이 발생할 수 있다. 이러한 변형은 허용 톨러런스 비율의 영향을 받게 된다.
도 10은 허용 톨러런스 비율이 20%인 경우의 간격 톨러런스 리소스 모니터링방법의 에포크를 나타낸다. USER#1, USER#2, USER#3들은 각 사용자 어플리케이션의 최대 간격인 400ms, 600ms, 500ms 간격으로 각각 통지 메시지를 수신한다. 프락시는 USER#1에게 3회, USER#2에게 2회, USER#3에게는 3회의 통지 메시지가 전달된다. 하지만, USER#3의 경우 스케줄 시간 변경이 3회 발생하였다. 사물의 에포크에서 총 메시지는 4회 발생하였다.
에포크 시작은 10000ms, 에포크의 종료는 11200ms 시점이고 에포크의 크기는 1200ms이다. 에포크 크기의 경우 허용 톨러런스 비율 0%인 경우 대비 4800ms 줄어드는 것을 확인할 수 있다.
도 11은 허용 톨러런스 비율에 따른 에포크 크기를 보여준다. 4개의 사용자 어플리케이션이 각각 700ms, 900ms, 1000ms, 1100m의 최대 간격을 가진 조건에서 허용 톨러런스 비율에 따른 에포크 크기를 보여준다.
허용 톨러런스 비율이 0%인 경우 에포크 크기는 693000ms로 모든 사용자 어플리케이션의 최대 간격의 최소공배수와 동일하다. 하지만, 허용 톨러런스 비율이 증가함에 따라 에포크 크기는 감소하는데, 모든 사용자 어플리케이션의 최대 간격 중에서 가장 작은 값으로 수렴하게 된다. 이는 <수학식 5>에서와 같이 나타낼 수 있다.
Figure 112016059106316-pat00010
계속해서, 허용 톨러런스 비율과 트래픽에 대하여 살펴본다.
간격 톨러런트 리소스 모니터링 방법은 허용 톨러런스 비율 내에서 시간 변경을 허용하여 사물의 트래픽을 감소시킨다. 사물의 트래픽은 시간당 메시지 개수로 정의한다. 허용 톨러런스 비율이 시간당 사물의 메시지 수에 미치는 영향을 분석한다. 이는 <수학식 6>과 같이 표현될 수 있다.
Figure 112016059106316-pat00011
도 12는 4개의 사용자 어플리케이션이 각각 700ms, 900ms, 1000ms, 1100ms 의 최대 간격을 가진 조건에서 허용 톨러런스 비율에 따른 사물들의 1초당 메시지 개수(Messages Per Second)를 보여준다.
도 12에서 허용 톨러런스 비율이 0%인 경우 초당 메시지 개수는 3.77(Messages/Second)이고 693000ms 동안 2610개의 메시지가 발생하였다. 허용 톨러런스 비율이 증가함에 따라 트래픽은 감소하지만, 사용자 어플리케이션의 최대 간격의 가장 작은 값으로 1초를 나눈 값으로 수렴한다. 이는 <수학식 7>과 같다.
Figure 112016059106316-pat00012
이제, 사물인터넷의 메시지 교환 방법들의 시간 도메인에서의 메시지 분포 특징을 파악하고, 간격 톨러런스 리소스 모니터링 방법의 사용자 어플리케이션의 개수에 따른 메시지 감소 효과에 대해서 살펴본다.
도 13 내지 도 15는 본 개시의 실시예에 따른 실험 결과를 설명하기 위한 도면이다.
간격 톨러런트 리소스 모니터링 방법은 도 13에서와 같이 사용자 어플리케이션, 프락시, 사물로 구성되며, 프락시는 최대 간격과 허용 톨러런스 비율을 이용하여 통지 메시지의 전송 시간을 스케줄링하게 된다.
도 14는 10개의 사용자 어플리케이션이 각각 800ms, 1300ms, 900ms, 1800ms, 1400ms, 2300ms, 1900ms, 2800ms. 2400ms, 2900ms의 최대 에이지(Max-Age)를 가지는 조건에서 허용 톨러런스 비율 20%인 경우의 리소스 상태 정보 메시지를 수신한 시간을 나타낸다.
각각의 사용자 어플리케이션에서 수신한 모든 리소스 상태 정보 메시지는 87개이고 사물이 프락시에 전달한 메시지 개수는 14개이므로 73개의 메시지가 감소되었다. 이는 허용된 범위 내에서 시간 변경을 수행하여 사용자 어플리케이션의 통지 발생 시간의 지역성을 높인 효과로 보여진다.
사물의 메시지 트래픽 감소량을 측정하기 위한 방법으로, 사용자 어플리케이션에서 수신한 리소스 상태 정보 메시지 개수 대비 사물에서 감소된 리소스 상태 정보 메시지 개수를 이용하여 메시지 감소량(Message Reduction Rate)을 구한다. 단위는 높을수록 메시지의 감소 효과가 크다. 감소 비율은 <수학식 8>과 같이 나타낼 수 있다.
Figure 112016059106316-pat00013
도 15는 사용자 어플리케이션의 개수가 증가할 경우, 간격 톨러런스 리소스 모니터링 방법(허용 톨러런스 비율 20%)의 메시지 감소율을 나타낸다.
메시지 감소량은 사용자 어플리케이션이 증가함에 따라 증가하는 것으로 나타났다. 10개의 사용자 어플리케이션의 조건에서, 간격 톨러런트 리소스 모니터링 방법은 약 70.22%의 메시지 감소 효과가 있었다. 사용자 어플리케이션의 개수가 증가함에 따라 메시지 감소량의 증가 폭은 점차 둔화되는 것으로 나타난다.
지금까지 본 개시의 실시예에 따라 사물인터넷 환경의 사물의 간격 톨러런트한 리소스 관찰 방법과 에포크를 이용한 트래픽 분석 방법을 살펴보았다. 간격 톨러런트한 리소스 관찰 방법은 제약된 성능을 가진 사물의 배터리 사용 시간을 증가시키고 병목현상으로 인한 응답 지연 문제를 개선하기 위해 사물의 트래픽을 줄이는 것을 목적으로 하였다. 이 방법은 10개의 사용자 어플리케이션이 연결되고 허용 톨러런스 비율이 20%인 조건에서 상당수 트래픽을 감소시켰다.
프락시는 간격 톨러런트 스케줄을 런 타임 중에 수행하는데, 시간적 경계를 구분하고 부하를 발생할 수 있는 연산을 줄이기 위해 에포크 분석을 사용하였다. 허용 톨러런스 비율이 증가함에 따라 에포크의 크기는 줄어들어 스케줄 연산으로 인한 부하를 감소시킬 수 있었고, 시간당 메시지의 수도 감소되었다.
간격 톨러런트 방법은 어플리케이션 프로토콜로서 네트워크 종류와 시스템 환경에 관계없이 쉽게 구현 및 적용 가능한 장점이 있다. 프락시는 메시지 스케줄을 사용하여, 연속된 프락시에 적용할 수 있을 것으로 예상된다. 사물의 리소스 상태의 변경 빈도가 사용자 어플리케이션이 요구하는 리소스 상태의 빈도의 평균보다 작은 경우, 프락시는 리소스를 관찰할 경우 트래픽 감소 효과를 극대화할 수 있다.
도 16은 본 개시의 실시예에 따른 리소스 정보 처리 과정을 나타내는 도면이다.
도 16에 도시된 바와 같이, 본 개시의 실시예에 따른 사용자장치(1600)는 사물인터넷 환경에서 사물의 리소스 정보를 반복해서 수신하기 위한 어플리케이션을 포함할 수 있다. 서드파티업체에서 제공하는 이러한 어플리케이션은 본 개시의 실시예에 따른 최대 시간간격 정보를 가질 수 있다(S1600). 물론 이러한 최대 시간간격 정보는 어플리케이션의 제작시 디폴트로 설정될 수 있지만, 사용자가 사용자장치(1600)에 표시되는 UI 화면에서 인터페이스를 통해 설정하는 것도 얼마든지 가능하므로 위의 내용에 특별히 한정하지는 않을 것이다.
사용자장치(1600)는 리소스 정보를 요청하는 초기에, 최대 시간간격 정보를 전송하여 등록을 요청할 수 있다(S1610). 물론 이의 과정에서 사용자장치(1600)의 장치 정보(ex. 장치 ID 등) 등이 함께 전송될 수 있을 것이다.
그러면, 프락시(1610)는 수신된 최대 시간간격 정보를 근거로 유효 여부를 판단할 수 있다(S1620). 여기서, 유효 여부는 등록 과정이 정상적으로 수행되었는지를 의미할 수 있다. 만약 유효 여부를 판단하여 성공적이면, 프락시(1610)는 사용자장치(1600)로 OK 응답을 전송할 수 있고, 실패하면 재시도를 요청할 수 있다.
만약 성공적이면, 프락시(1610)는 메시지 스케줄링을 동작을 수행한다(S1630). 여기서, 스케줄링 동작은 초기에 최대 시간간격 정보가 수신되면, 수신한 시간간격 정보에 근거한 시간 간격과 일치하거나 상관관계(ex. 최소공배수, 최대공약수 등)에 있는 시간간격 정보가 있는지 판단하여, 해당 시간간격과 일치시키는 것을 포함할 수 있다.
이어 프락시(1610)는 스케줄링을 통해 리소스 정보를 가령 메시지의 형태로서 사용자장치(1600)로 전송한다(S1640).
이에 따라, 사용자장치(1600)는 기존 정보를 수신한 리소스 정보로 갱신하게 된다(S1650).
도 17은 본 개시의 실시예에 따른 사용자장치의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 17을 도 16과 함께 참조하면, 사용자장치(1600)는 가령 사용자 인터페이스를 통해 최대 시간간격을 설정할 수 있다(S1700). 물론 이는 어플리케이션에 기설정될 수 있다.
이어 사용자장치(1600)는 도 16의 프락시(1610)로 리소스 정보를 요청하면서 최대 시간간격 정보를 전송하여 등록을 요청한다(S1710). 이의 과정에서 사용자장치(1600)의 장치 ID가 함께 전송될 수 있다.
등록 요청에 대하여 프락시(1610)로부터 실패 응답이 있으면, 사용자장치(1600)는 등록을 재요청할 수 있다(S1720).
재시도 후, 등록이 성공적이면 이후 사용자장치(1600)는 프락시(1610)가 제공하는 리소스 정보를 수신하여 기저장된 리소스 정보를 갱신하게 된다(S1730).
도 18은 본 개시의 제1 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 18을 도 16과 함께 참조하면, 본 개시의 실시예에 따른 프락시(1610)는 사용자장치(1600)로부터 등록 요청을 수신한다(S1800). 이때 등록 요청은 사물인터넷 환경에서 사물의 리소스 정보에 대한 요청이며, 이러한 등록 요청시 사용자장치(1600)는 반복해서 리소스 정보를 수신하기 위한 시간간격에 관련된 최대 시간간격 정보를 전송한다. 물론 이의 과정에서 사용자장치(1600)는 장치 정보도 함께 전송할 수 있다.
그러면, 프락시(1610)는 수신된 등록 요청에 따라 정상적으로 등록이 이루어졌는지를 판단한다(S1810).
정상적이면, OK 응답을 전송하고, 실패하면 실패 응답을 사용자장치(1600)로 전송한다(S1820, S1830).
이후, 메시지 스케줄을 시작하여 사용자장치(1600)에 대한 스케줄 시간이 도래하면, 해당 시간에 리소스 정보를 사용자장치(1600)로 전송해 준다(S1850, S1860). 이러한 과정에서, 프락시(1610)는 앞서 충분히 설명한 바와 같이 허용 톨러런스 비율 내에서 시간 변경을 허용하여 사물의 트래픽, 즉 시간당 처리되는 메시지의 개수를 감소시킬 수 있을 것이다.
도 19는 본 개시의 제2 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 19를 도 16과 함께 참조하면, 본 개시의 실시예에 따른 프락시(1610)는 사물 즉 전자장치의 리소스 정보를 반복해서 수신하기 위한 허용 가능 범위를 나타내는 제1 시간간격 정보를 제1 사용자장치로부터 수신할 수 있다(S1900).
프락시(1610)는 수신한 제1 시간간격 정보에 근거한 시간 간격으로 반복해서 리소스 정보를 제1 사용자장치로 제공할 수 있을 것이다.
이러한 과정에서, 제2 사용자장치에서 가령 제1 사용자장치와 동일 리소스 정보를 수신하기 위해 제2 시간간격 정보를 제공하면, 프락시(1610)는 수신한 제2 시간간격 정보에 근거한 시간 간격을 변경하여 제2 사용자장치로 리소스 정보를 제공한다(S1910). 시간 간격의 변경은 허용된 톨러런스 비율 내에서 이루어진다.
물론 이러한 과정에 앞서 프락시(1610)는 제2 사용자장치가 등록을 요청하면 요청시 제공하는 제2 시간간격 정보를 기수신된 제1 시간간격 정보와 비교하여 시간 간격이 서로 일치하는지 또는 어떠한 상관관계에 있는지 등을 판단할 수 있다.
만약 일치하거나 상관관계가 없다면 해당 제2 시간간격을 메시지 전송 시간으로 설정할 것이다. 그러나, 일치하거나 상관관계가 있다면 프락시(1610)는 요청한 시간간격을 허용된 범위 내에서 변경하여 리소스 정보를 제공할 수 있다. 가령 일치하면 제1 시간간격과 일치하는 시간간격으로 리소스 정보를 전송할 수 있다.
시간이 다를 때 메시지가 각 사용자장치로 전송되었다면, 상기에서는 서로 다른 사용자장치가 동일 시간간격으로 메시지를 수신하게 되고, 또 사물로부터 제공받는 리소스 정보의 메시지 수가 감소하므로 제약적인 사물의 트래픽은 감소하게 된다. 그 결과, 배터리의 사용 시간은 증가되고, 아울러 병목으로 인한 응답 지연 현상은 개선될 수 있을 것이다.
도 20은 본 개시의 제3 실시예에 따른 프락시의 구동 과정을 나타내는 흐름도이다.
설명의 편의상 도 20을 도 16과 함께 참조하면, 본 개시의 실시예에 따른 프락시(1610)는 전자장치 즉 사물의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신한다(S2000). 여기서, 제1 요청 신호는 앞서 언급한 대로 등록 요청을 위한 신호이고, 시간 간격, 리소스 식별 및 사용자 ID 정보를 포함할 수 있을 것이다.
또한, 프락시(1610)는 수신된 제1 시간간격마다 제1 사용자장치로 리소스 정보를 반복적으로 제공할 수 있다(S2010).
이의 과정에서, 제2 사용자장치로부터 제2 요청 신호가 수신되면, 프락시(1610)는 스케줄링 동작을 수행하여 최초 리소스 정보를 전송하기 위한 시간을 결정하며, 이때 제1 시간간격과 일치하는지 최소공배수 또는 최대공약수와 같은 관계에 있는지를 판단할 수 있다. 그리고, 판단 결과에 근거하여 제2 사용자장치로 리소스 정보를 제공하게 된다. 여기서, 제2 요청 신호 또한 시간 간격, 리소스 식별 및 사용자 ID 정보를 포함한다.
또한, 제1 시간간격이 도래할 때, 프락시(1610)는 제2 사용자장치로 리소스 정보를 전송하기 위해 제2 시간간격의 시간변경이 가능한지 판단하게 되는데, 시간 변경률이 허용된 범위 내에 있을 때, 제1 시간간격으로 결정된 시간에 리소스 정보를 전송하게 된다. 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
한편, 본 개시의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 개시의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 개시의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 사용자장치 110: 통신망
120: 전자장치 200, 300: 통신 인터페이스부
210: 자원 처리부 310: 제어부
320: 저장부 330: 모니터링 실행부
400: 프로세서 410: 메모리

Claims (14)

  1. 리소스정보 제공장치의 리소스정보 제공방법에 있어서,
    전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 단계;
    상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하는 단계;
    상기 리소스 정보를 반복해서 수신하기 위해 허용되는 제2 시간간격이 포함된 제2 요청 신호를 제2 사용자 장치로부터 수신하는 단계; 및
    상기 제1 시간간격 및 상기 제2 시간간격을 기초로 결정되는 시간에 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치로 상기 리소스 정보를 제공하는 단계;를 포함하며,
    상기 리소스정보 제공장치는, 상기 전자장치와 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치 사이의 통신 경로 상에 위치하는 중계 장치인, 리소스정보 제공방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제1 시간간격 및 상기 제2 시간간격은 상기 제1 사용자장치 및 상기 제2 사용자장치에 포함되는 어플리케이션에 디폴트(default)로 설정되거나, 화면에 표시되는 UI 화면상에서 사용자에 의해 설정 가능한 리소스정보 제공방법.
  4. 제1항에 있어서,
    상기 리소스 정보를 제공하는 단계는,
    상기 제2 시간간격을 변경하여 상기 제1 시간간격의 시간에 상기 리소스 정보를 상기 제2 사용자장치로 전송 가능한지 판단하는 단계; 및
    판단 결과 전송 가능할 때 상기 리소스 정보를 상기 제2 사용자 장치로 전송하는 단계;를
    포함하는 리소스정보 제공방법.
  5. 제4항에 있어서,
    상기 판단하는 단계는,
    상기 제1 시간간격과 상기 제2 시간간격이 서로 일치하거나 최소공배수 또는 최대공약수의 관계에 있는지 또는 도래하는 상기 제1 시간간격의 현 시간(Base Time)을 기준으로 상기 제2 시간간격의 시간 변경률(Tolerance Ratio)이 기설정된 허용가능범위 내에 있는지를 판단하는 리소스정보 제공방법.
  6. 제5항에 있어서,
    상기 제2 시간간격의 시간 변경률은,
    Figure 112016059106316-pat00014

    (여기서, USERSchedTime은 메시지가 전송된 이전 스케줄 시간 + 제2 시간간격)
    의 관계식에 의해 결정되는 리소스정보 제공방법.
  7. 전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하고, 상기 리소스 정보를 반복해서 수신하기 위해 허용되는 제2 시간간격이 포함된 제2 요청 신호를 제2 사용자장치로부터 수신하는 통신 인터페이스부; 및
    상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하도록 상기 통신 인터페이스부를 제어하고, 상기 제1 시간간격 및 상기 제2 시간간격을 기초로 결정되는 시간에 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치로 상기 리소스 정보를 제공하도록 상기 통신 인터페이스부를 제어하는 프로세서;를 포함하며,
    상기 전자장치와 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치 사이의 통신 경로 상에 위치하는 중계 장치인 리소스정보 제공장치.
  8. 삭제
  9. 제7항에 있어서,
    상기 제1 시간간격 및 상기 제2 시간간격은 상기 제1 사용자장치 및 상기 제2 사용자장치에 포함되는 어플리케이션에 디폴트(default)로 설정되거나, 화면에 표시되는 UI 화면상에서 사용자에 의해 설정 가능한 리소스정보 제공장치.
  10. 제9항에 있어서,
    상기 리소스정보 제공장치는, 서버, 상기 서버에 연결된 프락시 장치, 게이트웨이(gateway) 또는 허브(hub)를 포함하는 리소스정보 제공장치.
  11. 제7항에 있어서,
    상기 프로세서는 상기 제2 시간간격을 변경하여 상기 제1 시간간격의 시간에 상기 리소스 정보를 상기 제2 사용자장치로 전송 가능한지 판단하며, 판단 결과 전송 가능할 때 상기 리소스 정보를 상기 제2 사용자 장치로 전송하도록 상기 통신 인터페이스부를 제어하는 리소스정보 제공장치.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 프로세서는 전송 가능한지 판단하기 위해 상기 제1 시간간격과 상기 제2 시간간격이 서로 일치하거나 최소공배수 또는 최대공약수의 관계에 있는지 또는 도래하는 상기 제1 시간간격의 현 시간(Base Time)을 기준으로 상기 제2 시간간격의 시간 변경률(Tolerance Ratio)이 기설정된 허용가능범위 내에 있는지를 판단하는 리소스정보 제공장치.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제12항에 있어서,
    상기 프로세서는,
    Figure 112016059106316-pat00015

    (여기서, USERSchedTime은 메시지가 전송된 이전 스케줄 시간 + 제2 시간간격)
    의 관계식에 의해 상기 제2 시간간격의 시간 변경률을 결정하는 리소스정보 제공장치.
  14. 리소스정보 제공장치의 리소스정보 제공방법을 실행하기 위한 프로그램을 저장하는 컴퓨터 판독가능 기록매체에 있어서,
    상기 리소스정보 제공방법은,
    전자장치의 리소스 정보를 반복해서 수신하기 위해 허용되는 제1 시간간격이 포함된 제1 요청 신호를 제1 사용자장치로부터 수신하는 단계;
    상기 수신된 제1 시간간격마다 상기 제1 사용자장치로 상기 리소스 정보를 반복적으로 제공하는 단계;
    상기 리소스 정보를 반복해서 수신하기 위해 허용되는 제2 시간간격이 포함된 제2 요청 신호를 제2 사용자 장치로부터 수신하는 단계; 및
    상기 제1 시간간격 및 상기 제2 시간간격을 기초로 결정되는 시간에 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치로 상기 리소스 정보를 제공하는 단계;를 실행하며,
    상기 리소스정보 제공장치는, 상기 전자장치와 상기 제1 사용자장치 및 상기 제2 사용자장치 중 적어도 하나의 장치 사이의 통신 경로 상에 위치하는 중계 장치인, 컴퓨터 판독가능 기록매체.
KR1020160076519A 2016-06-20 2016-06-20 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체 KR102444858B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160076519A KR102444858B1 (ko) 2016-06-20 2016-06-20 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체
US16/311,350 US10856298B2 (en) 2016-06-20 2017-06-20 Resource information providing device, resource information providing method, and computer-readable recording medium
PCT/KR2017/006465 WO2017222276A1 (ko) 2016-06-20 2017-06-20 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160076519A KR102444858B1 (ko) 2016-06-20 2016-06-20 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체

Publications (2)

Publication Number Publication Date
KR20170142667A KR20170142667A (ko) 2017-12-28
KR102444858B1 true KR102444858B1 (ko) 2022-09-21

Family

ID=60784268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160076519A KR102444858B1 (ko) 2016-06-20 2016-06-20 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체

Country Status (3)

Country Link
US (1) US10856298B2 (ko)
KR (1) KR102444858B1 (ko)
WO (1) WO2017222276A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113141B2 (en) * 2017-08-04 2021-09-07 Nec Corporation Message input/output device, method, and recording medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160050180A1 (en) * 2013-11-14 2016-02-18 Broadcom Corporation Proxy device for a network of devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070443A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 사물통신 디바이스의 데이터 전송 방법 및 이를 이용하는 이동통신 시스템
US9326238B2 (en) * 2011-09-26 2016-04-26 Broadcom Corporation Smart meter media access control (MAC) for single user, multiple user, multiple access, and/or MIMO wireless communications
US9146603B2 (en) * 2012-05-08 2015-09-29 William Reber, Llc Cloud computing system, vehicle cloud processing device and methods for use therewith
KR20140003324A (ko) 2012-06-29 2014-01-09 주식회사 케이티 M2m 시스템에서 동적 보고 스케줄링을 구현하는 방법 및 장치
WO2014053887A1 (en) 2012-10-05 2014-04-10 Nokia Corporation Method for proxying communication between a content-centric network and an internet domain
KR102252617B1 (ko) * 2014-02-24 2021-05-17 삼성전자 주식회사 데이터 전송 방법 및 이를 구현하는 장치
KR101521616B1 (ko) 2014-02-24 2015-05-20 (주)헤리트 Iot 환경에서의 효율적인 보안전송을 위한 선택적 암호화 장치 및 방법
WO2015191937A1 (en) 2014-06-13 2015-12-17 Unifythings, Inc. Virtual gateway for a connected device
KR20160006915A (ko) 2014-07-10 2016-01-20 주식회사 올포스 사물인터넷 관리 방법 및 장치
KR101622040B1 (ko) 2014-10-06 2016-06-01 한양대학교 산학협력단 군용 IoT 워치와 이를 이용한 상황 대응 플랫폼 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160050180A1 (en) * 2013-11-14 2016-02-18 Broadcom Corporation Proxy device for a network of devices

Also Published As

Publication number Publication date
US20190200343A1 (en) 2019-06-27
KR20170142667A (ko) 2017-12-28
WO2017222276A1 (ko) 2017-12-28
US10856298B2 (en) 2020-12-01

Similar Documents

Publication Publication Date Title
EP3454587B1 (en) Channel plan determination
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
JP5698372B2 (ja) マシン間アプリケーションベース輻輳制御のシステム及び方法
CN107911487B (zh) 信息推送方法、装置、服务器及可读存储介质
KR102589503B1 (ko) 데이터 사용량을 공유 받는 공유 대상 장치를 설정하는 방법과, 이를 위한 전자 장치
JP6597935B2 (ja) 無線センサシステム、管理装置、通信制御方法および通信制御プログラム
US20150057766A1 (en) Communication device, control system, and communication method
US10321209B2 (en) Smart meter system communication methods
KR102444858B1 (ko) 리소스정보 제공장치, 리소스정보 제공방법 및 컴퓨터 판독가능 기록매체
US20130346959A1 (en) Terminal managing server device, terminal device, and terminal managing method
RU2711514C1 (ru) Администрирование управления потоком разбитого носителя 5g
US20160352577A1 (en) Multiple gateway virtualization
US9477736B2 (en) Apparatus and method for active and passive data gathering using stochastic model in control network
US11611467B2 (en) Enhanced management of network outages
CN111585817B (zh) 一种省电模式的切换方法及装置
US11528208B2 (en) Gateway, communication system, and communication method
US11323375B2 (en) Communication device, communication method, and computer readable medium
US11044116B2 (en) Management device, communication system, management method, and computer readable medium
CN116841619A (zh) 设备控制方法、装置、存储介质与电子设备
US9826386B2 (en) Configuring a machine-to-machine modem
KR101617995B1 (ko) 네트워크 장치 및 이를 이용한 네트워크 방법
JP7340377B2 (ja) 制御システム、制御装置および制御装置の制御方法
US20240102681A1 (en) Remote Monitoring of Heating, Ventilation, and Air Conditioning Devices
US10915611B2 (en) Control program execution method
US20160006802A1 (en) Data sharing system

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