KR-102960857-B1 - METHOD AND APPARATUS FOR PROVIDING SERVICE FINDING ELECTRONIC DEVICE
Abstract
일 실시 예에 따른 전자 장치는, 근거리 통신을 지원하는 제1 무선 통신 회로; 제2 무선 통신 회로; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는: 상기 제1 무선 통신 회로를 이용하여 외부 장치로부터 상기 외부 장치의 식별 정보 및 상기 외부 장치와 연관된 국가 정보를 포함하는 애드버타이징 패킷(advertising packet)을 수신하고, 접속 가능한 복수의 서버들 중 상기 수신된 애드버타이징 패킷에 포함된 상기 국가 정보에 대응하는 제1 서버를 결정하고, 상기 제2 무선 통신 회로를 이용하여 상기 제1 서버를 향해(toward) 상기 외부 장치의 공개 키를 요청하는 메시지를 전송하고, 상기 제2 무선 통신 회로를 이용하여 상기 제1 서버로부터 상기 외부 장치에 대응하는 상기 공개 키를 수신하고, 상기 공개 키를 이용하여 상기 전자 장치의 위치 정보를 암호화하고, 상기 제2 무선 통신 회로를 이용하여 상기 암호화된 위치 정보를 상기 제1 서버로 전송할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
Inventors
- 이내석
- 이정훈
- 정효성
- 송가진
Assignees
- 삼성전자주식회사
Dates
- Publication Date
- 20260506
- Application Date
- 20200804
Claims (20)
- 전자 장치에 있어서, 근거리 통신을 지원하는 제1 무선 통신 회로; 제2 무선 통신 회로; 적어도 하나의 프로세서; 및 인스트럭션들을 저장하는 메모리를 포함하고, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가: 상기 제1 무선 통신 회로를 이용하여 외부 장치로부터 상기 외부 장치의 식별 정보 및 상기 외부 장치의 사용자 계정에 연관된 국가 정보를 포함하는 애드버타이징 패킷(advertising packet)을 수신하고, 접속 가능한 복수의 서버들 중 상기 수신된 애드버타이징 패킷에 포함된 상기 국가 정보에 대응하는 제1 서버를, 위치 정보를 제공할 대상 서버로 결정하고, 상기 제2 무선 통신 회로를 이용하여 상기 외부 장치의 식별 정보 및 상기 전자 장치의 위치 정보를 상기 제1 서버로 전송하도록 하는, 전자 장치.
- 청구항 1에 있어서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가, 상기 제2 무선 통신 회로를 이용하여 상기 외부 장치의 공개 키를 요청하는 메시지를 상기 제1 서버로 전송하고, 상기 제2 무선 통신 회로를 이용하여 상기 제1 서버로부터 상기 외부 장치에 대응하는 상기 공개 키를 수신하고, 상기 공개 키를 이용하여 상기 전자 장치의 위치 정보를 암호화하고, 상기 제2 무선 통신 회로를 이용하여 상기 외부 장치의 식별 정보와 상기 암호화된 위치 정보를 함께 상기 제1 서버로 전송하도록 하는, 전자 장치.
- 청구항 1에 있어서, 상기 근거리 통신은 BLE(Bluetooth Low Energy)인, 전자 장치.
- 청구항 1에 있어서, 상기 제2 무선 통신 회로는 셀룰러 네트워크 또는 Wi-Fi 네트워크 중 적어도 하나를 지원하는, 전자 장치.
- 청구항 1에 있어서, 상기 메모리는, 복수의 국가 코드들 및 상기 복수의 국가 코드들에 각각 대응하는 서버 주소를 포함하는 데이터베이스를 저장하는, 전자 장치.
- 청구항 5에 있어서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가, 상기 복수의 국가 코드들 중 상기 애드버타이징 패킷에 포함된 상기 국가 정보에 매칭되는 제1 국가 코드를 식별하고, 상기 데이터베이스에서 상기 제1 국가 코드에 맵핑된 상기 제1 서버를 결정하도록 하는, 전자 장치.
- 청구항 5에 있어서, 상기 복수의 국가 코드들은 국제 전화 나라 번호, 도메인 코드, 또는 MCC(mobile country code) 중 하나의 포맷을 가지는, 전자 장치.
- 청구항 1에 있어서, 위치 측정 회로를 더 포함하고, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가, 상기 애드버타이징 패킷의 수신에 응답하여 상기 위치 측정 회로를 이용하여 상기 전자 장치의 상기 위치 정보를 획득하도록 하는, 전자 장치.
- 청구항 8에 있어서, 상기 위치 측정 회로는 GPS인, 전자 장치.
- 청구항 1에 있어서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가, 상기 전자 장치가 등록된 제2 서버와 다른 국가에서 운영되는 상기 제1 서버를 결정하도록 하는, 전자 장치.
- 전자 장치의 방법에 있어서, 상기 전자 장치의 제1 무선 통신 회로를 이용하여, 외부 장치로부터 상기 외부 장치의 식별 정보 및 상기 외부 장치의 사용자 계정에 연관된 국가 정보를 포함하는 애드버타이징 패킷(advertising packet)을 수신하는 동작, 상기 전자 장치의 적어도 하나의 프로세서를 이용하여, 접속 가능한 복수의 서버들 중 상기 수신된 애드버타이징 패킷에 포함된 상기 국가 정보에 대응하는 제1 서버를, 위치 정보를 제공할 대상 서버로 결정하는 동작, 상기 전자 장치의 제2 무선 통신 회로를 이용하여 상기 결정된 제1 서버를 향해(toward) 상기 외부 장치의 식별 정보 및 상기 전자 장치의 위치 정보를 전송하는 동작을 포함하는, 방법.
- 청구항 11에 있어서, 상기 외부 장치의 식별 정보 및 상기 전자 장치의 위치 정보를 전송하는 동작은: 상기 제1 서버로 상기 외부 장치의 공개 키를 요청하는 메시지를 전송하는 동작, 상기 제2 무선 통신 회로를 이용하여 상기 제1 서버로부터 상기 외부 장치에 대응하는 상기 공개 키를 수신하는 동작, 상기 공개 키를 이용하여 상기 전자 장치의 상기 위치 정보를 암호화하는 동작, 및 상기 제2 무선 통신 회로를 이용하여 상기 외부 장치의 식별 정보와 상기 암호화된 위치 정보를 함께 상기 제1 서버로 전송하는 동작을 포함하는, 방법.
- 청구항 11에 있어서, 상기 전자 장치에 저장된 데이터베이스에 포함된 복수의 국가 코드들 중 상기 애드버타이징 패킷에 포함된 상기 국가 정보에 매칭되는 제1 국가 코드를 식별하는 동작, 및 상기 데이터베이스에서 상기 제1 국가 코드에 맵핑된 상기 제1 서버를 결정하는 동작을 더 포함하는, 방법.
- 청구항 11에 있어서, 상기 복수의 국가 코드들은 국제 전화 나라 번호, 도메인 코드, 또는 MCC(mobile country code) 중 하나의 포맷을 가지는, 방법. 완료하거나 중단하는 동작을 더 포함하는, 방법.
- 청구항 11에 있어서, 상기 애드버타이징 패킷의 수신에 응답하여 상기 전자 장치의 상기 위치 정보를 획득하는 동작을 더 포함하는, 방법.
- 전자 장치에 있어서, 무선 통신 회로, 적어도 하나의 프로세서, 및 인스트럭션들을 저장하는 메모리를 포함하고, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서에 의해 실행될 시, 상기 전자 장치가: 상기 무선 통신 회로를 이용하여 상기 전자 장치의 식별 정보 및 상기 전자 장치의 사용자 계정에 연관된 국가 정보를 포함하는 애드버타이징 패킷을 브로드캐스팅하도록 하며, 상기 국가 정보는, 상기 애드버타이징 패킷을 수신한 외부 장치가 위치 정보를 제공할 대상 서버를 결정하는 데 이용되는, 전자 장치.
- 청구항 16에 있어서, 상기 무선 통신 회로는, BLE 통신을 이용하여 상기 애드버타이징 패킷을 브로드캐스팅하는, 전자 장치.
- 청구항 16에 있어서, 상기 전자 장치의 식별 정보는, 지정된 알고리즘에 따라 랜덤하게 생성되는 랜덤 ID인, 전자 장치.
- 청구항 16에 있어서, 상기 애드버타이징 패킷은, 상기 전자 장치가 단독으로 동작하는 장치인지, 다른 장치와 쌍(pair)을 이루면서 동작하는 장치인지 여부를 지시하는 정보를 더 포함하는, 전자 장치.
- 청구항 16에 있어서, 상기 전자 장치는 이어버즈(earbuds), Bluetooth 헤드폰, 태블릿, 스마트 워치 중 어느 하나인, 전자 장치.
Description
전자 장치의 위치 확인 서비스를 제공하는 방법 및 그 장치{METHOD AND APPARATUS FOR PROVIDING SERVICE FINDING ELECTRONIC DEVICE} 본 문서에서 개시되는 다양한 실시 예들은, 전자 장치의 위치 확인 서비스를 제공하는 기술에 관한 것이다. 최근 다양한 전자 제품의 보급이 증가함에 따라, 사용자들은 스마트폰과 같은 모바일 통신 장치 외에 스마트폰과 연결해서 사용할 수 있는 스마트 워치, 이어폰, 또는 태블릿과 같은 다수의 장치를 사용하고 있다. 이어폰과 같은 장치의 작은 크기 또는 사용자의 부주의로 인해 사용자가 일부 장치를 분실하는 경우가 발생할 수 있고, 장치의 제조사나 서비스 제공 업체에서는 이러한 경우에 대비하여 분실 장치의 위치를 확인해주는 서비스를 제공할 수 있다. 예를 들어 분실된 사용자의 스마트폰의 위치를 서버가 수집하고, 스마트폰의 위치를 사용자에게 제공하는 방식일 수 있다. 예를 들어, 스마트폰을 분실한 사용자는 스마트폰 제조사의 웹사이트에 본인 계정으로 로그인한 후 스마트폰의 위치 확인을 요청하면, 서버는 스마트폰과 통신을 통해 확인된 위치 정보를 웹사이트 또는 어플리케이션을 통해 제공할 수 있다. 위 방법은 스마트폰과 같이 서버와 직접 통신이 가능한 전자 장치가 분실된 경우를 전제로 하므로, 스마트폰과 근거리 통신(예: Bluetooth 또는 Wi-Fi direct)으로 페어링은 가능하지만 서버와 직접 통신을 수행할 능력을 보유하지 않은 장치(예: 이어폰, 이어버즈, 또는 헤드셋)에서는 사용될 수 없었다. 이 경우, 분실된 장치가 자신의 식별 정보를 주변 장치로 브로드캐스팅하면, 주변 장치가 자신의 정보와 분실된 장치의 식별 정보를 같이 서버로 제공하고, 서버에서는 분실 장치의 식별 정보를 이용하여 분실 장치의 사용자에게 분실 장치의 위치 정보를 제공해줄 수 있다. 도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다. 도 2는 일 실시 예에 따른 사용자 장치의 위치를 확인하는 시스템을 나타낸다. 도 3은 일 실시 예에 따른 전자 장치의 다양한 기능과 관련된 모듈들을 나타낸다. 도 4는 일 실시 예에 따른 서버의 다양한 기능과 관련된 모듈들을 나타낸다. 도 5는 일 실시 예에 따른, 제1 장치가 제2 장치를 서버에 등록하는 흐름도를 나타낸다. 도 6은 일 실시 예에 따른 파인딩 시스템(finding system)에서 분실 장치의 현재 위치를 추적하는 흐름도를 나타낸다. 도 7은 일 실시 예에 따른 제1 장치에서 사용자 장치들의 위치를 확인하기 위한 사용자 인터페이스를 나타낸다. 도 8은 일 실시 예에 따른 전자 장치가 임의의 외부 장치를 찾기 위해 스캔을 수행하는 흐름도를 나타낸다. 도 9는 일 실시 예에 따른 전자 장치의 화면 ON/OFF에 따른 스캔 간격을 조절하는 흐름도이다. 도 10은 일 실시 예에 따른 제2 장치의 구성 및 제2 장치에 의해 브로드캐스팅 되는 패킷의 데이터 구조를 나타낸다. 도 11은 일 실시 예에 따른 전자 장치가 외부 장치로부터 애드버타이징 패킷을 수신하고 외부 장치에 대한 정보를 서버로 전송하는 흐름도를 나타낸다. 도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다. 이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도 1은 일 실시 예에 따른 네트워크 환경(100) 내의 전자 장치를 도시한 도면이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시 예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다. 프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다. 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted Boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. 메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. 프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. 입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. 음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다.