KR20220000719A - 전자 장치 및 전자 장치의 컨텐츠 전송 방법 - Google Patents

전자 장치 및 전자 장치의 컨텐츠 전송 방법 Download PDF

Info

Publication number
KR20220000719A
KR20220000719A KR1020200078707A KR20200078707A KR20220000719A KR 20220000719 A KR20220000719 A KR 20220000719A KR 1020200078707 A KR1020200078707 A KR 1020200078707A KR 20200078707 A KR20200078707 A KR 20200078707A KR 20220000719 A KR20220000719 A KR 20220000719A
Authority
KR
South Korea
Prior art keywords
electronic device
short
motion
sensor
content
Prior art date
Application number
KR1020200078707A
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 KR1020200078707A priority Critical patent/KR20220000719A/ko
Priority to PCT/KR2021/008100 priority patent/WO2021261974A1/ko
Publication of KR20220000719A publication Critical patent/KR20220000719A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다양한 실시예에 따른 전자 장치는, 외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈, 상기 전자 장치의 움직임을 감지하는 센서, 메모리, 및 상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고, 상기 외부 장치로부터 상기 근거리 통신 모듈을 통해 상기 외부 장치의 움직임과 관련된 제2움직임 정보를 수신하고, 및 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하도록 설정될 수 있다.

Description

