KR101219496B1 - 피어-투-피어 다중 식별자들 - Google Patents

피어-투-피어 다중 식별자들 Download PDF

Info

Publication number
KR101219496B1
KR101219496B1 KR1020107003171A KR20107003171A KR101219496B1 KR 101219496 B1 KR101219496 B1 KR 101219496B1 KR 1020107003171 A KR1020107003171 A KR 1020107003171A KR 20107003171 A KR20107003171 A KR 20107003171A KR 101219496 B1 KR101219496 B1 KR 101219496B1
Authority
KR
South Korea
Prior art keywords
identifiers
bits
peer
bit vector
node
Prior art date
Application number
KR1020107003171A
Other languages
English (en)
Other versions
KR20100037141A (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 KR20100037141A publication Critical patent/KR20100037141A/ko
Application granted granted Critical
Publication of KR101219496B1 publication Critical patent/KR101219496B1/ko

Links

Images

Classifications

    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/10Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • 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)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은, 피어찾기 동안 애드혹 피어-투-피어형 네트워크(100)에 있어서, 다양한 장치의 사용자와 연관된 식별자에 관한 정보를 효율적인 방식으로 다른 장치들에 브로드캐스팅한다. 두 개 이상의 식별자(502-506)가 피어찾기의 목적으로 전송된 단일값(예를 들어, 비트 벡터)(500)을 생성하도록 프로세싱될 수 있어, 두 개 이상의 식별자를 개별적으로 브로드캐스팅할 필요를 경감시킨다. 공개 식별자는 개인 임시 식별자로 변환되고, 상기 개인 임시 식별자가 전송될 단일값을 생성하는 동작에 대하여 입력 중 하나로서 사용될 수 있다. 상기 양상들은 피어찾기에만 한정되는 것은 아니며 비활성 객체(inanimate objects)에 의한 브로드캐스팅, 서비스, 기능 또는 관심사의 브로드캐스팅을 포함할 수 있다.

Description

