KR20210101920A - 서버 장치 및 그의 제어 방법 - Google Patents

서버 장치 및 그의 제어 방법 Download PDF

Info

Publication number
KR20210101920A
KR20210101920A KR1020200016473A KR20200016473A KR20210101920A KR 20210101920 A KR20210101920 A KR 20210101920A KR 1020200016473 A KR1020200016473 A KR 1020200016473A KR 20200016473 A KR20200016473 A KR 20200016473A KR 20210101920 A KR20210101920 A KR 20210101920A
Authority
KR
South Korea
Prior art keywords
data
electronic device
time period
service
received
Prior art date
Application number
KR1020200016473A
Other languages
English (en)
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 KR1020200016473A priority Critical patent/KR20210101920A/ko
Priority to US17/162,488 priority patent/US11418607B2/en
Priority to PCT/KR2021/001386 priority patent/WO2021162321A1/ko
Publication of KR20210101920A publication Critical patent/KR20210101920A/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/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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/325
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 개시에서는 전자 장치 및 그 제어 방법이 제공된다. 본 개시의 IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치는, 통신 인터페이스 및 사용자 단말 장치에서 실행된 어플리케이션으로부터 서비스의 요청이 통신 인터페이스를 통해 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치를 판단하고, 서비스에 기초하여 전자 장치로부터 데이터를 수신하기 위한 시간 주기를 판단하고, 시간 주기에 따른 데이터의 전송 요청을 전자 장치로 전송하도록 통신 인터페이스를 제어하고, 전송 요청에 응답하여, 전자 장치로부터 데이터가 시간 주기 간격으로 통신 인터페이스를 통해 수신되면, 수신된 데이터에 기초하여 서비스를 제공하는 프로세서를 포함한다.

Description