전자 장치 및 전자 장치의 컨텐츠 전송 방법 {ELECTRONICE DEVICE AND METHOD FOR TRANSMITTING CONTENT}
본 문서의 다양한 실시예들은 전자 장치에 관한 것이며, 예를 들어 근거리 무선 통신을 지원하는 휴대용 전자 장치에서 인접하는 외부 장치에 컨텐츠 전송 등의 기능을 수행하는 방법에 관한 것이다.
이동통신, 하드웨어 및/또는 소프트웨어 기술의 발달에 따라, 스마트폰으로 대표되는 휴대용 전자 장치(이하, 전자 장치)는 다양한 기능들을 탑재할 수 있게 되었다. 예를 들어, 전자 장치는 다양한 어플리케이션을 이용하여, 비디오 및/또는 오디오 컨텐츠(이하, 컨텐츠)를 재생할 수 있으며, 컨텐츠를 외부 장치에 공유할 수도 있다.
전자 장치는 무선 통신을 이용하여 컨텐츠를 외부 장치에 전송할 수 있다. 예를 들어, 전자 장치는 블루투스(Bluetooth), 와이파이 다이렉트(Wi-Fi direct) 등 근거리 무선 통신을 이용하여 외부 장치에 컨텐츠를 직접 전송할 수 있다.
종래의 전자 장치가 근거리 무선 통신을 이용해 외부 장치에 컨텐츠를 전송하기 위해서는, 근거리 무선 통신을 지원하는 외부 장치를 검색한 후, 특정 장치와 연결을 수행해야 한다. 사용자는 이와 같은 외부 장치와 연결의 전 또는 후에 공유할 컨텐츠를 선택할 수 있다. 이와 같은 종래의 컨텐츠 공유 방법은 통신 수단의 선택, 외부 장치의 검색 및 선택 등 다양한 조작이 필요하며, 이는 사용성이 떨어질 수 있다.
본 문서의 다양한 실시예들은 전자 장치 및 외부 장치의 움직임(motion)에 기초하여 컨텐츠 공유 등 정해진 기능을 수행할 수 있는 전자 장치 및 전자 장치의 컨텐츠 공유 방법을 제공함에 그 목적이 있다.
다양한 실시예에 따른 전자 장치는, 외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈, 상기 전자 장치의 움직임을 감지하는 센서, 메모리, 및 상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고, 상기 외부 장치로부터 상기 근거리 통신 모듈을 통해 상기 외부 장치의 움직임과 관련된 제2움직임 정보를 수신하고, 및 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치의 컨텐츠 전송 방법은, 상기 전자 장치의 움직임을 감지하는 동작, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하는 동작, 외부 장치로부터 상기 외부 장치의 움직임과 관련된 제2움직임 정보를 수신하는 동작, 및 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따른 전자 장치는, 외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈, 상기 전자 장치의 움직임을 감지하는 센서, 제1사용자 정보를 저장하는 메모리, 및 상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 수신되는 신호에 기초하여 상기 외부 장치를 인식하고, 상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고, 상기 감지된 전자 장치의 움직임이 정해진 조건을 만족하는 경우, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고, 상기 제1움직임 정보 및 상기 제1사용자 정보를 상기 근거리 통신 모듈을 통해 상기 외부 장치로 전송하고, 및 상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 컨텐츠를 수신하도록 설정될 수 있다.
본 문서의 다양한 실시예에 따르면, 전자 장치 및 외부 장치의 움직임에 기반하여 보다 직관적이고 간단하게 컨텐츠 공유 등의 기능을 수행할 수 있는 전자 장치 및 전자 장치의 컨텐츠 공유 방법을 제공할 수 있다.
도 1은 다양한 실시예에 따른 네트워크 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예에 따른 복수의 전자 장치를 도시한 것이다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 5는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 6은 다양한 실시예에 따른 제1전자 장치에서 컨텐츠를 선택하는 화면의 일 예를 도시한 것이다.
도 7은 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 근거리 무선 통신 연결 동작을 도시한 것이다.
도 8은 다양한 실시예에 따른 shake 동작의 일 예를 도시한 것이다.
도 9는 다양한 실시예에 따른 shake 동작 시 센서에서 감지되는 데이터를 나타낸 그래프이다.
도 10은 다양한 실시예에 따른 shake 동작의 감지 방법의 흐름도이다.
도 11은 다양한 실시예에 따른 tap 동작의 일 예를 도시한 것이다.
도 12는 다양한 실시예에 따른 tap 동작 시 센서에서 감지되는 데이터를 나타낸 그래프이다.
도 13은 다양한 실시예에 따른 tap 동작의 감지 방법의 흐름도이다.
도 14는 다양한 실시예에 따른 움직임 정보 및 사용자 정보의 교환 방법을 나타내는 흐름도이다.
도 15는 다양한 실시예에 따른 레인지(range) 측정 방법의 흐름도이다.
도 16a 및 도 16b는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치에서 표시되는 팝업 메시지를 도시한 것이다.
도 17 및 도 18은 다양한 실시예에 따른 컨텐츠 전송 방법의 흐름도이다.
도 19는 다양한 실시예에 따른 컨텐츠 전송 방법의 흐름도이다.
도 20은 다양한 실시예에 따른 컨텐츠 전송 방법의 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 다양한 실시예에 따른 복수의 전자 장치를 도시한 것이다.
다양한 실시예에 따르면, 전자 장치(200)(예: 도 1의 전자 장치(101))는 어플리케이션을 실행하여 컨텐츠를 출력하고, 근거리 무선 통신(예: Bluetooth, Wi-Fi direct 등)을 지원하는 장치일 수 있다. 예를 들어, 전자 장치(200)는 스마트 폰, 태블릿 PC, 랩톱 PC, 휴대용 멀티미디어 장치, 카메라, 웨어러블 장치 등일 수 있으나, 이에 한정되지는 않는다. 도 2에서 전자 장치들(200, 210, 220, 230)은 적어도 일부 동일한 구성을 포함하며, 도 3 이하에서 설명하는 실시예들은 각 전자 장치(200, 210, 220, 230) 상에서 구현될 수 있다.
다양한 실시예에 따르면, 전자 장치(200)는 근거리 무선 통신을 이용하여 외부 전자 장치(210, 220, 230)와 통신할 수 있으며, 메모리에 저장된 비디오/오디오 컨텐츠, 화면에 표시되는 실시간 영상, 문서 등 파일, 디지털 키 등 다양한 컨텐츠를 외부 전자 장치(210, 220, 230)에 전송할 수 있다. 예를 들어, 전자 장치(200)는 갤러리 어플리케이션에서 특정 이미지 컨텐츠를 선택하여 인접하는 외부 전자 장치(210, 220, 230)에 전송할 수 있다. 또는, 전자 장치(200)는 외부 전자 장치(210, 220, 230)로부터 컨텐츠를 수신할 수 있다.
전자 장치(200)가 근거리 무선 통신을 이용하여 외부 전자 장치(210, 220, 230)와 통신하기 위해서는 이용하려는 서비스 또는 통신 수단의 선택, 외부 전자 장치(210, 220, 230)의 검색 및 선택, 페어링(pairing) 등의 동작이 요구될 수 있다. 예를 들어, 전자 장치(200)는 블루투스를 이용해 외부 전자 장치(210, 220, 230)를 검색한 후 연결을 시도해야 하고, 검색 및 외부 전자 장치(210, 220, 230)의 선택은 사용자가 직접 입력해야 한다. 또한, 전자 장치(200)는 Bluetooth 파일 전송, NFC를 사용하는 Android Beam, BLE 및 Wi-Fi를 사용하는 send to device, Wi-Fi direct 등 컨텐츠 전송을 위한 다양한 프로토콜 및 어플리케이션을 지원할 수 있는데, 사용자가 이와 같은 근거리 무선 통신 방식 중 어느 하나를 직접 선택해야 하는 것은 사용성이 떨어질 수 있다.
이하에서는, 전자 장치(200)가 외부 전자 장치(210, 220, 230)와 서비스를 수행하는 경우, 전자 장치(200)의 움직임 등의 조건을 만족하는 외부 전자 장치(210, 220, 230)를 대상으로 지정하고, 전자 장치(200) 및 외부 전자 장치(210, 220, 230)의 상태에 따라 서비스 동작을 결정할 수 있는 다양한 실시예들에 대해 설명하기로 한다.
도 3은 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3을 참조 하면, 다양한 실시예에 따른 전자 장치(380)(예: 도 1의 전자 장치(101))는 디스플레이(330)(예: 도 1의 표시 장치(160)), 근거리 통신 모듈(310) (예: 도 1의 통신 모듈(190)), 센서(340)(예: 도 1의 센서 모듈(176)), 메모리(320) (예: 도 1의 메모리(130)) 및 프로세서(350)(예: 도 1의 프로세서(120))를 포함할 수 있으며, 도시된 구성 중 일부가 생략 또는 치환되더라도 본 문서의 다양한 실시예를 구현할 수 있다. 전자 장치(380)는 도 1의 전자 장치(101)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(380)는, 제 1 면(또는 전면)(미도시), 제 2 면(또는 후면)(미도시), 및 제 1 면(미도시) 및 제 2 면(미도시) 사이의 공간을 둘러싸는 측면(미도시)을 포함하는 하우징(미도시)을 포함할 수 있다.
도 3에 도시된 구성 및/또는 도시되지 않은 전자 장치(380)의 다른 구성 중 적어도 일부(예: 근거리 통신 모듈(310), 센서(340), 메모리(320), 프로세서(350))는 하우징(housing)(미도시) 내에 배치될 수 있고, 다른 적어도 일부(예: 디스플레이(330))는 하우징(미도시)의 외부로 노출될 수 있다.다양한 실시예에 따르면, 디스플레이(330)는 영상을 표시하며, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(micro electro mechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이 중 어느 하나로 구현될 수 있으나, 이에 한정되지는 않는다. 디스플레이(330)는 도 1의 표시 장치(160)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 디스플레이(330)는 터치 또는 호버링(hovering) 입력을 감지하는 터치 스크린을 포함할 수 있다. 터치 스크린은 인셀(in-cell) 방식, 온셀(on-cell) 방식을 포함하는 다양한 방식 중 어느 하나로 구현될 수 있다.
다양한 실시예에 따르면, 근거리 통신 모듈(310)은 외부 장치(예: 도 2의 외부 장치(210, 220, 230))와 근거리 무선 통신을 지원하는 안테나(미도시), RF 프론트 엔드(미도시), 통신 프로세서(350)를 포함하는 다양한 구성을 포함할 수 있다. 근거리 통신 모듈(310)은 다양한 근거리 무선 통신 방식(예: 블루투스(bluetooth), BLE(bluetooth low energy), Wi-Fi)을 지원할 수 있으며, 각각의 무선 통신 방식을 지원하기 위한 독립적인 하드웨어 및/또는 소프트웨어 구성을 포함할 수 있다. 일 실시예에 따르면, 근거리 통신 모듈(310)의 일부 구성(예: 통신 프로세서(350))은 프로세서(350)에 포함될 수 있다. 근거리 통신 모듈(310)은 도 1의 통신 모듈(190)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(380)는 센서(340)로부터 획득되는 센싱 값을 이용하여 전자 장치(380)의 움직임을 감지할 수 있다. 예를 들어, 전자 장치(380)는 가속도 센서(acceleration sensor)(미도시), 자이로 센서(gyroscope) (미도시)와 같은 전자 장치(380)의 움직임을 감지하기 위한 다양한 센서를 포함할 수 있다.
다양한 실시예에 따르면, 가속도 센서(미도시)는 전자 장치(380)의 내부(예: 전자 장치(380)의 하우징 내)에 위치되고, 전자 장치(380)에 연관된 가속도(예: 충격량)를 측정하도록 설정될 수 있다. 예를 들어, 가속도 센서(미도시)는 3축(예: x축, y축, 및 z축)에 대한 가속도를 측정하도록 설정될 수 있다.
다양한 실시예에 따르면, 자이로 센서(미도시)는 전자 장치(380)의 내부(예: 전자 장치(380)의 하우징 내)에 위치되고, 전자 장치(380)에 연관된 회전을 측정하도록 설정될 수 있다. 예를 들어, 자이로 센서(미도시)는 3축(예: x축, y축, 및 z축)에 대한 회전을 측정하도록 설정될 수 있다.
다양한 실시예에 따르면, 전자 장치(380)의 움직임의 타입(예: shake 동작, tap 동작)에 따라서 센서(340)의 센싱 값을 이용해 움직임을 감지할 수 있다.
일 실시예에 따르면, 전자 장치(380)는 적어도 하나의 센서(340)(예: 가속도 센서 및/또는 자이로 센서)로부터 획득된 센싱 값(예: 가속도 충격량, 회전 정보 및/또는 가속도 충격량 및 회전 정보의 다양한 조합에 의해 획득된 값) 및/또는 센싱 값 패턴(예: 충격량 패턴)에 기반하여 shake 동작 또는 tap 동작의 발생을 감지할 수 있다.
센서(340)는 도 1의 센서 모듈(176) 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 메모리(320)는 한정되지 않은 디지털 데이터들을 일시적 또는 영구적으로 저장하기 위한 것으로써, 도 1의 메모리(130)의 구성 및/또는 기능 중 적어도 하나를 포함할 수 있다. 메모리는 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))와 같은 비휘발성 메모리 및 DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM)와 같은 휘발성 메모리를 포함할 수 있다. 메모리(320)는 프로세서(350)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(350)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 입출력을 포함하는 다양한 제어 명령을 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 전자 장치(380)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 프로세서(350)는 디스플레이(330), 근거리 통신 모듈(310), 센서(340), 메모리(320)를 포함하는 전자 장치(380)의 각 구성요소와 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로(electrically) 연결될 수 있다.
다양한 실시예에 따르면, 프로세서(350)가 전자 장치(380) 내에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 본 문서에서는 센서(340)의 센싱 값을 이용해 전자 장치(380)의 움직임을 감지하고, 외부 장치와 컨텐츠 공유와 같은 움직임에 대응하는 기능을 수행하기 위한 다양한 실시예들에 대해 설명하기로 한다. 후술할 프로세서(350)의 동작들은 메모리(320)에 저장된 인스트럭션들을 로딩함으로써 수행될 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 메모리(320)에 저장된 어플리케이션을 실행할 수 있다. 전자 장치(380)에서 실행할 수 있는 어플리케이션에는 정함이 없으며, 음성 통화, 영상 통화, 인터넷 브라우저, 게임 또는 갤러리를 예로 들 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 어플리케이션에서 제공하는 컨텐츠를 외부 장치(예: 도 2의 외부 장치(210, 220, 230))와 공유할 수 있다. 이하에서는 전자 장치(380)가 갤러리 어플리케이션(또는 포토 어플리케이션)의 공유 기능(예: Insync, Quick share)을 이용해 외부 장치와 이미지 컨텐츠를 공유하는 실시예를 위주로 설명하기로 하나, 전자 장치(380)에서 외부 장치와 공유할 수 있는 컨텐츠의 종류(예: 동영상 컨텐츠, 오디오 컨텐츠, 컨택, 명함, 화면 공유)에는 정함이 없다. 또한, 전자 장치(380) 상의 사용자의 입력 및/또는 전자 장치(380)의 동작 상태에 따라 전자 장치(380)가 컨텐츠를 외부 장치에 전송할 수도 있고, 외부 장치로부터 컨텐츠를 수신할 수도 있다.
다양한 실시예에 따르면, 프로세서(350)는 디스플레이(330)에 대한 사용자 입력에 기초하여, 전송할 컨텐츠를 선택할 수 있다. 예를 들어, 프로세서(350)는 갤러리 어플리케이션 상에서 메모리(320)(또는 클라우드 서버)에 저장된 이미지 컨텐츠 중 사용자 입력에 따라 적어도 하나의 이미지 컨텐츠를 선택하고, 공유 기능(예: Insync, Quick share)을 실행할 수 있다. 또는, 갤러리 어플리케이션에서 정해진 동작(예: detail view)이 감지되는 경우, 공유 기능이 실행될 수 있다. 다른 실시예에 따르면, 프로세서(350)는 컨텐츠 공유를 위한 어플리케이션을 실행하고, 사용자 입력에 따라 공유할 컨텐츠를 선택할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠의 선택 및/또는 공유 기능(또는 공유 어플리케이션)의 실행에 대응하여, 근거리 통신 모듈(310)을 이용하여 신호를 브로드캐스팅(broadcasting) 할 수 있다. 예를 들어, 프로세서(350)는 BLE(bluetooth low energy) 신호를 브로드캐스팅 할 수 있다. 이 때, 인접하는 적어도 하나의 외부 장치는 BLE 신호를 수신할 수 있다. 외부 장치가 브로드캐스팅 되는 BLE 신호를 수신하고 이에 대해 응답하는 경우, 전자 장치(380)와 외부 장치 사이에 GATT(generic attribute profile) 연결, BLE 페어링 및, 사용자 인증 동작이 수행될 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠의 선택 및/또는 공유 기능(또는 공유 어플리케이션)의 실행에 응답하여, 센서(340)(예: 가속도 센서, 자이로 센서)를 활성화 할 수 있다. 센서(340)는 활성화 되어, 전자 장치(380)의 움직임에 대응하는 센싱 값을 프로세서(350)에 제공하고, 프로세서(350)는 센서(340)의 센싱 값에 기초하여 전자 장치(380)의 움직임을 감지할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 전자 장치(380)의 움직임이 정해진 조건을 만족하는 경우, 전자 장치(380)의 움직임에 관련된 제1움직임 정보를 생성할 수 있다. 프로세서(350)는 센서(340)의 센싱 값에 기초하여 전자 장치(380)의 움직임이 정해진 타입(예: shake 동작, tap 동작)인지 확인하고, 정해진 타입에 속하는 경우, 제1 움직임 정보를 생성할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 센서(340)의 센싱 값에 기초하여, 전자 장치(380)의 움직임에 대응하는 충격량을 확인하고, 충격량에 따라 shake 동작의 발생 여부를 판단할 수 있다. 예를 들어, shake 동작은 전자 장치(380)의 움직임에 회전 동작이 포함되기 때문에 자이로 센서의 센싱 값을 이용하여 shake 여부를 판단하되, 다른 센서(예: 가속도 센서)의 센싱 값을 이용하여 오인식을 필터링 할 수 잇다. 일 실시예에 따르면, 프로세서(350)는 센서(340)에서 센싱되는 가속도 데이터를 획득하고, 가속도 데이터를 미분한 값(또는 저크(jerk))을 이용하여 충격량을 확인할 수 있다.
예를 들어, 프로세서(350)는 센서(340)의 센싱 값에 따라 충격량을 확인하고, 1차적으로 충격량이 제1임계값 이상인 경우, shake 동작의 감시를 개시할 수 있다. 이 후, shake 동작의 감시가 개시된 상태에서 정해진 시간 동안 제1방향의 움직임 및 제2방향의 움직임이 정해진 횟수 이상 감지되는 경우, shake 동작이 발생한 것으로 판단할 수 있다. 전자 장치(380)가 shake 동작을 판단하는 실시예에 대해서는 도 8 내지 도 10을 통해 보다 상세히 설명하기로 한다.
다양한 실시예에 따르면, 프로세서(350)는 센서 및 동작 감지 알고리즘에 따라 tap 동작의 발생 여부를 판단할 수 있다. 예를 들어, 프로세서(350)는 가속도 센서(340)의 센싱 값에 기초하여 충격량을 확인하고, 충격량이 제2임계값인 이후 정해진 시간 동안 제3임계값 이하로 지속되는 경우 tap 동작으로 판단할 수 있다. 다양한 실시예에 따르면, 정확성을 위해 tap 동작은 2회 이상의 tap 동작(예: tap 동작)으로 정의될 수 있다. 이 경우, 프로세서(350)는 상기 충격량이 상기 제2임계값인 이후 정해진 시간 동안 상기 제3임계값 이하 지속 횟수가 정해진 횟수(예: 2회) 이상인 경우, tap 동작(또는 double tap 동작)이 발생한 것으로 판단할 수 있다. 전자 장치(380)가 tap 동작(또는 double tap 동작)을 판단하는 실시예에 대해서는 도 11 내지 도 13을 통해 보다 상세히 설명하기로 한다.
다양한 실시예에 따르면, 프로세서(350)는 센서(340)를 이용해 정해진 동작(예: shake 동작, tap 동작)의 발생을 감지하는 경우, 제1움직임 정보의 flag를 0에서 1로 변경할 수 있다.
다양한 실시예에 따르면, 전자 장치(380)와 근거리 무선 통신을 통해 연결된 외부 장치는 외부 장치의 센서를 이용하여 외부 장치의 움직임을 감지할 수 있다. 예를 들어, 외부 장치는 전자 장치로부터 브로드캐스팅 되는 BLE 신호를 수신하는 경우, 센서를 활성화 하고, 외부 장치의 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있다. 외부 장치는 감지된 움직임이 정해진 조건을 만족하는 경우, 외부 장치의 움직임에 관련된 제2움직임 정보를 생성할 수 있다. 외부 장치에서 마련된 센서의 센싱 방법 및 움직임(예: shake 동작, tap 동작)을 결정하는 방법은 전자 장치(380)와 동일할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 제1움직임 정보를 근거리 통신 모듈(310)을 이용해 외부 장치로 전송할 수 있다. 또한, 프로세서(350)는 전자 장치(380)의 제1사용자 정보를 외부 장치로 전송할 수 있다. 예를 들어, 제1사용자 정보는 전자 장치(380)의 전화 번호(예: IMEI), 어플리케이션(또는 기능)에서 설정된 ID, 디바이스 정보(예: MAC 어드레스) 중 적어도 일부를 포함하는 전자 장치(380)(또는 사용자)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 근거리 통신 모듈(310)을 이용해 외부 장치로부터 제2움직임 정보 및 제2사용자 정보를 수신할 수 있다. 여기서, 제2움직임 정보 및 제2사용자 정보는 외부 장치에서 전자 장치(380)와 동일한 방식으로 생성된 것일 수 있다.
다양한 실시예에 따르면, 전자 장치(380) 및 외부 장치는 여러 종류의 근거리 무선 통신(예: 블루투스, BLE, Wi-Fi)을 지원할 수 있으며, 서비스 및 응용에서 요구하는 기능을 수행할 수 있는 통신 기술이 복수로 존재할 수 있다. 전자 장치(380)는 외부 장치와 서로를 구별할 수 있는 식별자(예: 제1사용자 정보 및 제2사용자 정보), 전자 장치(380) 및 외부 장치에서 지원하는 근거리 통신 방식의 종류 및 특성 정보를 교환함으로써, 서비스 및 응용의 요구 사항에 가장 부합되는 근거리 통신 방식을 선택할 수 있다. 또한, 가장 적합 하다고 판단되는 근거리 통신 방식이라고 하더라도, 외부 장치가 해당 근거리 통신 방식을 현재 다른 목적으로 사용 중이거나(예: 블루투스 이어폰), 일시적으로 사용이 어려운 상태인 지 여부를 알림으로써, 서비스를 수행할 수 있는 다른 근거리 무선 통신 방식을 선택할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 전자 장치(380)의 센서(340)의 센싱 값에 기초하여 생성된 제1움직임 정보 및 외부 장치로부터 수신한 제2움직임 정보에 기초하여 정해진 기능을 수행할 수 있다. 일 실시예에 따르면, 정해진 기능은 외부 장치로의 선택된 컨텐츠의 전송을 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 제1움직임 정보 및 제2움직임 정보가 동일한 타입의 움직임인 경우, 정해진 기능을 수행할 수 있다. 예를 들어, 갤러리 어플리케이션의 이미지 컨텐츠의 전송에 shake 동작이 맵핑된 경우, 전자 장치(380)의 제1움직임 정보가 shake 동작이고, 외부 장치로부터 수신한 제2움직임 정보가 shake 동작인 경우, 외부 장치로의 컨텐츠 전송을 수행할 수 있다. 이 때, 제1움직임 정보 및/또는 제2움직임 정보는 센서(340)의 센싱 값이 획득된 시간에 관련된 타임 스탬프(time stamp)를 포함할 수 있으며, 프로세서(350)는 타임 스탬프에 기초하여 전자 장치(380) 및 외부 장치의 움직임(예: shake 동작)이 발생한 시간을 확인하고, 소정 시간 이내에 전자 장치(380) 및 외부 장치의 움직임이 발생한 경우, 정해진 기능을 수행할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 제2사용자 정보에 더 기초하여 정해진 기능의 수행 여부를 결정할 수 있다. 제2사용자 정보는 외부 장치의 전화 번호, 어플리케이션(또는 기능)에서 설정된 ID, 디바이스 정보(예: MAC 어드레스) 중 적어도 일부를 포함할 수 있으며, 프로세서(350)는 제2사용자 정보가 전자 장치(380)의 메모리(320)에 기 저장된 경우, 정해진 기능을 수행할 수 있다. 예를 들어, 외부 장치의 전화 번호가 전자 장치(380)의 컨택 어플리케이션에 저장되어 있거나, 컨텐츠 공유 어플리케이션(또는 기능)에 외부 장치의 ID가 기록되어 있는 경우 상기 기능을 수행할 수 있다. 이는, 의도한 외부 장치 이외에 인접하는 다른 장치와 연결되어 컨텐츠 공유와 같은 기능이 수행되는 것을 방지하기 위함이다.
다양한 실시예에 따르면, 프로세서(350)는 제2움직임 정보 및 제2사용자 정보가 확인되어, 정해진 기능을 실행하는 경우, 실행 여부를 확인하기 위한 UI(예: 팝업 메시지)를 디스플레이(330)에 표시할 수 있다. 프로세서(350)는 UI 상의 사용자 선택에 따라 컨텐츠 전송과 같은 기능을 수행할 수 있다.
다양한 실시예에 따르면, 전자 장치(380)(예: 근거리 통신 모듈(310))는 복수의 근거리 무선 통신 방식을 지원할 수 있으며, 이 중 어느 하나(예: BLE)를 이용해 외부 장치와의 GATT(generic attribute profile) 연결, BLE 페어링 및, 사용자 인증 동작을 수행할 수 있다. 이 후, 연결이 완료되는 경우, 전자 장치(380)는 수행할 기능의 특성에 따라 복수의 근거리 무선 통신 방식 중 하나를 선택할 수 있다. 예를 들어, 전자 장치(380)는 BLE 통신으로 외부 장치와 연결된 이후, Wi-Fi direct를 이용해 컨텐츠를 전송할 수 있다. 이 때, 외부 장치로부터 수신되는 신호의 세기(또는 신호의 품질), 각 근거리 무선 통신의 사용 여부, 사용자의 선택 중 적어도 하나에 기초하여 컨텐츠 전송에 사용할 근거리 무선 통신 방식을 선택할 수 있다. 신호 세기에 기초하여 근거리 무선 통신 방식을 선택하는 실시예에 대해서는 도 15를 통해 상세히 설명하기로 한다.
다양한 실시예에 따르면, 전자 장치(380)는 컨텐츠 공유 기능 실행 시 전송뿐 아니라 수신 동작을 수행할 수 있다. 즉, 동일한 장치가 전송 동작 및 수신 동작을 수행할 수도 있다.
도 4는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 4에서 제1전자 장치(480)(예: 도 2의 전자 장치(200) 또는 도 3의 전자 장치(380))는 컨텐츠 공유 기능의 실행 시 컨텐츠를 전송하는 장치이고, 제2전자 장치(490)(예: 도 2의 외부 장치(210))는 컨텐츠를 수신하는 장치일 수 있다. 동일한 장치(예: 도 3의 전자 장치(380))가 동작 상태에 따라 제1전자 장치(480) 또는 제2전자 장치(490)로 동작할 수 있다.
동작 410에서, 제1전자 장치(480)는 사용자 입력에 기초하여 공유할 컨텐츠를 선택할 수 있다. 예를 들어, 제1전자 장치(480)는 갤러리 어플리케이션의 이미지 컨텐츠 중 적어도 하나를 선택할 수 있다. 제1전자 장치(480)는 컨텐츠 선택에 대응하여, 제1전자 장치(480)의 움직임을 감지하기 위해, 센서(예: 도 3의 센서(340), 가속도 센서, 자이로 센서)를 활성화 할 수 있다. 다른 실시예에 따르면, 제1전자 장치(480)는 컨텐츠의 선택(410) 이전에 사용자 입력에 따라 센서를 활성화 하거나, BLE 신호를 브로드캐스팅(420) 한 이후에 센서를 활성화 할 수도 있다.
동작 420에서, 제1전자 장치(480)는 BLE 신호를 브로드캐스팅(broadcasting)(또는 애드버타이징(advertising)) 할 수 있다. 제1전자 장치(480)가 BLE 신호를 브로드캐스팅하는 경우, BLE의 감지 거리 내에 위치한 다른 장치들(예: 제2전자 장치(490))이 BLE 신호를 감지할 수 있다.
동작 430에서, 제1전자 장치(480)는 제1전자 장치(480)의 움직임을 감지할 수 있다. 예를 들어, 제1전자 장치(480)는 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있고, 움직임이 정해진 조건을 만족하는 경우 제1움직임 정보를 생성할 수 있다. 다양한 실시예에 따르면, 제1움직임 정보는 정해진 움직임(예: shake 동작, tap 동작)의 발생 여부에 따라 flag 0 또는 1로 설정될 수 있다. 또한, 제1움직임 정보는 shake 동작, tap 동작의 횟수, 지속 시간 및/또는 발생 시간에 대한 정보를 포함할 수 있다.
동작 435에서, 제2전자 장치(490)는 제2전자 장치(490)의 움직임을 감지할 수 있다. 예를 들어, 제2전자 장치(490)는 활성화 된 센서를 이용하여 정해진 움직임(예: shake 동작, tap 동작)을 감지하고, 움직임이 정해진 조건을 만족하는 경우, 제2움직임 정보를 생성할 수 있다.
동작 440에서, 제2전자 장치(490)는 BLE 신호를 브로드캐스팅(broadcasting) (또는 애드버타이징(advertising)) 할 수 있다.
동작 445에서, 제1전자 장치(480) 및 제2전자 장치(490)는 BLE 연결을 수립할 수 있다. 예를 들어, 제1전자 장치(480) 및 제2전자 장치(490)는 GATT(generic attribute profile) 연결, BLE 페어링 및 사용자 인증 동작과 같은 상호 연결 동작을 통해 BLE 연결을 수립할 수 있다.
동작 450에서, 제1전자 장치(480)는 제1움직임 정보 및 제1사용자 정보를 제2전자 장치(490)에 전송할 수 있다. 일 실시예에 따르면, 제1사용자 정보는 제1전자 장치(480)의 전화 번호(예: IMEI), 어플리케이션(또는 기능)에서 설정된 ID, 디바이스 정보(예: MAC 어드레스)를 포함하는 전자 장치(또는 사용자)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 455에서, 제2전자 장치(490)는 제2움직임 정보 및 제2사용자 정보를 제1전자 장치(480)에 전송할 수 있다. 제2사용자 정보는 제1사용자 정보에 대응하는 제2전자 장치(490)를 식별할 수 있는 다양한 정보를 포함할 수 있다. 일 실시예에 따르면, 제2전자 장치(490)는 제1사용자 정보가 제2전자 장치(490)의 메모리에 저장되어 있는 경우(예: 컨택 어플리케이션), 제2움직임 정보 및 제2사용자 정보를 제1전자 장치(480)에 전송할 수 있다.
동작 460에서, 제1전자 장치(480)는 제2전자 장치(490)로부터 수신되는 제2움직임 정보 및 제2사용자 정보를 확인할 수 있다. 제1전자 장치(480)는 제1움직임 정보 및 제2움직임 정보가 동일한 종류(예: shake 동작, tap 동작)로써 정해진 시간 이내에 발생한 경우, 또한 제2사용자 정보가 제1전자 장치(480)의 메모리에 저장되어 있는 경우(예: 컨택 어플리케이션에 제2전자 장치(490)의 전화번호가 저장되어 있는 경우), 컨텐츠 전송 기능의 수행을 결정할 수 있다.
도 4 및 상기 설명에서는 동작 430, 435, 440, 445, 450, 455, 460이 순서대로 수행되는 것으로 설명되어 있으나, 각 동작의 순서에는 정함이 없다. 예를 들어, 제2전자 장치(490)의 사용자에 의해 제1전자 장치(480)보다 먼저 shake 동작 또는 tab 동작이 감지되는 경우, 동작 435, 455는 각각 동작 430, 450보다 적어도 일부 먼저 수행될 수도 있다.
동작 465에서, 제1전자 장치(480) 및 제2전자 장치(490)는 선택된 컨텐츠의 공유를 위해, 근거리 무선 통신 연결을 수립할 수 있다. 예를 들어, 제1전자 장치(480) 및 제2전자 장치(490)는 컨텐츠 공유에 사용할 근거리 무선 통신 방식으로 Wi-Fi direct를 선택하고, Wi-Fi direct 연결을 위한 과정을 수행할 수 있다.
동작 470에서, 제1전자 장치(480)는 선택된 컨텐츠를 제2전자 장치(490)에 전송할 수 있다. 제1전자 장치(480)는 복수의 근거리 무선 통신 방식 중 선택된 어느 하나(예: Wi-Fi direct)를 이용해 컨텐츠를 전송할 수 있다.
도 5는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 5를 참조 하면, 제1전자 장치(580)(예: 도 2의 전자 장치(200), 도 3의 전자 장치(380) 또는 도 4의 제1전자 장치(480))는 어플리케이션(581), 공유 모듈(582), BT advanced OPP(583)를 포함할 수 있고, 제2전자 장치(590)는 어플리케이션(591), 공유 모듈(592), BT advanced OPP(593)를 포함할 수 있다. 이하에서는 도 5를 통해 제1전자 장치(580)가 제2전자 장치(590)(예: 도 4의 제2전자 장치(490))에 갤러리 어플리케이션(581)의 이미지 컨텐츠를 전송하는 동작에서 각 구성의 동작 및 통신에 대해 설명하기로 한다. 공유 모듈(582)은 갤러리 어플리케이션(581)에서 구현되는 컨텐츠 공유 기능(예: Insync, quick share)을 수행하는 소프트웨어 모듈이고, BT advanced OPP(583)(object push profile)는 컨텐츠 공유에 사용되는 프로파일일 수 있다. 후술할 어플리케이션(581), 공유 모듈(582), BT advanced OPP(583)의 동작 중 적어도 일부는 제1전자 장치(580) 및/또는 제2전자 장치(590)의 프로세서(예: 도 3의 프로세서(350))에 의해 수행될 수 있다.
동작 501에서, 제1전자 장치(580)의 어플리케이션(581)은 컨텐츠 선택을 위한 사용자 입력(또는 user action)을 감지할 수 있다. 예를 들어, 어플리케이션(581)에서 특정 이미지 컨텐츠를 선택한 후 메뉴에서 컨텐츠 공유 메뉴를 선택하거나, 롱 터치와 같은 정해진 터치 입력, 또는 detail view 의 선택 시 해당 컨텐츠를 선택하고 제2전자 장치(590)와 공유를 위한 동작을 수행할 수 있다.
동작 502에서, 어플리케이션(581)은 선택된 이미지 컨텐츠를 제1전자 장치(580)의 공유 모듈(582)에 등록 할 수 있다.
동작 503에서, 제1전자 장치(580)의 공유 모듈(582)은 컨텐츠 선택에 대응하여, 센서(예: 가속도 센서, 자이로 센서)를 활성화 시킬 수 있다. 다른 실시예에 따르면, 제1전자 장치(580)는 컨텐츠 선택을 위한 사용자 입력의 감지(501) 이전에 사용자 입력에 따라 센서를 활성화 하거나, BLE 신호를 애드버타이징(504)한 이후에 센서를 활성화 할 수도 있다.
동작 504에서, 제1전자 장치(580)의 공유 모듈(582)은 컨텐츠 선택에 대응하여 근거리 통신 모듈(예: 도 3의 근거리 통신 모듈(310))을 통한 BLE 신호의 애드버타이징(advertising)(또는 브로드캐스팅)을 개시 할 수 있다.
동작 505에서, 애드버타이징 된 BLE 신호는 제2전자 장치(590)에 수신될 수 있다. 여기서, BLE 신호는 센서의 활성화 요청을 포함하며, 제1전자 장치(580)와 제2전자 장치(590)의 연결(예: 페어링)을 위한 정보는 포함하지 않을 수 있다. (예: non-connectable BLE advertising)
동작 506에서, 제1전자 장치(580)의 공유 모듈(582)은 BLE 신호의 스캐닝을 개시할 수 있다.
동작 507에서, 제2전자 장치(590)의 공유 모듈(592)은 onScan 상태로 동작할 수 있다.
동작 508에서, 제2전자 장치(590)의 공유 모듈(592)은 제1전자 장치(580)로부터 수신한 BLE 신호에 기초하여 센서를 활성화 할 수 있다.
동작 509에서, 제1전자 장치(580)는 센서를 통해 정해진 움직임을 감지하고, 제2전자 장치(590)는 센서를 통해 정해진 움직임을 감지할 수 있다. 예를 들어, 정해진 움직임은 shake 동작, tap 동작을 포함할 수 있다. 제1전자 장치(580)는 감지된 움직임에 대응하여 제1움직임 정보를 생성하여 제2전자 장치(590)에 전송하고, 제2전자 장치(590)는 감지된 움직임에 대응하여 제2움직임 정보를 생성하여 제1전자 장치(580)에 전송할 수 있다. 또한, 제1전자 장치(580)의 제1사용자 정보 및 제2전자 장치(590)의 제2사용자 정보가 서로 교환될 수 있다.
동작 510에서, 제2전자 장치(590)의 공유 모듈(592)은 BLE 신호의 애드버타이징을 개시할 수 있다.
동작 511에서, 제2전자 장치(590)에서 애드버타이징 된 BLE 신호는 제1전자 장치(580)에서 수신될 수 있다. 여기서, BLE 신호는 제1전자 장치(580)와 제2전자 장치(590)의 연결(예: 페어링)을 위한 정보를 포함할 수 있다. (예: connectable BLE advertising for interaction)
동작 512에서, 제1전자 장치(580)의 공유 모듈(582)은 onScan 상태로 동작할 수 있다.
동작 513에서, 제1전자 장치(580) 및 제2전자 장치(590)는 BLE 연결을 수행할 수 있다.
동작 514에서, 제1전자 장치(580) 및 제2전자 장치(590)는 상호 인증을 위해 MCF(multi connection framework) 공유 키, SAK 및, 데이터 전송과 관련된 데이터를 교환할 수 있다.
동작 515에서, 제1전자 장치(580)의 공유 모듈(582)은 제2전자 장치(590)로부터 수신한 데이터(예: 제2사용자 정보)의 유효성(validity)을 검증할 수 있다. 예를 들어, 제2전자 장치(590)의 전화 번호가 제1전자 장치(580)의 컨택 어플리케이션에 저장되어 있거나, 공유 모듈(582) 또는 특정 어플리케이션에 제2전자 장치(590)의 ID가 기록되어 있는 경우, 유효한 것으로 판단할 수 있다.
동작 516에서, 제1전자 장치(580)의 공유 모듈(582)은 유효성 확인에 따라, 어플리케이션(581)에 제2전자 장치(590)가 확인됨(device found)을 전송할 수 있다.
동작 517에서, 어플리케이션(581)은 공유 모듈(582)에 컨텐츠 공유를 위한 URI(uniform resource identifier)를 전송할 수 있다.
동작 518에서, 제1전자 장치(580)의 공유 모듈(582)은 디스플레이(예: 도 3의 디스플레이(330))를 통해 컨텐츠 공유의 실행 여부를 확인하기 위한 UI(예: 팝업 메시지)를 표시하고, 사용자 입력을 수신할 수 있다.
동작 519에서, 제1전자 장치(580)의 공유 모듈(582)은 컨텐츠 공유를 위해 정해진 근거리 무선 통신 방식(예: 블루투스, Wi-Fi)을 활성화 하기 위한 메시지를 제2전자 장치(590)의 공유 모듈(592)에 전송할 수 있다.
동작 520에서, 제1전자 장치(580)의 공유 모듈(582)은 BT advanced OPP(583)에 컨텐츠 전송을 요청할 수 있다.
동작 521에서, 제1전자 장치(580)의 BT advanced OPP(583)는 제2전자 장치(590)와 블루투스(또는 Wi-Fi direct) 연결을 시도하고, 상기 연결을 통해 선택된 컨텐츠를 제2전자 장치(590)에 전송할 수 있다.
동작 522에서, 제2전자 장치(590)의 공유 모듈(592)은 디스플레이를 통해 컨텐츠 수신 여부를 확인하기 위한 UI(예: 팝업 메시지)를 표시하고, 사용자 입력이 수신되는 경우, 컨텐츠를 수신하여 메모리에 저장할 수 있다.
동작 523에서, 컨텐츠 전송이 완료됨에 따라, 제1전자 장치(580)의 공유 모듈(582)은 어플리케이션(581)에 결과를 전송할 수 있다.
동작 524에서, 어플리케이션(581)은 공유 모듈(582)에 동록 해제(unregister)를 요청할 수 있다. 이에 따라, 센서도 비활성화 될 수 있다.
도 6은 다양한 실시예에 따른 전자 장치에서 컨텐츠를 선택하는 화면의 일 예를 도시한 것이다.
다양한 실시예에 따르면, 전자 장치(680)(예: 도 3의 전자 장치(380), 도 5의 제1전자 장치(580))는 디스플레이(예: 도 3의 디스플레이(330)) 상의 사용자 입력에 기초하여 외부 장치(예: 도 5의 제2전자 장치(590))와 컨텐츠를 공유할 어플리케이션을 선택할 수 있다.
도 6을 참조 하면, 전자 장치(680)는 갤러리 어플리케이션을 실행하고, 갤러리 어플리케이션을 통해 복수의 이미지 컨텐츠를 표시할 수 있다. 이 때, 사용자가 특정 이미지 컨텐츠(610)를 선택하는 경우, 다양한 기능을 선택할 수 있는 옵션 메뉴가 표시되고, 사용자가 옵션 메뉴 상에서 컨텐츠 공유(620)를 선택할 수 있다. 또는, 특정 컨텐츠(610)에서 정해진 동작(예: detail view)으로 진입하는 경우, 해당 컨텐츠(610)가 선택될 수 있다. 또는, 사용자가 복수의 컨텐츠를 선택하는 경우, 컨텐츠 공유의 의도로 보고 컨텐츠 공유 기능을 실행할 수 있다.
다양한 실시예에 따르면, 전자 장치(680)는 공유할 컨텐츠가 선택되는 경우, 정해진 근거리 무선 통신 방식(예: BLE)을 이용하여 인접하는 외부 장치에 신호를 전송할 수 있다. 다양한 실시예에 따르면, 전자 장치(680)는 컨텐츠 선택에 대응하여, 전자 장치(680)의 움직임을 감지하기 위한 센서(예: 도 3의 센서(340))를 활성화 할 수 있다.
도 7은 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 근거리 무선 통신 연결 동작을 도시한 것이다.
다양한 실시예에 따르면, 제1전자 장치(780)(예: 도 3의 전자 장치(380) 또는 도 5의 제1전자 장치(580))는 BLE(Bluetooth low energy) 통신을 이용해 컨텐츠를 수신할 제2전자 장치(790)와 무선 연결을 수립할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(780)는 BLE 애드버타이징(advertising) 데이터를 생성해 주변의 외부 장치들에 애드버타이징 할 수 있다(동작 711). 애드버타이징 데이터는 블루투스 SIG에서 정의한 transport discovery service(TDS)에 기반해, TDS service UUID, TDS AD type 및 transport block을 포함할 수 있다. 여기서, TDS는 제1전자 장치(780)가 제2전자 장치(790)로 연결을 원하는 근거리 무선 통신 기술 및 설정 정보를 전송하고, 근거리 무선 통신의 활성화를 요청하는 방법을 포함하는 프로토콜이다.
표 1은 애드버타이징 패킷의 포맷의 일 예이다.
1 2 3 4 5 6 7
Length Flags AD Type Flgs Data Length Service UUID AD Type Service UUID
0x02 0x01 0x1A 0x03 0x03 0x24 0x18
8 9 10 11 12 13-24
Length Transport Discovery Data AD Type Organization ID TDS Flags Trsnaport Data Length Transport Data
0x04 0x26 0x01 variable variable
애드버타이징 패킷은 서비스 및 응용(예: Insync, Quick share)에서 설정하고 요청 받은 정보를 포함할 수 있으며, 표 2의 정보를 포함할 수 있다.
Type Name Definition Format
0x10 <<P2P Service ID>> Type for P2P Services 2bytes
0x01: Instant Session
0x02:InSync
0x04: ShareLive
0x11 <<Notification>> For Head-Up-Notification. Alerting the advertisement is only for HUN 2bytes
0x01: Instant Session
0x02:InSync
0x04: ShareLive
0x12 <<Signature>> Pre-shared nonce value for a specific device 6 (or 10) bytes of hash value for nonce
0x13 <<Vendor Specific Data>> Variable length of data
0x14 <<Tx Power Compensation>> Path loss compensation value (TRP/TIS) 2bytes
0x15 <<Device ID>> Unique identifier for cast devices 3bytes
예를 들어, 애드버타이징 패킷은 요청 받은 서비스 또는 응용에 대한 구분자(예: P2P service ID), BLE 신호의 애드버타이징이 정해진 서비스 또는 응용에 대한 것임을 알리는 정보(예: notification), 특정 디바이스를 위해 미리 공유된 임시 값(예: signature), 데이터의 길이에 관한 정보(예: vendor specific data), BLE 장치의 발견을 빠르게 하기 위해 애드버타이징 인터벌(interval)을 조절할 수 있는 속성, BLE 연결을 수립했던 장치를 위한 구분자, 추가 데이터, 근접 여부 파악을 위한 BLE Tx 보상 값(예: Tx power compensation), 장치 구분자와 같은 다양한 정보를 포함할 수 있다.
다양한 실시예에 따르면, 애드버타이징 신호를 수신한 제2전자 장치(790)는 이에 대한 응답으로 제1전자 장치(780)로 BLE 연결을 요청하여 GATT(generic attribute profile) 연결을 수립할 수 있다(동작 712 및 동작 713). GATT 연결을 수립하는 동작 중 제1전자 장치(780)는 제2전자 장치(790)가 제공하는 GATT 서비스를 확인하기 위해 서비스 디스커버리(service discovery)를 수행할 수 있으며, 경우에 따라 연결 이후 주고 받는 데이터의 크기를 확인하기 위해 MTU(maximum transmission unit)의 사이즈를 협상할 수 있다. 제1전자 장치(780)는 TDS에서 정의한 서비스를 프라이머리 서비스로 지정할 수 있으며, TDS에서 정의한 TDS 제어 포인트와 키 교환과 같은 별도의 특성을 정하여 데이터 교환 목적으로 이용할 수 있다.
표 3은 정의된 GATT 서비스 정보의 일 예이다.
Service Name UUID Reference for Definition
<<Transport Discovery Data>> 00001824-0000-1000-8000-00805F9B34FB Transport Discovery Service v1.0 or later
표 4는 정의된 특성의 일 예이다.
Characteristic Name Requirement Mandatory Properties Optional Properties Security Permissions
TDS Control Point O Write, Indicate Write None
Key Exchange M Write Reliable Write
다양한 실시예에 따르면, 제1전자 장치(780) 및 제2전자 장치(790)는 서비스 및 응용의 설정에 따라 BLE 페어링을 수행할 수 있다(동작 714). BLE 페어링은 서비스 및 응용의 요청에 따라 이루어지는 동작으로 MCF가 기본으로 수행하는 사용자 정보(예: 전화 번호) 기반의 인증과는 별개로 수행될 수 있다. BLE 페어링은 Bluetooth SIG Core Spec. 에서 정의한 LE Secure Connections Pairing 동작과 동일할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(780) 및 제2전자 장치(790)는 사용자 정보(예: 제1전자 장치(780)의 제1사용자 정보, 제2전자 장치(790)의 제2사용자 정보)를 암호화 하여 교환할 수 있다. 제1전자 장치(780)와 제2전자 장치(790)는 각각 Elliptic Curve Diffie-Hellman 키 생성 알고리즘을 기반으로 public Key 와 private Key 를 생성한 후, public Key 를 교환해 공유 키(shared key)를 생성할 수 있다. 이에 따라, 두 장치는 동일한 공유 키를 소유할 수 있다. 제1전자 장치(780)와 제2전자 장치(790)는 공유 키를 기반으로 사용자 정보(예: 전화 번호, ID)를 암호화 하여 전달할 수 있다. 또한, 제1전자 장치(780)와 제2전자 장치(790)는 수신 받은 정보를 복호화 하여, 메모리에 저장된 정보와 비교함으로써, 사용자 인증 동작을 수행할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(780) 및 제2전자 장치(790)는 BLE 페어링이 완료된 경우, GATT 연결을 해제할 수 있다. (동작 715)
도 8은 다양한 실시예에 따른 shake 동작의 일 예를 도시한 것이다.
다양한 실시예에 따르면, 전자 장치(예: 도 3의 전자 장치(380), 도 4의 제1전자 장치(480))는 컨텐츠가 선택된 상태에서 센서(예: 도 3의 센서(340))를 이용해 움직임을 감지하고, 감지된 전자 장치의 움직임이 정해진 종류인 경우, 제1움직임 정보를 생성하여 외부 장치(예: 도 4의 제2전자 장치(490))에 전송할 수 있다. 여기서, 정해진 움직임의 타입은 shake 동작을 포함할 수 있다.
도 8을 참조 하면, shake 동작은 사용자가 전자 장치를 파지한 상태에서 앞/뒤 방향(또는 위/아래 방향)으로 흔드는 동작일 수 있다. 일반적으로, shake 동작 시 사용자는 전자 장치를 천천히 뒤 방향(backward)으로 움직인 후(881) 앞 방향(forward)으로 힘을 가하면서 움직이는(882) shake 모션을 수행할 수 있다.
다양한 실시예에 따르면, 전자 장치는 센서(예: 자이로 센서)의 센싱 값을 통해 shake 동작에 대한 특징점 및 동작 패턴을 추출하여 shake 동작을 인식할 수 있다.
도 9는 다양한 실시예에 따른 shake 동작 시 센서에서 감지되는 데이터를 나타낸 그래프이다.
도 9를 참조 하면, 사용자가 전자 장치(예: 도 3의 전자 장치(380))를 뒤 방향으로 천천히 움직이는 경우, 센서(예: 도 3의 센서(340))의 센싱 값은 낮은 값에서 낮은 기울기로 증가 또는 감소되고(901, 903), 앞 방향으로 빨리 움직이는 경우, 큰 기울기로 증가 후 감소될 수 있다(902, 904). 전자 장치는 이와 같은 shake 동작의 패턴이 정해진 횟수(예: 2회) 이상 감지되는 경우, shake 동작이 발생한 것으로 인식할 수 있다.
도 10은 다양한 실시예에 따른 shake 동작의 감지 방법의 흐름도이다.
다양한 실시예에 따르면, 전자 장치(예: 도 3의 전자 장치(380))는 정해진 기능 실행을 위한 이벤트(예: 컨텐츠의 선택)가 발생하면, 센서를 활성화 하고, 전자 장치의 움직임을 모니터링 할 수 있다. 전자 장치는 센서(예: 자이로 센서)의 센싱 값 패턴을 이용해 shake 동작의 발생을 인식할 수 있다.
동작 1010에서, 전자 장치(예: 도 3의 프로세서(350))는 센서의 센싱 값을 이용해 충격량을 계산할 수 있다.
동작 1020에서, 전자 장치는 충격량이 제1임계값 이상인지 확인할 수 있다. 이 때, 전자 장치는 뒤 방향 shake가 발생하는 시점의 패턴을 확인할 수 있다. 전자 장치는 충격량이 제1임계값 이하인 경우, 센서를 이용해 충격량을 계속 모니터링 할 수 있다(동작 1010).
전자 장치는 충격량이 제1임계값 이상인 경우, 동작 1030에서, 전자 장치는 shake 동작의 감지를 개시할 수 있다.
동작 1040에서, 전자 장치는 shake 동작의 감시가 개시된 상태에서, 제1방향(예: 앞 방향)의 움직임 및 제2방향(예: 뒤 방향)의 움직임의 횟수를 계산할 수 있다.
동작 1050에서, 전자 장치는 정해진 시간 동안 제1방향의 움직임 및 제2방향의 움직임이 반복되는 횟수가 정해진 횟수(예: 2회)에 도달하는 지 확인할 수 있다. 전자 장치는 제1방향의 움직임 및 제2방향의 움직임이 반복되는 횟수가 정해진 횟수에 도달할 때까지 움직임 및 그 횟수를 모니터링 할 수 있다.
동작 1060에서, 움직임의 반복 횟수가 정해진 횟수에 도달하는 경우, 전자 장치는 shake 동작으로 판단할 수 있다. 전자 장치는 shake 동작의 판단 시 flag를 0에서 1로 변경하고, 제1움직임 정보를 생성하여, 외부 장치에 전송할 수 있다.
다양한 실시예에 따르면, 컨텐츠를 수신하는 외부 장치(예: 도 4의 제2전자 장치(490))도 상기와 동일한 방법으로 shake 동작의 발생 여부를 판단할 수 있다.
도 11은 다양한 실시예에 따른 tap 동작의 일 예를 도시한 것이다.
도 11을 참조 하면, tap 동작은 사용자가 전자 장치(1180)(예: 도 3의 전자 장치(380))를 다른 물체(예: 외부 장치(1190))와 부딪치는 제스처 일 수 있다. 예를 들어, 사용자는 전자 장치(1180)와 외부 장치(1190)를 각각 왼손 및 오른손으로 파지하여, 전자 장치(1180) 및 외부 장치(1190)의 측면이 서로 부딪치도록 조작할 수 있다.
전자 장치(1180)를 tap 하여 발생하는 충격량이 비슷하여 일상 생활에서 발생하는 충격량과 tap 동작의 구분이 어렵기 때문에, 전자 장치(1180)는 센서(예: 도 3의 센서(340))를 통해 소정 횟수(예: 2회) 이상 tap 동작의 패턴을 갖는 센싱 값이 인식되는 경우 tap 동작(또는 double tap)으로 판단할 수 있다. 예를 들어, double tap 동작의 경우, 센서의 센싱 값은 첫번째 충격량이 감지가 되고 일정 시간 silent 구간이 지속된 후, 두번째 충격량이 감지되고 다시 일정 시간 silent 구간이 발생하는 패턴일 수 있다.
도 12는 다양한 실시예에 따른 tap 동작 시 센서에서 감지되는 데이터를 나타낸 그래프이다.
도 12를 참조 하면, 사용자가 전자 장치(예: 도 3의 전자 장치(380) 또는 도 4의 제1전자 장치(480))와 외부 장치(예: 도 4의 제2전자 장치(490))를 최초 탭 하는 경우, 센서(예: 도 3의 센서(340))를 통해 높은 충격량이 감지되고(1201), 이 후 일정 시간 이상 제1 silent 구간(1202)이 발생할 수 있다. 이 후, 다시 탭 하는 경우 높은 충격량이 감지되고(1203), 이 후 다시 일정 시간 이상 제2 silent 구간(1204)이 발생할 수 있다.
전자 장치는 이와 같은 tap 동작의 패턴이 감지되는 경우, tap 동작의 발생을 인식할 수 있다.
도 13은 다양한 실시예에 따른 tap 동작의 감지 방법의 흐름도이다.
다양한 실시예에 따르면, 전자 장치(예: 도 3의 전자 장치(380))는 정해진 기능 실행을 위한 이벤트(예: 컨텐츠의 선택)가 발생하면, 센서(예: 도 3의 센서(340))를 활성화 하고, 전자 장치의 움직임을 모니터링 할 수 있다. 전자 장치는 센서(예: 가속도 센서)의 센싱 값 패턴을 이용해 tap 동작의 발생을 인식할 수 있다.
동작 1310에서, 전자 장치는 센서를 이용해 충격량을 계산할 수 있다.
동작 1320에서, 전자 장치는 충격량이 제2임계값 이상인 이후 소정 시간 이상 충격량이 제3임계값 이하로 유지되는 silent 구간인지 확인할 수 있다. 일 실시예에 따르면, 제3임계값은 제2임계값보다 낮은 값일 수 있다.
예를 들어, 전자 장치는 충격량이 제2임계값 이상인 이후 소정 시간 이상 충격량이 제3임계값 이하로 유지되는 silent 구간으로 확인되면, tap 동작이 1회 발생한 것으로 판단할 수 있다.
동작 1330에서, 전자 장치는 1회 tap 동작을 인식하고, 다시 센서의 센싱 값을 모니터링 할 수 있다. 예를 들어, 전자 장치는 두번째 충격량의 감시를 개시할 수 있다.
동작 1340에서, 전자 장치는 센서를 이용해 충격량을 계산할 수 있다.
동작 1350에서, 전자 장치는 충격량이 제2임계값 이상인 이후 소정 시간 이상 충격량이 제3임계값 이하로 유지되는 silent 구간인지 확인할 수 있다.
전자 장치의 움직임에 대응하는 충격량이 제2임계값 이상인 이후 충격량이 정해진 시간 동안 제3임계값 이하로 지속되는 횟수가 2회 감지되는 경우, 동작 1360에서, 전자 장치는 double tap 동작의 발생으로 판단할 수 있다.
이상에서는 tap이 두번 발생하는 경우, tap 동작으로 인식하는 실시예에 대해 설명 하였으나, 이에 한정되지 않으며, tap 횟수는 3회 이상으로 정의될 수 있다.
도 14는 다양한 실시예에 따른 움직임 정보 및 사용자 정보의 교환 방법을 나타내는 흐름도이다.
다양한 실시예에 따르면, 제1전자 장치(1480)(예: 도 3의 전자 장치(380))는 제1전자 장치(1480)의 움직임에 관련된 제1움직임 정보 및 제1전자 장치(1480)의 제1사용자 정보를 외부 장치에 전송하고, 제2전자 장치(1490)로부터 제2전자 장치(1490)의 움직임에 관련된 제2움직임 정보 및 제2전자 장치(1490)의 제2사용자 정보를 수신할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(1480) 및 제2전자 장치(1490)는 여러 종류의 근거리 무선 통신(예: 블루투스, BLE, Wi-Fi)을 지원할 수 있으며, 서비스 및 응용에서 요구하는 기능을 수행할 수 있는 통신 기술이 복수로 존재할 수 있다. 제1전자 장치(1480)는 제2외부 장치와 서로를 구별할 수 있는 식별자(예: 제1사용자 정보 및 제2사용자 정보), 제1전자 장치(1480) 및 제2전자 장치(1490)에서 지원하는 근거리 무선 통신 방식의 종류 및 특성 정보를 교환함으로써, 서비스 및 응용의 요구 사항에 가장 부합되는 근거리 무선 통신 방식을 선택할 수 있다. 또한, 가장 적합 하다고 판단되는 근거리 무선 통신 방식이라고 하더라도, 제1전자 장치(1480)가 해당 근거리 무선 통신 방식을 현재 다른 목적으로 사용 중이거나(예: 블루투스 이어폰), 일시적으로 사용이 어려운 상태인 지 여부를 알림으로써, 서비스를 수행할 수 있는 다른 근거리 무선 통신 방식을 선택할 수 있다.
동작 1410에서, 제1전자 장치(1480) 및 제2전자 장치(1490)는 GATT 연결을 수립할 수 있다.
동작 1420에서, 제1전자 장치(1480) 및 제2전자 장치(1490)는 BLE 페어링을 수립할 수 있다. GATT 연결 및 BLE 페어링 동작은 앞서 도 7을 통해 설명한 바 있다.
BLE 페어링이 완료된 경우, 동작 1430에서, 제1전자 장치(1480)는 제2전자 장치(1490)에 연결 파라미터 요청(connection parameter request)을 전송할 수 있다.
동작 1440에서, 제2전자 장치(1490)는 연결 파라미터 요청에 대한 응답으로, 연결 업데이트 인덱스(connection update index)를 제1전자 장치(1480)에 전송할 수 있다.
일 실시예에 따르면, 제1전자 장치(1480) 및 제2전자 장치(1490)는 GATT 연결 상태에서 BLE 페어링은 수행하지 않을 수 있다. 이 경우, 동작 1420, 1430 및 1440은 생략될 수 있다.
동작 1450에서, 제1전자 장치(1480) 및 제2전자 장치(1490)는 교환된 정보를 기반으로 상호 인증을 수행할 수 있다.
상호 인증이 완료된 경우, 동작 1460에서, 제2전자 장치(1490)는 제1전자 장치(1480)로 제2사용자 정보를 전송할 수 있다. 제2사용자 정보는 제2전자 장치(1490)(또는 사용자)를 식별할 수 있는 정보를 포함하며, 예를 들어, 제2전자 장치(1490)의 전화번호, 어플리케이션의 서비스 ID를 포함할 수 있다. 제2전자 장치(1490)는 컨텐츠 송수신에 필요한 추가 정보를 제1전자 장치(1480)에 더 전송할 수 있다.
표 5는 제2전자 장치(1490)가 전송하는 추가 정보 및 그 크기의 일 예이다.
Name Size
Host device name 20-40 bytes
Host BT Address 6 bytes
Bluetooth Address 6 bytes / device
Cast device name 20-40 bytes / device
Connection type 1 byte (Wi-Fi Aware or Wi-Fi Direct)
동작 1470에서, 제1전자 장치(1480)는 제2전자 장치(1490)로 제1사용자 정보를 전송할 수 있다.
제1사용자 정보는 제1전자 장치(1480)(또는 사용자)를 식별할 수 있는 정보를 포함하며, 예를 들어, 제1전자 장치(1480)의 전화번호, 어플리케이션의 서비스 ID를 포함할 수 있다. 제1전자 장치(1480)는 컨텐츠 송수신에 필요한 추가 정보를 제2전자 장치(1490)에 더 전송할 수 있다.
표 6은 제1전자 장치(1480)가 전송하는 추가 정보 및 그 크기의 일 예이다.
Name size
Guest device name 20-40 bytes
Bluetooth Address 6 bytes
동작 1460 및 1470의 정보 교환이 완료되는 경우, 동작 1480에서, 제1전자 장치(1480) 및 제2전자 장치(1490)는 GATT 연결을 해제 할 수 있다.
도 15는 다양한 실시예에 따른 레인지(range) 측정 방법의 흐름도이다.
다양한 실시예에 따르면, 제1전자 장치(1580)(예: 도 3의 전자 장치(380)) 및 제2전자 장치(1590)는 복수의 근거리 무선 통신 방식을 지원할 수 있으며, BLE 통신을 이용하여 외부 전자 장치를 감지할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(1580) 및 제2전자 장치(1590)는 서로 교환된 정보에 기초하여, 복수의 근거리 무선 통신 방식 중 어느 하나를 선택하고, 선택된 근거리 무선 통신 방식을 이용해 컨텐츠를 송수신 할 수 있다. 예를 들어, 제1전자 장치(1580)와 제2전자 장치(1590)는 BLE 통신을 통해 GATT 연결 및, 상호 인증을 수행하고, Wi-Fi Direct를 통해 컨텐츠를 송수신할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(1580)는 제2전자 장치(1590)로부터 수신되는 신호의 세기(또는 통신 품질)에 기초하여 컨텐츠를 전송하는 데 사용되는 근거리 무선 통신 방식을 선택할 수 있다. 서비스 및 응용의 설정에 따라 제1전자 장치(1580) 및 제2전자 장치(1590)의 거리에 따른 제약이 필요할 수 있으며, 안정적인 서비스를 보장하기 위해 신호가 약한 거리에 존재하는 전자 장치는 검색 대상에서 제외할 수도 있다. 이를 파악하기 위해, 제1전자 장치(1580)는 수신되는 BLE 신호의 세기를 기반으로 제2전자 장치(1590)의 근접성을 파악할 수 있다.
도 15는 서비스 및 응용의 설정에 따라 제1전자 장치(1580) 및 제2전자 장치(1590)의 근접성, 즉 통신 품질을 측정하기 위한 방법을 도시하고 있다.
동작 1510에서, 제1전자 장치(1580) 및 제2전자 장치(1590)는 BLE 통신을 이용한 상호 인증 및 사용자 정보의 교환이 완료되는 경우, GATT 연결을 해제할 수 있다.
동작 1520에서, 제1전자 장치(1580)는 제2전자 장치(1590)에 레인징 패킷(ranging packet)의 요청을 전송할 수 있다.
동작 1530에서, 제2전자 장치(1590)는 레인징 패킷 요청에 응답하여, 제1전자 장치(1580)에 레인징 패킷을 전송할 수 있다. 제2전자 장치(1590)는 정해진 주기(예: 약 7.5ms)에 따라 레인징 패킷(예: 복수의 BLE 애드버타이징 신호)을 전송할 수 있다.
동작 1540에서, 제1전자 장치(1580)는 수신한 레인징 패킷에 기초하여, 제2전자 장치(1590)와의 통신 품질(또는 근접성)을 판단할 수 있다.
동작 1550에서, 제1전자 장치(1580) 및 제2전자 장치(1590)는 통신 품질 또는 근접성에 기초하여 정해진 기능(예: 컨텐츠 공유)을 수행할 근거리 무선 통신 방식을 결정하고, 핸드오버 할 수 있다. 예를 들어, 제1전자 장치(1580) 및 제2전자 장치(1590)는 통신 품질(예: RSSI (received signal strength indication))이 높은 경우 Bluetooth를 선택하고, 낮은 경우 Wi-Fi direct를 선택할 수 있다. 또는, 제2전자 장치(1590)는 각 근거리 무선 통신 방식을 이용하여 레인징 패킷을 전송하고, 제1전자 장치(1580)는 수신한 레인징 패킷 중 가장 통신 품질이 우수한 어느 하나를 선택할 수 있다.
다양한 실시예에 따르면, 제1전자 장치(1580) 및 제2전자 장치(1590)는 수행할 기능의 속성에 따라 근거리 무선 통신 방식 중 하나를 선택할 수 있다. 예를 들어, 저용량의 이미지 컨텐츠의 전송 기능을 수행하는 경우, 블루투스 연결을 통해 기능을 수행하고, 동영상 컨텐츠의 전송 또는 실시간 영상 공유와 같이 고용량이 필요한 기능을 수행할 경우, Wi-Fi direct를 선택하여 기능을 수행할 수 있다.
동작 1560에서, 제1전자 장치(1580) 및 제2전자 장치(1590)는 서비스 핸드오버 결정에 따라 서비스 또는 응용을 수행하는 모듈(예: Wi-Fi 모듈, 공유 모듈)에 핸드오버와 관련된 정보를 포함하는 MCF 응답을 전송할 수 있다.
도 16a 및 도 16b는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치에서 표시되는 팝업 메시지를 도시한 것이다.
다양한 실시예에 따르면, 제1전자 장치(1680)(예: 도 3의 전자 장치(380)) 는 센서로부터 정해진 움직임(예: shake 동작, tap 동작)을 감지하고, 제2전자 장치(1690)로부터 제1전자 장치(1680)의 움직임과 동일한 타입의 움직임에 대응하는 움직임 정보를 수신하는 경우, 컨텐츠 전송 여부를 선택하기 위한 UI(1685)를 디스플레이(예: 도 3의 디스플레이(330)) 상에 표시할 수 있다.
다양한 실시예에 따르면, UI(1685)는 컨텐츠를 전송할 제2전자 장치(1690)의 사용자 정보(예: 전화 번호, ID, 어플리케이션에 저장된 사용자 이름), 근거리 무선 통신 방식(예: Wi-Fi Direct)을 포함할 수 있다. 제1전자 장치(1680)는 사용자가 컨텐츠 전송 확인을 선택하는 경우, 제2전자 장치(1690)에 컨텐츠 수신 여부의 확인을 요청할 수 있다.
다양한 실시예에 따르면, 제2전자 장치(1690)는 컨텐츠 수신 확인 요청에 응답하여, 디스플레이에 컨텐츠 수신 여부를 선택하기 위한 UI(1695)를 표시할 수 있다. UI(1695) 상에서 사용자가 컨텐츠 수신 확인을 선택하는 경우, 제1전자 장치(1680)에 컨텐츠 전송을 요청할 수 있다. 제1전자 장치(1680)는 컨텐츠 전송 요청에 응답하여, 정해진 근거리 무선 통신 방식을 이용하여 선택된 컨텐츠를 제2전자 장치(1690)에 전송할 수 있다.
도 17 및 도 18은 다양한 실시예에 따른 컨텐츠 전송 방법의 흐름도이다.
다양한 실시예에 따르면, 제1전자 장치(예: 도 3의 전자 장치(380) 또는 도 4의 제1전자 장치(480)) 및 제2전자 장치(예: 도 4의 제2전자 장치(490))는 서로 교환된 정보에 기초하여, 복수의 근거리 무선 통신 방식 중 어느 하나를 선택하고, 선택된 근거리 무선 통신 방식을 이용해 컨텐츠를 송수신 할 수 있다. 제1전자 장치 및 제2전자 장치는 교환된 정보를 기반으로 서비스에 가장 적합한 근거리 무선 통신 기술을 선택해 안정적인 서비스를 보장할 수 있다.
다양한 실시예에 따르면, 서비스 및 응용의 요구 사항에 부합되는 근거리 무선 통신 기술에 대한 사용 요청은 TDS 프로토콜 기반으로 수행될 수 있으며, 제1전자 장치는 TDS 제어 포인트 특성에 요청 데이터를 포함하여 제2전자 장치에 전송할 수 있다. 이 때, 제2전자 장치로 요청된 정보는 사용자의 승인 동작을 거칠 수 있으며, 제2전자 장치의 사용자 선택에 따라 해당 근거리 무선 통신 기술의 사용이 승인되는 경우, 제1전자 장치에 승인 내용을 통지할 수 있다. 제1전자 장치 및 제2전자 장치는 해당 근거리 무선 통신 모듈을 활성화 하여 컨텐츠를 송수신할 수 있다.
도 17은 Wi-Fi Direct를 이용하여 컨텐츠를 송수신 하는 실시예에 대한 것이다. 도 17에서는 Wi-Fi Direct에 대해 설명하고 있으나, W-Fi Aware도 동일한 동작에 의해 사용될 수 있다. 제1Wi-Fi 모듈(1785)은 제1전자 장치(1780)에서 Wi-Fi 통신을 지원하는 다양한 하드웨어 및/또는 소프트웨어 모듈을 포함하고, 제2Wi-Fi 모듈(1795)은 제2전자 장치(1790)에서 Wi-Fi 통신을 지원하는 다양한 하드웨어 및/또는 소프트웨어 모듈을 포함할 수 있다.
동작 1710에서, 제1전자 장치(1780) 및 제2전자 장치(1790)는 BLE 통신에 기반하여 GATT 연결을 수립할 수 있다.
동작 1715에서, 제1전자 장치(1780) 및 제2전자 장치(1790)는 근거리 무선 통신의 레인지(또는 통신 품질)를 측정할 수 있다. 레인지 측정 방식은 앞서 도 15를 통해 설명한 바 있다. 제1전자 장치(1780)는 레인지 측정에 기초하여, 컨텐츠 공유를 위한 근거리 무선 통신 방식으로 Wi-Fi Direct를 선택할 수 있다. 예를 들어, 컨텐츠 공유에 높은 통신 품질이 요구되는 경우, Wi-Fi Direct를 선택할 수 있다.
동작 1720에서, 제1전자 장치(1780)는 제2전자 장치(1790)에 서비스(예: 컨텐츠 공유) 활성화를 요청할 수 있다. 이 때, 제1전자 장치(1780)는 TDS 특성 정보를 제2전자 장치(1790)에 전송할 수 있다.
동작 1725에서, 제2전자 장치(1790)는 요청된 서비스의 수행 여부를 체크할 수 있다. 예를 들어, 제2전자 장치(1790)는 UI(예: 도 16b의 UI)를 통해 컨텐츠 공유에 대한 사용자 입력을 수신할 수 있다.
동작 1730에서, 제2전자 장치(1790)는 제2Wi-Fi 모듈(1795)을 활성화 할 수 있다.
동작 1735에서, 제2Wi-Fi 모듈(1795)은 주변 장치의 디스커버리 동작을 수행할 수 있다.
동작 1740에서, 제2전자 장치(1790)는 제2Wi-Fi 모듈(1795)의 활성화 및 디스커버리 개시에 대한 success 응답을 확인할 수 있다.
동작 1745에서, 제2전자 장치(1790)는 제1전자 장치(1780)에 Wi-Fi Direct 활성화의 success 응답을 전송할 수 있다. 여기서, success 응답은 TDS indication 상에 포함될 수 있다.
동작 1750에서, 제1전자 장치(1780)는 제1Wi-Fi 모듈(1785)을 활성화 할 수 있다.
동작 1755에서, 제1Wi-Fi 모듈(1785)은 주변 장치의 디스커버리 동작을 수행할 수 있다.
동작 1760에서, 제1전자 장치(1780)는 제1Wi-Fi 모듈(1785)의 활성화 및 디스커버리 개시에 대한 success 응답을 확인할 수 있다.
동작 1765에서, 제1전자 장치(1780)는 제2전자 장치(1790)에 Wi-Fi Direct 활성화의 success 응답을 전송할 수 있다. 여기서, success 응답은 TDS confirmation 상에 포함될 수 있다.
동작 1770에서, 제1전자 장치(1780)는 MCF 응답으로 핸드 오버를 어플리케이션에 전송할 수 있다. 여기서, 핸드 오버는 BLE 통신에 따른 인증 및 연결 후, 컨텐츠 전송을 위해 Wi-Fi Direct로의 핸드 오버를 의미할 수 있다.
동작 1775에서, 제2전자 장치(1790)는 MCF 응답으로 핸드 오버를 어플리케이션에 전송할 수 있다.
동작 1780에서, 제1전자 장치(1780) 및 제2전자 장치(1790)는 GATT 연결을 해제할 수 있다.
동작 1785에서, 제1전자 장치(1780) 및 제2전자 장치(1790)는 Wi-Fi direct 통신을 통해 P2P 서비스(예: 컨텐츠 공유)를 개시할 수 있다.
도 18은 MTM(machine to machine)(또는 사물 통신)을 이용하여 컨텐츠를 송수신 하는 실시예에 대한 것이다.
동작 1810에서, 제1전자 장치(1880) 및 제2전자 장치(1890)는 BLE 통신에 기반하여 GATT 연결을 수립할 수 있다.
동작 1815에서, 제1전자 장치(1880) 및 제2전자 장치(1890)는 근거리 무선 통신의 레인지(또는 통신 품질)를 측정할 수 있다. 레인지 측정 방식은 앞서 도 15를 통해 설명한 바 있다. 제1전자 장치(1880)는 레인지 측정에 기초하여, 컨텐츠 공유 방식으로 MTM(machine to machine) 을 선택할 수 있다. 예를 들어, 컨텐츠 공유에 높은 전송 지연이 허용되는 경우, MTM을 선택할 수 있다.
동작 1820에서, 제1전자 장치(1880)는 제2전자 장치(1890)에 서비스(예: 컨텐츠 공유) 활성화를 요청할 수 있다. 이 때, 제1전자 장치(1880)는 TDS 특성 정보를 제2전자 장치(1890)에 전송할 수 있다.
동작 1825에서, 제2전자 장치(1890)는 요청된 서비스의 수행 여부를 체크할 수 있다.
동작 1830에서, 제1전자 장치(1880)는 제1공유 모듈(1885)에 움직임 감지의 개시를 요청할 수 있다.
동작 1835에서, 제1공유 모듈(1885)은 센서의 센싱 값에 기반하여 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있다.
동작 1840에서, 제1공유 모듈(1885)은 움직임 감지가 개시됨을 응답할 수 있다.
동작 1845에서, 제2전자 장치(1890)는 제2공유 모듈(1895)에 움직임 감지의 개시를 요청할 수 있다.
동작 1850에서, 제2공유 모듈(1895)은 센서의 센싱 값에 기반하여 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있다.
동작 1855에서, 제2공유 모듈(1895)은 움직임 감지가 개시됨을 응답할 수 있다.
동작 1860에서, 제2전자 장치(1890)는 제1전자 장치(1880)에 움직임 감지 활성화의 success 응답을 전송할 수 있다. 여기서, success 응답은 TDS indication 상에 포함될 수 있다.
동작 1865에서, 제1전자 장치(1880)는 제2전자 장치(1890)에 움직임 감지 활성화의 success 응답을 전송할 수 있다. 여기서, success 응답은 TDS confirmation 상에 포함될 수 있다.
동작 1870에서, 제1전자 장치(1880)는 MCF에서 지정된 스캐닝(MCF dedicated scan)을 개시할 수 있다.
동작 1875에서, 제1전자 장치(1880)는 MCF 응답으로 핸드 오버를 어플리케이션에 전송할 수 있다. 여기서, 핸드 오버는 BLE 통신에 따른 인증 및 연결 후, 컨텐츠 전송을 위해 MTM으로의 핸드 오버를 의미할 수 있다.
동작 1880에서, 제2전자 장치(1890)는 MCF 응답으로 핸드 오버를 어플리케이션에 전송할 수 있다.
동작 1885에서, 제1전자 장치(1880) 및 제2전자 장치(1890)는 GATT 연결을 해제할 수 있다.
동작 1890에서, 제1전자 장치(1880) 및 제2전자 장치(1890)는 MTM 통신을 통해 P2P 서비스(예: 컨텐츠 공유)를 개시할 수 있다.
도 19는 다양한 실시예에 따른 제1전자 장치 및 제2전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 19는 제1전자 장치(1980)(예: 도 2의 전자 장치(200))가 제1전자 장치(1980)에 저장된 컨텐츠를 제2전자 장치(1990)에 전송하고, 이와 적어도 일부 동시에 제2전자 장치(1990)(예: 도 2의 외부 장치(210))가 제2전자 장치(1990)에 저장된 컨텐츠를 제1전자 장치(1980)에 전송하는 상호 컨텐츠 공유 시, 제1전자 장치(1980) 및 제2전자 장치(1990)의 동작을 개시하고 있다.
동작 1905에서, 제1전자 장치(1980)는 사용자 입력에 기초하여 공유할 컨텐츠(예: 갤러리 어플리케이션의 이미지 컨텐츠)를 선택할 수 있다. 다양한 실시예에 따르면, 제1전자 장치(1980)는 컨텐츠 선택에 대응하여, 제1전자 장치(1980)의 움직임을 감지하기 위해, 센서(예: 도 3의 센서(340), 가속도 센서, 자이로 센서)를 활성화 할 수 있다. 다른 실시예에 따르면, 제1전자 장치(1980)는 컨텐츠의 선택(1905) 이전에 사용자 입력에 따라 센서를 활성화 하거나, BLE 신호를 브로드캐스팅(1915) 한 이후에 센서를 활성화 할 수도 있다.
동작 1910에서, 제2전자 장치(1990)는 사용자 입력에 기초하여 공유할 컨텐츠를 선택할 수 있다. 제2전자 장치(1990)는 컨텐츠 선택에 대응하여, 센서를 활성화 할 수 있다.
동작 1915에서, 제1전자 장치(1980)는 컨텐츠의 선택에 대응하여, BLE 신호를 브로드캐스팅(broadcasting)(또는 애드버타이징(advertising)) 할 수 있다. 제1전자 장치(1980)에서 브로드캐스팅 되는 BLE 신호는 제2전자 장치(1990)에 의해 감지될 수 있다.
동작 1920에서, 제1전자 장치(1980)는 활성화 된 센서를 이용하여 제1전자 장치(1980)의 움직임을 감지할 수 있다. 예를 들어, 제1전자 장치(1980)는 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있고, 움직임이 정해진 조건을 만족하는 경우 제1움직임 정보를 생성할 수 있다. 다양한 실시예에 따르면, 제1움직임 정보는 shake 동작, tap 동작의 횟수, 지속 시간 및/또는 발생 시간에 대한 정보를 포함할 수 있다.
동작 1925에서, 제2전자 장치(1990)는 활성화 된 센서를 이용하여 제2전자 장치(1990)의 움직임을 감지할 수 있다.
동작 1930에서, 제2전자 장치(1990)는 컨텐츠의 선택에 대응하여, BLE 신호를 브로드캐스팅 할 수 있다. 제2전자 장치(1990)에서 브로드캐스팅 되는 BLE 신호는 제1전자 장치(1980)에 의해 감지될 수 있다.
동작 1935에서, 제1전자 장치(1980) 및 제2전자 장치(1990)는 BLE 연결을 수립할 수 있다. 예를 들어, 제1전자 장치(1980) 및 제2전자 장치(1990)는 GATT(generic attribute profile) 연결, BLE 페어링 및 사용자 인증 동작과 같은 상호 연결 동작을 통해 BLE 연결을 수립할 수 있다.
동작 1940에서, 제1전자 장치(1980)는 제1움직임 정보 및 제1사용자 정보를 제2전자 장치(1990)에 전송할 수 있다. 일 실시예에 따르면, 제1사용자 정보는 제1전자 장치(1980)의 전화 번호(예: IMEI), 어플리케이션(또는 기능)에서 설정된 ID, 디바이스 정보(예: MAC 어드레스)를 포함하는 전자 장치(또는 사용자)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 1945에서, 제2전자 장치(1990)는 제2움직임 정보 및 제2사용자 정보를 제1전자 장치(1980)에 전송할 수 있다. 제2사용자 정보는 제1사용자 정보에 대응하는 제2전자 장치(1990)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 1950에서, 제1전자 장치(1980)는 제2전자 장치(1990)로부터 수신되는 제2움직임 정보 및 제2사용자 정보를 확인할 수 있다. 예를 들어, 제1전자 장치(1980)는 제1움직임 정보 및 제2움직임 정보가 동일한 종류(예: shake 동작, tap 동작)로써 정해진 시간 이내에 발생한 경우, 또한 제2사용자 정보가 제1전자 장치(1980)의 메모리에 저장되어 있는 경우(예: 컨택 어플리케이션에 제2전자 장치(1990)의 전화번호가 저장되어 있는 경우), 컨텐츠 전송 기능의 수행을 결정할 수 있다.
동작 1955에서, 제2전자 장치(1990)는 제1전자 장치(1980)로부터 수신되는 제1움직임 정보 및 제1사용자 정보를 확인할 수 있다. 예를 들어, 제2전자 장치(1990)는 제1움직임 정보 및 제2움직임 정보가 동일한 종류(예: shake 동작, tap 동작)로써 정해진 시간 이내에 발생한 경우, 또한 제1사용자 정보가 제2전자 장치(1990)의 메모리에 저장되어 있는 경우, 컨텐츠 전송 기능의 수행을 결정할 수 있다.
다른 실시예에 따르면, 제1전자 장치(1980)는 제1움직임 정보와 제2움직임 정보의 비교 및 제2사용자 정보의 인증 시 인증 결과를 제2전자 장치(1990)에 전송하고, 제2전자 장치(1990)는 수신한 인증 결과에 기초하여 컨텐츠 공유 기능의 수행을 결정할 수 있다. 이 경우, 동작 1955는 생략될 수 있다.
도 19 및 상기 설명에서는 동작 1905 내지 1955가 순서대로 수행되는 것으로 설명되어 있으나, 각 동작의 순서에는 정함이 없다. 예를 들어, 제2전자 장치(1990)의 사용자에 의해 제1전자 장치(1980)보다 먼저 shake 동작 또는 tab 동작이 감지되는 경우, 동작 1925는 동작 1920보다 적어도 일부 먼저 수행될 수도 있다.
동작 1960에서, 제1전자 장치(1980) 및 제2전자 장치(1990)는 선택된 컨텐츠의 공유를 위해, 근거리 무선 통신 연결을 수립할 수 있다. 예를 들어, 제1전자 장치(1980) 및 제2전자 장치(1990)는 컨텐츠 공유에 사용할 근거리 무선 통신 방식으로 Wi-Fi direct를 선택하고, Wi-Fi direct 연결을 위한 과정을 수행할 수 있다.
동작 1965에서, 제1전자 장치(1980)는 선택된 컨텐츠를 선택된 근거리 무선 통신 방식(예: Wi-Fi direct)을 이용해 제2전자 장치(1990)에 전송할 수 있다.
동작 1970에서, 제2전자 장치(1990)는 선택된 컨텐츠를 선택된 근거리 무선 통신 방식(예: 제1전자 장치(1980)의 컨텐츠 전송과 동일한 무선 통신 방식)을 이용해 제1전자 장치(1980)에 전송할 수 있다.
도 20은 다양한 실시예에 따른 제1전자 장치, 제2전자 장치 및 제3전자 장치의 컨텐츠 공유 방법의 흐름도이다.
도 20은 제1전자 장치(2080)(예: 도 2의 전자 장치(200))가 제1전자 장치(2080)에 저장된 컨텐츠를 제2전자 장치(2090)(예: 도 2의 제1외부 장치(210)) 및 제3전자 장치(2095)(예: 도 2의 제2외부 장치(220))에 전송하는 실시예에 대해 도시하고 있다.
동작 2005에서, 제1전자 장치(2080)는 사용자 입력에 기초하여 공유할 컨텐츠(예: 갤러리 어플리케이션의 이미지 컨텐츠)를 선택할 수 있다. 다양한 실시예에 따르면, 제1전자 장치(2080)는 컨텐츠 선택에 대응하여, 제1전자 장치(2080)의 움직임을 감지하기 위해, 센서(예: 도 3의 센서(340), 가속도 센서, 자이로 센서)를 활성화 할 수 있다.
동작 2010 및 동작 2015에서, 제1전자 장치(2080)는 컨텐츠의 선택에 대응하여, BLE 신호를 브로드캐스팅(broadcasting)(또는 애드버타이징(advertising)) 할 수 있다. 제1전자 장치(2080)에서 브로드캐스팅 되는 BLE 신호는 인접하여 위치한 제2전자 장치(2090) 및 제3전자 장치(2095)에 의해 감지될 수 있다. 제2전자 장치(2090) 및 제3전자 장치(2095)는 BLE 신호의 수신 시 움직임을 감지하기 위해 센서를 활성화 할 수 있다.
동작 2020에서, 제1전자 장치(2080)는 활성화 된 센서를 이용하여 제1전자 장치(2080)의 움직임을 감지할 수 있다. 예를 들어, 제1전자 장치(2080)는 정해진 움직임(예: shake 동작, tap 동작)을 감지할 수 있고, 움직임이 정해진 조건을 만족하는 경우 제1움직임 정보를 생성할 수 있다.
동작 2025에서, 제2전자 장치(2090)는 센서를 이용하여 제2전자 장치(2090)의 움직임을 감지(예: shake 동작, tap 동작)하고, 제2움직임 정보를 생성 할 수 있다.
동작 2030에서, 제3전자 장치(2095)는 센서를 이용하여 제3전자 장치(2095)의 움직임을 감지(예: shake 동작, tap 동작)하고, 제3움직임 정보를 생성 할 수 있다.
동작 2035에서, 제2전자 장치(2090)는 BLE 신호를 브로드캐스팅 할 수 있다. 제2전자 장치(2090)에서 브로드캐스팅 되는 BLE 신호는 제1전자 장치(2080)에 의해 감지될 수 있다.
동작 2040에서, 제3전자 장치(2095)는 BLE 신호를 브로드캐스팅 할 수 있다. 제3전자 장치(2095)에서 브로드캐스팅 되는 BLE 신호는 제1전자 장치(2080)에 의해 감지될 수 있다.
동작 2045에서, 제1전자 장치(2080)는 수신되는 BLE 신호에 기초하여 공유할 컨텐츠를 수신하는 외부 장치의 수를 확인할 수 있다. 예를 들어, 제1전자 장치(2080)는 제2전자 장치(2090)로부터 수신되는 BLE 신호 및 제3전자 장치(2095)로부터 수신되는 BLE 신호에 기초하여, 2개의 외부 장치를 컨텐츠 공유 대상으로 결정할 수 있다.
동작 2050에서, 제1전자 장치(2080)는 제2전자 장치(2090)와 BLE 연결을 수립할 수 있다.
동작 2055에서, 제1전자 장치(2080)는 제3전자 장치(2095)와 BLE 연결을 수립할 수 있다. 예를 들어, 제1전자 장치(2080)는 제2전자 장치(2090)와의 BLE 연결과 다른 채널을 이용해 제3전자 장치(2095)와 BLE 연결을 수립할 수 있다.
동작 2060에서, 제1전자 장치(2080)는 제1움직임 정보 및 제1사용자 정보를 제2전자 장치(2090)에 전송할 수 있다. 일 실시예에 따르면, 제1사용자 정보는 제1전자 장치(2080)의 전화 번호(예: IMEI), 어플리케이션(또는 기능)에서 설정된 ID, 디바이스 정보(예: MAC 어드레스)를 포함하는 제1전자 장치(2080)(또는 사용자)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 2065에서, 제1전자 장치(2080)는 제1움직임 정보 및 제1사용자 정보를 제3전자 장치(2095)에 전송할 수 있다.
동작 2070에서, 제2전자 장치(2090)는 제2움직임 정보 및 제2사용자 정보를 제1전자 장치(2080)에 전송할 수 있다. 제2사용자 정보는 제1사용자 정보에 대응하는 제2전자 장치(2090)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 2072에서, 제3전자 장치(2095)는 제3움직임 정보 및 제3사용자 정보를 제1전자 장치(2080)에 전송할 수 있다. 제3사용자 정보는 제1사용자 정보에 대응하는 제3전자 장치(2095)를 식별할 수 있는 다양한 정보를 포함할 수 있다.
동작 2074에서, 제1전자 장치(2080)는 제2전자 장치(2090)로부터 수신되는 제2움직임 정보 및 제2사용자 정보와 제3전자 장치(2095)로부터 수신되는 제3움직임 정보 및 제3사용자 정보를 확인할 수 있다. 예를 들어, 제1전자 장치(2080)는 제1움직임 정보 및 제2움직임 정보가 동일한 종류(예: shake 동작, tap 동작)로써 정해진 시간 이내에 발생한 경우, 또한 제2사용자 정보가 제1전자 장치(2080)의 메모리에 저장되어 있는 경우(예: 컨택 어플리케이션에 제2전자 장치(2090)의 전화번호가 저장되어 있는 경우), 제2전자 장치(2090)로의 컨텐츠 전송 기능의 수행을 결정할 수 있다. 또한, 제1전자 장치(2080)는 동일한 방식으로 제1움직임 정보 및 제3움직임 정보가 동일한 종류로써 정해진 시간 이내에 발생하고, 제3사용자 정보가 제1전자 장치(2080)의 메모리에 저장되어 있는 경우, 제3전자 장치(2095)로의 컨텐츠 전송 기능의 수행을 결정할 수 있다.
동작 2076에서, 제1전자 장치(2080)는 제2전자 장치(2090) 및 제3전자 장치(2095)에 연결 정보를 전달하고, 컨텐츠 공유를 수행할 수 있다. 예를 들어, 제1전자 장치(2080)는 외부 서버(미도시)에 선택된 컨텐츠를 전송하고, 해당 컨텐츠를 외부 서버로부터 수신할 수 있는 URL(uniform resource location) 정보를 제2전자 장치(2090) 및 제3전자 장치(2095)에 전송할 수 있다. 또는, 제1전자 장치(2080)는 근거리 무선 통신 방식(예: Wi-Fi direct)을 이용해 제2전자 장치(2090)와 연결되어 컨텐츠를 전송한 후, 다시 제3전자 장치(2095)와 연결되어 컨텐츠를 전송할 수 있다. 이 경우, 제1전자 장치(2080)는 제2전자 장치(2090) 및 제3전자 장치(2095)에 대해 Wi-Fi 호스트로 동작할 수 있으며, 제2전자 장치(2090) 및 제3전자 장치(2095)에 접근 권한 정보(예: ID, password)를 전송할 수 있다.
다양한 실시예에 따른 전자 장치(380)는, 외부 장치(210)와 근거리 통신을 수행하기 위한 근거리 통신 모듈(310), 상기 전자 장치(380)의 움직임을 감지하는 센서(340), 메모리(320), 및 상기 근거리 통신 모듈(310), 상기 센서(340) 및 상기 메모리(320)와 작동적으로(operatively) 연결되는 프로세서(350)를 포함하고, 상기 프로세서(350)는, 상기 센서(340)를 이용해 상기 전자 장치(380)의 움직임을 감지하고, 상기 전자 장치(380)의 움직임에 관련된 제1움직임 정보를 생성하고, 상기 외부 장치(210)로부터 상기 근거리 통신 모듈(310)을 통해 상기 외부 장치(210)의 움직임과 관련된 제2움직임 정보를 수신하고, 및 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 외부 장치(210)로부터 상기 근거리 통신 모듈(310)을 통해 상기 외부 장치(210)의 제2사용자 정보를 더 수신하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 수신된 제2사용자 정보가 상기 메모리(320)에 저장되어 있는 경우, 상기 정해진 기능을 수행하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 메모리(320)는 상기 전자 장치(380)의 제1 사용자 정보를 저장하고, 상기 프로세서(350)는, 상기 제1움직임 정보 및 상기 제1사용자 정보를 상기 근거리 통신 모듈(310)을 통해 상기 외부 전자 장치(380)로 전송하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 제1움직임 정보 및 상기 제2움직임 정보가 동일한 타입의 움직임이고, 상기 동일한 타입의 움직임이 제1시간 이내에 발생한 경우, 상기 정해진 기능을 수행하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 움직임의 타입은 shake 동작 및 tap 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 센서(340)를 이용해 감지되는 상기 전자 장치(380)의 움직임에 대응하는 충격량이 제1임계값 이상인 경우 상기 shake 동작의 감시를 개시하고, 및 상기 shake 동작의 감시가 개시된 상태에서, 제2시간 동안 제1방향의 움직임 및 제2방향의 움직임이 제1횟수 이상 감지되는 경우, 상기 shake 동작으로 판단하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 센서(340)를 이용해 감지되는 상기 전자 장치(380)의 움직임에 대응하는 충격량이 제2임계값 이상인 이후 상기 충격량이 제3시간 동안 제3임계값 이하로 지속되는 횟수가 제2횟수 이상인 경우, 상기 tap 동작으로 판단하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 정해진 기능은 상기 외부 장치(210)로의 컨텐츠 전송을 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 사용자 입력에 기초하여 적어도 하나의 컨텐츠가 선택된 이후 획득되는 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여, 상기 선택된 적어도 하나의 컨텐츠를 상기 외부 장치(210)로 전송하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 근거리 통신 모듈(310)은 복수의 근거리 무선 통신 방식을 지원하고, 상기 프로세서(350)는, 상기 복수의 근거리 무선 통신 방식 중 BLE(bluetooth low energy) 통신을 이용하여 상기 외부 전자 장치(380)를 감지하고, 상기 복수의 근거리 무선 통신 방식 중 어느 하나를 이용하여 상기 외부 전자 장치(380)에 상기 컨텐츠를 전송하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(350)는, 상기 BLE 통신을 통해 상기 외부 전자 장치(380)로부터 수신되는 신호의 세기에 기초하여, 상기 컨텐츠를 전송하는 데 사용되는 근거리 무선 통신 방식을 선택하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치(380)의 컨텐츠 전송 방법은, 상기 전자 장치(380)의 움직임을 감지하는 동작, 상기 전자 장치(380)의 움직임에 관련된 제1움직임 정보를 생성하는 동작, 외부 장치(210)로부터 상기 외부 장치(210)의 움직임과 관련된 제2움직임 정보를 수신하는 동작, 및 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 외부 장치(210)로부터 상기 외부 장치(210)의 제2사용자 정보를 수신하는 동작을 더 포함하고, 상기 정해진 기능을 수행하는 동작은, 상기 수신된 제2사용자 정보가 상기 전자 장치(380)의 메모리(320)에 저장되어 있는 경우, 상기 정해진 기능을 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 정해진 기능을 수행하는 동작은, 상기 제1움직임 정보 및 상기 제2움직임 정보가 동일한 타입의 움직임이고, 상기 동일한 타입의 움직임이 제1시간 이내에 발생한 경우, 상기 정해진 기능을 수행하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 센서(340)를 이용해 감지되는 전자 장치(380)의 움직임에 대응하는 충격량이 제1임계값 이상인 경우 shake 동작의 감시를 개시하는 동작, 및 상기 shake 동작의 감시가 개시된 상태에서, 제2시간 동안 제1방향의 움직임 및 제2방향의 움직임이 제1횟수 이상 감지되는 경우, 상기 shake 동작이 발생한 것으로 판단하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 감지되는 전자 장치(380)의 움직임에 대응하는 충격량이 제2임계값 이상인 이후 상기 충격량이 제3시간동안 제3임계값 이하로 지속되는 횟수가 제2횟수 이상인 경우, tap 동작으로 판단하는 동작을 더 포함할 수 있다.
다양한 실시예에 따르면, 상기 정해진 기능은 상기 외부 장치(210)로의 컨텐츠 전송을 포함할 수 있다.
다양한 실시예에 따르면, 사용자 입력에 기초하여 적어도 하나의 컨텐츠가 선택된 이후 획득되는 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여, 상기 선택된 적어도 하나의 컨텐츠를 상기 외부 장치(210)로 전송할 수 있다.
다양한 실시예에 따른 전자 장치는, 외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈, 상기 전자 장치의 움직임을 감지하는 센서, 제1사용자 정보를 저장하는 메모리, 및 상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 수신되는 신호에 기초하여 상기 외부 장치를 인식하고, 상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고, 상기 감지된 전자 장치의 움직임이 정해진 조건을 만족하는 경우, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고, 상기 제1움직임 정보 및 상기 제1사용자 정보를 상기 근거리 통신 모듈을 통해 상기 외부 장치로 전송하고, 및 상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 컨텐츠를 수신하도록 설정될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈;
    상기 전자 장치의 움직임을 감지하는 센서;
    메모리; 및
    상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고,
    상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고,
    상기 외부 장치로부터 상기 근거리 통신 모듈을 통해 상기 외부 장치의 움직임과 관련된 제2움직임 정보를 수신하고, 및
    상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는,
    상기 외부 장치로부터 상기 근거리 통신 모듈을 통해 상기 외부 장치의 제2사용자 정보를 더 수신하도록 설정된 전자 장치.
  3. 제 2항에 있어서,
    상기 프로세서는,
    상기 수신된 제2사용자 정보가 상기 메모리에 저장되어 있는 경우, 상기 정해진 기능을 수행하도록 설정된 전자 장치.
  4. 제 1항에 있어서,
    상기 메모리는 상기 전자 장치의 제1 사용자 정보를 저장하고,
    상기 프로세서는,
    상기 제1움직임 정보 및 상기 제1사용자 정보를 상기 근거리 통신 모듈을 통해 상기 외부 전자 장치로 전송하도록 설정된 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 제1움직임 정보 및 상기 제2움직임 정보가 동일한 타입의 움직임이고,
    상기 동일한 타입의 움직임이 제1시간 이내에 발생한 경우, 상기 정해진 기능을 수행하도록 설정된 전자 장치.
  6. 제 5항에 있어서,
    상기 움직임의 타입은 shake 동작 및 tap 동작을 포함하는 전자 장치.
  7. 제 6항에 있어서,
    상기 프로세서는,
    상기 센서를 이용해 감지되는 상기 전자 장치의 움직임에 대응하는 충격량이 제1임계값 이상인 경우 상기 shake 동작의 감시를 개시하고, 및
    상기 shake 동작의 감시가 개시된 상태에서, 제2시간 동안 제1방향의 움직임 및 제2방향의 움직임이 제1횟수 이상 감지되는 경우, 상기 shake 동작으로 판단하도록 설정된 전자 장치.
  8. 제 6항에 있어서,
    상기 프로세서는,
    상기 센서를 이용해 감지되는 상기 전자 장치의 움직임에 대응하는 충격량이 제2임계값 이상인 이후 상기 충격량이 제3시간 동안 제3임계값 이하로 지속되는 횟수가 제2횟수 이상인 경우, 상기 tap 동작으로 판단하도록 설정된 전자 장치.
  9. 제 1항에 있어서,
    상기 정해진 기능은 상기 외부 장치로의 컨텐츠 전송을 포함하는 전자 장치.
  10. 제 9항에 있어서,
    상기 프로세서는,
    사용자 입력에 기초하여 적어도 하나의 컨텐츠가 선택된 이후 획득되는 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여, 상기 선택된 적어도 하나의 컨텐츠를 상기 외부 장치로 전송하도록 설정된 전자 장치.
  11. 제 9항에 있어서,
    상기 근거리 통신 모듈은 복수의 근거리 무선 통신 방식을 지원하고,
    상기 프로세서는,
    상기 복수의 근거리 무선 통신 방식 중 BLE(bluetooth low energy) 통신을 이용하여 상기 외부 전자 장치를 감지하고,
    상기 복수의 근거리 무선 통신 방식 중 어느 하나를 이용하여 상기 외부 전자 장치에 상기 컨텐츠를 전송하도록 설정된 전자 장치.
  12. 제 11항에 있어서,
    상기 프로세서는,
    상기 BLE 통신을 통해 상기 외부 전자 장치로부터 수신되는 신호의 세기에 기초하여, 상기 컨텐츠를 전송하는 데 사용되는 근거리 무선 통신 방식을 선택하도록 설정된 전자 장치.
  13. 전자 장치의 컨텐츠 전송 방법에 있어서,
    상기 전자 장치의 움직임을 감지하는 동작;
    상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하는 동작;
    외부 장치로부터 상기 외부 장치의 움직임과 관련된 제2움직임 정보를 수신하는 동작; 및
    상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여 정해진 기능을 수행하는 동작을 포함하는 방법.
  14. 제 13항에 있어서,
    상기 외부 장치로부터 상기 외부 장치의 제2사용자 정보를 수신하는 동작을 더 포함하고,
    상기 정해진 기능을 수행하는 동작은,
    상기 수신된 제2사용자 정보가 상기 전자 장치의 메모리에 저장되어 있는 경우, 상기 정해진 기능을 수행하는 동작을 포함하는 방법.
  15. 제 13항에 있어서,
    상기 정해진 기능을 수행하는 동작은,
    상기 제1움직임 정보 및 상기 제2움직임 정보가 동일한 타입의 움직임이고, 상기 동일한 타입의 움직임이 제1시간 이내에 발생한 경우, 상기 정해진 기능을 수행하는 동작을 포함하는 방법.
  16. 제 15항에 있어서,
    센서를 이용해 감지되는 전자 장치의 움직임에 대응하는 충격량이 제1임계값 이상인 경우 shake 동작의 감시를 개시하는 동작; 및
    상기 shake 동작의 감시가 개시된 상태에서, 제2시간 동안 제1방향의 움직임 및 제2방향의 움직임이 제1횟수 이상 감지되는 경우, 상기 shake 동작이 발생한 것으로 판단하는 동작을 더 포함하는 방법.
  17. 제 15항에 있어서,
    감지되는 전자 장치의 움직임에 대응하는 충격량이 제2임계값 이상인 이후 상기 충격량이 제3시간동안 제3임계값 이하로 지속되는 횟수가 제2횟수 이상인 경우, tap 동작으로 판단하는 동작을 더 포함하는 방법.
  18. 제 13항에 있어서,
    상기 정해진 기능은 상기 외부 장치로의 컨텐츠 전송을 포함하는 방법.
  19. 제 18항에 있어서,
    사용자 입력에 기초하여 적어도 하나의 컨텐츠가 선택된 이후 획득되는 상기 제1움직임 정보 및 상기 제2움직임 정보에 기초하여, 상기 선택된 적어도 하나의 컨텐츠를 상기 외부 장치로 전송하는 방법.
  20. 전자 장치에 있어서,
    외부 장치와 근거리 통신을 수행하기 위한 근거리 통신 모듈;
    상기 전자 장치의 움직임을 감지하는 센서;
    제1사용자 정보를 저장하는 메모리; 및
    상기 근거리 통신 모듈, 상기 센서 및 상기 메모리와 작동적으로(operatively) 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 수신되는 신호에 기초하여 상기 외부 장치를 인식하고,
    상기 센서를 이용해 상기 전자 장치의 움직임을 감지하고,
    상기 감지된 전자 장치의 움직임이 정해진 조건을 만족하는 경우, 상기 전자 장치의 움직임에 관련된 제1움직임 정보를 생성하고,
    상기 제1움직임 정보 및 상기 제1사용자 정보를 상기 근거리 통신 모듈을 통해 상기 외부 장치로 전송하고, 및
    상기 근거리 통신 모듈을 통해 상기 외부 장치로부터 컨텐츠를 수신하도록 설정된 전자 장치.