피어-투-피어 다중 식별자들{PEER TO PEER MULTIPLE IDENTIFIERS}
본 출원은, 2007년 7월 11일 출원된 "피어-투-피어 다중 식별자들(PEER TO PEER MULTIPLE IDENTIFIERS)"라는 발명의 명칭의 미국 가출원 번호 60/949,165의 우선권 주장 출원으로서, 상기 출원은 본 출원인에게 양도되어 있으며, 그 개시 내용은 참조로서 본 명세서에 모두 통합된다.
이하의 발명 내용은, 일반적으로 무선 통신에 관한 것으로서, 보다 구체적으로는 무선 통신 네트워크에 있어서 피어찾기(peer discovery) 기술에 관한 것이다.
무선 통신 시스템 또는 네트워크는 다양한 통신 서비스들을 제공하기 위해서 널리 사용된다; 예를 들어, 이러한 무선 통신 시스템들을 통해 음성 및/또는 데이터가 제공될 수 있다. 통상의 무선 통신 시스템 또는 네트워크는 하나 이상의 공유 자원에 대하여 다중 사용자의 액세스를 제공할 수 있다. 예컨대, 시스템은 주파수 분할 다중화(FDM), 시분할 다중화(TDM), 코드 분할 다중화(CDM), 직교 주파수 분할 다중화(OFDM) 등과 같은 다양한 다중 접속 기술을 사용한다.
통상적으로, 무선 통신 네트워크는 사용자가 어디에 위치하는지(구조물 내부 또는 외부), 사용자가 정지하여 있거나 이동중인지(예컨대, 차량내, 보행중)에 상관없이 정보 통신에 이용된다. 일반적으로, 무선 통신 네트워크는 모바일 장치 통신(mobile device communicating)을 통하여 기지국, 액세스 포인트 또는 액세스 라우터에 의해 구축된다. 상기 액세스 포인트는 지리적 범위 또는 셀을 커버하며, 모바일 장치가 동작됨에 따라서 이들 지리적 셀의 내부 및 외부로 이동될 수 있다.
어떠한 네트워크는 기지국, 액세스 포인트, 또는 액세스 라우터를 이용하지 않고 피어-투-피어 통신만을 이용하여 구성될 수 있다. 이러한 네트워크를 애드혹 네트워크(ad hoc networks)라고 한다. 이러한 네트워크에서는, 통신 교환이 서로의 직접 무선 전송 범위 내에 있는 장치들 사이에서로 제한되는 경우가 있을 수 있는 한편, 비인접 장치들 사이에서 전송된 다중 홉(multi-hop )이 지원되는 경우도 있다. 다양한 기술이 접속 가능성(connectivity) 및/또는 네트워크 변경(예컨대, 디바이스 조인, 이탈 또는 이동)의 토폴로지와 같은 정보의 전송을 유지하는데 이용될 수 있다. 기지국, 액세스 포인트 또는 액세스 라우터뿐만 아니라 피어-투-피어 양자의 조합을 이용하여 네트워크를 구성할 수도 있다.
대규모 모바일 무선 네트워크, 특히 피어-투-피어 통신을 포함하는 네트워크에 있어서, 장치가 다른 장치의 전송 범위 내로 빈번하게 들어올 수 있다(예컨대, 시간에 따른 잠재적 통신 피어의 세트가 대량인 경우). 하지만, 하나의 장치가 실제 통신할 필요가 있거나 통신 요구가 있는 다른 이러한 장치 세트는 훨씬 적을 수 있다(예컨대, 더 적은 세트의 공지(known) 또는 관련(related) 통신 피어가 있을 수 있다). 일반적으로, 장치가 통신할 필요가 있거나 또는 통신 요구가 있는, 더 적은 세트의 공지 또는 관련 통신 피어는 상위 계층 정보(예컨대, 사용자 가입, 관리 관계, 애플리케이션 등)에 의해 규정된다. 각 장치는 다중 식별자에게 공지 및/또는 연관될 수 있으며, 각 식별자는 명백하게 연관된 피어들의 서브세트에 공지될 수 있을 뿐이다. 따라서, 명백하게 연관된 모든 피어가 특정 장치를 찾을 수 있게 하기 위해서는, 상기 장치와 연관된 모든 식별자가 광고(advertise)(예를 들어, 브로드캐스팅)되어 피어찾기를 용이하게 하여야 한다.
하기 설명은 본 발명의 실시예들에 대한 기본적인 이해를 제공하기 위해서 하나 이상의 양상들의 간략화된 설명을 제공한다. 본 섹션은 모든 가능한 실시예들에 대한 포괄적인 개요는 아니며, 모든 엘리먼트들 중 핵심 엘리먼트를 식별하거나, 모든 실시예의 범위를 커버하고자 할 의도도 아니다. 그 유일한 목적은 후에 제시되는 상세한 설명에 대한 도입부로서 간략화된 형태로 하나 이상의 실시예들의 개념을 제공하기 위함이다.
하나 이상의 실시예 및 그 대응하는 개시 내용에 따르면, 다양한 실시예가 장치 사용자와 연관된 두 개 이상의 식별자를 갖는 장치와 관련된 정보의 효율적인 통신을 용이하게 하는 것과 관련하여 설명된다. 장치당 식별자 수는 많고 네트워크 내의 장치 수 또한 많기 때문에, 이러한 정보를 알리는 것과 관련된 오버헤드를 최소화하며 이러한 정보를 통신하고 프로세싱하기 위한 효율적인 메커니즘을 제공하는데 유리하다.
송신 장치와 연관된 모든 식별자를 알지 못하는 수신 장치는, 하나 이상의 공지된 식별자가 상기 송신 장치로부터의 통신에 포함되어 있는지를 결정할 수 있다. 상기 두 개 이상의 식별자는 다양한 종류 또는 조합의 공지된 식별자일 수 있으며, 하나 이상의 개인 임시 식별자를 포함할 수 있다.
하나의 실시예는, 피어찾기 동안 브로드캐스트를 위해 두 개 이상의 공지된 식별자를 나타내는 비트들의 시퀀스(예를 들어, 비트 벡터)을 생성하는 방법에 관한 것이다. 상기 방법은, 브로드캐스팅될 두 개 이상의 식별자를 선택하는 단계를 포함한다. 상기 식별자들은 송신 장치와 연관이 있다. 또한, 상기 방법은 상기 선택된 식별자를 프로세싱하여 비트 벡터 내에 포함된 마크된 비트들의 시퀀스를 생성하는 단계를 포함한다. 상기 비트 벡터는 피어찾기 목적을 위해 광고되거나 브로드캐스팅될 수 있다.
다른 하나의 실시예는, 메모리 및 프로세서를 포함하는 무선 통신 장치에 관한 것이다. 상기 메모리는, 두 개 이상의 식별자를 선택하여 브로드캐스팅하고, 상기 두 개 이상의 식별자를 필터 메커니즘을 통하여 프로세싱하여 상기 두 개 이상의 식별자에 대응하는 비트 벡터를 생성하는 것에 관한 명령들을 보유한다. 상기 비트 벡터는 근처에 있는 노드에 전송될 수 있다. 상기 프로세서는 메모리에 결합되어 상기 메모리 내에 보유된 명령들을 실행하도록 구성된다.
또 다른 하나의 실시예는, 애드혹 환경에서 피어찾기를 용이하게 하고 오버헤드량을 완화시키기 위하여, 비트 벡터를 이용하여 적어도 두 개의 식별자를 브로드캐스팅하는 무선 통신 장치에 관한 것이다. 상기 장치는, 장치(a device)와 연관된 식별자의 적어도 하나의 서브세트를 선택하기 위한 수단과, 식별자의 상기 적어도 하나의 서브세트를 프로세싱하여 마크된 비트를 포함하는 출력 비트들의 시퀀스를 생성하는 수단을 포함한다. 또한, 다수의 수신기 장치에 출력 비트들의 시퀀스를 전송하기 위한 수단이 장치에 포함된다.
다른 실시예는, 피어찾기 목적을 위해 주기적으로 브로드캐스팅할 두 개 이상의 식별자를 컴퓨터가 선택하게 하는 제1 세트의 코드를 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건에 관한 것이다. 또한, 비트 벡터 내에서 복수의 설정 비트를 생성하기 위하여 컴퓨터가 상기 선택된 식별자에 대한 동작(예를 들어, 해시 또는 다중 해시)을 수행하게 하는 제2 세트의 코드가 포함된다. 상기 복수의 설정 비트는 상기 두 개 이상의 식별자에 대응한다. 또, 통신 환경 내에서 다른 노드에 의한 피어찾기를 위해 상기 컴퓨터가 상기 설정 비트를 가진 비트 벡터를 전달하게 하는 제3 세트의 코드가 포함된다.
다른 실시예는, 피어찾기 동안 브로드캐스트를 위해 두 개 이상의 공지된 식별자를 나타내는 비트들의 시퀀스를 생성하도록 구성된 적어도 하나의 프로세서에 관한 것이다. 상기 프로세서는, 피어찾기 동안 전송될 두 개 이상의 식별자를 선택하기 위한 제1 모듈과, 상기 두 개 이상의 식별자 중 적어도 하나를 다른 식별자(예를 들어, 개인 식별자)로 변환하기 위한 제2 모듈을 포함한다. 또한, 상기 장치에는 비트 벡터내에 포함될 수 있는 마크된 비트 수에 대한 상위 한도를 설정하기 위한 제3 모듈과, 해시 알고리즘 또는 해시 알고리즘 세트 등을 통하여 상기 하나 이상의 선택된 식별자와 개인 임시 식별자를 프로세싱하여 상기 비트 벡터 내에서 마크된 비트열을 생성하기 위한 제4 모듈이 포함되며, 상기 마크된 비트들의 시퀀스는 설정 상위 한도에 부합된다. 상기 프로세서는 피어찾기 목적을 위해 비트 벡터를 브로드캐스팅하기 위한 제5 모듈을 더 포함한다.
하나의 실시예는, 피어찾기 목적을 위해 비트 벡터내에 포함된 마크된 비트를 수신하여 디코딩하는 방법에 관한 것이다. 상기 방법은, 피어 노드가 공지된 식별자를 브로드캐스팅하고 있는 경우 마크되어야 할 비트 벡터내의 비트를 결정하는 단계를 포함한다. 비트 벡터의 적어도 하나의 서브세트가 통신 네트워크의 노드로부터 수신된다. 또한 상기 방법은, 비트 벡터의 상기 수신된 적어도 하나의 서브세트를 평가하여, 상기 비트벡터의 수신된 적어도 하나의 서브세트가 상기 피어 노드로부터 기인된 것인지를 확정하는 단계를 포함한다. 상기 비트 벡터가 상기 피어 노드로부터 기인한 경우 통신이 선택적으로 개시될 수 있다.
다른 실시예는, 메모리와 프로세서를 포함하는 무선 통신 장치에 관한 것이다. 상기 메모리는, 송신 노드로부터 비트 벡터를 수신하고 상기 비트 벡터를 디코딩하는 것에 관한 명령들을 보유한다. 상기 메모리는, 상기 비트 벡터가 관련 피어로부터 기인할 가능성이 있는 경우 어떠한 비트가 설정되어야 할지를 결정하고, 상기 송신 노드가 상기 관련 피어인지를 검증하는 것에 관한 명령들을 더 보유한다. 상기 프로세서는 상기 메모리에 결합되어, 상기 메모리에 보유된 명령들을 실행하도록 구성된다.
또 다른 하나의 실시예는, 애드혹 환경에서 피어찾기를 용이하게 하기 위하여, 비트 벡터의 서브포션(sub-portion)을 수신하여 해석하는 무선 통신 장치에 관한 것이다. 상기 장치는, 송신 노드로부터 비트 벡터의 적어도 일부를 수신하기 위한 수단 및 상기 비트 벡터의 수신된 부분의 어떠한 비트가 마크되어 있는지를 결정하기 위한 수단을 포함한다. 또한 상기 장치는, 상기 비트 벡터내에서 피어 노드가 어떠한 비트를 마킹(mark)할 것인지를 결정하기 위한 수단 및 상기 비트 벡터의 수신된 부분에 마크된 비트의 결정에 기초하여 상기 비트 벡터의 부분이 상기 피어 노드로부터 기인한 것인지를 확정하기 위한 수단을 포함한다.
다른 실시예는, 피어 노드가 비트 벡터를 전송하고 있는 경우, 컴퓨터가 "1"로 설정되어야 하는 비트들의 시퀀스를 결정하도록 하는 제1 세트의 코드를 포함하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건에 관한 것이다. 또한, 애드혹 네트워크에서 컴퓨터가 비트 벡터의 적어도 하나의 서브세트를 수신하도록 하는 제2 세트의 코드가 포함된다. 또, 상기 수신된 비트 벡터에서 "1"로 설정된 비트에 기초하여 상기 비트 벡터의 적어도 하나의 서브세트가 상기 피어 노드로부터 기인한 것인지를 상기 컴퓨터가 확인하도록 하는 제3 세트의 코드가 포함된다. 또한, 상기 피어 노드가 상기 비트 벡터의 서브세트가 수신된 노드인지의 확인을 상기 컴퓨터가 선택적으로 요청하도록 하기 위한 제4 세트의 코드가 포함된다.
또 하나의 실시예는, 피어찾기 목적을 위해 비트 벡터 내에 포함된 마크된 비트를 수신하여 디코딩하도록 구성된 적어도 하나의 프로세서에 관한 것이다. 프로세서에는, 복수의 비트를 포함하는 비트 벡터를 송신 노드로부터 수신하기 위한 제1 모듈 및 상기 복수의 비트로부터의 비트 수가 상한을 초과하는 경우 상기 비트 벡터를 무시하기 위한 제2 모듈이 포함된다. 상기 프로세서는, 상기 비트 벡터가 관련 피어로부터 기인한 경우 복수의 비트내에서 어떠한 비트가 설정되어야 하는지를 결정하기 위한 제3 모듈 및 상기 관련 피어로부터 기인한 경우 설정되어야 하는 상기 비트와 상기 수신된 비트 벡터 내의 설정 비트를 비교하기 위한 제4 모듈을 더 포함할 수 있다. 또한, 상기 비교에 의해 상기 수신된 비트 벡터가 상기 관련 피어로부터 수신된 것을 나타낸 경우, 상기 송신 노드가 상기 관련 피어인지 여부를 결정하기 위하여 상기 피어에 통신을 송신하기 위한 제5 모듈이 포함된다.
상술한 목적 및 관련된 목적을 달성하기 위해서, 하나 이상의 실시예들은 아래에서 설명되고, 특히 청구항에서 특정되는 특징들을 포함한다. 하기 설명 및 첨부 도면은 이러한 실시예들의 특정한 예시적인 양상들을 상세히 설명한다. 그러나, 이러한 양상들은 다양한 실시예들의 원리들이 사용될 수 있는 다양한 방법들 중 단지 일 예일 뿐이며, 제시된 실시예들은 이러한 실시예들 및 이러한 실시예들의 균등물 모두를 포함하도록 의도된다.
도 1은, 본 명세서에 제시된 다양한 양상들에 따른 무선 통신 네트워크를 도시한다.
도 2는, 상기 개시된 양상들에 따른 다중 식별자를 가진 노드에 있어서의 피어 관계를 도시한다.
도 3은, 통신 환경에서 피어찾기 목적을 위한 한 세트의 식별자의 브로드캐스팅을 용이하게 하는 예시적인 시스템을 도시한다.
도 4는, 다중 식별자 지원에 의한 찾기에 있어서 블룸 필터(Bloom filter)의 예시적인 적용을 도시한다.
도 5는, 입력으로서 사용된 다중 식별자로부터 계산된 비트 벡터 출력의 개념도를 나타낸다.
도 6은, 관련 피어의 공지된 식별자가 수신된 비트 벡터 내에서 활성 비트를 생성하도록 입력으로서 사용되었는지를 결정하는 예시적인 시스템을 도시한다.
도 7은, 상기 개시된 양상에 따라서 개인 임시 식별자에 대하여 사용가능성 기간이 다른 키 열(a sequence of keys)을 도시한다.
도 8은, 피어찾기 동안 브로드캐스트를 위해 두 개 이상의 공지된 식별자를 나타내는 비트들의 시퀀스를 생성하는 방법을 도시한다.
도 9는, 피어찾기 목적을 위해 비트 벡터 내에 포함된 마크된 비트를 수신하여 디코딩하는 방법을 도시한다.
도 10은, 상기 하나 이상의 개시된 양상에 따른 예시적인 무선 단말을 도시한다.
도 11은, 통신 환경에서 피어찾기를 용이하게 하도록 임시 식별자를 할당하고 상기 식별자를 선택적으로 분배하는 예시적인 시스템을 도시한다.
도 12는, 키를 수신하고 상기 수신된 키에 부분적으로 근거한 공개 식별자를 얻는 예시적인 시스템을 도시한다.
이제, 다양한 실시예가 첨부 도면을 참조하여 설명된다. 후술하는 기술에서, 설명의 목적을 위해, 다양한 특정한 상세한 설명들이 하나 이상의 양상들의 철저한 이해를 제공하기 위해서 기술된다. 하지만, 이러한 양상(들)이 이러한 상세한 설명들 없이도 실시될 수 있음이 명백할 수 있다. 다른 예들에서, 이들 양상들의 기술을 용이하게 하기 위하여, 주지된 구조들 및 장치들이 블록도 형태로 도시된다.
본 출원에 이용되는 것으로서, 용어들 "컴포넌트", "모듈", "시스템" 등은 컴퓨터 관련 엔티티, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어를 지칭하고자 하는 의도이다. 예컨대, 컴포넌트는 프로세서에서 동작하는 프로세스, 프로세서, 오브젝트, 실행가능자, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 한정되지는 않는다. 실례로서, 계산 장치에서 실행중인 애플리케이션 및 계산 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 로컬화되거나 그리고/또는 두 개 이상의 컴퓨터들 사이에서 분배될 수 있다. 게다가, 이러한 컴포넌트들은 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 수행할 수 있다. 상기 컴포넌트들은 하나 이상의 데이터 패킷들(예컨대, 로컬 시스템, 분배 시스템에서의 다른 컴포넌트들과, 그리고/또는 인터넷과 같은 네트워크에 걸쳐 신호에 의해 다른 시스템들과 상호작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수 있다.
게다가, 다양한 양상들이 무선 단말과 관련하여 본 명세서에서 기술된다. 무선 단말은 시스템, 가입자 유닛, 가입자국, 이동국, 모바일, 모바일 장치, 장치 원격국, 원격 단말, 액세스 단말, 사용자 단말, 단말, 무선 통신 장치, 사용자 에이전트, 사용자 장치, 또는 사용자 장비(UE)라고도 지칭될 수 있다. 무선 단말은, 셀룰러 전화, 코드리스 전화, 세션 개시 프로토콜(SIP) 전화, 스마트 폰, 무선 로컬 루프(WLL) 국, 개인 정보 단말(PDA), 랩탑, 핸드헬드 통신 장치, 핸드헬드 계산 장치(handheld computing device), 위성라디오, 및/또는 무선 시스템 상에서 통신하기 위한 다른 프로세싱 장치일 수 있다. 게다가, 다양한 양상들이 기지국과 관련하여 여기에서 설명된다. 기지국은 무선 단말(들)과 통신하는데 이용될 수 있고, 액세스 포인트, 노드(B), 또는 다른 용어로도 지칭될 수 있다.
다양한 양상 또는 특징들이 수많은 장치, 컴포넌트, 모듈 등을 포함할 수 있는 시스템에 의해 나타낼 것이다. 상기 다양한 시스템은 추가의 장치들, 컴포넌트들, 모듈들 등을 포함할 수 있으며, 그리고/또는 상기 특징들과 관련하여 논의된 모든 장치들, 컴포넌트들, 모듈들 등을 포함하지 않을 수도 있다는 것을 이해하여야 한다. 이들 방식의 조합이 또한 사용될 수 있다.
이제 도 1을 참조하여, 무선 통신 네트워크(100)가 본 명세서에 제시된 다양한 양상에 따라서 설명된다. 네트워크(100)는 애드혹(ad hoc) 무선 통신 네트워크일 수 있으며, 피어-투-피어 통신(peer-to-peer communications)을 지원할 수 있다. 피어-투-피어 통신 동안, 노드들, 장치들, 단말들 또는 국들(stations)은, 통신을 전달하거나 포워딩하기 위하여 기지국 및/또는 액세스 포인트를 이용하는 것과 대조적으로, 서로 직접 통신할 수 있다. 일부 이러한 네트워크들에 있어서, 상기 네트워크 내의 장치들은 다른 장치들을 향한 트래픽을 전달하거나 포워딩할 수 있다. 일부 애드혹 네트워크들은 단말들과 액세스 포인트들 모두를 포함할 수 있다.
네트워크(100)는, 무선 통신을 지원하는, 임의의 수의 모바일 장치 또는 노드를 포함할 수 있으며, 이중 6 개가 도시되어 있다. 모바일 장치들은, 예컨대 셀룰러폰, 스마트폰, 랩탑, 핸드헬드 통신 장치, 핸드헬드 계산 장치, 위성 라디오, 위성 위치확인 시스템(GPS), 개인 정보단말(PDA) 및/또는 무선 통신 시스템(100)상에서 통신하기 위한 임의의 다른 적절한 장치일 수 있다. 본 명세서에 사용된 바와 같이, 노드들은 모바일 장치, 액세스 포인트, 기지국, 액세스 라우터 등을 포함한다.
노드들(102, 104, 106, 108, 110, 및 112)은 피어-투-피어 애드혹 토폴로지로 구성된 것으로 도시되어 있다. 각 노드는, 멀티-홉 토폴로지(예를 들어, 통신은 최종 목적지에 도달할 때까지 노드에서 노드로 홉핑할 수 있다)에서와 같이, 하나 이상의 다른 노드의 범위 내에 있을 수 있으며, 다른 노드들과 통신하거나 또는 다른 노드들을 활용하여 통신할 수 있다. 예컨대, 송신기 노드(102)는 수신기 노드(112)와 통신하고자 할 수 있다. 송신기 노드(102)와 수신기 노드(112) 사이에서 패킷 전송을 가능하게 하기 위해서는, 하나 이상의 중간 노드(104, 106, 108, 및/또는 110)를 이용할 수 있다. 임의의 노드(102-112)가 송신기 노드 및/또는 수신기 노드일 수 있으며, 실질적으로 동일한 시간에 정보를 송신하거나 수신하는 기능을 수행할 수 있다(예를 들어, 정보를 수신하는 것과 대략 동시에 정보를 브로드캐스팅하거나 통신할 수 있다)는 것을 이해하여야 한다. 또한, 임의의 노드(102-112)가, 예컨대 유선 네트워크(wired network)와 같은 다른 통신 기반구조(미도시)에 액세스를 제공할 수 있으며, 일부 어떠한 경우에는 액세스 포인트와 유사하게 기능할 수 있다는 것을 이해하여야 한다.
주기적으로 또는 다른 기준(예컨대, 요청(a request))에 기초하여, 노드(여기에서는 송신 노드 또는 송신 장치로 지칭됨)가 그 범위 내에 있는 다른 노드에 대하여 그 존재를 브로드캐스트 또는 어나운스(announce)할 수 있으며, 이것은 피어찾기 동안 이용될 수 있다. 존재 정보를 수신하는 노드들(여기서는 수신 노드 또는 수신 장치로 지칭됨)은 수신된 정보에 기초하여 상기 송신 노드의 존재를 인식한다. 이러한 노드들은 상기 수신된 정보에 기초하여 상기 송신 노드와 통신을 구축할 것인지를 결정할 수 있다. 통신 네트워크(100) 내의 노드들이 상기 통신 네트워크 내의 다른 노드들을 구별(예를 들어, 특정 노드와 연관된 사용자, 서비스, 기능, 관심사 등을 인지)할 수 없더라도, 다른 노드들의 존재(또는 실재)는 공지되어 있다는 것을 이해하여야 한다. 따라서, 만일 발생하고 있는 대화가 있다면, 상기 대화는 대역폭 성능, 간섭 경감 및 다른 관심사(concerns)를 포함하는 다양한 요인을 고려하여 조정될 수 있다.
피어찾기 동안 어나운스된 정보는 노드 또는 장치(예컨대, 송신 장치)의 사용자, 송신 노드 또는 장치상에서 실행되는 애플리케이션, 송신 노드 또는 장치에 의해 제공된 서비스 등에 관한 정보를 포함할 수 있다. 주어진 임의의 시간에, 피어찾기의 일부로서 광고(예를 들어, 브로드캐스팅)될 수 있는 특정 장치와 연관된 하나 이상의 식별자가 있을 수 있다. 예를 들면, 개인은 개인의 일과 관련된 제1 식별자(예를 들어, myname@company.com), 가정이나 개인적인 네트워크와 연관된 제2 식별자(예를 들어, myalias@provider.net), 클럽(club)과 연관된 제3 식별자(예를 들어, mynickname@myclub.org)를 가질 수 있고, 또한 상기 개인은 학교 또는 대학, 관심사 또는 다른 식별자들과 연관된 식별자들을 더 가질 수도 있다. 다양한 사람(예를 들어, 가족 구성원, 직장 동료, 친구, 피어, 동업자 등)들은 하나 이상의 식별자들로 그 개인을 알 수 있지만, 반드시 상기 개인과 연관된 모든 식별자를 알 수 있는 것은 아니다. 피어찾기 목적을 위해 노드의 식별자들 모두를 광고하는 것은 가능하지만, 각각의 식별자들을 개별적으로 광고하는 것은 상당한 오버헤드(예컨대, 통신 자원의 비효율적인 사용에 기인)가 되는 결과가 될 수 있다. 여기에 개시된 다양한 양상에 따라서, 식별자들의 하나의 서브세트만을 알고 있는 수신자가 상기 조합된 식별자의 수신된 광고(예를 들어, 피어찾기)에서 임의의 공지된 식별자들이 포함된 것을 검출하는 것을 허용하면서도, 다중 식별자들가 좀더 효율적인 방법으로 다중 식별자에 관한 정보가 전송(예컨대, 브로드캐스트)될 수 있는 방식으로 조합될 수 있다.
예컨대, 피어-투-피어 네트워크의 노드가 알려진 식별자들의 세트는, 해시값(들)을 생성하기 위하여 해시 함수, 또는 다수의 다양한 해시 함수를 수행할 수 있는 메커니즘(예를 들어, 블룸 필터(Bloom filter))에 대하여 입력들(inputs)(예를 들어, 엘리먼트(elements) 또는 키(keys))로 사용될 수 있다. "0" 또는 "1"로 설정 가능한, 비트 스트링(a string of bits)을 포함할 수 있는 비트 벡터가, 주기적인 브로드캐스트 등을 통하여, 피어-투-피어 네트워크 내의 다른 노드에 전송될 수 있다. 피어-투-피어 네트워크의 다른 노드로부터 전송된 비트 벡터를 수신하면, 수신 노드는 관련 피어들의 임의의 공지된 식별자들이 상기 수신된 비트 벡터를 발생시키는 메커니즘(예를 들어, 블룸 필터)에 대한 입력으로서 사용될 수 있는지 여부를 결정할 수 있다. 그렇다면, 그것이 관련 피어인지를 검증(예를 들어, 확인(confirmation) 및/또는 인증(authentication)에 대한 요청)하기 위하여 상기 수신 노드와 통신을 개시할 수 있다.
상기 개시된 양상들은 비트 벡터의 광고(예를 들어, 브로드캐스팅을 통한)에 관하여 제시되고 설명되어 있지만, 식별자들의 조합을 광고하는 다른 방식들이 이용될 수 있음을 이해하여야 한다. 이러한 광고의 예로서, 제한되는 것은 아니지만, 주파수 암호화(encoded in frequency), 시간 암호화(encoded in time) 등을 포함할 수 있다. 상기 다양한 양상들은 임의의 방식으로 광고(예를 들어, 브로드캐스팅)될 수 있으며, 다양한 기술 유형에 대하여 적용가능하다. 부가적으로, 또는 대안적으로, 상기 개시된 양상들은 인스턴트 메시징(instant messaging) 또는 채팅 서비스와 같은, 다양한 컨텍스트(context)들에 이용될 수 있다.
도 2는, 상기 개시된 양상에 따라서 다중 식별자를 가지는 노드에 대한 피어관계(200)를 나타낸다. 노드(또는 대응하는 사용자)(202)는 홈(Home) ID(204), 워크(Work) ID(206) 및 클럽(Club) ID(208)와 같은 다중 식별자들(IDs)에 의해 알려질 수 있다. 각각의 ID(204, 206, 208)는 다른 노드들(또는 대응하는 사용자들)의 다른 서브세트에 공지(및/또는 다른 서브세트와의 통신을 위해 이용)될 수 있다. 도시된 바와 같이, 노드(202)는 버디(Buddy)"A"(210)에 대하여 홈 ID(204)만으로, 버디"B"(212)에 대해서는 홈 ID(204) 및 워크 ID(206) 양자로, 버디"C"(214)에 대해서는 워크 ID(206)만으로, 그리고 버디"D"(216)에 대하여 클럽 ID(208)만으로 공지되어 있다.
노드(202)가 피어찾기 목적을 위해 그 공지된 식별자들(204, 206, 208) 모두를 광고하는 것이 가능할 수도 있지만, 상기 피어찾기 프로세스의 일부로서, 블룸 필터 또는 다른 종류의 필터 등의 조합 메커니즘(combining mechanism) 및/또는 메커니즘들을 사용하여, 각 식별자를 개별적으로 브로드캐스팅할 필요를 완화시킬 수 있다.
여기에 제시되고 설명된 다양한 양상들은 각각의 노드를 통하여 통신하는 사람에 관한 것이다. 상기 양상들은 제한적이지 않으며, 광고될 수 있는 비활성 객체, 애플리케이션, 프로세스, 서비스, 기능, 관심사 또는 다른 종류의 아이템에 적용할 수 있다는 것을 이해하여야 한다. 예컨대, 장치를 통하여 사용자가 현금 서비스를 제공하는 근처의 현금 인출기(예를 들어, ATM기)를 찾고자 할 수 있다. 상기 현금 인출기는, 현금 인출기와 같은 기기들을 광고하는 각각의 식별자들을 광고할 수 있다. 상기 사용자는 선택적으로 ATM기 찾기를 다른 것(예를 들어, 프린터, 전화, 자동판매기 등)으로 변경할 수 있다. 이러한 비활성 객체 또는 서비스의 검색은, 검색 장치가 어떠한 식별자를 검색하는지 알 수 있도록 지정된 네임 스페이스(namespace)에 근거할 수 있다(예를 들어, ATM@universalnamespace.com). 상기 서비스 또는 비활성 객체는 다수의 서비스를 제공할 수 있으며, 따라서 각각의 서비스 또는 기능에 대하여 개별적인 식별자를 포함한다. 상기 개시된 양상들은 다중 식별자가 효율적인 방식으로 브로드캐스팅될 수 있도록 활용될 수 있다. 네임스페이스에는 몇 가지 공통점(예를 들어, 광고될 수 있는 공지된 서비스들, 기능들 및 이름들의 레지스트리)이 있어야 한다. 사용자들은 어떠한 식별자를 광고할 것인지 그리고/또는 어떠한 식별자의 수신이 요구되는지(예를 들어, "1"로 설정, 마킹, 턴온되어) 선택적으로 고를 수 있다. 또한, 장치는 다른 종류의 식별자들의 조합을 광고할 수 있다는 것을 이해하여야 한다. 예컨대, 사용자에 의해 동작되고, 일부 애플리케이션 계층 서비스를 동시에 제공하는 장치(예를 들어, 게이밍 서버(gaming server))는 사용자 식별자 및 서비스 식별자의 조합을 광고할 수 있다.
일부 양상에 따라서, 비트 벡터 내의 설정 비트로서 브로드캐스팅된 상기 식별자들은 동작 애플리케이션 및/또는 모드와 연관될 수 있다. 개인은 특정 게임(예를 들어, 포커)을 하기를 원하는 다른 사람들을 찾을 수 있다. 상기 개인은, 그 개인이 함께 게임을 할 다른 사람들을 찾고자 한다는 것을 표시하는 모바일 장치의 사용 및 공지된 식별자를 광고할 수 있다. 다른 예에서, 어떠한 사람이 미혼이며 통신, 만남 또는 시간을 같이 보내고 싶은 유사한 관심사(예를 들어, 콘서트, 레스토랑, 독서 토론)를 갖는 다른 사람이나 데이트 상대를 찾는다는 것을 광고하는데 식별자를 사용할 수 있다. 유사한 관심사를 갖는 다른 사람들을 찾는 이들 개인은 "1"로 설정되는 비트 벡터 내의 비트의 서브세트를 포함하는 브로드캐스트를 (각각의 장치에 의해) 경청하고 있을 수 있다. 광고될 수 있는 서비스들 또는 기능들의 다른 예가 인터넷에 대한 액세스이다(예를 들어, 인터넷 연결 지점(Internet attachment point)). 상기 개시된 양상들을 이용하여 광고될 수 있으며 분명히 실재하는, 통신 관련, 애플리케이션 관련(예를 들어, 게임) 등일 수 있는 다수의 서비스 및 기능이 있을 수 있다.
제한이 아닌 예시로서, 상기 비트 벡터는 어떤 소정의 길이(예를 들어, 64 비트)일 수 있으며, 유효 비트 벡터 내에서 "1"로 설정될 수 있는 최대 비트 수(예를 들어, 24 비트)를 특정함으로써 긍정적 오류(false positives)의 가능성을 완화시키는데 충분한 길이로 이루어질 수 있다. 이 경우, 상기 비트 벡터의 계산에 포함된 각각의 식별자는 소정의 비트 수(예를 들어, 8)까지 셋업할 수 있어, 적어도 3개의 식별자의 조합을 가능하게 한다. 따라서, 임의의 길이의 3개의 식별자까지 더 작은 크기로 감소될 수 있다(예를 들어, 각각 64 비트 벡터로부터 총 8 비트 또는 24 비트까지 턴온).
도 3으로 돌아가서, 애드혹 환경에서 피어찾기 목적을 위해 한 세트의 식별자의 광고(예를 들어, 브로드캐스팅)를 용이하게 하는 예시적인 시스템(300)이 도시되어 있다. 개인(서비스, 기능 및/또는 관심사 등)은 한 세트의 식별자로 공지됨으로써, 다른 사람에게 상기 개인을 다양한 식별자들로 알릴 수 있을 것이다. 각각의 식별자는 다른 그룹의 사람으로 공지될 수 있다. 예컨대, 홈메일 계정(예를 들어, xxx@home.net) 및 워크메일 계정(예를 들어, xxx@work.com)이 있을 수 있다. 개인은 그들의 워크 계정을 친구가 아는 것을 원하지 않을 것이며(예를 들어, 직장을 바꿀 때 모든 사람에게 알리는 것을 원하지 않는다), 직장 동료에게 홈 계정을 알리기 싫을 것이다. 상기 개인이 공지된 각 계정에 관한 정보는, 가족, 친구, 동료, 등에 의해 발견될 수 있도록, 피어찾기 동안 등에, 개인이 사용중인 장치에 의해 광고될 수 있다. 그러나, 주기적으로 상기 식별자들을 개별적으로 브로드캐스팅하는 것은 비효율적이며 자원의 낭비일 수 있다. 따라서, 시스템(300)은, 노드가 다중 식별자와 연관이 있을 때, (예컨대, 피어찾기를 위해) 광고의 효율적인 방식을 제공할 수 있다.
더욱 상세하게는, 시스템(300)은 수신기 노드(304)에 대하여 그 존재를 광고하고, 어나운스하거나 브로드캐스팅하는 송신기 노드(302)를 포함한다. 하나 이상의 송신기 노드(302) 및 수신기 노드(304)가 상기 시스템(300)에 포함될 수 있다는 것을 이해하여야 한다; 하지만, 설명의 간략화를 위해, 각각에서 하나만이 도시되어 설명된다. 송신기 노드(302)는, ID(identification), 애드혹 피어-투-피어 네트워크 내에서 통신하기 위한 송신기 노드(302)의 서비스 활용방법, 및 다른 정보를 포함하는 다양한 정보를 어나운스하거나 브로드캐스팅할 수 있다.
일부 양상들에 따라서, 송신기 노드(302)는 수신기 노드(304)의 기능을 수행할 수 있으며, 수신기 노드(304)는 송신기 노드(302)의 기능을 수행할 수 있다. 따라서, 단일 노드는 본 상세한 설명에 개시된 하나 이상의 양상에 따라서 정보를 송, 수신할 수 있다. 이러한 방식으로, 노드는 정보를 브로드캐스팅하며 거의 동시에 근처의 다른 노드로부터 정보를 수신할 뿐만 아니라 다른 기능들(예를 들어, 정보의 통신, 전달 등)을 수행할 수도 있다.
송신기 노드(302)는, 송신기 노드(302)와 연관있는 (예를 들어, 두 개 이상의) 식별자들의 모든 또는 하나의 서브세트를 선택하도록 구성될 수 있는 셀렉터(306)를 포함할 수 있다. 상기 셀렉터(306)는 가장 빈번하게 사용된 식별자(예를 들어, 사용 주파수), 주 식별자로서 하나 이상의 식별자의 선택(일차 표시), 현재 구동중인 애플리케이션에 대응하는 한 세트의 식별자(현재 사용) 또는 그 조합들과 같은, 다양한 기준에 기초하여 자동적으로 하나 이상의 식별자를 선택할 수 있다. 부가적으로 또는 대안적으로, 수동 입력(a manual entry)으로, 셀렉터(306)에 의해 선택된 하나 이상의 식별자를 무시할 수 있다. 예를 들면, 사용자는 일차적으로 워크 식별자와 개인적 식별자를 이용할 수 있으며, 일반적으로 이들 두 개의 식별자가 상기 제시된 양상들을 이용하여 브로트캐스팅된다. 그러나, 상기 사용자는 클럽에도 속해 있을 수 있으며, 상기 클럽의 구성원들은 컨벤션이나 다른 이벤트에서 모일 수 있다. 상기 사용자는 컨벤션에 있는 동안 상기 클럽의 구성원들이 그를 찾을 수 있도록 브로드캐스트 정보 내에 클럽 식별자를 포함시키는 것을 원할 수 있다. 상기 클럽 식별자는 브로드캐스트를 위해 원하는 식별자를 포함(또는 제외)시키도록 수동적으로 선택될 수 있다. 일부 양상들에 따라서는, 상기 제시된 기술에 의해 활용될 수 있는 식별자들의 수를 제한하는 것을 고려할 수 있다.
또한, 송신기 노드(302)에는, 노드(예를 들어, 상기 노드의 사용자)와 연관된 두 개 이상의 식별자를 입력으로서 받아들이도록 구성될 수 있는 인코더(308)가 포함될 수 있다. 상기 입력 식별자들은 다중 식별자를 나타내는 비트 벡터의 "1" 비트로 설정하거나 마킹하기 위하여 식별자들을 조합하는 조합 메커니즘(예를 들어, 해시 함수 또는 블룸 필터)를 통하여 프로세싱될 수 있다. "0" 으로 설정된 일부 비트와 "1"로 설정된 다른 비트를 가진 상기 비트 벡터는, 인코더(308)에 의해 계산되어, 송신기(310)에 의해 하나 이상의 수신기 노드(304)로 전송된다. 입력과 출력 비트 벡터에 관한 추가 정보는 이하에서 제공될 것이다.
메모리(312)는 송신기(302)에 동작가능하게 결합(또는 내부에 포함)되어 송신기(302)와 연관된 두 개 이상의 식별자를 나타내는 비트 벡터 내에서 마크된 비트열을 전송할 수 있다. 메모리(312)는 비트 벡터 내의 비트들로서 광고(예를 들어, 브로드캐스팅)할 두 개 이상의 식별자를 선택하고, 조합 메커니즘을 통하여 두 개 이상의 식별자를 프로세싱하여 상기 두 개 이상의 식별자에 대응하는 "1"로 설정된 다수의 비트를 생성하며, 근방내의 노드에 상기 비트 벡터를 전송하는 것에 관한 정보를 저장할 수 있고, 그리고/또는 명령들을 보유할 수 있다. 일부 양상에 따라서, 상기 두 개 이상의 식별자를 선택하는 것은, (예컨대, 암호화 또는 일부 해시 함수에 의해) 공개 식별자를 개인 식별자로 변환하는 것을 포함할 수 있으며, 이것은 이하에서 좀더 상세하게 논의하기로 한다.
프로세서(314)가 송신기 노드(302) 및/또는 메모리(312)에 동작가능하게 접속(또는 내부에 포함)되어 정보의 프로세싱을 용이하게 할 수 있으며, 그리고/또는 메모리(312) 내에 보유된 명령들을 실행하도록 구성될 수 있다. 프로세서(314)는 셀렉터(306), 인코더(308) 및/또는 송신기(310)에 의해 이용될 수 있는 정보의 계산(computing), 변환(transforming) 및/또는 발생(generating) 전용의 프로세서일 수 있다. 부가적 또는 대안적으로, 프로세서(314)는 시스템(300)의 하나 이상의 컴포넌트를 제어하는 프로세서, 및/또는 정보를 분석하고, 정보를 발생시키며, 그리고/또는 시스템(300)의 하나 이상의 컴포넌트를 제어하는 프로세서일 수 있다.
도 4는, 다중 식별자 지원을 가진 찾기(discovery)를 위한 블룸 필터의 예시적인 애플리케이션(400)을 도시한다. 노드와 연관된 한 세트의 식별자(402, 404, 및 406)가, 도시된 블룸 필터(408)와 같은 필터에 대하여, 엘리먼트 또는 키인 입력으로서 사용된다. 블룸 필터의 출력은, 엘리먼트가 입력 세트의 구성원인지의 확률론적인 결정을 가능하게 하는 데이터 구조이다. 긍정적 오류(false positives)이 블룸 필터에서 발생하지만(예를 들어, 송신 노드가 관련 피어가 아닌 경우에 관련 피어인 것으로 나타난다), 부정적 오류(false negatives)는 블룸 필터에서 발생할 수 없다. 긍정적 오류는, 한 세트의 식별자를 가지는 송신 노드가 다른 식별자 세트를 가진 다른 송신 노드에 의해 설정된 유사한 서브세트의 비트를 턴온(예를 들어, "1"로 설정)할 때 발생할 수 있다.
본 예에 따라서, "j.doe@isp.net"는 홈 ID(402)를 나타낼 수 있으며, "john@company.com"는 워크 ID(404)를 나타낼 수 있고, "member@myclub.org"는 클럽 ID(406)를 나타낼 수 있다. 여기에 도시된 식별자들은 유사한 포맷을 가지지만, 상기 식별자들은 다른 포맷(예를 들어, 숫자, 글자, 부호, 다른 문자, 또는 그 조합들) 및/또는 길이(예를 들어, 50자(characters)와 10자를 더 가질 수 있다)에 근거한 다양한 포맷을 가질 수 있다는 것을 이해하여야 한다. 다수 종류의 식별자 및/또는 그 조합들이 사용될 수 있다(예들 들어, 인터넷 프로토콜(IP) 어드레스, 네트워크 액세스 식별자(NAIs), IPv4 어드레스, IPv6 어드레스, 하드웨어 식별자 어드레스, 도메인 네임, 이메일 어드레스, 또는 그 조합들). 부가적으로, 필터 메커니즘(408)에 입력된 식별자 수는 다양할 수 있으며, 피어-투-피어 네트워크에 참여하는 노드들은 동일한 수의 식별자들을 가질 필요는 없다. 부가적으로 또는 대안적으로, 필터 메커니즘(408)에 입력된 하나 이상의 식별자는 개인 식별자이며, 이에 대해서는 이하에 좀더 자세하게 설명하기로 한다.
필터 메커니즘(408)의 출력은 "1" 로 설정된 일부 비트 및 "0"으로 설정된 다른 비트들을 가지는 비트 벡터(410)이다. 상기 비트 벡터는 비트들의 고정된 세트(a fixed set)일 수 있으며, 이것은 필터 메커니즘(408)의 파라미터들의 인자일 수 있다. 비트의 수는, 구현 선택(implementation choice)에 근거한 것일 수 있으며, 노드가 그의 식별자들을 광고하여야 하는 레이트(rates), 노드가 수행해야 하는 효율 레벨, 얼마나 많은 다양한 식별자들이 지원될 것인지와 더불어 다른 인자들에 따라 결정될 수 있다.
상기 "1"로 설정된 비트는 필터 메커니즘에 입력으로서 사용된 하나 이상의 식별자를 나타내는 출력에 부합한다. 상기 비트 벡터는, 피어찾기의 목적을 위해 각각의 노드에 의해 주기적으로(또는 다양한 간격으로 또는 요청시 송신) 광고(예컨대, 브로드캐스트, 멀티캐스트, 및/또는 유니캐스트 전송을 통해)될 수 있다. 각각의 수신기 노드는, 공지된 피어가 상기 비트 벡터를 브로드캐스팅하고 있는 경우, 유사한 동작(예를 들어, 조합 또는 필터 메커니즘을 통해 공지된 아이덴티티를 프로세싱)을 수행하고, "1"로 설정되어야 하는 비트 벡터 내의 비트를 결정함으로써, 상기 비트 벡터(410)가 임의의 공지된 식별자들을 포함하는지 여부를 결정할 수 있다. 상기 수신 노드가 입력으로서 사용된 모든 식별자를 인식할 필요는 없으며, 상기 수신 노드에 의해 하나 이상의 식별자만이 공지되면 된다. 관련 피어 노드와 연관된 하나 이상의 식별자를 아는 것은, (예컨대, 두 개 이상의 식별자와 부합하는) "1"로 설정되어야 하는 상기 비트 벡터 내의 더 많은 비트가 공지되어 있기 때문에, 긍정적 오류를 완화시킬 수 있다. 그러나, 상기 개시된 양상에서 사용된 일부 조합 메커니즘은, 어떠한 비트가 "1"로 설정되어야 하는지를 결정하기 위하여 입력으로서 사용된 모든 식별자가 상기 수신 노드에 의해 공지되어야 하는 성질을 가질 수 있다는 것을 이해하여야 한다.
도 5는, 블룸 필터에 대한 입력으로서 사용된, 다중 식별자로부터 계산된 비트 벡터 출력(500)의 개념도를 나타낸다. 그러나, 개시된 양상들은 수많은 종류의 조합 및/또는 필터 메커니즘에 의해 활용될 수 있으며, 블룸 필터는 단지 이러한 메커니즘의 일예이다.
상기 블룸 필터 메커니즘의 출력은 비트 벡터이다. 상기 비트 벡터 내의 비트들의 서브세트가, 마크된(예를 들어, "1"로 설정된) 입력 엘리먼트들 또는 키들의 각각에 대응한다. 마크된 상기 비트들은 필터 메커니즘의 함수 및 상기 필터에 의해 사용된 하나 이상의 알고리즘이다. 예를 들어, 식별자가 출력으로서 8 비트를 생성하는 것이라면(다른 수의 비트가 사용될 수 있지만), 상기 입력은 8개의 다른 해시를 통하여 프로세싱될 수 있다. 따라서, 각각의 해시는 하나의 비트를 선택하여 턴온 또는 활성화(예를 들어, "1"로 설정)시킬 수 있다.
예컨대, 도면에서 inputjohn@company.com (504)는, 508, 510, 512, 514, 516, 518, 520 및 522로 표시된 비트를 마크(또는 턴"온")한다. 이 단일 입력(504)은 8비트를 턴온시키지만, 원하는 구성에 따라서, 다른 수의 비트들이 턴온되거나 마크될 수 있다. 부가적으로, 두 개 이상의 입력(예를 들어, 식별자들)이 비트(512)와 같이 동일한 출력 비트를 마크(예를 들어, 턴온)할 수 있다. 그리하여, 선택된 비트 출력 수의 서브세트가 두 개 이상의 식별자에 의해 마크(예를 들어, "1"로 설정된 비트들)되도록, 마크된 비트에 일부 중복이 있을 수 있다. 그러나, 입력이, 상기 비트 벡터 내에서 마크되는 소정 수보다 많은 출력 비트를 발생시켜서는 안된다는 것을 이해하여야 한다(예를 들어, "1"로 설정된 비트 수는 임계치 레벨 아래에 있어야 한다).
일부 양상들에 따라서, 송신 노드 및/또는 수신 노드는 비트 벡터에서 "1"로 설정되는 비트수를 고려할 수 있다. 예컨대, 비트 벡터는 특정수의 비트(예를 들어, 32, 64 등)을 포함할 수 있으며, "1"로 설정될 수 있는 최대 비트수(예를 들어, 상위 한도, 임계치 레벨)가 미리 결정되어, (예를 들어, 스푸핑 공격(spoofing attack)으로 인한) 긍정적 오류를 완화시킬 수 있다. 이러한 경우, 만일 필터 메커니즘의 출력이 소정 수의 허용된 마크 비트(예를 들어, "1"로 설정)보다 많게 되면, 상기 송신 노드는 입력으로서 사용된 상기 식별자 수를 줄일 수 있다.
수신 노드는 소정 수보다 많은 설정 비트를 갖는 비트 벡터를 무시함으로써, 비트 벡터에서 "1"로 설정된 비트 수를 고려할 수 있다. 이러한 방식으로, 송신노드는, 다른 많은 사람들(예를 들어, 노드 사용자들)로서 나타내려고 시도하고 있는 잠재적인 악성 노드로서 식별될 수 있다. 또한, 이것은 송신 노드에 문제가 있다는 것을 나타낼 수 있다(예를 들어, 결함 소프트웨어, 오동작 장치 등).
제한이 아닌 예시로서, 필터 메커니즘에 대한 각각의 입력(예를 들어, 식별자)은 8 비트를 활성화시킬 수 있다. 64-비트 벡터에 있어서, "1"로 설정되도록 허용된 최대 비트수는 24일 수 있으며, 그것은 적어도 3개의 식별자를 나타낼 수 있다. 그러나, 어떠한 상황에 있어서는, 이러한 식별자가 3개의 다른 식별자 중 하나 이상에 의해 이미 설정된 비트들을 "1"로 설정하면, 제4 식별자(또는 그 이상)가 입력으로서 사용될 수 있다. 공지된 식별자와 연관된 것으로 보이는 비트 벡터(또는 비트 벡터의 서브세트)를 수신하는 것과 거의 동시에, 상기 수신 노드는 상기 송신 노드가 상기 공지된 식별자와 연관이 있는지에 대한 확인을 요청할 수 있다(예를 들어, 상기 노드들은 인증 시그널링 교환(authentication signaling exchange)을 통하여 진행할 수 있다).
이제, 도 6을 참조하면, 관련 피어의 공지된 식별자가 수신된 비트 벡터 내에서 활성 비트를 생성하기 위하여 입력으로 사용되었는지를 결정하는 예시적인 시스템(600)이 도시되어 있다. 노드들이 다양한 지리적 영역 주변으로 이동되면(또는 정지된 채로), 각각의 노드(예를 들어, 식별자 등)에 관한 정보가 피어찾기 동안 등에 지리적 영역 내의 다른 노드들에 광고(예를 들어, 브로드캐스팅)된다.
시스템(600)은, 수신기 노드(604)와 무선 통신하는 송신기 노드(602)를 포함한다. 송신기 노드(602)는 피어찾기 목적을 위해 주기적으로, 요청시 또는 다른 간격으로, 송신 노드(602)의 식별자(들)에 관한 정보뿐만 아니라 송신 노드(602)와의 (또는 송신 노드를 통한) 통신에 관한 다른 정보를 광고할 수 있다(예를 들어, 브로드캐스트, 멀티캐스트, 및/또는 유니캐스트 메커니즘). 수신기(606) 등을 통해 이러한 광고를 입수하는 수신기 노드(604)는 송신기 노드(602)와 통신할지 여부를 선택적으로 결정할 수 있다. 상기 결정은, 송신기 노드(602)가 명확하게 관련 피어(예를 들어, 컨택(contact), 버디(buddy), 친구, 가족 구성원, 직장 동료, 관심있는 애플리케이션, 관심있는 서비스, 등)인지에 기초하여 행해진다.
송신기 노드(602)가 확실하게 관련 피어인지의 결정을 용이하게 하기 위하여, 디코더(608)가 송신기 노드(602)로부터 수신된 비트를 분석하도록 구성될 수 있다. 상기 분석은, 관련 피어 노드가 수신기 노드(604)에 의해 공지된 그 식별자를 광고하고 있는 경우, 어떠한 비트 벡터가 "온"이 되어야 하는지, "1"로 설정되어야 하는지, 또는 마크되어야 하는지를 확인하는 것을 포함한다. 디코더(608)는, 송신기(관련 피어) 노드(602)에 의해 사용된 필터와 유사한 필터를 통해 공지된 식별자를 프로세싱함으로써 수신되어야 하는 상기 비트 벡터들을 결정하여, 상기 비트 벡터 내에서 특정 비트들을 턴온할 수 있다. 이와 같이, 디코더(608)는, 송신기(관련 피어) 노드(602)가 근처 내에 있으며 수신기 노드에 의해 공지된 식별자를 광고하고 있는 경우, 상기 비트 벡터 내의 어떠한 비트들이 "온"이 되어야 하는지를 결정할 수 있다.
일부 상황들에 있어서, 두 개 이상의 노드는 턴"온"된 유사한 비트들을 가질 수 있으며, 특정 비트들을 광고하는 실제 송신기 노드(602)가 상기 관련 피어인지가 불확실할 수 있다. 그리하여, 식별자(610)는, 그것이 상기 공지된 식별자와 연관된 송신기 노드(602)인지를 결정(예를 들어, 인증 시그널링/메시지 교환을 통한 진행에 의해)하도록 구성될 수 있다. 상기 식별자(610)는, 송신기 노드(602)가 피어임을 나타내는 "1"로 설정된 비트 수가 수신되면 자동적으로 송신기 노드(602)에 쿼리(query) 또는 메시지를 송신할 수 있다. 일부 양상에 따르면, 상기 수신기 노드(604)는 피어 목록(예를 들어, 컨택 리스트)을 디스플레이 상에 표시하거나 걸러낼 수 있고, 상기 피어 중 하나가 식별(예를 들어, 하일라이트 표시, 근처내인 것으로 마크, 또는 다른 수단에 의해 식별)되어 피어가 존재하는 사용자를 통지할 수 있다. 상기 사용자는, 그것이 상기 공지된 관련 피어인지를 결정하기 위하여, 통신을 개시할지 그리고/또는 송신기 노드(602)에 쿼리를 송신할지 여부를 수동적으로 선택할 수 있다. 긍정적 오류의 기회는, 얼마나 많은 비트가 송신기 노드(602)에 의해 광고되고 있는지, 얼마나 많은 식별자들이 송신기 노드(602)에 의해 입력으로서 사용되었는지, 수신기 노드가 상기 송신기 노드(602)를 알고 있는 식별자의 수 등을 포함하는 여러가지 파라미터의 함수일 수 있다. 입력으로서 작은 식별자 수(예를 들어, 2)를 가지는 긴 길이의 비트 벡터는, 긍정적 오류의 발생을 더욱 경감시킬 수 있다.
상기 전체 비트 벡터는 거의 동시에 수신(또는 송신기 노드(602)에 의해 송신)될 필요는 없다. 임의의 시간 간격에 걸쳐(예를 들어, 일분까지), 전체 비트 벡터가 수신될 수 있다. 수신 노드(604)는 송신 노드(602)가 상기 피어 노드라는 것을 결정하기 위하여, 상기 전체 비트 벡터가 수신될 때까지 대기할 필요는 없다. 예컨대, 특정 수의 비트(예를 들어, 8)가 "1"로 설정될 것이 예상되는 경우, 신뢰 레벨은, 상기 비트 벡터의 서브세트가 수신되고 상기 마크된 비트의 충분한 부분이 수신(예를 들어, 8비트 중에서 5비트가 예상대로 설정)되면 달성될 수 있다. 그리하여, 그것이 피어 노드일 것이라는 조기의 추측은 신뢰 레벨에 근거할 수 있으며, 피어찾기 동안 좀더 빨리 피어 노드를 검출할 수 있다. 그러나, 조기의 검출(예를 들어 전체 세트의 비트가 수신되기 전에)은 긍정적 오류의 기회를 증가시킬 수 있다. 이러한 형태의 빠른 방법은, 검출시 더 낮은 확실성을 이용하여 검출 프로세스의 속도를 높임으로써, 성공적이지 못한 확인 시그널링(confirmation signaling)이 더욱 빈번해질 가능성이 있다. 만일 "1"로 설정될 것으로 예상된 비트가 설정되지 않으면, 그것은 송신 노드(602)가 상기 피어 노드가 아니라는 것을 검증한다.
일부 양상들에 따르면, 송신 노드의 빠른 검출을 보조하기 위하여, 송신 노드의 사용자 습관이 상기 설정 비트에 의해 이용될 수 있다. 예를 들어, 직장 동료는 하루 중 특정 시간에 사무실에 있을 수 있다. 설정 비트들의 시퀀스가 수신되고 상기 노드의 사용자가 일반적으로 그 근처(예를 들어, 직장)에 있는 하루 중의 특정시간일 경우, 그것이 상기 피어 노드임에 더욱 확실한 가능성이 있다. 그러나, 만일 상기 비트들의 세트가 직장 동료가 통상 사무실에 없는 시간(예를 들어, 토요일 오후 11시)에 수신되면, 그것이 직장 동료인지 여부에 기초하여 불확실성이 있을 수 있다. 상기 사용자의 습관은, 긍정적 오류의 가능성을 좁히는 방법으로서 이용될 수 있으며, 특정 비트가 수신된 경우 그것이 상기 공지된 피어라는 더욱 큰 확실성을 얻을 수 있는, 행동 양식 또는 위치 정보의 역사적 유형 또는 다른 입력들(예를 들어, 스케쥴, 여행 일정표, 선호장소 등)을 포함할 수 있다.
메모리(612)는, 수신기 노드(604)에 동작가능하게 결합(또는 내부에 포함)되어, 송신기 노드가 수신기 노드(604)에 의해 공지된 식별자를 광고하는 경우, "1"로 설정되어야 하는 비트들의 시퀀스를 디코딩할 수 있다. 메모리(612)는, 하나 이상의 노드로부터 비트 벡터를 수신하고, 상기 비트 벡터를 디코딩하며, 어떠한 비트가 명확하게 관련된 피어(예를 들어, 공지된 식별자에 대응하는 비트들)에 대하여 "온"되거나 또는 "1"로 설정되어야 하는지를 결정하며, 상기 송신 노드가 상기 공지된 피어인지 여부를 검증하는 것에 관한 정보를 저장 그리고/또는 명령들을 보유할 수 있다. 또한, 메모리(612)는 수신된 키에 기초하여 피어 노드의 공개된 공지 식별자를 개인 식별자로 변환하는 것에 관한 명령들을 보유할 수 있다. 메모리(612)는 피어의 공지된 패턴, 습관, 위치 또는 다른 정보와 연관된 정보를 보유하고, 상기 송신 노드가 공지된 피어일 것인지 여부를 검증하는 동안 보유된 정보를 이용하는 것에 관한 명령들을 더 보유할 수 있다. 메모리(612)는 활성인(예컨대, 턴온된) 비트 수가 설정 비트의 상위 한도 또는 임계치 수를 초과하면 노드로부터 비트 벡터를 무시하는 것에 관한 지시를 더 포함할 수 있다.
프로세서(614)는 수신기 노드(604) 및/또는 메모리(612)에 동작가능하게 접속(또는 그 내부에 위치)되어 수신된 정보의 분석을 용이하게 할 수 있으며, 그리고/또는 메모리(612)에 보유된 명령들을 실행하도록 구성될 수 있다. 프로세서(614)는 송신기 노드(602)로부터 수신된 정보를 분석하며 그리고/또는 수신기(606), 디코더(608) 및/또는 식별자(610)에 의해 활용될 수 있는 정보를 발생시키는데 전용인 프로세서일 수 있다. 부가적으로 또는 대안적으로, 프로세서(614)는 시스템(600)의 하나 이상의 컴포넌트를 제어하는 프로세서, 및/또는 정보를 분석하고, 정보를 발생시키며, 그리고/또는 시스템(600)의 하나 이상의 컴포넌트를 제어하는 프로세서일 수 있다.
도 7은, 상기 개시된 양상에 따라서 개인 임시 식별자의 사용성 기간이 다른 키 열(700)을 나타낸다. 노드는, 공개적으로 공지된 식별자보다는 개인 식별자를 브로드캐스팅하여 장치 사용자들이 다른 식별된 장치 사용자들에 대하여 그들의 존재를 특정 간격으로 어나운스하는 것을 허용함으로써, 보안 레벨을 추가하도록 구성될 수 있다. 상기 사용자의 존재가 개인들의 엄선된 그룹에 어나운스되는 사용자에 대하여 프라이버시를 유지하는 방식으로, 각각의 노드에 의해 그 존재가 어나운스될 수 있다. 예컨대, 개인은 여러 지역을 방문하거나 쇼핑을 하면서 하루를 보내기를 원할 수 있으며 근처에 있는 모든 사람들에게 그의 위치를 알리고 싶지 않을 수 있다(특히 개인이 잘 알려진 경우라면). 상기 개인과 연관된 노드는 선택적인 키 분배를 통하여 친구 그룹에 대하여 그 존재를 선택적으로 어나운스할 수 있다.
선택적인 키 분배는, 다른 관련없는 피어에 대한 익명성의 타협을 완화시키면서 피어-투-피어 네트워크에서 명확하게 관련된 피어들 사이에서 찾기가 가능하게 처리할 수 있다. 부가적으로, 관계들이 일시적일 수 있으며 동일하지 않은 시 간 듀레이션(time duration)들이 될 수 있기 때문에, 명확하게 관련된 피어를 서로 찾을 수 있는 동안 오랜 기간에 걸쳐 시간 제한 및/또는 다른 제어를 제공하는 것이 바람직하다.
이하의 논의에 있어서, 피어-투-피어 네트워크에 참여하고 있는 각각의 노드는, 네트워크 액세스 식별자(예를 들어, j.doe@isp.com), 인터넷 프로토콜 어드레스, 또는 다른 식별자 등의 비교적 영구적이며 공개적으로 공지된 식별자들을 갖는 것으로 상정된다. 그러나, 피어찾기 목적을 위한 그 식별자의 광고는 익명성과 타협할 수 있다. 따라서, 대안적인(예를 들어, 개인) 식별자가 피어찾기 목적으로 사용될 수 있으며, 여기서 대안적인 식별자는 명확하게 관련된 피어들에 의해 공지될 뿐이다. 상기 개인 식별자는 관련 피어에 명확하게 전송되어 제한된 시간 동안에만 유효할 수 있으며(예를 들어, 임시 또는 일시적인 식별자일 수 있으며), 그리하여 특정 유효 범위를 가진다. 시간의 관점에서 유효 범위를 생각하기가 쉽지만, 다양한 수단이 임시 식별자들의 유효 범위를 구축하는데 사용될 수 있으며, 이러한 수단은 지속 기간(duration of time)으로만 한정되지 않는다는 것을 주목해야한다. 상기 범위는, 유효 범위가 개시되고 종료되는 때를 결정하기 위한 시스템, 방법 또는 다른 수단이 있다면, 시간 기반, 수치 기반 또는 다른 기준에 근거할 수 있다.
개인 식별자를 결정하여 보안 및 제어를 제공함으로써, 보안 키(예컨대, 여기서 보안키는 명확하게 관련된 피어(들)에 미리 전송되며, 제한된 수명만을 가질 수 있다)를 가진 영구 식별자의 보안 해시(a secure hash)에 기초하여 브로드캐스팅될 수 있다.
도 7에 도시된 예에 따르면, 개인 임시 식별자(702)는 아워 키(hour key, 708)와 같은 현재 시간에만 유효한 키를 이용하여 영구 또는 공개 식별자(706)에 대하여 보안 해시 동작(704)을 수행하여 결정된다. 상기 아워 키(708)는 그 시간동안에 피어찾기를 수행할 수 있어야만 하는 피어로 안전하게 전송될 수 있다. 뿐만 아니라, 상기 아워 키(708)는, 데이 키(day key, 716)와 같이, 날짜에 유효한 키를 갖는 일부 일 정보(day information, 714)(예를 들어, 상기 날짜에 대응하는 의사 랜덤 정보)에 대하여 보안 해시 동작(712)을 수행하여 결정될 수 있다. 상기 데이 키(716)를 갖는 일 정보(714)에 대한 이러한 동작은 한 세트의 아워 키(예를 들어, 특정한 날의 각 시간에 대하여 하나)를 생성할 수 있다. 따라서, 데이 키(716)가 안전하게 전송된 피어는 상기 날짜의 각 시간에 대한 아워 키를 결정할 수 있어, 상기 날짜의 각 시간 동안 피어찾기를 위해 사용된 개인 임시 식별자(702)를 결정한다. 유사한 방식으로, 위크 키(week key, 718)는 일부 주 정보(week information, 722)(예를 들어, 상기 주간에 대응하는 의사 랜덤 정보)에 대하여 보안 해시 동작(720)을 실행하여 결정할 수 있다. 일부 피어에는 상기 주간 내내 사용된 상기 개인 임시 식별자의 결정을 가능하게 하는 위크 키(718)가 주어질 수 있다. 유사하게는, 먼스 키(month key, 724)가 일부 월 정보(month information, 728)(예를 들어, 상기 월에 대응하는 의사 랜덤 정보)에 대하여 보안 해시 동작(726)을 실행하여 결정될 수 있다.
높은 계층의 키를 갖는 피어(700)는 낮은 레벨의 키를 얻어 상기 수신된 키의 만료 이전에 언제라도 사용된 개인 임시 ID(702)를 결정할 수 있다는 것을 주목해야 한다. 예를 들어, 먼스 키(724)가 주어진 피어는 낮은 계층의 각 키를 결정하여 대안인 현재의 임시 키를 얻을 수 있다. 위크 키(718)를 아는 피어가 각각의 데이 키와 아워 키를 얻을 수 있으며, 이것은 계층이 낮은 것이다. 유사한 방식으로, 상기 데이 키(716)를 가진 피어는 상기 날짜의 유효기간 동안 상기 각각의 아워 키(708)를 얻을 수 있다. 그리하여, 계층 내의 키에 대한 지식은, 계층이 낮은 키를 얻는데 필요한 정보를 공급할 수 있다.
그러나, 키들은 높은 계층의 키를 얻는데 사용될 수 없다. 그리하여, 상기 위크 키(718)를 가진 피어는 상기 먼스 키(724)를 얻을 수 없으며; 상기 데이 키(716)를 갖는 피어는 상기 위크 키(718) 또는 먼스 키(724)를 얻을 수 없고, 아워 키(708)를 아는 피어는 더 긴 유효 기간을 나타내는 키들(716, 718, 724)를 결정할 수 없다. 그리하여, 공급된 키의 기간과 연관되어 최종 범위가 만료하기 때문에, 분배된 키와 연관된 사용자와의 피어-투-피어 통신을 구축하려고 하는 피어는 상기 키들을 명확하게 할당시킬 필요가 있다. 이러한 방식으로, 상기 대안적인 식별자가 관련 피어들에게 명확하게 전송될 수 있으며 제한된 시간 동안 유효하다. 일부 양상들에 따라, 상기 키들은 상기 유효 범위의 만료 이전에 절대적으로 철회(revoke) 가능하다.
임의의 특정 시간에 사용된 상기 임시 개인 식별자(702)는 본 발명의 상세한 설명에 개시된 바와 같이, 상기 필터 메커니즘에 대하여 하나 이상의 입력으로서 사용될 수 있다. 이와 같이, 상기 비트 벡터를 수신하는 피어는, 각각의 키를 알고 어떠한 비트가 상기 개인 임시 식별자에 대응하여 "온"이 되어야 하는지를 결정함으로써, (피어찾기를 통해) 관련 피어가 근처 내에 있는지 여부만을 결정할 수 있다.
도 8 내지 9를 참조하면, 피어-투-피어 임시 식별자에 관한 방법론(methodologies)이 도시된다. 설명의 간략화를 위해, 상기 방법론은 일련의 동작으로 나타내고 설명하지만, 상기 방법론은, 하나 이상의 양상에 따라서, 일부동작은 여기에 나타내고 설명되어 있는 동작과 다른 순서 및/또는 다른 동작들과 동시에 발생할 수 있기 때문에, 상기 동작의 순서가 제한되는 것은 아니라는 것을 이해하여 알 수 있다. 예컨대, 당업계에서 통상의 지식을 가진자라면, 방법론은, 상태도에서와 같이, 상호 연관있는 일련의 상태 또는 이벤트로 선택적으로 나타낼 수 있다는 것을 이해하여 알 수 있을 것이다. 게다가, 모든 도시된 동작이 하나 이상의 양상에 따라서 방법론을 구현하는데 필요한 것은 아니라고 할 수 있다.
이제 도 8로 돌아가서, 피어찾기 동안 브로드캐스트를 위한 두 개 이상의 공지된 식별자를 나타내는 비트들의 시퀀스를 생성하기 위한 방법(800)이 도시되어 있다. 방법(800)은 두 개 이상의 공지된 식별자를 조합하고 이들 식별자를 "1"로 설정된 비트들과 "0"으로 설정된 비트들을 포함하는 비트 벡터로 변환하며, 이것은 피어찾기 목적을 위해 브로드캐스팅될 수 있다. 상기 식별자들을 비트 벡터들로 변환하는 것은 공지된 식별자들 각각을 개별적으로 브로드캐스트할 필요를 경감시킨다.
방법(800)은 두 개 이상의 식별자가 선택되면 802에서 시작한다. 상기 식별자들은 다양한 요인들(예를 들어, 가장 많이 사용된 식별자(사용 주파수), 일차로 마크된 식별자(일차표시(primary indication)), 현재 통신에 사용된 식별자(현재 사용) 등)에 기초하여 자동적으로 선택되거나, 수동적으로 선택될 수 있으며, 또는 자동 및 수동 선택 양자의 조합일 수 있다. 부가적으로, 상기 선택된 식별자는 언제라도 변경할 수 있다. 다양한 식별자가, 네트워크 액세스 식별자, IPv4 어드레스, IPv6 어드레스, 하드웨어 식별자 어드레스, 이메일 어드레스, 또는 그 조합들과 같이, 상기 개시된 양상으로 사용될 수 있다. 일부 양상들에 따라서, 상기 식별자들 중 하나 이상의 식별자는 상기 피어찾기 동안 비밀(confidentiality) 또는 익명성(anonymity) 수준을 유지하는데 사용된 개인 임시 식별자들일 수 있다.
804에서, 상기 선택된 식별자들은 필터 메커니즘(예를 들어, 해시 알고리즘, 다중 해시 알고리즘)을 통하여 프로세싱되어 마크된 비트열을 생성한다. 상기 필터 메커니즘은 블룸 필터일 수 있다; 하지만, 다른 메커니즘이 이용될 수 있다. 상기 필터 메커니즘은 어떠한 비트가 각각의 입력 식별자에 대하여 마크되거나 "1"로 설정되어야 하는지를 결정할 수 있다. 두 개 이상의 식별자에 의해 단일 비트가 선택(예를 들어, "1"로 설정)될 수 있다. 일부 양상들에 따라서, "1"로 설정될 수 있는 비트 수에 대하여 상위 한도가 있을 수 있다. 상기 비트 벡터내에서 유용한 총 비트의 제한된 수가 있을 수 있으며 너무 많은 비트가 마크되거나 또는 턴"온"되는 것은 수많은 긍정적 오류를 야기하여, 송신 노드가 관련 피어가 아닌 경우에 관련 피어라고 수신 노드가 믿게 할 수 있다.
긍정적 오류의 일예는, 개인(예를 들어, 송신 노드)이 워크(work) 식별자로 알려진 때 발생될 수 있다. 수신 노드는, 광고되고 있는 비트 벡터에서의 특정 비트가 "1"로 설정될 것을 예상하고 있을 수 있으며, 이것은 상기 워크 식별자가 입력 중 하나로서 사용된 것을 나타낸다. 그러나, 다양한 식별자를 가진 다른 노드가, 상기 워크 식별자에 의해 설정된 것과 같은 동일한 비트들을 "1"로 설정할 수 있다. 상기 수신 노드는, 상기 송신 노드가 상기 워크 식별자와 연관된 개인이라고 잘못 믿을 수 있다. 그리하여, "1"로 설정된 비트들은, 상기 송신 노드가 직장 동료일 가능성을 나타낼 수 있다. 상기 송신 노드에 쿼리나 통신을 송신하여 상기 노드가 직장 동료인지를 결정할 수 있다.
상기 비트 벡터는, 806에서 피어찾기 목적을 위해 주기적으로 또는 요청시에 브로드캐스트되거나 어나운스된다. 상기 비트 벡터를 수신하는 노드들은 브로드캐스팅 노드가 공지된 피어인지를 선택적으로 결정할 수 있으며, 상기 송신 노드가 상기 노드 피어인 경우 통신을 구축할 수 있다.
도 9에는, 피어찾기 목적을 위해 비트 벡터내에 포함된 마크된 비트를 수신하여 디코딩하는 방법(900)이 도시되어 있다. 피어찾기 동안 노드가 다른 노드들로부터 정보를 수신할 때, 다른 노드들은 각각의 식별자에 관한 정보를 전송할 수 있다. 이러한 정보를 수신하는 노드들은, 수신된 다양한 비트들을 예상된 비트들(예를 들어, "1"로 설정)와 매칭함으로써, 상기 브로드캐스트가 관련된 피어로부터 기인된 것인지를 확인할 수 있다. 만일 "1"로 설정된 수신 비트들이 "1"로 설정될 것으로 예상된 비트들이라면, 상기 송신 노드가 원하는 노드인지의 여부를 검증하도록 상기 송신 노드로부터 추가 확인이 요청될 수 있다.
902에서, 특정 피어 노드가 공지된 식별자를 브로드캐스팅하고 있는 경우, 마크(예를 들어, 턴"온", "1"로 설정)되어야 하는 비트들에 관하여 결정을 해야한다. 이러한 결정은, 상기 피어 노드에 의해 이용된 필터 메커니즘과 유사한 필터 메커니즘을 통하여, 상기 피어 노드의 공지된 식별자를 프로세싱함으로써 행해질 수 있다. 노드가 동작하면, 904에서는 유사한 지리적 영역내에서 다른 장치들에 의해 송신될 수 있는 브로드캐스트 정보를 (계속적으로, 주기적으로) 청취(listen)할 수 있다. 상기 다른 노드들은 대응하는 공지된 식별자를 나타내는 마크되거나 "1"로 설정된 다양한 비트들을 송신할 수 있다.
906에서, 마크된 비트들이 수신되면, 상기 마크된 비트들이, 피어 노드가 공개 식별자를 브로드캐스팅하고 있었다면 마크될 것으로 예상된 비트들인지를 결정한다. 비트 벡터는 특정 길이일 수 있지만, 상기 브로드캐스팅 노드가 상기 관련 피어일 거라고 결정되기 전에, 전체 비트 벡터가 수신될 필요는 없다. 예를 들어, 상기 비트의 송신자(sender)가 관련 피어 노드인 신뢰 레벨을 나타내는 비트량이 수신된다면("YES"), 상기 송신 노드가 상기 관련 피어인지 여부의 검증 요청이 송신될 때, 908에서 방법(900)을 계속할 수 있다. 상기 요청은 상기 피어 노드에 대한 통신 또는 다른 정보의 전송을 포함할 수 있다. "온"으로 되길 예상했던 비트가 상기 송신 노드로부터 수신된 비트 벡터내에서 "온"이 아닌 경우("NO"), 상기 송신 노드는 상기 관련 피어가 아니라는 것을 나타낸다. 이러한 상황에서, 방법(900)은, 피어찾기 목적을 위해 노드들로부터의 정보 전송을 경청하며 애드혹 네트워크의 노드로부터 비트 벡터의 적어도 하나의 서브세트를 수신하면서, 904에서 계속된다.
일부 양상에 따르면, 노드가 과도한 양의 마크된(예를 들어, "1"로 설정된) 비트를 가지는 비트 벡터를 전송하고 있는 것으로 검출되면, 그것은 송신 노드가 악성 방식으로 동작하며, 적절하게 기능하지 않고, 필터 메커니즘에 입력으로서 너무 많은 식별자가 사용되거나, 또는 어떤 다른 문제가 있다는 것을 나타낼 수 있다. 너무 많은 활성 비트를 갖는 비트 벡터의 수신은, 그렇지 않은 경우에도 다중 관련 피어가 범위 내에 있는 것처럼 상기 활성 비트가 표시할 가능성이 있기 때문에, 긍정적 오류를 유발할 수 있다. 이러한 상황에서, 상기 비트 벡터(및 상기 비트 벡터를 송신하는 노드)는 선택적으로 무시(ignored)되거나 묵살(disregard)될 수 있다.
여기에 제시된 하나 이상의 양상에 따르면, 필터 메커니즘에 대하여 입력 또는 키로서 어떠한 식별자를 사용할지, 사용될 수 있는 입력의 수, 마크(예를 들어, "1"로 설정)될 수 있는 출력 비트 수, 어떠한 입력 비트가 프로세싱 전에 개인 임시 식별자로 변경되어야 하는지 등에 관하여 추론이 행해질 수 있다는 것을 알 수 있을 것이다. 본 명세서에서 사용될 때, "추론하다(infer)" 또는 "추론(inference)"라는 용어는, 일반적으로 이벤트 및/또는 데이터를 통하여 파악된 바와 같은 한 세트의 관측으로부터 시스템, 환경 및/또는 사용자의 상태를 판단하거나 추론하는 프로세스를 말한다. 추론은 특정 컨텍스트 또는 동작을 식별하기 위하여 채용될 수 있거나, 예컨대 상태에 대한 확률 분포를 발생시킬 수 있다. 상기 추론은 확률론적인 - 즉, 데이터 및 이벤트들의 고려에 근거한 관심있는 상태에 대한 확률 분포의 계산일 수 있다. 또한, 추론은 한 세트의 이벤트들 및/또는 데이터로부터 상위 이벤트를 구성하기 위해 채용된 기술에 관한 것일 수 있다. 이러한 추론은, 이벤트들이 밀접한 시간적 근접성으로 상관 관계가 있는지 여부, 및 상기 이벤트들 및 데이터가 하나 또는 다수의 이벤트 및 데이터 소스들로부터 나오는지 여부에 관계없이, 한 세트의 관측된 이벤트들 및/또는 저장된 이벤트 데이터, 로부터 새로운 이벤트들 또는 동작들의 구성을 생성한다.
일예에 따르면, 여기에 제시된 하나 이상의 양상들은, 장치가 동작될 때 필터 메커니즘에 대한 하나 이상의 입력을 선택적으로 수정하는 것에 관하여 추론하는 것을 포함할 수 있다. 다른 예에 따르면, 공지된 피어 노드가 식별 정보를 송신하고 있는 경우 수신된 비트 벡터내에서 마크되어야 하는 비트들을 식별하기 위하여 송신 장치에 의해 사용된 필터 메커니즘의 확인에 관하여 추론이 행해질 수 있다. 다른 예에 따르면, 필터 메커니즘을 통하여 프로세스할 다양한 종류 및 구성의 식별자들의 조합을 선택하는 것에 관하여 추론이 행해질 수 있다. 상술한 예들은 본질적으로 예시를 위한 것이며, 행해질 수 있는 추론의 수나, 이러한 추론들이 여기에 제시된 다양한 예들과 결합될 수 있는 방식에 대하여, 제한하도록 의도된 바가 없다는 것을 이해하여야 한다.
도 10은, 개시된 양상들의 무선 단말 중 어느 하나(예를 들어, 송신기 노드, 수신기 노드...)로 사용될 수 있는 예시적인 무선 단말(1000)을 나타낸다. 무선 단말(1000)은, 디코더(1012)를 포함하는 수신기, 인코더(1014)를 포함하는 송신기(1004), 프로세서(1006) 및 메모리(1008)를 포함하며, 이들은 버스(1010)에 의해 서로 결합되어 이들 다양한 엘리먼트(1002, 1004, 1006, 1008)는 데이터 및 정보를 서로 교환한다. 기지국 및/또는 다른 장치들로부터 신호를 수신하는데 사용된 안테나(1003)가 수신기(1002)에 결합된다. (예를 들어, 기지국 및/또는 다른 무선 단말들로) 신호를 전송하는데 사용된 안테나(1005)는 송신기(1004)에 결합된다.
프로세서(1006)(예를 들어, CPU)는, 무선 단말(1000)의 동작을 제어하며 메모리(1008)내의 루틴(1020)을 실행하고 데이터/정보(1022)를 이용한 방법들을 구현한다. 데이터/정보(1022)는 사용자 데이터(1034), 사용자 정보(1036) 및 톤 서브세트 할당 시퀀스(tone subset allocation sequence) 정보(1050)를 포함한다. 사용자 데이터(1034)는 피어 노드를 대상으로 한, 기지국 및/또는 다른 장치들로의 송신기(1004)에 의한 전송 이전에 인코딩을 인코더(1014)에 라우팅될 데이터 및, 수신기(1002)의 디코더(1012)에 의해 프로세싱된 기지국 및/또는 다른 장치들로부터 수신된 데이터를 포함할 수 있다. 사용자 정보(1036)는 업링크 채널 정보(1038), 다운링크 채널 정보(1040), 단말 ID 정보(1042), 기지국 ID 정보(1044) 섹터 ID 정보(1046) 및 모드 정보(1048)를 포함한다. 업링크 채널 정보(1038)는 기지국으로 전송시 사용할 무선 단말(1000)에 대하여 기지국에 의해 할당된 업링크 채널 세그먼트를 식별하는 정보를 포함한다. 업링크 채널은, 업링크 트래픽 채널, 전용 업링크 제어 채널(예를 들어, 리퀘스트 채널, 파워 제어 채널 및 타이밍 제어 채널)을 포함할 수 있다. 각 업링크 채널은 하나 이상의 논리 톤(logic tones)을 포함하며, 각 논리 톤은 업링크 톤 홉핑 열을 따른다. 상기 업링크 홉핑 열은 셀의 각 섹터 유형 사이 및 인접하는 셀 사이에서 상이하다. 다운링크 채널 정보(1040)는, 기지국이 무선 단말(1000)에 데이터/정보를 전송하고 있을 때 사용하기 위한 기지국에 의해 할당된 다운링크 채널 세그먼트를 식별하는 정보를 포함한다. 다운링크 채널은 다운링크 트래픽 채널 및 할당 채널을 포함할 수 있으며, 각 다운링크 채널은 하나 이상의 논리톤을 포함하고, 각 논리톤은 상기 셀의 각 섹터 사이에서 동기되는 다운링크 홉핑 열을 따른다.
또한, 사용자 정보(1036)는, 기지국 할당 식별인 단말 식별 정보(1042), 무선 단말(1000)과의 통신이 구축된 특정 기지국을 식별하는 기지국 식별 정보(1044), 및 무선 단말(1000)이 현재 위치하는 셀의 특정 섹터를 식별하는 섹터 식별 정보(1046)를 포함한다. 기지국 식별(1044)은 셀 슬로프값(cell slope value)을 제공하고 섹터 식별 정보(1046)는 섹터 인덱스 유형을 제공하며; 셀 슬로프값과 섹터 인덱스 유형은 톤-홉핑 열들을 얻는데 사용될 수 있다. 사용자 정보(1036)에 또한 포함된 모드 정보(1048)는, 무선 단말(1000)이 슬립 모드(sleep mode), 홀드 모드(hold mode) 또는 온 모드(on mode)인지 여부를 식별한다.
톤 서브세트 할당 시퀀스 정보(1050)는 다운링크 스트립-심볼 시간정보(1052)와 다운링크 톤 정보(1054)를 포함한다. 다운링크 스트립-심볼 시간정보(1052)는 수퍼슬롯, 비콘슬롯 및 울트라슬롯 구조 정보와 같은 프레임 동기구조 정보 및 주어진 심볼 기간이 스트립-심볼 기간인지, 만일 그렇다면 스트립-심볼 기간의 인덱스를 특정하고, 상기 스트립-심볼이 상기 기지국에 의해 사용된 톤 서브세트 할당 시퀀스의 길이를 줄이기 위한 리셋지점(resetting point)인지 여부를 특정하는 정보를 포함한다. 다운링크 톤 정보(1054)는, 상기 기지국에 할당된 캐리어 주파수, 톤의 수와 주파수 및 상기 스트립-심볼 기간에 할당될 톤 서브세트의 세트를 포함하는 정보와, 슬로프, 슬로프 인덱스 및 섹터 유형과 같은 다른 셀 및 섹터 특정값을 포함한다.
루틴(1020)은 통신 루틴(1024), 무선 단말 제어루틴(1026), 다중 식별자 통신루틴(1028) 및 식별자 변환루틴(1030)을 포함한다. 통신 루틴(1024)은 무선 단말(1000)에 의해 사용된 다양한 통신 프로토콜을 제어한다. 예컨대, 통신 루틴(1024)은 광역 네트워크를 통하여(예를 들어, 기지국과) 및/또는 로컬 영역 피어-투-피어 네트워크를 통하여(예를 들어, 서로 다른 무선 단말(들)과 직접) 통신가능하게 할 수 있다. 또다른 예에 의해, 통신 루틴(1024)은 (예를 들어, 기지국으로부터) 브로드캐스트 신호를 수신하게 할 수 있다. 무선 단말 제어루틴(1026)은 수신기(1002) 및 송신기(1004)의 제어를 포함하는 기본 무선 단말(1000) 기능성을 제어한다. 다중 식별자 통신 루틴(1028)은, 장치와 연관된 두 개 이상의 식별자를 선택하고 해시 함수 또는 필터 메커니즘을 통하여 상기 식별자를 프로세싱하는 것을 제어하여, 각 식별자를 개별적으로 알릴 필요를 완화시키면서 다중 식별자를 효율적으로 브로드캐스팅한다. 상기 식별자들은 장치의 사용자, 원하는 기능, 서비스, 또는 관심사와 연관된 임의의 식별, 또는 다른 정보에 관한 것일 수 있다. 식별자 변환루틴(1030)은 상기 장치가 통신 범위내에 있는 경우 피어 장치가 어떠한 정보를 브로드캐스팅해야 하는지(예를 들어, 어떠한 비트가 "1"로 설정되어야 하는지)의 결정을 제어할 수 있다.
도 11을 참조하면, 애드혹 환경에서 피어찾기를 용이하게 하기 위하여 비트 벡터를 이용하는 적어도 두 개의 식별자를 브로드캐스팅하는 예시적인 시스템(110)이 도시되어 있다. 시스템(1100)은 모바일 장치 내에서 적어도 부분적으로 상주할 수 있다. 시스템(1100)은 프로세서, 소프트웨어 또는 그 조합(예를 들어, 펌웨어)에 의해 구현된 기능을 나타내는 기능 블럭을 포함하는 것으로 나타낸 것을 알 수 있다.
시스템(1100)은 개별적으로 또는 결합하여 동작할 수 있는 전기 컴포넌트의 논리적 그룹핑(logical grouping, 1102)을 포함한다. 예컨대, 논리적 그룹핑(1102)은 노드(1104)와 연관된 식별자의 적어도 하나의 서브세트를 선택하기 위한 전기 컴포넌트를 포함할 수 있다. 도시에 따라서, 상기 식별자들은 자동적으로, 수동적으로 또는 그 조합들에 의해 선택될 수 있다. 예를 들면, 수동 입력은 식별자의 서브세트 중 적어도 하나의 식별자를 특정할 수 있다. 부가적으로, 선택될 수 있는 식별자 수에는 제한이 있을 수 있다. 또한, 논리 집단(1102)은 마크된 비트를 포함하는 출력 비트들의 시퀀스를 생성하기 위하여, 상기 식별자의 서브세트를 프로세싱하기 위한 전기 컴포넌트(1106)를 포함할 수 있다. 상기 비트들은, "0"으로부터 "온" 또는 "1"로 상기 비트들을 설정함으로써, 또는 다른 어떤 마킹 방식을 통하여 마크될 수 있다. 게다가, 논리적 그룹핑(1102)은 애드혹 환경에 위치된 다수의 수신기 노드로 출력 비트들의 시퀀스(1108)을 전송하기 위한 전기 컴포넌트를 포함할 수 있다. 일부 양상에 따라서, 논리적 그룹핑(1102)은 상기 비트들의 시퀀스 내에서 마크된 비트의 수를 제한하기 위한(예를 들어, 긍정적 오류를 완화시키기 위한) 전기 컴포넌트를 포함할 수 있다.
부가적으로, 시스템(1100)은 전기 컴포넌트(1104, 1106 및 1108) 또는 다른 컴포넌트와 연관이 있는 기능을 실행하기 위한 명령들을 보유하는 메모리(1110)를 포함할 수 있다. 메모리(1110)의 외부에 있는 것으로 도시되어 있지만, 전기 컴포넌트(1104, 1106 및 1108) 중 하나 이상이 메모리(1110)내에 존재할 수 있다는 것을 이해하여야 한다.
도 12를 참조하면, 애드혹 환경에서 피어찾기를 용이하게 하기 위하여 비트 벡터의 서브포션(sub-portion)을 수신하고 해석하는 예시적인 시스템(1200)이 도시되어 있다. 시스템(1200)은 모바일 장치내에서 적어도 부분적으로 상주할 수 있다. 시스템(1200)이 프로세서, 소프트웨어 또는 그 조합(예를 들어, 펌웨어)에 의해 구현된 기능을 나타내는 기능 블럭을 포함하는 것으로 나타낸 것을 알 수 있다.
시스템(1200)은 개별적으로 또는 결합하여 동작할 수 있는 전기 컴포넌트의 논리적 그룹핑(Logical grouping, 1202)을 포함한다. 논리적 그룹핑(1202)은 송신 노드(1204)로부터 비트 벡터의 적어도 일부를 수신하기 위한 전기 컴포넌트를 포함할 수 있다. 또한, 논리적 그룹핑(1202)은 상기 비트 벡터의 수신된 부분에서 어떠한 비트들이 마크될지를 결정하기 위한 전기 컴포넌트(1206)를 포함할 수 있다. 마킹은 상기 비트가 "1"로 설정된 것을 결정함으로써 달성될 수 있다. 게다가, 논리적 그룹핑(1202)은 피어 노드가 비트 벡터내에서 어떠한 비트를 마킹할 것인지를 결정하기 위한 전기 컴포넌트(1208)를 포함할 수 있다. 상기 마크될 비트는, 설령 상기 피어 노드가 상기 비트 벡터 내의 비트들을 마크하기 위하여 공지되지 않은, 다른 식별자를 또한 사용하였더라도, 상기 피어 장치와 연관된 하나 이상의 공지된 식별자들에 근거한 것일 수 있다. 논리적 그룹핑(1202)은 또한, 상기 피어 노드가 상기 비트 벡터를 송신했는지를 확인하기 위한 전기 컴포넌트(1210)를 포함할 수 있다. 상기 피어 노드가 상기 비트 벡터를 송신했는지의 결정은, 상기 비트 벡터의 수신된 부분에 마크된 비트들의 결정에 기초하여 행해질 수 있다.
부가적으로, 또는 대안적으로, 논리적 그룹핑(1002)은 마크된 비트 수가 상한을 초과하는 경우, 비트 벡터의 수신된 부분을 무시하기 위한 전기 컴포넌트를 포함할 수 있다. 만일 마크된 비트가 상한을 초과하면, 장치가 악성, 오동작이거나 또는 신뢰할 수 없는 통신을 송신하고 있다는 것을 나타낼 수 있다. 또한, 상기 비트 벡터의 부분이 상기 피어 노드로부터 기인한 것이라면 상기 송신 노드와의 통신을 선택적으로 개시하기 위한 전기 컴포넌트가 포함될 수 있다. 상기 통신은 상기 송신 노드가 상기 피어 노드인지 여부에 대한 검증 요청일 수 있다.
또한, 시스템(1200)은 전기 컴포넌트(1204, 1206, 1208 및 1210)와 연관된 기능을 실행하기 위한 명령들을 보유하는 메모리(1212)를 포함할 수 있다. 메모리(1212) 외부에 있는 것으로 도시하였지만, 전기 컴포넌트(1204, 1206, 1208 및 1210)의 하나 이상이 메모리(1212) 내에 존재할 수 있다는 것을 이해하여야 한다.
여기 제시된 양상들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 조합에 의해 구현될 수 있음을 이해하여야 한다. 본 시스템들 및/또는 방법들이 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드, 프로그램 코드 또는 코드 세그먼트들로 구현되는 경우, 이들은 저장 컴포넌트와 같은 기계 판독가능한 매체에 저장될 수 있다. 코드 세그먼트는 프로시져, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트의 임의의 조합을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 인수(arguments), 파라미터, 또는 메모리 컨텐츠들을 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 인수, 파라미터, 데이터 등은 메모리 공유, 메시지 전달(passing), 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 이용하여 전달, 포워딩, 또는 송신될 수 있다.
본 명세서에 제시된 양상과 관련하여 기술된 다양한 예시적인 논리, 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 임의의 다른 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다. 부가적으로, 적어도 하나의 프로세서는 상술한 단계 및/또는 동작 중 하나 이상을 수행하도록 동작 가능한 하나 이상의 모듈을 포함할 수 있다.
소프트웨어 구현에 있어서, 본 명세서에 제시된 기술들은, 여기에 설명된 기능을 수행하는 모듈(예를 들어, 프로시져, 함수 등)로 구현될 수 있다. 상기 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 실행될 수 있다. 상기 메모리 유닛은 프로세서 내부 또는 외부에서 실행될 수 있으며, 이 때 상기 메모리 유닛은, 당업계에서 공지된 바와 같은 다양한 수단을 통해 프로세서에 통신적으로 결합될 수 있다. 또한, 적어도 하나의 프로세서는 하나 이상의 동작가능한 모듈을 포함하여 여기에 제시된 기능을 수행할 수 있다.
여기서 제시되는 기술들은 CDMA, TDMA, FDMA, OFDMA, SC-FDMA 및 다른 시스템들과 같은 다양한 무선 통신 시스템들에서 사용될 수 있다. 여기서 사용되는 용어 "시스템" 및 "네트워크"는 종종 서로 교환하여 사용될 수 있다. CDMA 시스템은 유니버셜 지상 무선 액세스(UTRA), cdma2000 등과 같은 무선 기술들을 구현한다. UTRA는 와이드밴드-CDMA(W-CDMA) 및 CDMA의 다른 변종을 포함한다. cdma2000은 IS-2000, IS-95, 및 IS-856 표준들을 커버한다. TDMA 시스템은 이동 통신용 범용 시스템(GSM)과 같은 무선 기술을 구현한다. OFDMA 시스템은 이벌브드 UTRA(E-UTRA), 울트라 모바일 브로드밴드(UMB), IEEE 802.11(Wi-Fi), IEEE 802.16(WiMAX), IEEE 802.20, 플래쉬 OFDM®, 등과 같은 무선 기술을 구현한다. UTRA 및 E-UTRA는 유니버셜 이동 통신 시스템(UMTS)의 일부이다. 3GPP 롱 텀 에벌루션(LTE)는 다운링크에서 OFDMA를 사용하고 업링크에서 SC-FDMA를 사용하는, E-UTRA를 사용하는 UMTS의 다음 릴리스이다. UTRA, E-UTRA, UMTS, LTE 및 GSM은 "3세대 파트너쉽 프로젝트(3GPP)"의 문서들에 제시된다. 부가적으로, cdma2000 및 UMB는 "3세대 파트너쉽 프로젝트 2(3GPP2)"의 문서들에 제시된다. 또한, 이러한 무선 통신 시스템은 추가적으로 단면 비면허 스펙트럼, 802.xx 무선 LAN, BLUETOOTH 및 임의의 다른 짧거나 긴 범위의 무선 통신 기술을 사용하는 피어-투-피어(예를 들면, 모바일-투-모바일) 애드혹 네트워크 시스템을 포함할 수 있다.
또한, 여기서 제시된 다양한 양상들 또는 특징들은 표준 프로그래밍 및/또는 엔지니어링 기술을 이용하여 방법, 장치, 또는 제조물로 구현될 수 있다. 게다가, 본 명세서에서 이용되는 바와 같은 용어 "제조물"은 임의의 컴퓨터-판독가능한 장치, 캐리어, 또는 매체로부터 액세스가능한 컴퓨터 프로그램을 포함하고자 하는 의도이다. 예컨대, 컴퓨터 판독가능한 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 본 명세서에서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능한 매체"는 명령들(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 또한, 컴퓨터 프로그램 물건은, 컴퓨터가 여기에 설명된 상기 기능들을 수행하게 하는 동작가능한 하나 이상의 명령들 또는 코드를 갖는 컴퓨터 판독가능 매체를 포함할 수 있다.
상술한 방법의 단계들 및/또는 동작 또는 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈은 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(EEPROM); 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM); 또는 공지된 저장 매체의 임의의 형태로서 존재한다. 예시적인 저장매체는 프로세서와 결합되어, 프로세서는 저장매체로부터 정보를 판독하여 저장매체에 정보를 기록한다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다. 이러한 프로세서 및 저장매체는 ASIC 에 위치한다. 또한, ASIC 는 사용자 단말에 위치할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트로서 존재할 수 있다. 아울러, 몇가지 양상에 있어서, 방법의 단계들 및/또는 동작 또는 알고리즘은, 컴퓨터 프로그램 물건으로 통합될 수 있는, 기계 판독가능 매체 및/또는 컴퓨터 판독가능 매체에 대하여 하나 또는 임의의 조합 또는 코드 및/또는 지시의 세트로서 위치할 수 있다.
상술한 내용은 예시적인 양상들(실시예)에 대하여 논의되었지만, 첨부된 특허청구범위에 의해 정의된 바와 같이 제시된 실시예들의 범위를 벗어나지 않는 한 상기 실시예에 다양한 변경 및 변형이 가능하다는 것을 주의해야 한다. 그리하여, 여기에 제시된 실시예들은 첨부된 특허청구범위의 영역 내에서 모든 개조, 변경 및 변형을 포함하도록 의도된 것이다. 게다가, 상기 제시된 실시예들의 구성요소들은 단수로 설명되거나 주장될 수 있지만, 단수라는 명확한 언급이 없는 한 복수로 생각된다. 또한, 임의의 양상 및/또는 양상의 전부 또는 일부는 다르게 언급되지 않는 한, 임의의 다른 양상 및/또는 양상의 전부 또는 일부로 이용될 수 있다.
본 상세한 설명 또는 청구범위에서 사용되는 "갖는"이라는 용어는 "포함하는"이 전통적인 청구범위 냉의 용어로서 사용될 때 해석되는 바와 유사한 방식으로 내포적인 방식으로 의도된다. 또한, 본 상세한 설명 또는 청구범위에서 사용되는 용어 "또는"은 "비배타적 또는(non-exclusive or)"인 것으로 의도된다.