서버 장치 및 그의 제어 방법 {SERVER APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 서버 장치 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 데이터의 업로드 주기를 제어하는 서버 장치 및 그의 제어 방법에 관한 것이다.
최근 사용자의 단말 장치를 통해 다양한 전자 장치의 동작을 제어하거나 다양한 전자 장치의 상태 정보 등을 제공하기 위해, 서버 장치를 통해 전자 장치의 데이터를 송수신하는 기술이 활용되고 있다.
일반적으로 전자 장치는 실시간으로 획득되는 데이터를 서버 장치에 업로드(upload)하고, 서버 장치는 사용자 계정 별 데이터를 관리하고 사용자의 단말 장치로 데이터를 전송할 수 있다. 그리고, 단말 장치는 전자 장치의 상태 정보 등을 표시함으로써 사용자에게 정보를 제공하거나, 전자 장치의 데이터를 활용하여 특정한 서비스를 수행할 수 있다.
다만, 전자 장치에서 데이터 중에서 사용 용도가 분명하지 않은 데이터까지 서버 장치에 업로드하는 경우에 서버 장치의 트래픽을 초래하고, 사용되지 않는 데이터가 서버 장치에 축적된다는 문제가 있다. 또한, 점차적으로 서버 장치를 이용하는 전자 장치의 수가 증가하는 추세에 따르면, 서버로 업로드되는 데이터의 양 또한 증가하게 되어 서버의 통신 부하 또한 급속도로 증가하게 된다는 문제가 있다.
또한, 이와 같은 문제는 서버의 증축을 불가피하게 만들어 제조사 또는 서비스 제공자의 관리 비용을 상승시키게 되는 문제가 있다.
본 개시는 상술한 필요성에 의해 안출된 것으로, 본 개시의 목적은 데이터가 외부 장치로 효율적으로 전송되도록 하는 전자 장치 및 그의 제어 방법을 제공함에 있다.
상기 목적을 달성하기 위한, 본 개시의 일 실시 예에 따른 IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치는, 통신 인터페이스 및 사용자 단말 장치에서 실행된 어플리케이션으로부터 서비스의 요청이 통신 인터페이스를 통해 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치를 판단하고, 서비스에 기초하여 전자 장치로부터 데이터를 수신하기 위한 시간 주기를 판단하고, 시간 주기에 따른 데이터의 전송 요청을 전자 장치로 전송하도록 통신 인터페이스를 제어하고, 전송 요청에 응답하여, 전자 장치로부터 데이터가 시간 주기 간격으로 통신 인터페이스를 통해 수신되면, 수신된 데이터에 기초하여 서비스를 제공하는 프로세서를 포함한다.
여기에서, 시간 주기는 전자 장치가 획득한 데이터를 서버 장치로 전송한 이후, 전자 장치가 획득한 데이터를 서버 장치로 재차 전송하는 시간 간격을 포함하고, 전자 장치는 데이터의 전송 요청이 수신되면, 전자 장치가 획득한 데이터를 서버 장치로 전송하고, 시간 주기가 경과된 시점에서 전자 장치가 획득한 데이터를 서버 장치로 전송할 수 있다.
한편, 데이터는 전자 장치에서 획득한 전자 장치의 상태에 대한 데이터 및 전자 장치에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함할 수 있다.
한편, 시간 주기는 서비스에 따라 기설정되어 있을 수 있다.
여기에서, 프로세서는 요청된 서비스가 제1 서비스인 경우, 전자 장치가 데이터를 서버 장치로 전송할 시간 주기가 제1 시간 주기인 것으로 판단하고, 요청된 서비스가 제2 서비스인 경우, 전자 장치가 데이터를 서버 장치로 전송할 시간 주기가 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단할 수 있다.
한편, 프로세서는 서비스의 제공이 완료되거나, 사용자 단말 장치로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 데이터의 전송 중단 요청을 통신 인터페이스를 통해 전자 장치로 전송할 수 있다.
한편, 프로세서는 서비스의 제공이 완료되거나, 사용자 단말 장치로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 시간 주기의 시간 간격을 증가시킬 수 있다.
한편, 프로세서는 기설정된 기간 동안 통신 인터페이스를 통해 수신된 서비스가 요청된 횟수에 기초하여 시간 주기를 판단할 수 있다.
한편, 프로세서는, 통신 인터페이스를 통해 수신된 요청에 대응되는 데이터의 포맷 및 데이터의 크기 중 적어도 하나에 기초하여 시간 주기를 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따른 IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치의 제어 방법에 있어서, 사용자 단말 장치에서 실행된 어플리케이션으로부터 서비스의 요청이 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치를 판단하는 단계, 서비스에 기초하여 전자 장치로부터 데이터를 수신하기 위한 시간 주기를 판단하는 단계, 시간 주기에 따른 데이터의 전송 요청을 전자 장치로 전송하는 단계 및 전송 요청에 응답하여, 전자 장치로부터 데이터가 시간 주기 간격으로 수신되면, 수신된 데이터에 기초하여 서비스를 제공하는 단계를 포함한다.
여기에서, 시간 주기는 전자 장치가 획득한 데이터를 서버 장치로 전송한 이후, 전자 장치가 획득한 데이터를 서버 장치로 재차 전송하는 시간 간격을 포함하고, 전자 장치는 데이터의 전송 요청이 수신되면, 전자 장치가 획득한 데이터를 서버 장치로 전송하고, 시간 주기가 경과된 시점에서 전자 장치가 획득한 데이터를 서버 장치로 전송할 수 있다.
한편, 데이터는 전자 장치에서 획득한 전자 장치의 상태에 대한 데이터 및 전자 장치에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함할 수 있다.
한편, 시간 주기는 서비스에 따라 기설정되어 있을 수 있다.
여기에서, 시간 주기를 판단하는 단계는 요청된 서비스가 제1 서비스인 경우, 전자 장치가 데이터를 서버 장치로 전송할 시간 주기가 제1 시간 주기인 것으로 판단하는 단계, 및 요청된 서비스가 제2 서비스인 경우, 전자 장치가 데이터를 서버 장치로 전송할 시간 주기가 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단하는 단계를 포함할 수 있다.
한편, 서비스의 제공이 완료되거나, 사용자 단말 장치로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 데이터의 전송 중단 요청을 전자 장치로 전송하는 단계를 더 포함할 수 있다.
한편, 시간 주기를 판단하는 단계는 서비스의 제공이 완료되거나, 사용자 단말 장치로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 시간 주기의 시간 간격을 증가시키는 단계를 더 포함할 수 있다.
한편, 시간 주기를 판단하는 단계는 기설정된 기간 동안 수신된 서비스가 요청된 횟수에 기초하여 시간 주기를 판단할 수 있다.
한편, 시간 주기를 판단하는 단계는 수신된 요청에 대응되는 데이터의 포맷 및 데이터의 크기 중 적어도 하나에 기초하여 시간 주기를 판단할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 데이터가 외부 장치로 효율적으로 전송되도록 하는 전자 장치 및 그의 제어 방법을 제공할 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치의 데이터가 외부 장치로 무분별하게 전송되는 것을 방지하고, 이에 따른 트래픽 발생을 최소화할 수 있다. 또한, 제조사의 서버 관리 비용을 저감할 수 있으며, 서버 감축의 기회를 제공할 수 있다. 이와 함께 사용자에게 seamless한 IoT 경험을 제공할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 시스템을 설명하기 위한 도면이다.
도 2a는 본 개시의 일 실시 예에 따른 서버 장치의 블록도이다.
도 2b는 본 개시의 일 실시 예에 따른 서버 장치의 부가적인 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 시간 주기를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 전송 기간을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치가 등록되는 과정을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 서비스를 수행하는 과정을 설명하기 위한 도면이다.
도 7a는 본 개시의 일 실시 예에 따른 시간 주기를 설명하기 위한 도면이다.
도 7b는 본 개시의 일 실시 예에 따른 시간 주기를 설명하기 위한 도면이다.
도 8a는 본 개시의 일 실시 예에 따른 전자 장치의 블록도이다.
도 8b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 구성을 설명하기 위한 블록도이다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 동작을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 흐름도를 설명하기 위한 도면이다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 상기 구성요소들을 한정하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 상기 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 상기 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 개시의 일 실시 예에 따른 시스템(1)은 서버 장치(100) 및 전자 장치(200A, 200B)를 포함할 수 있다.
서버 장치(100)는 외부 장치의 데이터를 수집하고 처리하는 전자 장치를 지칭할 수 있다. 예를 들어, 서버 장치(100)는 클라우드 서버 등과 같이 서버 전용의 기능을 수행하는 장치 뿐만 아니라, 다른 기능과 함께 서버의 기능을 수행할 수 있는 스마트폰, 태블릿, 웨어러블 장치, PC, 스마트 TV, 스마트 스피커, 인공지능 스피커, 공기조화장치, 냉장고 등 다양한 전자 장치로 구현될 수도 있다. 다만, 이는 일 실시 예일 뿐이며, 서버 장치(100)는 이에 열거되지 않은 다양한 종류의 전자 장치로 구현되는 것 또한 가능하다. 또한, 서버 장치(100)는 하나의 장치로 구현되거나, 또는 복수의 장치로 구성되는 집합체로 구현될 수 있다.
서버 장치(100)는 전자 장치(200A, 200B)와 데이터를 송수신할 수 있다. 이를 위해, 서버 장치(100)는 전자 장치(200A, 200B)와 다양한 통신 방식을 통해 네트워크로 연결될 수 있다. 예를 들어, 서버 장치(100)는 전자 장치(200A, 200B)로부터 데이터를 수신하거나, 전자 장치(200A, 200B)로 데이터를 전송할 수 있다.
또한, 서버 장치(100)는 전자 장치(200A, 200B)를 사용자의 계정에 등록하여, 사용자의 계정에 등록된 전자 장치(200A, 200B) 간 데이터를 공유할 수 있다. 즉, 서버 장치(100)는 전자 장치(200A)의 데이터를 수신하고, 수신된 데이터를 다른 전자 장치(200B)로 전송할 수 있다. 또한, 서버 장치(100)는 이와 반대의 방향으로도 데이터를 전송할 수 있음은 물론이다.
전자 장치(200A, 200B)는 IoT를 구성하는 전자 장치(200A) 및 사용자 단말 장치(200B)를 포함할 수 있다. 여기서, IoT(Internet of Things)는 복수의 전자 장치 중 어느 하나의 전자 장치가 다른 전자 장치와 데이터를 제공(또는 공유)하거나, 또는 다른 전자 장치를 제어할 수 있도록, 복수의 전자 장치가 네트워크(또는 인터넷)로 직접적으로 연결되거나 또는 간접적으로 연결된 상태를 의미할 수 있다.
여기서, IoT를 구성하는 전자 장치(200A) 및 사용자 단말 장치(200B)는 수행되는 역할에 따라 구분된 것으로, 사용자 단말 장치(200B)는 사용자 명령(예: 사용자의 터치 입력, 제스처 입력, 음성 입력, 키 입력 등)을 통해 IoT를 구성하는 복수의 전자 장치 중에서 전자 장치(200A)를 제어하거나, 전자 장치(200A)로부터 수신된 데이터를 통해 특정한 서비스를 수행할 수 있는 장치를 의미한다. 이 경우, 사용자 단말 장치(200B)는 IoT를 구성하는 복수의 전자 장치 중에서 어느 하나의 전자 장치일 수도 있다. 이하에서는 설명의 편의를 위해, 서버 장치(100)를 통해 데이터를 사용자 단말 장치(200B)로 전송하는 장치는 전자 장치(200A)라고 하고, 전자 장치(200A)로부터 수신된 데이터를 활용하여 사용자에게 특정한 서비스를 제공하는 장치는 사용자 단말 장치(200B) 장치라고 지칭하기로 한다.
한편, 전자 장치(200A, 200B)는 스마트폰, 태블릿, 로봇, 컴퓨터(Computer), 스마트 TV, 스마트 스피커, 인공지능 스피커, 공기조화장치, 냉장고, DVD(digital video disk) 플레이어, 오디오, 로봇 청소기, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync, 애플TV, 또는 구글 TV), 게임 콘솔(예: Xbox, PlayStation), 의료기기, 차량, 전자 사전, 캠코더(camcorder), 전자 액자, 상점의 POS(point of sales), 다양한 사물 인터넷 장치(internet of things)(예: 전구, 조명, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등), 또는 웨어러블 장치(wearable device) 중 적어도 하나로 구현될 수 있다. 다만, 이는 일 실시 예일 뿐이며, 전자 장치(200A, 200B)는 이에 열거되지 않은 다양한 종류의 전자 장치로 구현되는 것 또한 가능하다.
전자 장치(200A)는 서버 장치(100)와 연결되는 시스템(1) 내 복수의 전자 장치 중 하나일 수 있다. 예를 들어, 복수의 전자 장치는 WiFi 등의 통신 방식을 이용하여 네트워크 공유기를 통해 서버 장치(100)와 연결될 수 있다.
전자 장치(200A)는 전자 장치(200A)의 데이터를 서버 장치(100)로 전송할 수 있다. 또한, 전자 장치(200A)는 시간에 따라 순차적으로 획득되는 전자 장치(200A)의 데이터를 서버 장치(100)로 전송할 수 있다.
여기서, 데이터는 전자 장치(200A)에서 획득한 전자 장치(200A)의 상태에 대한 데이터 및 전자 장치(200A)에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함할 수 있다. 또한, 데이터는 데이터가 획득된 시간에 대한 정보를 포함할 수 있다.
구체적으로 상태에 대한 데이터는 전자 장치(200A)의 내부 환경의 상태에 대한 정보를 지칭할 수 있다. 예를 들어, 상태에 대한 데이터는 전원의 상태(예: Power On 상태, Power Off 상태, 배터리 잔량 등), 현재 수행 중인 동작의 진행 정도, 현재 수행 중인 동작의 종류(예: 이동 동작, 공기 청정 동작, 청소 동작 등), 현재 동작의 수행 여부(예: 동작 수행 중, 대기 중), 네트워크 연결의 상태(예: Online 상태, Offline 상태), 기기의 종류(예: 로봇 청소기, 공기조화장치, 냉장고, 도어 센서, TV 등) 또는 하드웨어 구성에 대한 정보 등 중에서 적어도 하나를 포함할 수 있다. 주변 환경에 대한 데이터는 전자 장치(200A)의 외부 환경을 감지한 정보를 지칭할 수 있다. 예를 들어, 주변 환경에 대한 데이터는 미세 먼지의 농도(예: PM10, PM2.5, PM1.0 단위), Gas의 농도, 온도, 습도, 전자 장치(200A)의 위치, 주변을 촬영한 이미지, 도어의 개폐 여부 등에 대한 정보 중 적어도 하나를 포함할 수 있다.
한편, 전자 장치(200A) 각각은 다른 종류의 기기(예: 공기 청정 장치와 로봇 청소 장치 등)로 구현될 수 있다. 즉, 기기의 종류 또는 주된 용도와 무관하게 본 개시에서 설명하는 전자 장치(200A)의 동작을 수행하는 경우 본 개시의 전자 장치(200A)로 해석될 수 있다. 이 경우, 전자 장치(200A)는 기기의 종류 또는 하드웨어 구성에 따라 다른 종류의 데이터를 획득할 수 있다. 예를 들어, 전자 장치(200A)가 공기 청정기인 경우 미세 먼지의 농도에 대한 데이터를 획득할 수 있으며, 전자 장치(200A)가 공기조화장치인 경우 온도에 대한 데이터를 획득할 수 있으며, 전자 장치(200A)가 로봇 청소 장치인 경우 로봇 청소 장치의 현재 위치에 대한 데이터를 획득할 수 있다.
사용자 단말 장치(200B)는 서비스의 요청을 서버 장치(100)로 전송할 수 있다. 예를 들어, 사용자 단말 장치(200B)는 특정한 서비스를 수행하기 위한 사용자 명령이 수신되면, 서비스의 요청을 서버 장치(100)로 전송할 수 있다.
여기서, 서비스는 전자 장치(200A)의 데이터를 활용하여 서버 장치(100) 또는 사용자 단말 장치(200B)에서 수행되는 기능(또는 동작)을 지칭할 수 있다.
또한, 서비스의 요청은 사용자 단말 장치(200B)가 수행할 서비스의 종류에 대한 정보를 포함할 수 있다. 여기서, 서비스의 종류는 오토메이션 서비스(automation service), 모니터링 서비스(monitoring service), 알림 제공 서비스(notification service) 등의 종류를 포함할 수 있다. 다만, 서비스의 종류는 상술한 종류 외에도 다양한 종류를 더 포함할 수 있음은 물론이다.
오토메이션 서비스의 경우, 조건을 충족하는 경우에 동작을 실행하는 서비스를 지칭할 수 있다. 이를 위해, 사용자 단말 장치(200B) 또는 서버 장치(100)에 조건 및 동작에 대한 정보를 포함하는 규칙 정보가 저장될 수 있다. 이때, 규칙 정보에 포함되는 조건 및 동작은 사용자 또는 제조사에 의해 설정되거나 변경될 수 있다.
여기서, 전자 장치(200A)의 데이터는 조건을 충족하는지 여부를 판단하는데 사용될 수 있다.
예를 들어, “실내 온도가 기설정된 값(예: 26도) 이상”인 조건 및 “공기조화장치인 전자 장치(200A)가 냉방을 수행”하는 동작이 포함된 규칙 정보가 설정된 경우, 사용자 단말 장치(200B) 또는 서버 장치(100)에 의해 실내 온도(예: 온도 센서인 전자 장치(200A)를 통해 식별된 온도)를 기설정된 값과 비교하여, 실내 온도가 기설정된 값 이상이 되는지 여부에 따라 조건의 충족 여부를 판단할 수 있다. 사용자 단말 장치(200B) 또는 서버 장치(100)는 조건을 충족한 것으로 판단한 경우, 공기조화장치인 전자 장치(200A)로 냉방 동작을 수행하도록 제어하는 명령을 전송할 수 있으며, 이 경우 전자 장치(200A)는 수신된 명령에 따라 냉방 동작을 수행할 수 있다.
다른 예를 들어, “사용자의 현재 위치가 기설정된 장소 이내(예: 댁 내)”인 조건 및 “TV인 전자 장치(200A)가 턴온”하는 동작이 포함된 규칙 정보가 설정된 경우, 사용자 단말 장치(200B) 또는 서버 장치(100)에 의해 사용자의 현재 위치(예: 스마트폰인 전자 장치(200A)의 GPS를 통해 식별된 위치)를 기설정된 장소 이내에 위치하는지 여부를 비교하여, 조건의 충족 여부를 판단할 수 있다. 사용자 단말 장치(200B) 또는 서버 장치(100)는 조건을 충족한 것으로 판단한 경우, TV인 전자 장치(200A)로 턴온 동작을 수행하도록 제어하는 명령을 전송할 수 있으며, 이 경우 전자 장치(200A)는 수신된 명령에 따라 턴온 동작을 수행하여, 화면에 이미지를 표시할 수 있다.
알림 제공 서비스는 사용자 단말 장치(200B) 또는 서버 장치(100)에서 전자 장치(200A)의 데이터(예: 온도, 미세 먼지의 농도 등)의 값(또는 그 값의 변화량)에 따라 알림을 제공하는 기능을 수행하는 서비스를 지칭할 수 있다.
일 실시 예로서, 전자 장치(200A)의 데이터의 값은 기설정된 기준 값과 비교한 결과(예: 데이터의 값은 기설정된 기준 값보다 크다 또는 작다 등)에 따라 알림을 제공할 수 있다. 여기서, 전자 장치(200A)의 데이터의 값은 기설정된 기준 값과 비교하는데 사용될 수 있다. 예를 들어, 전자 장치(200A)의 데이터가 미세 먼지의 농도 값인 경우를 가정하면, 사용자 단말 장치(200B) 또는 서버 장치(100)는 전자 장치(200A)의 데이터를 통해 미세 먼지의 농도 값이 기설정된 기준 값(예: PM 2.5에서 75μm/m2 등)을 초과하는지 여부를 판단하고, 미세 먼지의 농도 값이 기설정된 기준 값을 초과하는 것으로 판단하면 미세 먼지의 수준은 나쁨인 것을 알리는 메시지를 사용자 단말 장치(200B)에서 제공할 수 있다.
모니터링 서비스는 전자 장치(200A)의 데이터를 수집하고 수집된 데이터를 제공하는 기능을 수행하는 서비스를 지칭할 수 있다. 예를 들어, 전자 장치(200A)의 데이터가 에너지 사용량인 경우를 가정하면, 사용자 단말 장치(200B)는 서버 장치(100)를 통해 수신된 전자 장치(200A)의 데이터를 통해, 에너지 사용량에 대한 히스토리(시간/날짜별 에너지 사용량)를 사용자 단말 장치(200B)에서 제공할 수 있다.
이와 같은 서비스를 제공하기 위해, 서버 장치(100)는 전자 장치(200A)로부터 전자 장치(200A)의 데이터를 수신할 수 있다.
여기서, 서버 장치(100)는 네트워크 트래픽을 경감하기 위해 전자 장치(200A)의 전송 조건을 설정할 수 있다. 구체적으로, 서버 장치(100)는 사용자 단말 장치(200B)로부터 요청된 서비스에 기초하여 데이터의 전송 조건을 판단하고, 전송 조건에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송할 수 있다. 이 경우, 전자 장치(200A)는 수신된 전송 조건을 충족하는지 여부에 따라 서비스에 대응되는 데이터를 서버 장치(100)로 전송하거나 또는 전송하지 않을 수 있다. 그리고, 서버 장치(100)는 전자 장치(200A)로부터 수신된 데이터에 기초하여 사용자에게 서비스를 제공할 수 있다.
이때, 전송 조건은 시간 주기 및 기간 중에서 적어도 하나를 포함할 수 있다.
이상과 같은 본 개시의 일 실시 예에 따르면, 전자 장치(200A)의 데이터가 전송 조건을 충족하는 경우에만 데이터의 전송이 이루어진다는 점에서 전자 장치(200A)의 데이터가 무분별하게 서버 장치(100)로 전송되는 것을 방지하고, 데이터 전송에 따른 트래픽 발생을 최소화할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 개시의 다양한 실시 예를 보다 구체적으로 설명하기로 한다.
도 2a는 본 개시의 일 실시 예에 따른 서버 장치의 블록도이다. 도 2b는 본 개시의 일 실시 예에 따른 서버 장치의 부가적인 구성을 설명하기 위한 블록도이다.
도 2a를 참조하면, 본 개시의 일 실시 예에 따른 서버 장치(100)는 통신 인터페이스(110) 및 프로세서(120)를 포함할 수 있다.
통신 인터페이스(110)는 다양한 통신 방식을 통해 다른 외부 장치와 네트워크로 연결될 수 있다. 이에 따라 통신 인터페이스(110)는 다른 외부 장치로부터 다양한 데이터를 송수신할 수 있다.
예를 들어, 통신 인터페이스(110)는 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스의 요청을 수신할 수 있다. 또한, 통신 인터페이스(110)는 전송 조건에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송할 수 있다. 그리고, 통신 인터페이스(110)는 전자 장치(200A)로부터 데이터를 수신할 수 있다.
프로세서(120)는 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스의 요청이 통신 인터페이스(110)를 통해 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치(200A)를 판단하고, 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 시간 주기를 판단하고, 시간 주기에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어하고, 전송 요청에 응답하여, 전자 장치(200A)로부터 데이터가 시간 주기 간격으로 통신 인터페이스(110)를 통해 수신되면, 수신된 데이터에 기초하여 서비스를 제공할 수 있다.
구체적으로, 프로세서(120)는 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스의 요청이 통신 인터페이스(110)를 통해 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치(200A)를 판단할 수 있다. 여기서, 어플리케이션은 사용자 단말 장치(200B)를 이용하고 응용하여 특정한 서비스를 제공하기 위한 명령어의 집합체를 지칭할 수 있다. 예를 들어, 어플리케이션은 SmartThings 등으로 구현될 수 있다.
여기서, 프로세서(120)는 서비스의 요청에 따라 서비스를 수행하기 위해 필요한 데이터(서비스의 수행에 요구되는 데이터)의 종류를 식별하고, IoT를 구성하는 복수의 전자 장치 중에서 식별된 데이터의 종류를 제공할 수 있는 전자 장치를 식별할 수 있다.
이때, 데이터는 전자 장치(200A)에서 획득한 전자 장치(200A)의 상태에 대한 데이터 및 전자 장치(200A)에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함할 수 있다. 즉 데이터의 종류는, 상태에 대한 데이터로서 전원의 상태(예: Power On 상태, Power Off 상태, 배터리 잔량 등), 현재 수행 중인 동작의 진행 정도, 현재 수행 중인 동작의 종류(예: 이동 동작, 공기 청정 동작, 청소 동작 등), 현재 동작의 수행 여부(예: 동작 수행 중, 대기 중), 네트워크 연결의 상태(예: Online 상태, Offline 상태), 기기의 종류(예: 로봇 청소기, 공기조화장치, 냉장고, 도어 센서, TV 등) 또는 하드웨어 구성에 대한 정보 등 중에서 적어도 하나를 포함할 수 있다. 또한, 데이터의 종류는, 주변 환경에 대한 데이터로서 미세 먼지의 농도(예: PM10, PM2.5, PM1.0 단위), Gas의 농도, 온도, 습도, 전자 장치(200A)의 위치, 주변을 촬영한 이미지, 도어의 개폐 여부 등에 대한 정보 중 적어도 하나를 포함할 수 있다.
구체적으로, 프로세서(120)는 실내 온도를 모니터링하는 서비스의 요청이 수신된 경우, 서비스 및 서비스의 수행에 필요한 데이터의 종류가 기매칭되어 저장된 데이터베이스를 통해 해당 서비스를 수행하기 위해 필요한 데이터의 종류는 실내 온도인 것으로 식별할 수 있다.
이 경우, 프로세서(120)는 사용자의 계정에 등록된 복수의 전자 장치의 기기 정보에 기초하여 복수의 전자 장치 중에서 실내 온도의 측정이 가능한 전자 장치를 식별할 수 있다. 여기서, 기기 정보는 전자 장치의 이름, 모델명, 하드웨어 구성 등에 대한 정보 중 적어도 하나를 포함할 수 있다.
그리고, 프로세서(120)는 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 시간 주기를 판단할 수 있다.
여기에서, 시간 주기는 전자 장치가 획득한 데이터를 서버 장치(100)로 전송한 이후, 전자 장치가 획득한 데이터를 서버 장치(100)로 재차 전송하는 시간 간격을 포함할 수 있다.
예를 들어, 도 3을 참조하면 시간 주기는 데이터가 전송되는 제1 시점 및 이후의 데이터가 전송되는 제2 시점을 포함하는 시간 간격을 포함할 수 있다. 즉, 시간 주기는 다음 데이터에 대한 전송이 시작되는 시간 간격을 나타낼 수 있다.
여기서, 제1 시점에 서버 장치(100)로 데이터 1의 전송이 시작되는 경우를 가정하면, 제2 시점에 서버 장치(100)로 데이터 2의 전송이 시작될 수 있다. 이때, 제2 시점은 제1 시점에서 시간 주기에 포함된 시간 간격만큼 경과한 시점을 나타낼 수 있다. 또한, 데이터 1은 제1 시점을 기준으로 가장 최근에 획득된 데이터이며, 데이터 2는 제2 시점을 기준으로 가장 최근에 획득된 데이터일 수 있다. 예를 들어, 데이터 2는 데이터 1이 획득된 이후에 획득된 데이터로서, 데이터 1과 동일한 종류의 데이터(예: 온도)를 나타낼 수 있다.
또한, 전자 장치(200A)는 데이터를 순차적으로 획득할 수 있으며, 이때 데이터 1 및 데이터 2 사이에는 데이터 1 이후에 순차적으로 획득된 적어도 하나의 데이터가 존재할 수 있다. 이 경우, 데이터 1 및 데이터 2 사이에 존재하는 데이터의 전송은 시간 주기에 포함된 시간 간격에 따라 생략될 수 있다.
본 개시의 일 실시 예에 따르면, 프로세서(120)는 서비스의 종류에 따라 시간 주기를 판단할 수 있다. 또 다른 예를 들어, 프로세서(120)는 서비스를 수행하는데 요구되는 데이터의 종류에 따라 시간 주기를 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따르면 프로세서(120)는 기설정된 기간 동안 통신 인터페이스(110)를 통해 수신된 서비스가 요청된 횟수에 기초하여 시간 주기를 판단할 수 있다.
예를 들어, 프로세서(120)는 서비스가 요청된 횟수가 상대적으로 많을수록 시간 간격이 짧아지도록 시간 주기를 판단할 수 있다. 또한, 프로세서(120)는 서비스가 요청된 횟수가 상대적으로 적을수록, 시간 간격이 길어지도록 시간 주기를 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따르면 프로세서(120)는 통신 인터페이스(110)를 통해 수신된 서비스의 요청에 대응되는 데이터의 포맷 및 데이터의 크기 중 적어도 하나에 기초하여 시간 주기를 판단할 수 있다. 여기서, 데이터의 포맷은 텍스트(문자 또는 숫자 등), 이미지, 동영상, 음성 등의 포맷을 포함할 수 있다.
예를 들어, 프로세서(120)는 데이터의 포맷이 텍스트 또는 이미지인 경우 시간 간격이 짧아지도록 시간 주기를 판단할 수 있다. 또한, 프로세서(120)는 데이터의 포맷이 동영상 또는 음성인 경우 시간 간격이 길어지도록 시간 주기를 판단할 수 있다.
다른 예를 들어, 프로세서(120)는 데이터의 크기가 상대적으로 작을수록 시간 간격이 짧아지도록 시간 주기를 판단할 수 있다. 또한, 프로세서(120)는 데이터의 크기가 상대적으로 클수록 시간 간격이 길어지도록 시간 주기를 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따른 시간 주기는 서비스에 따라 기설정되어 있을 수 있다. 예를 들어, 시간 주기는 서비스에 매칭되어 데이터베이스에 저장될 수 있다.
여기에서, 프로세서(120)는 요청된 서비스가 제1 서비스인 경우, 전자 장치(200A)가 데이터를 서버 장치(100)로 전송할 시간 주기가 제1 시간 주기인 것으로 판단할 수 있다. 또한, 프로세서(120)는 요청된 서비스가 제2 서비스인 경우, 전자 장치(200A)가 데이터를 서버 장치(100)로 전송할 시간 주기가 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단할 수 있다.
일 실시 예로서, 제1 서비스 및 제2 서비스는 서로 다른 종류의 서비스일 수 있다. 예를 들어, 제1 서비스는 미세 먼지의 농도에 따라 공기청정 동작을 수행하는 오토메이션 서비스이고, 제2 서비스는 에너지 사용량을 모니터링하는 모니터링 서비스일 수 있다.
다른 실시 예로서, 제1 서비스 및 제2 서비스는 서로 다른 종류의 데이터를 이용하는 서비스일 수 있다. 예를 들어, 제1 서비스는 에너지 사용량에 대한 데이터를 수집하는 모니터링 서비스이고, 제2 서비스는 미세 먼지의 농도에 대한 데이터를 수집하는 모니터링 서비스일 수 있다.
그리고, 프로세서(120)는 시간 주기에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
여기에서, 전자 장치(200A)는 데이터의 전송 요청이 수신되면, 전자 장치가 획득한 데이터를 서버 장치(100)로 전송하고, 시간 주기가 경과된 시점에서 전자 장치(200A)가 획득한 데이터를 서버 장치(100)로 전송할 수 있다.
구체적으로, 전자 장치(200A)는 시간 주기에 따른 데이터의 전송 요청이 수신되면, 시간 주기에 대한 정보를 저장할 수 있다. 그리고, 전자 장치(200A)는 시간 주기에 기초하여 데이터를 서버 장치(100)로 전송할 수 있다.
예를 들어, 전자 장치(200A)는 현재의 제1 시점을 기준으로 가장 최근에 획득된 데이터 1을 서버 장치(100)로 전송할 수 있다. 그리고, 전자 장치(200A)는 제1 시점에서 시간 주기에 포함된 시간 간격이 경과하기 전까지는 데이터를 전송하지 않을 수 있다. 그리고, 전자 장치(200A)는 제1 시점에서 시간 주기에 포함된 시간 간격이 경과한 제2 시점에 도달한 경우 제2 시점을 기준으로 가장 최근에 획득된 데이터 2를 서버 장치(100)로 전송할 수 있다.
그리고, 프로세서(120)는 전송 요청에 응답하여, 전자 장치(200A)로부터 데이터가 시간 주기 간격으로 통신 인터페이스(110)를 통해 수신되면, 수신된 데이터에 기초하여 서비스를 제공할 수 있다.
한편, 본 개시의 일 실시 예에 따른 프로세서(120)는 서비스의 제공이 완료되거나, 사용자 단말 장치(200B)로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 통신 인터페이스(110)를 통해 수신되면, 데이터의 전송 중단 요청을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다.
구체적으로, 서비스의 제공이 완료되는 것은 사용자 단말 장치(200B)에서 전자 장치(200A)의 데이터를 이용한 서비스가 수행된 경우(예: 오토메이션 서비스에서 조건 충족에 따라 동작이 실행된 경우 등)를 지칭할 수 있다. 이 경우, 프로세서(120)는 사용자 단말 장치(200B)로부터 서비스의 제공이 완료되었음을 나타내는 정보를 통신 인터페이스(110)를 통해 수신할 수 있다.
한편, 어플리케이션의 실행이 종료되는 것은 사용자 단말 장치(200B)에서 서비스를 수행하기 위한 어플리케이션이 종료되는 경우를 지칭할 수 있으며, 이 경우, 프로세서(120)는 사용자 단말 장치(200B)로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보를 통신 인터페이스(110)를 통해 수신할 수 있다.
여기에서, 프로세서(120)는 데이터의 전송 중단 요청을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 이 경우, 전자 장치(200A)는 수신된 전송 중단 요청에 따라 서버 장치(100)로의 데이터의 전송을 중단할 수 있다.
한편, 본 개시의 일 실시 예에 따른 프로세서(120)는 서비스의 제공이 완료되거나, 사용자 단말 장치(200B)로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 통신 인터페이스(110)수신되면, 시간 주기의 시간 간격을 증가시킬 수 있다.
이 경우, 프로세서(120)는 시간 간격을 증가시키도록 시간 주기를 변경하고, 변경된 시간 주기에 따른 데이터의 전송을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 그리고, 전자 장치(200A)는 수신된 시간 주기에 따라 서버 장치(100)로 데이터를 전송할 수 있다.
한편, 본 개시의 일 실시 예에 따른 프로세서(120)는 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 전송 기간을 판단할 수 있다.
도 4를 참조하면, 전송 기간은 제1 시점부터 제2 시점까지의 시간 간격을 포함할 수 있다. 여기서, 제1 시점은 데이터의 전송이 시작되는 시간이며, 제2 시점은 데이터의 전송이 중단되는 시간을 나타낼 수 있다. 여기서 전송 기간은 사용자의 사용자 명령에 따라 설정되거나, 제조사에 의해 기설정된 값으로 설정될 수 있다.
일 실시 예로서, 프로세서(120)는 기설정된 기간 동안 통신 인터페이스(110)를 통해 수신된 서비스가 요청된 횟수에 기초하여 데이터의 전송 기간을 판단할 수 있다. 예를 들어, 프로세서(120)는 서비스가 요청된 횟수가 상대적으로 많을수록 전송 기간이 길어지도록 전송 기간을 판단할 수 있다. 또한, 프로세서(120)는 서비스가 요청된 횟수가 상대적으로 적을수록, 전송 기간이 짧아지도록 전송 기간을 판단할 수 있다.
이 경우, 프로세서(120)는 전송 기간에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송하도록 통신 인터페이스(110)를 제어할 수 있다. 그리고, 전자 장치(200A)는 전송 기간에 따른 데이터의 전송 요청이 수신되면, 전송 기간에 대한 정보를 저장할 수 있다. 그리고, 전자 장치(200A)는 전송 기간에 기초하여 데이터를 서버 장치(100)로 전송할 수 있다.
예를 들어, 전자 장치(200A)는 현재 시간인 제1 시점을 기준으로 전송 기간의 시간 간격 이후인 제2 시점까지의 시간 동안, 순차적으로 획득된 데이터를 서버 장치(100)로 전송할 수 있다. 그리고, 전자 장치(200A)는 제2 시점이 경과한 경우, 서버 장치(100)로의 데이터의 전송을 중단할 수 있다.
한편, 상술한 시간 주기 및 전송 기간에 대해서는 독립적인 것으로 설명하였으나, 이는 설명의 편의를 위한 것일 뿐 이들을 조합하여 실시할 수 있음은 물론이다.
이상과 같은 본 개시의 일 실시 예에 따른 서버 장치(100)는 전자 장치(200A)의 데이터의 전송을 전자 장치(200A)의 연결성 기반에서 Client(서버, 서비스, 사용자 등)의 요청 기반으로 변경하여, 데이터의 낭비를 최소화함과 동시에 사용자에게는 seamless 한 IoT 경험을 제공 할 수 있다.
한편, 도 2b를 참조하여, 본 개시의 일 실시 예에 따른 서버 장치(100)는 통신 인터페이스(110) 및 프로세서(120) 외에도, 메모리(130), 입력 인터페이스(140) 및 출력 인터페이스(150) 중에서 적어도 하나를 더 포함할 수 있다.
통신 인터페이스(110)는 다양한 서버 장치(100)와 유선 통신 방식 또는 무선 통신 방식의 통신을 수행하여, 다양한 정보(또는 데이터)를 송수신할 수 있는 하드웨어를 지칭할 수 있다. 이 경우, 통신 인터페이스(110)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 다양한 서버 장치(100)와 다양한 정보를 송수신할 수 있다.
여기에서, 무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 통신 방식 중 적어도 하나를 포함할 수 있다. 유선 통신은 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 통신 방식 중 적어도 하나를 포함할 수 있다.
이를 위해, 통신 인터페이스(110)는 상술한 유무선 통신 방식에 따라 외부 장치와 통신을 수행하는 WiFi 모듈, Bluetooth 모듈, 무선 통신 모듈, NFC 모듈 등의 네트워크 인터페이스(Network Interface) 모듈, 네트워크 인터페이스를 제어하는 네트워크 인터페이스 제어부(Network Interface Controller; NIC)를 포함할 수 있다. 한편, 본 개시의 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다.
프로세서(120)는 서버 장치(100)의 전반적인 동작을 제어할 수 있다. 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있으며, 예를 들어 프로세서(120)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다.
메모리(130)에는 프로세서(120)가 실행하는 명령어 또는 프로그램 등이 저장될 수 있다. 또한, 메모리(130)에는 통신 인터페이스(110)를 통해 수신된 정보 또는 데이터가 저장될 수 있다. 예를 들어, 메모리(130)에는 사용자 단말 장치(200B)로부터 수신된 사용자의 다양한 요청 명령 및 전자 장치(200A)로부터 수신된 다양한 데이터가 저장될 수 있다.
메모리(130)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의해 인스트럭션, 모듈, 인공지능 모델 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
입력 인터페이스(140)는 다양한 사용자 입력을 수신하여 프로세서(120)로 전달할 수 있다. 입력 인터페이스는 예를 들면, 터치 패널(미도시), 펜 센서(미도시), 키(미도시) 및 마이크(미도시) 중에서 적어도 하나를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있으며, 이를 위해 터치 패널은 제어 회로를 포함할 수도 있다. 터치 패널은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. 펜 센서는 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 이와 같은 입력 인터페이스는 내장 키보드, 트랙패드, 버튼, 터치 패널 등과 같이 전자 장치(200A)에 내장되거나 외부의 키보드, 마우스 등과 같은 별도의 외부 장치(미도시)로 구현될 수 있다.
출력 인터페이스(150)는 디스플레이(미도시) 및 스피커(미도시) 중 적어도 하나를 포함할 수 있다. 여기서, 디스플레이는 정보를 시각적인 형태(예: 문자, 이미지 등)로 출력하는 장치이다. 디스플레이는 이미지 프레임을 디스플레이 영역의 전체 또는 일부 영역에 표시할 수 있다. 디스플레이 영역은 정보 또는 데이터가 시각적으로 표시되는 픽셀 단위의 영역 전체를 지칭할 수 있다. 디스플레이의 적어도 일부는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(200A)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다. 스피커는 정보를 청각적인 형태(예: 음성)로 출력하는 장치이다. 스피커는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치가 등록되는 과정을 설명하기 위한 도면이다.
도 5를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(200A)는 서버 장치(100)에 등록될 수 있다. 이하에서는, 서버 장치(100)에 전자 장치(200A)가 등록되기 전의 상태를 가정하여, 서버 장치(100)에 전자 장치(200A)가 등록되는 과정에 대해 설명하도록 한다.
먼저, 사용자 단말 장치(200B)는 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 전자 장치(200A)를 서버 장치(100)에 등록하기 위한 사용자 명령이 수신되면, 등록이 가능한 전자 장치를 네트워크(예: WiFi 네트워크 환경) 내에서 검색할 수 있다(S511).
여기에서, 사용자 단말 장치(200B)에 수신되는 사용자 명령은 터치 제스처, 모션 제스처, 사용자 음성, 마우스 또는 키보드 등과 같은 입력 인터페이스를 통한 입력 등 다양한 유형의 사용자 명령으로 구현될 수 있다. 이를 위해, 사용자 단말 장치(200B)는 상술한 사용자 명령의 유형을 수신할 수 있는 장치 즉, 터치 디스플레이 패널, 카메라, 마이크 등에서 적어도 하나를 구비할 수 있다.
또한, 사용자 단말 장치(200B)는 다양한 방식의 네트워크 프로토콜을 이용하여 네트워크 내 적어도 하나의 전자 장치를 검색하는 신호를 전송할 수 있으며, 이에 대한 응답으로 적어도 하나의 전자 장치로부터 전자 장치에 대한 정보를 수신할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 전자 장치를 검색하는 것은 서버 장치(100)를 통해 검색하는 것 또한 가능하다.
그리고, 사용자 단말 장치(200B)는 전자 장치에 대한 정보가 수신되면, 수신된 정보에 대응되는 전자 장치의 목록을 출력할 수 있다. 예를 들어 전자 장치의 목록을 텍스트 또는 이미지로서 디스플레이에 표시하거나, 전자 장치의 목록을 음성으로서 스피커로 출력할 수 있다.
이 경우, 사용자 단말 장치(200B)는 출력된 목록에서 전자 장치(200A)를 선택하는 사용자 명령이 수신되면, 선택된 전자 장치(200A)에 대한 등록요청을 서버 장치(100)로 전송할 수 있다(S521).
그리고, 서버 장치(100)는 사용자 단말 장치(200B)에서 전자 장치(200A)에 대한 등록 요청이 수신되면, 전자 장치(200A)의 상태에 대한 정보 요청을 전자 장치(200A)로 전송할 수 있다(S523).
이에 대한 응답으로, 전자 장치(200A)는 전자 장치(200A)의 기기에 대한 정보를 서버 장치(100)로 전송할 수 있다(S525). 여기서, 전자 장치(200A)의 기기에 대한 정보는 전자 장치(200A)를 식별할 수 있도록 부여된 고유의 식별자(예: 이름, 모델, 시리얼 번호, Mac address 등)를 포함할 수 있다. 또한, 전자 장치(200A)의 기기에 대한 정보는 하드웨어 구성, 소프트웨어 구성, 펌웨어/OS 버전 등 중에서 적어도 하나에 대한 정보를 더 포함할 수 있다. 이와 같이 전자 장치(200A)의 기기에 대한 정보는 네트워크 연결에 필요한 정보를 포함할 수 있다.
이 경우, 서버 장치(100)는 수신된 전자 장치(200A)의 기기에 대한 정보에 기초하여 전자 장치(200A)를 등록할 수 있다(S527). 구체적으로, 서버 장치(100)는 수신된 전자 장치(200A)의 기기에 대한 정보에 기초하여 서버 장치(100)의 데이터베이스에 IoT를 구성하는 전자 장치로서 등록하고 전자 장치(200A)의 정보를 저장할 수 있다.
여기서, 서버 장치(100)에 전자 장치(200A)가 등록된 상태를 online 상태라 지칭할 수 있으며, 이는 서버 장치(100)와 전자 장치(200A)가 데이터의 송수신이 가능해지는 상태를 나타낼 수 있다. 서버 장치(100)는 전자 장치(200A)가 등록된 이후부터 전자 장치(200A)로부터 특정한 서비스를 수행하기 위한 데이터를 수신할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 서비스를 수행하는 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 사용자 단말 장치(200B)는 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스를 수행하기 위한 사용자 명령이 수신되면, 서비스의 요청을 서버 장치(100)로 전송할 수 있다(S631).
이 경우, 서버 장치(100)는 요청에 대응되는 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치(200A)를 판단하고, 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 전송 조건(예: 시간 주기 또는 전송 기간)을 판단할 수 있다(S633).
그리고, 서버 장치(100)는 전송 조건에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송할 수 있다(S635).
이 경우, 전자 장치(200A)는 수신된 전송 조건에 기초하여 전송 상태를 결정할 수 있다(S640). 여기서, 전자 장치(200A)는 전송 조건을 충족하는 경우에 on 상태로 전송 상태를 결정하고, 전송 조건을 충족하지 않는 경우에 off 상태로 전송 상태를 결정할 수 있다.
예를 들어, 전자 장치(200A)는 제1 시점에 on 상태로 전송 상태를 결정한 경우, 제1 시점을 경과한 후에 off 상태로 전송 상태를 결정하고, 제1 시점부터 시간 주기에 포함된 시간 간격 이후의 시점에 on 상태로 전송 상태를 결정할 수 있다. 이와 같이 전자 장치(200A)는 시간 주기에 따라 전송 상태를 반복하여 on 상태 및 off 상태로 변경할 수 있다. 다른 예를 들어, 전자 장치(200A)는 현재 시간이 전송 기간을 경과하지 않는 경우 on 상태로 전송 상태를 결정하고, 현재 시간이 전송 기간을 경과한 경우 off 상태로 전송 상태를 결정할 수 있다.
여기서, 전자 장치(200A)는 전송 조건을 충족하는 경우(예: 데이터에 대한 전송 상태가 on 상태인 경우) 데이터를 서버 장치(100)로 전송하도록 동작할 수 있다(S651). 이 경우, 서버 장치(100)는 전자 장치(200A)로부터 수신된 데이터를 사용자 단말 장치(200B)로 전송할 수 있다(S653). 그리고, 사용자 단말 장치(200B)는 서버 장치(100)로부터 수신된 전자 장치(200A)의 데이터를 이용하여 서비스를 수행할 수 있다(S655).
이와 달리, 전자 장치(200A)는 전송 조건을 충족하지 않는 경우(데이터에 대한 전송 상태가 off 상태인 경우), 데이터를 서버 장치(100)로 전송하지 않도록 동작할 수 있다(S661).
도 7a 및 7b는 본 개시의 일 실시 예에 따른 시간 주기를 설명하기 위한 도면이다.
도 7a 및 도 7b를 참조하여, 사용자 단말 장치(200B)가 전자 장치(200A-1, 200A-2)를 통해 서비스를 수행하는 경우에 대해 설명하기로 한다. 도 7a의 경우 전자 장치(200A-1)는 실내 온도를 측정할 수 있는 에어컨(또는 온도 센서 장치 등)으로 구현된 것으로 가정하고, 도 7b의 경우 전자 장치(200A-2)는 미세 먼지의 농도를 측정하거나 공기 청정 동작을 수행하는 공기 청정 장치로 구현된 것으로 가정하기로 한다.
도 7a 및 도 7b를 참조하여, 사용자 단말 장치(200B)는 수신된 사용자 명령(예: 터치 입력, 사용자 음성 등)에 따라 전자 장치(200A-1, 200A-2)와 관련된 서비스를 수행하기 위한 어플리케이션(예: SmartThings 등)을 실행할 수 있다.
여기서, 도 7a의 경우 전자 장치(200A-1)와 관련된 서비스는 실내 온도에 대한 모니터링 서비스인 것으로 가정하고, 도 7b의 경우 전자 장치(200A-2)와 관련된 서비스는 미세 먼지의 농도에 따라 공기 청정 동작을 수행하는 오토메이션 서비스인 것으로 가정하기로 한다.
이 경우, 사용자 단말 장치(200B)는 실행된 어플리케이션에 따른 서비스의 요청을 서버 장치(100)로 전송할 수 있다.
그리고, 서버 장치(100)는 사용자 단말 장치(200B)로부터 서비스의 요청이 수신되면, 서비스의 요청에 대응되는 데이터를 판단하고, 서버 장치(100)에 등록된 복수의 전자 장치 중에서 데이터를 수신하기 위한 전자 장치(데이터를 획득할 수 있는 전자 장치)는 전자 장치(200A-1, 200A-2)라고 판단할 수 있다.
예를 들어, 도 7a를 참조하면, 서버 장치(100)는 사용자 단말 장치(200B)로부터 실내 온도에 대한 모니터링 서비스의 요청이 수신되면, 서비스의 요청에 대응되는 데이터는 실내 온도라고 판단하고, 서버 장치(100)에 등록된 복수의 전자 장치 중에서 실내 온도를 수신하기 위한 전자 장치(실내 온도를 획득할 수 있는 센서를 구비한 전자 장치)는 전자 장치(200A-1)라고 판단할 수 있다.
또 다른 예를 들어, 도 7b를 참조하면, 서버 장치(100)는 사용자 단말 장치(200B)로부터 미세 먼지의 농도에 따라 공기 청정 동작을 수행하는 오토메이션 서비스의 요청이 수신되면, 서비스의 요청에 대응되는 데이터는 미세 먼지의 농도라고 판단하고, 서버 장치(100)에 등록된 복수의 전자 장치 중에서 미세 먼지의 농도를 수신하기 위한 전자 장치(미세 먼지의 농도를 획득할 수 있는 센서를 구비한 전자 장치)는 전자 장치(200A-2)라고 판단할 수 있다.
이 경우, 서버 장치(100)는 서비스에 기초하여 전자 장치(200A-1)로부터 실내 온도에 대한 데이터를 수신하기 위한 시간 주기를 판단할 수 있다.
여기서, 서버 장치(100)는 서비스를 수행하기 위해 요구되는 데이터가 시간에 따라 변화되는 정도가 적은 경우에, 상대적으로 긴 시간 주기를 갖는 것으로 판단할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 서버 장치(100)는 서비스의 종류 또는 서비스의 수행에 요구되는 데이터의 종류에 따라 시간 주기를 판단할 수도 있다.
예를 들어 도 7a를 참조하면, 서버 장치(100)는 실내 온도에 대한 모니터링 서비스의 경우 시간 주기를 30분으로 판단할 수 있다.
또 다른 예를 들어 도 7b를 참조하면, 서버 장치(100)는 미세 먼지의 농도에 따라 공기 청정 동작을 수행하는 오토메이션 서비스의 경우 시간 주기를 5분으로 판단할 수 있다.
그리고 도 7a 및 도 7b를 참조하여, 서버 장치(100)는 시간 주기(예: 도 7a의 경우 30분, 도 7b의 경우 5분)에 따른 데이터(예: 도 7a의 경우 실내 온도, 도 7b의 경우 미세 먼지의 농도)의 전송 요청을 전자 장치(200A-1, 200A-2)로 전송할 수 있다. 그리고, 서버 장치(100)는 전자 장치(200A-1, 200A-2)에서 순차적으로 획득된 복수의 데이터 중에서 시간 주기에 대응되는 데이터를 시간 주기 간격으로 수신할 수 있다.
이 경우 도 7a를 참조하면, 서버 장치(100)는 전자 장치(200A-1)로부터 수신된 데이터(예: 실내 온도)를 사용자 단말 장치(200B)로 전송할 수 있다. 여기서 일 실시 예로서, 서버 장치(100)는 전자 장치(200A-1)로부터 데이터가 수신될 때마다 수신된 데이터를 사용자 단말 장치(200B)로 전송할 수 있다. 이와 달리, 서버 장치(100)는 전자 장치(200A-1)로부터 수신된 데이터를 저장하고, 사용자 단말 장치(200B)로부터 데이터에 대한 요청이 수신된 경우에만 저장된 복수의 데이터를 사용자 단말 장치(200B)로 전송할 수도 있다.
그리고, 사용자 단말 장치(200B)는 수신된 데이터(예: 시간별 실내 온도)를 디스플레이에 표시함으로써 사용자에게 실내 온도에 대한 모니터링 서비스를 제공할 수 있다.
한편 이와 다른 경우로서, 도 7b를 참조하면, 서버 장치(100)는 전자 장치(200A-2)로부터 수신된 데이터(예: 미세 먼지의 농도)를 기초로 미세 먼지의 농도에 따라 공기 청정 동작을 수행하는 오토메이션 서비스를 제공할 수 있다.
예를 들어, 서버 장치(100)는 전자 장치(200A-2)로부터 수신된 데이터(예: 미세 먼지의 농도)가 기설정된 기준 값(예: PM 2.5에서 75μm/m2 등)을 초과하는지 여부를 판단하고, 미세 먼지의 농도 값이 기설정된 기준 값을 초과하는 경우 공기 청정 동작을 수행하도록 요청하는 명령을 전자 장치(200A-2)로 전송할 수 있다. 전자 장치(200A-2)는 서버 장치(100)로부터 공기 청정 동작을 수행하도록 요청하는 명령이 수신되면 공기 청정 동작을 수행할 수 있다.
도 8a는 본 개시의 일 실시 예에 따른 전자 장치의 블록도이고, 도 8b는 본 개시의 일 실시 예에 따른 전자 장치의 부가적인 구성을 설명하기 위한 블록도이다.
도 8a를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(200)는 통신 인터페이스(210) 및 프로세서(220)를 포함할 수 있다. 여기서, 전자 장치(200)는 IoT를 구성하는 전자 장치(200A) 및 사용자 단말 장치(200B) 중 적어도 하나일 수 있다.
통신 인터페이스(210)는 다양한 방식의 통신을 통해 다른 외부 장치와 네트워크로 연결될 수 있다. 이에 따라 통신 인터페이스(210)는 다른 외부 장치로부터 다양한 데이터를 송수신할 수 있다.
통신 인터페이스(210)는 서버 장치(100)로부터 전송 조건에 따른 데이터의 전송 요청을 수신할 수 있다. 여기서, 전송 조건은 시간 주기 및 전송 기간 중에서 적어도 하나를 포함할 수 있다. 또한, 전송 조건은 메모리(230, 도 8b 참조)에 저장될 수 있다.
한편, 본 개시의 일 실시 예에 따른 통신 인터페이스(210)는 전송 상태와 무관하게 서버 장치(100)로부터 데이터를 수신하는 동작을 수행할 수 있다. 즉, 통신 인터페이스(210)는 전송 상태가 off 상태인 경우에도 서버 장치(100)로부터 데이터를 수신할 수 있다.
프로세서(220)는 전자 장치(200)의 전반적인 동작을 제어할 수 있다. 즉, 프로세서(220)는 전자 장치(200)의 각 구성의 전반적인 동작을 제어할 수 있다.
프로세서(220)는 서버 장치(100)로부터 전송 조건에 따른 데이터의 전송 요청이 통신 인터페이스(210)를 통해 수신되면, 전송 요청에 대응되는 데이터를 판단할 수 있다.
또한, 프로세서(220)는 서버 장치(100)로부터 전송 조건에 따른 데이터의 전송 요청이 통신 인터페이스(210)를 통해 수신되면, 전송 조건에 따라 데이터의 전송 상태를 판단할 수 있다.
예를 들어, 프로세서(220)는 서버 장치(100)로부터 전송 조건에 따른 데이터의 전송 요청이 통신 인터페이스(210)를 통해 수신되면, 전송 요청에 따라 요구되는 데이터의 종류를 식별하고, 전송 조건에 따라 데이터의 전송 상태를 결정할 수 있다.
여기서, 데이터의 종류는 서버 장치(100)로 전송되는 데이터를 식별하기 위한 종류를 나타낼 수 있다. 예를 들어, 데이터의 종류는 센서(260, 8b 참조)에 의해 획득되는 미세 먼지의 농도(예: PM10, PM2.5, PM1.0 등), 팬의 회전 속도, 실내 온도, 실내 습도, 필터의 상태(예: 사용 가능한 필터의 잔량), 전자 장치(200)가 수행하는 동작에 대한 정보, 동작의 완료율(예: 백분율 단위), 동작을 진행한 시간, 동작을 시작한 시간, 동작이 완료될 예정 시간, 기기의 전원 상태(예: 전원 on 상태, 전원 off 상태, 대기모드 상태, 배터리 잔량, 전원 공급 여부 등) 등일 수 있다.
프로세서(220)는 전송 상태에 따라 서버 장치(100)로 데이터를 전송하도록 통신 인터페이스(210)를 제어할 수 있다. 여기서, 전송 상태는 서버 장치(100)에 대해 데이터의 전송이 계속되는 on 상태 및 데이터의 전송이 중단되는 off 상태 중 하나일 수 있다.
예를 들어, 프로세서(220)는 전송 상태가 on 상태인 경우 서버 장치(100)로 데이터를 전송하도록 통신 인터페이스(210)를 제어할 수 있다. 이와 달리, 프로세서(220)는 전송 상태가 off 상태인 경우 서버 장치(100)로 데이터를 전송하지 않도록 통신 인터페이스(210)를 제어할 수 있다.
일 실시 예로서, 프로세서(220)는 시간 주기에 따라, 통신 인터페이스(210)의 전송 상태를 on 상태 및 off 상태로 교번적으로 변경할 수 있다.
예를 들어, 프로세서(220)는 통신 인터페이스(210)의 전송 상태가 on 상태인 제1 시점에서 서버 장치(100)에 대한 데이터의 전송을 시작하도록 통신 인터페이스(210)를 제어하고, 서버 장치(100)에 대한 데이터의 전송이 완료된 제2 시점에 통신 인터페이스(210)의 전송 상태를 off 상태로 변경할 수 있다.
그리고, 프로세서(220)는 제1 시점으로부터 시간 주기에 포함된 시간 간격이 경과한 제3 시점에 통신 인터페이스(210)의 전송 상태를 on 상태로 변경할 수 있다.
이 경우, 프로세서(220)는 통신 인터페이스(210)의 전송 상태가 on 상태인 제3 시점에서 서버 장치(100)에 대한 다음 데이터의 전송을 시작하도록 통신 인터페이스(210)를 제어하고, 다음 데이터의 전송이 완료된 제4 시점에 통신 인터페이스(110)의 전송 상태를 off 상태로 변경할 수 있다.
이와 같이 프로세서(220)는 시간 주기에 따라 통신 인터페이스(210)의 전송 상태를 on 상태 및 off 상태로 반복적으로 변경할 수 있다.
다른 일 실시 예로서, 프로세서(220)는 전송 조건에 포함된 전송 기간에 따라, 현재 시간이 전송 기간 이내인 경우 통신 인터페이스(210)의 전송 상태를 on 상태로 결정할 수 있다. 프로세서(220)는 현재 시간이 전송 기간 이후인 경우 통신 인터페이스(210)의 전송 상태를 off 상태로 결정할 수 있다.
예를 들어, 프로세서(220)는 현재 시간이 전송 기간 이내에 속하는 경우, 즉, 전송 기간이 만료되지 않은 경우, 통신 인터페이스(210)의 전송 상태를 on 상태로 결정할 수 있다. 또한, 프로세서(220)는 현재 시간이 전송 기간 이후인 경우, 즉, 전송 기간이 만료된 경우에 통신 인터페이스(210)의 전송 상태를 off 상태로 변경할 수 있다.
또 다른 일 실시 예로서, 전송 조건에 시간 주기 및 전송 기간이 포함된 경우를 가정하면, 프로세서(220)는 전송 기간 내에서 시간 주기를 적용하여 통신 인터페이스(210)의 전송 상태를 결정할 수 있다. 예를 들어, 프로세서(220)는 현재 시간이 전송 기간 이내인 경우에, 시간 주기에 따라, 통신 인터페이스(210)의 전송 상태를 on 상태 및 off 상태로 교번적으로 변경할 수 있다. 또한, 프로세서(220)는 현재 시간이 전송 기간 이후인 경우에는 시간 주기와 무관하게 통신 인터페이스(210)의 전송 상태를 off 상태로 결정할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치(200)의 전송 상태가 On 상태에서 서버 장치(100)와의 네트워크 연결이 끊어지고, 이후 서버 장치(100)와의 네트워크 연결이 재개되면, 프로세서(220)는 전송 기간에서 네트워크 연결이 끊어진 시점 및 네트워크 연결이 재개된 시점 사이의 기간을 제외하여 전송 상태를 결정할 수 있다.
이에 따라, 네트워크 장애 등으로 네트워크 연결이 끊어진 것으로 인해 데이터의 전송 기간이 실질적으로 줄어드는 것을 방지하고, 전자 장치(200)의 전송 상태를 on 상태로 유지하여, 전자 장치(200)에서 서버 장치(100)로 전송되는 데이터의 양을 일정 수준 이상 유지할 수 있는 효과가 있다.
이상과 같이, 본 개시의 일 실시 예에 따른 전자 장치(200)는 외부 장치로 전송되는 데이터의 종류, 데이터의 시간 주기, 데이터의 전송 기간을 제한함에 따라, 전자 장치(200)의 데이터가 외부 장치로 무분별하게 전송되는 것을 방지하고, 이에 따른 트래픽 발생을 최소화할 수 있다. 또한, 제조사의 서버 관리 비용을 저감할 수 있으며, 서버 감축의 기회를 제공할 수 있다. 이와 함께 사용자로 하여금 종래와 변함없는 advanced home IoT(Internet of Things) 경험을 제공할 수 있다.
한편, 도 8b를 참조하여, 본 개시의 일 실시 예에 따른 전자 장치(200)는 통신 인터페이스(210) 및 프로세서(220) 외에도, 메모리(230), 입력 인터페이스(240), 출력 인터페이스(250) 및 센서(260) 중에서 적어도 하나를 더 포함할 수 있다. 여기서, 통신 인터페이스(210), 프로세서(220), 메모리(230), 입력 인터페이스(240), 출력 인터페이스(250)에 대해서는 전술한 통신 인터페이스(110), 프로세서(120), 메모리(130), 입력 인터페이스(140), 출력 인터페이스(150)에 대한 설명이 각기 대응되어 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
센서(Sensor)(260)는 다양한 물리적인 신호(예: 온도, 빛, 소리, 화학 물질, 전기, 자기, 압력 등)의 양 또는 변화를 감지하는 소자를 지칭할 수 있다. 여기서, 감지된 신호는 센서(260) 또는 프로세서(220)에 의해 프로세서(120)가 해석할 수 있는 형식의 데이터로 변환될 수 있다.
센서(260)는 카메라, 마이크, 근접 센서, 조도 센서, 온도 센서, 습도 센서, 모션 센서, ToF 센서, GPS 센서 등 다양한 센서로 구현될 수 있다.
예를 들어, 카메라는 빛을 픽셀 단위로 구분하고, 각 픽셀마다 R(Red), G(Green), B(Blue) 색상에 대한 빛의 세기를 감지하여, 빛의 세기를 전기적 신호로 변환하여 객체의 색상, 형상, 명암 등을 표현하는 데이터를 획득할 수 있다. 이때, 데이터의 타입은 복수의 픽셀 각각에 대해 R, G, B 색상 값을 갖는 이미지일 수 있다. 마이크는 사용자의 음성과 같은 음파를 감지하여, 음파를 전기적 신호로 변환하여 데이터를 획득할 수 있다. 이때, 데이터의 타입은 다양한 포맷의 오디오 신호일 수 있다. 근접 센서(proximity sensor)는 주변 물체의 존재를 감지하여, 주변 물체의 존재 여부 또는 주변 물체의 근접 여부에 대한 데이터를 획득할 수 있다. 조도 센서는 전자 장치(200)의 주변 환경에 대한 광량(또는 밝기)을 감지하여, 조도에 대한 데이터를 획득할 수 있다. 온도 센서는 열복사(또는 광자)에 따라 대상 오브젝트의 온도 또는 전자 장치(200)의 주변 환경의 온도(예: 실내 온도 등)를 감지할 수 있다. 이때, 온도 센서는 적외선 카메라 등으로 구현될 수 있다. 습도 센서는 공기 중의 화학 반응에 의한 색 변화, 이온량 변화, 기전력, 전류변화 등 다양한 방식을 통해 공기 중의 수증기의 양을 감지하여 습도에 대한 데이터를 획득할 수 있다. 모션 센서는 전자 장치(200)의 이동 거리, 이동 방향, 기울기 등을 감지할 수 있다. 이를 위해, 모션 센서는 가속도 센서, 자이로(gyro) 센서, 지자기 센서 등의 결합으로 구현될 수 있다. TOF(Time Of Flight) 센서는 특정한 속도를 갖는 다양한 전자기파(예: 초음파, 적외선, 레이저 등)를 방출한 후 되돌아오는 비행 시간을 감지하여, 대상과의 거리(또는 위치)에 대한 데이터를 획득할 수 있다. GPS(Global Positioning System) 센서는 복수의 위성으로부터 전파 신호를 수신하고, 수신된 신호의 전달 시간을 이용하여 각 위성과의 거리를 각각 산출하고, 산출된 거리를 삼각측량을 이용하여 전자 장치(200)의 현재 위치에 대한 데이터를 획득할 수 있다.
다만, 상술한 센서(260)의 구현 예는 일 실시 예일 뿐이며, 이에 제한되지 아니하고 다양한 유형의 센서로 구현되는 것이 가능하다 할 것이다.
도 9는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 도면이다.
도 9를 참조하면, 본 개시의 일 실시 예로서 전자 장치(200A)는 서버 장치(100)와의 네트워크 연결 상태를 판단할 수 있다(S910). 여기서 네트워크 연결 상태는 네트워크 연결이 유지된 상태 또는 네트워크 연결이 끊어진 상태로 분류될 수 있다. 네트워크 연결이 끊어진 상태는 두 장치간 데이터를 정상적으로 송수신할 수 없거나 자원을 공유할 수 없는 상태를 지칭할 수 있으며, 네트워크 연결이 유지된 상태는 이와 반대로 두 장치간 데이터를 정상적으로 송수신할 수 있거나, 자원을 공유할 수 있는 상태를 지칭할 수 있다.
여기서, 전자 장치(200A)는 서버 장치(100)와 네트워크로 연결된 경우(S910, Y), 데이터에 대한 전송 상태를 결정할 수 있다(S920). 여기서, 데이터에 대한 전송 상태는 on 상태 및 off 상태 중 하나일 수 있다. 한편 이와 달리, 전자 장치(200A)는 서버 장치(100)와 네트워크로 연결되지 않은 경우(S910, N), 데이터를 서버 장치(100)로 전송하지 않도록 동작할 수 있다.
그리고, 전자 장치(200A)는 데이터에 대한 전송 상태가 on 상태인 경우(S920, Y) 데이터를 서버 장치(100)로 전송하도록 동작할 수 있다(S930).
도 10은 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 동작을 설명하기 위한 도면이다. 이는 도 9의 동작을 구체화하는 것이라는 점에서 중복되는 내용은 간략하게 설명하도록 한다.
도 10을 참조하면, 본 개시의 일 실시 예로서, 전자 장치(200A)는 서버 장치(100)와의 네트워크 연결 상태를 판단할 수 있다(S1010).
전자 장치(200A)는 서버 장치(100)와 네트워크로 연결된 경우(S1010, Y), 서버 장치(100)로부터 전송 조건에 따른 데이터의 전송 요청을 수신할 수 있다(S1020). 여기서, 전송 조건은 사용자 단말 장치(200B)의 서비스 요청에 기초하여 판단된 것일 수 있다.
그리고, 전자 장치(200A)는 전송 조건에 기초하여, 데이터의 전송 상태를 결정할 수 있다(S1030). 즉, 전자 장치(200A)는 전송 조건에 따라 소프트웨어적인 가상의 스위치를 적용하여, 데이터의 전송 상태를 on 상태 또는 off 상태로 결정할 수 있다.
여기서, 전자 장치(200A)는 데이터에 대한 전송 상태가 on 상태인 경우(S1040, Y) 데이터를 서버 장치(100)로 전송하도록 동작할 수 있다(S1050). 이와 달리, 전자 장치(200A)는 데이터에 대한 전송 상태가 off 상태인 경우(S1040, N)에는, 데이터를 서버 장치(100)로 전송하지 않도록 동작할 수 있다(S1060).
이와 같이, 본 개시의 일 실시 예에 따르면 사용자 단말 장치(200B) 또는 서버 장치(100)에서 데이터가 필요한 경우에만 전자 장치(200A)의 데이터의 전송 상태를 on 상태로 결정하여 전자 장치(200A)가 서버 장치(100)로 데이터를 전송하고, 사용자 단말 장치(200B) 또는 서버 장치(100)에서 데이터가 필요하지 않은 경우에는 전자 장치(200A)의 데이터의 전송 상태를 off 상태로 결정하여 전자 장치(200A)가 서버 장치(100)로 데이터를 전송하지 않을 수 있다.
도 11은 본 개시의 일 실시 예에 따른 흐름도를 설명하기 위한 도면이다.
도 11을 참조하면, 본 개시의 일 실시 예에 따른 IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치(100)의 제어 방법은, 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스의 요청이 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치(200A)를 판단하는 단계(S1110), 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 시간 주기를 판단하는 단계(S1120), 시간 주기에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송하는 단계(S1130) 및 전송 요청에 응답하여, 전자 장치(200A)로부터 데이터가 시간 주기 간격으로 수신되면, 수신된 데이터에 기초하여 서비스를 제공하는 단계(S1140)를 포함한다.
구체적으로, 사용자 단말 장치(200B)에서 실행된 어플리케이션으로부터 서비스의 요청이 수신되면, 요청에 대응되는 데이터 및 복수의 전자 장치 중 데이터를 수신하기 위한 전자 장치(200A)를 판단할 수 있다(S1110). 여기에서, 데이터는 전자 장치(200A)에서 획득한 전자 장치(200A)의 상태에 대한 데이터 및 전자 장치(200A)에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함할 수 있다.
그리고, 서비스에 기초하여 전자 장치(200A)로부터 데이터를 수신하기 위한 시간 주기를 판단할 수 있다(S1120).
여기에서, 시간 주기는 전자 장치(200A)가 획득한 데이터를 서버 장치(100)로 전송한 이후, 전자 장치(200A)가 획득한 데이터를 서버 장치(100)로 재차 전송하는 시간 간격을 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 시간 주기는 서비스에 따라 기설정되어 있을 수 있다. 이 경우, 시간 주기를 판단하는 단계는 요청된 서비스가 제1 서비스인 경우, 전자 장치(200A)가 데이터를 서버 장치(100)로 전송할 시간 주기가 제1 시간 주기인 것으로 판단할 수 있다. 또한, 시간 주기를 판단하는 단계는 요청된 서비스가 제2 서비스인 경우, 전자 장치(200A)가 데이터를 서버 장치(100)로 전송할 시간 주기가 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따른 시간 주기를 판단하는 단계는 서비스의 제공이 완료되거나, 사용자 단말 장치(200B)로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 시간 주기의 시간 간격을 증가시키는 단계를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 시간 주기를 판단하는 단계는 기설정된 기간 동안 수신된 서비스가 요청된 횟수에 기초하여 시간 주기를 판단할 수 있다.
한편, 본 개시의 일 실시 예에 따른 시간 주기를 판단하는 단계는 수신된 요청에 대응되는 데이터의 포맷 및 데이터의 크기 중 적어도 하나에 기초하여 시간 주기를 판단할 수 있다.
그리고, 시간 주기에 따른 데이터의 전송 요청을 전자 장치(200A)로 전송할 수 있다(S1130). 이 경우, 전자 장치(200A)는 데이터의 전송 요청이 수신되면, 전자 장치(200A)가 획득한 데이터를 서버 장치(100)로 전송하고, 시간 주기가 경과된 시점에서 전자 장치(200A)가 획득한 데이터를 서버 장치(100)로 전송할 수 있다.
그리고, 전송 요청에 응답하여, 전자 장치(200A)로부터 데이터가 시간 주기 간격으로 수신되면, 수신된 데이터에 기초하여 서비스를 제공할 수 있다(S1140).
한편, 본 개시의 일 실시 예에 따른 제어 방법은 서비스의 제공이 완료되거나, 사용자 단말 장치(200B)로부터 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 데이터의 전송 중단 요청을 전자 장치(200A)로 전송하는 단계를 더 포함할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(200A))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 상기하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버 장치, 어플리케이션 스토어의 서버 장치, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 상기 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 상기 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100: 전자 장치