KR1020200078707A 2020-06-26 2020-06-26 전자 장치 및 전자 장치의 컨텐츠 전송 방법 KR20220000719A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200078707A KR20220000719A (ko) 2020-06-26 2020-06-26 전자 장치 및 전자 장치의 컨텐츠 전송 방법
PCT/KR2021/008100 WO2021261974A1 (ko) 2020-06-26 2021-06-28 전자 장치 및 전자 장치의 컨텐츠 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200078707A KR20220000719A (ko) 2020-06-26 2020-06-26 전자 장치 및 전자 장치의 컨텐츠 전송 방법

Publications (1)

Publication Number Publication Date
KR20220000719A true KR20220000719A (ko) 2022-01-04

Family

ID=79281553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200078707A KR20220000719A (ko) 2020-06-26 2020-06-26 전자 장치 및 전자 장치의 컨텐츠 전송 방법

Country Status (2)

Country Link
KR (1) KR20220000719A (ko)
WO (1) WO2021261974A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312392B2 (en) * 2009-10-02 2012-11-13 Qualcomm Incorporated User interface gestures and methods for providing file sharing functionality
US9143599B2 (en) * 2010-11-29 2015-09-22 Blackberry Limited Communication system providing data transfer direction determination based upon motion and related methods
KR101797627B1 (ko) * 2011-08-10 2017-11-15 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20150245164A1 (en) * 2014-02-26 2015-08-27 Aliphcom Interaction between wearable devices via broadcasted sensor-related data
US10568033B2 (en) * 2015-12-23 2020-02-18 Intel Corporation Context-driven connection protocol