Claims (40)

  1. 피어-투-피어 통신에 대하여 피어 찾기 동안 브로드캐스트를 위해 두 개 이상의 식별자를 나타내는 비트들의 시퀀스를 생성하기 위한 방법으로서,
    송신 장치와 연관되어 있는 브로드캐스팅될 두 개 이상의 식별자들을 선택하는 단계;
    비트 벡터에 포함된 마크된 비트들의 시퀀스를 생성하기 위하여 상기 선택된 식별자들을 프로세싱하는 단계; 및
    피어찾기 목적을 위해 상기 비트 벡터를 브로드캐스팅하는 단계를 포함하는, 비트들의 시퀀스를 생성하기 위한 방법.
  2. 제1항에 있어서, 상기 두 개 이상의 식별자들은 사용자, 서비스, 기능(function), 관심사(interest) 또는 그 조합들에 관한 것인, 비트들의 시퀀스를 생성하기 위한 방법.
  3. 제1항에 있어서, 상기 두 개 이상의 식별자들은 자동적으로 선택되거나, 수동적으로 선택되거나 또는 그 조합들에 의해 선택되는, 비트들의 시퀀스를 생성하기 위한 방법.
  4. 제1항에 있어서, 상기 두 개 이상의 식별자는 사용 빈도(usage frequency), 프라이머리 표시(primary indication), 현재 사용(current use), 또는 그 조합들에 기초하여 자동으로 선택되는, 비트들의 시퀀스를 생성하기 위한 방법.
  5. 제1항에 있어서, 상기 두 개의 식별자 중 적어도 하나는 개인 임시 식별자(private temporary identifier)인, 비트들의 시퀀스를 생성하기 위한 방법.
  6. 제1항에 있어서, 상기 선택된 식별자들을 프로세싱하는 단계는, 상기 선택된 식별자들에 대한 해시 동작(hash operation) 또는 다중 해시 동작들을 수행하는 단계를 포함하는, 비트들의 시퀀스를 생성하기 위한 방법.
  7. 제1항에 있어서, 마크된 비트들의 시퀀스를 생성하기 위하여 상기 선택된 식별자들을 프로세싱하는 단계는, 상기 선택된 식별자들 중 2개에 의해 마크되는 적어도 하나의 비트를 야기하는, 비트들의 시퀀스를 생성하기 위한 방법.
  8. 제1항에 있어서, 상기 선택된 식별자들을 프로세싱하는 단계 이전에 상기 비트 벡터내에서 마크될 수 있는 비트들의 수에 대한 상위한도를 설정하는 단계를 더 포함하는, 비트들의 시퀀스를 생성하기 위한 방법.
  9. 무선 통신 장치로서,
    피어-투-피어 통신에 대한 피어 찾기 동안에 브로드캐스팅할 송신 장치와 연관되어 있는 두 개 이상의 식별자를 선택하는 것, 상기 두 개 이상의 식별자를 필터 메커니즘을 통해 프로세싱하여 상기 두 개 이상의 식별자에 대응하는 비트 벡터를 생성하는 것, 및 상기 비트 벡터를 상기 송신 장치로부터 미리 결정된 범위 내의 노드로 송신하는 것에 관련된 명령들을 보유하는 메모리; 및
    상기 메모리에 결합되어, 상기 메모리 내에 보유된 상기 명령들을 실행하도록 구성된 프로세서를 포함하는, 무선 통신 장치.
  10. 제9항에 있어서, 상기 메모리는 공개 식별자(public identifier)를 임시 개인 식별자로 변환하는 것에 관한 명령들을 더 보유하는, 무선 통신 장치.
  11. 제9항에 있어서, 상기 비트 벡터는 피어찾기 프로세스의 일부로서 송신되는, 무선 통신 장치.
  12. 제9항에 있어서, 상기 두 개 이상의 식별자는 사용자 식별, 서비스, 기능, 관심사 또는 그 조합들인, 무선 통신 장치.
  13. 제9항에 있어서, 상기 필터 메커니즘은 해시 동작 또는 다중 해시 동작들인, 무선 통신 장치.
  14. 제9항에 있어서, 상기 메모리는, 상기 비트 벡터내에 포함될 수 있는 마크된 비트들의 수에 대한 상위 임계치를 설정하는 것, 및 상기 마크된 비트들의 수가 상위 임계치를 만족하거나 초과하는 경우 상기 비트 벡터로부터 적어도 하나의 식별자를 제거하는 것에 관련된 명령들을 더 보유하는, 무선 통신 장치.
  15. 통신 환경에서 오버헤드량을 경감시키면서 피어찾기를 수행하기 위하여 비트 벡터를 이용하여 적어도 두 개의 식별자를 브로드캐스팅하는 무선 통신 장치로서,
    장치와 연관된 식별자의 적어도 하나의 서브세트를 선택하기 위한 수단;
    식별자의 상기 적어도 하나의 서브세트를 프로세싱하여 마크된 비트를 포함하는 출력 비트들의 시퀀스를 생성하기 위한 수단; 및
    복수의 수신기 장치들로 상기 출력 비트들의 시퀀스를 송신하기 위한 수단을 포함하는, 무선 통신 장치.
  16. 제15항에 있어서, 상기 비트들의 시퀀스 내에서 마크된 비트들의 수를 제한하기 위한 수단을 더 포함하는, 무선 통신 장치.
  17. 컴퓨터-판독가능 매체로서,
    피어찾기를 위해 주기적으로 브로드캐스팅할 두 개 이상의 식별자를 컴퓨터가 선택하도록 하기 위한 제1 세트의 코드;
    상기 선택된 식별자에 대하여 상기 컴퓨터가 동작을 수행하여, 비트 벡터 내에서, 상기 2개 이상의 식별자에 대응하는 복수의 설정 비트들을 생성하도록 하기 위한 제2 세트의 코드; 및
    통신 환경 내에서 장치들에 의한 피어찾기를 위해 상기 컴퓨터가 상기 설정 비트들을 갖는 상기 비트 벡터를 전달하도록 하기 위한 제3 세트의 코드;
    를 포함하는 컴퓨터-판독가능 매체.
  18. 제17항에 있어서, 상기 동작은 해시 동작 또는 다중 해시 동작들인, 컴퓨터-판독가능 매체.
  19. 제17항에 있어서,
    상기 컴퓨터가 상기 비트 벡터 내에서 설정될 수 있는 비트 수를 선택적으로 제한하도록 하기 위한 제4 세트의 코드를 더 포함하는, 컴퓨터-판독가능 매체.
  20. 제17항에 있어서,
    상기 컴퓨터가 공개적으로 공지된 식별자를 임시 개인 식별자로 변경하도록 하기 위한 제4 세트의 코드; 및
    상기 컴퓨터가 상기 두 개 이상의 선택된 식별자 중 적어도 하나로서 상기 임시 개인 식별자를 사용하도록 하기 위한 제5 세트의 코드를 더 포함하는, 컴퓨터-판독가능 매체.
  21. 피어찾기 프로세스 동안 브로드캐스팅을 위한 두 개 이상의 식별자를 나타내는 비트들의 시퀀스를 생성하도록 구성된 적어도 하나의 프로세서로서,
    피어찾기 동안 송신될 두 개 이상의 식별자를 선택하기 위한 제1 모듈;
    상기 두 개 이상의 식별자 중 적어도 하나를 개인 임시 식별자로 변환하기 위한 제2 모듈;
    비트 벡터 내에 포함될 수 있는 마크된 비트들의 수에 대하여 상위 한도를 설정하기 위한 제3 모듈;
    상기 선택된 식별자들 및 개인 임시 식별자를 해시 알고리즘을 통하여 프로세싱하여, 상기 비트 벡터 내에서 상기 설정된 상위 한도에 부합하는 마크된 비트들의 시퀀스를 생성하기 위한 제4 모듈; 및
    피어찾기 목적을 위해 상기 비트 벡터를 브로드캐스팅하기 위한 제5 모듈을 포함하는, 프로세서.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020107003171A 2007-07-11 2008-07-03 피어-투-피어 다중 식별자들 KR101219496B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US94916507P 2007-07-11 2007-07-11
