상기의 기술적 과제를 이루기 위한, 본 발명에 의한 접촉 기반의 서비스 제공 방법은 (a) 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당되는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정하는 단계; (b) 상기 다른 기기와의 서비스 실행 여부를 결정하기 위하여 적어도 둘의 실행등급들 중 하나를 선택할 수 있도록 구비하고, 사용자의 입력에 의하여 하나의 실행등급을 설정하는 단계; (c) 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하는 단계; (d) 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상 대방 기기와 상호작용하여 제공될 서비스를 확인하는 단계; (e) 상기 설정된 실행 등급에 따라 상기 상대방 기기에 대해 확인된 서비스의 실행여부를 결정하는 단계; 및 (f) 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 상기 서비스를 수행하는 단계를 포함한다.
상기의 다른 기술적 과제를 이루기 위한, 본 발명에 의한 접촉 기반의 서비스 제공 방법은 (a) 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당하는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정하는 단계; (b) 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하는 단계; (c) 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상대방 기기와 상호작용하여 제공될 서비스를 확인하는 단계; (d) 상기 연결된 기기와의 관계에서 어느 기기가 마스터 또는 슬레이브인가를 결정하는 단계; (e) 상기 연결된 기기와의 관계에서 마스터와 슬레이브가 결정되면, 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신하는 단계; 및 (f) 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 서비스를 수행하는 단계를 포함한다.
상기의 또 다른 기술적 과제를 이루기 위한, 본 발명에 의한 접촉 기반의 서비스 제공 장치는 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당하는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정하는 서비스설정부; 상기 다른 기기와의 서비스 실행 여부를 결정하 기 위하여 적어도 둘의 실행등급들 중 하나를 선택할 수 있도록 구비하고, 사용자의 입력에 의하여 하나의 실행등급을 설정하는 실행등급설정부; 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하고, 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상대방 기기와 상호작용하여 제공될 서비스를 확인한 다음 상기 사용자에 의하여 선택된 실행등급에 따라 상기 상대방 기기에 대해 확인된 서비스의 실행여부를 결정하는 서비스결정부; 및 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 상기 서비스를 수행하는 서비스실행부를 포함한다.
상기의 또 다른 기술적 과제를 이루기 위한, 본 발명에 의한 접촉 기반의 서비스 제공 장치는 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당하는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정하는 서비스설정부; 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하고, 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상대방 기기와 상호작용하여 제공될 서비스를 확인하는 서비스결정부; 및 상기 연결된 기기와의 관계에서 어느 기기가 마스터 또는 슬레이브인가를 결정한 다음, 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신하여, 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 서비스를 수행하는 서비스실행부;를 포함한다.
상기의 또 다른 기술적 과제를 이루기 위한, 본 발명에 의한 복수 개의 기기가 상호작용하여 서비스를 제공하는 서비스 제공 시스템에 있어서, 상기 각 기기는 적어도 하나의 생물체가 타 기기와 상기 기기를 접촉하는 경우, 상기 생물체를 통신채널로 하여 상기 타 기기와 정보를 송수신하는 접촉부; 상기 송수신되는 정보를 포함하는 접촉에 따른 컨텍스트 정보를 수집하는 컨텍스트 수집부; 상기 수집된 컨텍스트 정보를 기초로, 상기 타 기기와 상호 작용하여 제공할 서비스를 결정하는 서비스 결정부; 및 상기 결정된 서비스에 해당되는 작업을 실행하는 서비스 실행부를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 방법 및 장치에 대해 상세히 설명한다.
블루투스의 경우, 사용자가 PDA 상에 있는 사진을 프린트하기를 원한다면, 사용자는 망을 탐색해야 하며, 발견된 망 내에 사용가능한 장치가 있는지를 탐색하여, 프린터를 선택하고, 선택된 프린터에 PDA 장치를 연결한다. 그 다음, 프린트할 사진을 선택해야 하며, 프린트 메뉴를 선택해야 한다. 마지막으로, 망 연결을 해제하는 것이다. 이러한 많은 동작은 사전 설정에 의해 줄어들 수 있으며 장치 메뉴상에서 단지 몇 개의 버튼 클릭에 의해 설정되지만, 이것들은 사용자의 집중, 시간, 개입이 필요한 것이며, 이러한 사용 방법에 대한 숙지가 필요하다. 이러한 동작에 있어서 필요한 사용자의 개입은 사용자가 원하는 것에 대한 컨텍스트 정보를 전달하기 위해 필요하다. 상술한 예에서, 그 작업이 PDA에 있는 사진을 프린팅하는 동작인 상술한 예에서, 그 서비스를 위해서 필요한 다음과 같은 컨텍스트 정보가 있 었다. 첫째, 프린터를 사용하기 위한 권한인 사용자의 인증, 둘째, PDA와 프린터였던 장치의 선택, 셋째, 프린팅이었던 서비스의 선택, 넷째, 프린팅될 특정 파일이라는 관심있는 데이터인 컨텍스트 정보이다.
Anind K. Dey는 컨텍스트를 한 개체가 처해있는 상황를 특징 지우는데 사용될 수 있는 어떠한 정보로서 정의를 내렸다. 여기서 개체는 사용자와 어플리케이션간의 상호작용에 관계되어졌다고 간주되는 사람, 장소 또는 물체이다. 또한, 개체는 그 사용자 및 그 어플리케이션 자체를 포함한다.
시스템이 관련된 정보 또는 서비스를 그 사용자에게 제공하기 위해 컨텍스트를 사용한다면 그 시스템은 컨텍스트 인지적(context-aware)이다. 여기서, 관련됨이라는 것은 그 사용자의 작업에 의존된다.
컨텍스트 인지 컴퓨팅 모델이 추구하는 궁극의 목적 중 하나는 사용자의 직접적인 개입없이 사용자를 위한 적절한 시간에 적절한 것을 행하는 어플리케이션을 가지는 것이다. 이러한 자동적인 컨텍스트-인지적 어플리케이션이 가능하게 만들기 위해서, 사용자의 수작업적인 입력없이 컨텍스트를 추출하는 방법이 필요하다.
사용자가 어떤 물건을 만지는 것으로부터 보다 많은 컨텍스트들을 추출하려는 종래의 기술이 있었다. 한 사람이 접촉하는 것, 그 사람이 언제 접촉하는지는 데스크탑(desktop) 환경에 대해 유용한 정보를 제공할 수 있다. 접촉은 물리적으로 한 장소에서 다른 장소로 데이터를 집고 떨어뜨리는 것에 또한 사용될 수 있다. 두 장치간의 동기화된 접촉 행위는 두 장치들을 무선적으로 연결되는 데에 사용되어 왔다. 이러한 연구들은 접촉 센서에 기반을 둔 접촉 자체에 대한 정보를 사용하였 다.
그러나, 짐머만(Zimmerman)은 인체가 전달매체(transmission medium)로서 사용될 수 있다는 것을 제안하였다. 그 후, 이러한 통신 방식의 데이터 전송 속도(data rate)과 같이 이러한 특징을 향상시키려는 연구 및 다양한 환경에서 이러한 특징을 이해하려는 많은 연구가 진행되었다.
이러한 통신 방법을 사용하면서 단순한 접촉은 보다 많은 정보를 가질 수 있다. 레키모토 등은 환경 객체를 인격화(personalize)하는 착용하는 인증키를 사용하여 연구했다.
도 1은 짐머만에 의해 제안된 신체 내부 간의 데이터 통신(Near filed intra-body communication)의 개념을 나타내는 도면이다. 원래의 짐머만에 의한 인체 내부간의 통신은 330KHz에서 동작하여 2400 bps 데이터 전송률을 가지는 OOK(on off keying) 변조 방식을 사용하였다. 인체 내부간의 신호 전송을 사용한 많은 하드웨어 장치가 개발된 이래, 커트 파트리지(Kurt Partridge)는 180KHz에서 동작하며, 140KHz의 캐리어 주파수를 가지며, 38.4kbps의 전송률을 가지는 FSK(frequency shift keying) 변조 방식를 사용하였다. NTT 도꼬모(Docomo)의 ElectrauraNet는 캐리어 주파수 없이 전자 광학(electro-optic) 센서를 가지고 NRZ(non return to zero) 신호 전송을 사용하여 10Mbps나 되는 데이터 전송률을 달성하였다. 그러나, 이러한 시스템의 크기는 15 by 15 by 80 mm만큼 크며, 전력 소모도 전자 광학 센서로 인해 650mW 만큼 컸다. 그들이 전자 광한 센서를 사용한 이유는 100메가 옴을 초과하는 극도로 높은 입력 임피던스를 가졌고, 그 대역폭도 초광대역(ultrawide bandwidth)을 가지고 있기 때문이다.
도 2는 본 발명의 일실시예에 따른 접촉 기반 서비스의 개념을 나타내기 위한 도면이다. 도 2를 참조하면, 사용자가 카메라와 프린터를 손으로 접촉함으로써, 카메라에 있는 사용자가 프린팅되기를 원하는 사진 파일이 인체를 통하여 프린터에 전송되고, 전송된 사진 파일이 출력된다는 것이다.
도 3은 본 발명의 일실시예에 따른 접촉 기반의 서비스 제공 장치의 구성을 나타내는 블록도로서, 본 실시예에 따른 장치는 서비스설정부(300), 실행등급설정부(310), 서비스결정부(320) 및 서비스실행부(330)을 포함하여 이루어진다.
서비스설정부(300)는 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당하는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정한다.
실행등급설정부(310)는 상기 다른 기기와의 서비스 실행 여부를 결정하기 위하여 적어도 둘의 실행등급들 중 하나를 선택할 수 있도록 구비하고, 사용자의 입력에 의하여 하나의 실행등급을 설정한다. 여기서, 실행등급의 예로는, 상기 각 기기별로 설정된 서비스에 대해, 모든 서비스를 수행할 수 있는 등급(High), 특별히 지정된 서비스만을 실행할 수 있는 등급(Normal), 사용자가 별도의 인터페이스를 통하여 특정 서비스를 선택하도록 하여 실행할 수 있는 등급(Low) 및 모든 서비스를 실행하지 않도록 하는 등급(None)으로 구분되는 것을 들 수 있다. 또 다른 실행 등급의 예로는, 상기 생물체를 통신채널로 하여 연결될 각 기기와의 관계에서 각 서비스가 범용적으로 적용되는 자명한 상호작용의 정도에 따라 상기 각 서비스를 상기 실행등급과 매칭하여 실행의 우선순위가 결정되는 것을 들 수 있다.
서비스결정부(320)는 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하고, 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상대방 기기와 상호작용하여 제공될 서비스를 확인한 다음 상기 사용자에 의하여 선택된 실행등급에 따라 상기 상대방 기기에 대해 확인된 서비스의 실행여부를 결정한다. 여기서, 서비스 결정부(320)의 결정 방법의 구체적인 예로는 상기 생물체를 통신채널로 하여 연결될 각 기기별로 제공될 서비스별로 상기 실행등급들 중 어느 하나와 매칭되어 있으며, 상기 사용자에 의하여 설정되는 실행등급에 따라 서비스의 실행 여부가 결정되는 것을 들 수 있다. 본 명세서에서는 기기와 관련된 식별자를 나타내는 용어로서, 기기 식별자, 기능 식별자를 사용한다. 기기 식별자는 기기의 속성을 나타내는 식별자이다. 예컨대, 기기가 카메라인 경우라면 카메라임을 나타내는 식별자가 기기 식별자에 해당된다. PDA와 같이 MP3 재생, 동영상 재생, 웹 브라우징 등 여러 가지 기능을 구비한 다 기능 장치가 상대방 기기라면, 상기 수신되는 기기 식별자를 기초로 상대방 기기가 어떠한 기능들을 수행할 수 있다는 컨텍스트는 확보할 수 있지만, 이 기기 식별자만을 가지고는 현재 활성화된 기능이 무엇인지는 알 수 없는 것이 일반적이다. 이와 같이 상대방 기기가 다기능 기기인 경우라면, 활성화된 기능의 기능 식별자까지 확보하는 것이 컨텍스트 활용 및 직관적인 서비스 제공의 정확도 측면에서 유리할 수 있다. 따라서, 본 명세서에서는 기기 식별자, 기능 식별자를 구분하여 사용한다. 다만, 단일 기능을 가진 기기인 경우 기기 식별자 자체가 기능 식별자에 해당됨은 이 분야에 종사하는 자라면 충분히 이해할 수 있다. 자세한 내용은 도 4를 참조하여 후술한다.
서비스실행부(330)는 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 상기 서비스를 수행한다. 즉, 서비스실행부(330)는 상기 연결된 기기와의 관계에서 어느 기기가 마스터 또는 슬레이브인가를 결정한 다음, 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신하여, 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 서비스를 수행한다.
한편, 두 기기간에 통신 방식 및 서비스 제공에 있어서, 마스터/슬레이브 방식을 사용하여 본 실시예를 구현하는 경우에는, 서비스설정부(300)는 상기 연결될 수 있는 복수 기기와 관계에서, 자신과 다른 기기가 서로 연결되었을 때 어느 기기가 마스터 또는 슬레이브인가를 확인하기 위한 정보를 구비한다. 그 다음, 서비스결정부(300)는 상기 생물체를 통신채널로 하여 연결된 기기들에 대해 마스터와 슬레이브가 결정되면, 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신하여 두 기기 간에 결정된 서비스를 수행한다. 이 경우의 구체적인 통신 방식의 예는 다음과 같다. 마스터는 상기 슬레이브에게 데이터 전송이 일어날 것이라는 것을 알린 다음, 상기 슬레이브가 송신할 것이 있는지를 일정한 주기로 질의하고, 상기 마스터가 상기 슬레이브로부터의 데이터 송신을 허용하면 상기 슬레이브는 상기 마스터로 데이터를 송신한 다. 마스터/슬레이브의 결정 방법의 예로는 다음과 같다. 첫째, 프로세서의 처리 전력(processing power), 램 사이즈 등의 자원을 계산하여 보다 성능이 높은(powerful) 장치가 마스터가 된다. 둘째, 주된 신호원(signal source) 또는 서비스 제공자(service provider)인지를 판단하여, 주된 신호원 또는 서비스 제공자가 마스터가 된다. 셋째, 배터리 또는 전력선(line power)에 의해 동작되는지를 의미하는 전력 자원을 고려하여, 배터리로 동작되는 장치가 마스터가 된다. 넷째, 상기 생물체를 통신채널로 하여 기기들이 연결되었을 때 기기 식별자를 가장 먼저 송신한 측이 마스터로 설정되는 것이다. 다만, 이러한 방식 말고도 다양하게 마스터/슬레이브를 결정하는 방식이 있으므로, 반드시 상술한 예에 한정되는 것은 아니다.
도 4는 본 발명의 일실시예에 따른 서비스 제공 시스템의 구성을 나타내는 블록도로서, 본 실시예에 따른 시스템은 제1 기기(400) 및 제2 기기(450)을 구비하고, 적어도 하나의 생물체(480)가 개입된다.
제1 기기(400)는 도 4를 참조하면, 접촉부(402), 컨텍스트 수집부(404), 서비스결정부(406) 및 서비스실행부(408)를 포함하여 이루어진다. 제2 기기(400)도 마찬가지의 구성을 가지고 있다.
접촉부(402)는 생물체(480)가 제2 기기(450)와 제1 기기(400)를 접촉하는 경우, 상기 생물체(480)를 통신채널로 하여 제2 기기(450)과 소정의 정보(S1)를 포함하는 전기신호를 송수신한다.
컨텍스트수집부(404)는 접촉에 따른 컨텍스트 정보를 수집한다. 여기서, 컨텍스트에 해당되는 예로는, 접촉이 이루어진 시점/장소, 상기 생물체(480)의 식별 자, 제2 기기(450)의 기기 식별자, 접촉시 제2 기기(450)의 상태, 제1 기기(400)의 식별자 및 접촉시 제1 기기(400)의 상태 등을 들 수 있으나, 반드시 이에 한정되는 것은 아니다. 제2 기기(450)의 기기 식별자, 접촉시 제2 기기(450)의 상태에 대한 정보를 획득하는 방법의 예로는, 접촉부에 의해 수신되는 전기신호에 제2 기기(450)의 기기 식별자, 접촉시 제2 기기(450)의 상태에 대한 정보가 포함되는 것을 들 수 있다. 즉, 제2 기기(450)의 접촉부(미도시)가 제1 기기(400)의 접촉부(402)에게 제 2 기기(450)의 기기 식별자, 접촉시 제2 기기(450)의 상태에 대한 정보를 생물체(480)를 통신채널로 하여 제공하는 것이다.
한편, 기기의 상태의 예로는, 활성화된 기능, 활성화된 자원을 들 수 있으며, 활성화된 자원의 예로는 활성화된 파일의 종류, 활성화된 채널을 들 수 있으나 반드시 이에 한정되는 것은 아니다. 다 기능 기기인 경우에는 기기 식별자 뿐만 아니라 상기 기기에서 활성화된 기능에 대한 정보인 기능 식별자도 제공하는 것이 컨텍트스 활용면에서 바람직할 수 있기 때문이다. 예컨대, 제2 기기(450)가 PDA 기기인 경우라면 제2 기기(450)는 접촉부(402)에 기기 식별자 및 활성화된 기능의 기능 식별자까지 포함하는 정보(S1)를 제공하면, 컨텍스트 수집부(404)는 이를 포함하는 컨텍스트 정보를 서비스 결정부(406)에 제공하게 되며, 이로서 직관적인 서비스 결정에 정확성을 확보할 수 있게 된다.
컨텍스트 수집부(404)는 생물체를 통하여 수신되는 정보(S1), 서비스 실행부(408)로부터 제공되는 정보(S4), 각종 주변 장치(미도시)로부터 제공되는 정보를 수집하는 방법으로 컨텍스트 정보를 수집하는 것이다. 참조 부호 S2에는 참조 부호 S1에 포함된 제2 기기(450)의 기기 식별자, 상태에 대한 정보가 포함될 수 있으며, 참조 부호 S4에는 제1 기기(400)의 기기 식별자, 상태에 대한 정보가 포함될 수 있으며, 각종 주변 장치(미도시)로부터는 접촉시의 시간/장소 등이 확보될 수 있다. 마찬가지로 컨텍스트 수집부(404)는 수집된 제1 기기(400)의 컨텍스트 정보(S3)를 접촉부(402)에 제공하고, 접촉부(402)는 생물체(480)를 통한 통신으로 제2 기기(450)에 제공함으로써 제2 기기(450)의 직관적인 서비스 수행을 정확히 할 수 있도록 한다.
서비스결정부(406)는 상기 수집된 컨텍스트 정보를 기초로, 상기 제2 기기(450)와 상호 작용하여 제공할 서비스를 결정한다. 그 후, 서비스결정부(406)는 결정된 서비스를 위해 제1 기기(400)가 수행해야 하는 작업에 대한 명령(S7)을 서비스실행부(408)에 내린다. 여기서, 서비스결정 방법의 예로는, 컨텍스트와 이에 대응되는 서비스를 나타내는 컨텍스트 인지 행렬을 미리 구비하고, 상기 수집된 컨텍스트 정보 및 상기 컨텍스트 인지 행렬을 기초로, 상기 제공할 서비스를 결정하는 것을 들 수 있으나 반드시 이에 한정되는 것은 아니다. 컨텍스트 인지 행렬의 구체적인 설명은 후술한다.
서비스실행부(408)는 도 4를 참조하면 데이터저장부(410), 출력부(420), 입력부(414), 통신부(416)를 포함하지만, 제1 기기(400)의 속성에 따라 이러한 구성이 제외될 수도 있고 다른 구성이 추가될 수도 있음은 이 업계에 종사하는 자라면 충분히 이해할 수 있다. 서비스실행부(408)는 상기 결정된 서비스에 해당되는 작업을 데이터저장부(410), 출력부(420), 입력부(414), 통신부(416)를 이용하여 실행한 다. 데이터저장부(410)는 상기 결정된 서비스의 실행에 필요한 서비스 데이터 등을 저장한다. 출력부(420)는 기기의 속성에 따라 스피커, 디스플레이 유닛를 구비한다. 입력부(414)는 기기의 속성에 따라 입력 패널, 녹음 유닛, 촬영 유닛 등을 구비한다. 통신부(416)는 유/무선 통신 기능을 위한 유닛이다.
한편, 상기 결정된 서비스의 실행에 필요한 서비스 데이터는 제1 기기(400)의 통신부(416) 및 제2 기기(450)의 통신부(미도시) 간의 일반적인 유/무선 통신을 통하여 송수신될 수도 있지만, 제1 기기(400)의 접촉부(402) 및 제2 기기(450)의 접촉부(미도시)에 의해 생물체(480)의 통신 채널을 이용하는 것이 사용자 편의 면에서 바람직하다. 이 경우, 서비스실행부(408)는 상기 서비스 데이터(S8, S9)를 상기 접촉부에 제공하거나 상기 접촉부(402)로부터 제공받아 작업을 수행한다.
구체적인 예를 들어 본 발명에 따른 접촉 기반의 서비스 제공 시스템을 설명하면 다음과 같다. 첫째, 제1 기기(400)가 스피커를 포함하는 가정용 오디오와 같은 고정형 오디오 재생 기기이고, 제2 기기(450)가 MP3 플레이어와 같은 휴대용 오디오 재생 기기인 경우이다. 즉, 이 경우 사용자가 MP3를 듣다가 집에 와서 오디오를 만졌을 경우, MP3 플레이어를 통해 듣던 음악이 오디오를 통하여 재생되는 것이다. 둘째, 제1 기기(400)가 TV와 같은 고정형 방송 수신 기기이고, 제2 기기(450)가 디지털 멀티미디어 방송(DMB) TV와 같은 휴대용 방송 수신 기기인 경우이다. 이 경우, DMB TV를 보다가 집에 와서 TV를 만졌을 경우, DMB TV를 통하여 보던 채널이 그대로 TV를 통해 사용자에게 제공되는 것이다. 셋째, 제1 기기(400)가 TV와 같은 고정형 동영상 재생 장치이고, 제2 기기(450)가 캠코더와 같은 휴대용 동영상 촬영 장치인 경우이다. 이 경우, 밖에서 동영상을 캠코더로 촬영한 후 집에 와서 촬영된 동영상을 재생하면서 TV를 만지면 인체통신을 통해 네트워크를 형성해 무선 1394로 캠코더에서 동영상이 캠코더에서 TV로 전송되어 재생되는 것이다.
한편, 접촉부(402)가 사용자와 같은 생물체(480)를 통신채널로 하여, 제2 기기(450)의 접촉부(미도시)와 전기적인 신호를 송수신해야 하는데, 그 중 정의되어야 할 것이, 물리 신호(Physical Signaling) 전송 방법, 데이터 전송(Data transfer) 방법, 망 관리(Network management) 방법 등이 정의되어야 한다.
첫째, 물리 신호 전송 방법을 설명한다. 물리 신호 전송 방법으로는 상술한 NRZ 신호 등의 다양한 신호 전송 방식이 사용될 수 있으며, 본 실시예에 대한 실험에서는, 전자 센서를 기반으로 NRZ 신호 전송을 이용하여 1Mbps로 신호를 송수신하는 것이 달성되었다. 도 5a는 본 발명의 일실시예에 따른 신체 내부간 송수신 시스템을 나타낸다. 마이크로콘트롤러의 범용 비동기 송수신 장치(universal asynchronous receiver transceiver : UART) 포트의 출력신호가 사용되었다. 신호의 크기는 3V이고, 데이터 전송 속도는 멘체스터 코딩일 때 1Mbps이다. 수신 지점에서 측정되는 신호는 약 100 mV peak to peak였다. 도 5b는 도 5a의 시스템의 수신기의 다양한 단에서 측정된 신호를 나타내는 파형도이다. 위로부터 각각 수신기 입력, 필터 출력, 증폭기 출력, CDR 출력의 파형을 나타낸다.
둘째, 데이터 전송 방법을 설명한다. 신체 내부 간의 통신에 있어서, 광대역 시그널링은 하나의 통신 채널을 가진다. 이는 송수신이 동시에 일어날 수 없다는 것을 의미한다. 따라서, 데이터 충돌(data collision)을 피하기 위한 통신 프로토 콜이 필요한다. 이를 위해 CSMA(channel sensing multiple access), TDMA(time division multiple access), 마스터/슬레이브 구조(Master / Slave structure) 등과 같은 다양한 전략이 사용될 수 있다. 그러나, CSMA는 데이터 전송이 일어나는지를 감지하기 위한 부가적인 하드웨어가 요구되며, TDMA 기법도 고품질의 동기화된 클럭(clock)이 필요하므로 이를 위한 부가적인 하드웨어가 요구된다. 따라서, 이러한 관점에서는, 마스터/슬레이브 방식을 이용한 하프 듀플렉스 통신이 TAP에 적합할 수 있다.
셋째, 망 관리 방법을 설명한다. TAP를 위한 망 연결은 자주 발생되는 경향이 있으며, 그 주기도 상대적으로 짧다. 게다가, 망의 구성원은 항상 변화하는 경향이 있다. 따라서, 이러한 관점에서는 ad-hoc 망이 TAP에 적합할 수 있다.
이렇게 마스터/슬레이브 방식이며, ad-hoc 망이 사용되는 것을 전제로 하였을 때, 도 4의 실시예에 대한 설명을 부가하면 다음과 같다.
접촉부(402)는 제2 기기(450)로 자신의 기능 식별자를 포함하는 전기적인 신호를 송신하고, 제2 기기(450)로부터 제2 기기(450)의 기능 식별자를 포함하는 전기적인 신호를 수신한다. 즉, 아직, 망 연결이 되지 않은 접촉부(402)는 초당 2회 컨피겨레이션(configuration) 패킷을 송신한다. 이 패킷은 그 제1 기기(200)의 기능(function) 식별자(identifier)를 포함한다. 여기서, 기능 식별자는 지능 장치(intelligent device)의 기능을 의미한다. 또한, 컨피겨레이션 패킷이 수신될 때, 수신기는 그 자신의 컨피겨레이션 패킷을 송신한다. 패킷 구조는 헤더와 데이터로 이루어진다. 헤더는 패킷 번호, 오류를 감지하기 위한 CRC 코드(cyclic redundancy check code), 목적지 주소, 이 패킷이 데이터 패킷인지 ACK(acknowledgment) 및 NACK(No acknowledgement)를 포함하는 제어 패킷인지를 나타내는 제어코드에 대한 정보를 포함한다.
서비스결정부(406)은 제1 기기(400)과 연결될 수 있는 다른 기기의 종류 별로 마스터/슬레이브여부를 미리 설정하고, 상기 설정된 결과, 상기 수신된 제2 기기(450)의 기능 식별자 및 제1 기기(400)의 기능 식별자를 기초로, 제1 기기(400)가 마스터인지를 결정한다. 마스터/슬레이브여부를 미리 설정하는 방법의 예로는 상술한 컨텍스트 인지 행렬에 각 컨텍스트에 대한 두 장치의 마스터/슬레이브여부의 정보를 포함시키는 것을 들 수 있다. 이러한 과정으로 마스터가 결정되면, 그 다음의 전송은 마스터 장치에 의해 접촉부(402)를 통하여 시작된다.
즉, 접촉부(402)는 상기 결정된 마스터/슬레이브 결과에 따라, 마스터/슬레이브 전송 방식으로 상기 제2 기기(450)와 서비스 데이터를 포함하는 전기적인 신호를 송수신한다. 마스터/슬레이브 방식에 따라 통신은 항상 마스터에서 시작되며, 슬레이브에 의해 응답된다. 마스터가 보내고 슬레이브가 받을 때, 마스터는 슬레이브에게 데이터 전송이 일어날 것이라는 것을 알리고 전송을 시작한다. 슬레이브가 송신하고 마스터가 수신할 때, 마스터는 슬레이브에게 미리 설정된 빈도수(예컨대, 초당 2회)로 슬리에브가 송신할 것을 가지고 있는지를 질의(query)한다. 마스터가 허용(permit)하면, 슬레이브는 전송을 시작한다.
서비스 데이터가 결정되는 방법의 예로는, 현재 활성화된 파일이 서비스 데이터로 결정되는 방법, 서비스 데이터를 선택하는 별도의 수단을 두는 방법을 들 수 있다. 전자의 방법을 구체적으로 예시하면, 다음과 같다. MP3 플레이어와 MP3 플레이어가 연결된 경우에는 현재 실행되는 플레이리스트(Play list)가 서비스데이터로 선택되어 상대편 MP3 플레이어로 송신되는 것이며, 디지털 카메라와 TV의 경우에는 현재 LCD 창에 활성화된 사진 파일이 서비스데이터로 선택되어 TV로 전송되는 것을 들 수 있다.
도 6은 본 발명의 일실시예에 따른 컨텍스트 인지적 행렬을 나타낸다. 디지털 카메라와 프린터를 사용자가 접촉하였을 경우에 대해 도 6을 참조하여 설명하면 다음과 같다. 도 6의 컨텍스트 인지적 행렬에서, 화살표 방향 또는 F라고 기재된 부분이 두 장치 중 어느 것이 마스터인지를 나타낸다. 화살표 방향의 장치가 마스터이며, F의 경우는 컨피겨레이션 패킷을 먼저 송시한 장치가 마스터가 된다. 디지털 카메라와 프린터의 예에서는 도 6을 참조하면, 프린터가 마스터가 된다. 또한 두 장치 간 요구되는 서비스 행위는 도 6의 행렬 내용(content)에 기재되어 있다. 도 6을 참조하면, 상술한 예에서, "Print Photo" 즉, 사진 파일을 프린트하는 행위가 요구되는 서비스 행위로서 결정되는 것이다. 따라서, 디지털 카메라는 사진 데이터 파일을 프린터로 송신한다. 사용자는 단지 디지털 카메라와 프린터를 접촉함으로써 프린트 동작이 실행된다. 즉, touch and play(TAP)가 실행되는 것이다.
컨텍스트 인지적 행렬은 두 지능 응용 장치(intelligent appliance)간의 가장 직관적인 상호 작용이 달성될 수 있도록 구축된다. 이 컨텍스트 행렬은 새로운 장치가 발명될 때, 확장될 수 있다.
한편, 디지털 카메라 및 프린터와 같이, 두 장치간의 자명한 상호작용이 있 는 경우도 있지만, MP3 오디오 및 디지털 카메라와 같이, 두 장치 간에 직관적인 상호작용이 없는 경우도 있다. 따라서, 사용자가 의도하지 않은 상호작용을 방지하는 일종의 상호 작용 등급이 필요하다. 도 6의 컨텍스트 인지 행렬에 밑줄 친 부분이 상호 작용 등급 A에 해당되는 서비스이며, 밑줄 치지 않은 부분이 상호 작용 등급 B에 해당되는 서비스이다. 도 6의 실시예에서는 상호 작용 등급 A에 해당되는 서비스가 범용(general use)를 위해 충분히 직관적인 서비스이며, 상호 작용 등급 B에 해당되는 서비스는 범용을 위해 충분히 직관적이지는 않으나 여전히 도움이 되는 서비스를 나타낸다. 즉, 상술한 실행 등급 즉, 자동화 레벨이 High, Normal, Low, None과 도 6의 실시예에 따른 상호 작용 등급 A, B를 함께 설명하면 다음과 같다. 사용자가 실행 등급으로 None을 설정하였다면, 두 기기를 접촉하는 경우라도 두 기기는 접촉 기반의 서비스를 사용자에게 제공하지 않는다. 사용자가 실행 등급으로 High를 설정하였다면, 두 기기는 상기 결정된 서비스를 무조건 실행한다. 사용자가 실행 등급으로 Normal을 설정하였다면, 상기 결정된 서비스가 A에 속한다면 실행하는 것이고, B에 속한다면 상기 결정된 서비스를 실행하지 않는 것이다. 사용자가 실행 등급으로 Low를 선택하였다면, 상기 결정된 서비스 뿐만 아니라 두 기기가 제공할 수 있는 모든 서비스를 사용자 인터페이스를 통해 사용자에게 제공하고, 사용자가 이들 서비스 중 실행할 서비스를 직접 결정하는 것이다. 즉, 실행 등급 High는 A 또는 B에 해당되는 서비스라면 실행하는 것으로 결정하는 것이고, 실행 등급 Normal은 A에 해당되는 서비스만 실행하는 것으로 결정하는 것이며, 실행 등급 Low는 사용자가 승인한 서비스에 대해서만 실행하는 것으로 결정하는 것이며, 마지막으로, 실행 등급 None은 접촉 기반 서비스에 기초한 서비스 실행을 하지 않는 것으로 결정하는 것이다.
한 기기가 카메라인 경우 도 6을 참조하여 설명하면 다음과 같다. 도 6을 참조하면, 카메라는 카메라 연결, 슬라이드 쇼, 사진 인쇄, 배경화면 저장이라는 서비스가 매핑된다. 이 중, 사용자가 등급 Normal을 상기 카메라에 포함된 실행등급설정부(310)를 통하여 설정한다면, 이 카메라와 휴대폰(mobile phone)을 사용자가 접촉하였을 때에는, 배경 화면 저장 서비스는 실행되지 않으나, 사용자가 이 카메라와 TV를 접촉하였을 때에는, 이 경우 결정되는 서비스는 상호 작용 등급이 A인 슬라이드 쇼이기 때문에 카메라에서 사진 파일이 TV로 전달되며, TV에서 슬라이드 쇼가 실행되는 것이다. 실행 등급 Low로 설정된 경우라면, 사용자는 카메라의 인터페이스(LCD 및 버튼)를 통하여 상술한 네 가지 서비스 중 허용할 서비스를 선택한다.
본 발명에 따른 서비스는 자동적으로 수행되기 때문에 사용자가 원하지 않는 서비스를 제공할 가능성이 있으며, 이에 대한 해결책의 한 예로, 상술한 바와 같이 실행 등급을 설정하는 방법을 예시하였다. 이 문제는 우리가 하인들에게 얼마만큼의 자율권을 부여할 수 있는 지와 같은 문제이다. 다만, 이는 새로운 기술의 해택을 줄이는 결과를 낳을 수도 있으므로, 자동화 서비스와 보안간의 상충관계(trade-off)에 대한 절충이 필요하다.
도 7은 본 발명을 디지터 카메라, HDTV 및 프린터에 적용시킨 결과를 나타내는 도면이다. 즉, 상술한 프로토콜 기번에 기초하여, 데모 어플리케이션이 실행된 것이다. 데모 어플리케이션 시나리오는 디지털 카메라를 가진 사용자가 HDTV를 접촉하여 카메라의 LCD 표시부와 함께 사진을 볼 수 있는 것이다.
도 8은 본 발명의 일실시예에 따른 접촉 기반 서비스를 제공하는 방법을 나타내는 흐름도이다. 도 8을 참조하면, 본 실시예에 따른 접촉 기반 서비스 제공 방법은 도 3에 도시된 접촉 기반 서비스 제공 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 접촉 기반 서비스 제공 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 접촉 기반 서비스 제공 방법에도 적용된다.
도 8을 참조하면, S800 단계에서, 두 장치의 접촉 기반 서비스를 위한 초기화 작업이 수행된다(S800). 여기서, 초기화 작업에는 생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당되는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정하는 작업, 상기 다른 기기와의 서비스 실행 여부를 결정하기 위하여 적어도 둘의 실행등급들 중 하나를 선택할 수 있도록 구비하고, 사용자의 입력에 의하여 하나의 실행등급을 설정하는 작업이 포함된다.
S810 단계에서, 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신한다.
S820 단계에서, 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상기 상대방 기기와 상호작용하여 제공될 서비스를 확인한다.
S830 단계에서, 상기 설정된 실행 등급에 따라 상기 상대방 기기에 대해 확 인된 서비스의 실행여부를 결정한다.
S840 단계에서, 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 상기 서비스를 수행한다.
한편, 마스터/슬레이브 방식을 사용하는 경우, S820 단계는 상기 연결된 기기와의 관계에서 어느 기기가 마스터 또는 슬레이브인가를 결정하는 단계를 포함하며, S840 단계는 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신하는 단계를 포함한다.
도 9a는 본 발명의 일실시예에 대한 접촉 기반 서비스를 제공하는 장치 및 방법을 실행하는 시스템에 있어서, 간섭 측정(interference measurement)을 실험한 결과를 나타낸다.
도 9b는 도 9a에 대한 실험 결과를 나타내는 그래프이다. 도 9b를 참조하면, 간섭이 1미터 반경내에서 신호가 30dBm만큼 감쇠되는 것을 나타낸다. 이는 본 발명에 따르면 프라이버시 관점에서는 안전하다는 것을 의미한다.
도 10은 본 발명의 일 실시예에 따라, 서비스의 실행등급을 기반으로 접촉기반의 서비스를 제공하는 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당되는 기기와 상호작용하여 사용자에게 제공될 서비스가 설정된다(101). 다른 기기와의 서비스 실행 여부를 결정하기 위하여 적어도 둘의 실행등급들 중 하나를 선택할 수 있도록 구비하고, 사용자의 입력에 의하여 하나의 실행등급이 설정된다(102).
생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신하고(103), 상기 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상대방 기기와 상호작용하여 제공될 서비스를 확인한다(104).
상기 설정된 실행 등급에 따라 상대방 기기에 대해 확인된 서비스의 실행여부가 결정되면(105), 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 상기 서비스를 수행한다(106).
도 11은 본 발명의 다른 실시예에 따라, 기기들간의 데이터 전송방식에 있어서, 데이터 충돌을 피하기 위한 통신 프로토콜로서 M/S 방식을 적용한 예를 보다 구체적으로 설명하기 위한 흐름도이다.
생물체를 통신채널로 하여 연결될 수 있는 복수 기기에 대한 기기 식별자 및 각 기기 식별자에 해당하는 기기와 상호작용하여 사용자에게 제공될 서비스를 설정한다(111). 생물체를 통신채널로 하여 다른 기기와 연결되면, 상기 연결된 상대방 기기로부터 상대방의 기기 식별자를 수신(112)한 다음 상대방 기기 식별자에 대해 설정된 서비스를 확인하여, 상대방 기기와 상호작용하여 제공될 서비스를 확인한다(113).
상기 연결된 기기와의 관계에서 어느 기기가 마스터 또는 슬레이브인가를 결정하고(114), 상기 연결된 기기와의 관계에서 마스터와 슬레이브가 결정되면, 마스터에서 데이터 전송을 시작하고 슬레이브에 의하여 응답하는 마스터/슬레이브 방식으로 기기들간에 신호를 송수신한다(115). 상기 상대방 기기와 실행하기로 결정된 서비스를 제공하기 위하여 필요한 정보를 자동으로 인식하여 서비스를 수행한다(116).
도 10은 실행등급을 중심으로, 도 11은 M/S 방식을 중심으로, 본 발명의 실시예를 설명한 흐름도이며, 도 2 내지 8에서 설명된 본 발명의 구체적인 기술내용을 참조하여 다양하게 구현할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이러한 본원 발명인 방법 및 장치는 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.