Also Published As

Publication number Publication date
WO2021261974A1 (ko) 2021-12-30

Similar Documents

Publication Publication Date Title
CN111542822B (zh) 用于共享屏幕数据的电子装置和方法
US11606838B2 (en) Electronic device for controlling establishment or release of communication connection, and operating method therefor
KR102600892B1 (ko) 블루투스 저전력을 이용하여 통신을 수행하는 장치 및 방법
KR102523826B1 (ko) 블루투스 통신을 사용하는 전자 장치와 이의 동작 방법
US20220151008A1 (en) Electronic device including electronic pen and method of controlling communication connection between electronic device and electronic pen
KR20200112299A (ko) 계정 관련 정보에 기반하여 장치를 설정하는 방법 및 그 전자 장치
KR102643372B1 (ko) 장치를 탐색하는 전자 장치 및 그 방법
KR20210101496A (ko) 외부 전자 장치의 상태에 기반하여 통신하는 방법 및 그 전자 장치
US11647111B2 (en) Method for sharing Bluetooth communication information and electronic device therefor
US11716603B2 (en) Method for transmitting data based on multiple communication schemes and electronic device supporting same
US20220377553A1 (en) Electronic device and method for performing peer to peer service in electronic device
KR102606041B1 (ko) 상태 정보에 기반하여 식별 정보를 변경하는 전자 장치 및 상기 식별 정보를 확인할 수 있는 다른 전자 장치
KR20220000719A (ko) 전자 장치 및 전자 장치의 컨텐츠 전송 방법
KR20220000720A (ko) 전자 장치 및 전자 장치의 기능 수행 방법
KR20210122541A (ko) 데이터의 제공 방법 및 이를 지원하는 전자 장치
KR102489729B1 (ko) 연결 정보에 기반하여 외부 장치들과 연결하는 전자 장치 및 그 동작 방법
KR20210049653A (ko) 외부 전자 장치와 통신하는 방법 및 그 전자 장치
KR20210032104A (ko) 주소 정보를 설정하기 위한 전자 장치 및 그 작동 방법
KR20190138463A (ko) 복수의 nfc 동작 모드를 지원하는 전자 장치 및 전자 장치의 동작 방법
US11570602B2 (en) Method for communicating with external electronic apparatus and electronic apparatus thereof
CN113874828B (zh) 用于通过外部电子装置提供屏幕共享服务的电子装置、方法和计算机可读介质
KR20210101998A (ko) 전자 장치 및 전자 장치에서의 p2p 서비스 수행 방법
KR20220050351A (ko) 네트워크 제어 방법 및 이를 사용하는 전자 장치
KR20230012392A (ko) 전자 장치 및 이를 이용한 외부 전자 장치 연결 방법
KR20210129498A (ko) 데이터를 전송하는 방법 및 이를 지원하는 전자 장치