Claims (18)

  1. IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치에 있어서,
    통신 인터페이스; 및
    사용자 단말 장치에서 실행된 어플리케이션으로부터 서비스의 요청이 상기 통신 인터페이스를 통해 수신되면, 상기 요청에 대응되는 데이터 및 상기 복수의 전자 장치 중 상기 데이터를 수신하기 위한 전자 장치를 판단하고,
    상기 서비스에 기초하여 상기 전자 장치로부터 상기 데이터를 수신하기 위한 시간 주기를 판단하고,
    상기 시간 주기에 따른 상기 데이터의 전송 요청을 상기 전자 장치로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 전송 요청에 응답하여, 상기 전자 장치로부터 상기 데이터가 상기 시간 주기 간격으로 상기 통신 인터페이스를 통해 수신되면, 상기 수신된 데이터에 기초하여 상기 서비스를 제공하는 프로세서;를 포함하는 서버 장치.
  2. 제1항에 있어서,
    상기 시간 주기는,
    상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송한 이후, 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 재차 전송하는 시간 간격을 포함하고,
    상기 전자 장치는,
    상기 데이터의 전송 요청이 수신되면, 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송하고, 상기 시간 주기가 경과된 시점에서 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송하는, 서버 장치.
  3. 제1항에 있어서,
    상기 데이터는,
    상기 전자 장치에서 획득한 상기 전자 장치의 상태에 대한 데이터 및 상기 전자 장치에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함하는 서버 장치.
  4. 제1항에 있어서,
    상기 시간 주기는, 상기 서비스에 따라 기설정되어 있는 서버 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 요청된 서비스가 제1 서비스인 경우, 상기 전자 장치가 상기 데이터를 상기 서버 장치로 전송할 시간 주기가 제1 시간 주기인 것으로 판단하고,
    상기 요청된 서비스가 제2 서비스인 경우, 상기 전자 장치가 상기 데이터를 상기 서버 장치로 전송할 시간 주기가 상기 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단하는, 서버 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 서비스의 제공이 완료되거나, 상기 사용자 단말 장치로부터 상기 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 상기 데이터의 전송 중단 요청을 상기 통신 인터페이스를 통해 상기 전자 장치로 전송하는, 서버 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 서비스의 제공이 완료되거나, 상기 사용자 단말 장치로부터 상기 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 상기 시간 주기의 시간 간격을 증가시키는, 서버 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    기설정된 기간 동안 상기 통신 인터페이스를 통해 수신된 상기 서비스가 요청된 횟수에 기초하여 상기 시간 주기를 판단하는, 서버 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 통신 인터페이스를 통해 수신된 상기 요청에 대응되는 상기 데이터의 포맷 및 상기 데이터의 크기 중 적어도 하나에 기초하여 상기 시간 주기를 판단하는, 서버 장치.
  10. IoT를 구성하는 복수의 전자 장치와 통신 연결된 서버 장치의 제어 방법에 있어서,
    사용자 단말 장치에서 실행된 어플리케이션으로부터 서비스의 요청이 수신되면, 상기 요청에 대응되는 데이터 및 상기 복수의 전자 장치 중 상기 데이터를 수신하기 위한 전자 장치를 판단하는 단계;
    상기 서비스에 기초하여 상기 전자 장치로부터 상기 데이터를 수신하기 위한 시간 주기를 판단하는 단계;
    상기 시간 주기에 따른 상기 데이터의 전송 요청을 상기 전자 장치로 전송하는 단계; 및
    상기 전송 요청에 응답하여, 상기 전자 장치로부터 상기 데이터가 상기 시간 주기 간격으로 수신되면, 상기 수신된 데이터에 기초하여 상기 서비스를 제공하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 시간 주기는,
    상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송한 이후, 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 재차 전송하는 시간 간격을 포함하고,
    상기 전자 장치는,
    상기 데이터의 전송 요청이 수신되면, 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송하고, 상기 시간 주기가 경과된 시점에서 상기 전자 장치가 획득한 데이터를 상기 서버 장치로 전송하는, 제어 방법.
  12. 제10항에 있어서,
    상기 데이터는,
    상기 전자 장치에서 획득한 상기 전자 장치의 상태에 대한 데이터 및 상기 전자 장치에서 획득한 주변 환경에 대한 데이터 중 적어도 하나를 포함하는, 제어 방법.
  13. 제10항에 있어서,
    상기 시간 주기는, 상기 서비스에 따라 기설정되어 있는, 제어 방법.
  14. 제13항에 있어서,
    상기 시간 주기를 판단하는 단계는,
    상기 요청된 서비스가 제1 서비스인 경우, 상기 전자 장치가 상기 데이터를 상기 서버 장치로 전송할 시간 주기가 제1 시간 주기인 것으로 판단하는 단계; 및
    상기 요청된 서비스가 제2 서비스인 경우, 상기 전자 장치가 상기 데이터를 상기 서버 장치로 전송할 시간 주기가 상기 제1 시간 주기보다 긴 제2 시간 주기인 것으로 판단하는 단계;를 포함하는, 제어 방법.
  15. 제10항에 있어서,
    상기 서비스의 제공이 완료되거나, 상기 사용자 단말 장치로부터 상기 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 상기 데이터의 전송 중단 요청을 상기 전자 장치로 전송하는 단계;를 더 포함하는 제어 방법.
  16. 제10항에 있어서,
    상기 시간 주기를 판단하는 단계는,
    상기 서비스의 제공이 완료되거나, 상기 사용자 단말 장치로부터 상기 어플리케이션의 실행이 종료되었음을 나타내는 정보가 수신되면, 상기 시간 주기의 시간 간격을 증가시키는 단계;를 더 포함하는, 제어 방법.
  17. 제10항에 있어서,
    상기 시간 주기를 판단하는 단계는,
    기설정된 기간 동안 수신된 상기 서비스가 요청된 횟수에 기초하여 상기 시간 주기를 판단하는, 제어 방법.
  18. 제10항에 있어서,
    상기 시간 주기를 판단하는 단계는,
    상기 수신된 요청에 대응되는 상기 데이터의 포맷 및 상기 데이터의 크기 중 적어도 하나에 기초하여 상기 시간 주기를 판단하는, 제어 방법.