US60/949,165 2007-07-11
US12/163,043 US9301121B2 (en) 2007-07-11 2008-06-27 Peer to peer multiple identifiers
US12/163,043 2008-06-27
PCT/US2008/069268 WO2009009452A1 (en) 2007-07-11 2008-07-03 Peer to peer multiple identifiers

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117025802A Division KR101155675B1 (ko) 2007-07-11 2008-07-03 피어-투-피어 다중 식별자들

Publications (2)

Publication Number Publication Date
KR20100037141A KR20100037141A (ko) 2010-04-08
KR101219496B1 true KR101219496B1 (ko) 2013-01-14

Family

ID=39869981

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117025802A KR101155675B1 (ko) 2007-07-11 2008-07-03 피어-투-피어 다중 식별자들
KR1020107003171A KR101219496B1 (ko) 2007-07-11 2008-07-03 피어-투-피어 다중 식별자들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020117025802A KR101155675B1 (ko) 2007-07-11 2008-07-03 피어-투-피어 다중 식별자들

Country Status (7)

Country Link
US (1) US9301121B2 (ko)
EP (1) EP2165574B1 (ko)
JP (1) JP5372926B2 (ko)
KR (2) KR101155675B1 (ko)
CN (1) CN101785331B (ko)
TW (1) TW200917859A (ko)
WO (1) WO2009009452A1 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135612B1 (en) 2011-04-17 2015-09-15 Proctor Consulting, LLC Proximity detection, virtual detection, or location based triggering of the exchange of value and information
US8116749B2 (en) 2008-09-08 2012-02-14 Proctor Jr James Arthur Protocol for anonymous wireless communication
US9320067B2 (en) 2008-11-24 2016-04-19 Qualcomm Incorporated Configuration of user equipment for peer-to-peer communication
US9179305B2 (en) * 2009-06-11 2015-11-03 Qualcomm Incorporated Bloom filter based device discovery
US8996568B2 (en) * 2009-07-14 2015-03-31 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network
US8995356B2 (en) 2009-10-14 2015-03-31 Qualcomm Incorporated Coding methods and apparatus for broadcast channels
US20110153391A1 (en) * 2009-12-21 2011-06-23 Michael Tenbrock Peer-to-peer privacy panel for audience measurement
US20130232198A1 (en) * 2009-12-21 2013-09-05 Arbitron Inc. System and Method for Peer-to-Peer Distribution of Media Exposure Data
US8942377B2 (en) * 2010-02-12 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Trust discovery in a communications network
US9485069B2 (en) * 2010-04-15 2016-11-01 Qualcomm Incorporated Transmission and reception of proximity detection signal for peer discovery
US20120011229A1 (en) * 2010-06-04 2012-01-12 Peter Heller Enhanced network/domain name hashing techniques
JP5766796B2 (ja) * 2010-06-23 2015-08-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated イベントトリガ型ピア発見
EP2458777A1 (en) * 2010-11-30 2012-05-30 Irdeto B.V. Deriving one or more cryptographic keys of a sequence of keys
US9264881B2 (en) * 2011-01-04 2016-02-16 Qualcomm Incorporated Methods and apparatus for enhanced system access control for peer-to-peer wireless communication networks
US9482734B2 (en) * 2011-03-28 2016-11-01 Qualcomm Incorporated Methods and apparatus for triggering cooperative positioning or learning in a wireless network
JP5509133B2 (ja) * 2011-04-05 2014-06-04 株式会社日立製作所 情報処理装置、id管理方法、プログラム及び記憶媒体
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
KR101835176B1 (ko) 2011-12-12 2018-03-06 그린픽 테크놀로지즈 엔.브이. 무선 시스템에서 결속하는 리스폰더 기기
JP5882505B2 (ja) * 2012-03-07 2016-03-09 インテル コーポレイション ピアツーピア無線接続を実装するためのシステムおよび方法
US9258692B2 (en) 2012-03-30 2016-02-09 Qualcomm Incorporated Relay assisted peer discovery
US9042550B2 (en) 2012-03-30 2015-05-26 Qualcomm Incorporated Methods and apparatus for base station assisted peer discovery through aggregation of expressions
US10123187B2 (en) * 2012-04-17 2018-11-06 Qualcomm Incorporated Methods and apparatus for multiplexing application identifiers for peer-to-peer discovery systems
JP6209595B2 (ja) * 2012-05-11 2017-10-04 インターデイジタル パテント ホールディングス インコーポレイテッド コンテキストアウェアピアツーピア通信
US9071533B2 (en) * 2012-07-31 2015-06-30 Cisco Technology, Inc. Multicast group assignment using probabilistic approximations
CN103686718A (zh) * 2012-08-31 2014-03-26 中兴通讯股份有限公司 D2d设备的身份标识处理方法及装置
US20140071916A1 (en) * 2012-09-11 2014-03-13 Electronics And Telecommunications Research Institute Apparatus and method for transmitting discovery signal
US9154945B2 (en) * 2012-09-12 2015-10-06 Nokia Technologies Oy Methods and apparatus for privacy protection in ad hoc networks
US9924552B2 (en) * 2013-01-03 2018-03-20 Lg Electronics Inc. Method and apparatus for changing in wireless communication system
US9173089B2 (en) * 2013-01-10 2015-10-27 Samsung Electronics Co., Ltd. Allocation of device id in device to device communications
ES2766802T3 (es) * 2013-01-25 2020-06-15 Koninklijke Kpn Nv Descubrimiento de proximidad, autenticación y establecimiento de enlace entre dispositivos móviles de comunicación en LTE 3GPP
US9226231B2 (en) 2013-01-30 2015-12-29 Qualcomm Incorporated Systems and methods for monitoring the size of a wireless network
KR20160048037A (ko) * 2013-05-10 2016-05-03 제트티이 (유에스에이) 잉크. 장치간 통신에 대한 간섭 관리를 위한 방법 및 시스템
KR102043006B1 (ko) * 2013-05-14 2019-11-13 삼성전자주식회사 무선 통신시스템에서의 UEs간 통신 방법
US10178092B2 (en) * 2013-11-18 2019-01-08 Qualcomm Incorporated Methods and apparatus for private service identifiers in neighborhood aware networks
US9872232B2 (en) 2013-12-02 2018-01-16 Qualcomm Incorporated Methods and apparatus for neighborhood area network detection
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
US11265385B2 (en) 2014-06-11 2022-03-01 Apple Inc. Dynamic bloom filter operation for service discovery
CN106105142B (zh) * 2014-06-24 2017-12-15 谷歌公司 网状网络调试
US10726625B2 (en) * 2015-01-28 2020-07-28 CCP hf. Method and system for improving the transmission and processing of data regarding a multi-user virtual environment
US10725297B2 (en) 2015-01-28 2020-07-28 CCP hf. Method and system for implementing a virtual representation of a physical environment using a virtual reality environment
US9852546B2 (en) 2015-01-28 2017-12-26 CCP hf. Method and system for receiving gesture input via virtual control objects
US20160285630A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Private service identifiers in neighborhood aware networks
US9298934B1 (en) 2015-06-30 2016-03-29 Linkedin Corporation Managing presentation of online content
US9923941B2 (en) * 2015-11-05 2018-03-20 International Business Machines Corporation Method and system for dynamic proximity-based media sharing
US10191794B2 (en) * 2016-09-28 2019-01-29 Mcafee, Llc Monitoring and analyzing watchdog messages in an internet of things network environment
EP3646571B1 (en) * 2017-06-30 2023-11-15 nChain Licensing AG Flow control for probabilistic relay in a blockchain network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050266798A1 (en) 2004-05-31 2005-12-01 Seamus Moloney Linking security association to entries in a contact directory of a wireless device
US20070141988A1 (en) 2005-12-20 2007-06-21 Microsoft Corporation Mechanism to convey discovery information in a wireless network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920477B2 (en) * 2001-04-06 2005-07-19 President And Fellows Of Harvard College Distributed, compressed Bloom filter Web cache server
JP3972733B2 (ja) * 2002-05-30 2007-09-05 株式会社日立製作所 アドレス変換装置、アドレス変換システム、及びsipサーバ
JP3943465B2 (ja) * 2002-08-20 2007-07-11 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信システム及び通信方法
JP4610421B2 (ja) 2005-06-20 2011-01-12 株式会社エヌ・ティ・ティ・ドコモ 無線ネットワークシステム、呼出制御装置、端末装置、および呼出信号生成方法
US8090374B2 (en) * 2005-12-01 2012-01-03 Quantenna Communications, Inc Wireless multimedia handset
US8478300B2 (en) 2005-12-20 2013-07-02 Microsoft Corporation Proximity service discovery in wireless networks
US7649888B2 (en) * 2006-07-14 2010-01-19 Futurewei Technologies, Inc. System for link independent multi-homing in heterogeneous access networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050266798A1 (en) 2004-05-31 2005-12-01 Seamus Moloney Linking security association to entries in a contact directory of a wireless device
US20070141988A1 (en) 2005-12-20 2007-06-21 Microsoft Corporation Mechanism to convey discovery information in a wireless network

