KR101389275B1 - 애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치 - Google Patents

애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR101389275B1
KR101389275B1 KR1020117031598A KR20117031598A KR101389275B1 KR 101389275 B1 KR101389275 B1 KR 101389275B1 KR 1020117031598 A KR1020117031598 A KR 1020117031598A KR 20117031598 A KR20117031598 A KR 20117031598A KR 101389275 B1 KR101389275 B1 KR 101389275B1
Authority
KR
South Korea
Prior art keywords
node
message
response message
response
next hop
Prior art date
Application number
KR1020117031598A
Other languages
English (en)
Other versions
KR20120026115A (ko
Inventor
카리 레파넨
미카 카슬린
미코 티로넨
마르쿠 티 트루넨
사미 비타넨
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20120026115A publication Critical patent/KR20120026115A/ko
Application granted granted Critical
Publication of KR101389275B1 publication Critical patent/KR101389275B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0259Targeted advertisements based on store location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/30Services specially adapted for particular environments, situations or purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/023Limited or focused flooding to selected areas of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

애드혹 메시 네트워크를 통해 협력적 응답을 제공하기 위한 접근 방식이 제공된다. 플러딩 메시지에 대한 응답 메시지는 애드혹 네트워크 내에서 무선 노드에 의해 수신된다. 무선 노드는 라우팅 테이블에 대응하는 응답 메시지의 수신의 확인에 대해 모니터하고 모니터링에 기초하여 응답 메시지의 스케쥴된 전송을 초기화한다.

Description

애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING A COLLABORATIVE REPLY OVER AN AD-HOC MESH NETWORK}
관련 출원에 대한 상호 참조
이 출원은 "Method and Apparatus for Providing a Collaborative Reply over an Ad-Hoc Mesh Network" 라는 발명의 명칭으로 2009년 5월 29일에 출원된 미국 특허 출원 제12/475,351호의 이익을 주장하며, 그 모든 내용은 본 명세서에서 참조로서 통합된다.
무선(예컨대 셀룰러) 서비스 공급자와 장치 제조사는 괄목할만한 네트워크 서비스, 애플리케이션, 콘텐트 등을 제공함으로써 소비자에게 유용성과 편리를 제공하고자 꾸준히 도전받고 있다. 로컬 환경에 대한 정보와 콘텍스트를 자동으로 결정하는 장치 및 D2D(device-to-device) 통신 네트워크의 이용도 개발되고 있는 한 분야이다. 그러나 전력 소비, 시그널링 오버헤드, 보안 및 프라이버시와 관련한 기술적 도전은 이러한 개발에 지장을 주고 있다.
그러므로, 로컬 환경에서 정보와 그 연관 콘텍스트를 효율적으로 위치지정(locating)하고 조직화하는 방안이 필요하다.
일 실시예에 따르면, 본 방법은 이웃 무선 노드(a neighboring wireless node)로부터의 플러딩 메시지에 대해 응답 메시지를 수신하는 것을 포함한다. 또한, 이 방법은 수신중인 무선 노드가 응답 메시지와 연관된 라우팅 테이블에 지정되어 있는지 판단하는 것을 포함한다. 이 방법은 만약 수신중인 무선 노드가 라우팅 테이블에 지정된 것이라면 라우팅 테이블내의 다음 수신 무신 노드에 대해 응답 메시지의 전송을 개시하는 것을 더 포함한다. 그리고 이 방법은 만약 수신중인 무선 노드가 라우팅 테이블에 지정되지 않은 것이라면 협력적 응답 프로세스를 개시하는 것을 포함한다.
다른 실시예에 따르면, 본 장치는 적어도 하나의 프로세스와, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하되, 상기 적어도 하나의 메모리와 상기 컴퓨터 프로그램 코드는 상기 적어도 하나의 프로세서와 함께 상기 장치로 하여금 이웃 무선 노드로부터의 플러딩 메시지에 대해 응답 메시지를 수신하도록 한다. 또한 이 장치는 수신중인 무선 노드가 응답 메시지와 연관된 라우팅 테이블내에 지정되어 있는지를 판정하도록 야기된다. 그리고 이 장치는 만약 수신중인 무선 노드가 라우팅 테이블내에 지정되어 있다면 라우팅 테이블내의 다음 수신 무선 노드에 대해 응답 메시지의 전송을 개시하도록 야기된다. 이 장치는 또한 만약 수신중인 무선 노드가 라우팅 테이블에 지정되어 있지 않다면 협력적 응답 프로세스를 개시하도록 야기된다.
다른 실시예에 따르면, 하나 이상의 명령어로 이루어진 하나 이상의 시퀀스를 가지고 있는 컴퓨터-판독가능 저장 매체는, 상기 명령어들이 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 이웃 무선 노드로부터의 플러딩 메시지에 대해 응답 메시지를 수신하도록 한다. 또한 이 장치는 수신중인 무선 노드가 응답 메시지와 연관된 라우팅 테이블내에 지정되어 있는지를 판정하도록 야기된다. 그리고 이 장치는 만약 수신중인 무선 노드가 라우팅 테이블내에 지정되어 있다면 라우팅 테이블내의 다음 수신 무선 노드에 대해 응답 메시지의 전송을 개시하도록 야기된다. 이 장치는 또한 만약 수신중인 무선 노드가 라우팅 테이블에 지정되어 있지 않다면 협력적 응답 프로세스를 개시하도록 야기된다.
일 실시예에 따르면, 본 장치는 이웃 무선 노드로부터의 플러딩 메시지에 대해 응답 메시지를 수신하는 수단을 포함한다. 또한 이 장치는 수신중인 무선 노드가 응답 메시지와 연관된 라우팅 테이블내에 지정되어 있는지를 판정하는 수단을 포함한다. 그리고 이 장치는 만약 수신중인 무선 노드가 라우팅 테이블내에 지정되어 있다면 라우팅 테이블내의 다음 수신 무선 노드에 대해 응답 메시지의 전송을 개시하는 수단을 더 포함한다. 이 장치는 또한 만약 수신중인 무선 노드가 라우팅 테이블에 지정되어 있지 않다면 협력적 응답 프로세스를 개시하는 수단을 더 포함한다.
다른 실시예에 따르면, 본 방법은, 이웃 무선 노드로부터의 플러딩 메시지에 대해 응답 메시지를 수신하고 플러딩 메시지에 대응하는 라우팅 테이블내에 지정된 무선 노드에 의한 응답 메시지 수신을 확인하도록 모니터링하고 라우팅 테이블내에 지정된 다음 수신 무선 노드에 대해 응답 메시지의 전송을 개시하고 이웃 무선 노드들 사이에 익명으로 정보를 공유하기 위한 액세스를 제공하는 것을 포함한다.
또다른 실시예에 따르면, 본 장치는, 이웃 무선 노드로부터의 플러딩 메시지에 대해 응답 메시지를 수신하고 플러딩 메시지에 대응하는 라우팅 테이블내에 지정된 무선 노드에 의한 응답 메시지 수신을 확인하도록 모니터링하고 라우팅 테이블내에 지정된 다음 수신 무선 노드에 대해 응답 메시지의 전송을 개시하고 이웃 무선 노드들 사이에 익명으로 정보를 공유하기 위한 액세스를 제공하는 수단을 포함한다.
본 발명의 또다른 양상들, 특징들 및 이점들은 본 발명을 수행하기에 최적인 방식으로 여겨지는 다수의 특정 실시예 및 구현예를 간단히 예시한 이후의 상세한 설명으로부터 명백하다. 또한 본 발명은 다른 상이한 실시예도 가능한데, 이런 실시예의 세부사항들은 본 발명의 사상과 범주를 벗어남이 없이 다양한 여러가지 측면에서 수정될 수 있다. 따라서 도면과 그 설명도 제한적인 것이 아니라 그 자체가 예시를 위한 것으로 간주되어야 한다.
본 발명의 실시예는 첨부된 도면에 제한적인 형태가 아닌 예시의 형태로서 제공된다.
도 1은 일 실시예에 따라 애드혹 메시 네트워크를 통해 인식 정보를 제공할 수 있는 통신 시스템을 도시한다.
도 2a는 일 실시예에 따라 인식 서비스 모듈을 포함하는 무선 노드의 구성 요소들을 도시한다.
도 2b 내지 도 2e는 여러 가지 실시예에 따른 인식 서비스 모듈의 구성요소들을 도시한다.
도 2f는 일 실시예에 따른 네트워크 계층 메시지 헤더의 데이터 구조를 도시한다.
도 2g는 일 실시예에 따른 D2D 무선 계층의 절전 기법을 도시한다.
도 3a 및 도 3b는 각각 여러 가지 실시예에 따라 플러딩 메시지를 생성하는 프로세스와 애드혹 메시 네트워크를 통해 플러딩 메시지를 수신하는 프로세스의 흐름도를 도시한다.
도 3c는 일 실시예에 따라 이웃 무선 노드의 밀도에 기반하여 플러딩 메시지를 재전송하는 프로세스의 흐름도를 도시한다.
도 4a 및 도 4b는 각각 여러 가지 실시예에 따라 애드혹 메시 네트워크를 통해 유니캐스트 메시지를 생성 및 수신하는 프로세스의 흐름도를 도시한다.
도 5a는 일 실시예에 따라 질의 노드에서 이용되는 메시지 시퀀스 및 프로세스를 예시하는 래더 다이어그램을 도시한다.
도 5b는 일 실시예에 따라 릴레잉 노드에서 이용되는 메시지 시퀀스 및 프로세스를 예시하는 래더 다이어그램을 도시한다.
도 5c는 일 실시예에 따라 릴레잉 노드에서 이용되는 메시지 시퀀스 및 프로세스를 예시하는 래더 다이어그램을 도시한다.
도 6a 및 도 6b는 여러 가지 실시예에 따라 애드혹 메시 네트워크를 통해 인식 정보를 제공하는 프로세스에서 활용되는 사용자 인터페이스를 도시한다.
도 7은 일 실시예에 따라 익명으로 플러딩 메시지를 브로드캐스팅하고 정보를 공유하는 액세스를 제공하는 프로세스의 흐름도를 도시한다.
도 8은 본 발명의 일 실시예를 구현하는데 이용될 수 있는 하드워에를 도시한다.
도 9는 본 발명의 일 실시예를 구현하는데 이용될 수 있는 칩 세트를 도시한다.
도 10은 본 발명의 일 실시예를 구현하는데 이용될 수 있는 이동국(예컨대 핸드셋)을 도시한다.
인식 정보를 제공하는 방법 및 장치가 개시된다. 이후의 설명에서는, 설명을 위해 다양한 특정 세부사항들이 본 발명의 실시예의 완벽한 이해를 제공하기 위해 설정된다. 그러나, 당업자에게는 본 발명의 실시예들이 이러한 특정 세부사항들 없이, 또는 등가의 장치를 이용해 실시될 수 있음이 명확할 것이다. 예를 들어, 본 발명의 실시예들에 대한 불필요한 혼란을 막기 위해, 공지된 구조 및 장치는 블록도의 형태로 도시된다.
본원에서 이용되는 것처럼, "인식 정보"는 로컬 환경에 대한 어떤 정보 및/또는 콘텍스뿐만 아니라 그 로컬 환경내의 사용자와 통신 장치에 대한 어떤 정보 및/또는 콘텍스트도 일컫는다. 예를 들어, 인식 정보는 소셜 네트워크 생성, 상태(presence) 판정, 장치와 연관된 콘텍스트 판정, 광고(advertising), 정보 검색 등의 애플리케이션을 지원하는데 이용될 수 있다. 비록 여러 실시예들이 애드혹 메시 네트워크를 통해 인식 정보를 제공하는 것과 관련하여 설명되었지만, 본원에 설명된 방안은 모든 유형의 통신 시스템이나 네트워크에서 이용될 수 있을 것이다.
도 1은 일 실시예에 따라 애드혹 메시 네트워크를 통해 인식 정보를 제공할 수 있는 통신 시스템을 도시한다. 정보와 콘텍스트는 "인식 정보"를 포함하는데, 이것은 로컬 환경에서 지속적으로 정보를 수집하고 다른 장치와 정보를 교환하기 위해 은유적으로 통신 장치에 "무선의 눈과 귀"를 장착하는 것이다. 그러나, 인식 정보를 제공하는 시스템의 개발은 중요한 기술적 과제를 제기하는데, 특히 인식 정보를 공유하고 인식 정보를 위치지정 및 조직화하는 네트워크의 생성 분야, 인식 정보를 공유하는 커뮤니티의 형성 분야, 인식 정보를 계속 공유도록 되어 있는 장치의 전력 소비 관리 분야, 인식 정보의 이점을 취하도록 애플리케이션을 개발하는 분야, 인식 정보를 공유하는 사용자의 프라이버시와 익명성을 유지하는 분야, 그리고 네트워크를 통한 원치않는 메시지(예컨대 스팸)의 확산 방지 분야 등에서 기술적 과제를 제기한다.
도 1에 도시된 것처럼, 시스템(100)은 오퍼레이터 A(105) 혹은 오퍼레이터 B(107)를 통해 통신 네트워크(103)에 선택적으로 연결되는 하나 이상의 무선 노드(101a-101n)를 포함한다. 무선 노드(101a-101n)는 모바일 핸드셋, 개인용 컴퓨터, 국, 유니트, 디바이스, 멀티미디어 태블릿, 인터넷 노드, 통신기, PDA, 무선 판독 가능 태그(예컨대 NFC 태그, RFID 태그), 혹은 이들의 조합 등을 포함하는 모바일 단말기, 휴대용 단말기 혹은 고정 단말기중 어떤 형태일 수 있다. 또한 무선 노드(101a-101n)는 사용자에 대해 모든 종류의 인터페이스(예컨대 "착용형" 회로)를 지원할 수 있다.
일 실시예에서, 무선 노드(101a-101n)는 인식 정보를 공유하는 애드혹 메시 네트워크(109)를 형성한다. 애드혹 메시 네트워크(109)는 예를 들어 단거리 무선 기술(예컨대 WLAN 혹은 Bluetooth®)를 이용해 생성되는 비접속 및 무서버형 D2D(예컨대 모바일 애드혹 네트워크(MANET))이다. 애드혹 메시 네트워크(109) 내부에서, 각각의 무선 노드(10)는 모바일일 수도 있고, 임의 개수의 다른 무선 노드들(101)의 통신 범위내에 있다. 따라서, 임의의 특정 무선 노드(101)의 통신 범위 내에 있는 무선 노드(101a-101n)의 세트는 과도적인 것이고, 무선 노드(101a-101n)가 어떤 위치에서 다른 위치로 이동함에 따라 변경될 수 있는 것이다.
전술한 바와 같이, 인식 정보를 제공하는 통신 시스템과 네트워크를 개발하는 서비스 공급자와 장치 제조사는 많은 기술적 과제에 직면한다. 예를 들면, 현재의 애드혹 무선통신(예컨대 WLAN 혹은 Bluetooth®)은 접속(예컨대 IP를 통한 접속)하도록 설계되었다. 그러나, 애드혹 메시 네트워크(109)같은 "상시 접속(always on)" 환경에서는, 전력 사용과 확장성 문제 때문에 장시간동안 서로간에 예컨대 IP에 의해 "접속"되는 많은 수의 무선 노드(101a-101n)(예컨대 모바일 핸드셋 장치)를 갖는 것이 실용적이지는 않다. 구체적으로, 대규모 애드혹 네트워크에서의 멀티홉 접속은 상당한 양의 제어 시그널링과 전력을 필요로 하고, 모바일 장치의 배터리를 빠르게 소진시킬 수 있다. 또한, 확장성도 문제거리일 수 있는데, 그 이유는 현재의 애드혹 무선통신은 전형적으로 소정 시간에 지원 가능한 접속의 개수와 관련 시그널링이 제한되어 있기 때문이다. 현재의 애드혹 무선통신의 또다른 단점은 사용자의 프라이버시를 적절히 보호하지 못한다는 것으로, 이것은 현재의 애드혹 무선통신이 사용자의 장치와 연관된 고정형 네트워크 어드레스(예컨대 MAC 어드레스)를 통해 사용자의 신원을 노출하기 때문이다.
이들 문제를 처리하기 위해, 시스템(100)은 무접속 방식으로 인식 정보를 공유하기 위해 애드혹 메시 네트워크(109)를 생성한다. 여기서 사용되는 바와 같이, "무접속"이라는 용어는, 노드(예컨대, 무선 노드(101a))가 송신하고 모든 주변 노드(101a-101n)가 임의의 사전 제어 시그널링을 송신할 필요없이 인식 정보를 수신하는 능력을 말한다. 예컨대, WLAN 애드혹을 통한 송신 제어 프로토콜/IP(TCP/IP)를 이용하는 송신 인식 정보는, TCP 접속을 수립하는 데 사용된 송신 노드와 수신 노드 사이의 양방향 TCP 제어 시그널링 때문에 무접속이 아니다. 인식 정보는, 예를 들어, 사용자 개입 없이 자동으로 무선 노드(101a-101n)에 의해 교환되는 작은 익명 메시지에 제공된다. 여기서 사용되는 바와 같이, "익명"이라는 용어는, 정확한 신원(true identity)이 (예컨대, 사용자에 의해 인증된 사용자 또는 또다른 개체에 의해) 그 메시지에 의도적으로 포함되지 않는 한, 메시지로부터 송신자의 정확한 신원을 추측하는 것이 블가능한 것을 의미한다. 인식 정보의 교환은 무선 노드(101)로부터 브로드캐스팅 무선 노드(101)의 무선부 범위 내에 있는 이웃 무선 노드(101)로의 브로드캐스트 메시지(즉, 폭주하는(flooding) 메시지)로서 발생한다. 이웃하는 무선 노드(101)가 브로드캐스팅된 메시지를 수신하면, 각 수신 무선 노드(101)는 결국 다른 이웃 무선 노드(101)로 그 메시지를 재 브로드캐스팅할 수 있다. 이런 식으로, 원래 브로드캐스팅된 메시지는 애드혹 메시 네트워크(109) 전체에 전파된다. 예시적 실시예에서, 전파의 범위는 거리, 위치, 시간 등의 기준에 의해 제한될 수 있다.
전통적인 시스템과 달리, 그러한 메시지들은 인식 정보를 이동시킬 뿐이며, 두 개의 무선 노드(예컨대, 무선 노드(101a) 및 무선 노드(101b)) 사이에서 콘텐츠(예컨대, 음성, 영상을 포함하는 파일 또는 미디어 등)를 전송하는 것이 아니다. 그 대신, 이 메시지들은 콘텐츠에 대한 포인터 또는 소량의 데이터(예컨대, 존재 또는 콘텍스트 정보)만을 포함하여, 애드혹 메시 네트워크(109)를 통해 전송된 데이터 트래픽을 최소화한다. 그 후 무선 노드(101a-101n)는 다른 통신 채널을 이용하여 (예컨대, 통신 네트워크(103)를 통한 IP를 통해) 콘텐츠에 액세스할 수 있다. 부가하여, 시스템(100)은 모바일 장치가 이동함에 따른 접속의 유지 및 핸드오프, 다수 또는 고밀도의 모바일 장치가 있는 환경에서 접속을 유지하기 위한 높은 수준의 네트워크 리소스가 요구되는 것 등의 루트 설정 및 유지를 위한 전통적 방법(예컨대, 접속 기반 통신 프로토콜)과 관련된 문제를 해소한다. 예컨대, 네트워크로/네트워크로부터 나타나는/사라지는 무선 노드(101)의 이벤트는 애드혹 메시 네트워크(109)에서 임의의 제어 시그널링을 생성하지 않는다. 마찬가지로, 시스템(100)은 질의 노드로 질의에 대한 응답을 라우팅할 필요가 있을 때에만 라우팅 정보를 생성한다. 라우팅 정보는 질의 메시지만을 이용해서 생성된다(즉 라우팅 정보를 생성하는 데에는 제어 시그널링이 이용되지 않는다). 질의 및 후속 응답 프로세스가 완료된 후에, 루트는 잊혀진다. 즉, 시스템(100)의 질의/응답 프로세스는 하나의 노드(101)로부터 다른 노드로 인식 정보를 푸시(push)하는 것이 아니라 명령에 따라 인식 정보를 제공하는 응답을 위한 루트를 공급한다. 예시적 실시예에서, 인식 정보를 보급하는 푸시 모드(예컨대, 정보가 애드혹 메시 네트워크(109)를 통해 발행됨) 및 풀(pull) 모드(예컨대, 정보가 애드혹 메시 네트워크(109)의 다른 노드(101a-101n)로부터 질의됨) 모두 가능하다. 임의의 실시예에서, 동작의 풀 모드는 잠재적 스팸 메시지를 억제하기 위해 푸시 모드 대신 사용될 수 있다.
더욱이, 시스템(100)은 애드혹 메시 네트워크(109)를 통해 통신하는 무선 노드들(101)의 전력 소모를 최적화하여 무선 노드(101)의 배터리 수명에 심각한 영향을 끼치지 않고 항상 동작 가능하게 한다. 예를 들어, 짧은 인식 메시지만을 이용함으로써, 임의의 루트 유지 시그널링을 위한 요구를 제거함으로써, 중복 메시지의 송수신을 최소화하는 프로시저를 채용함으로써, 및 (인식 정보 네트워크의 전형적인 낮은 레이턴시 요건에 의해 허용된) 각 무선 노드(101) 내에서 사용된 단구간 장치 대 장치 무선통신을 위한 효율적인 슬립 방식을 가능하게 함으로써, 시스템(100)은 잠재적으로 모바일 장치의 배터리 충전 사이에 각 무선 노드(101)의 수백 시간(예컨대, 400시간 이상)의 연속 동작을 제공할 수 있다. 시스템(100)은 모바일 장치 사이의 "신경 시스템(nervous system)"으로서 보일 수 있고, 여기서 모바일 장치의 사용자가 사용자의 주변환경에 대한 인식을 가지게 하기 위해 작은 메시지("신경 임펄스")가 모바일 장치("뉴런(neurons)")에 의해 연속적으로 교환된다.
시스템(100)은 또한 인식 정보에 기초해서 새로운 서비스 및 애플리케이션(예컨대, 소셜 네트워크 애플리케이션, 위치 기반 애플리케이션, 존재 결정을 위한 애플리케이션, 콘텍스트 결정을 위한 애플리케이션, 광고 애플리케이션)의 개발을 가능하게 한다. 특히, 국소적 환경에 관한 인식 정보의 연속적이고 즉각적인 성질은 새로운 서비스를 강요할 수 있게 한다. 예를 들어, 인식 정보는 모바일 장치의 더 증가하는 이용 가능한 스토리지 및 연산 능력과 결합되어 국소적 의미망(local semantic web)을 생성할 수 있고, 이에 따라 국소적 인식 정보가 애드혹 메시 네트워크(109) 내의 무선 노드(101)에 의해 자동으로 생성 및 검색된다. 여기서 사용되는 바와 같이, "의미망(semantic web)"이라는 용어는 시스템 내에서 공유된 정보 및 메시지가 시스템 내의 노드(101)에 의해 이해 가능한 시스템을 말한다. 시스템(100)을 이용하는 이러한 국소적 의미망을 확립하는 것은, 글로벌 의미망의 개발을 차단하는 두 가지 문제, 즉, (1) 대규모의 의미론적 콘텐츠를 제공하는 메커니즘의 부족, 및 (2) 사용자가 의미망의 정보를 검색하게 하는 의미론적 인식 검색 엔진의 부족과 같은 문제를 극복한다는 것을 유의한다. 시스템(100)은 또한 협력적 콘텍스트 계산, 정보 또는 콘텐츠에 대한 포인터 발표, 규정된 커뮤니티 내의 친구 검색, 사용자에게 어떤 일이 일어나는지 및 주위에 어떤 사람들이 있는지의 발견, 사용자의 환경 인식 및 다른 유사한 애플리케이션에 사용될 수 있다.
다음은 인식 정보에 기초한 애플리케이션을 위한 예시적인 경우(use-case)의 시나리오이다.
제 1 경우에, 인식 정보는 사용자에게 주변 사람들 또는 장소에 대해 주의를 환기시킨다. 예컨대, 무선 노드(101a)가 사용자에게 "살바토르, 당신의 친구 데이비드가 근방에 있습니다"라고 알리면 사용자는 새로운 도시를 방문하고 있다. 그러면, 사용자는 살바토르를 만나기 위해 준비하고 새로운 도시에 방문하기 위한 장소를 추천받을 수 있다. 또 다른 예로, 사용자는 잘 알지 못하는 지역의 좋은 식당을 찾고 있다. 인식 정보에 기초한 애플리케이션은 사용자가 선호하는 것과 동일한 음식을 제공하는 식당에서 현재 식사를 하고 있는 다수의 사람들에 의해 순위가 매겨진 주변 식당의 리스트를 제시할 수 있다. 그러한 리스트는 사람들의 음식 선호도의 임의의 익명 정보를 포함하는 질의 및 응답에 기초해서 수집될 수 있다.
제 2 경우에, 애플리케이션은 인식 정보를 이용하여 사용자 근방의 이벤트를 발견한다. 예컨대, 사용자가 공원을 지날 때, 무선 노드(101a)는 근방의 장치 사이에서 교환된 메시지에 근거하여, 사용자에게 "티 가든 파크에 일본 문화 축제가 있습니다; 당신의 쿠바키 커뮤니티의 5명의 회원, 젠, 미, 시아, 탈로, 및 크리스가 있습니다"라고 통지한다. 그러면 사용자는 그 축제에 참가하기로 결정할 수 있다.
제 3 경우에, 애플리케이션은 인식 정보를 이용하여 위치 기반 또는 콘텍스트 기반 서비스를 제공한다. 예컨대, 무선 노드(101a)는 위치지정(positioning) 능력을 갖지 않지만, 그럼에도 불구하고, 근방의 다른 무선 노드(101)로부터의 익명의 인식 정보에 기초해서 그것이 식료품점 안에 있음을 알 수 있다. 식료품점이 그 상점에 노드(101)를 배치하여 그러한 콘텍스트 정보, 가능하게는 그 상점의 웹 페이지의 주소 등의 상점의 다른 특정 정보와 결합시켜 제공할 수 있다는 것이 고려된다. 그 후 무선 노드(101a)는 식료품 점의 사용자의 위치에 기초해서 사용자에게 "식기세척기 세제를 사는 것을 기억하십시오"라고 상기시킨다. 인식 정보는 또한 위치 지정 능력을 갖는 이웃 무선 노드(101)로부터의 물리적 위치 정보일 수 있다. 위치 정보를 그러한 능력을 갖는 이웃 노드와 공유하는 것은 노드(101)가 그러한 능력없이 내비게이션 서비스를 제공할 수 있게 할 수 있다.
다른 예에서, 한 그룹의 사람들이 회의에 참석하고 있다. 회의 초대는 회의 참가자의 모바일 노드(101)에 저장되는 특정 회의에 대한 식별 코드(예컨대, 식별 코드는 달력 데이터에 저장될 수 있다)를 포함한다. 본 발명에 따른 원리를 이용하면, 노드(101)는 회의에 참여하는 동안 애드혹 메시 네트워크(109)를 통해 회의 식별 코드를 교환할 수 있다. 사용자의 무선 장치(101)의 교환된 식별 코드를 교환하는 것은, 예컨대, 사용자가 식별 코드에 대응하는 회의에 실제로 있었는지 여부를 설정할 수 있다. 그러한 정확한 사회적 콘텍스트 지식은 예컨대, 서비스 또는 애플리케이션 행동이 사용자를 향해 조정되도록 사용될 수 있다.
제 4 경우에, 애플리케이션은 국소적 환경에 급속하고 매우 특정적으로 변경하는 국소적 정보의 검색을 제공한다. 국소적 정보는 종종 전통적인 인터넷 검색 엔진에 이르지 못한다. 예컨대, 사용자는 콘서트 티켓을 구매했지만 마지막 순간에 사용자가 참석할 수 없다는 것을 안다. 사용자는 사용자의 무선 노드(101)의 인식 서비스 모듈(111)에 "장소 Y에서의 콘서트 X의 티켓 이용 가능함"이라는 스트링(string)을 저장한다. 그 결과, 멀티홉 애드혹 메시 네트워크(109)를 통해 스트링 "콘서트 X의 티켓"을 포함하는 질문 메시지를 송신하여 티켓을 검색하는, 몇 블럭 떨어져 있는 근방의 무선 노드(101a)는 자동 응답으로 사용자의 티켓 이용 가능 메시지를 수신할 것이다.
제 5 경우에, 애플리케이션은 국소적으로 광고를 목적으로 하게 할 수 있다. 예컨대, 그것은 거의 국소적인 신선한 과일 가게에 대한 폐장 시간이다. 상점 주인은 애드혹 메시 네트워크(109)를 통해 "당일 남은 사과를 50% 할인판매합니다"라는 광고를 게재하는 것을 결정한다. 광고는 그 상점 근방에 사는 사용자들에 대해 적용 가능하다. 또 다른 예에서, 사용자는 무선 노드(101a)의 새로운 프린터에 대한 광고를 훑어본다. 훑어보는 동작에서, 광고에 첨부된 코드는 인식 서비스 모듈(111)에 저장된다. 그러한 코드가 검색되면, 근방의 전자기기 상점은 사용자에게 그 프린터에 대해 10% 할인을 제공한다는 것을 전송한다.
제 6 경우에, 애플리케이션은 자동으로 사용자와 연관된 인식 정보에 기초해서 활동 기록을 생성한다. 예컨대, 애플리케이션은 시기, 장소, 콘텍스트 등의 다른 인식 정보와 함께 사용자가 만나는 사람들을 기록한다. 그 후 사용자는 거리를 걷는 동안 어떤 사람을 만난다. 그 사람은 친근해 보이지만 사용자는 그 사람의 이름 또는 그 사람을 어떻게 아는지를 상기하지 못한다. 애플리케이션을 실행중인 무선 노드(101a)는 그 사람의 이름이 데이비드이고 사용자는 1년전에 런던에서 축구 시합에서 그를 만난 것을 보고한다.
제 7 경우에, 애플리케이션은 애드혹 메시 네트워크(109)를 통해 지역 토론 모임 및 그룹 채팅을 개시하는 기능을 제공한다. 예컨대, 풋볼팀의 후원자들은 애드혹 메시 네트워크(109)를 통해 커뮤니티를 형성하고, 이 커뮤니티 회원은 그 특정 팀의 팬클럽 커뮤니티 회원에 의해서만 수신 및 열람될 수 있는 (예컨대, 애드혹 메시 네트워크(109)를 통해 직접 송신될 만큼의 충분히 작은 사이즈의) 단문 메시지를 송신할 수 있다.
도 2a는 예시적 실시예에 따른 인식 서비스 모듈(awareness services module)을 포함하는 무선 노드의 구성요소의 도면이다. 도 2a는 다양한 예시적 실시예에 따른 인식 서비스 모듈의 구성요소의 도면을 나타내는 도 2b 내지 도 2e에 대하여 기술된다. 도 2a에 도시된 바와 같이, 무선 노드(101)는 애드혹 메시 네트워크(109) 내에서 인식 정보를 공유하는 하나 이상의 구성요소를 포함한다. 이들 구성요소의 기능은 하나 이상의 구성요소와 결합될 수 있고 또는 동등한 기능의 다른 구성요소에 의해 실행될 수 있다는 것이 고려된다. 본 실시예에서, 무선 노드(101)는 소셜 네트워킹, 위치기반 서비스, 존재 정보, 콘텍스트 결정, 광고 기능 등을 포함하는 다양한 서비스 및 기능을 제공하기 위해 인식 정보를 제공하는 애플리케이션(201)을 포함한다. 애플리케이션(201)은 인식 정보를 획득 또는 공유하기 위해 인식 서비스 모듈(111)과 상호작용할 수 있다.
예로서, 인식 서비스 모듈(111)은 3개의 계층, 인식 계층(cognition layer)(203), 커뮤니티 계층(205), 및 네트워크 계층(207)을 포함한다. 인식 계층(203)은 인식 정보를 공유하는 최고 제어 계층이다. 도 2b에 도시된 바와 같이, 인식 계층(203)은 제어 로직(221) 및 항목 스토리지(223)를 포함한다. 제어 로직(221)은, 예컨대, 애드혹 메시 네트워크(109)를 통해 인식 정보를 생성, 공개, 질의, 수신하는 로직을 제공한다. 제어 로직(221)은 제어 로직(221)이 항목 스토리지(223)에 생성 또는 수신하는 정보를 저장할 수 있다. 항목 스토리지(223)는 구성 가능한 기간(예컨대, 일, 월 또는 년)에 걸쳐 무선 노드(101)를 통해 이동하는 정보의 전부 또는 일부를 저장하기에 충분한 사이즈일 수 있는 것을 고려한다.
예시적 실시예에서, 제어 로직(221)은 애드혹 메시 네트워크(109) 내의 이웃 무선 노드(101)에 대한 폭주하는 질의 또는 정보를 개시함으로써 인식 정보의 질의 및 보급을 가능하게 한다. 예컨대, 질의를 수신하면, 질의된 정보를 갖는 국소적 지역의 무선 노드(101)는 자동으로 질의하는 노드에 응답한다. 예시적 실시예에서, 응답 정보는 또한 전파하는 응답이 통과하는 각 무선 노드(101)의 항목 스토리지(223)에 자동으로 저장된다. 더욱이, 질의에 대한 응답은 임의의 상황(예컨대, 특정 콘텐츠의 사이즈가 큰 경우) 하에서 콘텐츠 자체가 아니라 질의와 관련된 특정 콘텐츠에 대한 포인터의 반환을 야기한다. 콘텐츠가 비교적 작으면(예컨대, 수십바이트의 정보), 응답은 콘텐츠를 직접 포함할 수 있음을 고려한다. 포인터를 사용함으로써, 시스템(100)은 애드혹 메시 네트워크(109)를 통해 이동하는 데이터 트래픽을 최소화한다. 그 후 사용자는 더 적절한 통신 프로토콜(예컨대, IP) 및/또는 통신 수단(예컨대, 인프라스트럭쳐 네트워크)을 통해 포인터(예컨대, 범용 리소스 로케이터(URL) 어드레스, IP 어드레스)에 의해 콘텐츠에 액세스할 수 있다. 포인터(예컨대, IP 어드레스)의 수신은 예컨대, 포인터와 관련된 통신 프로토콜을 이용하여 콘텐츠의 전송을 자동으로 트리거할 수 있다. 정보를 브로드캐스팅 또는 공개하는 경우에, 공개된 정보를 전파하는 임의의 무선 노드(101)는 그 정보를 무선 노드(101)의 항목 스토리지(223)에 저장할 수 있다.
다른 실시예에서, 또한 인식 정보(awareness information)는 인식 메시지의 플러딩(flooding)에 의해 직접적으로 공개될 수 있다. 인식 정보의 보급을 위한 이러한 푸시 모드(push mode)는 애드혹 메시 네트워크(109)에서 일부 애플리케이션(예, 광고 또는 그룹 채팅)을 지원하기 위해 사용될 수 있다.
프라이버시 및 익명성이 이 시스템(100)의 사용자에게 관심을 사게 될 수 있다는 것이 인식되었다. 따라서, 제어 로직(221)은 프라이버시 및 익명성을 보장하기 위한 메커니즘을 제공한다. 예를 들어, 제어 로직(221)은 ID(indentity)를 추정할 가능성을 방지하기 위해 이웃 무선 노드의 수를 작게 하는 경우에 개인적인 정보(intimate information)의 전송을 방지할 수 있다. 본 명세서에 사용된 것과 같이, "개인적인 정보"는 사용자에게 직접 관계된 정보, 예를 들면, 사용자의 습관, 기호 또는 선호도(음악적 선호도, 좋아하는 레스토랑 등)를 가리킨다.
제어 로직(221)은 또한 개별적인 무선 노드(101)를 추적하는 것을 더욱 어렵게 만들기 위해 주기적으로 유인 질의(decoy query) 및 복제물을 전송할 수 있다. 외부 관찰자가 커뮤니티와 연관된 인증 키를 알지 못하기 때문에, 관찰자는 유효 메시지를 허구 메시지로부터 구별할 수 없다. 따라서, 유인 메시지를 관찰함으로써, 관찰자는 존재하지 않는 경우에 사적인 커뮤니티의 존재를 검출하기 쉽다. 또한, 제어 로직(221)은 사용자로 하여금 유입 정보(예, 필터 광고)에 대한 필터 및 이러한 필터가 어떻게 동작하는지(예, 그 정보를 완전히 무시함, 그 정보를 저장하지는 않으나 중계함 등)를 정의하는 것을 가능하게 한다. 또한, 사용자는 제어 로직(221)에게 애드혹 메시 네트워크(109)에서의 사용자의 가시성(예, 보이지 않음, 임의 커뮤니티 또는 기타 사용자에게만 보임)을 제어하도록 지시하여 프라이버시를 유지하도록 할 수 있다. 프라이버시를 보호하기 위한 다른 메커니즘으로서, 제어 로직(221)은 커뮤니티 층(205)과 상호작용하여 커뮤니티 층(205)에 관해 이하에 설명된 특정한 메시지와 대응하는 식별자(identifier)를 익명화할 수 있다.
이 시스템(100)의 목적 중 하나가 인식 정보를 익명으로 배포하기(spreading) 위한 메커니즘을 제공하기 위한 것이기 때문에, 바람직하지 않거나 부탁받지 않은 메시지(예, 스팸 메시지)가 문제가 될 수 있다는 것이 인식되었다. 이러한 무제를 해결하기 위해, 제어 로직(221)은 예를 들면 트래픽 로드 및 현재 평균 전력 소모에 관한 인식 서비스 모듈(1110)의 하위 시스템 레이어로부터 정보를 획득할 수 있다. 트래픽 로드가 중간이거나 높으면(시스템(100)에 관한 전력 소모가 중간이거나 높다는 것을 의미함), 제어 로직(221)에 의해 플러딩하는 메시지가 보내진 주파수에 대해 제한이 설정될 수 있다. 또한 이웃 피어 노드(101)는 이러한 메시지 제한을 무시하는 노드(101)로부터 기원한 임의의 플러딩 메시지를 전달하기 않도록 구성될 수 있다는 것을 알 수 있다.
인지 레이어(cognition layer, 203)는 커뮤니티 레이어(205)와 함께, 애플리케이션(201)이 제어 로직(221) 및 아이템 저장소(223)의 기능에 액세스하는 것을 가능하게 하는 애플리케이션 프로그래밍 인터페이스(API:application programming interface). 실시예에서, API(225)는 애플리케이션 개발자가 애드혹 메시 네트워크(109)에서의 공유 인식 정보에 관계된 기능(function)에 균일하고 쉽게 액세스하는 것을 가능하게 한다. API(225)는 인식 정보에 액세스하거나 사용하도록 디자인된 임의의 애플리케이션을 포함하도록 확장될 수 있다. 다양한 노드(101)의 애플리케이션은 동일하거나 상호 호환가능할 필요가 없다. 애플리케이션이 API를 정확히 사용하여 주위 노드(101)의 인식 정보를 공개 및 검색할 수 있다.
인지 레이어(203)는 또한 통신 레이어(205)에 대한 연결성(connectivity)을 가진다. 커뮤니티 레이어(205)는 애드혹 메시 네트워크(109) 내의 무선 노드(101)의 커뮤니티의 정보 및 목록(cataloging)을 제어한다. 예로서, 사용자는 인식 정보를 공유하기 위한 임의의 수의 커뮤니티를 생성할 수 있다. 커뮤니티는 피어 커뮤니티(예, 임의의 무선 노드(101)가 가입할 수 있음), 개인 커뮤니티(예, 무선 노드(101)가 초대된 경우에만 가입할 수 있음), 또는 로컬 근처의 모든 노드로 구성되는 개방형 로컬 커뮤니티일 수 있다는 것을 이해할 것이다. 실시예에서, 애드혹 메시 네트워크(109) 내의 무선 노드(101) 사이에 이동하는 메시지가 이러한 세개의 커뮤니티 유형 중 하나에 속한다. 커뮤니티는 개인적(메시지가 암호화됨) 또는 공개적(암호화가 사용되지 않음)일 수 있다. 실시예에서, 커뮤니티 내의 멤버십 및 지위(staus)는 무선 노드(101)가 인식 정보를 어떻게 공유하지는 지에 영향을 미친다(커뮤니티 멤버십의 추가 세부사항에 대해서는 도 2g에 관한 논의를 참조).
나아가, 커뮤니티는 임의의 목적을 위해 또는 지속기간(예, 영구적인 작업 커뮤니티, 영구적인 친구 커뮤니티, 콘서트의 지속기간에만 계속되는 콘서트 고어(goer)의 임시 커뮤니티 등) 동안 생성될 수 있다. 도 2c에 도시된 것과 같이, 커뮤니티 레이어(205)는 커뮤니티 제어 모듈(241), 커뮤니티 디렉토리(243) 및 암호화/복호화 모듈(245)을 포함한다. 커뮤니티 제어 모듈(241)은 커뮤니티를 생성, 결합, 관리(예, 멤버십 업데이트, 설정 및 선호도 구성, 프라이버시 정책 설정) 및 삭제를 위한 로직을 제공한다. 모듈(241)은 또한 API(225)의 일부를 제공한다.
실시예에서, 커뮤니티 제어 모듈(241)은 애드혹 메시 네트워크(109) 내의 사용을 위해 각각의 커뮤니티에 고유 커뮤니티 ID 번호(CID:community identification number)를 할당한다. 제어 모듈(241)은 또한 CID와 연관된 인증 키 K를 생성하여, 예를 들면 커뮤니티에 가입하기를 원하는 사용자 또는 그 커뮤니티로 전송된 메시지를 인증한다. 예를 들어, 무선 노드(101)는 다른 무선 노드(101)를 초대하여 또 다른 무선 노드(101)로 CID 및 그 커뮤니티와 연관된 인증 키를 전송함으로써 커뮤니티에 가입하도록 할 수 있다. CID 및 대응하는 인증 키의 전송은 근거리 무선(short range radio)를 사용하여 또는 다른 보안 메커니즘(예, SMS(short message service) 또는 전자 메일)을 사용하여 이루어질 수 있다는 이해할 것이다. 피어(peer) 또는 개인 커뮤니티 양자는 CID 및 대응하는 K를 사용하며, 여기서 개방형 로컬 커뮤니티는 CID(예, 제로)에 대해 사전 지정된 값을 사용하거나 CID를 전혀 사용하지 않을 수 있다는 것에 주의한다.
프라이버시를 보장하기 위해(전술한 바와 같이), 커뮤니티 제어 모듈(241)은 애드혹 메시 네트워크(109)의 메시지의 CID를 포함하는 경우에 CID를 익명화하기 위해 암호화/복호화 모듈(245)과 상호작용한다. 예를 들어, 무선 노드(101)는 실제 CID 대신에 커뮤니티와 연관된 익명화된 CID(예, 익명(pseudonym))를 사용하여 특정 커뮤니티로 질의를 전달할 수 있다. 실시예에서, 다수의 암호화된 CID가 단일 커뮤니티를 나타내기 위해 사용될 수 있다. 이러한 방식으로 애드혹 네트워크(109) 내의 트래픽을 감시함으로써 특정한 커뮤니티에 대응하는 질의를 식별하는 것이 더 어려워진다. 외부의 관찰자의 관점에서, 익명화된 CID는 랜덤하게 보인다. 또, 암호화/복호화 모듈(245)은 예를 들면, CID와 연관된 인증 키(K)로부터 주기적으로 유래되는 임시 키를 사용하여 메시지 데이터를 암호화 또는 복호화할 수 있다. 이러한 조치(measures)는 인증 키를 가지지 않은 외부자에 의해 CID가 발견되는 것을 방해한다. 예로써, 커뮤니티 레이어(205)는 인지 레이어(203)로부터 수신한 메시지에 특별한 헤더를 삽입한다. 특별한 헤더는 예를 들면 그 메시지가 관계된 커뮤니티에 대응하는 익명화된 커뮤니티 식별자의 리스트를 포함한다.
도 2d는 실시예에 따라 공유 인식 정보에 대한 커뮤니티 멤버십 및 지위(status)의 효과에 대한 상태도(state diagram)이다. 도 2d에 도시된 것과 같이, 무선 노드(101)는 애드혹 메시 네트워크(109) 내의 커뮤니티의 멤버십에 관한 하나 또는 두 개의 상태(예, 가입되지 않은 상태(251) 및 가입 상태(253)에 속할 수 있다. 무선 노드(101)의 애플리케이션(201)은 예를 들면, 가입되지 않은 상태(251)와 가입 상태(253) 사이의 전환을 위해 커뮤니티를 가입 또는 분리하기 위한 명령(255)을 발행한다. 무선 노드(101)가 커뮤니티에 관하여 가입되지 않은 상태(251)에 있을 때, 무선 노드(101)는 커뮤니티에 관한 정보(예, CID 및 연관된 인증키 K)를 가지지 않으며, 그 커뮤니티를 향하는 메시지에 액세스할 수 없다. 무선 노드(101)가 가입 상태(253)에 있을 때, 커뮤니티 레이어(205)는 CID 및 가능한 그 커뮤니티에 연관된 하나 이상의 인증키를 수신한다. 일 실시예에서, 인증키는 커뮤니티의 멤버십이 초대에 의한 것일 때 제공되며, 그렇지않으면 제한된다(예, 커뮤니티가 개인 커뮤니티이거나 사적인 커뮤니티일 때). 따라서, 커뮤니티 레이어(205)는 유출(outoging) 커뮤니티 특정 메시지를 암호화하고 유입 커뮤니티 특정 메시지를 복호화할 수 있을 것이다.
무선 노드(101)가 가입 상태(253)에 있을 때, 무선 노드(1010가 비활성 상태(257) 또는 활성 상태(259)에 있을 수도 있다. 비활성 상태(257) 및 활성 상태(259) 사이의 전환을 위해, 애플리케이션(201)은 애플리케이션 프로그래밍 인터페이스(225)를 통해 가입 상태(253)를 활성화하거나 비활성화하기 위한 명령(261)을 발행할 수 있다. 무선 노드(101)가 비활성 상태(257)에 있을 때, 커뮤니티 레이어(205)는 그 노드가 커뮤니티의 멤버임에도 메시지를 버린다. 소정 실시예에서, 무선 노드(101)는 또한 비활성 상태(257)에 있는 동안에 커뮤니티의 다른 멤버에 보이지알 수 있다. 예를 들어, 무선 노드(101)는 일시적으로 정보를 수신하거나 커뮤니티와 정보를 공유하기를 원하지 않을 때 비활성 상태(257)에 들어갈 수 있다. 무선 노드(101)는 활성 상태(259)에 있을 때, 커뮤니티 레이어(205)가 사적인 커뮤니티에 대한 통상적인 커뮤니티 메시지를 암호화 및 복호화하고, 공개 커뮤니티(예, 멤버십에 대한 제한이 없는 커뮤니티)에 대한 모든 유출 및 유입 커뮤니티 특정 메시지를 이용가능하게 한다.
활성 상태(259)인 한, 무선 노드(101)는 또한 비가시적인 상태(invisible state, 263) 및 가시적인 상태(visible state, 265)에 있을 수 있다. 비가시적인 상태(263) 및 가시적인 상태(265) 사이의 전환을 위해, 애플리케이션(201)은 가시 적인 또는 비가시적인 상태를 설정하기 위한 명령(267)을 발행한다. 비가시적인 상태(263)에 있을 때, 무선 노드(101)와 연관된 커뮤니티-특정 ID(예, 사용자 별명(user alias))가 커뮤니티의 다른 멤버에 의해 질의될 수 없다. 예를 들면, 비가시적인 상태(263)에서, 커뮤니티 레이어(205)는 자신의 ID가 다른 커뮤니티 멤버에게 알려지지 않은 상태에서 커뮤니티 메시지의 수신 및 전송 지속한다. 가시적인 상태(265)에 있을 때, 무선 노드(101)의 ID는 커뮤니티의 다른 멤버에 의해 질의될 수 있다.
다양한 실시예에서, 커뮤니티 레이어(205)의 커뮤니티 디렉토리(243)는, 예를 들면 사용자가 가입한 커뮤니티에 대한 정보를 유지한다. 이러한 정보는 적어도 CID를 포함한다. 추가로, 이는 가입한 커뮤니티의 공개 및/또는 인증 키(K)와 각각의 커뮤니티에 대한 익명화된 커뮤니티 식별자의 리스트를 포함할 수 있다. 커뮤니티 제어 모듈(241)은 주기적으로 익명화된 CID의 리스트를 재생성할 수 있다. 예로서, 커뮤니티 레이어(205)는 인지 레이어(203)로부터 수신한 메시지에 헤더를 삽입한다. 이 헤더는 예를 들면, 메시지가 관련된 커뮤니티를 식별하는 익명화된 커뮤니티 식별자의 리스트를 포함한다.
사용자들 사이에 생성된 신규 결합 또는 관계를 추적하기 위해 특별한 개인 커뮤니티를 따로 둘 수 있다. 예를 들어, 사용자 A가 처음에 사용자 B를 만나고 각각의 사용자에 대응하는 모바일 장치들 간의 무선 결합(radio bond)를 생성하기 원하는 것을 고려한다. 일 실시예에서, 사용자 A는 사용자 B에게 사용자 A의 개인적인 "신규 결합(new bond)" 커뮤니티의 CID와 공개 K를 전달함으로써 사용자 B와 이러한 결합의 생성을 개시할 수 있다. 유사하게, 사용자 B가 사용자 A에게 사용자 B의 "신규 결합" 커뮤니티에 대응하는 유사한 크리덴셜(credential)을 줄 수 있다. 자격이 교환되고 결합이 생성되었다면, 사용자 A는 애드혹 메시 네트워크(109)로 사용자 A의 "신규 결합" 커뮤니티의 멤버를 검색함으로써 사용자 B를 찾을 수 있다. 다르게 설명하면, 단일 커뮤니티의 간단한 검색으로, 사용자 A는 결합을 생성한 사용자 A의 로컬 근처의 모든 사람들을 검색할 수 있다. 이는 커뮤니티 디렉토리(243)에 하이 넘버(high number)의 커뮤니티 CID 및 K가 저장될 수 있을 것을 요한다. 또한, 커뮤니티 디렉토리의 효과적인 검색이 제공되어야 한다. 이러한 효과적인 검색을 위한 많은 현존하는 그리고 우수한 솔루션이 존재한다.
사용자가 신규 결합을 생성함에 따라,사용자 커뮤니티 디렉토리(243)에 저장된 넘버 커뮤니티 CID 및 K가 매우 넓게 증대될 수 있다. 따라서, 많을 수의 커뮤니티의 효과적인 검색을 가능하게 하기 위해, 커뮤니티 레이어(205)는 검색을 개시하기 위한 특별 커뮤니티 검색 메시지를 생성할 수 있다. 예를 들어, 특별 커뮤니티 검색 메시지는 적어도 부분적으로, 검색될 커뮤니티에 대응하는 익명화된 커뮤니티 식별자의 리스트를 포함한다. 프라이버시를 보호하기 위해, 커뮤니티 레이어(205)는 각각의 커뮤니티 검색 메시지에 대한 익명화된 커뮤니티 식별자의 신규 세트를 생성할 수 있다. 커뮤니티 레이어(205)가 검색 메시지를 수신하는 임의의 이웃 노드(101)의 익명화된 커뮤니티 식별자 중 임의의 식별자와 일치하는 것(match)을 찾은 경우에, 커뮤니티 레이어(205)는 커뮤니티 또는 다른 커뮤니티 특정 정보에서 사용자의 별명을 포함할 수 있는 응답 메시지(reply message)를 생성한다. 응답 메시지는 커뮤니티의 암호화 키로 암호화될 수 있다.
도 2c에 도시된 것과 같이, 커뮤니티 레이어(205)는 위의 인지 레이어(203) 및 이하의 네트워크 레이어(207)에 대한 연결성을 가진다. 네트워크 레이어(207)는 수신된 플러딩 메시지의 재전송 및 무선 노드(101)에 의해 수신된 유니캐스트(전형적 응답) 메시지의 라우팅을 관리한다. 도 2e는 실시예에 따라 네트워크 레이어(207)의 컴포넌트를 나타내는 도면이다. 네트워크 레이어(207)는 네트워크 제어 모듈(271), 라우팅 테이블(273), 네이버 테이블(275), MID(message identification) 테이블(277) 및 메시지 테이블(279)을 포함한다. 네트워크 제어 모듈(271)은 라우팅 테이블(273), 네이버 테이블(275), MID 테이블(277) 및 메시지 테이블(279)을 관리 및 업데이트함으로써 메시지 및 정보의 브로드캐스트(broadcast)를 지시한다. 일부 실시예에서, 네트워크 제어 모듈(271)은 또한 무선 노드(101)와 연관된 네트워크 레이어 ID를 주기적으로 변경함으로써 사용자의 프라이버시와 익명성의 보호를 도울 수 있다. 질의 사이에서의 네트워크 레이어 ID의 이러한 변경은 애드혹 메시 네트워크(109)의 각각의 질의에 의해 라우팅 정보가 재생성되기 때문에 복제에 대한 라우팅 문제를 일으키지 않는다.
실시예에서, 예를 들면, 수신된 메시지의 공급 및 라우팅을 지시하기 위해, 네트워크 레이어(207)는 커뮤니티 레이어(205)로부터 수신한 메시지에 헤더를 삽입할 수 있다. 이러한 네크워크 레이어 메시지 헤더(281)가 도 2f를 참조하여 논의된다. 도 2f는 예시적인 실시예에 따라 네트워크 메시지 헤더의 데이터 구조에 대한 도면이다. 도시된 바와 같이, 메시지 헤더(281)는 다음의 필드들, 즉 (1) 마지막 전송 노드(101)의 전송기 노드 ID(NID)를 식별하기 위한 TX 필드(282); (2) 메시지를 발신한 노드(101)의 소스 노드 ID를 식별하기 위한 SRC 필드(283); (3) 유니캐스트(응답) 메시지의 의도된 수신자의 목적지 소스 ID를 식별하기 위한 DST 필드(284)(예를 들어, 이 필드는 메시지가 플러딩 메시지(flooding message)인 경우에 제로 값이 부여됨); (4) 소스 노드에 의해 할당된 메시지 시퀀스 번호를 식별하기 위한 MSN 필드(285); (5) 메시지를 전송하는 각 노드(101)에 의해 하나 증분되는 홉 카운트 필드(hop count field)(286). 소정의 실시예에서, 메시지 헤더(281)는 또한 이하의 선택적 필드들을 포함할 수 있다: (6) 메시지가 전파되기 위한 물리적 범위를 지정하기 위한 지리적 제한 필드(287)(예를 들어, 지리적 제한 필드(287)는 소스 노드의 지리적 위치 및 그 위치로부터의 최대 플러딩 반경을 포함할 수 있음); (7) 시간 제한 필드(288)(예를 들어, 시간 제한 필드(288)는 메시지가 쓸모가 없어져서 폐기되어야 할 때의 시간을 포함할 수 있음); (8) 메시지가 전파되지 않기 위한 콘텍스트를 정의하는 콘텍스트 제한 필드(289)(예를 들어 특정 콘서트에 관한 메시지가 콘서트 장소를 넘어서도록 하지 않는 것임).
도 2e로 되돌아가면, 네트워크 계층(207)은 또한 라우팅 테이블(273)을 포함한다. 예시적인 실시예에서, 라우팅 테이블(273)은 발신 무선 노드(101)(예를 들어 소스 NID)의 노드 식별 번호(NID) 및 메시지의 최종 공지된 전송기의 NID의 리스트를 포함한다. 라우팅 테이블의 목적은 플러딩 메시지를 통해 쿼리를 발신한 쿼링 노드로 되돌아가는 응답 메시지(예를 들어 유니캐스트 메시지)의 라우팅을 가능하게 하는 것이다. 메시지가 애드혹 메시 네트워크(109)를 통해 전파됨에 따라, 메시지를 수신하는 각각의 후속 무선 노드(101)는 소스 노드를 향한 다음 홉의 이웃을 기록하기 위해 최종 전송기의 NID를 라우팅 테이블에 추가한다. 소스 노드는 라우팅 테이블에서 목적지 노드(DST)로서 표시된다. 또한 메시지의 메시지 시퀀스 번호가 기록된다. 라우팅 테이블(273)의 갱신은 네트워크 제어 모듈(271)에 의해 조정된다. 표 1에 도시된 바와 같이, 라우팅 테이블(273)은 목적지 NID, 메시지를 다시 브로드캐스트한 무선 노드(101)와 연관된 전송기 NID, 및 메시지의 MSN을 리스트화하고 있다.
Figure 112011105234304-pct00001
이웃 테이블(275)은 이웃하는 무선 노드(101)의 리스트 및 그 무선 노드들의 상대적 무선 거리의 추정치를 포함한다(표 2 참조). 이웃하는 무선 노드(101)의 공지된 전송 파워와 함께 관찰되는 신호 강도는 무선 노드(101)의 근접도의 표시자이며, 또한 상대적 무선 거리를 계산하는데 사용될 수 있다고 생각된다. 그 후, 메시지가 마지막으로 수신된 노드의 상대적 무선 거리는 무선 노드(101)가 수신된 메시지를 재전송할지 여부에 대한 판단 기준으로 사용된다. 예컨대, 보다 높은 신호 강도는 무선 노드(101)에 대한 보다 가까운 근접도를 표시한다. 모듈(271)이 근처의 디바이스로부터 메시지를 수신하여 그것을 상대적 무선 거리(예를 들어, 전송 노드(101)의 근접도)를 추정하는데 사용하기 때문에, 네트워크 제어 모듈(271)은 이웃하는 노드(101)의 신호 세기를 감시한다. 또한, 네트워크 제어 모듈(271)은 이웃하는 노드의 상대적 무선 거리를 추정하기 위한 임의의 다른 메카니즘을 사용할 수도 있다고 생각된다(예를 들어, GPS(global positioning satellite) 수신기 및 그 밖의 위치 판단 기술을 이용하여 위치를 추정함).
소정의 실시예에서, 네트워크 제어 모듈(271)은 근접도 정보를 사용하여 애드혹 메시 네트워크(109)를 통한 메시지의 라우팅 및 전송을 지시한다. 예컨대, 시스템(101)은 몇 개의 노느(101)만이 플러딩 메시지를 재전송하는 스마트 플러딩 방식을 구현함으로써 애드혹 메시 네트워크(109)에 과부하가 걸릴 가능성을 줄일 수 있다. 노드(101)가 플러딩 메시지를 재전송할지의 여부는 메시지의 전송기인 노드(101)가 속해 있는 상대적 거리 그룹(예를 들어, "매우 가까운", "가까운", 또는 "먼")에 달려 있을 수 있다. 보다 구체적으로, 전송 노드(101)가 "먼" 또는 "가까운" 그룹 내에 있으면, 수신 노드(101)는 플러딩 메시지를 재전송할 수 있다. 전송 노드(101)가 "매우 가까운" 그룹 내에 있으면, 수신 노드(101)는 플러딩 메시지를 재전송하지 않는다. "먼" 또는 "가까운" 그룹 중 어느 하나에서의 노드로부터 수신된 각 브로드캐스트 메시지에 있어서, 네트워크 제어 모듈(271)은 중계하거나 다시 브로드캐스트하기 위해 랜덤 지연 시간을 할당한다. 예컨대, 지연 기간은, 전송 전에 지연 기간을 랜덤화하는 방법으로서 추정된 상대적 무선 거리에 기초하여 분포 함수를 나타낸다. 분포는, 랜덤 지연이 "먼" 노드보다 "가까운" 노드에 있어서 더욱 큰 것과 같은 방식으로 선택되어야 한다. 이는, 예컨대, 플러딩 메시지 전달을 중계하기 위해 더 멀리 떨어져 있는 노드(101)에 유리하며, 그에 따라 보다 양호한 플러딩 효율성(보다 적은 전송의 총 횟수)을 달성한다. 또한 메시지가 애드혹 메시 네트워크(109)를 통해 전파되기 때문에, 랜덤 지연 시간의 사용은 메시지 브로드캐스트의 의도치 않은 동기화를 방지한다. 예컨대, 메시지 브로드캐스트의 의도치 않은 동기화는 지나치게 많은 노드(101)가 정확히 동시에 애드혹 메시 네트워크(109)를 통해 브로드캐스팅(즉, 플러딩) 메시지를 전송하게 할 수 있다. 또한, 지연 시간은 다른 이웃하는 무선 노드(101)에 의한 메시지의 재브로드캐스트를 감시하고 카운트하는 기회를 네트워크 제어 모듈(271)에게 제공할 수 있다.
Figure 112011105234304-pct00002
MID 테이블(277)은 수신된 메시지의 리스트를 포함한다. 무선 노드(101)가 애드혹 메시 네트워크(109)를 통해 이웃하는 노드로부터 메시지를 수신함에 따라, 네트워크 제어 모듈(271)은 메시지가 사전에 수신되었는지를 예를 들어 MID 테이블(277)에서의 MID와 수신된 메시지의 MID를 비교함으로써 체크하기 위해 MID 테이블을 사용한다. 또한 MID 테이블(277)은 메시지가 노드(101)에 의해 전송되었는지를 표시하는 플래그와, 엔트리가 마지막으로 갱신된 시간을 포함한다. 예시적인 실시예에서, MID는 투플(SRC, MSN)이며, 여기서 SRC는 소스 노드의 NID이고 MSN은 소스 노드에 의해 할당된 메시지 시퀀스 번호이다. 이에 의해, MID는 네트워크(109)에서 전파되는 각 메시지의 고유한 식별자이다. 네트워크 제어 모듈(271)은 수신하는 모든 새로운 메시지를 위해 MID 테이블(277) 내에 엔트리를 형성한다. 메시지가 전송을 위해 스케쥴링되었으면, 모듈(271)은 메시지 테이블 내의 메시지 카운터를 증분한다(표 4 참조).
Figure 112011105234304-pct00003
메시지 테이블(279)은 네트워크 제어 모듈(271)이 전송을 위해 스케쥴링한 메시지를 포함한다. 예컨대, 네트워크 제어 모듈(271)이 전송을 위해 스케쥴링하는 플러딩 메시지를 노드(101)가 수신함에 따라, 모듈(271)은 메시지 테이블(279) 내의 메시지를 포함하도록 메시지 테이블을 갱신한다. 메시지 테이블(279) 내의 각 엔트리는 메시지, 그 메시지가 전송되도록 스케쥴링된 시간, 및 노드(101)에 의해 메시지를 수신한 횟수를 포함한다(표 4 참조). 예시적인 실시예에서, 메시지가 수신된 횟수가 사전 정의된 한계를 넘어서면 애드혹 메시 네트워크(109)를 통해 메시지가 중계되지 않는다. 예컨대, 메시지는 O인 초기 카운트를 갖는다. 이 예에서는, 이웃하는 무선 노드(101)가 메시지를 전송하는 것이 목격되면, 그 메시지에 연관된 메시지 카운트가 증가된다. 최대 메시지 카운트에 도달하면, 네트워크 제어 모듈(271)은 메시지 테이블(279)로부터 메시지를 삭제한다. 또한 각 메시지의 전송기는, 전송 노드가 무선 노드(101)의 가까운 근접도 내에 있거나(예를 들어 전송 노드(101)가 "매우 가까움"의 상대적 무선 거리 그룹에 속해 있거나) 무선 노드(101)로부터 멀리 있는지(예를 들어 전송 노드(101)가 "멈"의 상대적인 무선 거리 그룹에 속해 있는지)를 나타내는 추정된 상대적 무선 거리(D)와 관련되어 있다. 메시지의 전송이 "매우 가까움"을 발생시켰다고 전송 노드와 연관된 상대적인 무선 거리가 표시하면, 예를 들어 다른 이웃하는 무선 노드(101)의 대부분은 이미 동일한 메시지를 수신했다고 가정되기 때문에, 무선 노드(101)는 메시지를 중계하지 않아야 할 것이다. 이웃하는 노드의 상대적인 무선 거리를 감안하면, 여기서 설명되는 스마트 플러딩의 기능은, 평균적으로 노드 밀도와는 무관하게 각 노드(101)에 의해 몇 번 수신되는 각 플러딩 메시지를 발생시킨다. 어느 한 노드(101)에 의해 메시지가 수신되는 횟수는 네트워크(109)의 확장성에 영향을 미친다.
그러나, 수신된 메시지가 수신 노드(101)로 어드레싱되는 유니캐스트 응답 메시지이면, 네트워크 제어 모듈(271)은 목적지 노드(101)를 라우팅 테이블(273)에서 발견할 수 있는지(예를 들어 응답 메시지에서의 목적지 필드로부터 발견될 수 있는지 또는 응답 노드에 의한 쿼리의 소스 필드로부터 획득될 수 있는지)를 확인한다. 발견되면, 라우팅 테이블 엔트리는 응답 메시지가 다음 기회에 전송될 것인 이웃하는 노드의 NID를 부여할 것이다. 유니캐스트 전송이 성공적이지 못하면, 동일한 DST에 대한 다음 엔트리는 다음번의 시도로서 사용될 것이다. 수신된 메시지가 수신 노드로 어드레싱되지 않는 유니캐스트 응답 메시지이고 원하는 수신기 노드로부터 확인 메시지를 듣지 못하면, 노드는 스케쥴링된 재전송을 위해 메시지 테이블(279) 내의 메시지를 저장할 것이다. 노드(101)로 어드레싱되지 않는 유니캐스트 메시지 또는 확인 메시지는 인지 서비스 모듈(111)이 아니라 D2D 무선 계층(209)(이하에서의 D2D 무선 계층(209)의 설명을 참조)에서 정상적으로 수신되는 것을 유의한다. 그러나, 소정의 환경 하에서, D2D 무선 계층(209)은 재전송을 스케쥴링하기 위해 인지 서비스 모듈(111)로 이러한 메시지를 제공할 수 있다. 예컨대, 메시지가 전송되도록 스케쥴링 될 때에 그때까지 동일한 메시지의 성공적이지 못한 유니캐스트가 관찰되면, 노드(101)는 유니캐스트 메시지 또는 확인 메시지를 그 메시지와 관련된 라우팅 테이블(273)로부터 발견되는 원하는 수신자로 전송할 것이다. 이렇게 하여, 응답 메시지의 의도된 수신자가 아닌 노드(101)는 올바른 목적지를 향한 메시지 전달의 라우팅을 도울 수 있다.
Figure 112011105234304-pct00004
도 2a에 도시된 바와 같이, 인지 서비스 모듈(111)은 디바이스-투-디바이스(D2D) 무선 계층(209)에 접속될 수 있다. D2D 무선 계층(209)은 애드혹 메시 네트워크(109)의 형성을 가능하게 하며, 또한 예를 들어 WLAN 및 블루투스 등의 근거리 무선 기술을 이용하여 인지 정보를 공유하는 것을 가능하게 할 수 있다. D2D 무선 계층(209)은 근거리에 걸친 디바이스간의 통신을 위한 임의의 무선 기술을 사용할 수도 있다. 무선 기술은, 예를 들어 애드혹 메시 네트워크(109) 내의 각 무선 노드(101)가 무선 범위 내에 있는 이웃하는 노드(101)로 무접속 방식으로 메시지를 브로드캐스트할 수 있도록 한다. 여기서 사용되는 바와 같이, "무접속"이란 무선 노드(101)가 메시지의 브로드캐스팅 전에 통신 채널을 설립하기 위해 양방향 시그널링을 사용할 필요가 없음을 의미한다. 예시적인 실시예에서, D2D 무선 레이어(109)는 하나 이상의 상이한 기술 또는 프로토콜을 사용하여 다수의 무선을 포함할 수 있다(예를 들어, WLAN 및 Bluetooth®을 동시에). 무선 노드(101)는 다른 무선 기술에 의해 서비스된 두 개 이상의 서브 네트워크를 스팬하기 위한 게이트웨이 노드(gateway node)로서 동작할 수 있는 다수의 무선으로 구성된다. 이러한 방식으로 하나의 서브 네트워크상의 메시지 브로드캐스트(message broadcast)가 다른 서브 네트워크로 전달(propagate)될 수 있다.
도 2g는 예시적인 실시예에 따른 장치 대 장치 무선 층의 파워세이브 스킴을 도시하는 도면이다. 시스템(100)의 저지연 요구사항(low latency requirement)와 더불어 적은 양의 인식 데이터(awareness data)가 적은 파워를 소비하는 방식으로 D2D 무선 층(209)의 동작을 활성화할 수 있다. 도 2g에 도시된 바와 같이, D2D 무선 층(209)은 TBTT(293a-293c)에 의해 기술된 비컨 구간(291a-291c)을 가질 수 있다. 예시적인 실시예에서 상기 D2D 무선 층(209)은 시간적으로 동기화된 방식으로 동작할 수 있고 활성 통신(active communication) - 예를 들어, 어웨이크 구간(295a-295c) 동안 - 에 대한 시간의 일부분만을 이용할 수 있다. 각 비컨(beacon) 구간(291)의 나머지 동안에, D2D 무선 층(209)은 예를 들어 파워세이브 또는 도즈(doze) 모드에 있다. 예를 들어, 대략 일 퍼센트 정도의 효과적인 무선 이용을 이끌어내기 위해, 각각의 비컨 구간(291)은 수백 밀리초(milisecond) 단위일 수 있고, 각각의 어웨이크 구간(293)은 단지 수 밀리초 단위일 수 있다. 노드(101)의 개수가 매우 큰 상황(매스 이벤트(mass event)와 같은)에 대하여 시간에 따른 무선 이용이 순간적으로 백 퍼센트까지 상승하는 것이 가능하다 (예를 들어, 어웨이크 구간(293)이 활성 전송 구간(291)과 같아짐). 트래픽이 낮은 시간(예를 들어, 밤에)에 무선 이용은 동기화를 여전히 유지한 채 어웨이크 구간(293)의, 예를 들어, 매 십 분의 일만을 이용함으로써 0.1 퍼센트까지 감소할 수 있다.
예시적인 실시예에서, 저지연 요구사항은 또한 호스트 프로세서(예를 들어, 도 9에 도시된)에서 파워세이브를 활성화한다. 설명을 위해, 하기 기술은 도 9의 예시적인 칩 셋(chip set)의 컴포넌트를 참조한다. D2D 무선 층(209)은 일반적으로 AISIC 모듈(909)에서 구현되는 반면, 인식 서비스 모듈(111)의 기능은 AISIC 모듈(909) 또는 프로세서(903)에서 구현될 수 있다. 인식 서비스 모듈(111)의 기능이 프로세서(903)에서 구현되는 경우, 파워 소비는 예를 들어 가능한한 AISIC(909)이 프로세서(903)을 깨우지 않도록 함으로써 감소될 수 있다. 예시로써, D2D 무선 층(209)의 상기 설명된 주기적인 동작은 AISIC(909)이 활성 전송 구간(291)당 한번의 주기로 모든 메시지를 수집하고 프로세서(903)로 전송하도록 활성화한다. 그 후, 프로세서(903)는 모든 수신된 메시지를 처리하고 다음 활성 전송 구간(291)에 전송될 새로운 메시지를 계산한다. 그 후, 프로세서(903)는 전송을 위해 메시지를 AISIC(909)에 전송한다. 이러한 과정을 사용하여, 플러딩 메시지(flooding message)는 인식 정보를 완전히 수신하도록 구간(291) 당 한번의 홉(hop)(예를 들어, 하나의 노드(101)로부터 다른 노드(101)로 이동)을 생성할 수 있다. 그에 반해, 수백 밀리초 정도의 잠재적인 지연은, 예를 들어, 음성 트래픽에 대해 불가능하며, 따라서 이러한 종류의 파워세이브는 지연에 민감한 트래픽을 전송하는 다른 통신 시스템에서는 성취될 수 없다.
도 3a 및 3b는 각각 다양한 예시적인 실시예에 따른 플러딩 메시지를 생성하고 애드혹 메시 네트워크(ad-hoc mesh network)를 통해 플러딩 메시지를 수신하는 프로세스의 흐름도이다. 일 실시예에서, 인식 서비스 모듈(111)은 도 3a의 프로세스(300) 및 도 3b의 프로세스(320)을 수행하고, 예를 들어, 도 9에 도시된 프로세서 및 메모리를 포함하는 칩 셋에서 구현된다. 프로세스(300)에 대하여, 제어 로직(221)이 애플리케이션(201)으로부터, 예를 들어, 애플리케이션 프로그래밍 인터페이스(225)를 통해 플러딩 메시지를 생성하라는 서비스 요청을 수신했다고 가정된다. 여기서 사용된 바와 같이, "플러딩 메시지"는 노드로부터 노드로의 전달(propagation)을 위해 애드혹 메시 네트워크(109)를 통해 이웃하는 무선 노드(101)로 브로드캐스트되는 메시지이다. 단계(301)에서, 인식 서비스 모듈(111)은 서비스 요청에 응답하여 바디(예를 들어, 공개될 질의(query) 또는 컨텐츠(content))를 생성한다. 예시로써, 플러딩 메시지는 질의(예를 들어, 정보를 애드혹 메시 네트워크(109)로부터 풀링(pulling)하기 위한) 또는 공개 메시지(예를 들어, 정보를 애드혹 메시 네트워크(109)로 푸시(push)하기 위한)일 수 있다. 메시지(예를 들어, 질의 또는 공개 메시지)의 유형은 서비스 요청과 요청을 생성하는 애플리케이션(201)의 속성에 따라 판단된다.
메시지의 바디를 생성한 후, 인식 서비스 모듈(111)(예를 들어, 커뮤니티 층(205) 또는 네트워크 층(207)은 도 2f와 관련해 상기에서 논의된 바와 같이 메시지의 라우팅을 지정하기 위해 헤더(예를 들어, 네트워크 층 헤더(281)를 추가함으로써 메시지를 준비한다 (단계(303)). 예를 들어, 헤더는 최대 메시지 카운트(예를 들어, 홉 카운트), 플러딩 메시지에 대한 지리적인 한계, 시간적인 한계, 또는 다른 맥락의 한계를 특정한다. 브로드캐스트될 메시지를 준비하는 것은 또한, 예를 들어, 메시지 시퀀스 넘버(MSN, 295)를 플러딩 메시지에 할당하고, 소스 NID, 목적지 NID, 및/또는 트랜스미터 NID를 특정하는 것을 포함한다. 인식 서비스 모듈(111)은 MID 표에 생성된 플러딩 메시지에 대한 엔트리(entry)에 전송 플래그를 "전송되지 않음"으로 추가하고 애드혹 메시 네트워크(109)를 통해 브로드캐스트될 메시지를 D2D 무선 층(209)에 전송함으로써 플러딩 메시지의 브로드캐스트를 개시한다(단계 305). 브로드캐스트 후에, 인식 서비스 모듈(111)은 플러딩 메시지가 애드혹 메시 네트워크(109)를 통해 다시 브로드캐스트 되어야 하는가를 판단할 수 있다(단계 307). 예를 들어, 애플리케이션(201)은 인식 서비스 모듈(111)에 횟수를 모니터링하고 카운팅함에 기초하여 플러딩 메시지를 다시 브로드캐스트할 것을 지시할 수 있다. 원 노드(101)는 이웃하는 노드(101)에 의한 플러딩 메시지의 재브로드캐스트를 관찰할 수 있다. 예를 들어, 관찰된 재브로드캐스트는 플러딩 메시지를 재전송하는 이웃 노드(101)가 플러딩 메시지를 성공적으로 수신했음을 알려주는 확인으로서 역할한다. 한 실시예에서, 인식 서비스 모듈(111)은 관찰된 메시지의 MID와 원 플러딩 메시지를 비교함으로서 관찰된 재브로드캐스트가 플러딩 메시지와 동일한지를 판단한다(단계 309). 소정의 시간이 지난 후에, 재브로드캐스트가 관찰되지 않으면, 인식 서비스 모듈은 플러딩 메시지를 다시 브로드캐스트할 수 있다(예를 들어, 단계(305)로 돌아가서 필요한 만큼 반복함으로써). 애플리케이션(201) 또는 인식 서비스 모듈(111)이 시도된 재브로드캐스트의 횟수를 정의하는 것도 가능하다. 재브로드캐스트의 한계에 이르면, 인식 서비스 모듈(111)은 재브로드캐스트의 상태를 애플리게이션(201)에 통지하고 추가적인 재브로드캐스트를 중지한다(단계(311)).
도 3b는 예시적인 실시예에 따른 애드혹 메시 네트워크를 통한 플러딩 메시지를 수신하는 프로세스의 흐름도이다. 단계(321)에서, 인식 서비스 모듈은 이웃하는 무선 노드로부터 플러딩 메시지를 수신한다. 플러딩 메시지는, 예를 들어, 공개된 인식 정보 또는 질의를 포함한다. 예시적인 실시예에서, 플러딩 메시지는 애드혹 메시 네트워크(109)의 데이터 트래픽을 최소화하기 위해 실제 정보 또는 콘텐츠 자체가 아닌 정보 또는 콘텐츠를 특정하는 포인터(pointer)(예를 들어, URL 또는 IP 주소)를 포함한다. 이전에 논의된 바와 같이, 특정 실시예에서는, 플러딩 메시지가 콘텐츠의 크기가 상대적으로 작으면(예를 들어, 몇 바이트(byte)의 정보), 콘텐츠를 포함할 수 있다. 포인터 또는 콘텐츠를 수신한 후에, 무선 노드(101)는 다른 통신 프로토콜(예를 들어, 인터넷) 또는 통신 수단(예를 들어, 인프라스트럭쳐 네트워크(infrastructure network))를 사용하여 정보 또는 콘텐츠에 액세스할 수 있다.
또한, 플러딩 메시지 내의 정보는 따로 지정되지 않는 한 익명으로 공유된다(예를 들어, 정보의 전송자를 밝히지 않은 채 공유됨). 예시로써, 인식 서비스 모듈(111)은 링크 층 또는 네트워크 층의 식별자(identification)를 변경하고, 이웃하는 노드의 수가 적을 경우 개인적인 정보의 전송을 차단하고, 사용자, 커뮤니티 또는 그들의 조합을 식별하는데 사용될 수 있는 정보를 익명화하는 것을 포함하는 정보를 익명으로 공유하기 위한 임의의 메커니즘을 사용할 수 있다. 예를 들어, 전송 무선 노드(101)와 관련된 링크 층 또는 네트워크 층의 식별자를 주기적으로 변경함으로써, 인식 서비스 모듈(111)은 외부 관찰자가 무선 노드(101) 또는 그의 사용자의 정체를 알아내는 것을 어렵게 한다. 정보의 익명적인 공유는 이웃하는 노드의 수가 적은 개인적인 정보의 전송을 차단함으로써 보호될 수 있다. 이것은 외부 관찰자가 무선 노드(101)의 작은 커뮤니티를 관찰함으로써 개인적인 정보의 소유자를 추론할 가능성은 감소시킨다. 또 다른 메커니즘으로서, 인식 서비스 모듈(111)은 커뮤니티 층(205)의 암호/해독 모듈(245)(예를 들어, CID의 익명화)과 관련하여 설명된 프로세스를 사용하여 플러딩 메시지의 임의의 식별 정보를 익명화할 수 있다.
플러딩 메시지의 수신에 따라, 인식 서비스 모듈(111)은 메시지와 관련된 라우팅 표(273)와 MID 표(277)를 업데이트한다(단계(323)). 도 2e와 관련하여 논의한 바와 같이, 각각의 관찰된 소스 노드 NID에 대하여 라우팅 표(273)는 인식 서비스 모듈(111)이 동일한 플러딩 메시지(MID와 같은 메시지)를 재전송하기 위해 관찰한 모든 이웃 노드의 목록을 포함한다. 예를 들어, 네트워크 제어 모듈(271)은 그로부터 메시지가 목록의 다음 엔트리로서 수신되는 노드의 NID를 저장한다. 이러한 방법으로, 라우팅 표(273)는 현재 수신하는 노드와 소스 노드 간에 중복되는 다음 홉 정보(next-hop information)를 포함한다. 수신된 플러딩 메시지가 라우팅 표(273)에 포함된 것보다 더 큰 MSN을 포함하는 경우, 다음 홉 이웃의 목록이 이번 목적지에 대한 라우팅 표(273)로부터 삭제되고, 전송 노드는 다음 홉 목록의 첫 번째 엔트리로 설정된다. 예시적인 실시예로서, 플러딩 메시지에 기초한 라우팅 표(273)의 동적 업데이트는 인식 서비스 모듈(111)이 애드혹 메시 네트워크(109) 내의 무선 노드(101) 중에서 응답 라우트를 동적으로 생성하도록 활성화한다.
MID 표(277)을 업데이트하기 위하여, 인식 서비스 모듈(111)은 수신된 메시지에 대한 엔트리가 이미 존재하는지를 확인한다. 엔트리가 없는 경우 인식 서비스 모듈(111)은 수신 시간을 포함하는 수신된 플러딩 메시지에 대한 새로운 엔트리를 추가한다. 엔트리가 존재하는 경우, 인식 서비스 모듈(111)은 수신 시간을 업데이트한다. 수신 시간은, 예를 들어, MID 표로부터 오래된 엔트리를 삭제하는데 사용된다.
메시지 표(279)를 업데이트하기 위하여, 인식 서비스 모듈(111)은 먼저 (MID에 기초하여) 수신된 메시지가 이미 메시지 표에 존재하는지를 확인한다. 메시지의 존재는 메시지가 먼저 수신되어 모듈(111)에 의해 재전송되도록 이미 스케쥴되어 있음을 의미한다. 메시지가 메시지 표(279)에 이미 존재하는 경우, 메시지 표(279)의 메시지 카운터 또한 증가한다.
이웃 표(275)는 이웃하는 무선 노드(101)의 목록과 그와 상대적인 전파 거리(radio distance)의 측정치를 포함한다. 예시적인 실시예에서, 인식 서비스 모듈(111)은 이웃하는 무선 노드(101)의 상대적인 전파 거리의 판단을 개시한다(단계 (323)). 한 실시예에서 상대적인 전파 거리는 이웃하는 무선 노드(101)의 상대적인 전파 거리를 판단하기 위해 수신된 메시지의 전송 파워(예를 들어, RCPI치(receiver carrier power indication level))를 측정함으로써 예측된다. 그 후, 인식 서비스 모듈(111)은 그 상대적인 전파 거리 또는 다른 미리 정의된 기준에 따라 이웃하는 노드(101)를 분류한다(단계 (325)). 예를 들어, 이웃하는 노드(101)의 RCPI 및, 선택적으로, 관찰된 RCPI 이력에 기초하여, 노드(101)는 증가하는 RCPI치에 따라 정렬된다. 그 후 노드(101)는, 예를 들어, 하나 이상의 거리 기준(예를 들어, 세 개의 기준)으로 나뉜다: 가장 높은 RCPI(또는 RCPI 이력)치를 갖는 노드(101)는 "매우 가까운" 상대적 전파 거리로 분류되고; 가장 낮은 RCPI(또는 RCPI 이력)치를 갖는 노드(101)는 "먼" 상대적 전파 거리로 분류되고; 나머지 노드(101)는 "가까운" 상대적 전파 거리로 분류된다. 이러한 세 그룹의 크기는 인식 서비스 모듈(111)에 의해 상대적인 거리 분류에 사용되는 RCPI 임계치(threshold)를 수정함으로써 적응적으로 설정된다. 이웃하는 노드의 수가 적으면, 임계치는 모든 노드가 "가까운"으로 분류되도록 설정되어야한다.
이웃하는 무선 노드(101)의 알려진 전송 파워와 더불어 관찰된 신호 세기는 무선 노드(101)의 근접도(proximity)의 지표이고 상대적 전파 거리를 측정하는데 사용될 수 있다. 가장 최근에 수신된 메시지로부터의 노드의 상대적 전파 거리는 무선 노드(101)가 수신된 플러딩 메시지를 재전송했는가의 여부에 대한 판단기준으로서 사용된다. 예를 들어, 더 높은 신호 세기는 무선 노드(101)로부터 더 가까운 거리에 있음을 나타낸다. 인식 서비스 모듈(111)은 이웃하는 노드가 근처의 장치로부터 메시지를 수신하면서 이웃하는 노드(101)의 신호 세기를 모니터하고 상대적인 전파 거리(근접도)를 측정하는데 신호 세기를 사용한다. 인식 서비스 모듈(111)은 이웃하는 노드의 상대적인 전파 거리를 추정하는데(예를 들어, 글로벌 위치 판단 위성 수신기(global positioning satellite receivers) 또는 다른 위치 판단 기술을 사용하여 위치를 추정하는데) 임의의 다른 메커니즘을 사용할 수도 있다.
예를 들어, 소정의 시간 윈도우 T의 내에 이웃하는 노드(101)가 메시지 또는 비컨 신호를 전송하면, 이웃하는 노드(101)에 대한 엔트리는 이웃 표(275)에 유지된다. 특정 실시예에서, 시간 윈도우 T는 얼마나 빨리 이웃하는 노드(101)가 이동 또는 변경되는가에 따라 판단된다. 예를 들어, 이웃하는 노드(101)의 집합이 빨리 변경되면, 시간 윈도우 T는 짧아지고; 이웃하는 노드(101)의 집합이 안정되어 있으면 시간 윈도우 T는 길어진다. 시간 윈도우는 이웃하는 노드(101)의 집합의 안정도에 기초하여 동적으로 조절될 수 있다.
일 실시예에서, 수신된 플러딩 메시지가 매우 가까운 거리 부류로 분류된 이웃하는 무선 노드(101)로부터의 것이면(단계 (327)), 인식 서비스 모듈(111)은 플러딩 메시지의 재전송을 취소하거나 플러딩 메시지의 재전송을 개시하지 않는다 (단계 (329)). 이러한 상황 하에서, 인식 서비스 모듈(111)은 플러딩 메시지가 매우 가까운 이웃하는 무선 노드(101)로부터 수신되었기 때문에 다른 이웃하는 무선 노드(101) 또한 플러딩 메시지를 수신했을 것으로 가정한다. 따라서,가장 이웃하는 노드(101)로 플러딩 데이터를 재전송하는 것은 필요하지 않을 것이다. 이러한 방식으로, 인식 서비스 모듈(111)은 애드혹 메시 네트워크(109)를 통한 불필요한 재전송을 감소시킨다.
플러딩 메시지가 수신되는 이웃 노드(101)는 매우 근거리 카테고리에 있지 않고, 인식 서비스 모듈(111)은 사전 정의된 재전송 기준(단계 331)에 기초하여 플러딩 메시지를 재전송할지 여부를 판단한다. 이 판단의 부분으로서, 예를 들어, 인식 서비스 모듈(111)은 이웃 무선 노드(101)를 또는 그 이상의 그룹으로 기준에 따라 분류한다. 이어서, 특정 그룹의 분류는 그 그룹이, 예를 들어, 플러딩 메시지의 재전송을 받을지 여부를 판단하기 위해 사용된다. 재전송 기준은 예를 들어 메시지 홉 제한, 지리적 제한, 시간적 제한, 콘텍스트 제한 또는 그것의 조합을 포함한다. 인식 서비스 모듈(111)이 재전송 기준으로서 또 다른 제한 또는 콘텍스트를 사용할 수 있다는 것이 고려된다. 실시예들에서, 전송 기준은 플러딩 메시지의 불필요한 재브로드캐스트에 대한 잠재력을 줄여 애드혹 메시 네트워크(109)를 통과하는 데이터 트래픽을 최소화한다. 예를 들어, 인식 서비스 모듈(111)은, 애드혹 메시 네트워크(109)에서 플러딩 메시지가 통과한 홉의 개수를 나타내는 수신된 메시지 내의 홉 카운트 필드(286)를 체크함으로써 메시지 카운트 제한을 적용한다. 일단 메시지 카운트가 사전에 정해진 제한에 도달하면 플러딩 메시지는 취소되고 더 이상 재전송되지 않는다. 이와 같은 제한 은메시지가 제한 없이 전송되는 것을 방지한다. 특정 실시예에서, 메시지 카운트 제한은 메시지의 발신자가 설정할 수도 있었다는 또 다른 제한을 무효화할 수 있다.
유사하게, 인식 서비스 모듈(111)은 예를 들어, 플러딩 메시지의 지리적 제한(287)과 무선 노드(101)의 위치를 비교함으로써 플러딩 메시지의 지리적 확산을 한정할 수 있다. 이 위치 정보는 이웃 무선 노드(101)에 의해 공유되는 인식 정보로서 획득되거나, 이웃 무선 노드(101) 또는 포지셔닝 모듈 또는 무선 노드(101)에 의해 접근 가능한 다른 포지셔닝 서비스로부터 직접적으로 획득될 수 있다.
시간적 기준에 기초한 재전송 기준에 대해서는, 인식 서비스 모듈(111)은 메시지의 유효 시간 동안만 플러딩 메시지를 재브로드캐스트를 한다. 예를 들어, 플러딩 메시지는 콘서트에 관한 정보를 포함하고, 콘서트의 시간 동안만 유효하다. 예를 들면, 시간이 플러딩 메시지의 시간적 제한(298)에 의해 정의된 유효 시간을 벗어나면 인식 서비스 모듈(111)은 시간을 판단하기 위해 클록 서비스(예를 들어, 무선 노드(101)에서의 레지던트 또는 무선 노드(101)의 외부)에 접근하고 플러딩 메시지를 재전송하지 않는다.
콘텍스트 제한에 기초한 재전송 기준에 관해, 수신된 메시지 내의 콘텍스트 제한(287)이 수신 노드의 그것과 매칭될 때만 인식 서비스 모듈(111)은 플러딩 메시지를 재브로드캐스트한다. 이와 같은 콘텍스트(예를 들어, "브래드버리 몰(Bradbury Mall)")는 다른 모바일 노드 또는 고정된 위치에서 설치된 노드로부터 수신된 인식 정보에 기초하여 계산될 수 있다. 예를 들면, 상점을 위한 광고를 포함하는 플러딩 메시지는, 상점이 위치한 몰 내에 위치한 무선 노드(101)로만 제한된 그것의 분포를 가질 수 있다.
재전송 기준의 어플리케이션에 기초하여, 인식 서비스 모듈(111)은 플러딩 메시지를 재전송할지를 판단한다. 만약, 재전송하기로 판단나면, 인식 서비스 모듈(111)은 수신된 플러딩 메시지를 전송 큐에 덧붙이기 위해 메시지 테이블(279)를 업데이트 하고, 예를 들어 재전송 시간 범위를 각각의 거리 카테고리에 할당함으로써 플러딩 메시지의 재브로드캐스트를 초기화한다(단계 333). 예를 들어, 가까운 그룹의 재전송 범위는 가까운 그룹에 분류된 또는 포함된 무선 노드(101)의 개수에 기초하여 계산될 수 있다. 유사하게, 먼 그룹을 위한 재전송 범위는 먼 그룹에 분류된 또는 포함된 무선 노드(101)의 개수에 기초하여 계산될 수 있다. 재전송 범위가 각각의 정의된 그룹에 대해 독립적으로 계산될 수 있다는 것이 고려된다. 예를 들어, 재전송 시간 범위는 플러딩 메시지가 특정 거리 카테고리 내의 이웃 무선 노드(101)로 재전송될 시간을 정의한다. 보다 구체적으로, 인식 서비스 모듈(111)은 각각의 이웃 무선 노드(101)를 위해 할당된 재전송 시간 범위에 따라서 플러딩 메시지의 재전송을 스케쥴링한다(단계 335). 이러한 방식으로, 인식 서비스 모듈(111)은 예를 들어, 그들의 관련된 무선 거리에 기초하여 이웃 무선 노드(101)로의 플러딩 메시지의 재전송을 지연시키거나 스태거링(stagger)할 수 있다. 지연 또는 스태거는 애드혹 메시 네트워크(109)의 트래픽 용량이 포화되는 가능성을 감소시킨다. 또한, 플러딩 메시지는 이웃 무선 노드(101)로부터 수신될 수 있는데, 인식 서비스 모듈(111)은 또한, 이웃 무선 노드(101)의 거리 카테고리에 기초하여 플러딩 메시지의 재전송을 지속할지 판단한다. 예를 들면, 만약 전송 이웃 무선 노드(101)가 매우 가까운 카테고리 내에 있으면 인식 서비스 모듈(111)은 플러딩 메시지의 재전송을 취소할 수 있다. 예를 들어, 전송 무선 노드(101)가 매우 가까운 카테고리 내에 있기 때문에 다른 이웃 무선 노드(101)도 역시 플러딩 메시지를 이미 수신했을 것 같다라고 가정되게 된다. 따라서, 재전송은 불필요한 것 같다. 만약 전송 노드(101)가 먼 카테고리 내에 있으면, 다른 이웃 노드가 플로딩 메시지를 벌써 수신했을 것 같지 않기 때문에 인식 서비스 모듈(111)은 재전송을 위해 플러딩 메시지를 스케쥴링할 것이다.
또한, 플러딩 메시지의 재브로드캐스트는 지연되거나 조건부가 될 것이다. 예를 들면, 동일한 노드(101)에 의한 이전의 플러딩 메시지의 전송으로부터 지정된 시간(예를 들어, 할당된 전송 시간 범위에 의해 판단된)이 경과된 후, 메시지는 브로드캐스트되기 위해 D2D 무선 층(209)으로 보내지고, 신규 메시지의 입장은 "전송됨"으로 맞춰진 전달된 플래그와 함께 MID 테이블에서 만들어진다. 이 사전 지정된 시간은, 메시 네트워크(109)의 트래픽 상황에 의존하는 할당된 재전송 시간 범위 내의 동적으로 정정될 수 있는 파라미터일 수 있다. 트래픽 레벨 및 무선 채널의 사용이 높을수록, 네트워크(109)의 노드 내의 평균 파워 소비가 더 높을수록, 브로드캐스트들 사이의 사전 지정된 시간 간이 더 길어야 한다. 일반적으로, 시간 간격을 정하는 것은 인식 서비스 모듈(111)이다. 그러나, 모듈(111) 내의 이러한 트래픽 제어 수단이 몇몇 상황에서 고의적으로 불능이 될 수 있다고 고려된다. 몇몇 실시예에서, 이웃 피어 노드는 이러한 제한을 무시하는 노드(101)로부터 발신된 플러딩 메시지를 앞으로 포워드 반송하지 않는다.
특정 실시예에서, 재브로드캐스트에 따라 MID 테이블(227)은 전달된 플래그(보내짐)를 설정함으로써 업데이트된다. 실시예에서, 지연 기간은, 플러딩 메시지를 전송하는 노드의 관련된 무선 거리에 의존하는 이 시간의 분포를 갖는 할당된 재전송 시간 범위(예를 들어, T1, T2) 내의 시간 중 랜덤 양 만큼이다. 메시지와 관련된 관련 무선 거리가 "근접"이면, 메시지는 세트를, 예를 들어, 범위 [T1..T1+T2] 내의 랜덤 값으로 보내기 위해 시간과 함께 메시지 테이블(279)에 기록된다. 만약, 메시지와 관련된 관련 무선 거리가 "멀다면", 메시지는 세트를 범위 [0..T1] 범위 내의 랜덤 값으로 보내기 위해 시간과 함께 메시지 테이블(279)에 기록된다. 이와 같은 선호 노드는 더 멀리 떨어져 플러딩 메시지 전진을 중계시켜 더 나은 플러딩 효과를 낸다(더 적은 전송의 전체 개수). 랜덤 지연 시간의 사용은 또한, 애드혹 메시 네트워크(109)를 거쳐 전파되는 메시지로서 의도치 않은 메시지 브로드캐스트들의 동기화를 방지한다. 예를 들어, 메시지 브로드캐스트의 의도치 않은 동기화는 너무 많은 노드(101)가 정확히 동시에 브로드캐스트(예를 들어, 플러딩) 메시지를 애드혹 메시 네트워크(109)를 거쳐 전송하게 되는 결과를 불러일으킨다. 이 두 전송 시간 범위, T1 및 T2,의 길이는 이웃 테이블의 엔트리들의 개수에 기초하여 정해지는데, 여기서, 엔트리의 개수가 많을수록 T1 및 T2가 커진다. 만약 모든 이웃들이 관련 무선 거리 "가까움"으로 할당되도록 이웃 테이블(275)에서 노드의 개수가 작다면 T1 및 T2는 제로(0)로 설정된다. 이런 식으로, 낮은 노드 밀도에서 모든 노드들은 플러딩 실패의 가능성을 최소화하기 위해 지연 없이 모든 메시지를 재브로드캐스트할 것이다.
주어진 메시지를 위한 지연 기간 동안, 이 같은 메시지(동일한 MID와 같이)의 가능한 신규 접수는 메시지 테이블(279) 내의 메시지 카운터를 증가시킴으로써 기록된다. 만약 접수의 개수가 사전 정해진 한계(예를 들어, 1 및 3 사이의 전형적인 값)를 초과하면 메시지는 메시지 테이블(279)로부터 떨어지고 스케쥴링된 전송은 발생하지 않을 것이다. 또한, 플러딩 메시지가 나오는 노드가 "매우 가까움"이면, 메시지는 메시지 테이블(279)로부터 역시 삭제된다. 이것의 논리는 이와 같은 상황에서 대부분의 이웃 노드들이 이 메시지를 수신했다는 것이다. 이것은 또한 낮은 노드 밀도(이웃 테이블(275)에서의 이웃들의 적은 개수)에서 "매우 가까움" 카테고리내에 노드가 가장 없을 것 같기 때문인 것이고, 따라서, 각각의 플러딩 메시지는 즉각 재전송된다. 요컨대, 프로세스(320)는 평균적으로 각각의 플러딩 메시지가 각각의 노드(101)에 의해 노드 밀도와 무관하게 소수의 횟수로 수신되도록 이끈다. 메시지가 어떠한 하나의 노드(101)에 의해 수신되는 횟수는 네트워크(109)의 확장성에 영향을 미친다.
도 3c는 실시예에 따라, 이웃 무선 노드의 밀도에 기초하여 플러딩 메시지를 전송하기 위한 프로세스를 나타내는 흐름도이다. 일 실시예에서, 인식 서비스 모듈(111)은 도 3c의 프로세스(340)를 수행하고, 예를 들어, 도 9에 도시된 프로세서 및 메모리를 포함하는 칩 셋에 구현된다. 위에서 언급하였듯이 수신된 플러딩 메시지는 도 3b의 프로세스를 이용하지 않고 즉각 전송될 수 있다. 단계 341에서, 인식 서비스 모듈(111)은 이웃 무선 노드(101)로부터 플러딩 메시지를 수신한다. 인식 서비스 모듈(111)은 플러딩 메시지를 수신하자마자 이웃 무선 노드(101)를 카운팅한다(단계 343). 예를 들어, 인식 서비스 모듈은 각각의 이웃 무선 노드(101)에 대응하는 많은 엔트리들이 테이블(275)에 있는지 카운팅하기 위해 이웃 테이블(275)과 논의한다. 이어서, 인식 서비스 모듈(111)은 이웃 무선 노드(101)의 개수의 카운트가 사전 정해진 수보다 작은지 판단한다. 이 사전 정해지는 수는 (1) 플러딩 메시지의 전파가 낮은 밀도에 의해 방해받지 않을 것을 위해, 및/또는 (2) 인식 서비스 모듈(111)이 낮은 밀도에 의해 그것을 추정할 수 있기 위해, 비교적 적은 이웃 무선 노드(101)가 동일한 플러딩 메시지를 수신하도록 하기 위해 이웃 무선 노드(101)의 충분히 낮은 밀도에 따라서 정해질 수 있다. 만약 카운트가 사전 정해진 수보다 작다면, 인식 서비스는 즉각 플러딩 메시지의 이웃 무선 노드(101)로의 재전송을 초기화한다(단계 347). 만약 카운트가 사전 정해진 수보다 적지 않다면(예를 들어, 이웃 무선 노드(101)의 밀도가 비교적 높을 때) 인식 서비스 모듈(111)은 도 3b와 관련되어 설명된 프로세스에 따라 플러딩 메시지의 재전송을 초기화한다(단계 349).
도 4a 및 4b는, 다양한 실시예에 따라, 애드혹 메시지를 각각 통해 유니캐스트 메시지를 생성하고 수신하기 위한 프로세스를 나타내는 흐름도이다. 일 실시예에서, 인식 서비스 모듈(111)은 도 4a의 프로세스 400을 수행하고, 도 4b의 프로세스 420을 수행하며, 예를 들어, 도 9에 도시된 프로세서 및 메모리를 포함하는 칩 셋에 구현된다. 도 4a와 관련해서, 인식 서비스 모듈(111)이 플러딩 메시지를 수신했다고 추정된다. 단계 401에서, 인식 서비스 모듈(111)은 플러딩 메시지에 응답할지를 판단한다. 예를 들면, 만약 플러딩 메시지가 정보를 위한 질의라면, 인식 서비스 모듈(111)은 질의에 응답하기 위해 UE(101)가 정보를 가지고 있는지를 판단한다(단계403). 만약 UE(101)이 질의된 정보를 포함한다면, 인식 서비스 모듈(111)은 수신된 플러딩 메시지에 대한 응답(예를 들어, 유니캐스트 메시지)을 생성한다(단계 405). 예를 통해, 응답 메시지는 수신된 플러딩 메시지에 의해 전달된 질의와 관련된 정보를 포함할 수 있다. 응답 프로세스의 일환으로서 인식 서비스 모듈(111)은 네트워크 층 헤더(281) 내의 다른 필드뿐만 아니라 응답 메시지를 위한 신규 메시지 시퀀스 번호(MSN)(285)를 할당한다. 응답 메시지는, 예를 들어, 목적지 모듈(예를 들어, 플러딩 메시지의 발신인 소스 노드(101))의 NID를 또한 포함한다. 이어서, 인식 서비스 모듈(111)은 응답의 전송을 위한 수신 노드를 식별하기 위해 라우팅 테이블(273)에게 정보를 구한다. 실시예에서, 수신 노드는 발신 노드 그 자체(예를 들어, 만약 발신 노드가 범위 안에 있다면)일 수 있거나 즉각 중계 노드일 수 있다. 이어서, 인식 서비스 모듈(111)은 예를 들어, 라우팅 테이블(273)에 따라 라우팅된 유니캐스트 메시지를 이용하는 다음 전송 기회에 응답을 전송한다(단계 407). 전송되자마자, MID 테이블(277) 내에 신규 엔트리가 "전송"으로 설정된 전달된 플래그와 함께 만들어진다.
유니캐스트 메시지는, 애드혹 메시 네트워크(109)에서 네트워크 자원들을 절약하고 전력 소비를 줄이기 위해 응답하는데 일반적으로 사용된다고 고려된다. 몇몇 실시예에서, 만약 질의 메시지에서 플래그에 의해 요청되었다면 플러딩 메시지는 응답을 위해 사용될 수 있다. 예를 들어, 응답이 애드혹 메시 네트워크(109) 내의 노드들의 많은 수의 관심일 것 같으면 플러딩 메시지를 통한 응답은 가치를 인정받을 수 있다. 응답을 위한 플러딩 메시지를 이용하는 다른 경우는 질의 및 응답 사이에 고려될만한 시간 갭이 있다면 발생될 수 있다. 이런 경우, 메시 네트워크(109)의 플러딩 질의에 의해 생성된 라우팅 정보는 폐기될 수 있다.
도 4b는, 실시예에 따라, 애드혹 메시 네트워크(109)를 거쳐 유니캐스트 메시지를 수신하는 프로세스를 나타내는 흐름도이다. 시스템(100)은 소스 플러딩 메시지를 수신 무선 노드(101)로 전달하는 라우트가 더이상 존재하지 않는 경우(예를 들어, 왜냐하면 발신 중계 노드가 애드혹 메시 네트워크(109)에 존재하거나 위치를 변경하기 때문)에도 유니캐스트 응답 메시지가 소스 노드로 다시 라우팅되는 것을 가능하게 한다. 단계 421에서, 인식 서비스 모듈(111)은 응답 메시지(예를 들어, 유니캐스트 응답 메시지)를 수신한다. 수신 노드(101)의 무선 범위 내에서 전송되는 유니캐스트 메시지 또는 지식 메시지는 애드혹 메시 네트워크(109)에서 그 노드(101)의 인식 서비스 모듈(111)에 의해 수신된다. 이 예에서, 수신 인식 서비스 모듈(111)은 응답 메시지의 궁극적으로 의도된 수취인이 아니다(예를 들어, 응답이 발송되는 주소지인 소스 노드가 아님). 도 3b와 관련되어 설명된 프로세스와 같이, 인식 서비스 모듈은 라우팅 테이블(273) 및 MID 테이블(277)을 업데이트 한다(단계 423). 예를 들어, 메시지가 수신되면, 라우팅 테이블(273)은 메시지가 플러딩인지 또는 유니캐스트 메시지인지 업데이트된다. 필요하다면, 유니캐스트 응답 메시지에 의해 생성된 라우팅 정보는 더 나아가 질의 및 응답 노드들 사이의 유니캐스트 메시지 교환을 위해 사용될 수 있다.
다음으로, 인식 서비스 모듈(111)은 이전에 응답 메시지를 전송하였는가를 판단한다(단계 425). 예를 들어, 인식 서비스 모듈(111)은 응답 메시지에 대응하는 MID 테이블(277) 엔트리와 관련된 전달된 플래그를 검사함으로써 이 체크를 수행할 수 있다. 전달된 플래그가 인지 서비스 모듈(111)이 응답을 이전에 전송하였음을 나타내면, 어떠한 다른 액션도 취해지지 않는다. 전달된 플래그가 응답 메시지가 이전에 전달되지 않았음을 나타내면, 인지 서비스 모듈(111)은 메시지의 예정된 수신이 이웃 테이블(275)에 있는지 여부를 검사한다(단계 427). 일 실시예에서, 가시적 이웃 노드(101)는 이웃 테이블(275)에 진입된다. 예컨대, 메시지 또는 비컨(beacon) 신호가 사전판단된 시구간 내에 노드(101)로부터 수신되면, 노드(101)는 이웃 테이블(275) 내에 배치된다. 만일 예라면, 인지 서비스 모듈(111)은 협력 응답 프로세스를 개시하여, 예정된 수신 노드(101)(예컨대, 소스 노드)로의 수신된 유니캐스트 응답 메시지의 재전송을 개시한다. 예로써, 인지 서비스 모듈(111)은 라우팅 테이블(273)을 참고하여 소스 노드로의 이용가능한 라우트가 존재하는지 여부를 판단한다. 만일 라우트(예컨대, 소스 노드로 직접 또는 다른 중계 노드를 통해)가 존재하면, 인지 서비스 모듈(111)은 다음 전송 기회에 유니캐스트 메시지를 재전송하고, 대응하는 MID 테이블(277) 엔트리의 전달된 플래그를 업데이트하여 주어진 MID를 가진 유니캐스트 메시지를 재전송하였음을 나타낸다(단계 429). 몇몇 실시예에서, 어드레싱된 수신지로부터 어떠한 확인응답도 수신되지 않고, 동일한 착신 노드에 대한 다른 엔트리가 라우팅 테이블(273)에서 발견되면, 그 엔트리 내에 표시된 이웃 노드로 동일한 메시지의 신규 전송이 이루어진다. 이 프로세스는 다수 회 또는 라우팅 테이블(273) 내의 전송기 NID 리스트(테이블 1)가 소모될 때까지 반복될 수 있다.
예정된 수신 노드(101)가 이웃 테이블(275)에 존재하지 않으면, 인지 서비스 모듈(111)은 예정된 수신 노드(101)에 의해 응답 메시지 수신의 확인응답을 듣는 데 협력 응답 프로세스를 사용한다. 확인응답이 관측되면, 인지 서비스 모듈은 협력 응답 프로세스를 종료한다. 만일 예정된 수신 노드로부터 어떠한 확인응답도 관측되지 않으면, 인지 서비스 모듈(111)은 예정된 수신 노드(101)로 응답 메시지를 전송한 이웃 노드(101)의 상대적 무선 거리를 판단한다. 예정된 수신 노드(101)의 상대적 무선 거리가 이웃 테이블(275)에서 "먼(far)"으로 설정되면, 협력 응답 프로세스는 취소된다. 또한, 메시지를 전송한 노드가 "매우 가까우면", 협력 응답 프로세스는 취소된다. 이러한 방식으로, 인지 서비스 모듈은 응답 메시지를 불필요하게 재전송하는 것을 방지하며, 이로써 협력 응답 프로세스에 대한 대역폭 및 전력 요구가 감소한다. 그렇지 않으면 인지 서비스 모듈(111)은 메시지 테이블(279) 내에 메시지를 기록함으로써 유니캐스트 메시지의 지연된 재전송을 개시한다. 어드레싱된 수신지의 상대적 무선 거리가 "가까우면", 메시지는 예컨대, 범위 [T1..T1+T2] 내의 랜덤 값으로 설정된 전송 시간이 지남에 따라 메시지 테이블(279)에 기록된다. 어드레싱된 수신지의 상대적 무선 거리가 "매우 가까우면", 메시지는 범위 [0..T1] 내의 랜덤 값으로 설정된 전송 시간이 지남에 따라 메시지 테이블(279)에 기록된다. 랜덤 지연의 사용은 유니캐스트 메시지의 과도한 증가를 방지한다. 이들 2 개의 시간 범위(T1 및 T2)의 길이는 이웃 테이블 내의 엔트리의 수에 기초하여 설정되는데, 엔트리의 수가 클수록 T1과 T2는 길어진다. 만일 이웃 테이블(275) 내의 노드의 수가 너무 적으면, 즉, 모든 이웃이 상대적 무선 거리 "가까움"에 할당되면, T1과 T2는 0으로 설정된다. 이런 식으로, 낮은 노드 밀도로, 모든 노드는 라우팅 실패 확률을 최소화하기 위해 모든 메시지를 지연 없이 재전송할 것이다. 이는 메시지의 증가를 야기할 수 있지만, 리던던트 메시지는 그들이 더 전파됨에 따라 전형적으로 없어질 것이다(리던던트 메시지는 그들이 통과한 노드의 MID 테이블 내에 기록되므로 포워딩되지 않는다).
주어진 메시지의 지연 기간 동안에, 다른 노드에 의해 이 동일한 메시지(동일한 MID를 가짐)의 임의의 성공적인 수신의 관측이 모니터링된다. 다른 노드에 의한 성공적인 수신의 관측은 메시지와 어드레싱된 노드에 의한 수신 확인응답 양자 모두가 수신됨을 의미한다. 그러한 관측시에, 가령, 이 메시지의 스케쥴링된 전송은 취소되고 메시지 테이블(279)로부터 메시지가 제거된다.
동일한 메시지의 지연된 재전송이 메시지가 전송되도록 스케쥴링되는 시간까지 취소되지 않으면, 노드는 그 메시지를 라우팅 테이블(273)로부터 발견된 정확한 수신기로 전송할 것이다. 이런 방식으로, 응답 메시지의 예정된 수신지가 아닌 노드(101)는 정확한 착신지로의 메시지 포워딩을 라우팅할 때 지원할 수 있다.
도 5a는 예시적인 실시예에 따라 질의 노드에서 사용되는 일련의 메시지 및 프로세스를 도시하는 사다리형 도면이다. 네트워크 프로세스는 얇은 세로 선으로 표시된다. 프로세스마다 통과한 단계 또는 메시지는 가로 화살표로 표시된다. 가로 점선 화살표는 선택적 단계 또는 메시지를 표시한다. 도 5a에 표시된 프로세스는 질의 노드(502), 중계 노드(506) 및 응답 노드(508)이다. 질의 노드(502) 내에서, 후속하는 추가 프로세스가 표시된다: 애플리케이션(504), 인지 계층(203), 커뮤니티 계층(205), 네트워크 계층(207) 및 D2D 무선 계층(209).
단계(501)에서, 질의 노드(502) 내의 애플리케이션(201)은 애드혹(ad-hoc) 메시 네트워크(109)를 통해 정보 검색 요청을 생성하고, 그 요청을 질의 노드(502)의 인지 계층(203)으로 전달한다. 인지 계층(203)은 질의 메시지를 생성하고, 질의 메시지에 질의 식별 번호(QID)를 할당하며, 질의 메시지를 질의 노드(502)의 커뮤니티 계층(205)으로 포워딩한다(단계 503).
커뮤니티 계층(205)은 사용자가 정보를 찾고 있는 커뮤니티의 CID로 질의를 마킹함으로써 애드혹 메시 네트워크(109)를 통해 전송할 질의 메시지를 준비한다. 만일 커뮤니티가 비밀이면, 커뮤니티 계층(205)은 각각의 CID와 연관되고 커뮤니티 디렉토리(243)(도 2c)에 저장된 인증 키를 사용하여 질의 메시지를 암호화한다. 그러면 커뮤니티 계층(205)은 각각의 CID와 연관된 인증 키를 사용하여 질의에 부착된 CID를 익명화하고, 익명화되고 아마 암호화된 메시지를 네트워크 계층(207)으로 전달한다(단계 505).
네트워크 계층(207)은 질의 메시지에 메시지 시퀀스 번호(MID)를 할당하고 (예컨대, NID를 사용하여) 질의 노드(502)가 질의 메시지의 소스 및 전송기임을 나타내는 필드를 네트워크 계층 메시지 헤더(281)(도 2f)에 추가한다. 네트워크 계층(207)은 애드혹 메시 네트워크(109)로 브로드캐스팅하기 위해 질의 노드(502)의 D2D 무선 계층(209)으로 질의 메시지를 전달한다(단계 507).
이어서 질의 메시지는 하나 이상의 중계 노드(506)로 브로드캐스팅된다(단계 509). 브로드캐스트 메시지를 수신할 수 있는 모든 노드는 중계 노드이다. 중계 노드의 프로세스는 도 5b에 관하여 설명된다. 중계 노드(506)에 의한 프로세싱 후에, 질의 메시지는 다른 중계 노드 또는 응답 노드(508)로 재브로드캐스팅된다(단계 515). 응답 노드(508)의 프로세스는 도 5c에 관하여 설명된다. 응답 노드(508)에 의한 질의 메시지의 프로세싱 후에, 응답 메시지가 생성되고, 라우팅 테이블(273)에 저장된 라우트에 기초하여 응답 메시지를 다른 중계 노드 또는 질의 노드(502)로 라우팅하는(단계 515) 중계 노드(506)로 전달된다(단계 513).
질의 노드(502)에서, D2D 무선 계층(209)은 응답 메시지를 수신하고 확인응답하며 네트워크 계층(207)으로 응답 메시지를 포워딩한다(단계 517). 네트워크 계층(207)은 네트워크 계층 메시지 헤더(281) 내의 DST 필드(294)를 체크함으로써 질의 노드(502)가 응답 메시지의 예정된 착신지인지를 판단하고, 그 메시지를 프로세싱할 커뮤니티 계층(205)으로 전달한다(단계 519). 비공개 커뮤니티의 경우에, 커뮤니티 계층(205)은 커뮤니티 디렉토리(243)에 저장된 적합한 인증 키를 사용하여 응답 메시지를 복호화한다. 이어서 커뮤니티 계층(205)은 인지 계층(203)으로 복호화된 응답 메시지를 전달한다(단계 521). 인지 계층(203)은 응답 메시지의 콘텐츠 및 응답 메시지에 포함된 QID를 사용하여 애플리케이션(201)에 서비스 응답을 제공한다(단계 523).
도 5b는 예시적인 실시예에 따라 중계 노드에서 사용되는 일련의 메시지 및 프로세스를 도시하는 사다리형 도면이다. 네트워크 프로세스는 얇은 세로 선으로 표시된다. 프로세스마다 단계 또는 메시지는 가로 화살표로 표시된다. 가로 점선 화살표는 선택적 단계 또는 메시지를 표시한다. 도 5b에 표시된 프로세스는 애플리케이션(201), 인지 계층(203), 커뮤니티 계층(205), 네트워크 계층(207) 및 중계 노드(506)의 D2D 무선 계층(209)이다.
단계(541)에서, 중계 노드(506)의 D2D 무선 계층은 질의 노드(502) 또는 다른 중계 노드로부터 질의 메시지를 수신하고, 그 메시지를 네트워크 계층(207)으로 전달한다. 네트워크 계층은 단계(323 내지 329)(도 3b)를 수행하여 질의 메시지를 재브로드캐스팅할지 여부를 판단한다. 네트워크 계층(207)이 질의 메시지를 재브로드캐스팅한다고 판단하면, 네트워크 계층은 질의 메시지를 다시 전송할 D2D 무선 계층(209)으로 전달한다(단계 543).
네트워크 계층(207)은 또한 커뮤니티 계층(205)으로 질의 메시지를 포워딩한다(단계 545). 커뮤니티 계층(205)이 커뮤니티 디렉토리(243)(도 2c)에 저장된 정보에 기초하여 질의 메시지가 중계 노드(506)와 연관된 활성 커뮤니티의 익명화된 CID를 포함한다고 판단하면, 커뮤니티 계층은 메시지를 복호화하고 인지 계층(203)으로 포워딩한다. 이 예에서, 중계 노드(506)는 아이템 스토리지(223)(도 2b) 내의 어떠한 매칭 정보도 갖지 않으며 질의 메시지를 중계하기 위해서만 기능한다.
다른 예에서, 단계(541)에서, 중계 노드(506)의 D2D 무선 계층은 응답 노드(508) 또는 다른 중계 노드로부터 중계 메시지를 수신하고, 그 메시지를 네트워크 계층(207)으로 전달한다. 네트워크 계층은 단계(423 내지 435)(도 4b)를 수행하여 응답 메시지를 재전송할지 여부를 판단한다. 네트워크 계층(207)이 응답 메시지를 재전송한다고 판단하면, 네트워크 계층은 응답 메시지를 다시 전송할 D2D 무선 계층(209)으로 전달한다(단계 543).
네트워크 계층(207)은 또한 응답 메시지를 커뮤니티 계층(205)으로 포워딩한다(단계 545). 커뮤니티 계층(205)이 커뮤니티 디렉토리(243)(도 2c)에 저장된 정보에 기초하여 응답 메시지가 중계 노드(506)와 연관된 활성 커뮤니티의 익명화된 CID를 포함한다고 판단하면, 커뮤니티 계층은 메시지를 복호화하고, 아이템 스토리지(223) 내에 응답 메시지의 정보를 저장할 수 있는 인지 계층(203)으로 포워딩한다.
도 5c는 예시적인 실시예에 따라 중계 노드에서 사용되는 일련의 메시지 및 프로세스를 도시하는 사다리형 도면이다. 네트워크 프로세스는 얇은 세로 선으로 표시된다. 프로세스마다 단계 또는 메시지는 가로 화살표로 표시된다. 가로 점선 화살표는 선택적 단계 또는 메시지를 표시한다. 도 5c에 표시된 프로세스는 응답 노드(508) 및 질의 노드(502)이다. 응답 노드(508) 내에서, 후속하는 추가적인 프로세스가 표시된다: 애플리케이션(201), 인지 계층(203), 커뮤니티 계층(205), 네트워크 계층(207) 및 D2D 무선 계층(209).
단계(561)에서, 응답 노드(508)의 D2D 무선 계층(209)은 질의 메시지를 수신하고, 도 5b의 중계 노드(506)에 관하여 설명된 것과 동일한 프로세스에 따라 그 질의 메시지를 응답 노드(508)의 네트워크 계층(207)으로 전달한다. 네트워크 계층(207)은 질의 메시지를 재브로드캐스팅하도록 판단할 수 있다(단계 563). 수신시에, 네트워크 계층(207)은 질의 메시지를 커뮤니티 계층(205)으로 포워딩한다(단계 565).
커뮤니티 계층(205)이 질의 메시지가 응답 노드(508)와 연관된 활성 커뮤니티의 익명화된 CID를 포함한다고 판단하면, 커뮤니티 계층(205)은 만일 비밀이라면 그 메시지를 복호화하고, 질의 메시지를 인지 계층(203)으로 포워딩한다(단계 567). 만일 질의에 대한 아이템 매칭이 응답 노드(508)의 아이템 스토리지(223)에서 발견되면, 질의 계층은 착신 질의와 동일한 QID를 포함하고 응답 메시지의 착신 NID로서 설정된 질의 메시지의 소스 NID를 가진 응답 메시지를 생성한다. 그 다음에, 인지 계층은 메시지를 커뮤니티 계층(205)으로 포워딩한다(단계 569). 만일 응답 메시지가 관련되는 커뮤니티가 비공개 커뮤니티이면, 응답 메시지는 커뮤니티와 연관된 키를 사용하여 암호화된다. 그러면 커뮤니티 계층(205)은 커뮤니티 식별자 CID를 익명화하고 응답 메시지를 네트워크 계층(207)으로 전달한다(단계 571).
응답 메시지의 수신시에, 네트워크 계층(207)은 응답 메시지에 신규 메시지 시퀀스 번호(MSN)를 할당하고, 소스 및 전송기로서 응답 노드(508)의 NID를 부착하며, 라우팅 테이블(263)로부터 다음 홉(hop)에 대한 중계 노드(506)의 NID를 찾고, 다음 홉으로서 응답 메시지의 타겟 NID를 설정하며, 응답 메시지를 D2D 무선 계층(209)으로 전달한다(단계 569). D2D 무선 계층(209)은 응답 메시지를 애드혹 메시 네트워크(109)를 통해 중계 노드(506)로 어드레싱된 유니캐스트 메시지로서 전달한다.
도 6a 및 도 6b는 여러 가지 예시적인 실시예에 따라 애드혹 메시 네트워크를 통해 인지 정보를 제공하는 프로세스에서 이용되는 사용자 인터페이스의 도면이다. 도 6a는 인지 정보를 관리하고 액세스하기 위한 커뮤니티 관련 정보 및 커맨드를 듣는 사용자 인터페이스(600)를 도시한다. 예컨대, 섹션(601)은 무선 노드(101)에 가까운 커뮤니티 멤버를 열거한다. 멤버는 하나 이상의 상이한 커뮤니티의 소속일 수 있다. 멤버 선택은 사용자로 하여금 멤버에 접촉할 수 있게 하거나, 멤버의 상태를 볼 수 있게 하거나, 사용자와 관련된 다른 애플리케이션 또는 기능에 액세스할 수 있게 한다. 섹션(603)은 예컨대, 특정 커뮤니티에 참여하라는 초대와 같은 상태 커맨드 또는 프롬프트를 디스플레이할 수 있다. 사용자 인터페이스(600)는 또한 추가적인 커맨드를 개시하도록 선택가능한 메뉴 옵션(605)을 제공한다. 예컨대, 옵션 "내 주변(Around Me)"을 선택하는 것은 커뮤니티 멤버의 위치를 가진 맵(607)의 디스플레이를 프롬프팅한다.
도 6b는 커뮤니티를 관리하는 사용자 인터페이스(620)를 도시한다. 예컨대, 섹션(621)은 각각의 커뮤니티를 개별적으로 활성화 또는 비활성화하는 옵션(623)을 가진 현재 정의된 커뮤니티를 디스플레이한다. 사용자는 또한 제어(625)를 이용하여 공개 또는 비공개 중 하나로서 각각의 커뮤니티를 지정할 수 있다. 각 커뮤니티의 멤버들은 멤버를 추가하거나 제거하기 위한 제어(629)와 함께 섹션(627)에서 디스플레이된다.
도 7은 본 발명의 실시예에 따른 플러딩(flooding) 메시지를 브로드캐스팅하고 정보를 익명으로 공유하기 위한 액세스를 제공하는 프로세스의 흐름도이다. 단계(701)에서, 통신 네트워크(103)는 이웃 무선 노드로부터 플러딩 메시지에 대한 응답 메시지를 수신하고, 응답의 의도된 수신 무선 노드가 이웃 테이블에서 특정되었는지를 판단하며, 수신 무선 노드가 이웃 테이블에서 특정된 경우에 공동 응답 프로세스를 개시하기 위한 액세스 및 지원을 제공한다. 예를 들어, 응답 메시지는 애드혹 메시 네트워크(109)를 통해 인식 정보를 익명으로 공유하는 것을 지원한다. 실시예에서, 플러딩 메시지 및 공유되는 정보는 정보 및 콘텐츠에 대한 포인터를 포함하고 정보 및 콘텐츠 자체는 포함하지 않아서 애드혹 메시 네트워크(109)를 통한 데이터 트래픽을 최소화한다. 대신, 애드혹 메시 네트워크(109) 내의 무선 노드(101)는 종래 통신 시스템 및 프로토콜을 통해 실제 정보 또는 콘텐츠를 획득한다. 그러나, 플러딩 메시지는 콘텐츠의 크기가 매우 작은 경우(가령, 수 바이트)에는 실제 콘텐츠를 포함할 수도 있다. 실시예에서, 플러딩 메시지는 이웃 무선 노드의 식별자 및 플러딩 메시지를 개시하는 소스 노드에 의해 할당되는 메시지 시퀀스 번호를 포함한다. 또한, 통신 네트워크(103)는 충분한 네트워크 리소스(가령, 대역폭 등)를 제공하기 위해 애드혹 네트워크(109)와 함께 동작하여, 시스템(100)의 플러딩 메시지에서 특정되는 정보 및 콘텐츠의 전송을 촉진하는 것을 고려할 수 있다.
본 명세서에서 설명되는 애드혹 메시 네트워크를 통해 인식 정보를 제공하기 위한 프로세서는 소프트웨어, 하드웨어(가령, 범용 프로세서, DSP(Digital Signal Processing) 칩 ASIC(Application Spcific Integrated Circuit), FPGA(Field Programmable Gate Arrays) 등), 펌웨어 또는 그 조합을 통해 구현될 수 있다. 전술한 기능을 수행하는 이러한 예시적 하드웨어를 이하 상세히 설명한다.
도 8은 본 발명의 실시예가 구현될 수 있는 컴퓨터 시스템(800)을 도시하고 있다. 컴퓨터 시스템(800)은 본 명세서에서 설명되는 바와 같은 사용자 인터페이스를 제공하기 위해 프로그래밍되며 컴퓨터 시스템(800)의 다른 내부 및 외부 구성요소 사이에서 정보를 전달하기 위한 버스(810)와 같은 통신 메커니즘을 포함한다. (데이터로도 불리는) 정보는 통상적으로 전압인 측정 가능한 현상의 물리적 표현으로 표현되지만, 다른 실시예에서는 자기, 전자기, 압력, 화학, 생물학, 분자, 원자, 아원자(sub-atomic) 및 양자 반응을 포함한다. 예를 들어, 북극 및 남극 자기장 또는 영 및 영이 아닌 전압은 이진수 디지트(비트)의 2개의 상태(0,1)로 표현된다. 더 높은 기수(base)의 디지트를 다른 현상이 표현할 수 있다. 측정 이전의 다수의 동시적 양자 상태의 중첩이 하나의 양자 비트(큐비트)를 나타낼 수 있다. 하나 이상의 디지트 시퀀스는 하나의 문자에 대한 숫자 또는 코덱을 나타내기 위해 사용되는 디지털 데이터를 구성한다. 일부 실시예에서, 아날로그 데이터로 불리는 정보는 특정 범위 내에서 측정 가능한 값의 이웃 연속체에 의해 표현된다.
버스(810)는 하나 이상의 병렬 정보 도체를 포함하여, 버스(810)에 연결된 장치들 사이에서 정보가 신속하게 전송된다. 정보를 처리하기 위한 하나 이상의 프로세서(802)가 버스(810)와 연결된다.
프로세서(802)는 애드혹 메시 네트워크(109)를 통해 인식 정보를 제공하는 것과 관련되는 정보에 대한 한 세트의 연산을 수행한다. 연산 세트는 버스(810)로부터 정보를 가져와서 버스(810)상에 정보를 두는 것을 포함한다. 또한, 연산 세트는 2개 이상의 정보 단위를 비교하고, 정보 단위의 위치를 시프트시키며, 덧셈, 곱셈 또는 OR, XOR(exclusive OR) 및 AND와 같은 논리 연산 등에 의해 2개 이상의 정보 단위를 결합시킨다. 프로세서에 의해 수행될 수 있는 연산 세트의 각 연산은 하나 이상의 디지트의 연산 코드와 같은 인스트럭션으로 불리는 정보에 의해 프로세서에 표현된다. 연산 코드와 같은, 프로세서(802)에 의해 실행될 연산 시퀀스는 컴퓨터 시스템 인스트럭션 또는 간단히 컴퓨터 인스트럭션으로도 불리는 프로세서 인스트럭션을 구성한다. 프로세서는 특히 기계, 전기, 자기, 광학, 화학 또는 양자 구성요소 단독 또는 이들의 조합으로서 구현될 수 있다.
또한, 컴퓨터 시스템(800)은 버스(810)에 연결되는 메모리(804)를 포함한다. RAM(Random Access Memory) 또는 기타 동적 저장 소자와 같은 메모리(804)는 애드혹 메시 네트워크(109)를 통해 인식 정보를 제공하는 프로세서 인스트럭션을 포함하는 정보를 저장한다. 동적 메모리는 컴퓨터 시스템(800)에 의해 변경될 정보를 내부에 저장할 수 있다. RAM은 이웃 어드레스에서의 정보와 무관하게 저장되고 검색될 메모리 어드레스라 불리는 위치에 저장되는 정보 단위를 허용한다. 메모리(804)는 프로세서(802)에 의해서도 사용되어 프로세서 인스트럭션의 실행 중에 임시 값을 저장한다. 또한, 컴퓨터 시스템(800)은, 컴퓨터 시스템(800)에 의해 변경되지 않는 인스트럭션을 포함하는 정적 정보를 저장하기 위해 버스(810)에 연결되는 ROM(806) 또는 기타 정적 저장 장치를 포함한다. 일부 메모리는 전력이 손실될 때 저장된 정보가 손실되는 휘발성 저장장치로 구성된다. 컴퓨터 시스템(800)이 턴 오프되거나 전력이 손실될 때에도 지속되는 인스트럭션을 포함하는 정보를 저장하기 위한, 자기 디스크, 광학 디스크 또는 플래시 카드와 같은 비-휘발성(지속적) 저장 장치(808) 또한 버스(810)에 연결된다.
애드혹 메시 네트워크(109)를 통해 인식 정보를 제공하기 위한 인스트럭션을 포함하는 정보가 버스(810)에 제공되어 인간 사용자에 의해 조작되는 영문 숫자 키를 포함하는 키보드 또는 센서와 같은 외부 입력 장치(812)로부터 프로세서에 의해 사용된다. 센서는 그 부근의 상태를 검출하고 컴퓨터 시스템(800)에서의 정보를 나타내기 위해 사용되는 측정 가능한 현상과 호환 가능한 물리적 표현으로 이들 검출을 변형시킨다. 인간과 상호작용하기 위해 주로 사용되는, 버스(810)에 연결되는 기타 외부 장치는 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 또는 플라즈마 스크린 또는 프린터와 같은 텍스트 또는 이미지를 표현하는 디스플레레이 장치(814)와, 마우스 또는 트랙볼 또는 커서 검출 키 또는 모션 센서와 같은 디스플레이(814)상에 제공되는 작은 커서 이미지의 위치를 제어하고 디스플레이(814)상에 제공되는 시각적 요소와 관련되는 명령을 발신하는 포인팅 장치(816)를 포함한다. 예를 들어, 일부 실시예에서, 컴퓨터 시스템(800)이 인간의 입력 없이 모든 기능을 자동적으로 수행하는 실시예에서 외부 입력 장치(812), 디스플레이 장치(814) 및 포인팅 장치(816) 중 하나 이상이 생략된다.
도시된 실시예에서, ASIC(820)과 같은 특수 목적 하드웨어가 버스(810)에 연결된다. 특수 목적 하드웨어는 특수 목적을 위해 충분히 신속하게 프로세서(802)에 의해 수행되지 않는 연산을 수행하도록 구성된다. 애플리케이션 특정 IC의 예는 디스플레이(814)를 위한 이미지를 생성하는 그래픽 액셀레이터 카드, 네트워크를 통해 전송되는 메시지를 암호화하고 해독하는 암호화 보드, 스피치 인식 및 하드웨어에서 보다 효율적으로 구현되는 어떤 복잡한 연산 시퀀스를 반복적으로 수행하는 로봇 암 및 의료용 스캐닝 장비와 같은 특수 외부 장치로의 인터페이스를 포함한다.
또한, 컴퓨터 시스템(800)은 버스(810)에 연결되는 통신 인터페이스(870)의 하나 이상의 인스턴스를 포함한다. 통신 인터페이스(870)는 프린터, 스캐너 및 외부 디스크와 같은 자신 고유의 프로세서와 동작하는 다양한 외부 장치에 연결되는 단방향 또는 양방향 통신을 제공한다. 일반적으로, 자신 고유의 프로세서를 갖는 다양한 외부 장치가 접속되는 로컬 네트워크(880)에 접속되는 네트워크 링크(878)와 연결된다. 예를 들어, 통신 인터페이스(807)는 개인 컴퓨터상의 병렬 포트 또는 직렬 포트 또는 USB(universal serial bus)일 수 있다. 일부 실시예에서, 통신 인터페이스(870)는 대응하는 전화선 종류로의 정보 통신 접속을 제공하는 ISDN(integrated services digital network) 카드 또는 디지털 가입자 라인(DSL) 카드 또는 전화 모뎀이다. 일부 실시예에서, 통신 인터페이스(870)는 버스(810)상의 신호를 동축 케이블을 통한 통신 접속을 위한 신호 또는 광 섬유 케이블을 통한 통신 접속을 위한 신호로 변환하는 케이블 모뎀이다. 다른 예로서, 통신 인터페이스(870)는 이더넷과 같은 호환 가능한 LAN으로의 데이터 통신 접속을 제공하기 위한 LAN 카드일 수 있다. 무선 링크 또한 구현될 수 있다. 무선 링크를 위해, 통신 인터페이스(870)는 디지털 데이터와 같은 정보 스트림을 전송하는 적외선 및 광 신호를 포함하는 전기, 음성 또는 전자기 신호를 전송하고 수신한다. 예를 들어, 셀 전화기와 같은 이동 전화기와 같은 무선 소형 장치에서, 통신 인터페이스(70)는 무선 송수신기라고 불리는 무선 대역 전자기 전송기 및 수신기를 포함한다. 실시예에서, 통신 인터페이스(870)는 애드혹 메시 네트워크(109)를 통해 인식 정보를 제공하는 통신 네트워크(103)로의 접속을 가능하게 한다.
컴퓨터 판독 가능한 매체라는 용어는 실행을 위한 인스트럭션을 포함하는, 프로세서(802)로의 정보를 제공하는 데에 참가하는 임의의 매체를 지칭하기 위해 사용된다. 이러한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함할 수 있으나 이에 한정되는 것은 아니다. 비휘발성 매체는, 예를 들어, 저장 장치(808)와 같은 광학 도는 자기 디스크를 포함한다. 휘발성 매체는, 예를 들어, 동적 메모리(804)를 포함한다. 전송 매체는, 예를 들어, 동축 케이블, 구리 배선, 광 섬유 케이블 및 무선, 광학 및 적외선 파를 포함하는 음향 파 및 전자기 파와 같은 배선 또는 케이블 없이 공간을 통해 이동하는 반송파를 포함한다. 신호는 진폭, 주파수, 위상, 극성 또는 전송 매체를 통해 전송되는 기타 물리적 특성의 인간이 만든 순간적인 변동을 포함한다. 컴퓨터 판독 가능한 매체의 공통 형태는, 예를 들어, 플로피 디스크, 유연한 디스크, 하드디스크, 자기 테이프, 임의의 기타 자기 매체, CD-ROM, CDRW, DVD, 임의의 기타 광 매체, 펀치 카드, 페이퍼 테이프, 광 마스크 시트, 홀 패턴 또는 기타 광학적으로 인식 가능한 표시를 갖는 임의의 기타 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 기타 메모리 칩 또는 카트리지, 반송파, 또는 컴퓨터가 판독될 수 있는 임의의 기타 매체를 포함한다.
도 9는 본 발명의 실시예가 구현될 수 있는 칩 셋(900)을 도시하고 있다. 칩 셋(900)은 전술한 바와 같은 애드혹 메시 네트워크(109)를 통해 인식 정보를 제공하도록 프로그래밍되며, 하나 이상의 물리적 패키지에 포함되는 도 9와 관련하여 설명되는 프로세서 및 메모리 구성요소를 포함한다. 예를 들어, 물리적 패키지는 구조적 어셈블리(가령, 베이스보드)상의 하나 이상의 물질, 구성요소 및/또는 배선의 배열을 포함하여 물리적 강도, 크기 보존 및/또는 전기 상호작용의 제한과 같은 하나 이상의 특징을 제공한다.
일 실시예에서, 칩 셋(900)은 칩 셋(900)의 구성요소들 사이에서 정보를 전달하는 버스(901)와 같은 통신 메커니즘을 포함한다. 프로세서(903)는 버스(901)로의 접속을 가져서 인스트럭션을 실행하고, 예를 들어, 메모리(905)에 저장된 정보를 처리한다. 프로세서(903)는 독립적으로 수행하도록 구성되는 캐시 코어를 갖는 하나 이상의 프로세싱 코어를 포함할 수 있다. 멀티-코어 프로세서는 단일 물리적 패키지 내에서 멀티프로세싱을 가능케 한다. 멀티-코어 프로세서의 예는, 2개, 4개, 8개 또는 그 이상의 프로세싱 코어를 포함한다. 이와 달리 또는 이에 추가하여, 프로세서(903)는 버스(901)를 통해 동시에(in tandem) 구성되는 하나 이상의 마이크로프로세서를 포함하여, 인스트럭션, 파이프라이닝 및 멀티스레딩의 독립적 실행을 가능케 한다. 또한, 프로세서(903)는 하나 이상의 특수화된 구성요소와 함께 사용되어 하나 이상의 DSP(907) 또는 하나 이상의 ASIC(909)와 같은 소정의 프로세싱 기능 및 태스크를 수행할 수 있다. 통상적으로, DSP(907)는 프로세서(903)와 독립적으로 실시간으로 실제 신호(가령, 소리)를 처리하도록 구성된다. 유사하게는, ASIC(909)은 범용 프로세서에 의해 쉽게 수행되지 않는 특수화 기능을 수행하도록 구성될 수 있다. 전술한 본 발명의 기능을 수행하는 데에 도움을 주는 기타 특수화 구성요소는 FPGA(도시 생략), 하나 이상의 제어기(도시 생략) 또는 하나 이상의 기타 특수 목적 컴퓨터 칩을 포함한다.
프로세서(903) 및 수반되는 구성요소는 버스(901)를 통해 메모리(905)로의 접속을 갖는다. 메모리(905)는 동적 메모리(가령, RAM, 자기 디스크, 기록 가능한 광학 디스크 등) 및 정적 메모리(가령, ROM, CD-ROM 등)을 모두 포함하여, 실행되면, 전술한 본 발명의 단계를 수행하는 실행 가능한 인스트럭션을 저장하여 애드혹 메시 네트워크(109)를 통해 인식 정보를 제공한다. 또한, 메모리(905)는 본 발명의 단계와 관련되거나 이의 실행에 의해 생성되는 데이터를 저장한다.
도 10은 본 발명의 실시예에 따른 도 1의 시스템에서의 연산을 가능하게 하는 이동국(가령, 핸드셋)의 예시적 구성요소의 도면이다. 일반적으로, 무선 수신기는 전면단 및 후면단 특징의 관점에서 정의되는 경우가 흔하다. 수신기의 전면단은 RF 회로 모두를 포함하는 반면 후면단은 기저대역 처리 회로 모두를 포함한다. 전화기의 관련 내부 구성요소는 MCU(Main Control Unit)(1003)와, DSP(Digital signal Processor)(1005)와, 마이크로폰 이득 제어 유닛 및 스피커 이득 제어 유닛을 포함하는 수신기/전송기 유닛을 포함한다. 메인 디스플레이 유닛(1007)은 인식 서비스 모듈(111)과 같은 다양한 애플리케이션 및 이동국 기능을 지원하는 사용자로의 디스플레이를 제공한다. 오디오 기능 회로(1009)는 마이크로폰(1011)으로부터 출력되는 스피치 신호를 증폭하는 마이크로폰(1011) 및 마이크로폰 증폭기를 포함한다. 마이크로폰(1011)으로부터 출력된 증폭된 스피치 신호는 코더/디코더(코덱)(1013)에 공급된다.
무선 섹션(1015)은 기지국과의 통신을 위해 전력을 증폭시키고 주파수를 변환하는데, 이는 안테나(1017)를 통해 이동 통신 시스템에 포함된다. 전력 증폭기(PA)(1019) 및 전송기/변조 회로는 MCU(1003)에 동작적으로 응답하며, 이 기술 분야에 알려진 바와 같이, PA(1019)로부터의 출력은 분파기(duplexer)(1021) 또는 서큘레이터 또는 안테나 스위치에 연결된다.
사용시에, 이동국(1001)의 사용자는 마이크(1011)를 향해 이야기하고, 그 또는 그녀의 목소리는 임의의 검출된 배경 잡음과 함께 아날로그 전압으로 변환된다. 다음에, 그 아날로그 전압은 아날로그-디지털 변환기(Analog to Digital Converter : ADC)(1023)를 통해 디지털 신호로 변환된다. 제어 유닛(1003)은 디지털 신호를, 음성 인코딩, 채널 인코딩, 암호화, 인터리빙(interleaving)과 같은 처리를 위해 DSP(1005)로 전달한다. 예시적 실시예에서, 처리된 음성 신호는, 별도로 도시되지 않은 유닛에 의해, 예컨대, 극초단파 액세스(WiMAX), 롱텀 에볼루션(Long Term Evolution: LTE), 코드 분할 다중 액세스(code division multiple access: CDMA), 무선 충실도(wireless fidelity: WiFi), 위성, 등등의 임의의 다른 적합한 무선 매체뿐만 아니라, 글로벌 에볼루션(global evolution: EDGE), 일반 패킷 무선 서비스(general packet radio service: GPRS), 무선 통신용 글로벌 시스템(global system for mobile communications: GSM), 인터넷 프로토콜 멀티미디어 서브시스템(Internet protocol multimedia subsystem: IMS), 유니버설 이동 통신 시스템(univeral mobile telecommunications system: UMTS) 등과 같은 셀룰러 전송 프로토콜을 사용하여 인코딩된다.
다음에, 인코딩된 신호는 위상 및 진폭 왜곡과 같이 공기를 통한 전송 중에 발생한 임의의 주파수 의존성 손상의 보상을 위해 등화기(equalizer)(1025)에 전달된다. 비트 스트림의 등화 이후에, 변조기(1027)는 그 신호를 RF 인터페이스(1029)에서 발생된 RF 신호와 결합시킨다. 변조기(1027)는 주파수 또는 위상 변조에 의해 정현파(sine wave)를 발생시킨다. 전송용 신호를 준비하기 위해, 업컨버터(1031)는 변조기(1027)로부터의 정현파 출력을 합성기(1033)에 의해 발생된 또다른 정현파와 결합시켜 희망 전송 주파수를 달성한다. 다음에 신호는 신호를 적절한 전력 레벨로 증가시키기 위해 PA(1019)를 통해 전송된다. 실제 시스템에서, PA(1019)는 네트워크 기지국으로부터 수신된 정보로부터 DSP(1005)에 의해 그 이득이 제어되는 가변 이득 증폭기로 기능한다. 다음에 신호는 분파기(duplexer)(1021)에서 필터링되고 선택적으로 안테나 결합기(1035)에 전달되어, 최대 전력 전달을 제공하기 위해 임피던스 매칭된다. 마지막으로, 신호는 안테나(1017)를 통해 로컬 기지국에 전송된다. 수신기의 마지막 단의 이득을 제어하기 위해 자동 이득 제어(automatic gain control: AGC)가 제공될 수 있다. 다음에 신호는 로컬 기지국으로부터, 또다른 휴대폰, 다른 이동전화, 또는 공중 교환 전화망(Public Switched Telephone Network: PSTN) 또는 다른 전화망에 접속된 일반 전화일 수 있는 원격 전화기에 전달된다.
이동국(1001)에 전송된 음성 신호는 안테나(1017)를 통해 수신되고, 즉시 저잡음 증폭기(low noise amplifier: LNA)(1037)에 의해 증폭된다. 다운컨버터(1039)는 복조기(1041)가 디지털 비트 스트림만 남도록 RF를 벗겨내는 동안 반송파 주파수를 낮춘다. 다음에, 신호는 등화기(1025)를 통과하고 DSP(1005)에 의해 처리된다. 디지털-아날로그 변환기(DAC)(1045)는 신호를 변환하고 그 출력은 스피커(1045)를 통해 사용자에게 전송되는데, 이 모든 것은 중앙 처리 장치(CPU)(도시안됨)로서 구현될 수 있는 주 제어 장치(MCU)(1003)의 제어하에 이루어진다.
MCU(1003)는 키보드(1047)로부터의 입력 신호를 포함하는 다양한 신호들을 수신한다. 키보드(1047) 및/또는 MCU(1003)는 다른 사용자 입력 구성요소(예컨대, 마이크(1011))와 합동으로, 사용자 입력을 관리하는 사용자 인터페이스 회로를 포함한다. MCU(1003)는 이동국(1001)의 적어도 몇 가지 기능의 사용자 제어를 용이하게 하기 위해 사용자 인터페이스 소프트웨어를 작동시킨다. 또한 MCU(1003)는 디스플레이 명령 및 스위치 명령을 디스플레이(1007) 및 음성 출력 스위칭 제어기에 각각 전달한다. 또한, MCU(1003)는 DSP(1005)와 정보를 교환하고, 선택적으로 포함된 SIM 카드(1049) 및 메모리(1051)에 액세스할 수 있다. 또한, MCU(1003)는 그 국에 필요한 다양한 제어 기능을 실행시킨다. DSP(1005)는, 그 구현에 의존하여, 음성 신호에 대해 임의의 다양한 종래의 디지털 처리 기능을 수행할 수 있다. 또한, DSP(1005)는 마이크(1011)에 의해 검출된 신호로부터 로컬 환경의 배경 잡음 레벨을 판단하고, 마이크(1011)의 이득을 이동국(1001)의 사용자의 자연적 경향을 보상하기 위해 선택된 레벨로 설정한다.
CODEC(1013)은 ADC(1023) 및 DAC(1043)를 포함한다. 메모리(1051)는 호출 입력 톤 데이터를 포함하는 다양한 데이터를 저장하고, 예컨대 글로벌 인터넷을 통해 수신된 음악 데이터를 포함하는 다른 데이터를 저장할 수 있다. 소프트웨어 모듈은 RAM 메모리 플래시 메모리, 레지스터, 또는 공지된 임의의 다른 형태의 기록가능 저장 매체 내에 위치할 수 있다. 메모리 디바이스(1051)는, 그에 한정되는 것은 아니지만, 단일 메모리, CD, DVD, ROM, RAM, EEPROM, 광기억 장치, 또는 디지털 데이터를 저장할 수 있는 임의의 다른 비휘발성 저장 매체일 수 있다.
선택적으로 포함된 SIM 카드(1049)는 예컨대 휴대폰 번호, 반송파 공급 서비스(carrier supplying service), 가입 세부사항(subscription details) 및 보안 정보와 같은 중요한 정보를 반송한다. SIM 카드(1049)는 주로 무선 네트워크 상에서 이동국(1001)을 식별하는 역할을 한다. 카드(1049)는 또한 개인 전화 번호 레지스트리, 문자 메시지 및 다른 사용자 지정 이동국 설정을 저장하는 메모리를 포함한다.
본 발명은 다수의 실시예 및 구현예와 관련하여 설명되었지만, 본 발명은 그렇게 제한되는 것이 아니며, 첨부된 특허청구범위의 범위에 속하는 다양한 명백한 변형 및 등가의 장치를 포함하는 것이다. 본 발명의 특징들은 특허청구범위 사이에서 특정 조합으로 표현되었지만, 이 특징들은 임의의 조합 및 순서로 배열될 수 있다고 생각된다.

Claims (34)

  1. 애드혹 메쉬 네트워크를 통해 협력적 응답(a collaborative reply)을 제공하는 방법으로서,
    수신 노드(a receiving node)에서, 이웃 무선 노드로부터 플러딩 메시지(a flooding message)에 대한 응답 메시지를 수신하는 단계 - 상기 응답 메시지는 상기 응답 메시지의 원하는 다음 홉의 수취인 노드(a desired next-hop recipient node)에 대한 정보를 포함함 - 와,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드인지를 결정하는 단계와,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아닌 경우에, 상기 수신 노드의 이웃 테이블(a neighbor table)에 적어도 부분적으로 기초하여, 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 1 홉의 이웃(a one-hop neighbor)인지를 결정하는 단계와,
    상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적 무선 거리 및 상기 원하는 다음 홉의 수취인 노드의 상대적 무선 거리를 결정하는 단계와,
    상기 상대적 무선 거리들을 카테고리와 연관된 거리 임계치들의 증가에 기초하여 카테고리화하는(categorizing) 단계와,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아니며 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 상기 1 홉의 이웃인 경우에, 상기 카테고리화에 적어도 부분적으로 기초하여, 상기 응답 메시지의 재전송을 위해 협력적인 응답 프로세스를 개시하도록 결정하는 단계를 포함하는
    협력적 응답 제공 방법.
  2. 제 1 항에 있어서,
    상기 원하는 다음 홉의 수취인 노드에 의해 브로드캐스트되는 상기 응답 메시지의 수신의 확인에 대한 모니터링을 결정하는 단계와,
    상기 확인이 관찰되면, 상기 협력적인 응답 프로세스의 취소를 결정하는 단계를 더 포함하는
    협력적 응답 제공 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 협력적인 응답 프로세스는, 상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적인 무선 거리의 카테고리에 기초하거나 또는 상기 원하는 다음 홉의 수취인 노드의 상대적인 무선 거리의 카테고리에 기초하여 취소되는
    협력적 응답 제공 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 협력적인 응답 프로세스가 상기 상대적 무선 거리의 결정에 기초하여 취소되지 않는 경우에,
    라우팅 테이블을 통해 랜덤 지연을 가지는 상기 응답 메시지의 다음 수신 무선 노드로의 전송을 스케쥴링하도록 결정하는 단계와,
    임의의 이웃 무선 노드에 의한 상기 응답 메시지와 동일한 응답 메시지의 브로드캐스트 전송을 관찰하도록 결정하는 단계와,
    상기 임의의 이웃 무선 노드에 의한 상기 동일한 응답 메시지의 상기 브로드캐스트 전송이 관찰되지 않으면, 상기 스케쥴링된 랜덤 지연 후에 상기 다음 수신 무선 노드로 상기 응답 메시지를 전송하도록 결정하는 단계를 더 포함하는
    협력적 응답 제공 방법.
  6. 제 5 항에 있어서,
    상기 응답 메시지의 수신을 반영하도록 상기 라우팅 테이블의 업데이트를 결정하는 단계를 더 포함하는
    협력적 응답 제공 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 응답 메시지는 유니캐스트 메시지로서 전송되는
    협력적 응답 제공 방법.
  8. 애드혹 메쉬 네트워크를 통해 협력적 응답을 제공하는 장치로서,
    적어도 하나의 프로세서와,
    컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하되,
    상기 적어도 하나의 메모리 및 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서를 이용하여, 상기 장치로 하여금 적어도,
    수신 노드에서, 이웃 무선 노드로부터 플러딩 메시지에 대한 응답 메시지를 수신하게 하고 - 상기 응답 메시지는 상기 응답 메시지의 원하는 다음 홉의 수취인 노드에 대한 정보를 포함함 - ,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드인지를 결정하게 하고,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아닌 경우에, 상기 수신 노드의 이웃 테이블에 적어도 부분적으로 기초하여, 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 1 홉의 이웃인지를 결정하게 하고,
    상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적 무선 거리 및 상기 원하는 다음 홉의 수취인 노드의 상대적 무선 거리를 결정하게 하고,
    상기 상대적 무선 거리들을 카테고리와 연관된 거리 임계치들의 증가에 기초하여 카테고리화하게 하고,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아니며 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 상기 1 홉의 이웃인 경우에, 상기 카테고리화에 적어도 부분적으로 기초하여, 상기 응답 메시지의 재전송을 위해 협력적인 응답 프로세스를 개시하도록 결정하게 하는
    협력적 응답 제공 장치.
  9. 제 8 항에 있어서,
    상기 장치는 또한,
    상기 원하는 다음 홉의 수취인 노드에 의해 브로드캐스트되는 상기 응답 메시지의 수신의 확인에 대한 모니터링을 결정하고,
    상기 확인이 관찰되면, 상기 협력적인 응답 프로세스의 취소를 결정하는
    협력적 응답 제공 장치.
  10. 삭제
  11. 제 8 항에 있어서,
    상기 협력적인 응답 프로세스는, 상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적인 무선 거리의 카테고리에 기초하거나 또는 상기 원하는 다음 홉의 수취인 노드의 상대적인 무선 거리의 카테고리에 기초하여 취소되는
    협력적 응답 제공 장치.
  12. 제 8 항 또는 제 9 항에 있어서,
    상기 협력적인 응답 프로세스가 상기 상대적 무선 거리의 결정에 기초하여 취소되지 않는 경우에, 상기 장치는 또한,
    라우팅 테이블을 통해 랜덤 지연을 가지는 상기 응답 메시지의 다음 수신 무선 노드로의 전송을 스케쥴링하도록 결정하고,
    임의의 이웃 무선 노드에 의한 상기 응답 메시지와 동일한 응답 메시지의 브로드캐스트 전송을 관찰하도록 결정하고,
    상기 임의의 이웃 무선 노드에 의한 상기 동일한 응답 메시지의 상기 브로드캐스트 전송이 관찰되지 않으면, 상기 스케쥴링된 랜덤 지연 후에 상기 다음 수신 무선 노드로 상기 응답 메시지를 전송하도록 결정하는
    협력적 응답 제공 장치.
  13. 제 12 항에 있어서,
    상기 장치는 또한,
    상기 응답 메시지의 수신을 반영하도록 상기 라우팅 테이블의 업데이트를 결정하는
    협력적 응답 제공 장치.
  14. 제 8 항 또는 제 9 항에 있어서,
    상기 응답 메시지는 유니캐스트 메시지로서 전송되는
    협력적 응답 제공 장치.
  15. 제 8 항 또는 제 9 항에 있어서,
    상기 장치는 모바일 폰이며,
    상기 모바일 폰은,
    디스플레이의 사용을 통해 상기 모바일 폰의 적어도 일부 기능을 사용자가 제어할 수 있도록 구성되고, 또한 사용자 입력에 응답하도록 구성되는 사용자 인터페이스 회로 및 사용자 인터페이스 소프트웨어와,
    상기 모바일 폰의 사용자 인터페이스를 디스플레이하도록 구성되는 디스플레이 및 디스플레이 회로를 포함하되,
    상기 디스플레이 및 디스플레이 회로는 상기 사용자가 상기 모바일 폰의 적어도 일부 기능을 제어할 수 있도록 구성되는
    협력적 응답 제공 장치.
  16. 제 15 항에 있어서,
    상기 모바일 폰은 상기 애드혹 메시 네트워크를 통한 장치-대-장치(device-to-device) 통신용 무선 기기를 포함하는
    협력적 응답 제공 장치.
  17. 하나 이상의 명령어의 하나 이상의 시퀀스를 저장하는 컴퓨터-판독가능 저장 매체로서,
    상기 명령어는, 하나 이상의 프로세서에 의해 실행될 때, 장치로 하여금 적어도,
    수신 노드에서, 이웃 무선 노드로부터 플러딩 메시지에 대한 응답 메시지를 수신하게 하고 - 상기 응답 메시지는 상기 응답 메시지의 원하는 다음 홉의 수취인 노드에 대한 정보를 포함함 - ,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드인지를 결정하게 하고,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아닌 경우에, 상기 수신 노드의 이웃 테이블에 적어도 부분적으로 기초하여, 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 1 홉의 이웃인지를 결정하게 하고,
    상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적 무선 거리 및 상기 원하는 다음 홉의 수취인 노드의 상대적 무선 거리를 결정하게 하고,
    상기 상대적 무선 거리들을 카테고리와 연관된 거리 임계치들의 증가에 기초하여 카테고리화하게 하고,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아니며 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 상기 1 홉의 이웃인 경우에, 상기 카테고리화에 적어도 부분적으로 기초하여, 상기 응답 메시지의 재전송을 위해 협력적인 응답 프로세스를 개시하도록 결정하게 하는
    컴퓨터-판독가능 저장 매체.
  18. 제 17 항에 있어서,
    상기 장치는 또한,
    상기 원하는 다음 홉의 수취인 노드에 의해 브로드캐스트되는 상기 응답 메시지의 수신의 확인에 대한 모니터링을 결정하고,
    상기 확인이 관찰되면, 상기 협력적인 응답 프로세스의 취소를 결정하는
    컴퓨터-판독가능 저장 매체.
  19. 삭제
  20. 제 17 항에 있어서,
    상기 협력적인 응답 프로세스는, 상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적인 무선 거리의 카테고리에 기초하거나 또는 상기 원하는 다음 홉의 수취인 노드의 상대적인 무선 거리의 카테고리에 기초하여 취소되는
    컴퓨터-판독가능 저장 매체.
  21. 제 17 항 또는 제 18 항에 있어서,
    상기 협력적인 응답 프로세스가 상기 상대적 무선 거리의 결정에 기초하여 취소되지 않는 경우에, 상기 장치는 또한,
    라우팅 테이블을 통해 랜덤 지연을 가지는 상기 응답 메시지의 다음 수신 무선 노드로의 전송을 스케쥴링하도록 결정하고,
    임의의 이웃 무선 노드에 의한 상기 응답 메시지와 동일한 응답 메시지의 브로드캐스트 전송을 관찰하도록 결정하고,
    상기 임의의 이웃 무선 노드에 의한 상기 동일한 응답 메시지의 상기 브로드캐스트 전송이 관찰되지 않으면, 상기 스케쥴링된 랜덤 지연 후에 상기 다음 수신 무선 노드로 상기 응답 메시지를 전송하도록 결정하는
    컴퓨터-판독가능 저장 매체.
  22. 제 21 항에 있어서,
    상기 장치는 또한, 상기 응답 메시지의 수신을 반영하도록 상기 라우팅 테이블의 업데이트를 결정하는
    컴퓨터-판독가능 저장 매체.
  23. 제 17 항 또는 제 18 항에 있어서,
    상기 응답 메시지는 유니캐스트 메시지로서 전송되는
    컴퓨터-판독가능 저장 매체.
  24. 애드혹 메쉬 네트워크를 통해 협력적 응답을 제공하는 장치로서,
    수신 노드에서, 이웃 무선 노드로부터 플러딩 메시지에 대한 응답 메시지를 수신하는 수단 - 상기 응답 메시지는 상기 응답 메시지의 원하는 다음 홉의 수취인 노드에 대한 정보를 포함함 - 과,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드인지를 결정하는 수단과,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아닌 경우에, 상기 수신 노드의 이웃 테이블에 적어도 부분적으로 기초하여, 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 1 홉의 이웃인지를 결정하는 수단과,
    상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적 무선 거리 및 상기 원하는 다음 홉의 수취인 노드의 상대적 무선 거리를 결정하는 수단과,
    상기 상대적 무선 거리들을 카테고리와 연관된 거리 임계치들의 증가에 기초하여 카테고리화하는 수단과,
    상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아니며 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 상기 1 홉의 이웃인 경우에, 상기 카테고리화에 적어도 부분적으로 기초하여, 상기 응답 메시지의 재전송을 위해 협력적인 응답 프로세스를 개시하도록 결정하는 수단을 포함하는
    협력적 응답 제공 장치.
  25. 제 24 항에 있어서,
    상기 원하는 다음 홉의 수취인 노드에 의해 브로드캐스트되는 상기 응답 메시지의 수신의 확인에 대한 모니터링을 결정하는 수단과,
    상기 확인이 관찰되면, 상기 협력적인 응답 프로세스의 취소를 결정하는 수단을 더 포함하는
    협력적 응답 제공 장치.
  26. 삭제
  27. 제 24 항에 있어서,
    상기 협력적인 응답 프로세스는, 상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적인 무선 거리의 카테고리에 기초하거나 또는 상기 원하는 다음 홉의 수취인 노드의 상대적인 무선 거리의 카테고리에 기초하여 취소되는
    협력적 응답 제공 장치.
  28. 제 24 항 또는 제 25 항에 있어서,
    상기 협력적인 응답 프로세스가 상기 상대적 무선 거리의 결정에 기초하여 취소되지 않는 경우에,
    라우팅 테이블을 통해 랜덤 지연을 가지는 상기 응답 메시지의 다음 수신 무선 노드로의 전송을 스케쥴링하도록 결정하는 수단과,
    임의의 이웃 무선 노드에 의한 상기 응답 메시지와 동일한 응답 메시지의 브로드캐스트 전송을 관찰하도록 결정하는 수단과,
    상기 임의의 이웃 무선 노드에 의한 상기 동일한 응답 메시지의 상기 브로드캐스트 전송이 관찰되지 않으면, 상기 스케쥴링된 랜덤 지연 후에 상기 다음 수신 무선 노드로 상기 응답 메시지를 전송하도록 결정하는 수단을 더 포함하는
    협력적 응답 제공 장치.
  29. 제 28 항에 있어서,
    상기 응답 메시지의 수신을 반영하도록 상기 라우팅 테이블의 업데이트를 결정하는 수단을 더 포함하는
    협력적 응답 제공 장치.
  30. 제 24 항 또는 제 25 항에 있어서,
    상기 응답 메시지는 유니캐스트 메시지로서 전송되는
    협력적 응답 제공 장치.
  31. 제 24 항 또는 제 25 항에 있어서,
    상기 장치는 모바일 폰이며,
    상기 모바일 폰은,
    디스플레이의 사용을 통해 상기 모바일 폰의 적어도 일부 기능을 사용자가 제어할 수 있도록 구성되고, 또한 사용자 입력에 응답하도록 구성되는 사용자 인터페이스 회로 및 사용자 인터페이스 소프트웨어와,
    상기 모바일 폰의 사용자 인터페이스를 디스플레이하도록 구성되는 디스플레이 및 디스플레이 회로를 포함하되,
    상기 디스플레이 및 디스플레이 회로는 상기 모바일 폰의 적어도 일부 기능을 상기 사용자가 제어할 수 있도록 구성되는
    협력적 응답 제공 장치.
  32. 제 31 항에 있어서,
    상기 모바일 폰은 상기 애드혹 메시 네트워크를 통한 장치-대-장치 통신용 무선 기기를 포함하는
    협력적 응답 제공 장치.
  33. 애드혹 메쉬 네트워크를 통해 협력적 응답에 대한 액세스를 제공하는 방법으로서,
    수신 노드에서, 이웃 무선 노드로부터 플러딩 메시지에 대한 응답 메시지를 수신하고 - 상기 응답 메시지는 상기 응답 메시지의 원하는 다음 홉의 수취인 노드에 대한 정보를 포함함 -; 상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드인지를 결정하고; 상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아닌 경우에, 상기 수신 노드의 이웃 테이블에 적어도 부분적으로 기초하여, 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 1 홉의 이웃인지를 결정하고; 상기 응답 메시지를 전송한 상기 이웃 무선 노드의 상대적 무선 거리 및 상기 원하는 다음 홉의 수취인 노드의 상대적 무선 거리를 결정하고; 상기 상대적 무선 거리들을 카테고리와 연관된 거리 임계치들의 증가에 기초하여 카테고리화하고; 상기 수신 노드가 상기 원하는 다음 홉의 수취인 노드가 아니며 상기 원하는 다음 홉의 수취인 노드가 상기 수신 노드의 상기 1 홉의 이웃인 경우에, 상기 카테고리화에 적어도 부분적으로 기초하여, 상기 응답 메시지의 재전송을 위해 협력적인 응답 프로세스를 개시하도록 결정하기 위한 액세스를 제공하는 단계를 포함하는
    협력적 응답 액세스 제공 방법.
  34. 삭제
KR1020117031598A 2009-05-29 2010-05-29 애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치 KR101389275B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/475,351 US8194541B2 (en) 2009-05-29 2009-05-29 Method and apparatus for providing a collaborative reply over an ad-hoc mesh network
US12/475,351 2009-05-29
PCT/IB2010/052406 WO2010137007A1 (en) 2009-05-29 2010-05-29 Method and apparatus for providing a collaborative reply over an ad-hoc mesh network

Publications (2)

Publication Number Publication Date
KR20120026115A KR20120026115A (ko) 2012-03-16
KR101389275B1 true KR101389275B1 (ko) 2014-04-28

Family

ID=43220100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117031598A KR101389275B1 (ko) 2009-05-29 2010-05-29 애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치

Country Status (4)

Country Link
US (5) US8194541B2 (ko)
KR (1) KR101389275B1 (ko)
WO (1) WO2010137007A1 (ko)
ZA (1) ZA201200013B (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194541B2 (en) 2009-05-29 2012-06-05 Nokia Corporation Method and apparatus for providing a collaborative reply over an ad-hoc mesh network
AT508676B1 (de) * 2009-09-15 2011-03-15 Franz Boehm Drahtloses telekommunikationssystem zur vernetzung ortsfester objekte
US8509245B1 (en) * 2009-11-16 2013-08-13 The Boeing Company Polymorphic routing for dynamic networks
KR20120005613A (ko) * 2010-07-09 2012-01-17 삼성전자주식회사 무선통신시스템에서 메시지 전송 오버헤드를 줄이기 위한 장치 및 방법
US20130084798A1 (en) * 2011-09-29 2013-04-04 Broadcom Corporation Single nfc device identity selection on a multiple-identity supported device
US9155115B2 (en) 2011-10-18 2015-10-06 Samsung Electronics Co., Ltd. Method and apparatus for generating connection identifier for device-to-device communication
WO2013088498A1 (ja) * 2011-12-12 2013-06-20 富士通株式会社 送信制御方法、ノードおよび送信制御プログラム
KR20130092281A (ko) * 2012-02-10 2013-08-20 삼성전자주식회사 디바이스에서 최신의 서비스 카테고리 테이블로 업데이트하는 방법 및 이를 위한 디바이스
CA2866918A1 (en) * 2012-03-28 2013-10-03 Smart Technologies Ulc Method for organizing a collaborative event and system employing same
US8700710B1 (en) 2012-03-29 2014-04-15 Google Inc. Constructing social networks
CN102685687B (zh) 2012-04-19 2016-02-10 中兴通讯股份有限公司 一种基于Ad Hoc网络的旅游景区布告方法、系统和终端
US9525534B2 (en) * 2012-06-18 2016-12-20 Lg Electronics Inc. Method and device for transmitting and receiving flooding signal in wireless communication system
WO2014068616A1 (ja) 2012-10-31 2014-05-08 富士通株式会社 通信制御方法、ネットワークシステム、および通信装置
US10631134B2 (en) 2012-11-29 2020-04-21 Red Hat, Inc. Distributing data between mobile services
US20150326474A1 (en) * 2012-11-30 2015-11-12 Hewlett-Packard Development Company Path to host in response to message
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9258435B2 (en) 2013-03-14 2016-02-09 Nokia Technologies Oy Method and apparatus for a sharing capture mode
US9118584B2 (en) * 2013-03-15 2015-08-25 American Megatrends, Inc. Dynamic scalable baseboard management controller stacks on single hardware structure
US9237024B2 (en) 2013-03-15 2016-01-12 Cooper Technologies Company Informational broadcast messages and its uses in wireless multihop networks
US9715005B2 (en) 2013-06-06 2017-07-25 Zih Corp. Method, apparatus, and computer program product improving real time location systems with multiple location technologies
US9756549B2 (en) 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
TWI571157B (zh) * 2014-03-14 2017-02-11 財團法人資訊工業策進會 用於一無線通訊系統之裝置對裝置使用者裝置及其資源排程方法
US10713686B2 (en) * 2014-03-22 2020-07-14 Retailmenot, Inc. Peer-to-peer geotargeting content with ad-hoc mesh networks
US20150326522A1 (en) * 2014-05-06 2015-11-12 Shirong Wang System and Methods for Event-Defined and User Controlled Interaction Channel
EP3152585B1 (en) * 2014-06-06 2022-04-27 Zebra Technologies Corporation Method, apparatus, and computer program product improving real time location systems with multiple location technologies
EP3018877B1 (en) * 2014-11-10 2018-01-10 Motorola Solutions, Inc. Methods and systems for joining a sub-talkgroup of a first talkgroup
US9858284B2 (en) * 2015-04-21 2018-01-02 International Business Machines Corporation Crowd sourced data sampling at the crowd
EP3363256B8 (en) * 2015-10-13 2019-04-03 Signify Holding B.V. Unicast message routing using repeating nodes
US10819780B2 (en) * 2015-12-24 2020-10-27 Mcafee, Llc Protected data collection in a multi-node network
US10624017B2 (en) 2016-01-11 2020-04-14 Signify Holding B.V. Method for operating a communication apparatus and communication apparatus
EP3430837B1 (en) * 2016-03-14 2024-05-01 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method for transmitting beacon messages in a mesh network
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN107770832B (zh) * 2017-10-11 2021-02-19 崔吉洲 具有抗干扰性能无线中继自组网方法
US10348512B2 (en) 2017-11-20 2019-07-09 International Business Machines Corporation Amorphous ad-hoc groups based on swarming behavior
JP7043809B2 (ja) * 2017-11-30 2022-03-30 Tdk株式会社 通信システム
US10701670B2 (en) * 2018-01-03 2020-06-30 Wirepas Oy System for co-operative repetition of broadcast messages
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
CN110278547B (zh) * 2018-03-13 2022-04-08 博通集成电路(上海)股份有限公司 用于建立低功耗蓝牙网状网络的装置和方法
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
US11013340B2 (en) 2018-05-23 2021-05-25 L&P Property Management Company Pocketed spring assembly having dimensionally stabilizing substrate
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
US11943106B2 (en) 2018-11-09 2024-03-26 Qualcomm Incorporated Supervised traffic management in SigMesh networks
US11909623B2 (en) 2019-01-15 2024-02-20 Loud-Hailer, Inc. Device presence method and system for mesh network management
EP3935882A4 (en) 2019-03-08 2022-11-16 Gotenna Inc. METHOD OF USAGE-BASED TRAFFIC THROATTING IN A MESH WIRELESS NETWORK
CN112020116B (zh) * 2019-05-30 2023-03-10 阿里巴巴集团控股有限公司 定位方法、设备、系统及存储介质
US11375395B2 (en) * 2019-06-10 2022-06-28 Amazon Technologies, Inc. Centralized radio resource management (RRM) of a wireless mesh network
US11929980B1 (en) * 2023-05-22 2024-03-12 Uab 360 It Sharing domain name service resources in a mesh network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050030921A1 (en) * 2003-07-25 2005-02-10 Royal Holloway University Of London Routing protocol for ad hoc networks
US20080002649A1 (en) * 2006-06-28 2008-01-03 Pengfei Xia System and method for digital communications using multiple parallel encoders

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175571B1 (en) * 1994-07-22 2001-01-16 Network Peripherals, Inc. Distributed memory switching hub
JP3097581B2 (ja) 1996-12-27 2000-10-10 日本電気株式会社 アドホックローカルエリアネットワークの構成方法、通信方法及び端末
US5898679A (en) * 1996-12-30 1999-04-27 Lucent Technologies Inc. Wireless relay with selective message repeat and method of operation thereof
US6211856B1 (en) * 1998-04-17 2001-04-03 Sung M. Choi Graphical user interface touch screen with an auto zoom feature
US20030018744A1 (en) * 2001-02-07 2003-01-23 Johanson James A. Bluetooth device position display
US7307978B2 (en) * 2001-05-01 2007-12-11 Avago Technologies Enterprise Ip (Singapore) Pte Ltd Method and system for routing packets through a network by employing geographical position data
US7184421B1 (en) 2001-12-21 2007-02-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for on demand multicast and unicast using controlled flood multicast communications
AU2003223314B2 (en) * 2002-03-19 2007-04-05 Mapinfo Corporation Location based service provider
US9635540B2 (en) * 2002-03-25 2017-04-25 Jeffrey D. Mullen Systems and methods for locating cellular phones and security measures for the same
DE60215612T2 (de) 2002-04-10 2007-08-23 Lucent Technologies Inc. Reduzierung von Kanalüberlappungen in drahtlosen lokalen Netzwerken unter Verwendung eines zentralen Zugriffsprotokolls
US6961310B2 (en) * 2002-08-08 2005-11-01 Joseph Bibb Cain Multiple path reactive routing in a mobile ad hoc network
EP1540555A1 (en) 2002-09-09 2005-06-15 Koninklijke Philips Electronics N.V. A data network, user terminal and method for providing recommendations
KR100530233B1 (ko) 2003-02-17 2005-11-22 삼성전자주식회사 애드호크 네트워크로 연결가능한 기기를 사용자에게알려주어 사용자의 선택에 의해 효율적인 연결 설정을가능하게 해주는 블루투스 무선통신 장치 및 통신방법
KR100522948B1 (ko) 2003-04-30 2005-10-24 삼성전자주식회사 무선 애드혹 네트워크에서 패킷 플러딩 수행방법
US7653010B2 (en) 2003-06-03 2010-01-26 Casient Limited System and method for wireless mesh networking
DE60323163D1 (de) * 2003-06-30 2008-10-02 Nokia Corp Adaptiver energiesparmodus für drahtlose endgeräte mit kurzer reichweite
US20050038876A1 (en) * 2003-08-15 2005-02-17 Aloke Chaudhuri System and method for instant match based on location, presence, personalization and communication
US7181170B2 (en) 2003-12-22 2007-02-20 Motorola Inc. Apparatus and method for adaptive broadcast transmission
US7685134B2 (en) 2003-12-31 2010-03-23 Nokia Corporation Media file sharing, correlation of metadata related to shared media files and assembling shared media file collections
US7376122B2 (en) * 2004-02-23 2008-05-20 Microsoft Corporation System and method for link quality source routing
US7466681B2 (en) 2004-03-19 2008-12-16 Nortel Networks Limited Method and apparatus for sensor network routing
US20060050651A1 (en) * 2004-08-19 2006-03-09 Cyril Brignone Establishing a coordinate system and coordinates for nodes in a network
KR100555711B1 (ko) 2004-08-31 2006-03-03 삼성전자주식회사 애드 혹 네트워크에서 플러딩 방법
US7433324B2 (en) * 2005-04-01 2008-10-07 Microsoft Corporation User experience for collaborative ad-hoc networks
US7646739B2 (en) 2005-04-05 2010-01-12 Cisco Technology, Inc. Multicast routing over unidirectional links
US20070273583A1 (en) 2005-09-17 2007-11-29 Outland Research, Llc Pointing interface for person-to-person interaction through ad-hoc networks
US20070076672A1 (en) 2005-09-30 2007-04-05 Roberto Gautier Method and system for controlling ad-hoc membership in wireless networks to improve battery life
US7697450B2 (en) 2005-11-30 2010-04-13 Motorola, Inc. Method and apparatus for broadcast in an ad hoc network with dynamic selection of relay nodes
US7525933B1 (en) 2005-11-30 2009-04-28 At&T Intellectual Property Ii, L.P. System and method for mobile ad hoc network
WO2007070505A2 (en) * 2005-12-13 2007-06-21 Squareloop, Inc. System, apparatus, and methods for location managed message processing
US7657523B2 (en) * 2006-03-09 2010-02-02 Customerforce.Com Ranking search results presented to on-line users as a function of perspectives of relationships trusted by the users
US8126438B2 (en) * 2006-05-19 2012-02-28 Broadcom Corporation Method and system for using a mobile terminal as a location-based reminder
US20070271234A1 (en) 2006-05-22 2007-11-22 Ravikiran Chickmangalore N Information Exchange Among Members of a Group of Communication Device Users
US8027259B2 (en) 2006-06-30 2011-09-27 Nokia Corporation Opportunistic routing protocol in ad hoc networks
US7720037B2 (en) * 2006-08-03 2010-05-18 Aol Inc. Wireless social networking
US9246711B2 (en) 2006-08-30 2016-01-26 Microsoft Technology Licensing, Llc Wireless mesh networking with multiple simultaneous transmissions by nearby network nodes
US20080082557A1 (en) * 2006-09-29 2008-04-03 Brother Kogyo Kabushiki Kaisha Business card information management system
US8134995B2 (en) 2007-01-12 2012-03-13 Samsung Electronics Co., Ltd. Mobile ad-hoc network routing based upon hardware address
US7873655B2 (en) * 2007-01-17 2011-01-18 Microsoft Corporation Automated mobile communications
US8781887B2 (en) * 2007-11-26 2014-07-15 Raymond Ying Ho Law Method and system for out-of-home proximity marketing and for delivering awarness information of general interest
US8184535B2 (en) * 2008-07-23 2012-05-22 Wipro Limited Flow control techniques for co-localized WLAN and bluetooth
US8194541B2 (en) 2009-05-29 2012-06-05 Nokia Corporation Method and apparatus for providing a collaborative reply over an ad-hoc mesh network
US9020534B2 (en) * 2010-02-25 2015-04-28 Qualcomm Incorporated Location-based mobile device profile aggregation
US9351105B2 (en) * 2013-07-02 2016-05-24 Sap Se Location based applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050030921A1 (en) * 2003-07-25 2005-02-10 Royal Holloway University Of London Routing protocol for ad hoc networks
US20080002649A1 (en) * 2006-06-28 2008-01-03 Pengfei Xia System and method for digital communications using multiple parallel encoders

Also Published As

Publication number Publication date
ZA201200013B (en) 2013-06-26
WO2010137007A1 (en) 2010-12-02
US20120243408A1 (en) 2012-09-27
US9185521B2 (en) 2015-11-10
US20140349684A1 (en) 2014-11-27
US20100302945A1 (en) 2010-12-02
US10552867B2 (en) 2020-02-04
US8194541B2 (en) 2012-06-05
US20160027054A1 (en) 2016-01-28
KR20120026115A (ko) 2012-03-16
US10019733B2 (en) 2018-07-10
US20180300760A1 (en) 2018-10-18

Similar Documents

Publication Publication Date Title
US10552867B2 (en) Method and apparatus for providing a colloborative reply over an ad-hoc mesh network
US10057753B2 (en) Method and apparatus for locating communities over an ad-hoc mesh network
US9350809B2 (en) Method and apparatus for automatically determining communities of interest, for use over an ad-hoc mesh network, based on context information
KR101417703B1 (ko) 애드혹 메쉬 네트워크를 사용하여 서비스 또는 활동을 결합하는 방법 및 장치
US20100302947A1 (en) Method and apparatus for providing awareness information over an ad-hoc mesh network
US8515409B2 (en) Method and apparatus for providing a publish/subscribe mechanism over an ad-hoc mesh network
US8571519B2 (en) Method and apparatus for using pseudonyms
EP2646935B1 (en) Method and apparatus for coordinating information request messages over an ad-hoc mesh network
US9100989B2 (en) Method and apparatus for ad-hoc content sharing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 4