KR1020200016473A 2020-02-11 2020-02-11 서버 장치 및 그의 제어 방법 KR20210101920A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200016473A KR20210101920A (ko) 2020-02-11 2020-02-11 서버 장치 및 그의 제어 방법
US17/162,488 US11418607B2 (en) 2020-02-11 2021-01-29 Server apparatus and controlling method thereof
PCT/KR2021/001386 WO2021162321A1 (ko) 2020-02-11 2021-02-03 서버 장치 및 그의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200016473A KR20210101920A (ko) 2020-02-11 2020-02-11 서버 장치 및 그의 제어 방법

Publications (1)

Publication Number Publication Date
KR20210101920A true KR20210101920A (ko) 2021-08-19

Family

ID=77177984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200016473A KR20210101920A (ko) 2020-02-11 2020-02-11 서버 장치 및 그의 제어 방법

Country Status (3)

Country Link
US (1) US11418607B2 (ko)
KR (1) KR20210101920A (ko)
WO (1) WO2021162321A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7127592B2 (ja) * 2019-03-27 2022-08-30 オムロン株式会社 報知システム
CN115396469B (zh) * 2022-07-29 2023-11-21 北京津发科技股份有限公司 传感器数据传输方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0308121D0 (en) 2003-04-09 2003-05-14 Ibm Method and apparatus for data logging
JP2011076322A (ja) 2009-09-30 2011-04-14 Hitachi Automotive Systems Ltd 車載通信端末装置および車両内部データ配信方法
KR20140054694A (ko) 2012-10-29 2014-05-09 한국전자통신연구원 센서 네트워크에서의 트래픽 절감을 위한 센서 노드 및 적응적 센싱 데이터 보고방법
KR101467748B1 (ko) 2013-02-22 2014-12-04 에스케이플래닛 주식회사 클라우드 컴퓨팅 기반의 데이터 관리 방법, 이를 위한 시스템 및 장치
US9743402B2 (en) * 2014-08-06 2017-08-22 Honeywell International Inc. Polymorphism and priority inversion to handle different types of life style and life safety traffic in wireless sensor network for a connected home
JP6209182B2 (ja) 2015-06-30 2017-10-04 ソフトバンク株式会社 サーバ、その制御方法及びその制御プログラム
KR101602760B1 (ko) 2015-09-22 2016-03-21 선샤인 앱 인코포레이티드 p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치
US10021648B2 (en) * 2016-06-29 2018-07-10 Verizon Patent And Licensing Inc. Wireless device transfer to a power saving mode
BR112019002410A2 (pt) 2016-08-12 2019-06-04 Huawei Tech Co Ltd método de transmissão de dados de serviço, dispositivo de rede, dispositivo terminal, sistema e meio legível por computador
EP3296876B1 (en) 2016-09-20 2019-08-21 Tata Consultancy Services Limited Systems and methods for predicting performance of applications on an internet of things (iot) platform
KR102054144B1 (ko) 2016-10-31 2019-12-10 에스케이 텔레콤주식회사 IoT 서비스에서 단말을 제어하기 위한 방법 및 장치
KR20180075177A (ko) 2016-12-26 2018-07-04 엘지전자 주식회사 공기조화기 시스템 및 그 제어방법
KR102316031B1 (ko) 2017-07-25 2021-10-25 한국전자통신연구원 대규모 IoT 환경에서 네트워크 전송 트래픽에 따른 서비스 품질 보장을 위한 동적 스케줄링 방법 및 이를 이용한 시스템
KR102042027B1 (ko) 2017-11-30 2019-11-07 한림대학교 산학협력단 IoT 로컬 네트워크에서 CoAP 기반의 트래픽 부하 관리 장치 및 방법
US10599109B2 (en) * 2018-03-20 2020-03-24 International Business Machines Corporation Optimizing appliance based on preparation time
KR102568626B1 (ko) * 2018-10-31 2023-08-22 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
KR20190116189A (ko) * 2019-09-23 2019-10-14 엘지전자 주식회사 세탁기 동결 예측 장치 및 방법

Also Published As

Publication number Publication date
US11418607B2 (en) 2022-08-16
US20210250410A1 (en) 2021-08-12
WO2021162321A1 (ko) 2021-08-19

Similar Documents

Publication Publication Date Title
AU2021269359B2 (en) Display method and apparatus
CN108241422B (zh) 电子设备和基于电子设备中的电池温度的热控制方法
CN110209639B (zh) 信息处理方法、装置及系统
JP6298930B2 (ja) ネットワーク接続チャンネルの状態の測定方法及び装置、電子機器、プログラム及び記録媒体
CN107786794B (zh) 向应用提供由图像传感器获取的图像的电子装置和方法
US9521239B2 (en) Apparatus and method for automatic discovery and suggesting personalized gesture control based on user's habit and context
KR102314673B1 (ko) 서버, 전자 장치 및 전자 장치의 정보 제공 방법
KR102481486B1 (ko) 오디오 제공 방법 및 그 장치
KR20170097835A (ko) 스마트 홈 시스템에서 스마트 홈 장치를 등록하기 위한 전자 장치 및 방법
CN109672720B (zh) 用于控制IoT装置的电子装置及其操作方法
KR102516019B1 (ko) 외부 전자 장치와 통신하는 전자 장치 및 방법
US11032862B2 (en) Device and communication connection method for connecting multiple devices
US11418607B2 (en) Server apparatus and controlling method thereof
CN108319461A (zh) 投影装置维护系统与投影装置维护方法
US20170195129A1 (en) Method and device to control secondary devices
JP2021152928A (ja) 端末装置、方法、およびプログラム
JP2019039570A (ja) 空気清浄システム
EP3185483A1 (en) Method, device and system for intelligent household appliance to access multiple servers
JP2016083740A (ja) 電子機器、制御システム、制御方法、および制御プログラム
CN111742556B (zh) 用于共享实时内容数据的电子设备
KR101958068B1 (ko) 스마트 홈 오토메이션 서비스 방법 및 이를 수행하는 장치들
KR102534565B1 (ko) 컨텐츠를 제공하기 위한 방법 및 그 전자 장치
KR20210123859A (ko) 전자 장치 및 그의 제어 방법
RU2765980C1 (ru) Способ и система сбора идентификаторов пользовательских устройств в виде мас-адресов
KR102192010B1 (ko) 추론 엔진 및 배포 엔진 기반 콘텐츠 제공 방법 및 이를 사용하는 전자 장치