상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
본 발명에서는 디바이스에 충격이 가해지는 경우에 다른 디바이스와의 무선 네트워크 연결 생성/해제에 관한 해당 제어를 수행하는 '디바이스 충격을 이용한 무선 네트워크 연결 제어 방법'[제1 실시예]을 제시한다.
한편, 본 발명에서는 디바이스에 충격이 가해지는 경우에 응용 프로그램의 설정/실행에 관한 해당 제어를 수행하는 '디바이스 충격을 이용한 응용 프로그램 제어 방법'[제2 실시예]을 제시한다.
즉, 본 발명은 디바이스에 충격을 주어[예; 디바이스 직접 치기, 디바이스 진동 주기, 디바이스가 놓인 탁자 치기, 디바이스간 접촉(부딪치기, 충격) 등], 다른 디바이스와의 무선 네트워크 연결 생성/해제에 관한 해당 제어가 수행되도록 하거나[사용자가 무선 네트워크 연결 제어에 대한 인터페이스 조작을 손쉽게 할 수 있도록 하거나], 응용 프로그램의 설정/실행에 관한 해당 제어가 수행되도록 하는[사용자가 응용 프로그램 제어에 대한 인터페이스 조작을 손쉽게 할 수 있도록 하는] 것이다.
예컨대, 본 발명에서는 디바이스 충격과 같은 단순하면서도 직관적인 인터페이스를 사용자에게 제공하여 이를 통해 사용자가 동적인 무선 네트워크 연결 생성/해제 제어 또는 다이나믹한 응용 프로그램 설정/실행 제어를 손쉽게 할 수 있도록 한다. 이와 같은 손쉬운 제어를 통해 사용자가 자신의 니즈를 충족시킬 수 있는 개인화된 응용 무선 네트워크 또는 개인화된 응용 프로그램을 구성할 수 있도록 한다.
이하, 첨부된 도면들을 함께 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명이 적용되는 디바이스에 대한 일실시예 구성도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 디바이스는 근거리 무선 통신부[RF 모듈](11), 충격 센서[또는 진동 센서 등](12), 제어부[CPU, MCU](13) 및 타이머(14) 등을 포함한다.
본 발명에 있어 근거리 무선 통신부(11)는 블루투스(Bluetooth), 와이-파이(Wi-Fi), 지그비(Zigbee), 무선 USB(wireless USB) 등과 같이 어떠한 무선신호 송수신 기능으로 구현되면 족하고, 충격 센서(12)는 디바이스에 가해지는 충격, 접촉, 진동 등을 감지할 수 있는 센싱 기능으로 구현되면 족하다.
한편, 본 발명에 있어 타이머(14)는 클럭 발생기 등과 같은 하드웨어적인 부품 또는 소프트웨어적인 프로그램으로 구현될 수 있다. 물론 이러한 타이머(14)는 제어부(13)에 내장되어 탑재될 수도 있다.
위와 같이 본 발명의 디바이스는 그 기종, 사양, 스펙 및 네트워크(프로토콜) 종류 등에 상관없이 어떠한 무선 장치로 구현될 수 있으며, 그 예로서 센서 네트워크 단말, 스마트폰, 휴대폰 등과 같은 모바일 디바이스, 무선 USB 메모리, 스마트 카드, MP3 플레이어, PMP 플레이어 등과 같은 미디어 장치, 라디오, 노트북, 무선 콘트롤러(모트) 등을 들 수 있다.
도 2는 본 발명에 따른 디바이스 충격을 이용한 무선 네트워크 연결 제어 방법에 대한 일실시예 흐름도로서, 본 발명에서 가장 기본적인 알고리즘을 이용한 무선 네트워크 연결 생성 과정을 보여주고 있다.
덧붙여, 본 발명에 있어 다수개의 디바이스간의 무선 네트워크 연결 생성/해제 과정이 수행될 수 있으며, 이하 본 발명의 이해를 도모하고자 2개의 디바이스를 예로 들어 설명하기로 한다.
사용자(들)가 2개의 디바이스간의 무선 네트워크 연결을 생성하고자 하는 경우에[주; 디바이스의 전원은 온(on)되어 있는 상태임], 사용자(들)는 각 디바이스 에 충격을 가한다(201). 여기서, 디바이스에 충격을 가하는데 있어 같은 시점(동일한 시간대)에 각 디바이스에 충격을 가하는 것이 바람직하며, 그 예로서 디바이스를 손이나 물체로 직접 치거나, 디바이스에 진동을 주거나, 디바이스가 놓인 탁자를 간접적으로 치거나, 디바이스간을 서로 접촉시키기(부딪치기, 충격 등) 등과 같은 다양한 방식으로 할 수 있다. 또한 한 명의 사용자가 동시에 2개의 디바이스에 충격을 단독으로 가하거나, 두 명의 사용자 각자가 동시에 각 디바이스에 충격을 협력적으로 가할 수 있다.
그에 따라, 각 디바이스의 충격 센서(12)는 외부[사용자]로부터 가해진 충격을 센싱해 이 센싱한 충격값[충격의 강도]이 임계치를 넘는 경우에 충격 이벤트를 발생시켜 제어부(13)로 전달한다(202). 여기서, 충격 센서(12)는 충격값이 임계치를 넘는 경우에 충격 이벤트를 발생시키는데, 이는 약한 진동 등과 같이 사용자가 의도하지 않은 충격 이벤트 발생을 필터링해 오류로 인한 디바이스간 무선 네트워크 연결이 생성되는 것을 방지한다.
그러면, 각 디바이스의 제어부(13)는 충격 이벤트 발생을 인지해 이 충격 이벤트가 발생한 시간을 기준으로 타이머(14)를 구동시킨다(203).
그런후, 각 디바이스의 제어부(13)는 근거리 무선 통신부(11)를 구동시켜 타이머(14)의 구동시간을 기준으로 다른 디바이스간 신호 송수신을 통해 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색한다(204). 이 충격 이벤트 발생 디바이스 탐색 과정에 대해서는 도 3을 참조하여 하기에서 구체적으로 설명하기로 한다.
그런후, 각 디바이스[제어부(13)]는 충격 이벤트 발생 디바이스 탐색 결과에 따라 그 탐색된 해당 디바이스와 소정 프로토콜을 수행해 디바이스간 무선 네트워크 연결을 생성한다(205). 여기서, 소정 프로토콜은 디바이스가 속한 무선 네트워크에서 사용하는 프로토콜을 의미하며, 특정 프로토콜에 한정되지는 않음을 밝혀둔다.
부가적으로, 본 발명에서는 무선 네트워크 연결 생성 과정의 내용을 화면 또는 스피커 등을 통해 사용자에게 제공하고, 그에 따라 사용자의 버튼 선택 등에 따라 무선 네트워크 연결 생성 등에 관한 고급 사항 셋팅, 기능 변경 등을 설정할 수 있도록 할 수 있다. 물론, 이러한 방식은 하기에서 설명할 무선 네트워크 연결 해제 과정, 응용 프로그램 제어 과정에 있어서도 동일하다.
한편, 상기 각 디바이스[제어부(13)]는 충격 이벤트 발생에 대한 디바이스 탐색 결과로 어떠한 다른 디바이스도 탐색하지 못하면[탐색 실패], 예컨대 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스가 없는 경우(예; 사용자가 1개의 디바이스에만 충격을 발생시킨 경우 등)에는 이를 디바이스가 사전에 정의된 특정한 연결을 생성하는 상태로 변경하게 하여[단일 디바이스에 가해진 충격 이벤트로 인식해 사전에 정의된 상태로 변경하는 명령], 디바이스는 충격 이벤트가 발생한 시점부터 일정 시간 내에 발생하는 향후 충격 이벤트에 대해 사전에 정의된 특별한 관계로 디바이스간 무선 네트워크 연결을 생성 또는 해제한다(예; 서버-클라이언트 관계 연결, 부모-자식 관계 연결 등).
다른 예로서, 각 디바이스는 충격 이벤트 발생에 대한 디바이스 탐색 결과로 어떠한 다른 디바이스도 탐색하지 못하면[탐색 실패], 예컨대 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스가 없는 경우(예; 사용자가 1개의 디바이스에만 충격을 발생시킨 경우 등)에는 이를 디바이스가 사전에 정의된 특정한 동작을 수행하는 상태로 변경하게 하여[단일 디바이스에 가해진 충격 이벤트로 인식해 사전에 정의된 동작을 수행하는 상태로 변경하는 명령], 디바이스는 충격 이벤트가 발생한 시점부터 일정 시간 내에 발생하는 향후 충격 이벤트에 대해 사전에 정의된 특별한 기능의 실행을 하며, 이를 통해 기본적 동작 이외의 다양한 명령을 받아들이게 확장시킬 수 있다.
본 발명에 있어 상기 응용 프로그램은 무선 네트워크 상에서 구동되는 네트워크 기반 어플리케이션(예; 메신저, 컨텐츠 다운로더, 파일 공유 등), 디바이스 상에서 구동되는 디바이스 기반 어플리케이션(예; 컨텐츠 재생기, 일정 관리기 등) 등과 같이 모든 어플리케이션을 포함하며, 특정 어플리케이션에 한정되지는 않음을 밝혀둔다.
파일 공유 프로그램을 예로 들어 설명하면, 디바이스가 충격 이벤트를 인지하는 경우 이벤트의 발생, 동일한 이벤트가 발생한 디바이스(들) 및 충격 횟수 등의 정보를 디바이스에서 동작하고 있는 파일 공유 프로그램에 전달하고, 파일 공유 프로그램은 이를 제어 명령으로 받아들여서 해당 디바이스(들)와의 무선 네트워크 연결을 통해 파일의 송수신 또는 컨텐츠 동기화 등의 기능을 실행할 수 있다.
다른 예로서, 디바이스가 충격 이벤트에 대한 정보를 컨텐츠 재생기 프로그램으로 전송하는 경우, 사전에 정해 놓은 사용자 설정에 따라 기 저장되어 있는 컨 텐츠를 재생해 화면, 스피커 등을 통해 출력할 수 있다.
한편, 본 발명에 있어 충격 센서가 구비된 디바이스와 충격 센서가 미구비된 디바이스간의 무선 네트워크 연결 제어에 대해서도 고려한다.
즉, 충격 센서가 미구비된 디바이스는 소리 또는 화면 등과 같은 별도의 인터페이스를 통해 충격 센서가 구비된 디바이스로부터 수신받은 충격 이벤트 발생에 따른 디바이스 탐색 메세지의 내용을 유저 인터페이스(예; 화면)를 통해 사용자에게 보여주어 사용자의 선택에 따라 해당 디바이스간에 무선 네트워크 연결 생성/해제가 수행되도록 할 수 있다.
다음으로, 도 3을 참조하여 충격 이벤트 발생 디바이스 탐색 과정에 대해 구체적으로 설명하기로 한다.
도 3은 도 2의 충격 이벤트 발생 디바이스 탐색 과정을 설명하기 위한 예시도로서, 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색하기 위한 두 디바이스의 RF 통신 시도 상태를 보여주고 있다.
도 3에서는 두 개의 디바이스 사이에 발생한 충격 이벤트에 대하여 디바이스 A, 디바이스 B 각각이 자신의 충격 이벤트가 발생한 시간(시점)을 기준으로 랜덤하게 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색하기 위해 데이터 송신을 시도하고, 이외의 시간에 데이터 수신 대기 상태로 천이하는 것이 도시되어 있다.
여기서, 디바이스[디바이스 A 또는 디바이스 B]가 다른 디바이스로 송신하는 데이터는 자신[디바이스]의 타이머 구동 카운팅값으로 표현되는 충격 이벤트 발생 시간(시점)이 포함된 탐색 메시지이며, 이러한 탐색 메시지를 수신받은 다른 디바이스[디바이스 B 또는 디바이스 A]가 탐색 메시지에 포함된 상대 디바이스의 타이머 구동 카운팅값이 자신과 일치하는 경우에 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 상대 디바이스로 인식하는 것이다. 이와 같은 도 3은 가장 단순한 랜덤 방식의 충격 이벤트 발생 디바이스 탐색 알고리즘을 설명하기 위한 것일 뿐, 이러한 알고리즘에 한정되는 것은 아님을 밝혀둔다.
도 3에 도시된 바와 같이, 'T10' 시간에 디바이스 A, 디바이스 B 각각에 충격 이벤트가 발생되었고, 이 충격 이벤트 발생 시점은 타이머에서 숫자 '0'으로 표현된다. 이와 같은 충격 이벤트 발생 시점 이후로 각 디바이스의 타이머가 구동되어 카운팅을 시작하게 된다.
기본적으로 디바이스 A, 디바이스 B 각각은 데이터 수신 대기 상태에서 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스로부터 송신되는 데이터 수신을 대기하지만, 또한 랜덤한 시점에 능동적으로 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 찾기 위해 데이터 송신을 수행한다.
도 3에서는 디바이스 A, 디바이스 B 각각이 랜덤하지만 동일하게 선택된 'T20' 시간에 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 찾기 위한 데이터 송신을 수행하고 있으며, 이와 같은 동일 시간에 수행한 데이터 송신에 따라 두 디바이스가 서로를 찾는데 실패하고 있다. 이에 이후의 'T30' 시간에 디바이스 A가 데이터 송신을 수행하고 'T30' 시간에 디바이스 B가 데이터 수신을 수행하고 있으며, 그에 따라 두 디바이스가 서로를 찾는데 성공하고서, 소정 프 로토콜을 수행해 디바이스간 무선 네트워크 연결을 생성한다.
다만, 도 3에서는 하나의 근거리 무선 통신부[단일 RF 모듈]가 구비된 디바이스를 예로 들어 설명한 것이며, 다중(2개 이상의) 근거리 무선 통신부가 구비된 디바이스에 있어서는 동일 시간에 디바이스 A가 데이터 송신 및 디바이스 B가 데이터 수신[또는 디바이스 A가 데이터 수신 및 디바이스 B가 데이터 송신]을 수행하더라도 두 디바이스가 서로를 찾는데 성공할 수 있다.
한편, 본 발명에 있어 디바이스간 무선 네트워크 연결 해제 과정도 전술한 바와 같은 디바이스간 무선 네트워크 연결 생성 과정과 유사하다.
즉, 서로간에 무선 네트워크가 기 연결된 디바이스가 무선 네트워크 연결 해제 기능이 활성화된 상태에서, 각 디바이스에 충격이 가해지는 경우에 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색한 결과에 따라 그 탐색된 해당 디바이스와 소정 프로토콜을 수행해 디바이스간 무선 네트워크 연결을 해제한다.
전술한 바와 같이, 본 발명에서는 사용자가 디바이스에 충격을 가하는 것만으로 디바이스간 무선 네트워크 연결 생성, 디바이스간 무선 네트워크 연결 해제를 손쉽게 할 수 있는 것이다.
다음으로, 전술한 바와 같은 본 발명의 디바이스 충격을 이용한 무선 네트워크 연결 제어 방법의 기본 알고리즘이 활용되는 네트워크 환경, 어플리케이션 등에 따라 다양한 부가 기법들을 변형해 추가, 적용할 수 있다. 또한, 하기에서 후술할 다양한 부가 기법들은 본 발명의 디바이스 충격을 이용한 응용 프로그램 제어 방법 에도 변형해 추가, 적용할 수 있다.
첫번째로, 디바이스의 무선 네트워크 연결 제어 기능 활성화/비활성화를 설정할 수 있는 버튼 등을 통한 잠금 기능, 예컨대 디바이스에 충격이 가해지는 경우에 무조건 디바이스간 무선 네트워크 연결 제어가 수행되는 것으로 인해 사용자가 의도하지 않은 무선 네트워크 연결 생성/해제가 이루어지는 것을 방지하기 위해 사용자의 선택에 따라 디바이스간 무선 네트워크 연결 제어 잠금 기능을 설정할 수 있도록 한다.
두번째로, 그룹 아이디 개념, 예컨대 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 그룹 아이디를 포함시켜 디바이스간 무선 네트워크 연결 생성/해제 제어를 수행하여, 정해진 그룹 아이디를 갖는 디바이스간에만 무선 네트워크 연결 생성/해제가 이루어지도록 하거나, 무선 네트워크 연결 후의 디바이스 기능, 디바이스 권한 등을 제한할 수도 있다. 여기서, 그룹 아이디 설정은 개인 또는 소속된 SNS 또는 단체(회사 등) 등으로 설정되는 것이 바람직하며, 이와 같은 그룹 아이디를 이용하는 경우에 디바이스간 무선 네트워크 연결에 따른 보안성을 높일 수 있다.
세번째로, 기본적인 무선 네트워크 연결 제어 알고리즘에서는 타이머를 이용해 충격 이벤트가 발생된 상대 시간을 기준으로 디바이스가 동작하지만, GPS 모듈, 내장 시계, 이동통신망 동기 시간 등을 통해 디바이스가 절대 시간을 알 수 있는 경우에는[즉 절대시간 획득부 구비] 디바이스가 다른 디바이스의 충격 이벤트가 발생한 시간을 비교하는데 있어 절대 시간을 기준으로 동작할 수 있다.
또한, 절대 시간을 기준으로 디바이스가 동작하는 실시예에 있어, 디바이스가 추가적으로 해당 절대 시간을 시드(seed)로 하는 난수[암호화 정보]를 생성하고서, 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 이 난수를 포함시켜 난수 해독이 이루어진 디바이스간 무선 네트워크 연결 생성/해제 제어를 수행할 수 있다.
물론, 앞서 설명한 그룹 아이디를 이용해 난수를 생성해 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 그룹 아이디 기반 난수를 포함시키거나, 그룹 아이디와 절대 시간을 이용해 난수를 생성해 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 그룹 아이디+절대 시간 기반 난수를 포함시킬 수도 있다. 이와 같은 그룹 아이디 또는/및 절대 시간 기반 난수를 이용하는 경우에 디바이스간 무선 네트워크 연결에 따른 보안성을 더욱 높일 수 있다.
네번째로, 사용자에 의해 디바이스에 가해지는 충격의 횟수에 따라 디바이스간 무선 네트워크 연결 생성/해제에 관한 사용자의 추가적인 제어가 가능하다. 무선 네트워크 연결 생성의 예를 들면, 일정 시간 내에 디바이스 간에 한 번의 충격이 가해져 연결이 생성되는 경우에는 디바이스간 데이터 송수신은 5분 주기로 수행되고, 일정 시간 내에 디바이스 간에 두 번의 충격이 가해져 연결이 생성되는 경우에는 디바이스간 데이터 송수신은 1분 주기로 수행될 수 있다. 즉, 충격의 횟수를 통해 사용자의 추가적인 제어를 표현하여 데이터 송수신 주기 등을 포함하는 디바이스간의 연결 설정에 관한 값을 변경할 수 있는 것이다.
다섯번째로, 각 디바이스에 가해지는 서로 다른 횟수의 충격에 따라 디바이 스 모드 전환에 관한 사용자의 추가적인 제어가 가능하다. 예를 들어, 디바이스 A에 충격이 가해진 후 이 디바이스 A와 디바이스 B간에 충격이 연달아 가해지는 것에 따라 두 디바이스간에 무선 네트워크 연결이 이루어지는 경우에, 무선 네트워크 연결 당시에 디바이스 A가 두 번의 충격을 센싱했고 디바이스 B가 한 번의 충격을 센싱했기에 이러한 디바이스간 서로 다른 횟수의 충격 차이를 통해 하나의 디바이스[디바이스 A 또는 디바이스 B]를 부모 노드로서 다른 디바이스[디바이스 B 또는 디바이스 A]를 자식 노드로서 무선 네트워크 연결 관계를 설정할 수 있다.
여섯번째로, 앞서 설명한 서로 다른 횟수의 디바이스 충격 방식 이외의 부가적으로 부착된 센서의 측정 데이터를 통한 방식으로도 디바이스간 무선 네트워크 연결 관계를 설정할 수 있다.
예컨대, 디바이스에 가속도 센서가 구비된 경우에는 충격 이벤트 발생 전 또는 후의 각 디바이스 이동값 비교를 통해 디바이스간 무선 네트워크 연결 관계를 설정할 수 있다. 여기서, 가속도 센서는 디바이스의 위치 이동의 감지를 통해 디바이스간의 차이를 만드는 센서의 예이며, 이는 다양한 센서들로도 표현이 가능하다.
즉, 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 디바이스 각각이 가속도 센서를 통해 충격 이벤트 발생 전 또는 후의 이동값(예; 소정 값으로서 표현되거나 또는 크다/작다로 표현될 수 있음)을 산출하고서, 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 자신의 이동값을 포함시켜 다른 디바이스로 송신하며, 이에 디바이스간에 이 이동값 비교를 통해 부모 노드 또는 자식 노드로서 무선 네트워크 연결 관계를 설정한다. 일례로, 이동값이 상대적으로 작은 디바이스 가 고정된 상태를 갖기에 부모 노드로서, 이동값이 상대적으로 큰 디바이스가 이동 상태를 갖기에 자식 노드로서 설정될 수 있다.
다른 예시로, 디바이스에 모션 센서가 구비된 경우에는 충격 이벤트 발생 전 또는 후의 각 디바이스 모션값을 통해 디바이스간 무선 네트워크 연결 관계를 설정할 수 있다. 여기서, 모션 센서는 사용자에 의한 디바이스 회전, 흔들기, 문자/숫자 표현 등을 감지하는 수단이다.
즉, 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 디바이스 각각이 모션 센서를 통해 충격 이벤트 발생 전 또는 후의 모션값(예; 좌에서 우로 회전값 또는 소정 횟수의 흔들기값 또는 특정 문자/숫자 표현값 등)을 산출하고서, 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 자신의 모션값을 포함시켜 다른 디바이스로 송신하며, 이에 디바이스간에 자신의 모션값과 다른 디바이스 모션값을 토대로 사전에 정의된 모션값에 해당되는 부모 노드 또는 자식 노드로서 무선 네트워크 연결 관계를 설정한다. 일례로, 사용자에 의해 흔들기 1회가 이루어진 디바이스가 부모 노드로서, 사용자에 의해 흔들기 2회가 이루어진 디바이스가 자식 노드로서 설정될 수 있으며, 다른 예시로 'P'의 모션을 감지한 디바이스는 부모가 되고 'C'의 모션을 감지한 디바이스는 자식 디바이스로 동작될 수 있는 것이다.
또 다른 예시로, 디바이스에 음성 센서(음성 인식기) 또는 음향 센서(음향 측정기)가 구비된 경우에는 충격 이벤트 발생 전 또는 후의 각 디바이스 음성값(또는 음향값)을 통해 디바이스간 무선 네트워크 연결 관계를 설정할 수 있다. 여기서, 음성 센서는 디바이스에 입력되는 사용자 발화 음성 내 단어 등을 인식하는 수 단이고, 음향 센서는 디바이스에 입력되는 음향의 값을 측정하는 수단이다.
즉, 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 디바이스 각각이 음성 센서를 통해 충격 이벤트 발생 전 또는 후의 음성값(예; 부모/자식 등)을 인식하고서, 충격 이벤트 발생 디바이스 탐색 과정에 있어 송신 데이터에 자신의 음성값을 포함시켜 다른 디바이스로 송신하며, 이에 디바이스간에 자신의 음성값과 다른 디바이스 음성값을 토대로 사전에 정의된 음성값에 해당되는 부모 노드 또는 자식 노드로서 무선 네트워크 연결 관계를 설정한다. 일례로, 사용자가 부모라고 발화한 디바이스가 부모 노드로서, 사용자가 자식이라고 발화한 디바이스가 자식 노드로서 설정될 수 있다.
한편, 위에서 설명했듯이 디바이스는 타이머 기반 시간 또는 절대 시간을 기준으로 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색하는 과정을 수행한다.
그런데, 시간 구동을 위한 모든 하드웨어 클럭이 오차를 갖기에 충격 이벤트 발생 시점 이후로 시간이 경과될 수록 그 오차값이 증가하게 되며, 이러한 오차값 누적으로 인해 같은 시점(동일한 시간대)에 충격이 가해졌지만 디바이스간에 서로 다른 시간에 충격 이벤트가 발생된 다바이스로 잘못 판단할 수 있다.
이에, 본 발명에서는 디바이스가 충격 이벤트 발생 후 하드웨어가 생성하는 시간 구동 클럭의 오차 범위값을 그 경과 시간에 비례해 설정한 디바이스 탐색 오차 허용 범위값에 해당되는 시간 동안에 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색하는 과정을 수행한다. 예컨대 하드웨어 시간 구동 클럭 오차로 인한 디바이스 탐색 문제를 해결할 수 있다. 이를 다음의 [수학식 1]과 같이 표현할 수 있다.
여기서, ε는 시간 오차값, α는 하드웨어 시간 구동 클럭 오차값[ppm], n은 총 디바이스 개수, to는 충격 이벤트 발생 시간(시점), t는 경과 시간, r은 디바이스 탐색 오차 허용 범위값을 각각 나타낸다.
즉, 임의의 디바이스의 절대 시간 대비 오차 범위는 [수학식 1]과 같이 표현되며, 이를 모든 디바이스에 대하여 정리하면 다음의 [수학식 2]와 같다.
상기 [수학식 2]로부터 절대 시간 대비 오차 범위의 최대값/최소값은 다음의 [수학식 3]과 같다.
상기 [수학식 3]을 토대로 임의의 디바이스가 다른 디바이스에 대한 오차값 허용 범위를 계산하면, 이는 발생 오차 범위의 2배가 되어야 되며, 다음의 [수학식 4]와 같다.
도 4는 디바이스 탐색 오차 허용 범위값을 보여주기 위한 일실시예 설명도로서, 임의의 디바이스가 't0' 시간에 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색하는데 있어 't' 시간에 허용해야 할 오차 범위를 보여주고 있다.
다음으로, 본 발명의 제2 실시예, 예컨대 디바이스에 충격이 가해지는 경우에 응용 프로그램의 설정/실행에 관한 해당 제어를 수행하는 '디바이스 충격을 이용한 응용 프로그램 제어 방법'에 대해 설명하기로 한다.
전술한 바와 같은 본 발명의 제1 실시예[디바이스 충격을 이용한 무선 네트워크 연결 제어 방법]와 마찬가지의 방식으로 디바이스 충격을 이용한 응용 프로그램 제어 방법을 구현할 수 있다.
즉, 본 발명의 제1 실시예 또는 기존 방식에 따라 디바이스간 무선 네트워크 연결이 이루어진 후에[디바이스간에 무선 네트워크가 연결된 상태에서], 각 디바이스에 충격이 가해지는 경우에 각 디바이스는 충격 이벤트 발생을 인지해[바람직하게는 응용프로그램제어 충격 이벤트로 인지] 이 충격 이벤트가 발생한 시간을 기준으로 같은 시점(동일한 시간대)에 충격 이벤트가 발생한 다른 디바이스를 탐색한 다.
그런 후, 각 디바이스는 디바이스 탐색에 성공할 경우에 충격 이벤트 발생 디바이스 탐색 결과를 응용 프로그램에 전달하고, 응용 프로그램은 전달받은 디바이스 탐색 결과 정보에 해당하는 설정 사항의 변경 또는 기능의 실행을 수행한다(예; 두 디바이스간 연결에서의 접근 권한의 변경, 데이터 전송 시작/종료 등).
물론, 본 발명의 제1 실시예에서 설명한 다양한 부가 기법들이 제2 실시예에도 적용 가능함을 당업자 수준에서 쉽게 이해할 수 있을 것이다. 예를 들어, 무선 네트워크에 참여한 각 디바이스가 네트워크 또는 응용 프로그램에서 정의된 네트워크 관계, 역할 등을 차별적으로 설정(부여)받을 수 있다.
마지막으로, 본 발명의 제1 실시예 및 제2 실시예의 적용 예시를 구체적으로 설명하기로 한다.
앞서 언급한 바와 같이 본 발명은 센서 네트워크 등과 같은 무선 네트워크와, 스마트폰, 휴대폰 등과 같은 모바일 디바이스, 무선 USB 메모리, 스마트 카드, MP3 플레이어, PMP 플레이어 등과 같은 미디어 장치, 라디오, 노트북, 무선 콘트롤러(모트) 등의 무선 통신을 기반으로 하는 모든 제품에 활용될 수 있으며, 디바이스간 P2P 또는 M2M(machine to machine) 등의 시스템, 서비스, 솔루션 등에 적용될 수 있다.
구체적인 예를 들면, 본 발명이 센서 네트워크에 적용되는 경우에 전문가가 아닌 일반 사용자도 디바이스간의 네트워크 라우팅 경로를 간단히 지정할 수 있게 되며, 이를 통해 고정된 통신 환경에서의 에너지 효율성을 향상시킬 수 있으며, 사 용자가 원하는 형태의 네트워크 구성을 이루어 낼 수 있다. 이는 간단하게 사용자가 직접 설치해 사용하는 센서 네트워크 키트와 같은 제품으로 생산/판매될 수 있다.
한편, 본 발명이 응용 프로그램에 적용되는 경우에 각각의 디바이스에 사용자가 다른 임무를 손쉽게 부여할 수 있으며, 이는 실시간으로 반영되어 디바이스의 해당 어플리케이션이 동작될 수 있다.
한편, 본 발명이 모바일 디바이스간 P2P 연결에 적용되는 경우에 모바일 디바이스간 충격 발생을 통해 해당 디바이스들이 근거리 무선 통신 연결을 생성할 수 있으며, 이를 통해 네트워크 프로그램의 인프라를 생성, 제공해 줄 수 있다. 이는 기존 방식이 모든 근접 디바이스를 탐색해 선택하는 것에 비해 사용자의 무선 통신 연결 의지를 보다 제대로 표현할 수 있어 안전한 P2P 연결을 보장할 수 있다. 또한, 본 발명에서 제시한 다양한 부가 기법들을 통해 사용자의 확장된 제어 의사를 표현해 모바일 디바이스의 기타 인터페이스에 대한 조작없이도 사용자가 원하는 동작을 수행할 수 있다.
한편, 본 발명이 M2M 연결에 적용되는 경우에도 P2P 연결과 동일한 효과를 얻을 수 있으며, 예를 들어 본 발명에 따라 모바일 디바이스와 디스플레이 디바이스가 무선 네트워크 연결이 생성되는 경우에 모바일 디바이스에서 재생하는 컨텐츠 화면을 디스플레이 디바이스로 전송하는 방식으로 활용할 수 있다.
한편, 본 발명이 무선 USB 메모리에 적용되는 경우에 동글과 본체로 나누어져 둘간에 통신하는 기존 방식에서 USB를 지원하는 다른 디바이스와의 충격(접촉) 을 통해 연결하는 방식으로 변경할 수 있으며, 이를 활용한 예로서 수많은 컴퓨터(PC)가 존재하는 환경에서도 사용자는 자신이 연결하고자 하는 컴퓨터와 USB 기기와의 간단한 충격 이벤트를 발생시킴으로서 원하는 무선 네트워크 연결을 생성할 수 있게 된다. 예컨대, 기존 방식의 WPAN의 경우에는 수많은 컴퓨터를 통해 USB 메모리로 접근 시도할 수 있기에 그 보안성과 효율성의 문제가 있으며, 동글을 이용한 기존 방식은 고정된 환경이 아닌 경우에 네트워크 연결 시 마다 동글을 직접 연결해야 되는 작업이 필요하기에, 이는 실질적으로 사용자에게 유선 연결과 별반 차이가 없다고도 할 수 있으며, 이러한 점에 있어 본 발명에서 제시한 기술 내용을 통해 개선된 점을 확인할 수 있다
한편, 본 발명이 MP3 플레이어에 적용되는 예로서, M2M 연결을 통해 MP3 플레이어에서 재생한 컨텐츠 사운드를 별도의 스피커를 통해 사용자에게 음악을 제공할 수 있다.
한편, 본 발명이 스마트 카드에 적용되는 경우에 스마트 카드 접속을 제어하는 도구로서 하나의 보안 장치로 활용될 수 있으며, 다양한 제어 입력을 통해 스마트 카드와 스마트 카드간의 거래 등에 활용될 수 있다.
다만, 본 발명을 현재 출시된 제품에 적용하는데 있어 모든 디바이스에서 무선 네트워크 연결에 관한 하드웨어적인 장치의 지원이 필요하다는 점을 고려하면, 우선적으로 적용될 분야는 이기종 디바이스간 연결보다는 단일 디바이스간 연결 분야, 하드웨어적 기능 지원(예; 기기 변경 등)이 상대적으로 느리거나 개개인의 투자가 필요한 모바일 등의 개인화 디바이스보다는 새롭게 구축/판매되는 센서 네트 워크 등과 같은 지역적이고 닫힌 네트워크 특성을 갖는 분야에 적용되는 것이 비지니스 모델 측면에 있어 보다 유리할 것이다.
한편, 전술한 바와 같은 본 발명의 다양한 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.