Also Published As

Publication number Publication date
US9301121B2 (en) 2016-03-29
JP5372926B2 (ja) 2013-12-18
KR101155675B1 (ko) 2012-07-02
JP2010535437A (ja) 2010-11-18
TW200917859A (en) 2009-04-16
KR20110128362A (ko) 2011-11-29
WO2009009452A1 (en) 2009-01-15
EP2165574B1 (en) 2012-08-29
US20090016255A1 (en) 2009-01-15
EP2165574A1 (en) 2010-03-24
CN101785331A (zh) 2010-07-21
KR20100037141A (ko) 2010-04-08
CN101785331B (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
KR101219496B1 (ko) 피어-투-피어 다중 식별자들
JP5313244B2 (ja) ピアツーピア識別子
JP5054191B2 (ja) ピア・ツー・ピア通信ネットワークにおけるピア・ページング
US9679336B2 (en) Social ad hoc networking protocol and presentation layer
US8655392B2 (en) Generic paging service for third-party applications over wireless networks
EP1977563B1 (en) Encoding beacon signals to provide identification in peer-to-peer communication
CN104956701B (zh) 监视无线网络的大小
US8706145B2 (en) Multihop paging of a peer in a peer-to-peer communication network
TW201141294A (en) Methods and apparatus for supporting multi-hop peer discovery in peer-to-peer wireless networks
KR20120062898A (ko) 무선 피어-투-피어 네트워크에서 페이징의 수행
US20070280136A1 (en) SIP-based instant messaging in mobile ad hoc networks
KR20080045989A (ko) 무선 메쉬 네트워크에서 제어 메시지를 처리하기 위한 방법및 그 장치
US9973906B2 (en) Identifiers for enterprise messages
KR20110097503A (ko) 이동 무선망에서 노드의 ip 주소 및 아이덴티티 매핑 방법 및 이를 수행하는 노드

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
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: 20151230

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee