KR102251353B1 - 근접 네트워크 구성 방법 및 그 전자 장치 - Google Patents

근접 네트워크 구성 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR102251353B1
KR102251353B1 KR1020140165416A KR20140165416A KR102251353B1 KR 102251353 B1 KR102251353 B1 KR 102251353B1 KR 1020140165416 A KR1020140165416 A KR 1020140165416A KR 20140165416 A KR20140165416 A KR 20140165416A KR 102251353 B1 KR102251353 B1 KR 102251353B1
Authority
KR
South Korea
Prior art keywords
electronic device
master
preference
master preference
cluster
Prior art date
Application number
KR1020140165416A
Other languages
English (en)
Other versions
KR20160062534A (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 KR1020140165416A priority Critical patent/KR102251353B1/ko
Priority to US14/933,736 priority patent/US10313961B2/en
Priority to CN201580060756.8A priority patent/CN107079277B/zh
Priority to EP15196117.4A priority patent/EP3026943B1/en
Priority to PCT/KR2015/012607 priority patent/WO2016085219A1/en
Publication of KR20160062534A publication Critical patent/KR20160062534A/ko
Priority to US16/405,533 priority patent/US10721679B2/en
Priority to US16/933,315 priority patent/US11228970B2/en
Application granted granted Critical
Publication of KR102251353B1 publication Critical patent/KR102251353B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • 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/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 근접 네트워크(proximity network) 구성에 관한 것으로, 전자 장치의 동작 방법은, 다수의 전자 장치들을 포함하는 클러스터(cluster)에서 기준 노드(reference node)를 결정하기 위한 참조 값을 송신하는 과정과, 상기 클러스터의 동기화된 통신 구간 외 구간에서의 추가 동작(operation)의 수행으로 인해 변경된 참조 값을 송신하는 과정과, 상기 변경된 참조 값에 기초하여 상기 기준 노드로 동작할지 여부를 결정하는 과정을 포함한다. 또한, 본 발명은 상술한 실시 예와 다른 실시 예들도 포함한다.

Description

근접 네트워크 구성 방법 및 그 전자 장치{METHOD FOR ORGANIZING PROXIMITY NETWORK AND AN ELECTRONIC DEVICE THEREOF}
본 발명은 전자 장치에서 근접 네트워크(proximity network) 구성에 관한 것이다.
최근, 근거리 통신 기술을 활용한 다양한 근접(proximity) 기반 서비스의 개발이 활발히 이루어지고 있다. 이를 통해, 물리적으로 인접한 장치들 간 연결을 설정하고, 신속하게 데이터를 교환하는 서비스가 제공될 수 있다. 예를 들어, BLE(Bluetooth low energy) 비콘(beacon)을 이용한 저전력 근접 통신의 활용 및 무선랜(LAN: local area network) 기반의 NAN(neighbor awareness networking) 기술이 제시된 바 있다.
상기 근접 기반의 서비스는 동적으로 변화하는 네트워크를 가진다. 예를 들어, 네트워크를 구성한 장치들의 집합은 '클러스터(cluster)'라 지칭될 수 있다. 새로이 클러스터에 진입하려는 장치를 위해, 장치 또는 클러스터의 존재를 알리기 위한 신호가 송신되어야 한다. 이에 따라, 상기 클러스터에 참여(join)하지 못한 장치는 상기 신호를 검출한 후, 상기 클러스터에 참여할 수 있다.
상술한 바와 같이, 근접 서비스 기반의 네트워크를 구성하기 위해, 클러스터를 발견(discovery)하기 위한 신호의 송신이 요구된다. 이때, 이미 구성된 클러스터 내의 모든 장치들이 상기 신호를 송신하거나, 또는, 일부 장치가 상기 신호를 송신할 수 있다. 만일, 상기 일부 장치가 상기 신호를 송신하는 경우, 상기 신호를 송신하는 적어도 하나의 장치는 상기 신호 송신으로 인해 상대적으로 높은 전력을 소비하고, 다른 동작(operation)을 수행하는데 제한을 받을 수 있다.
따라서, 본 발명의 일 실시 예는 전자 장치에서 효율적으로 근접 네트워크를 구성하기 위한 장치 및 방법을 제공한다.
본 발명의 다른 실시 예는 전자 장치에서 발견을 위한 신호 송신을 제어하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 전자 장치에서 발견을 위한 신호를 송신하는 역할을 제어하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 전자 장치에서 발견을 위한 신호를 송신하는 역할 결정에 관련한 정보를 조절하기 위한 장치 및 방법을 제공한다.
본 발명의 또 다른 실시 예는 전자 장치에서 발견을 위한 신호를 송신하는 기능을 제어하기 위한 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 전자 장치의 동작 방법은, 다수의 전자 장치들을 포함하는 클러스터(cluster)에서 기준 노드(reference node)를 결정하기 위한 참조 값을 송신하는 과정과, 상기 클러스터의 동기화된 통신 구간 외 구간에서의 추가 동작(operation)의 수행으로 인해 변경된 참조 값을 송신하는 과정과, 상기 변경된 참조 값에 기초하여 상기 기준 노드로 동작할지 여부를 결정하는 과정을 포함한다.
본 발명의 실시 예에 따른 전자 장치는, 다수의 전자 장치들을 포함하는 클러스터에서 기준 노드를 결정하기 위한 참조 값을 송신하고, 상기 클러스터의 동기화된 통신 구간 외 구간에서의 추가 동작의 수행으로 인해 변경된 참조 값을 송신하는 송신부와, 상기 변경된 참조 값에 기초하여 상기 기준 노드로 동작할지 여부를 결정하는 프로세서를 포함한다.
전자 장치에서 상황을 고려하여 마스터(master)로 동작하지 아니하거나, 마스터의 기능 일부를 수행하지 아니하거나, 추가 동작(post operation)의 채널을 조절함으로써, 근접 네트워크(proximity network)에서 클러스터(cluster) 내의 통신에 더하여 추가 동작을 원활히 수행할 수 있다.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치를 도시한다.
도 2는 다양한 실시 예에 따른 전자 장치를 도시한다.
도 3은 다양한 실시 예에 따른 프로그램 모듈을 도시한다.
도 4는 일 실시 예에 따른 근접 네트워크를 위한 클러스터(cluster) 구성 예를 도시한다.
도 5는 일 실시 예에 따른 근접 네트워크에서 신호 송신 프로토콜(protocol)의 예를 도시한다.
도 6은 일 실시 예에 따른 근접 네트워크에서의 데이터 송수신의 예를 도시한다.
도 7은 일 실시 예에 따른 근접 네트워크에서 마스터 장치의 동작 예를 도시한다.
도 8은 일 실시 예에 따른 근접 네트워크에서 장치의 역할 천이를 도시한다.
도 9는 일 실시 예에 따른 근접 네트워크에서 동기화된 통신 구간 외 구간의 추가 동작에 대한 스케줄링 정보의 구성 예를 도시한다.
도 10은 일 실시 예에 따른 근접 네트워크에서 통신 구간 외 구간의 추가 동작을 위한 절차를 도시한다.
도 11은 일 실시 예에 따른 근접 네트워크에서 마스터 장치의 비콘(beacon) 송신을 도시한다.
도 12는 일 실시 예에 따른 전자 장치에서 마스터 선호도(master preference)를 결정하는 절차를 도시한다.
도 13은 일 실시 예에 따른 전자 장치에서 공존(concurrent) 동작 여부에 따라 마스터 선호도를 결정하는 절차를 도시한다.
도 14는 일 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도가 조절되는 상황을 도시한다.
도 15는 일 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다.
도 16은 다른 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다.
도 17은 또 다른 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다.
도 18은 일 실시 예에 따른 전자 장치에서 프로세서(processor)의 동작 모드에 의해 마스터 선호도가 조절되는 상황을 도시한다.
도 19는 일 실시 예에 따른 전자 장치에서 프로세서의 동작 모드에 의해 마스터 선호도를 조절하는 절차를 도시한다.
도 20은 다른 실시 예에 따른 전자 장치에서 프로세서의 동작 모드에 의해 마스터 선호도를 조절하는 절차를 도시한다.
도 21은 일 실시 예에 따른 전자 장치의 동작 절차를 도시한다.
도 22는 다른 실시 예에 따른 전자 장치의 동작 절차를 도시한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 전자 장치에서 효율적으로 근접 네트워크를 구성하기 위한 기술에 대해 설명한다.
이하 설명에서 사용되는 신호들 지칭하는 용어, 장치들 간 교환되는 정보를 지칭하는 용어, 각 장치 및 장치들의 집합을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 발명이 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 대상을 지칭하는 다른 용어가 사용될 수 있다.
이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하 설명의 편의를 위하여, 본 발명은 무선랜(LAN: local area network) 표준인 WiFi(Wireless Fidelity) 규격에서 정의하고 있는 용어 및 명칭들을 사용한다. 하지만, 본 발명이 상기 용어 및 명칭들에 의해 한정되는 것은 아니며, 다른 규격에 따르는 시스템에도 동일하게 적용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나,"또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", " A 및 B 중 적어도 하나,"또는 " A 또는 B 중 적어도 하나"는,(1) 적어도 하나의 A를 포함,(2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제 1", "제 2", "첫째,"또는"둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 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)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시 예에서의, 네트워크 환경 100 내의 전자 장치 101가 기재된다. 상기 전자 장치 101는 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 150, 디스플레이 160, 및 통신 인터페이스 170를 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 101는, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스 110는, 예를 들면, 상기 구성요소들 110-170을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서 120는, 중앙처리장치(central processing unit(CPU)), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서 120은, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 상기 프로세서 120는 근접 네트워크를 구성하고, 상기 근접 네트워크의 클러스터(cluster)에 속한 다른 전자 장치들과 동기화된 통신 구간을 통해 데이터를 교환하도록 제어할 수 있다. 나아가, 상기 프로세서 120는 상기 동기화된 통신 구간 외 구간에서 추가적인 동작을 수행하도록 제어할 수 있다. 특히, 본 발명의 일 실시 예에 따라, 상기 프로세서 120는 상기 클러스터 내에서 기준 노드(reference node)를 결정하기 위해 사용되는 참조(reference) 값을 상기 전자 장치 100의 상황에 따라 조절할 수 있다. 예를 들어, 상기 프로세서 120는 상기 전자 장치 100가 이하 도 15, 이하 도 16, 이하 도 17, 이하 도 19, 이하 도 20, 이하 도 21, 이하 도 22에 도시된 절차를 수행하도록 제어할 수 있다.
예를 들어, 상기 전자 장치 101는 다수의 전자 장치들을 포함하는 클러스터(cluster)에서 기준 노드를 결정하기 위한 참조 값을 송신하고, 상기 클러스터의 동기화된 통신 구간 외 구간에서의 추가 동작(operation)의 수행으로 인해 변경된 참조 값을 송신하는 송신부를 포함하고, 상기 프로세서 120는 상기 변경된 참조 값에 기초하여 상기 기준 노드로 동작할지 여부를 결정할 수 있다. 여기서, 상기 기준 노드는, 상기 동기화된 통신 구간 외 구간에서 상기 집합 외 다른 전자 장치를 위한 신호를 송신하는 노드이다.
나아가, 상기 프로세서 120는 상기 변경된 참조 값을 송신하기 전, 상기 참조 값을 조절할 수 있다. 예를 들어, 상기 프로세서 120는, 상기 추가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이한 경우, 상기 참조 값을 조절할 수 있다. 또는, 상기 프로세서 120는, 상기 전자 장치가 상기 기준 노드로 기능하는 경우, 상기 참조 값을 조절할 수 있다. 또는, 상기 프로세서 120는, 현재 값보다 낮은 값, 설정 가능한 범위의 최소값, 상기 집합 내 적어도 하나의 다른 전자 장치의 참조 값의 평균값 이하의 값, 상기 집합 내 적어도 하나의 다른 전자 장치의 참조 값의 최소값 이하의 값 중 하나로 상기 참조 값을 결정할 수 있다.
또한, 상기 프로세서 120는, 상기 추가 동작을 종료한 후, 상기 변경된 참조 값을 변경 전의 값으로 조절할 수 있다. 또한, 상기 송신부는, 상기 프로세서(processor)가 슬립(sleep) 모드로 진입함으로 인해 변경된 참조 값을 송신할 수 있다. 또한, 상기 프로세서 120는, 상기 프로세서가 슬립 모드를 종료하면, 상기 변경된 참조 값을 변경 전의 값으로 조절할 수 있다. 추가적으로, 상기 송신부는, 상기 전자 장치의 배터리(battery) 잔량에 기초하여 변경된 참조 값을 송신할 수 있다
상기 메모리 130는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리 130는, 예를 들면, 상기 전자 장치 101의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리 130는 소프트웨어 및/또는 프로그램 140을 저장할 수 있다. 상기 프로그램 140은, 예를 들면, 커널 141, 미들웨어 143, 어플리케이션 프로그래밍 인터페이스(application programming interface(API)) 145, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 147 등을 포함할 수 있다. 상기 커널 141, 미들웨어 143, 또는 API 145의 적어도 일부는, 운영 시스템(operating system(OS))라 불릴 수 있다.
상기 커널 141은, 예를 들면, 다른 프로그램들(예: 미들웨어 143, API 145, 또는 어플리케이션 프로그램 147)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 110, 프로세서 120, 또는 메모리 130 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널 141은 상기 미들웨어 143, 상기 API 145, 또는 상기 어플리케이션 프로그램 147에서 상기 전자 장치 101의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어 143는, 예를 들면, 상기 API 145 또는 상기 어플리케이션 프로그램 147이 상기 커널 141과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어 143는 상기 어플리케이션 프로그램 147로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 어플리케이션 프로그램 147 중 적어도 하나의 어플리케이션에 상기 전자 장치 101의 시스템 리소스(예: 버스 110, 프로세서 120, 또는 메모리 130 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)을 수행할 수 있다.
상기 API 145는, 예를 들면, 상기 어플리케이션 147이 상기 커널 141 또는 상기 미들웨어 143에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치 101의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스 150은 상기 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이 160은, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이 160은, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 상기 디스플레이 160은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스 170은, 예를 들면, 상기 전자 장치 101와 외부 장치(예: 제 1 외부 전자 장치 102, 제 2 외부 전자 장치 104, 또는 서버 106) 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스 170은 무선 통신 또는 유선 통신을 통해서 네트워크 162에 연결되어 상기 외부 장치(예: 제 2 외부 전자 장치 104 또는 서버 106)와 통신할 수 있다. 특히, 본 발명의 다양한 실시 예들에 따라, 상기 통신 인터페이스 170은 다수의 통신 규격들을 지원하는 다수의 모듈들을 포함할 수 있다. 또한, 상기 통신 인터페이스 170은 근접 네트워크를 위한 프로토콜 스택(protocol stack)을 포함할 수 있다. 상기 통신 인터페이스 170은 신호를 송신 및 수신하는 기능을 수행하므로, 송신부, 수신부, 통신부, 또는 송수신부로 지칭될 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 네트워크 162는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
상기 제 1 및 제 2 외부 전자 장치 102, 104 각각은 상기 전자 장치 101와 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 상기 서버 106는 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 상기 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)에서 실행될 수 있다. 한 실시 예에 따르면, 상기 전자 장치 101가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 상기 전자 장치 101는 상기 기능 또는 상기 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102, 104, 또는 서버 106)에게 요청할 수 있다. 상기 다른 전자 장치(예: 전자 장치 102, 104, 또는 서버 106)는 상기 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 상기 전자 장치 101로 전달할 수 있다. 상기 전자 장치 101는 수신된 결과를 그대로 또는 추가적으로 처리하여 상기 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시 예에 따른 전자 장치 201의 블록도 200이다. 상기 전자 장치 201는, 예를 들면, 도 1에 도시된 전자 장치 101의 전체 또는 일부를 포함할 수 있다. 상기 전자 장치 201는 하나 이상의 어플리케이션 프로세서(AP: application processor) 210, 통신 모듈 220, SIM(subscriber identification module) 카드 224, 메모리 230, 센서 모듈 240, 입력 장치 250, 디스플레이 260, 인터페이스 270, 오디오 모듈 280, 카메라 모듈 291, 전력 관리 모듈 295, 배터리 296, 인디케이터 297, 및 모터 298 를 포함할 수 있다.
상기 AP 210는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 상기 AP 210에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 210는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP 210는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 상기 AP 210는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 221)를 포함할 수도 있다. 상기 AP 210 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 통신 모듈 220은, 도 1의 상기 통신 인터페이스 160와 동일 또는 유사한 구성을 가질 수 있다. 상기 통신 모듈 220은, 예를 들면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227, NFC 모듈 228 및 RF(radio frequency) 모듈 229를 포함할 수 있다.
상기 셀룰러 모듈 221은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 가입자 식별 모듈(예: SIM 카드 224)을 이용하여 통신 네트워크 내에서 전자 장치 201의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 상기 AP 210가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈 221은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
상기 WIFI 모듈 223, 상기 BT 모듈 225, 상기 GPS 모듈 227 또는 상기 NFC 모듈 228 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.
상기 RF 모듈 229는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. 상기 RF 모듈 229는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 221, WIFI 모듈 223, BT 모듈 225, GPS 모듈 227 또는 NFC 모듈 228 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
상기 SIM 카드 224는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리 230(예: 메모리 230)는, 예를 들면, 내장 메모리 232 또는 외장 메모리 234를 포함할 수 있다. 상기 내장 메모리 232는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
상기 외장 메모리 234는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 상기 외장 메모리 234는 다양한 인터페이스를 통하여 상기 전자 장치 201과 기능적으로 및/또는 물리적으로 연결될 수 있다.
상기 센서 모듈 240은, 예를 들면, 물리량을 계측하거나 전자 장치 201의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 240은, 예를 들면, 제스처 센서 240A, 자이로 센서 240B, 기압 센서 240C, 마그네틱 센서 240D, 가속도 센서 240E, 그립 센서 240F, 근접 센서 240G, color 센서 240H(예: RGB(red, green, blue) 센서), 생체 센서 240I, 온/습도 센서 240J, 조도 센서 240K, 또는 UV(ultra violet) 센서 240M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 240은, 예를 들면, 후각 센서(E-nose sensor), EMG 센서(electromyography sensor), EEG 센서(electroencephalogram sensor), ECG 센서(electrocardiogram sensor), IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 상기 센서 모듈 240은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 201는 AP 210의 일부로서 또는 별도로, 센서 모듈 240을 제어하도록 구성된 프로세서를 더 포함하여, 상기 AP 210가 슬립(sleep) 모드에 있는 동안, 센서 모듈 240을 제어할 수 있다.
상기 입력 장치 250은, 예를 들면, 터치 패널(touch panel) 252,(디지털) 펜 센서(pen sensor) 254, 키(key) 256, 또는 초음파(ultrasonic) 입력 장치 258를 포함할 수 있다. 상기 터치 패널 252은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 상기 터치 패널 252은 제어 회로를 더 포함할 수도 있다. 상기 터치 패널 252은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
상기(디지털) 펜 센서 254는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트(sheet)를 포함할 수 있다. 상기 키 256는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치 258는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 201에서 마이크(예: 마이크 288)로 음파를 감지하여 데이터를 확인할 수 있다.
상기 디스플레이 260(예: 디스플레이 160)은 패널 262, 홀로그램 장치 264, 또는 프로젝터 266을 포함할 수 있다. 상기 패널 262은, 도 1의 디스플레이 160과 동일 또는 유사한 구성을 포함할 수 있다. 상기 패널 262은, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 262은 상기 터치 패널 252과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 264은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 266는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 201의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 상기 디스플레이 260은 상기 패널 262, 상기 홀로그램 장치 264, 또는 프로젝터 266를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 270는, 예를 들면, HDMI(high-definition multimedia interface) 272, USB(universal serial bus) 274, 광 인터페이스(optical interface) 276, 또는 D-sub(D-subminiature) 278를 포함할 수 있다. 상기 인터페이스 270는, 예를 들면, 도 1에 도시된 통신 인터페이스 160에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 270는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure digital) 카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 280은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 280의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스 140에 포함될 수 있다. 상기 오디오 모듈 280은, 예를 들면, 스피커 282, 리시버 284, 이어폰 286, 또는 마이크 288 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈 291은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래쉬(flash)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 295은, 예를 들면, 상기 전자 장치 201의 전력을 관리할 수 있다. 한 실시 예에 따르면, 상기 전력 관리 모듈 295은 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 상기 배터리 게이지는, 예를 들면, 상기 배터리 296의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 상기 배터리 296는, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 297는 상기 전자 장치 201 혹은 그 일부(예: AP 210)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터 298는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 상기 전자 장치 201는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어 플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
상기 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시 예에 따른 프로그램 모듈 310의 블록도 300이다. 한 실시 예에 따르면, 상기 프로그램 모듈 310(예: 프로그램 140)은 전자 장치(예: 전자 장치 101)에 관련된 자원을 제어하는 운영 체제(operation system(OS)) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 147)을 포함할 수 있다. 상기 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 310은 커널 320, 미들웨어 330, API(application programming interface) 360, 및/또는 어플리케이션 370을 포함할 수 있다. 상기 프로그램 모듈 310의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 서버(예: 서버 106)로부터 다운로드(download) 가능하다.
상기 커널 320(예: 도 1의 커널 141)은, 예를 들면, 시스템 리소스 매니저 321 또는 장치 드라이버 323를 포함할 수 있다. 상기 시스템 리소스 매니저 321는 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 상기 시스템 리소스 매니저 321는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 상기 장치 드라이버 323는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WIFI 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
상기 미들웨어 330는, 예를 들면, 상기 어플리케이션 370이 공통적으로 필요로 하는 기능을 제공하거나, 상기 어플리케이션 370이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 상기 API 360를 통해 다양한 기능들을 상기 어플리케이션 370으로 제공할 수 있다. 한 실시 예에 따르면, 상기 미들웨어 330(예: 미들웨어 143)는 런타임 라이브러리 335, 어플리케이션 매니저(application manager) 341, 윈도우 매니저(window manager) 342, 멀티미디어 매니저(multimedia manager) 343, 리소스 매니저(resource manager) 344, 파워 매니저(power manager) 345, 데이터베이스 매니저(database manager) 346, 패키지 매니저(package manager) 347, 연결 매니저(connectivity manager) 348, 통지 매니저(notification manager) 349, 위치 매니저(location manager) 350, 그래픽 매니저(graphic manager) 351, 또는 보안 매니저(security manager) 352 중 적어도 하나를 포함할 수 있다.
상기 런타임 라이브러리 335는, 예를 들면, 상기 어플리케이션 370이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 상기 런타임 라이브러리 335는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
상기 어플리케이션 매니저 341는, 예를 들면, 상기 어플리케이션 370 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 상기 윈도우 매니저 342는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 상기 멀티미디어 매니저 343는 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 상기 리소스 매니저 344는 상기 어플리케이션 370 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
상기 파워 매니저 345는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리(battery) 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 상기 데이터베이스 매니저 346는 상기 어플리케이션 370 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 상기 패키지 매니저 347는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
상기 연결 매니저 348는, 예를 들면, WIFI 또는 블루투스 등의 무선 연결을 관리할 수 있다. 상기 통지 매니저 349는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 상기 위치 매니저 350는 전자 장치의 위치 정보를 관리할 수 있다. 상기 그래픽 매니저 351는 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 상기 보안 매니저 352는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 101)가 전화 기능을 포함한 경우, 상기 미들웨어 330는 상기 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
상기 미들웨어 330는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 상기 미들웨어 330는 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 상기 미들웨어 330는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
상기 API 360(예: API 145)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
상기 어플리케이션 370(예: 어플리케이션 프로그램 147)은, 예를 들면, 홈 371, 다이얼러 372, SMS/MMS 373, IM(instant message) 374, 브라우저 375, 카메라 376, 알람 377, 컨택트 378, 음성 다이얼 379, 이메일 380, 달력 381, 미디어 플레이어 382, 앨범 383, 또는 시계 384, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 제공할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 370은 상기 전자 장치(예: 전자 장치 101)와 외부 전자 장치(예: 전자 장치 102, 104) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의 상, "정보 교환 어플리케이션")을 포함할 수 있다. 상기 정보 교환 어플리케이션은, 예를 들면, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 어플리케이션은 상기 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 102, 104)로 전달하는 기능을 포함할 수 있다. 또한, 상기 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 어플리케이션은, 예를 들면, 상기 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 104)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 어플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 상기 어플리케이션 370은 상기 외부 전자 장치(예: 전자 장치 102, 104)의 속성(예: 전자 장치의 속성으로서, 전자 장치의 종류가 모바일 의료 기기)에 따라 지정된 어플리케이션(예: 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 370은 외부 전자 장치(예: 서버 106 또는 전자 장치 102, 104)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 어플리케이션 370은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 310의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 상기 프로그램 모듈 310의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 상기 프로그램 모듈 310의 적어도 일부는, 예를 들면, 프로세서(예: AP 210)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그램 모듈 310의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,"모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 130가 될 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
본 발명에서 고려하는 근접 네트워크의 특성에 대하여 살펴보면 다음과 같다.
도 4는 일 실시 예에 따른 근접 네트워크를 위한 클러스터(cluster) 구성 예를 도시한다.
상기 클러스터는 상호 간 데이터를 송신 및 수신할 수 있도록 네트워크를 구성하는 적어도 하나의 장치의 집합을 의미한다. 상기 클러스터는 'NAN(neighbor awareness networking) 클러스터'라 지칭될 수 있다. 상기 도 4를 참고하면, 장치들 410-1, 410-2, 410-3, 410-4이 하나의 클러스터를 구성한다. 즉, 상기 장치들 410-1, 410-2, 410-3, 410-4는 동기화(synchronization)되어 있으며, 약속된 프로토콜(protocol)에 따라 데이터를 교환할 수 있다. 예를 들어, 상기 약속된 프로토콜은 하기 도 5와 같이 진행될 수 있다.
도 5는 일 실시 예에 따른 근접 네트워크에서 신호 송신 프로토콜의 예를 도시한다.
상기 도 5는 특정 채널(예: 채널6)에서의 신호 송신 절차를 예시한다. 상기 도 5를 참고하면, 클러스터의 동기화된 DW(discovery window) 구간 502 에서 동기 비콘(synchronization beacon) 및 서비스 발견 프레임(service discovery frame)이 송신될 수 있으며, 상기 DW 구간 외 구간 504에서 발견 비콘(discovery beacon)이 송신될 수 있다. 이때, 상기 동기 비콘 및 상기 서비스 발견 프레임은 경쟁(contention) 기반으로 송신된다. 상기 DW 502는 클러스터 내 장치들 간 데이터 교환을 위해 동기화된 구간을 의미한다. 채널에서의 자원은 시간 유닛(TU: time unit) 단위로 구분될 수 있으며, 상기 DW 502는 16 시간 유닛들을 점유하고, 512 시간 유닛들 간격으로 존재할 수 있다.
상기 발견 비콘은 클러스터에 참여(join)하지 못한 다른 장치가 상기 클러스터를 발견할 수 있도록 송신되는 신호이다. 다시 말해, 상기 발견 비콘은 상기 클러스터의 존재를 알리기 위한 신호이다. 이에 따라, 상기 클러스터에 참여하지 아니한 장치들이 패시브 스캔(passive scan)을 수행함으로써 상기 발견 비콘을 검출하고, 상기 클러스터에 참여할 수 있다. 상기 발견 비콘은 상기 클러스터에 동기화하기 위해 필요한 정보를 포함할 수 있다. 예를 들어, 상기 발견 비콘은 신호의 기능(function)(예: 비콘)을 지시하는 FC(frame control) 필드(field), 방송 주소(broadcast address), 송신 장치의 MAC(media access control) 주소, 클러스터 식별자(identifier), 시퀀스 제어(sequence control) 필드, 비콘 프레임에 대한 타임 스탬프(time stamp), 상기 발견 비콘의 송신 간격을 나타내는 비콘 간격(beacon interval) 필드, 송신 장치에 대한 능력(capability) 정보 중 적어도 하나를 포함할 수 있다. 특히, 상기 발견 비콘은 적어도 하나의 근접 네트워크 관련 정보 요소(information element)를 포함할 수 있다. 상기 근접 네트워크 관련 정보는 '어트리뷰트(attribute)'로 지칭될 수 있다.
상기 동기 비콘은 클러스터 내의 동기화된 장치들 간 동기를 유지하기 위한 신호이다. 상기 동기 비콘은 상기 클러스터에 동기화하기 위해 필요한 정보를 포함할 수 있다. 예를 들어, 상기 동기 비콘은 신호의 기능(예: 비콘)을 지시하는 FC 필드, 방송 주소, 송신 장치의 MAC 주소, 클러스터 식별자, 시퀀스 제어 필드, 비콘 프레임에 대한 타임 스탬프, 상기 DW 502의 시작 지점 간 간격을 나타내는 비콘 간격 필드, 송신 장치에 대한 능력 정보 중 적어도 하나를 포함할 수 있다. 특히, 상기 동기 비콘은 적어도 하나의 근접 네트워크 관련 정보 요소를 포함할 수 있다.
상기 서비스 발견 프레임은 근접 네트워크를 통해 데이터를 교환하기 위한 신호이다. 다시 말해, 상기 근접 네트워크 관련 정보는 상기 근접 네트워크를 통해 되는 서비스를 위한 컨텐츠(contents)를 포함한다. 상기 서비스 발견 프레임은 벤더 특정 공개 액션 프레임(vender specific public action frame)으로서, 다양한 필드들을 포함할 수 있다. 예를 들어, 상기 서비스 발견 프레임은 카테고리(category), 액션(action) 필드 등을 포함할 수 있으며, 특히, 적어도 하나의 근접 네트워크 관련 정보를 포함할 수 있다.
상술한 바와 같이, 상기 발견 비콘, 상기 동기 비콘, 상기 서비스 발견 프레임은 상기 근접 네트워크 관련 정보를 포함할 수 있다. 상기 근접 네트워크 관련 정보는 정보의 종류를 나타내는 식별자, 정보의 길이 및 대응하는 정보인 바디(body) 필드를 포함할 수 있다. 예를 들어, 상기 대응하는 정보는 마스터 지시(master indication) 정보, 클러스터 정보, 서비스 식별자 목록 정보, 서비스 서술(descriptor) 정보, 연결 능력 정보, 무선랜 인프라스트럭쳐(infrastructure) 정보, P2P(peer to peer) 동작 정보, IBSS(independent basic service set) 정보, 매쉬(mesh) 정보, 추가 근접 네트워크 서비스 발견 정보, 추가 가용성 맵(further availability map) 정보, 국가 코드(country code) 정보, 레인징 정보, 클러스터 발견 정보, 벤더 특정 정보 중 적어도 하나를 포함할 수 있다.
도 6은 일 실시 예에 따른 근접 네트워크에서의 데이터 송수신의 예를 도시한다. 상기 도 6은 어느 하나의 장치가 데이터 및 비콘을 송수신하고, 적어도 하나의 다른 장치가 상기 데이터 및 상기 비콘을 송신하는 경우를 예시한다.
상기 도 6을 참고하면, 장치 610-1은 DW에서 비콘 및 서비스 발견 프레임을 송신한다. 이에 따라, 장치 610-2 및 장치 610-3은 상기 장치 610-1에 의해 송신된 비콘 및 서비스 발견 프레임을 수신할 수 있다. 여기서, 상기 DW 구간 동안 송신되는 비콘은 동기 비콘으로서, 상기 장치들 610-1 내지 610-3 간 동기를 유지하기 위한 정보를 포함할 수 있다.
상기 DW 외의 구간에서, 상기 장치들 610-1 내지 610-3은 슬립(sleep) 모드를 유지한다. 즉, 상기 장치들 610-1 내지 610-3의 시간 클럭(time clock)이 동기화되며, 상기 장치들 610-1 내지 610-3은 상기 DW 구간에서 웨이크(wake) 상태로 동작한다. 이에 따라, 저전력 상태가 유지될 수 있다. 이로 인해, 상기 장치들 610-1 내지 610-3이 발견 상태를 유지하더라도, 전류 소모가 적고, 정보 교환도 용이하다. 이에 따라, 다양한 응용 서비스가 제공될 수 있다.
상술한 바와 같이 구성되는 클러스터 내에서, 동기화 및 통신이 수행될 수 있다. 이때, 클러스터를 구성하거나, 구성할 수 있는 다수의 장치들 각각은, 마스터(master) 역할, 동기화된 비-마스터(non-master sync) 역할, 비동기화된 비-마스터(non-master non-sync) 역할 중 하나를 수행할 수 있다. 상기 마스터는 클러스터에 참여하고, DW 구간 외 구간에서 발견 비콘을 송신하는 장치로서, 동기 비콘 및 발견 비콘을 모두 송신한다. 상기 동기화된 비-마스터는 클러스터에 참여하였으나 마스터가 아닌 장치로서, 동기 비콘을 송신한다. 상기 비동기화된 비-마스터는 클러스터에 참여한 후 동기를 유실한 장치로서, 동기 비콘 및 발견 비콘을 송신하지 아니한다. 즉, 마스터의 역할을 가지는 장치는, 클러스터에 참여한 다른 장치들에 비해, 발견 비콘을 송신하는 기능을 더 수행한다.
상기 마스터 역할을 가지는 장치의 동작을 살펴보면, 이하 도 7과 같다. 이하 설명의 편의를 위해, 상기 '마스터 역할을 가지는 장치'는 '마스터 장치'로 지칭된다. 도 7은 일 실시 예에 따른 근접 네트워크에서 마스터 장치의 동작 예를 도시한다. 상기 도 7을 참고하면, 상기 마스터 장치는 상기 마스터 장치는 동기화된 DW 702 외의 DW들 간 간격 704에서, 발견 비콘을 주기적으로 송신한다. 예를 들어, 상기 발견 비콘은 50 시간 유닛들 내지 200의 시간 유닛들을 주기로 송신될 수 있다. 즉, 상기 마스터 장치는 상기 DW 외 구간 704 동안 2회 내지 10회 발견 비콘들을 송신할 수 있다. 이에 따라, 동기화하고자 하는 다른 장치는 일정 시간 채널을 청취(listen), 즉, 패시브 스캔함으로써 발견 비콘을 수신하고, 상기 마스터 장치에 의해 구성되는 클러스터에 동기화할 수 있다. 상기 클러스터 내의 장치들은, 상기 마스터 장치의 TSF(time synchronization function)을 기준으로 동기화된다.
상술한 바와 같이, 근접 네트워크에서, 장치들 각각은 다양한 역할을 가질 수 있다. 이때, 장치들의 역할은 동적으로 변화할 수 있다. 도 8은 일 실시 예에 따른 근접 네트워크에서 장치의 역할 천이를 도시한다.
상기 도 8을 참고하면, 마스터 852에서 동기화된 비-마스터 854로, 상기 동기화된 비-마스터 854에서 상기 마스터 852로 역할 또는 상태가 천이될 수 있다. 또한, 상기 동기화된 비-마스터 854에서 비동기화된 비-마스터 856로, 상기 비동기화된 비-마스터 856에서 상기 동기화된 비-마스터 854로 역할 또는 상태가 천이될 수 있다. 또한, 상기 비동기화된 비-마스터 856에서 상기 마스터 852로 역할 또는 상태가 천이될 수 있다.
최초 클러스터가 구성되지 아니하거나, 클러스터에 처음 참여하면, 장치는 상기 마스터 852로 동작한다. 최초 클러스터가 구성되지 아니한 경우, 장치는 상기 마스터 852로 동작한다. 이에 따라, 상기 장치는, 다른 장치들의 발견을 지원하기 위해, 특정 주기(예: 약 100ms)에 따라 발견 비콘을 방송하고, 동시에, 특정 주기(예: 약 10sec) 마다 일정 시간 구간(예: 110 내지 120ms) 동안 패시브 스캔을 수행함으로써 다른 장치에서 송신되는 발견 신호를 탐색한다.
상기 마스터 852로 동작하는 장치는, 하나의 DW 동안 동기화된 비-마스터 854로 천이하지 아니하는 한, 상기 마스터 852의 역할을 유지한다. 상기 마스터 852로 동작하는 장치는 클러스터 내 다른 장치들로부터 수신되는 동기 비콘의 신호 세기(예: RSSI(received signal strength information)) 및 상기 동기 비콘에 포함되는 정보에 기초하여, 상기 동기화된 비-마스터 854 역할로 천이할 수 있다. 유사하게, 상기 동기화된 비-마스터 854로 동작하는 장치는, 천이 조건 만족 시, DW의 끝에서 상기 마스터 852로 역할을 천이할 수 있다. 이때, 상기 장치는 하나의 DW 동안 역할 천이 여부를 판단하고, 상기 DW의 끝에서 역할을 천이할 수 있다.
상기 장치가 상기 마스터 852에서 상기 동기화된 비-마스터 854로 천이하는 경우, 상기 비동기된 비-마스터 856상태로 천이하기 전까지, 상기 장치는 동기 상태를 유지한다. 비동기된 비-마스터 856로 동작하는 장치는, 천이 조건 만족 시, 해당 DW의 끝에서, 상기 마스터 852 또는 상기 비동기화된 비-마스터 854로 천이할 수 있다.
상술한 바와 같이, 클러스터에 동기화된 장치는 역할을 변경할 수 있다. 이때, 상기 마스터로 기능할 것인지 여부는 수신된 다른 장치의 비콘에 대한 신호 세기 및 자신 및 다른 장치의 마스터 랭크(master rank)에 기초하여 판단될 수 있다. 상기 마스터 랭크는 마스터 선호도(master preference), 랜덤 인자(random factor), 장치 주소의 일부 비트 중 적어도 하나에 기초하여 판단될 수 있다. 상기 클러스터에 속한 다수의 장치들은 미리 정의된 규칙에 따라 상기 다수의 장치들 각각의 마스터 랭크를 결정하고, 마스터로 기능할지 여부를 판단한다. 이때, 상기 마스터 랭크가 상대적으로 높을수록, 마스터로 기능할 가능성이 높아진다. 예를 들어, 상기 마스터 랭크는 하기 <수학식 1>과 같이 결정될 수 있다.
Figure 112014114078808-pat00001
상기 <수학식 1>에서, 상기 MR은 마스터 랭크, 상기 MP는 마스터 선호도, 상기 RF는 랜덤 인자, 상기 MAC[k]는 장치 주소의 k번째 옥텟(octet)이다.
상기 마스터 선호도 및 상기 랜덤 인자는 미리 정의된 최소값(예: 0) 내지 최대 값(예: 128) 사이의 값으로 설정된다. 상기 마스터 선호도 및 상기 랜덤 인자는 각 장치에 의해 결정될 수 있다. 상기 마스터 선호도를 결정하는 규칙은 다양한 실시 예들에 따라 달라질 수 있다. 예를 들어, 각 장치는 배터리(battery) 잔량에 기초하여 상기 마스터 선호도를 결정할 수 있다. 상기 마스터 선호도 및 상기 랜덤 인자는 동기 비콘 또는 발견 비콘에 포함됨으로써, 장치들 간 교환될 수 있다. 구체적으로, 상기 마스터 선호도 및 상기 랜덤 인자는 근접 네트워크 관련 정보 요소들 중 하나인 마스터 지시 정보에 포함될 수 있다. 상기 마스터 지시 정보는 '마스터 지시 어트리뷰트(master indication attribute)'로 지칭될 수 있다.
상기 장치 주소는 인터페이스 주소(interface address)를 포함할 수 있다. 상기 인터페이스 주소는 클러스터 내에서 각 장치들을 유일하게(unique) 식별하는 주소이다. 상기 인터페이스 주소는 MAC 주소에 기초하여 결정될 수 있다.
상술한 바와 같이, 동기화된 DW 내에서 데이터를 교환하는 것 외, 장치들은 상기 DW 외의 구간에서 추가적인 동작을 수행할 수 있다. 즉, 상기 클러스터 내의 장치들 중 적어도 하나는 동기화된 통신 구간 외 구간의 추가 동작을 수행할 수 있다. 다시 말해, 상기 장치는 DW 외 구간에서 활성 시간(active time) 구간을 지정하고, 상기 구간 동안 추가적인 서비스 발견을 수행할 수 있다. 여기서, 상기 DW 외 구각 외 구간은 '추가 윈도우(window)' 또는 '포스트 윈도우(post window)'라 지칭될 수 있다. 나아가, 상기 추가적진 서비스 발견 뿐만 아니라, 상기 장치는 상기 구간 동안 WiFi-다이렉트(direct), TDLS(tunneled direct link setup), 매쉬, IBSS, 무선랜 연결 등의 동작을 수행할 수 있다. 또한, 상기 장치는 상기 구간 동안 종래(legacy) 무선랜으로의 연결 및 발견을 수행할 수 있다. 상기 '동기화된 통신 구간 외 구간의 추가 동작'은 '포스트 동작(post operation)'이라 지칭될 수 있다.
상기 추가 동작을 수행하는 경우, 장치는 동기화된 통신 구간 외에서 추가 동작을 위한 활성 시간 구간을 지정하고, 상기 활성 시간 구간을 지시하는 정보를 제공할 수 있다. 상기 활성 시간 구간을 지시하는 정보는 동기화된 구간, 즉, DW에서 서비스 발견 프레임을 통해 송신될 수 있다. 예를 들어, 상기 활성 시간 구간을 지시하는 정보는 추가 가용성 맵 정보를 통해 송신될 수 있다. 상기 추가 가용성 맵 정보는 '추가 가용성 맵 어트리뷰트(further availability map attribute)'로 지칭될 수 있다. 또한, 상기 장치는 활성 시간 구간을 사용하는 용도에 대한 정보를 더 제공할 수 있다. 상기 활성 시간 구간을 사용하는 용도에 대한 정보는 동기화된 구간, 즉, DW에서 서비스 발견 프레임을 통해 송신될 수 있다. 예를 들어, 상기 용도에 대한 정보는 각 용도에 따른 정보 요소에 포함될 수 있다. 예를 들어, 상기 정보 요소는 무선랜 인프라스트럭쳐 정보, P2P 동작 정보, IBSS 정보, 매쉬 정보, 추가 근접 네트워크 서비스 발견 정보 중 적어도 하나를 포함할 수 있다. 이하 설명의 편의를 위해, 상기 '활성 시간 구간을 지시하는 정보' 및 상기 '활성 시간 구간을 사용하는 용도에 대한 정보'는 '스케줄링 정보'로 통칭된다.
상기 스케줄링 정보의 구성 예는 하기 도 9와 같다. 도 9는 일 실시 예에 따른 근접 네트워크에서 동기화된 통신 구간 외 구간의 추가 동작에 대한 스케줄링 정보의 구성 예를 도시한다. 상기 도 9는 P2P 동작, 무선랜 연결, 추가 근접 네트워크 서비스 발견이 지정된 경우를 예시한다.
상기 도 9를 참고하면, 상기 스케줄링 정보는 동작 클래스(class)/채널 번호의 목록을 포함하고, 각 채널에서의 자원 단위의 시간 유닛 개수(예: 16)를 지시한다. 상기 스케줄링 정보에 포함된 가용성 간격 비트맵(availability intervals bitmap)은, 각 채널에서 동작이 수행되는 구간, 즉, 활성 시간 구간을 지시한다. 상기 도 9의 실시 예의 경우, 활성 시간 구간은 '1'로 표현되었다. 구체적으로, 상기 가용성 간격 비트맵은 채널6을 0번 내지 3번 간격들 동안 사용하고, 채널149를 8번 내지 11번 간격들 동안 사용하고, 채널x를 16번 내지 21번 간격들 동안 사용하고, 채널y를 24번 내지 29번 간격들 동안 사용함을 표현한다. 이때, 각 채널들은 상기 무선랜 연결, P2P 동작, 추가 근접 네트워크 서비스 발견을 위해 사용된다. 상기 도 9의 실시 예의 경우, 상기 가용성 간격 비트맵은 상기 무선랜 연결은 16번 내지 21번 간격들 동안, 상기 P2P 동작은 24번 내지 29번 간격들 동안, 상기 추가 근접 네트워크 서비스 발견은 0번 내지 3번, 8번 내지 11번, 16번 내지 19번, 24번 내지 27번 간격들 동안 수행됨을 표현한다.
상기 도 9의 하단 도면은 상기 P2P 동작 구간 및 DW 구간 902을 예시한다. 상기 도 9의 하단을 참고하면, 장치는 상기 DW 구간 902 동안 장치 주소 A를 사용한다. 그리고, 상기 DW 외 구간 동안, 상기 장치는 장치 주소 B를 사용할 수 있다. 즉, 상기 동기화된 통신 구간 외 구간의 추가 동작을 위해 상기 장치 주소 B를 사용할 수 있다. 이때, 상기 스케줄링 정보에 지시된 바에 따라, 상기 장치는 상기 DW 외 구간 중 24번 내지 29번 간격에 대응하는 구간 동안, 상기 P2P 동작을 위해 채널y에서 어웨이크(awake) 상태로 동작한다.
상기 도 9의 실시 예는 하나의 추가 가용성 맵이 송신되는 것을 예시하였다. 그러나, 본 발명의 다양한 실시 예에 따라, 다수의 추가 가용성 맵들이 송신될 수 있다. 이 경우, 다수의 맵들은 서로 다른 식별 정보로 구별될 수 있다.
상기 추가 동작을 위한 구간을 위한 정보, 즉, 어트리뷰트는 상기 구간에서 사용될 장치의 주소를 지정할 수 있다. 이때, 상기 추가 동작을 위한 구간에서 사용되는 주소는 상기 클러스터에 대한 통신 동작을 위해 사용되는 장치 주소와 상이할 수 있다. 즉, 동기화된 클러스터 내에서의 통신을 위한 장치 주소 및 상기 추가 동작을 위해 사용되는 장치 주소는 서로 다를 수 있다. 일반적으로, 상기 장치 주소의 형식은 MAC 주소의 형태에 따른다.
도 10은 일 실시 예에 따른 근접 네트워크에서 통신 구간 외 구간의 추가 동작을 위한 절차를 도시한다. 상기 도 10은 장치A 1010-1 및 장치B 1010-2 간 동기화된 통신 구간 외 구간에서 P2P 동작을 수행하는 경우로서, 근접 네트워크 통신은 채널6, 상기 P2P 동작은 채널11에서 수행되는 경우를 예시한다. 즉, 상기 도 10은 동기화된 DW 내에서 공표(publish) 된 채널, 윈도우, 메소드(method) 정보 등을 활용함으로써 추가 윈도우(post window)에서 P2P 동작을 수행하는 경우를 예시한다.
상기 도 10을 참고하면, 1001단계에서, 상기 장치A 1010-1의 어플리케이션(application) 엔티티(entity)는 상기 장치A 1010-1의 서비스(service) 엔티티로 서비스를 광고/공표(advertise/publish)할 것을 요청한다. 1003단계에서, 상기 장치A 1010-1의 서비스 엔티티는 상기 장치A 1010-1의 ASP(application service platform) 엔티티에 대하여 서비스 광고(AdvertseService) 메소드 또는 서비스 공표(PublishService) 메소드를 호출(call)한다. 이때, 1005단계에서, 상기 장치B 1010-2의 어플리케이션 엔티티는 상기 장치B(1010-2)의 서비스 엔티티로 서비스 탐색(find service)을 요청한다. 1007단계에서, 상기 장치B(1010-2)의 상기 서비스 엔티티는 상기 장치B 1010-2의 ASP 엔티티에 대하여 구독(Subscribe) 메소드를 호출한다.
1009단계에서, 근접 네트워크 통신이 수행되는 채널6을 통해, 상기 장치A 1010-1의 ASP 엔티티는 서비스 관련 정보를 송신한다. 여기서, 상기 서비스 관련 정보는 상기 P2P 동작에 대한 정보를 포함하며, 예를 들어, 서비스 식별자, 근접 네트워크 연결 능력(예: WFDS(WiFi Direct Service)=1), P2P 동작 정보(예: P2P 장치, 채널 번호, 가용성 간격 비트맵) 등을 포함할 수 있다. 이에 따라, 상기 장치B 1010-2의 상기 ASP 엔티티는 상기 채널6을 통해 상기 서비스 관련 정보를 수신한다. 이어, 1011단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 발견 결과(discovery result)를 상기 장치B 1010-2의 서비스 엔티티로 제공한다. 1013단계에서, 상기 장치B 1010-2의 상기 서비스 엔티티는 상기 장치B 1010-2의 상기 어플리케이션 엔티티로 서비스의 목록(list of service)를 제공한다. 이후, 1015단계에서, 서비스 선택에 대한 사용자의 입력이 발생한다.
1017단계에서, 상기 장치B 1010-2의 상기 어플리케이션 엔티티는 서비스 이용(use service)를 상기 장치B 1010-2의 상기 서비스 엔티티로 통지한다. 1019단계에서, 상기 장치B 1010-2의 상기 서비스 엔티티는 상기 장치B 1010-2의 상기 ASP 엔티티에 대하여 서비스 시도(SeekService) 메소드를 호출한다.
1021단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 P2P 프로브 요청(probe request)을 송신한다. 여기서, 상기 P2P 프로브 요청은 서비스 해쉬(service hash)를 포함할 수 있다. 1023단계에서, 상기 장치A 1010-1의 상기 ASP 엔티티는 해쉬 매칭(hash matching) 여부를 확인하고, P2P 프로브 응답(P2P probe response)을 송신한다. 여기서, 상기 P2P 프로브 응답은 서비스 명칭(service name), 광고(advertisement) 식별자를 포함할 수 있다. 1025단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 P2P 서비스 발견 요청(P2P service discovery request)를 송신한다. 여기서, 상기 P2P 서비스 발견 요청은 서비스 명칭, 서비스 정보 요청(service information request)을 포함할 수 있다. 1027단계에서, 상기 장치A 1010-1의 상기 ASP 엔티티는 명칭 매칭(name matching) 및 서비스 정보 매칭(service information matching) 여부를 확인하고, P2P 서비스 발견 요청을 송신한다. 여기서, P2P 서비스 발견 요청은 서비스 명칭, 광고 식별자, 서비스 상태(service status) 등을 포함할 수 있다.
1029단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 탐색 결과(search result)를 상기 장치B 1010-2의 상기 서비스 엔티티로 제공한다. 1031단계에서, 상기 장치B 1010-2의 상기 서비스 엔티티는 장치 목록(list of device)을 상기 장치B 1010-2의 상기 어플리케이션 엔티티로 제공한다. 상기 장치 목록은 상기 장치A 1010-1에 대한 정보를 포함할 수 있다. 이후, 1033단계에서, 장치 선택에 대한 사용자의 입력이 발생한다.
1035단계에서, 상기 장치B 1010-2의 상기 어플리케이션 엔티티는 선택된 장치(seleted device)를 상기 장치B 1010-2의 상기 서비스 엔티티로 통지한다. 1037단계에서, 상기 장치B 1010-2의 상기 서비스 엔티티는 상기 장치B 1010-2의 상기 ASP 엔티티에 대하여 서비스 연결(ConnectSession) 메소드를 호출한다. 1039단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 상기 장치B 1010-2의 상기 서비스 엔티티로 세선 상태(session status)를 알린다. 여기서, 상기 세션 상태는 '초기화(initiated)'일 수 있다. 1041단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 P2P 제공 발견 요청(P2P provision discovery request)을 송신한다. 여기서, 상기 P2P 제공 발견 요청은 세션 정보(session information), 연결 능력(connection capability) 등을 포함할 수 있다. 이후, 1043단계에서, 상기 장치B 1010-2의 상기 ASP 엔티티는 연결 상태(connect status)를 상기 장치B 1010-2의 상기 서비스 엔티티로 알린다. 여기서, 상기 연결 상태는 '서비스 요청이 송신됨(service request sent)'일 수 있다.
상술한 바와 같이, 근접 네트워크를 구성하는 경우, 상기 근접 네트워크의 클러스터에서 동기화된 통신 구간(예: DW) 외의 구간에서 다른 동작이 수행될 수 있다. 그러나, 마스터로 기능하는 장치의 경우, 하기 도 11과 같이, 상기 동기화된 통신 구간 외의 구간에서, 발견 비콘을 송신해야 한다.
도 11은 일 실시 예에 따른 근접 네트워크에서 마스터 장치의 비콘 송신을 도시한다. 상기 도 11을 참고하면, 장치A 1110-1은 마스터로 기능하며, 장치B 1110-2 및 장치C 1110-3은 비-마스터로 기능한다. 상기 마스터로 기능하는 상기 장치A 1110-1은 DW 구간 동안 상기 장치B 1110-2 및 상기 장치C 1110-3와 통신을 수행함에 더하여, 상기 DW 구간 외 구간 동안 클러스터의 존재를 알리기 위한 발견 비콘을 주기적으로 송신한다. 이로 인해, 상기 장치A 1110-1의 전류 소비량은 상기 장치B 1110-2 및 상기 장치C 1110-3에 비해 크다. 나아가, 상기 발견 비콘의 송신으로 인해, 상기 장치A 1110-1는 다른 채널 또는 같은 채널을 통한 포스트 동작을 수행하는데 제약을 받을 수 있다. 따라서, 이하 본 발명은 마스터 역할의 수행으로 인해 발생할 수 있는 제약을 감소시키기 위한 다양한 실시 예들을 제안한다.
상술한 바와 같이, 마스터의 역할은 다른 장치의 비콘에 대한 신호 세기 및 마스터 랭크에 기초하여 결정된다. 또한, 상기 마스터 랭크는 마스터 선호도, 랜덤 인자, 장치 주소에 기초하여 결정된다. 이때, 상기 <수학식 1>에 따르면, 상기 마스터 랭크의 결정에 가장 큰 영향을 미치는 요소는 상기 마스터 선호도이다. 따라서, 이하 본 발명은 상기 마스터 선호도를 적절히 조절함으로써, 마스터로 선택되는 상황을 회피하기 위한 다양한 실시 예들을 설명한다.
도 12는 일 실시 예에 따른 전자 장치에서 마스터 선호도를 결정하는 절차를 도시한다.
상기 도 12를 참고하면, 1201단계에서, 상기 전자 장치는 주기적인 동작을 수행한다. 다시 말해, 상기 전자 장치는 클러스터를 구성하기 위한 적어도 하나의 동작을 수행한다. 예를 들어, 상기 전자 장치는 특정 주기(예: 100ms)에 따라 다른 전자 장치의 발견을 지원하기 위한 신호(예: 발견 비콘)을 방송한다. 또한, 상기 전자 장치는 특정 주기(예: 약 10초) 마다 일정 시간 길이(예: 110 내지 120ms)의 구간 동안 스캔을 수행함으로써, 다른 전자 장치에 의해 방송되는 신호(예: 발견 비콘)의 수신을 시도할 수 있다. 적어도 하나의 다른 전자 장치가 발견되면, 클러스터가 구성될 수 있다. 상기 전자 장치는 상기 클러스터 내의 다른 전자 장치와 DW를 통해 동기 비콘 및 서비스 데이터 프레임을 교환할 수 있다. 마스터로 기능하는 장치는 DW 간격 구간에서 발견 비콘을 송신하며, 동기화되지 아니한 비-마스터를 제외한 나머지 장치는 DW 내에서 동기 비콘을 송신할 수 있다.
이때, 상기 동기 비콘 및 상기 발견 비콘은 마스터 지시 정보를 포함하며, 상기 마스터 지시 정보는 해당 신호를 송신하는 장치의 마스터 선호도를 포함한다. 상기 마스터 선호도는 클러스터 내에서 마스터를 결정하기 위해 사용되는 변수이다. 이에 따라, 클러스터 내의 전자 장치들은 자신의 마스터 선호도는 물론 다른 전자 장치의 마스터 선호도를 확인할 수 있다. 다시 말해, 상기 전자 장치는 클러스터 내에서의 통신을 위한 정해진 프로토콜에 따른 주기적인 동작을 수행하며, 동시에, DW를 통해 수신되는 적어도 하나의 다른 전자 장치의 신호(예: 동기 비콘)에 포함된 상기 적어도 하나의 다른 전자 장치의 마스터 선호도 값을 저장할 수 있다.
1203단계에서, 상기 전자 장치는 상태를 확인한다. 여기서, 상기 상태는 상기 전자 장치가 클러스터 내에서 수행하는 역할을 의미한다. 예를 들어, 상기 상태는, 마스터, 동기화된 비-마스터, 동기화되지 아니한 비-마스터 등 3가지 중 하나로 정의될 수 있다. 상기 상태는 시간의 흐름에 따라 유동적으로 변화할 수 있다. 예를 들어, 상기 상태는 상기 도 8과 같이 천이될 수 있다. 따라서, 상기 전자 장치는 현재 마스터 상태인지, 동기화된 비-마스터 상태인지, 또는, 동기화되지 아니한 비-마스터 상태인지 확인한다.
1205단계에서, 상기 전자 장치는 상황을 고려한다. 상기 상황은 본 발명의 구체적인 실시 예들에 따라 다양하게 변경될 수 있다. 예를 들어, 상기 상황은 동기화된 통신 구간 외 구간에서의 추가 동작 수행 여부, 상기 전자 장치의 프로세서(예: AP)의 동작 모드(예: 슬립, 웨이크업) 중 적어도 하나를 포함할 수 있다.
1207단계에서, 상기 전자 장치는 상기 마스터 선호도를 조절한다. 상기 마스터 선호도는 마스터로 선택되지 아니할 가능성을 높이도록 조절될 수 있다. 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
도 13은 일 실시 예에 따른 전자 장치에서 공존(concurrent) 동작 여부에 따라 마스터 선호도를 결정하는 절차를 도시한다. 상기 공존 동작은 동기화된 통신 구간 외 추가 동작이 수행되는 경우를 의미한다.
상기 도 13을 참고하면, 1301단계에서, 상기 전자 장치는 주기적인 동작을 수행한다. 다시 말해, 상기 전자 장치는 클러스터를 구성하기 위한 적어도 하나의 동작을 수행한다. 예를 들어, 상기 전자 장치는 특정 주기(예: 100ms)에 따라 다른 전자 장치의 발견을 지원하기 위한 신호(예: 발견 비콘)을 방송한다. 또한, 상기 전자 장치는 특정 주기(예: 약 10초) 마다 일정 시간 길이(예: 110 내지 130ms)의 구간 동안 스캔을 수행함으로써, 다른 전자 장치에 의해 방송되는 신호(예: 발견 비콘)의 수신을 시도할 수 있다. 적어도 하나의 다른 전자 장치가 발견되면, 클러스터가 구성될 수 있다. 상기 전자 장치는 상기 클러스터 내의 다른 전자 장치와 DW를 통해 동기 비콘 및 서비스 데이터 프레임을 교환할 수 있다. 마스터로 기능하는 장치는 DW 간격 구간에서 발견 비콘을 송신하며, 동기화되지 아니한 비-마스터를 제외한 나머지 장치는 DW 내에서 동기 비콘을 송신할 수 있다.
이때, 상기 동기 비콘 및 상기 발견 비콘은 마스터 지시 정보를 포함하며, 상기 마스터 지시 정보는 해당 신호를 송신하는 장치의 마스터 선호도를 포함한다. 상기 마스터 선호도는 클러스터 내에서 마스터를 결정하기 위해 사용되는 변수이다. 이에 따라, 클러스터 내의 전자 장치들은 자신의 마스터 선호도는 물론 다른 전자 장치의 마스터 선호도를 확인할 수 있다. 다시 말해, 상기 전자 장치는 클러스터 내에서의 통신을 위한 정해진 프로토콜에 따른 주기적인 동작을 수행하며, 동시에, DW를 통해 수신되는 적어도 하나의 다른 전자 장치의 신호(예: 동기 비콘)에 포함된 상기 적어도 하나의 다른 전자 장치의 마스터 선호도 값을 저장할 수 있다.
1303단계에서, 상기 전자 장치는 상태를 확인한다. 여기서, 상기 상태는 상기 전자 장치가 클러스터 내에서 수행하는 역할을 의미한다. 예를 들어, 상기 상태는, 마스터, 동기화된 비-마스터, 동기화되지 아니한 비-마스터 등 3가지 중 하나로 정의될 수 있다. 상기 상태는 시간의 흐름에 따라 유동적으로 변화할 수 있다. 예를 들어, 상기 상태는 상기 도 8과 같이 천이될 수 있다. 따라서, 상기 전자 장치는 현재 마스터 상태인지, 동기화된 비-마스터 상태인지, 또는, 동기화되지 아니한 비-마스터 상태인지 확인한다.
1305단계에서, 상기 전자 장치는 공존 동작 수행 여부를 확인한다. 상기 공존 동작은 동기화된 통신 구간, 즉, DW외 구간에서의 추가 동작을 의미한다. 상기 공존 동작의 수행 여부는 추가 동작의 수행 여부, 또는, 클러스터에서 사용되는 장치 주소와 다른 주소를 사용하는 통신 동작 수행 여부에 의해 판단될 수 있다. 상기 공존 동작이 수행되는 경우, 상기 전자 장치에 의해 송신되는 신호(예: 동기 비콘 또는 서비스 발견 프레임)는 상기 공존 동작에 대한 스케줄링 정보를 포함할 수 있다. 예를 들어, 상기 스케줄링 정보는 추가 가용성 맵 정보, 해당 동작이 수행되는 구간을 지시하는 정보를 포함할 수 있다.
1307단계에서, 상기 전자 장치는 채널 변경(channel switching)이 필요한지 확인한다. 상기 공존 동작은 상기 클러스터를 위한 통신에 사용되는 채널과 동일하거나 또는 다른 채널에서 수행될 수 있다. 즉, 상기 공존 동작이 상기 클러스터를 위한 통신에 사용되는 채널과 다른 채널에서 수행되는 경우, 상기 전자 장치는 상기 공존 동작을 위해 채널을 변경해야 한다. 이 경우, 상기 전자 장치는 통신을 위한 하드웨어의 동작 주파수를 조절(tune)해야 한다. 이때, 상기 전자 장치가 마스터로 기능하면, 상기 동기화된 통신 구간 외 구간에서 발견 비콘을 송신하므로, 상기 채널 변경으로 인해 상기 발견 비콘의 송신에 간섭이 발생할 수 있다. 즉, 상기 동기화된 통신 구간 외 구간에서 채널 변경이 일어나는 경우, 이로 인해 간섭이 발생하고, 동작의 효율성이 낮아질 수 있다. 단, 본 발명의 다른 실시 예에 따라, 상기 1307단계는 생략될 수 있다.
1309단계에서, 상기 전자 장치는 상기 마스터 선호도를 조절한다. 상기 마스터 선호도는 마스터로 선택되지 아니할 가능성을 높이도록 조절될 수 있다. 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
도 14는 일 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도가 조절되는 상황을 도시한다.
상기 도 14를 참고하면, 장치들 1410-1 내지 1410-5가 클러스터를 구성하고, 동기화된 통신 구간(예: DW)을 통해 비콘 및 데이터를 송수신한다. 이때, 장치 1410-1은 공존 동작을 수행한다. 즉, 상기 장치 1410-1은 동기화된 통신 구간 내에서 클러스터 내의 통신을 수행하고, 상기 동기화된 통신 구간 외 구간에서 추가 동작을 수행한다. 상기 추가 동작은 WiFi-다이렉트, TDLS, 매쉬, IBSS, 무선랜 연결, 다른 클러스터 발견 중 적어도 하나를 포함할 수 있다.
이에 따라, 상기 장치 1410-1은 마스터 선호도를 조절할 수 있다. 즉, 상기 공존 동작이 수행되는 경우, 상기 장치 1401-1은 상기 마스터 선호도를 낮춤으로써, 마스터로서 선택되는 것을 회피할 수 있다. 예를 들어, 상기 장치 1410-1은 설정 가능한 범위 내의 최소값, 다른 장치들 1410-2 내지 1410-5의 마스터 선호도들의 평균값 또는 최소값보다 작은 값으로, 상기 마스터 선호도를 조절할 수 있다.
도 15는 일 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다. 상기 도 15에서, 점선으로 도시된 단계는 다른 실시 예에 따라 생략될 수 있다.
상기 도 15를 참고하면, 상기 전자 장치는 1501단계에서 주기적인 동작을 수행한다. 상기 주기적인 동작은 클러스터를 구성하고, 클러스터 내에서 동기화된 통신 구간을 통해 통신을 수행하기 위한 적어도 하나의 동작을 의미한다. 예를 들어, 상기 주기적인 동작은, 발견 비콘 송신, 다른 장치에서 송신된 발견 비콘에 대한 스캔, 동기 비콘의 송신, 서비스 발견 프레임의 송신 중 적어도 하나를 포함한다. 여기서, 상기 발견 비콘 및 상기 동기 비콘은 클러스터에서 마스터를 결정하기 위해 사용되는 참조 값을 포함할 수 있다. 상기 참조 값은 마스터 선호도, 랜덤 인자, MAC 주소의 일부 중 적어도 하나를 포함할 수 있다.
이어, 상기 전자 장치는 1503단계로 진행하여 동기 비콘에 포함된 선호도 값들을 수집한다. 다시 말해, 상기 전자 장치는 클러스터 내 적어도 하나의 다른 장치에 의해 송신되는 동기 비콘을 수신하고, 상기 동기 비콘에 포함된 선호도 값을 확인한다. 예를 들어, 상기 전자 장치는 0번 DW, 즉, DW0에서 상기 선호도 값을 수집할 수 있다. 상기 0번 DW는 클러스터 내 모든 장치들이 통신을 수행하도록 약속된 DW를 의미한다.
이후, 상기 전자 장치는 1505단계로 진행하여 상기 전자 장치의 현재 역할이 마스터인지 판단한다. 상기 클러스터 내 하나의 장치는 상기 마스터로 기능한다. 상기 마스터는 동기화된 통신 구간(예: DW) 외 구간에서 발견 비콘을 송신한다. 또한, 상기 마스터는 클러스터 내 다른 장치들로 동기화의 기준이 되는 시간 정보를 제공한다. 즉, 상기 마스터는 동기화의 시간 기준을 제공하므로, '기준 노드(node)'로 지칭될 수 있다. 만일, 상기 전자 장치가 상기 마스터가 아니면, 상기 전자 장치는 상기 1501단계로 되돌아간다.
반면, 상기 전자 장치가 상기 마스터이면, 상기 전자 장치는 1507단계로 진행하여 공존 동작 상황인지 여부를 판단한다. 상기 공존 동작은 동기화된 통신 구간, 즉, DW외 구간에서의 추가 동작을 의미한다. 상기 공존 동작의 수행 여부는 추가 동작의 수행 여부, 또는, 클러스터에서 사용되는 장치 주소와 다른 주소를 사용하는 통신 동작 수행 여부, 또는, 상기 부가 동장에 대한 스케줄링 정보의 송신 여부에 의해 판단될 수 있다. 만일, 상기 공존 동작이 수행되지 아니하면, 상기 전자 장치는 상기 1501단계로 되돌아간다.
반면, 상기 공존 동작이 수행되면, 상기 전자 장치는 1509단계로 진행하여 채널 변경이 필요한지 판단한다. 상기 추가 동작이 상기 클러스터를 위한 통신에 사용되는 채널과 다른 채널에서 수행되는 경우, 상기 전자 장치는 상기 공존 동작을 위해 채널을 변경해야 한다. 따라서, 상기 전자 장치는 상기 추가 동작이 수행되는 채널 및 상기 클러스터를 위한 통신에 사용되는 채널을 비교함으로써, 상기 채널 변경이 필요한지 여부를 판단할 수 있다. 만일, 상기 채널 변경이 필요하지 아니하면, 상기 전자 장치는 상기 1501단계로 되돌아간다.
반면, 상기 채널 변경이 필요하면, 상기 전자 장치는 1511단계로 진행하여 마스터 선호도를 조절한다. 다시 말해, 상기 추가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이한 경우, 상기 전자 장치는 상기 참조 값을 조절할 수 있다. 이때, 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
도 16은 다른 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다. 상기 도 16에서, 점선으로 도시된 단계는 다른 실시 예에 따라 생략될 수 있다.
상기 도 16을 참고하면, 상기 전자 장치는 1601단계에서 주기적인 동작을 수행한다. 상기 주기적인 동작은 클러스터를 구성하고, 클러스터 내에서 동기화된 통신 구간을 통해 통신을 수행하기 위한 적어도 하나의 동작을 의미한다. 예를 들어, 상기 주기적인 동작은, 발견 비콘 송신, 다른 장치에서 송신된 발견 비콘에 대한 스캔, 동기 비콘의 송신, 서비스 발견 프레임의 송신 중 적어도 하나를 포함한다. 여기서, 상기 발견 비콘 및 상기 동기 비콘은 클러스터에서 마스터를 결정하기 위해 사용되는 참조 값을 포함할 수 있다. 상기 참조 값은 마스터 선호도, 랜덤 인자, MAC 주소의 일부 중 적어도 하나를 포함할 수 있다.
이어, 상기 전자 장치는 1603단계로 진행하여 동기 비콘에 포함된 선호도 값들을 수집한다. 다시 말해, 상기 전자 장치는 클러스터 내 적어도 하나의 다른 장치에 의해 송신되는 동기 비콘을 수신하고, 상기 동기 비콘에 포함된 선호도 값을 확인한다. 예를 들어, 상기 전자 장치는 0번 DW, 즉, DW0에서 상기 선호도 값을 수집할 수 있다. 상기 0번 DW는 클러스터 내 모든 장치들이 통신을 수행하도록 약속된 DW를 의미한다.
이어, 상기 전자 장치는 1605단계로 진행하여 공존 동작 상황인지 여부를 판단한다. 상기 공존 동작은 동기화된 통신 구간, 즉, DW외 구간에서의 추가 동작을 의미한다. 상기 공존 동작의 수행 여부는 추가 동작의 수행 여부, 또는, 클러스터에서 사용되는 장치 주소와 다른 주소를 사용하는 통신 동작 수행 여부, 또는, 상기 부가 동장에 대한 스케줄링 정보의 송신 여부에 의해 판단될 수 있다. 만일, 상기 공존 동작이 수행되지 아니하면, 상기 전자 장치는 상기 1601단계로 되돌아간다.
반면, 상기 공존 동작이 수행되면, 상기 전자 장치는 1607단계로 진행하여 마스터 선호도가 이미 낮은 값인지 판단한다. 다시 말해, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절한 바 있는지 판단한다. 예를 들어, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절하였는지 여부를 나타내는 기록에 기초하거나, 또는, 상기 마스터 선호도의 현재 값과 상기 공존 동작으로 인해 변경될 수 있는 마스터 선호도의 예상 값을 비교함으로써 상기 낮은 값인지 여부를 판단할 수 있다. 단, 본 발명의 다른 실시 예에 따라, 상기 1607단계는 생략될 수 있다. 즉, 상기 전자 장치는 상기 마스터 선호도의 현재 값과 무관하게 이하 1609단계로 진행할 수 있다.
상기 전자 장치는 1609단계로 진행하여 채널 변경이 필요한지 판단한다. 상기 추가 동작이 상기 클러스터를 위한 통신에 사용되는 채널과 다른 채널에서 수행되는 경우, 상기 전자 장치는 상기 공존 동작을 위해 채널을 변경해야 한다. 따라서, 상기 전자 장치는 상기 추가 동작이 수행되는 채널 및 상기 클러스터를 위한 통신에 사용되는 채널을 비교함으로써, 상기 채널 변경이 필요한지 여부를 판단할 수 있다. 만일, 상기 채널 변경이 필요하지 아니하면, 상기 전자 장치는 상기 1601단계로 되돌아간다.
반면, 상기 채널 변경이 필요하면, 상기 전자 장치는 1611단계로 진행하여 마스터 선호도를 조절한다. 이때, 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
도 17은 또 다른 실시 예에 따른 전자 장치에서 공존 동작에 의해 마스터 선호도를 조절하는 절차를 도시한다. 상기 도 17은 공존 동작의 종료에 따라 마스터 선호도가 복원되는 실시 예를 도시한다. 상기 도 17에서, 점선으로 도시된 단계는 다른 실시 예에 따라 생략될 수 있다.
상기 도 17을 참고하면, 상기 전자 장치는 1701단계에서 주기적인 동작을 수행한다. 상기 주기적인 동작은 클러스터를 구성하고, 클러스터 내에서 동기화된 통신 구간을 통해 통신을 수행하기 위한 적어도 하나의 동작을 의미한다. 예를 들어, 상기 주기적인 동작은, 발견 비콘 송신, 다른 장치에서 송신된 발견 비콘에 대한 스캔, 동기 비콘의 송신, 서비스 발견 프레임의 송신 중 적어도 하나를 포함한다. 여기서, 상기 발견 비콘 및 상기 동기 비콘은 클러스터에서 마스터를 결정하기 위해 사용되는 참조 값을 포함할 수 있다. 상기 참조 값은 마스터 선호도, 랜덤 인자, MAC 주소의 일부 중 적어도 하나를 포함할 수 있다.
이어, 상기 전자 장치는 1703단계로 진행하여 동기 비콘에 포함된 선호도 값들을 수집한다. 다시 말해, 상기 전자 장치는 클러스터 내 적어도 하나의 다른 장치에 의해 송신되는 동기 비콘을 수신하고, 상기 동기 비콘에 포함된 선호도 값을 확인한다. 예를 들어, 상기 전자 장치는 0번 DW, 즉, DW0에서 상기 선호도 값을 수집할 수 있다. 상기 0번 DW는 클러스터 내 모든 장치들이 통신을 수행하도록 약속된 DW를 의미한다.
이어, 상기 전자 장치는 1705단계로 진행하여 공존 동작 상황인지 여부를 판단한다. 상기 공존 동작은 동기화된 통신 구간, 즉, DW외 구간에서의 추가 동작을 의미한다. 상기 공존 동작의 수행 여부는 추가 동작의 수행 여부, 또는, 클러스터에서 사용되는 장치 주소와 다른 주소를 사용하는 통신 동작 수행 여부, 또는, 상기 부가 동장에 대한 스케줄링 정보의 송신 여부에 의해 판단될 수 있다.
만일, 상기 공존 동작이 수행되지 아니하면, 상기 전자 장치는 1707단계로 진행하여 마스터 선호도가 낮은 값인지 판단한다. 다시 말해, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절한 바 있는지 판단한다. 예를 들어, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절하였는지 여부를 나타내는 기록에 기초하거나, 또는, 상기 마스터 선호도의 현재 값과 상기 공존 동작으로 인해 변경될 수 있는 마스터 선호도의 예상 값을 비교함으로써 상기 낮은 값인지 여부를 판단할 수 있다. 만일, 상기 마스터 선호도가 상기 낮은 값이 아니면, 상기 전자 장치는 상기 1701단계로 되돌아간다.
반면, 상기 마스터 선호도가 상기 낮은 값이면, 상기 전자 장치는 1709단계로 진행하여 상기 마스터 선호도를 원래 값(original value)으로 조절한다. 다시 말해, 상기 전자 장치는 상기 마스터 선호도가 상기 낮은 값으로 변경되기 전의 값으로 상기 마스터 선호도의 값을 복원한다. 이를 위해, 상기 전자 장치는 공존 동작의 발생으로 인해 상기 마스터 선호도의 값을 조절할 때 조절 전의 값을 기록(caching)할 수 있다.
상기 1705단계에서, 상기 공존 동작이 수행되면, 상기 전자 장치는 1711단계로 진행하여 마스터 선호도가 이미 낮은 값인지 판단한다. 다시 말해, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절한 바 있는지 판단한다. 예를 들어, 상기 전자 장치는 상기 공존 동작 상황의 발생으로 인해 상기 마스터 선호도를 조절하였는지 여부를 나타내는 기록에 기초하거나, 또는, 상기 마스터 선호도의 현재 값과 상기 공존 동작으로 인해 변경될 수 있는 마스터 선호도의 예상 값을 비교함으로써 상기 낮은 값인지 여부를 판단할 수 있다. 단, 본 발명의 다른 실시 예에 따라, 상기 1711단계는 생략될 수 있다. 즉, 상기 전자 장치는 상기 마스터 선호도의 현재 값과 무관하게 이하 1713단계로 진행할 수 있다.
상기 전자 장치는 1713단계로 진행하여 채널 변경이 필요한지 판단한다. 상기 추가 동작이 상기 클러스터를 위한 통신에 사용되는 채널과 다른 채널에서 수행되는 경우, 상기 전자 장치는 상기 공존 동작을 위해 채널을 변경해야 한다. 따라서, 상기 전자 장치는 상기 추가 동작이 수행되는 채널 및 상기 클러스터를 위한 통신에 사용되는 채널을 비교함으로써, 상기 채널 변경이 필요한지 여부를 판단할 수 있다. 만일, 상기 채널 변경이 필요하지 아니하면, 상기 전자 장치는 상기 1701단계로 되돌아간다.
반면, 상기 채널 변경이 필요하면, 상기 전자 장치는 1715단계로 진행하여 마스터 선호도를 조절한다. 이때, 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다. 나아가, 상기 전자 장치는 추후 복원을 위해 조절 전의 값을 기록할 수 있다.
마스터 선호도는 상술한 공존 동작 외 다른 원인에 의해 조절될 수 있다. 본 발명의 일 실시 예에 따르면, 상기 마스터 선호도는 프로세서의 동작 모드에 의해 변경될 수 있다. 상기 동작 모드는 슬립 모드, 웨이크업 모드로 분류될 수 있다. 상기 슬립 모드는 전자 장치의 프로세서가 일부 기능을 불활성화하고, 상대적으로 낮은 전력을 소비하는 상태를 의미한다. 다시 말해, 상기 슬립 모드는 기능 전체 또는 기능 일부를 불활성화하고, 기능을 활성화하라는 요청 신호(예: 인터럽트(interrupt) 신호)을 인지하기 위한 최소한의 전류만을 소모하는 상태를 의미한다. 예를 들어, 전자 장치의 일부 기능이 사용되지 아니하는 경우, 상기 전자 장치는 상기 슬립 모드로 진입할 수 있다. 예를 들어, 표시 수단(예: 액정 화면)이 오프(off) 상태인 경우, 상기 전자 장치의 프로세서는 슬립 모드로 동작할 수 있다. 상기 슬립 모드로 동작하는 경우, 전자 장치가 동기화된 통신 구간 외 구간에서 발견 비콘을 송신함으로 인해 소비 전류를 증가시키는 것은 바람직하지 아니하다. 따라서, 슬립 모드인 경우, 마스터 역할을 회피하는 본 발명의 다양한 실시 예들이 적용될 수 있다.
도 18은 일 실시 예에 따른 전자 장치에서 프로세서의 동작 모드에 의해 마스터 선호도가 조절되는 상황을 도시한다.
상기 도 18을 참고하면, 장치들 1810-1 내지 1810-5가 클러스터를 구성하고, 동기화된 통신 구간(예: DW)을 통해 비콘 및 데이터를 송수신한다. 이때, 장치 1810-1의 프로세서는 슬립 상태이다. 이에 따라, 상기 장치 1810-1은 마스터 선호도를 조절할 수 있다. 즉, 상기 슬립 모드로 동작하는 경우, 상기 장치 1801-1은 상기 마스터 선호도를 낮춤으로써, 마스터로서 선택되는 것을 회피할 수 있다. 예를 들어, 상기 장치 1810-1은 설정 가능한 범위 내의 최소값, 다른 장치들 1810-2 내지 1810-5의 마스터 선호도들의 평균값 또는 최소값보다 작은 값으로, 상기 마스터 선호도를 조절할 수 있다. 이를 위해, 상기 장치 1810-1의 프로세서는 슬립 모드에 진입하기 전 상기 마스터 선호도의 조절을 지시하거나, 또는, 슬립 모드 진입 시 상기 마스터 선호도를 조절하는 규칙을 정의할 수 있다.
도 19는 일 실시 예에 따른 전자 장치에서 프로세서의 동작 모드에 의해 마스터 선호도를 조절하는 절차를 도시한다. 상기 도 19에서, 점선으로 도시된 단계는 다른 실시 예에 따라 생략될 수 있다.
상기 도 19를 참고하면, 상기 전자 장치는 1901단계에서 주기적인 동작을 수행한다. 상기 주기적인 동작은 클러스터를 구성하고, 클러스터 내에서 동기화된 통신 구간을 통해 통신을 수행하기 위한 적어도 하나의 동작을 의미한다. 예를 들어, 상기 주기적인 동작은, 발견 비콘 송신, 다른 장치에서 송신된 발견 비콘에 대한 스캔, 동기 비콘의 송신, 서비스 발견 프레임의 송신 중 적어도 하나를 포함한다. 여기서, 상기 발견 비콘 및 상기 동기 비콘은 클러스터에서 마스터를 결정하기 위해 사용되는 참조 값을 포함할 수 있다. 상기 참조 값은 마스터 선호도, 랜덤 인자, MAC 주소의 일부 중 적어도 하나를 포함할 수 있다.
이어, 상기 전자 장치는 1903단계로 진행하여 동기 비콘에 포함된 선호도 값들을 수집한다. 다시 말해, 상기 전자 장치는 클러스터 내 적어도 하나의 다른 장치에 의해 송신되는 동기 비콘을 수신하고, 상기 동기 비콘에 포함된 선호도 값을 확인한다. 예를 들어, 상기 전자 장치는 0번 DW, 즉, DW0에서 상기 선호도 값을 수집할 수 있다. 상기 0번 DW는 클러스터 내 모든 장치들이 통신을 수행하도록 약속된 DW를 의미한다.
이후, 상기 전자 장치는 1905단계로 진행하여 프로세서가 슬립 모드로 동작하는지 여부를 판단한다. 상기 전자 장치는 프로세서의 동작 상태를 나타내는 신호, 프로세서에서 활성화된 기능 등에 기초하여 상기 슬립 모드인지 여부를 판단할 수 있다. 만일, 상기 슬립 모드가 아니면, 상기 전자 장치는 상기 1901단계로 되돌아간다.
반면, 상기 슬립 모드이면, 상기 전자 장치는 1907단계로 진행하여 상기 전자 장치의 현재 역할이 마스터인지 판단한다. 상기 클러스터 내 하나의 장치는 상기 마스터로 기능한다. 상기 마스터는 동기화된 통신 구간(예: DW) 외 구간에서 발견 비콘을 송신한다. 또한, 상기 마스터는 클러스터 내 다른 장치들로 동기화의 기준이 되는 시간 정보를 제공한다. 즉, 상기 마스터는 동기화의 시간 기준을 제공하므로, '기준 노드(node)'로 지칭될 수 있다. 만일, 상기 전자 장치가 상기 마스터가 아니면, 상기 전자 장치는 상기 1901단계로 되돌아간다. 단, 본 발명의 다른 실시 예에 따라, 상기 1907단계는 생략될 수 있다. 즉, 상기 전자 장치는 마스터로 기능하는지 여부와 무관하게 이하 1909단계로 진행할 수 있다.
반면, 상기 전자 장치가 마스터이면, 상기 전자 장치는 1909단계로 진행하여 마스터 선호도를 조절한다. 이때, 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
도 20은 다른 실시 예에 따른 전자 장치에서 프로세서의 동작 모드에 의해 마스터 선호도를 조절하는 절차를 도시한다. 상기 도 20은 슬립 모드의 종료에 따라 마스터 선호도가 복원되는 실시 예를 도시한다. 상기 도 20에서, 점선으로 도시된 단계는 다른 실시 예에 따라 생략될 수 있다.
상기 도 20을 참고하면, 상기 전자 장치는 2001단계에서 주기적인 동작을 수행한다. 상기 주기적인 동작은 클러스터를 구성하고, 클러스터 내에서 동기화된 통신 구간을 통해 통신을 수행하기 위한 적어도 하나의 동작을 의미한다. 예를 들어, 상기 주기적인 동작은, 발견 비콘 송신, 다른 장치에서 송신된 발견 비콘에 대한 스캔, 동기 비콘의 송신, 서비스 발견 프레임의 송신 중 적어도 하나를 포함한다. 여기서, 상기 발견 비콘 및 상기 동기 비콘은 클러스터에서 마스터를 결정하기 위해 사용되는 참조 값을 포함할 수 있다. 상기 참조 값은 마스터 선호도, 랜덤 인자, MAC 주소의 일부 중 적어도 하나를 포함할 수 있다.
이어, 상기 전자 장치는 2003단계로 진행하여 동기 비콘에 포함된 선호도 값들을 수집한다. 다시 말해, 상기 전자 장치는 클러스터 내 적어도 하나의 다른 장치에 의해 송신되는 동기 비콘을 수신하고, 상기 동기 비콘에 포함된 선호도 값을 확인한다. 예를 들어, 상기 전자 장치는 0번 DW, 즉, DW0에서 상기 선호도 값을 수집할 수 있다. 상기 0번 DW는 클러스터 내 모든 장치들이 통신을 수행하도록 약속된 DW를 의미한다.
이후, 상기 전자 장치는 2005단계로 진행하여 프로세서가 슬립 모드로 동작하는지 여부를 판단한다. 상기 전자 장치는 프로세서의 동작 상태를 나타내는 신호, 프로세서에서 활성화된 기능 등에 기초하여 상기 슬립 모드인지 여부를 판단할 수 있다.
만일, 상기 슬립 모드가 아니면, 상기 전자 장치는 2007단계로 진행하여 마스터 선호도가 낮은 값으로 조절되었는지 판단한다. 다시 말해, 상기 전자 장치는 상기 슬립 모드의 진입으로 인해 상기 마스터 선호도를 조절한 바 있는지 판단한다. 예를 들어, 상기 전자 장치는 상기 슬립 모드의 진입으로 인해 상기 마스터 선호도를 조절하였는지 여부를 나타내는 기록에 기초하거나, 또는, 상기 마스터 선호도의 현재 값과 상기 슬립 모드의 진입으로 인해 변경될 수 있는 마스터 선호도의 예상 값을 비교함으로써 상기 낮은 값으로 조절되었는지 여부를 판단할 수 있다. 만일, 상기 마스터 선호도가 상기 낮은 값으로 조절되지 아니하였으면, 상기 전자 장치는 상기 2001단계로 되돌아간다.
반면, 상기 마스터 선호도가 상기 낮은 값으로 조절되었으면, 상기 전자 장치는 2009단계로 진행하여 상기 마스터 선호도를 원래 값으로 조절한다. 다시 말해, 상기 전자 장치는 상기 마스터 선호도가 상기 낮은 값으로 변경되기 전의 값으로 상기 마스터 선호도의 값을 복원한다. 이를 위해, 상기 전자 장치는 공존 동작의 발생으로 인해 상기 마스터 선호도의 값을 조절할 때 조절 전의 값을 기록할 수 있다.
상기 2005단계에서, 상기 슬립 모드이면, 상기 전자 장치는 2011단계로 진행하여 마스터 선호도를 조절한다. 이때, 상기 마스터 선호도는 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 마스터 선호도의 설정 가능 범위에 기초하거나, 또는, 다른 전자 장치의 마스터 선호도에 기초하여 마스터 선호도를 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 마스터 선호도를 낮출 수 있다. 구체적으로, 상기 마스터 선호도는 설정 가능한 범위에서 최소값으로 조절될 수 있다. 즉, 상기 마스터 선호도는 0의 값으로 조절될 수 있으며, 이 경우, 다른 전자 장치는 더 작은 마스터 선호도를 가질 수 없다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 마스터 선호도에 기초하여 상기 마스터 선호도를 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 평균값 보다 작도록 마스터 선호도를 조절할 수 있다. 또는, 상기 전자 장치는 다른 전자 장치들의 마스터 선호도의 최소값 보다 작도록 마스터 선호도를 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다. 나아가, 상기 전자 장치는 추후 복원을 위해 조절 전의 값을 기록할 수 있다.
상술한 다양한 실시 예들과 같이, 전자 장치는 클러스터 내 마스터를 결정하기 위한 변수, 예를 들어, 마스터 선호도를 조절함으로써, 마스터로 선택되는 것을 일시적으로 회피할 수 있다.
그러나, 마스터 선호도의 조절로 인해 마스터로 선택되는 것을 확정적으로 회피되는 것은 아니다. 경우에 따라, 다른 장치의 마스터 선호도가 더 낮거나, 동일할 수 있기 때문이다. 이 경우, 상기 마스터 선호도의 조절에도 불구하고, 상기 마스터의 역할이 주어질 수 있다.
상술한 이유 또는 다른 이유로 인해, 마스터 역할을 회피할 수 없는 경우, 전자 장치는 추가 동작이 수행되는 구간 동안, 또는, 임의의 주기로, 발견 비콘의 송신을 중단할 수 있다.
예를 들어, 스마트 폰 및 웨어러블 장치로 구성된 클러스터의 경우, 두 장치들 간 추가 동작으로서 WiFi 통신이 수행될 수 있다. 이 경우, 상기 스마트 폰이 마스터로 기능할 수 있다. 상기 스마트 폰 및 상기 웨어러블 장치로 구성되는 클러스터의 경우, 다른 장치와의 통신이 더 필요하지 아니할 수 있다. 따라서, 상기 스마트폰이 마스터로 기능하되, 발견 비콘의 송신을 전체 또는 일부 구간에서 생략할 수 있다. 이 경우, 마스터 선호도의 조절 역시 생략될 수 있다.
또한, 상술한 바와 같이, 동기화된 통신 구간 외 구간에서 수행되는 추가 동작이 상기 동기화된 통신 구간에서의 통신과 동일한 채널을 이용하는 경우, 채널 변경이 불필요하다. 이 경우, 상기 전자 장치는 마스터 역할을 회피하지 아니할 수 있다. 따라서, 본 발명의 다른 실시 예에 따라, 상기 마스터를 회피하는 것이 아니라, 상기 전자 장치는 상기 클러스터를 위한 채널에서 상기 추가 동작을 수행할 수 있다.
상술한, 마스터를 회피하는 절차, 발견 비콘의 송신을 일부 중단하는 절차, 추가 동작의 채널을 변경하는 절차 등 3가지 절차들은 각자 적용되거나, 또는, 둘 이상의 조합으로 실시될 수 있다.
도 21은 일 실시 예에 따른 전자 장치의 동작 절차를 도시한다.
상기 도 21을 참고하면, 상기 전자 장치는 2101단계에서 참조 값을 송신한다. 상기 참조 값은 기준 노드를 결정하기 위한 변수이다. 예를 들어, 상기 참조 값은 마스터 선호도일 수 있다. 또는, 상기 참조 값은 랜덤 인자 또는 MAC 주소의 일부를 포함할 수 있다. 상기 참조 값은 상기 전자 장치에 의해 송신되는 신호(예: 동기 비콘)를 통해 송신될 수 있다. 상기 참조 값은 서로 다른 동기화된 구간들을 통해 반복적으로 송신될 수 있다.
상기 전자 장치는 2103단계로 진행하여 변경된 참조 값을 송신한다. 즉, 상기 전자 장치는 미리 정의된 상황을 검출함으로 인해 상기 참조 값을 변경하고, 변경된 참조 값을 송신한다. 예를 들어, 상기 미리 정의된 상황은, 추가 동작을 수행하는 것을 포함할 수 있다. 여기서, 상기 추가 동작은 클러스터 내의 동기화된 통신 구간 외 구간에서 수행되는 통신을 의미한다. 이때, 상기 추가 동작은 상기 클러스터를 위한 통신과 다른 주소를 이용하여 수행되므로, 상기 추가 동작은 다른 주소를 사용하는 통신 동작을 의미할 수 있다. 또는, 상기 미리 정의된 상황은, 상기 전자 장치의 프로세서가 슬립 모드로 진입하는 것을 포함할 수 있다.
상기 도 21에 도시되지 아니하였으나, 상기 전자 장치는 상기 변경된 참조 값을 송신한 후, 클러스터 내 적어도 하나의 다른 전자 장치의 참조 값을 수신할 수 있다. 그리고, 상기 전자 장치는 자신 및 적어도 하나의 다른 전자 장치의 참조 값들에 기초하여, 마스터로 기능할 장치를 결정할 수 있다. 이때, 상기 전자 장치가 마스터로 선택되지 아니하면, 상기 전자 장치는 동기화된 통신 구간 외 구간 동안 발견 비콘을 송신하지 아니할 수 있다.
도 22는 다른 실시 예에 따른 전자 장치의 동작 절차를 도시한다.
상기 도 22를 참고하면, 상기 전자 장치는 2201단계에서 추가 동작이 수행되는지 또는 프로세서가 슬립 모드로 동작하는지 판단한다. 여기서, 상기 추가 동작은 클러스터 내의 동기화된 통신 구간 외 구간에서 수행되는 통신을 의미한다. 이때, 상기 추가 동작은 상기 클러스터를 위한 통신과 다른 주소를 이용하여 수행되므로, 상기 추가 동작은 다른 주소를 사용하는 통신 동작을 의미할 수 있다. 또한, 상기 슬립 모드는 상기 프로세서가 기능 전체 또는 기능 일부를 불활성화하고, 기능을 활성화하라는 요청 신호(예: 인터럽트 신호)을 인지하기 위한 최소한의 전류만을 소모하는 상태를 의미한다.
상기 전자 장치는 2203단계로 진행하여 기준 노드를 결정하기 위한 참조 값을 조절한다. 예를 들어, 상기 참조 값은 마스터 선호도일 수 있다. 또는, 상기 참조 값은 랜덤 인자 또는 MAC 주소의 일부를 포함할 수 있다. 상기 참조 값은 미리 정의된 규칙에 따라 조절될 수 있다. 상기 미리 정의된 규칙은, 참조 값의 설정 가능 범위에 기초하거나, 또는, 적어도 하나의 다른 전자 장치의 참조 값에 기초하여 참조 값을 조절하도록 정의될 수 있다. 예를 들어, 상기 전자 장치는 미리 정의된 범위(예: 0 내지 128)에서 현재의 값보다 낮은 값으로 상기 참조 값을 낮출 수 있다. 구체적으로, 상기 참조 값은 설정 가능한 범위에서 최소값(예: 0)으로 조절될 수 있다. 다른 예로, 상기 전자 장치는 상기 주기적인 동작을 통해 획득한 다른 전자 장치의 참조 값에 기초하여 상기 참조 값을 조절할 수 있다. 구체적으로, 상기 전자 장치는 다른 전자 장치들의 참조 값의 평균값 또는 최소값 보다 작도록 참조 값을 조절할 수 있다. 이때, 상기 평균값 또는 상기 최소값과 조절된 값의 차이는 미리 정의된 규칙에 따라 결정될 수 있다.
상기 도 22에 도시된 실시 예에서, 상기 전자 장치는 상기 추가 동작의 수행 여부에 의해 상기 참조 값을 조절한다. 본 발명의 다른 실시 예에 따라, 상기 전자 장치는 상기 부가 동작의 수행에 더하여, 상기 부가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이한지 여부, 상기 전자 장치가 현재 기준 노드인지 여부 중 적어도 하나에 더 기초하여 상기 참조 값을 조절할 수 있다. 예를 들어, 상기 전자 장치가 부가 동작을 수행하고, 상기 부가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이하면, 상기 전자 장치는 상기 참조 값을 조절할 수 있다. 다른 예로, 상기 전자 장치가 부가 동작을 수행하고, 상기 전자 장치가 현재 기준 노드이면, 상기 전자 장치는 상기 참조 값을 조절할 수 있다. 예를 들어, 상기 전자 장치가 부가 동작을 수행하고, 상기 부가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이하고, 상기 전자 장치가 현재 기준 노드이면, 상기 전자 장치는 상기 참조 값을 조절할 수 있다.
상기 도 22에 도시되지 아니하였으나, 상기 전자 장치는 상기 참조 값 조절의 원인이 된 상황(예: 부가 동작 수행, 슬립 모드)이 종료되면, 상기 참조 값을 조절 전의 값으로 복원할 수 있다. 이를 위해, 상기 전자 장치는 조절 전의 참조 값을 기록할 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시 예들에 따른 전자 장치는 참조 값을 조절함으로써, 기준 노드, 즉, 마스터로 선택되는 것을 회피할 수 있다.
즉, 전자 장치의 동작 방법은, 다수의 전자 장치들을 포함하는 클러스터에서 기준 노드를 결정하기 위한 참조 값을 송신하는 과정과, 상기 클러스터의 동기화된 통신 구간 외 구간에서의 추가 동작의 수행으로 인해 변경된 참조 값을 송신하는 과정과, 상기 변경된 참조 값에 기초하여 상기 기준 노드로 동작할지 여부를 결정하는 과정을 포함할 수 있다. 여기서, 상기 기준 노드는, 상기 동기화된 통신 구간 외 구간에서 상기 집합 외 다른 전자 장치를 위한 신호를 송신하는 노드를 의미한다.
나아가, 상기 전자 장치의 동작 방법은, 상기 변경된 참조 값을 송신하기 전, 상기 참조 값을 조절하는 과정을 더 포함할 수 있다. 그리고, 상기 참조 값을 조절하는 과정은, 상기 추가 동작을 위해 사용되는 채널 및 상기 집합 내의 통신을 위해 사용되는 채널이 상이한 경우, 상기 참조 값을 조절하는 과정을 포함할 수 있다. 또는, 상기 참조 값을 조절하는 과정은, 상기 전자 장치가 상기 기준 노드로 기능하는 경우, 상기 참조 값을 조절하는 과정을 포함할 수 있다. 또는, 상기 참조 값을 조절하는 과정은, 현재 값보다 낮은 값, 설정 가능한 범위의 최소값, 상기 집합 내 적어도 하나의 다른 전자 장치의 참조 값의 평균값 이하의 값, 상기 집합 내 적어도 하나의 다른 전자 장치의 참조 값의 최소값 이하의 값 중 하나로 상기 참조 값을 결정하는 과정을 포함할 수 있다.
또한, 상기 동작 방법은, 상기 추가 동작을 종료하는 과정과, 상기 변경된 참조 값을 변경 전의 값으로 조절하는 과정을 더 포함할 수 있다. 그리고, 상기 전자 장치의 프로세서가 슬립 모드로 진입함으로 인해 변경된 참조 값을 송신하는 과정이 더 포함될 수 있다. 여기서, 상기 동작 방법은, 상기 프로세서가 슬립 모드를 종료하면, 상기 변경된 참조 값을 변경 전의 값으로 조절하는 과정을 더 포함할 수 있다.
추가적으로, 상기 동작 방법은, 상기 전자 장치의 배터리 잔량에 기초하여 변경된 참조 값을 송신하는 과정을 더 포함할 수 있다.
본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 발명의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리(random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 발명의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 발명의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 발명의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 발명이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. NAN(neighbor awareness networking) 클러스터(cluster)에서 마스터로 동작하는 전자 장치의 방법에 있어서,
    DW(discovery window)의 적어도 하나의 외부에서 발견 신호를 전송하는 동작;
    임의의 DW 외부에서 추가 동작의 수행을 결정하는 동작;
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하는 동작; 및
    상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하는 동작;을 포함하고,
    상기 추가 동작은 상기 DW 외부에서 NAN 네트워크와 다른 네트워크에서의 동작을 포함하는 방법.
  2. 제1항에 있어서,
    상기 추가 동작이 종료되면, 상기 변경된 마스터 선호도로부터 상기 전자 장치의 마스터 선호도를 변경 전의 값으로 복원하는 동작;을 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 DW에서 다른 전자 장치의 마스터 선호도에 관한 정보를 포함하는 동기화 신호를 수신하는 동작;을 더 포함하고,
    상기 전자 장치의 마스터 선호도를 변경하는 동작은,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 수신된 다른 전자 장치의 마스터 선호도에 기초하여 상기 전자 장치의 마스터 선호도를 변경하는 동작;을 포함하는 방법.
  4. 제1항에 있어서,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하고 및 상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하는 대신, 상기 추가 동작을 위한 채널을 상기 NAN 클러스터를 위한 채널로 변경하는 동작;을 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하고 및 상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하는 대신, 상기 추가 동작을 수행하는 동안 상기 발견 신호의 전송을 중단하는 동작;을 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 전자 장치가 슬립 모드로 동작하면, 상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하는 동작;을 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 마스터 선호도는 상기 NAN 클러스터에서 상기 마스터를 결정하는데 이용 가능하고,
    상기 발견 신호는 상기 NAN 클러스터의 존재를 나타내기 위해 이용 가능한 방법.
  8. NAN(neighbor awareness networking) 클러스터(cluster)에서 마스터로 동작하는 전자 장치에 있어서,
    프로세서; 및
    상기 프로세서와 작동적으로 연결된 통신 인터페이스;를 포함하고,
    상기 프로세서는,
    DW(discovery window)의 적어도 하나의 외부에서 발견 신호를 전송하고,
    임의의 DW 외부에서 추가 동작의 수행을 결정하고,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하고, 및
    상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하도록 설정되고,
    상기 추가 동작은 상기 DW 외부에서 NAN 네트워크와 다른 네트워크에서의 동작을 포함하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 추가 동작이 종료되면, 상기 변경된 마스터 선호도로부터 상기 전자 장치의 마스터 선호도를 변경 전의 값으로 복원하도록 더 설정된 전자 장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 DW에서 다른 전자 장치의 마스터 선호도에 관한 정보를 포함하는 동기화 신호를 수신하고,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 수신된 다른 전자 장치의 마스터 선호도에 기초하여 상기 전자 장치의 마스터 선호도를 변경하도록 더 설정된 전자 장치.
  11. 제8항에 있어서,
    상기 프로세서는,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하고 및 상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하는 대신, 상기 추가 동작을 위한 채널을 상기 NAN 클러스터를 위한 채널로 변경하도록 더 설정된 전자 장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하고 및 상기 변경된 마스터 선호도에 관한 정보를 포함하는 신호를 전송하는 대신, 상기 추가 동작을 수행하는 동안 상기 발견 신호의 전송을 중단하도록 더 설정된 전자 장치.
  13. 제8항에 있어서,
    상기 프로세서는,
    상기 전자 장치가 슬립 모드로 동작하면, 상기 NAN 클러스터에서 비-마스터로 동작하기 위해 상기 전자 장치의 마스터 선호도를 변경하도록 더 설정된 전자 장치.
  14. 제8항에 있어서,
    상기 마스터 선호도는 상기 NAN 클러스터에서 상기 마스터를 결정하는데 이용 가능하고,
    상기 발견 신호는 상기 NAN 클러스터의 존재를 나타내기 위해 이용 가능한 전자 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020140165416A 2014-11-25 2014-11-25 근접 네트워크 구성 방법 및 그 전자 장치 KR102251353B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020140165416A KR102251353B1 (ko) 2014-11-25 2014-11-25 근접 네트워크 구성 방법 및 그 전자 장치
US14/933,736 US10313961B2 (en) 2014-11-25 2015-11-05 Method for transmitting and receiving signals in proximity network and electronic device thereof
CN201580060756.8A CN107079277B (zh) 2014-11-25 2015-11-24 用于在邻近网络中传送和接收信号的方法及其电子装置
EP15196117.4A EP3026943B1 (en) 2014-11-25 2015-11-24 Avoiding master role selection in a proximity network
PCT/KR2015/012607 WO2016085219A1 (en) 2014-11-25 2015-11-24 Method for transmitting and receiving signals in proximity network and electronic device thereof
US16/405,533 US10721679B2 (en) 2014-11-25 2019-05-07 Method for transmitting and receiving signals in proximity network and electronic device thereof
US16/933,315 US11228970B2 (en) 2014-11-25 2020-07-20 Method for transmitting and receiving signals in proximity network and electronic device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140165416A KR102251353B1 (ko) 2014-11-25 2014-11-25 근접 네트워크 구성 방법 및 그 전자 장치

Publications (2)

Publication Number Publication Date
KR20160062534A KR20160062534A (ko) 2016-06-02
KR102251353B1 true KR102251353B1 (ko) 2021-05-12

Family

ID=54770812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140165416A KR102251353B1 (ko) 2014-11-25 2014-11-25 근접 네트워크 구성 방법 및 그 전자 장치

Country Status (5)

Country Link
US (3) US10313961B2 (ko)
EP (1) EP3026943B1 (ko)
KR (1) KR102251353B1 (ko)
CN (1) CN107079277B (ko)
WO (1) WO2016085219A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251353B1 (ko) * 2014-11-25 2021-05-12 삼성전자주식회사 근접 네트워크 구성 방법 및 그 전자 장치
KR102208438B1 (ko) * 2014-11-26 2021-01-27 삼성전자주식회사 근접 서비스 데이터 송신 방법 및 그 전자 장치
US20160218866A1 (en) * 2015-01-27 2016-07-28 Qualcomm Incorporated Group key announcement and distribution for a data link group
US10015660B2 (en) * 2015-01-28 2018-07-03 Intel IP Corporation NAN discovery window selection
US10397837B2 (en) * 2015-05-22 2019-08-27 Lg Electronics Inc. Method and device for performing session handover in wireless communication system
US10165622B2 (en) * 2015-06-10 2018-12-25 Samsung Electronics Co., Ltd. Method and system for synchronizing communication between nodes in a Bluetooth network
US10397767B2 (en) 2015-11-02 2019-08-27 Apple Inc. NAN further availability schedule indications
US10098135B2 (en) * 2016-02-22 2018-10-09 Intel IP Corporation Action frame for schedule update in a NAN
US10182463B1 (en) * 2016-03-07 2019-01-15 Microsoft Technology Licensing, Llc Transmitting data among mobile devices
US10298461B2 (en) * 2016-05-10 2019-05-21 Motorola Mobility Llc System and method for determining a master device in a neighborhood aware network
US10869266B2 (en) * 2016-11-11 2020-12-15 Qualcomm Incorporated Energy efficient discovery and traffic management in a mesh WAN for IoEs with a wakeup receiver
CN113162996B (zh) * 2017-06-02 2023-03-24 华为技术有限公司 服务发现的方法、注册中心和设备
KR102428712B1 (ko) * 2017-11-24 2022-08-03 삼성전자주식회사 콘텐트를 제공하기 위한 방법 및 이를 지원하는 전자 장치
KR102477589B1 (ko) 2017-12-26 2022-12-15 삼성전자주식회사 Nan 기반의 통신 제어 방법 및 이를 지원하는 전자 장치
US10616751B1 (en) * 2018-02-17 2020-04-07 EMC IP Holding Company LLC Ad-hoc mobile computing
US11496932B2 (en) * 2018-03-05 2022-11-08 Signify Holding B.V. Beacon-based handover option for commissioning and control of wireless network devices
CN109195149B (zh) * 2018-08-20 2021-03-09 Oppo广东移动通信有限公司 Nan扫描调整方法及相关设备
KR102174377B1 (ko) * 2019-01-29 2020-11-04 국방과학연구소 노드 시간동기 제어 장치 및 그 방법
US10979348B1 (en) * 2019-03-29 2021-04-13 Rockwell Collins, Inc. Zero-overhead efficient flooding
US11284295B1 (en) * 2019-03-29 2022-03-22 Rockwell Collins, Inc. Reliable efficient flooding in MANET
CN114009105A (zh) 2019-06-20 2022-02-01 昕诺飞控股有限公司 控制网络***
WO2021006710A1 (ko) * 2019-07-10 2021-01-14 엘지전자 주식회사 무선 통신 시스템에서 근거리 무선 통신을 이용한 오디오 데이터 전송 방법 및 이에 대한 장치
US10880825B1 (en) * 2019-08-16 2020-12-29 Cisco Technology, Inc. Infrastructure aided neighbor awareness networking for 802.11ax and mixed mode networks
US11146415B2 (en) 2019-11-16 2021-10-12 Microsoft Technology Licensing, Llc Message-limited self-organizing network groups for computing device peer matching
US11726162B2 (en) 2021-04-16 2023-08-15 Rockwell Collins, Inc. System and method for neighbor direction and relative velocity determination via doppler nulling techniques
US11737121B2 (en) 2021-08-20 2023-08-22 Rockwell Collins, Inc. System and method to compile and distribute spatial awareness information for network
US11290942B2 (en) 2020-08-07 2022-03-29 Rockwell Collins, Inc. System and method for independent dominating set (IDS) based routing in mobile AD hoc networks (MANET)
US11296966B2 (en) 2019-11-27 2022-04-05 Rockwell Collins, Inc. System and method for efficient information collection and distribution (EICD) via independent dominating sets
US11665658B1 (en) 2021-04-16 2023-05-30 Rockwell Collins, Inc. System and method for application of doppler corrections for time synchronized transmitter and receiver
US11977173B2 (en) 2019-11-27 2024-05-07 Rockwell Collins, Inc. Spoofing and denial of service detection and protection with doppler nulling (spatial awareness)
KR102274562B1 (ko) * 2020-02-28 2021-07-07 국방과학연구소 애드혹 네트워크 시스템 및 기준 노드 기반의 그룹 간 동기 방법
US11646962B1 (en) * 2020-10-23 2023-05-09 Rockwell Collins, Inc. Zero overhead efficient flooding (ZOEF) oriented hybrid any-cast routing for mobile ad hoc networks (MANET)
CN112416477B (zh) * 2020-11-27 2022-04-26 瑞声新能源发展(常州)有限公司科教城分公司 信号转换方法、装置、计算机设备和存储介质
US20230073116A1 (en) * 2021-08-24 2023-03-09 Meta Platforms Technologies, Llc Systems and methods of narrowband discovery for wireless devices
JP2023170751A (ja) * 2022-05-20 2023-12-01 株式会社メガチップス 通信端末装置、情報通信システム、プログラムおよび情報通信方法
EP4358606A1 (en) * 2022-09-06 2024-04-24 Samsung Electronics Co., Ltd. Electronic device and nan-based communication method
CN115237739B (zh) * 2022-09-23 2022-12-09 湖南云箭智能科技有限公司 板卡运行环境的分析方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089166A (ja) * 2007-10-01 2009-04-23 Fujitsu Microelectronics Ltd 通信システム
WO2014031829A2 (en) 2012-08-23 2014-02-27 Interdigital Patent Holdings, Inc. Method and apparatus for performing device-to-device discovery
WO2014138229A1 (en) 2013-03-08 2014-09-12 Qualcomm Incorporated Systems and methods for synchronization within a neighbor aware network

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521893B2 (en) 2008-06-27 2013-08-27 Qualcomm Incorporated Multi-rate proximity based peer discovery methods and apparatus
US10271293B2 (en) 2011-11-18 2019-04-23 Apple Inc. Group formation within a synchronized hierarchy of peer-to-peer devices
WO2013081393A1 (ko) * 2011-11-29 2013-06-06 엘지전자 주식회사 기기간 통신을 지원하는 무선접속시스템에서 기기간 동기화 및 식별을 지원하는 방법
TWI571166B (zh) * 2012-01-13 2017-02-11 蘋果公司 在點對點網路環境中同步站台之選擇
US9369905B2 (en) 2012-05-18 2016-06-14 Qualcomm Incorporated Battery power reporting for UE relays
EP2946606A4 (en) 2013-01-17 2016-12-21 Intel Ip Corp DISCOVERY SIGNAL IN A SMALL CELL CLUSTER
WO2014130091A1 (en) 2013-02-22 2014-08-28 Intel IP Corporation Systems and methods for access network selection and traffic routing
US9800389B2 (en) * 2013-03-08 2017-10-24 Qualcomm Incorporated Systems and methods for discovering and synchronizing within a neighbor aware network
US9516595B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Systems and methods for synchronization within a neighborhood aware network
KR102170987B1 (ko) 2013-04-09 2020-10-29 삼성전자 주식회사 무선 통신 시스템에서 단말 대 단말 통신을 위한 신호 송수신 방법 및 장치
US9872227B2 (en) 2013-04-23 2018-01-16 Qualcomm Incorporated Systems and methods for identification in a neighborhood aware network
CN104053227B (zh) 2013-12-02 2017-06-27 华为终端有限公司 一种用于锚主设备选择的方法和设备
US9386512B2 (en) * 2014-05-02 2016-07-05 Intel Corporation Techniques for energy efficient WiFi neighbor awareness network operation
US9439089B2 (en) * 2014-05-23 2016-09-06 Google Inc. Device to device round-trip time (RTT) measurement via neighbor aware network
KR102251353B1 (ko) * 2014-11-25 2021-05-12 삼성전자주식회사 근접 네트워크 구성 방법 및 그 전자 장치
US10149313B2 (en) * 2015-07-22 2018-12-04 Intel IP Corporation Apparatus, system and method of communicating in a neighbor awareness networking (NAN) cluster

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009089166A (ja) * 2007-10-01 2009-04-23 Fujitsu Microelectronics Ltd 通信システム
WO2014031829A2 (en) 2012-08-23 2014-02-27 Interdigital Patent Holdings, Inc. Method and apparatus for performing device-to-device discovery
WO2014138229A1 (en) 2013-03-08 2014-09-12 Qualcomm Incorporated Systems and methods for synchronization within a neighbor aware network

Also Published As

Publication number Publication date
KR20160062534A (ko) 2016-06-02
US20160150465A1 (en) 2016-05-26
WO2016085219A1 (en) 2016-06-02
US10721679B2 (en) 2020-07-21
CN107079277B (zh) 2020-09-25
US11228970B2 (en) 2022-01-18
US20200351764A1 (en) 2020-11-05
US20190268834A1 (en) 2019-08-29
EP3026943A1 (en) 2016-06-01
EP3026943B1 (en) 2017-12-20
US10313961B2 (en) 2019-06-04
CN107079277A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
KR102251353B1 (ko) 근접 네트워크 구성 방법 및 그 전자 장치
US11636861B2 (en) Electronic device and method of operation thereof
US10341942B2 (en) Method of transmitting proximity service data and electronic device for the same
KR102493721B1 (ko) 외부 전자 장치와 연결을 수립하는 방법 및 전자 장치
KR102246267B1 (ko) 근접 네트워크 구성 방법 및 그 전자 장치
KR102456599B1 (ko) 근접 네트워크 동기화 방법 및 그 전자 장치
US10149095B2 (en) Method and apparatus for providing location information
US20160066326A1 (en) Communication channel management method and electronic device supporting the same
US9967702B2 (en) Method of managing application and electronic device therefor
KR20170058597A (ko) 무선 통신 방법 및 이를 제공하는 전자 장치
KR102275564B1 (ko) 전자 장치 및 전자 장치에서 인증 정보 전송 및 수신 방법
US10749950B2 (en) Method and electronic device for providing data
US10140851B2 (en) Method and electronic device for performing connection between electronic devices
KR20160100153A (ko) 장치 검색 방법 및 이를 지원하는 전자 장치
US20180130441A1 (en) Electronic device and control method thereof
US10334529B2 (en) Power saving method in ad-hoc network, and electronic device performing the method
KR20160052105A (ko) 전자 장치의 데이터 송수신 방법 및 이를 사용하는 전자 장치
KR20170090664A (ko) 테더링 서비스를 제공하는 방법 및 이를 사용하는 전자 장치
US10390380B2 (en) Electronic device, system, and method for connecting short-range communication
KR102475937B1 (ko) 네트워크 연결을 위한 전자 장치 및 방법
KR20160105031A (ko) 전자 장치의 동작 방법 및 전자 장치
KR102411375B1 (ko) 전자 장치 및 그의 동작 방법

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
GRNT Written decision to grant