CN102422659B - 用于在无线网络中使用化名的方法和装置 - Google Patents

用于在无线网络中使用化名的方法和装置 Download PDF

Info

Publication number
CN102422659B
CN102422659B CN201080020238.0A CN201080020238A CN102422659B CN 102422659 B CN102422659 B CN 102422659B CN 201080020238 A CN201080020238 A CN 201080020238A CN 102422659 B CN102422659 B CN 102422659B
Authority
CN
China
Prior art keywords
community
message
assumed name
node
radio
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201080020238.0A
Other languages
English (en)
Other versions
CN102422659A (zh
Inventor
P·吉恩兹布尔格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN102422659A publication Critical patent/CN102422659A/zh
Application granted granted Critical
Publication of CN102422659B publication Critical patent/CN102422659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

提供一种用于使用化名来保护通信消息的隐私和匿名的方式。从接收的消息提取化名用于与分别与多个无线节点社区关联的预先计算的化名集进行比较。化名针对特定时间段有效。

Description

用于在无线网络中使用化名的方法和装置
技术领域
背景技术
本说明书涉及无线网络通信,更具体地涉及在其中使用化名。
发明内容
无线(例如蜂窝)服务提供商和设备制造商在例如通过提供引人注目的网络服务、应用和内容来向消费者传递价值和便利方面受到持续的挑战。一个发展领域是使用通信网络和设备来自动确定关于本地环境的信息和背景。然而涉及功率消耗、信令开销、安全和隐私的技术挑战已经阻碍这样的发展。
因此需要一种用于在通信网络上使用化名(pseudonym)来保护隐私和匿名的方式。
根据一个实施方式,一种方法包括接收与多个无线电节点社区之一对应的消息。该方法也包括从消息提取化名。该方法还包括将提取的化名与分别与社区关联的预先计算的化名集进行比较。该方法还包括基于比较来确定社区中的特定社区。预先计算的化名集针对特定时间段有效。
根据另一实施方式,一种装置包括:至少一个处理器;以及至少一个存储器,包括计算机程序代码,至少一个存储器和计算机程序代码被配置成使用至少一个处理器,使得装置接收与多个无线电节点社区之一对应的消息。也使得装置从消息中提取化名。还使得装置将提取的化名与分别与社区关联的预先计算的化名集进行比较。还使得装置基于比较来确定社区中的特定一个社区。预先计算的化名集针对特定时间段有效。
根据一个实施方式,一种装置包括用于接收与多个无线电节点社区之一对应的消息的装置。该装置也包括用于从消息中提取化名的装置。该装置还包括用于将提取的化名与分别与社区关联的预先计算的化名集进行比较的装置。该装置还包括用于基于比较来确定社区中的特定一个社区的装置。预先计算的化名集针对特定时间段有效。
根据另一实施方式,一种方法包括从预先计算的化名集中选择化名。该方法也包括生成与多个无线节点社区之一对应的消息,该消息包括化名或者指向化名的索引。该方法还包括发起向多个无线节点发送消息。预先计算的化名集针对特定时间段有效。
根据另一实施方式,一种装置包括:至少一个处理器;以及至少一个存储器,包括计算机程序代码,至少一个存储器和计算机程序代码被配置成使用至少一个处理器,使得装置从预先计算的化名集中选择化名。也使得装置生成与多个无线节点社区之一对应的消息,该消息包括化名或者指向化名的索引。还使得装置发起向多个无线节点发送消息。预先计算的化名集针对特定时间段有效。
根据另一实施方式,一种计算机可读存储介质载有一个或者多个指令的一个或者多个序列,指令序列在由一个或者多个处理器执行时使得装置从预先计算的化名集中选择化名。也使得装置生成与多个无线节点社区之一对应的消息,该消息包括化名或者指向化名的索引。还使得装置发起向多个无线节点发送消息。预先计算的化名集针对特定时间段有效。
根据又一实施方式,一种装置包括用于从预先计算的化名集中 选择化名的装置。该装置也包括用于生成与多个无线节点社区之一对应的消息的装置,该消息包括化名或者指向化名的索引。该装置也包括用于发起向多个无线节点发送消息的装置。预先计算的化名集针对特定时间段有效。
简单地通过举例说明多个具体实施方式和实现方式(包括为了实现本发明而设想的最佳实施方式)根据下文具体描述容易清楚更多其它方面、特征和优点。本发明也能够具有其它和不同的实施方式,并且可以在各种明显方面修改它的若干细节而均未脱离本发明的精神实质和范围。因而,附图和描述将视为在性质上为示例性的而非限制性的。
附图说明
在附图的各图中通过例子而非通过限制的方式来图示本发明的实施方式:
图1是根据示例实施方式的能够使用化名的通信系统的示意图;
图2A是根据示例实施方式的包括认知服务模块的无线节点的部件图;
图2B-2G是根据各种示例实施方式的认知服务模块的部件图;
图3是根据示例实施方式的用于在ad hoc网状网络上定位社区和社区成员的过程的流程图;
图4是根据示例实施方式的用于保护社区的隐私和匿名的过程的流程图;
图5A是根据示例实施方式的在查询节点中使用的消息和过程序列的梯形图;
图5B是根据示例实施方式的在中继节点中使用的消息和过程序列的梯形图;
图5C是根据示例实施方式的在答复节点中使用的消息和过程序列的梯形图;
图6A-6B是根据各种示例实施方式的在ad hoc网状网络上对社区进行定位的过程中利用的用户接口的示意图;
图7是根据示例实施方式的用于接收包括化名的消息的过程的流程图;
图8是根据示例实施方式的用于使用多组化名来提取化名的过程的流程图;
图9是根据示例实施方式的用于发送包括化名的消息的过程的流程图;
图10A是描绘了根据示例实施方式的包括化名的消息的字段结构的图;
图10B是根据示例实施方式的用于存储化名的数字键树(trie)数据结构的图;
图11是可以用来实施本发明实施方式的硬件的图;
图12是用来实施本发明实施方式的芯片组的图;并且
图13是可以用来实施本发明实施方式的移动站(例如手持机)的图。
具体实施方式
公开了一种用于使用化名的方法和装置。在下文描述中,出于说明的目的而阐述了大量具体细节,以便能够对本发明实施方式进行透彻理解。然而本领域技术人员清楚,没有这些具体细节或者用等效设置也可以实现本发明的实施方式。在其它实例中,以框图形式示出了公知结构和设备,以避免使本发明的实施方式出现不必要的晦涩难懂。
此处所用的术语“认知信息”是指关于本地环境与在该本地环境内的用户和通信设备的任何信息和/或背景。举例而言,认知信息可以用来支持如下应用:创建社交网络、确定存在、确定与设备关联的背景、广告、搜寻信息等。虽然在使用化名以保证属于ad hoc网状网络内的社区的用户的隐私方面描述了各种示例实施方式,但 是设想这里描述的方式可以使用于任何类型的通信系统或者网络内。
图1是根据示例实施方式的能够使用化名的通信系统的图。信息和背景包括如下“认知信息”,该认知信息向通信设备隐喻性地配备“无线电眼睛和耳朵”,以持续地收集信息并与本地环境中的其它设备交换信息。然而开发用于提供认知信息的系统带来了重大技术挑战,尤其在如下领域中:创建用于共享认知信息的网络、定位和组织认知信息、形成用于共享认知信息的社区、管理不断参与到共享认知信息过程中的设备的功率消耗、开发利用认知信息的应用、维护共享认知信息的用户的隐私和匿名、以及防止不需要的信息(例如垃圾信息)在网络上的扩散。此处描述的方式使用化名以通过例如使在ad hoc网状网络内的一个或者多个社区的成员之间共享的信息匿名化来维护隐私和匿名。
如图1中所示,系统100包括通过运营商A 105或者运营商B 107连接到通信网络103的一个或者多个无线节点101a-101n。无线节点101a-101n为任何类型的移动终端、便携终端或者固定终端,包括移动手持机、个人计算机、站、单元、设备、多媒体平板电脑、因特网节点、通信器、个人数字助理(PDA)、无线电可读标签(例如近场通信(NFC)标签、射频标识(RFID)标签)或者其任何组合。也设想无线节点101a-101n可以支持与用户的任何类型的接口(比如“可穿戴”电路等)。
在示例实施方式中,无线节点101a-101n形成用于共享认知信息的ad hoc网状网络109。ad hoc网状网络109例如是使用短距离无线电技术(例如无线电局域网(WLAN)或者蓝牙 )来创建的无连接和无服务的设备到设备网络(例如移动ad hoc网络(MANET))。在ad hoc网状网络109内,每个无线节点101可以是移动的并且在许多其它无线节点101的通信范围内。因而在任何特定无线节点101的通信范围内的无线节点101a-101n集合为瞬态的并且可以随着无线节点101a-101n从一处移向另一处而改变。
如前文讨论的那样,开发用于对社区进行定位的通信系统和网络的服务提供商和设备制造商面临许多技术挑战。例如当前ad hoc无线电(例如WLAN和蓝牙 )是针对连通性(例如经由网际协议(IP)的连通性)设计的。然而在“永远在线”环境(比如ad hoc网状网络109)中,由于功耗和扩展性问题,让大量无线节点101a-101n(例如移动手持机设备)通过例如IP长时间相互“连接”是不切实际的。具体而言,在大型ad hoc网络中的多跳连接通常需要大量控制信令和功率并且会快速耗尽移动设备的电池。另外,可扩展性可能成问题,因为当前ad hoc无线电通常在它们能够在任何给定时间支持的连接数目和有关信令上受限。当前ad hoc无线电的另一缺点在于它们未充分保护用户的隐私,因为它们通过与用户的设备关联的固定网络地址(例如媒体接入控制(MAC)地址)暴露了用户的标识。
为了解决这些问题,系统100创建用于以无连接方式共享认知信息的ad hoc网状网络109。此处所用的术语“无连接”指节点(例如无线节点101a)发送并且所有周围节点101a-101n接收认知信息而无需发送任何预先的控制信令的能力。例如在WLAN ad hoc上使用传输控制协议/IP(TCP/IP)来发送认知信息并非无连接的,这是由于在发送与接收节点之间使用双向TCP控制信令来建立TCP连接。例如在无线节点101a-101n无用户干预而自动交换的小型匿名消息中提供认知信息。此处所用的术语“匿名”是指除非(例如用户或者用户授权的另一实体)在消息中有意地包括发送方的真实身份否则没有可能根据消息推断发送者的真实身份。认知信息的交换随着从无线节点101到在广播无线节点101的无线电范围内的邻近无线节点101的广播消息(即洪泛式消息)而出现。在邻近无线节点101接收到广播的消息时,每个接收无线节点101又反过来可以向其它邻近无线节点101广播消息。以此方式,原先广播的消息在整个ad hoc网状网络101内传播。在示例实施方式中,传播的范围可能受诸如距离、位置、时间等标准的限制。
不同于传统系统,这样的消息仅用于携带认知信息而不用于在两个无线节点(例如无线节点101a和101b)之间传送内容(例如包含语音、视频等的文件或者媒体)。相反,消息仅包含指向内容的指针或者少量数据(例如存在或者背景信息)以最小化在ad hoc网状网络109上传送的数据业务量。无线节点101a-101n继而可以使用其它通信信道(例如通过通信网络103经由IP)来访问内容。此外,系统100消除与用于路由建立和维护的传统方法(例如基于通信协议的连接)关联的问题,比如在移动设备移动时维护和转交(hand off)连接,以及要求用于在移动设备数目或者密度高的环境中维护连接的高级别网络资源。例如系统100仅在需要将对查询的答复路由回查询节点时创建路由信息。通过仅使用查询消息来生成路由信息(即没有用于创建路由信息的控制信令)。在查询和后续答复过程完成之后忘记路由。换而言之,系统100提供的查询/答复过程对答复进行路由以提供需求的认知信息,而不是从一个节点101向另一节点推送认知信息。在示例实施方式中,传播认知信息的推送(例如在ad hoc网状网络109上发布信息)和拉取模式(例如从ad hoc网状网络109的其它节点101a-101n查询信息)都是可能的。在某些实施方式中,设想可以使用拉取操作模式而不是推送模式以便帮助抑制潜在的垃圾消息。
另外,系统100优化在ad hoc网状网络109上通信的无线节点101的功率消耗,以实现永远在线操作而不会严重影响无线节点101的电池寿命。例如通过仅利用简短认知消息、通过消除对任何路由维护信令的需求、通过运用最小化重复消息的发送和接收的过程,以及通过实现针对在每个无线节点101内使用的短距离设备到设备无线电的高效的休眠方案(为认知信息网络的典型的低延时要求所允许),系统100可以在移动设备中的电池充电之间潜在地提供每个无线节点101数百小时(例如400小时以上)的连续操作。
系统100也使得能够开发基于认知信息的新服务和应用(例如社交网络通信应用、基于位置的应用、用于确定存在的应用、用于 确定背景的应用、广告应用)。具体而言,关于本地环境的认知信息的连续和即时的性质实现了引人注目的新服务。例如认知信息可以与移动设备(例如无线节点101a-101n)中的越来越多可用的存储和计算能力组合以创建本地语义网,通过这种方式由ad hoc网状网络109内的无线节点101自动地创建和搜索本地认知信息。在此所使用的术语“语义网”是指如下系统,在该系统中,与系统共享的信息和消息可为系统内的节点101所理解。注意使用系统100来建立这样的本地语义网克服了两个阻碍开发全局语义网的主要问题:(1)缺乏用于大规模提供语义内容的机制和(2)缺乏用于帮助用户在语义网中找到信息的语义认知搜索引擎。系统100也可以用于协同背景计算、发布指向信息或者内容的指针、在限定的社区内搜索好友、找出正在发生什么事和哪类人在用户周围、使用户认知环境以及其它类似应用。
在第一使用范例中,认知信息提醒用户附近的人或者地点。例如,用户正在游览新城镇,这时无线节点101提醒用户“您的好友David的好友Salvatore在附近”。用户然后可以安排与Salvatore会面,以获得将在新城镇中游览的景点推荐。在另一示例中,用户正在不熟悉的附近地区寻找不错的饭店。基于认知信息的应用可以呈现按照当前在饭店中就餐的、与用户具有相同食物偏好的人的数量排序的本地饭店列表。可以基于包含人们的食物偏好的匿名信息的查询和答复来收集这样的列表。
在第二使用范例中,应用使用认知信息来发现用户附近的事件。例如在用户穿过公园时,无线节点101a基于在附近设备之间交换的消息向用户通知“在Tea Garden公园内有日本文化节;那里有您的Kabuki社区的五个成员:Zen、Mi、Xia、Talo和Chris。”用户然后可以决定出席文化节。
在第三使用范例中,应用使用认知信息来提供基于位置或者基于背景的服务。例如无线节点101a不具有定位能力,但是基于来自其它附近无线节点101的匿名认知信息了解到它在杂货店内。无线 节点101a然后基于用户在杂货店内的位置来提醒用户“记得购买洗碗机清洁剂”。认知信息也可以是来自具有定位能力的邻近无线节点101的物理位置信息。与具有这样的能力的邻近节点共享定位信息可以使不具有这种能力的节点101能够提供导航服务。
在另一例子中,一群人正在出席会议。会议邀请包括存储于会议出席者的移动节点101中的针对该特定会议的标识代码(例如标识代码可以存储于日历数据中)。使用在本发明中阐述的原理,节点101可以在列席会议之时在ad hoc网状网络109上交换会议标识代码。在用户的无线设备101中比较交换的标识代码可以例如证实用户是否确实列席了与标识代码对应的会议。这样的准确社交背景知识可以例如用来使服务或者应用行为适用于用户。
在第四使用范例中,应用提供了对如下本地信息的搜索,该本地信息迅速改变并且为本地环境所特有。本地信息经常未到达传统因特网搜索引擎。例如用户购买了音乐会的入场券、但是到最后一刻发现用户不能出席。用户向用户的无线节点101的认知服务模块111中存储“在场所Y的音乐会X的入场券可用”这样的字串。因而,在相距数个街区内的、在多跳ad hoc网状网络109上发送具有“音乐会X的入场券”这样的字串的查询消息来搜索入场券的附近无线节点101a将接收该用户的入场券可用的消息作为自动答复。
在第五使用范例中,应用实现以本地为目标的广告。例如接近本地新鲜水果市场的收市时间。商户决定在ad hoc网状网络109上发布“苹果当日收市前半价”这样的广告。住在市场附近的用户可收到广告。在另一示例中,用户浏览在无线节点101上浏览针对新打印机的广告。在浏览活动中,附属于广告的代码存储于认知服务模块111中。在搜索和找到这样的代码时,附近电子商店向用户发送以10%的折扣销售打印机的邀约。
在第六使用范例中,应用基于与用户关联的认知信息来自动创建活动日志。例如该应用将用户见到的人与诸如何时、何地、背景等其它认知信息一起记录。然后,用户在步行于街道之时遇见某人 士。该人士看起来面熟,但是用户想不起来该人士的姓名或者用户如何认识的该人士。运行应用的无线节点101a报告该人士的姓名为David,并且用户一年前在伦敦的英式足球赛上见到他。
在第七使用范例中,应用提供了在ad hoc网状网络109上发起本地讨论线程和群聊的能力。例如足球队的支持者在ad hoc网状网络109上组成社区,其中社区成员可以发送仅该特定团队的球迷俱乐部社区成员才可以接收和读取的(例如大小小到足以在ad hoc网状网络109上直接发送的)短文本消息。
图2A是根据一个示例实施方式的包括认知服务模块的无线节点的部件组成图。关于如下图2B-2E描述图2A,这些图是根据各种示例实施方式的认知服务模块的部件组成图。如图2A所示,无线节点101包括用于在ad hoc网状网络109内共享认知信息的一个或者多个部件。设想这些部件的功能可以组合于一个或者多个部件中,或者由等效功能的其它部件执行。在这一实施方式中,无线节点101包括应用201,该应用使用认知信息来提供各种服务和功能(包括社交网络、基于位置的服务、存在信息、背景确定、广告功能等)。应用201可以与认知服务模块111交互,以获得或者共享认知信息。
举例而言,认知服务模块111包括三层:认知层203、社区层205和网络层207。认知层203是用于共享认知信息的最高控制层。如图2B中所示,认知层203包括控制逻辑221和项存储设备223。控制逻辑221例如提供用于在ad hoc网状网络109上创建、发布、查询和接收认知信息的逻辑。控制逻辑221可以在项存储设备223中存储它创建或者接收的信息。设想项存储设备223可以是大小足以存储在可配置的时间段(例如天、月或者年)期间流经无线节点101的信息的全部或者部分。
在示例实施方式中,控制逻辑221使得能够通过向ad hoc网状网络109内的邻近无线节点101发起洪泛查询或者洪泛信息来查询和传播认知信息。例如在接收到查询时,在本地邻域中具有查询的信息的无线节点101自动答复查询节点。在示例实施方式中,答复 信息也自动存储于该传播答复经过的每个无线节点101的项存储设备223中。另外,对查询的答复可以造成在某些境况之下(例如当具体内容的规模大时)返回指向与查询相关的具体内容的指针而不是内容本身。设想如果内容相对小(例如少量字节的信息)则答复可以包含直接内容。通过使用指针,系统100使流经ad hoc网状网络109的数据业务量最小化。用户然后可以经由更合适的通信协议(例如IP)和/或通信手段(例如基础设施网络)经由指针(例如统一资源定位符(URL)地址、IP地址)访问内容。对指针(例如IP地址)的接收可以自动触发使用例如与指针关联的通信协议来传送内容。在广播或者发布信息的情况下,发布的信息传播经过的任何无线节点101可以在该无线节点101的项存储设备223中存储信息。
在其它示例实施方式中,也可以通过洪泛认知消息来直接发布认知信息。这样用于传播认知信息的推送模式可以用来在ad hoc网状网络109上支持一些应用(例如广告或者群聊)。
认识到隐私和匿名可能是系统100的用户所关注的。因而,控制逻辑221提供用于保证隐私和匿名的机制。例如控制逻辑221可以在邻近无线节点时的数量少时防止发送私人消息以防止推断身份的可能性。在此所用的术语“私人消息”是指与用户直接有关的信息,例如用户的习惯、品味或者偏好(音乐偏好、喜欢的饭店等)。
控制逻辑221还可以定期广播假目标(decoy)查询和答复以使跟踪个别无线节点100更加困难。由于外界观察者不知道与社区关联的认证密钥,所以观察者不能区分有效消息与虚构消息。因而通过观察假目标消息,观察者可能在无私人社区时检测到存在私人社区。此外,控制逻辑221使用户能够定义用于传入信息的过滤器(例如过滤广告),以及这些过滤器将如何工作(例如完全忽略信息、转发信息但是不存储等)。也设想用户可以指示控制逻辑221控制用户在ad hoc网状网络109上的可见性(例如不可见、仅对某个社区或者某个其它用户可见)以维护隐私。作为另一种用于保护隐私的机制,如下文关于社区层205描述的那样,控制逻辑221可 以与社区层205交互以使具体消息和对应标识符匿名化。
由于系统100的目标之一在于提供一种用于匿名散播认知信息的机制,所以认识到非所需或者非请求消息(例如垃圾消息)可能成为问题。为了解决这一问题,控制逻辑221可以例如从认知服务模块111的更低系统层获得关于流量负荷和当前平均功率消耗的信息。如果流量负荷为中等或者高(意味着与系统100有关的功率消耗也为中等或者高),则可以针对控制逻辑221发送洪泛消息的频率设置约束。也设想邻近对等节点101可以被配置成不转发任何源于忽略这样的消息约束的节点101的洪泛消息。
认知层203与社区层205一起提供应用编程接口(API)225,该API使得应用201能够访问控制逻辑221和项存储设备223的功能。在示例实施方式中,API 225使得应用开发者能够统一地和容易地使用与在ad hoc网状网络109上共享认知信息有关的功能。设想API 225可扩展成适应任何为了访问或者使用认知信息而设计的应用。在各种节点101中的应用无需相同或者相互兼容。这些应用正确使用API以能够发布和搜索在周围节点101中的认知信息就足够了。
认知层203还连接到社区层205。社区层205控制在ad hoc网状网络109内的无线节点101的社区形成和分类。举例而言,用户可以创建用于共享认知信息的任何数目的社区。设想社区可以是对等社区(例如任何无线节点101可以加入)、个人社区(例如无线节点101只有被邀请才可以加入),或者由在本地邻域中的所有节点构成的开放式本地社区。在示例实施方式中,在ad hoc网状网络109内的无线节点101之间穿越的消息属于这三个社区类型之一。社区可以是私有(消息被加密)或者公共(未使用加密)的。在示例实施方式中,在社区中的成员和状态影响无线节点101如何共享认知信息(针对社区成员的附加细节,参见关于图2G的讨论)。
另外可以出于任何目的创建社区或者创建任何持续时间的社区(例如永久工作社区、永久好友社区、仅在音乐会的持续时间内 维持的音乐会观众的临时社区)。如图2C中所示,社区层205包括社区控制模块241、社区目录243和加密/解密模块245。社区控制模块241提供用于创建、加入、管理(例如更新成员关系、配置设置和偏好、设置隐私策略),以及删除社区的逻辑。模块241也提供API 225的一部分。
在示例实施方式中,社区控制模块241向每个社区分配用于在ad hoc网状网络109内使用的唯一社区标识编号(CID)。控制模块241也可以生成与CID关联的认证密钥K,该认证密钥用于例如认证希望加入社区的用户,或者认证指引到社区的消息。例如无线节点101可以通过向其它无线节点101传送与社区关联的CID和认证密钥来邀请另一无线节点101加入社区。设想可以使用短距离无线电或者使用另一安全机制(例如短消息服务(SMS)或者电子邮件)来进行CID和对应认证密钥的传送。注意对等社区和个人社区均使用CID和对应的K,而开放式本地社区可以使用预定CID值(例如零)或者完全不使用CID。
为了保证隐私(如上文讨论的那样),社区控制模块241与加密/解密模块245交互,以在ad hoc网状网络109上的消息中包括CID时使CID匿名化。例如无线节点101可以使用与具体社区关联的匿名化CID(例如化名)而不是实际CID将查询指引到社区。在示例实施方式中,多个匿名化CID可以用来代表单一社区。以这一方式,更难以通过监视ad hoc网状网络109内的流量来识别与特定社区对应的查询。从外界观察者的角度来看,匿名化CID看上去是随机的。此外,加密/解密模块245可以使用例如从与CID关联的认证密钥K周期性导出的临时密钥来加密或者解密消息数据。这些措施阻止了不具有认证密钥的局外人发现CID。
在示例实施方式中,消息包括与发送无线节点101关联的标识符S、S从当前时间段开始起已经发送的消息的计数j、化名X和加密的消息文本Y(针对消息结构的附加细节,参见关于图10A的讨论)。可以发送无Y的一些消息(例如查询)。例如发送节点可以 根据这些字段和标识符(例如S、j、X)以及FK(向认证密钥“K”密钥化的单向推导函数)来推导新化名X:
X=FK(S,j)                         (等式1) 
作为相同社区的成员的接收无线节点101将具有相同认证密钥K,并且能够通过校验等式1是否成立来识别消息源于它的社区。这一方法提供高程度隐私:假设S、j对对于每个消息而言不同,按照等式1计算的X可以取来自[0,2ξ-1]的值,从而2ξ/M≈1012/M,其中M等于社区的成员在固定时间段内创建的查询的数目,而ξ等于X的比特数(例如40比特)。然而作为n个私人社区的成员的接收节点将必须针对每个传入消息计算等式1多达n次。例如当作为200个私人社区的成员的无线节点101在它的无线电接口上平均一秒听见50个消息,并且每个消息包含单个化名时,则无线节点101将必须每秒计算等式1多达一万次。
允许每秒一万次计算这样的持续速率与无线节点101具有长电池寿命这样的目标冲突。因此系统100使用另一种用于生成化名的方式,在该方式中,私人社区的每个成员独立地周期性地预先计算k个社区化名的列表{X0,…,Xk-1},并且例如发送节点向查询消息中插入的来自化名列表的标识符的索引i由发送节点的网络标识S确定:
i=H(S)(mod k)                      (等式2) 
其中H(·)为哈希函数(即i是取值范围为[0,k-1]的函数S的整数值函数)。只要发送方的网络标识S和预先计算的化名的列表{X0,…,Xk-1}保持相同,则根据等式2得出发送节点将使用单个化名Xi,。
函数H(·)应当具有大小至少为k的域,并且它的输出在该域内的分布应当均匀。例如设备的操作系统提供的线性同余随机数发生器可以用来实施等式2。
注意如果k为二的幂,则可以通过简单地复制H(S)的任何log2k比特来获得i。另外,如果S的分布出于选择i的目的而充分接近均匀,则等式2可以简化成:
i=S(mod k)                        (等式3) 
在答复消息中的X值取自于已经触发答复的查询消息。在系统100中,局外人可以通过观察消息首部中的源和目的地字段将响应链接到查询。因此,在查询和响应消息中的不同化名将不会提升隐私性。这一方式的优点在于现有搜索技术可以优化用于发现来自给定消息的化名X是否为先前预先计算的化名之一的时间。例如,如果与给定i对应的n个预先计算的化名存储于排序数组中,则可以使用在每个消息的O(log(n))时间内的二元搜索。就更复杂的数据结构而言,可以在O(1)时间内完成搜索;即在实践中,最坏情况的搜索时间将独立于n。
然而如下文描述的那样,查找时间依赖于在可以由不同社区使用的k值的多样性。出于该原因,可能的k值例如是有限的(例如k可以是k1、k2、…、kN之一)。
在相同时间段内每个发送节点使用单个化名的一个缺点在于发送方的成员的数目n是可直接观察的:例如它等于由该节点发送的消息中的不同的X的数目。有关n的知识然后可以用来追踪该节点。节点可以通过除了发送其正常消息之外还创建并发送具有随机化名的假目标消息来隐藏它的成员数目。然而发送假目标消息消耗了额外的能量,并且因此缩短了设备的电池寿命。
如上文提到的那样,可以基于对相互查询的答复来链接在相同ad hoc网状网络109中的社区成员。使用k个化名的预先计算列表的另一潜在缺点在于如果k小于社区成员数目,则至少两个成员将必须使用相同化名。然后,那些成员即使在他们在物理上处于不同的网络中时仍然可能被链接。
概括而言,节点在分离它的社区消息与它通过无线电接口收听到的所有消息时执行的每个消息的实时计算量将不依赖于以该节点为成员的社区的数目n,而是依赖于那些社区使用的不同k值的数目(至多为N)。
当k与N相比为大时,发送节点可以通过针对它的每个查询 从集合{X0,…,Xk-1}随机选择社区化名来隐藏它的成员数目:即索引i是取值范围为[0,k-1]的、消息的除了S之外的消息特定字段的整数值函数。
因此,代替等式(2),发送方可以用下式之一计算索引i:
i=H(S⊕j)(mod k)                 (等式4) 
i=H(S⊕j⊕Y)(mod k)              (等式5) 
或者,
i=S⊕j⊕Y(mod k)                 (等式6) 
其中⊕表示按位XOR运算;并且使用填充(例如用零)来使其⊕的运算数的长度相等。注意等式4中的模数k不应超过伪随机数生成器的种子S⊕j可以在一个时间段期间取值的数目;否则该计算将产生索引i的少于k个值。
然而如果预期k与典型M相比为小,则改变每个查询中的化名将快速暴露整个集合{X0,…,Xk-1},并且只要化名集合保持相同就使得外部观察者能够追踪相同社区的其它成员。
使用提供恒定搜索时间的数据结构实现本发明的另一实施方式:私人社区的每个成员独立地周期性地预先计算k个社区化名的列表{X0,…,Xk-1},并且发送节点101a随机选择发送节点向查询消息中插入的来自该列表的标识符的索引i:
i=H(R)(mod k)                       (等式6a)
其中R是仅为发送节点所知的随机数,而H(·)为哈希函数;即i是范围为[0,k-1]的、R的整数值函数。发送节点101a可以在整个时间段内保持R恒定,或者它可以针对每个消息生成新的R值,或者无论何时它改变了网络身份S都可以改变新的R值。根据等式(6a)得出发送节点101a将使用单个化名Xi,只要发送方的随机数R和预先计算的化名的列表{X0,…,Xk-1}保持相同。
在示例实施方式中,社区化名定期(例如每天)改变。下文描述一种用于改变化名的过程。T表示从在ad hoc网状网络109内的无线节点101共用的固定时间参考起(例如从1/1/1970开始)的秒 数;L表示最小时间段的以秒为单位的长度;而t表示时间段的编号。在每个时间段内,社区使用恒定数目为k的化名,其中k≥1。举例而言,在系统100中的L值为86,400秒、即在一天内的秒数。时间段编号t是大小为四个字节的以天为单位代表T值的无符号整数并且按照下式来计算:
t=T/L                             (等式7) 
其中“/”为整数除法并且例如t为从1/1/1970起的天数。
注意也设想t可以是L的倍数(例如,如果时间段为2L,则t应当在下面的等式10中替换为t/2)。这开启了在不同社区之间改变化名有效时间的可能性。例如一些社区可以每L秒改变化名而其它社区每2L秒改变化名。
在系统100中的通信延迟是对(1)从发送节点到接收节点的消息传播时间与(2)在计算节点中的T值之差的求和。符号Δ表示在网络节点中的所有依赖于时间的计算提供正确输出时的最高通信延迟。在系统100中,Δ比L/2少一秒:
Δ=L/2-1                         (等式8) 
因而如果等式8成立,则在通信节点中的t值可能仅相差±1。L对于所有网络节点而言相同。此外,私人社区可以从N个可能值k1、k2、…、kN选择一个k,其中k1<k2<…<kN-1<kN
在示例实施方式中,根据社区的认证密钥K每个时间段L推导一次两个密钥A和B:A用于生成社区化名而B用于数据加密。此处所用的FK表示用密钥K密钥化的通用推导函数。在该符号表示中,
A=FK(C,t,“隐私”),
B=FK(C,t,“保密”),                  (等式9) 
其中C表示社区标识符CID的值。在系统100中,密钥推导函数FK是使用SHA256哈希函数(HMAC-SHA-256)的基于哈希的消息认证代码,其中如在整体通过引用结合于此的“3rd Generation Partnership Project;Technical Specification Group Services and System  Aspects;Generic Authentication Architecture(GAA);Generic Bootstrapping Architecture”,3GPP TS 33.220第6.13.0版附录B2中规定的那样构造输入。下文列举用于推导密钥A和B的输入参数。例如参数Pi的输入格式遵循[1]:它是一对参数Pi、Li,其中Li为Pi的长度。Li的长度为两个字节。将那些参数连接成向推导函数中馈送的单个串FC‖P0‖L0‖P1‖L1‖P2‖L2
FC=0x01;
P0=在推导A时为“隐私”;在推导B时为“保密”;
L0=在推导A时为0x00 0x07,在推导B时为0x00
0x10;
P1=C;
L1=0x00 0x08;
P2=t;
L2=0x00 0x04。
注意在P0中,ASCII串“隐私”的十六进制值为0x70 0x72 0x69 0x760x61 0x63 0x79;ASCII串“保密”的十六进制值为0x63 0x6f 0x6e 0x66 0x69 0x64 0x65 0x6e 0x74 0x69 0x61 0x6cx69 0x74 0x79。设想也可以使用任何其它适当机制来执行密钥推导。
具有标识符C的私人社区成员将根据C生成对于时间段编号为t有效的k个社区的如下化名:
Xi=FA(C,t,i)                       (等式10)
其中i例如是取值为0,1,…,k-1的四个字节的无符号整数。可以提前在t0<t时预先计算标识符。在系统100中,FA为高级加密标准(AES,Advanced Encryption Standard,2001年11月,Federal Information Processing Standards Publication 197,其整体通过引用结合于此)。使用AES以及密钥A来加密由级联的输入C、t和i组成的串;并且标识符Xi等于结果的五个最高有效字节。
n个私人社区C1、C2、…、Cn的成员可以例如在每个社区一行的表中存储化名和其它参数。在表1中示出了对于单个时间段t和 n=3而言这样的表的例子。
  C0   K0 A0 B0 X00
  C1   K1 A1 B1 X10 X11 X12 X13
  C2   K2 A2 B2 X20 X21 X22 X23
表1
在表1的例子中,社区C0每L秒使用一个化名,而社区C1和C2每L秒使用四个化名。举例而言,v表示节点参与的社区所使用不同k的数目:v≤N,其中N是表明k的可能数目的系统参数。按增序排列的那些k的列表为k1,k2,…,kv;k1<k2<…<kv-1<kv。当接收包含化名X的消息时,节点101将通过应用等式(2)v次来获得i:i1,i2,…,iv这至多v个值。节点101然后将在以那些i值为索引的列中搜索匹配化名。因此,针对给定消息的表查找时间与v成比例。
由于在通信节点中的t值可能相差±1,所以每个节点101例如维护多个预先计算的参数集(例如三个预先计算的参数集用于t-1、t和t+1;那些参数集分别由x-1、x0和x1表示)。
举例而言,为了向私人社区C的成员发送消息m,社区层205:
(1)针对当前时间段t查找用于C的参数;
(2)用密钥B加密消息m以获得密文Y:Y-EB(m),其中EB为认证的加密函数AES-EAX(例如M.Bellare、P,Rogaway和D.Wagner在通过整体引用结合于此的“The EAX Mode of Operation”中描述的用于加密函数AES的EAX运算模式),并且其中AES-EAX函数的初始值(IV)为S、C、t和j的级联:
IV=S‖C‖t‖j                     (等式11)
并且
(3)按照等式(2)计算索引i。例如发送的消息包含S、j、Xi、Y和t:t1的最低有效位。在某些实施方式中,包括t:t1的最低有效位减少了用于在其它节点101中确定C的处理时间。
举例而言,AES-EAX是如下块密码器,该块密码器根据B和IV生成位序列,并且继而对明文输入和所生成的序列应用按位XOR 运算⊕以获得密文。在示例实施方式中,只要加密密钥B保持相同,IV值就未重复,因为将相同的B,IV对用于加密不同消息产生潜在安全弱点。通过针对每个发送的消息具有不同消息计数器j值来维护IV在单个时间段内的多样性;通过改变t值来维护IV在不同时间段中的多样性。例如j值可以滚动并且在单个时间段内重复。在示例实施方式中,j的大小为两个字节,并且因而网络节点必须每秒产生多于216/L个或者0.76个消息以便让j重复。在系统100中不可能维持来自单个节点101的这种量级的消息速率。
然而在消息计数器j滚动之前并且在t保持相同之时,发送方例如生成新网络身份S’、将消息计数器j重置为零,并且在后续通信中使用S’作为无线节点101的身份。例如在(0,2σ-1)中随机均匀选择新身份S’,其中σ为S中的比特数。在身份改变之后,对节点在它的先前身份S之下已经发出的查询的响应将仍然路由到该节点,只要其它网络节点在它们的路由表中保持那些查询所创建的条目。
取而代之或者除此之外,借助滚动计数器r维护IV的唯一性。发送节点101在每个时间段的开始将r设置成零,并且在单个时间段内j的每次滚动之后将r递增一。例如,rp,rp-1,…,r1是r中的位序列。在每个消息中的标志位矢量内发送r:r1的最低有效位。无线节点101在计算IV时使用⊕r1而不是S:
IV=(S⊕r1)‖C‖t‖j                        (等式12)
以这一方式,每个时间段针对2x216而不是216个消息维护IV的唯一性。在每个时间段t内j的滚动多于一次这种不太可能的情况下,网络节点101例如停止发送消息直至该时间段结束以维护IV的唯一性。
作为接收包含化名的消息这样的操作的部分,t’表示当发送节点101创建消息时在该节点中的时间段。值t代表当网络101接收该消息时在该网络中的时间段。值t’1和t1为t’和t的最低有效位。接收方维护如下布尔变量h,该变量表明接收方是在当前时间段的前一半还是后一半中。变量h例如从当前时间段的开始到中间为零而从 当前时间段的中间到结束为一,具体如下:
(1)如果t’1=t1,则t1=t;
(2)如果t1≠t’1并且h=0,则t’=t-1;并且
(3)如果t1≠t’1并且h=1,则t’=t+1  (等式13)
接着节点101设置k=k1并且执行以下步骤:
(1)按照等式(2)计算索引i;
(2)从三个预先计算的参数集x-1、x0和x+1中选择用于社区的x;
(3)搜索消息中的X是否与在表的第i列中的化名匹配:X=Xui,其中0≤u≤n;并且
(4.1)如果发现一匹配X=Xui并且消息包含密文Y,则接收方可以用密钥Bu解密Y以获得消息m:m=DBu(Y),其中在该函数中,DBu是如下AES-EAX,该AES-EAX的初始值IV按照等式(11)来构造(其中S和j的值取自于消息而t替换为t’):
IV=S‖C‖t’‖j                       (等式14)
(4.2)如果发现一匹配X=Xui并且消息不包含Y,则接收方向发送方发送用Bu加密的答复并且用来自列表的k的下一值重复步骤1-5。
(5)如果未发现一匹配X=Xui,则接收方用来自列表的k的下一值重复步骤1-5。
发送方的节点101a针对时间段编号t’的计算(12)是基于Δ<L/2这样的假设。只要这一假设成立,可以验证(12)将产生正确t’值:发送节点和接收节点的时间段编号(即t1’≠t1)不同这样的指示以及假设Δ<L/2,意味着当接收方节点101b在它的时间段的前一半中时t’=t-1,而当接收方节点101b在它的时间段的后一半中时t’=t+1。如果这种假设不成立,则接收方节点101b可能由于对i的不正确计算而不能对发送方的节点101a的消息做出响应。
接收方对t1’的了解大致地将总消息处理时间减少为三分之一:不了解t1’的网络节点在最坏情况下将不得不搜索三组预先计算的参 数:x-1、x0和x1。如果在通信节点中的T值的区别可忽略不计,则在时间段t中接收的消息可以源于相同时间段或者前一时间段中:t’为t或者t-1。在这一情况下,接收器对t1’的了解大致地将总消息处理时间减少为一半。
概括而言,假设Δ<L/2允许我们在每个消息中发送时间段编号t的仅单个比特而不是例如必须发送整个t。这减少了消息传输时间从而带来设备的电池寿命的增加:假定t的大小为四个字节而平均消息大小为100字节,则发送仅t的部分可以节省传输时间的高达百分之四。
在某些条件下,当对于某一索引i和时间段t而言社区Cu的化名Xui等于不同社区Cv的化名Xvi:Xui=Xvi时出现冲突。冲突可能影响网络节点的方式有两种。
首先,作为Cu和Cv二者的成员的网络节点101b将在它的表的第i列中具有两个相同条目。当具有社区化名Xi的查询消息到来时,它将在上述步骤4中与那两个条目匹配。
如果消息包含密文Y,则节点101b将尝试先利用密钥Bu、Bv之一对其进行解密,而如果失败则利用来自另一条目的密钥;它将基于那些解密中的哪个解密成功发现Cu或者Cv中的哪个社区正在通信。但是如果在消息中无Y,则节点直至进一步通信发生才可以知道是Cu还是Cv为消息的来源。节点101b将必须答复两次:一次将包含用Bu加密的文本而另一次将包含用Bv加密的文本。在这种情况下,发送原始查询的节点101a将解决冲突。
其次,仅作为Cu或者Cv之一的成员的网络节点101b可以接收既定用于其它社区的成员的具有匹配标识符Xi的消息。同样在这种情况下,冲突可以在消息包含Y时由接收节点解决而在其它情况下由始发节点101解决。
在某些实施方式中,接收方节点101b搜索以确定X是否在表的第i列中存在匹配:X=Xui,其中1≤u≤n并且i依赖于接收的消息。该搜索将至多需要n次比较运算。为了加速查找,接收节点101b可 以维护表的n个拷贝,从而根据列u对在拷贝u中的行进行排序:在n项的排序列中的二元搜索将需要至多log2(n)次比较运算。例如,如果n=128,则每个消息将有至多七次比较运算。
可以通过在分级数据结构(例如数字键树(至于对键树数据结构的附加讨论,参见关于图10B的讨论))中对化名Xi1、Xi2、…、Xin进行排序来实现更高效搜索。预先计算的值Xi1、Xi2、…、Xin的集合可以在键树中存储如下:在α个符号的字母表内将该集合中的每个X被编码为恒定长度为β的串;α≥2并且β≤ξ。当n个化名存储于键树中时,校验取自于消息的X是否为那些标识符之一而需要的时间由β确定;它是独立于n的常数。
例如当ξ为40比特时,设置α=16使得将X表示为十个十六进制数位的串:
X=b1b2b3b4b5b6b7b8b9b10
其中bi为{0,1,2,…,9,a,b,c,d,e,f}之一。
为了实现恒定搜索时间,在记录的分级中针对给定索引i组织代表预先计算的x值的n个串的存储:十六进制数位存储于包含16个字段的记录中。每个字段的值或者为“空”,或者为指向下一记录的指针,或者为指向社区数据(Cv,Kv,Av,Bv)(如果设备为Cv的成员,则该社区数据为搜索结果)的指针。“空”字段意味着未存储数位的对应值;它将放弃结果为负的搜索。
图2D是根据一个示例实施方式的社区成员关系和状态对共享认知信息的影响的状态图。如图2D中所示,无线节点101就在ad hoc网状网络109内的社区中的成员关系而言可以处于一个或者两个状态(例如未加入状态251和加入状态253)。无线节点101的应用201例如发出加入或者离开社区的命令255以在未加入状态251与加入状态253之间转变。当无线节点101就社区而言处于未加入状态251时,无线节点101没有关于社区的信息(例如CID和关联认证密钥K),并且不能访问定向到社区的消息。当无线节点101处于加入状态253时,社区层205接收与社区关联的CID并且可能接收 与社区关联的一个或者多个认证密钥。在一个实施方式中,当社区中的成员关系凭借邀请或者以别的方式受到约束时(例如当社区为个人社区或者私人社区时)提供认证密钥。因而,社区层205将能够对传出的社区特有消息进行加密和对传入的社区特有消息进行解密。
当无线节点101处于加入状态253时,无线节点101还可以处于非活动状态257或者活动状态259。为了在非活动状态257与活动259之间转变,应用201可以经由应用编程接口225发出命令261以激活或者去激活加入状态253。当无线节点101处于非活动状态257时,即使它是社区的成员,社区层205也放弃消息。在某些实施方式中,无线节点101还可以在处于非活动状态257时对社区的其它成员是不可见的。例如,无线节点101可以在它临时不想接收信息或者与社区共享信息时进入非活动状态257。当无线节点101处于活动状态259时,社区层205如对于私人社区而言通常的那样对社区消息进行加密和解密并且实现用于公共社区(例如对成员关系无约束的社区)的所有传出和传入社区特有消息。
在活动状态259内,无线节点101还可以处于不可见状态263或者可见状态265。为了在不可见状态263与可见状态265之间转变,应用201发出命令267以设置可见状态或者不可见状态。当处于不可见状态263时,社区的其它成员不能查询与无线节点101关联的社区特有身份(例如用户别名)。例如在不可见状态263中,社区层205继续接收和发送社区消息,而它的身份不为其它社区成员所知。当处于可见状态265时,社区的其它成员可以查询无线节点101的身份。
在各种实施方式中,社区层205的社区目录243例如维护关于用户已经加入的社区的信息。这样的信息至少包含社区标识(CID)。此外,它还可以包含加入的社区的公共和/或私人认证密钥(K)以及用于每个社区的匿名化社区标识符的列表。社区控制模块241可以周期性地重新计算匿名化CID的列表。举例而言,社区层205向 它从认知层203接收的消息中插入首部。首部例如包含对消息相关的社区进行标识的匿名化社区标识符的列表。
如图2C中所示,社区层205连接到上方的认知层203和下方的网络层207。网络层207管理对接收到的洪泛消息的重新广播和对无线节点101接收的单播(通常为答复)消息的路由。图2E描绘了根据一个示例实施方式的网络层207的部件组成图。网络层207包括网络控制模块271、路由表273、邻居表275、消息标识(MID)表277和消息表279。网络控制模块271通过管理和更新路由表273、邻居表275、MID表277和消息表279来指引对消息和信息的广播。在某些实施方式中,网络控制模块271也可以通过周期性地改变与无线节点101关联的网络层标识来辅助保护用户的隐私和匿名性。注意在查询之间对网络层标识做出这种改变不会引起针对答复的路由问题,因为在ad hoc网状网络109中的每个查询重新创建路由信息。
在示例实施方式中,网络层207可以向它从社区层205接收的消息中插入如下首部,以例如用于指引对所接收的消息的洪泛和路由。关于图2F讨论了这种网络层消息首部281的结构。图2F是根据一个示例实施方式的网络层消息首部的数据结构图。如图所示,消息首部281包含以下字段:(1)TX字段282,用于标识最后发送节点101的发送机节点ID(NID);(2)SRC字段283,用于标识始发消息的节点101的源节点ID;(3)DST字段284,用于标识单播(答复)消息的既定接收方的目的地源ID(例如在消息为洪泛消息时对该字段赋予零值);(4)MSN字段285,用于标识源节点所分配的消息序列编号;以及(5)跳计数字段286,由发送消息的每个节点101递增一。在某些实施方式中,消息首部281也可以包含以下可选字段:(6)地理限制字段287,用于指明消息既定传播的物理范围(例如地理限制字段287可以包含源节点的地理位置和从该位置起的最大洪泛半径);(7)时间限制字段288(例如时间限制字段288可以包含消息变为过时并且应当被丢弃时的时间);以 及(8)背景限制字段289,其限定如下背景,在该背景以外不意于传播消息(例如与特定音乐会有关的消息不意于在音乐会场地所以外延伸)。
回到图2E,网络层207还包含路由表273。在示例实施方式中,路由表273包含始发无线节点101的节点标识编号(NID)(例如源NID)和消息的最后已知发送机的NID的列表。路由表的目的在于实现通过洪泛消息将答复消息(例如单播消息)路由回始发查询的查询节点。在消息通过ad hoc网状网络109传播时,接收消息的每个后续无线节点101向路由表添加最后发送机的NID以记录到源节点的下一跳邻居。在路由表中将源节点标记为目的地节点(DST)。同样记录消息的消息序列编号。网络控制模块271协调对路由表273的更新。如表1中所示,路由表273列出目的地NID、与已经重新广播消息的无线节点101关联的发送机NID和消息的MSN。
 目的地NID   发送机NID   消息序列编号
 DST1   TX11,TX12,…,TX1M   MSN1
 DST2   TX21,TX22,…,TX2N   MSN2
 …   …  
 DSTS   TXS1,TXS,…,TXST   MSNS
表1
邻居表275包含邻近无线节点101的列表和对它们的相对无线电距离的估计(参见表3)。设想观察到的信号强度与邻近无线节点101的已知发送功率一起是无线节点101的接近性指示符并且可以用来计算相对无线电距离。继而使用最后从其接收消息的节点的相对无线电距离作为用于无线节点101是否重发接收的消息的判据。例如更高信号强度表明与无线节点101更接近。网络控制模块271监视邻近节点101在模块271从附近设备接收消息时的信号强度并且使用该强度来估计相对无线电距离(例如发送节点101的接近性)。也设想网络控制模块271可以使用任何其它用于估计邻近节点的相对无线电距离(例如使用全球定位卫星接收器或者其它定位技术来 估计位置)的机制。
在某些实施方式中,网络控制模块271使用接近性信息来指引在ad hoc网状网络109上对消息进行路由和传输。例如系统101可以通过实施其中仅少许节点101重发洪泛消息这样的智能洪泛方案来减少ad hoc网状网络109超负荷的可能性。节点101是否重发洪泛消息可以依赖于作为消息发送机的节点101所属的相对距离组(例如“很近”、“近”或者“远”)。更具体而言,如果发送节点101在“远”组或者“近”组,则接收节点101可以重发洪泛消息;如果发送节点101在“很近”组,则接收节点101不重发洪泛消息。对于从在“远”或者“近”组中的节点接收的每个广播消息,网络控制模块271分配用于转发或者重新广播的随机延迟时间。延迟时间段例如表现基于估计的相对无线电距离的分布函数,作为一种用于随机化发送之前延迟时间段的方式。应当以随机延迟对于“近”的那些节点而言比对于“远”的那些节点而言更大这样的方式选择分布。这例如有利于更远离的节点101向前转发洪泛消息,从而获得更佳洪泛效率(发送总次数更小)。使用随机延迟时间也防止消息在ad hoc网状网络109上传播时对消息广播的非预计同步。例如对消息广播的非预计同步可能造成太多节点101在完全相同时间在ad hoc网状网络109上发送广播(即洪泛)消息。此外,延迟时间为网络控制模块271提供对其它邻近无线节点101重新广播消息进行监视和计数的机会。
 发送机NID   相对无线电距离
  TX1   D1
  TX2   D2
  …  
  TXT   DT
表2
MID表277包含接收的消息的列表。在无线节点101在ad hoc网状网络109上从邻近节点接收消息时,网络控制模块271使用MID表以通过例如比较MID表277中的MID与接收的消息的MID来校 验是否先前已经接收该消息。MID表277也包含表明节点101是否已经发送消息的标志以及条目的最后更新时间。在示例实施方式中,MID为元组(SRC,MSN),其中SRC为源节点的NID并且MSN为源节点分配的消息序列编号。以这一方式,MID是在网络109中传播的每个消息的唯一标识符。网络控制模块271针对它接收的所有新消息在MID表277中产生条目。如果已经调度消息进行发送,则模块271递增消息表中的消息计数器(参见表4)。
 MID 发送标志   接收时间
 (SRC1,MSN11) “发送”   t11
 (SRC1,MSN12) “未发送”   t12
 …   …
 (SRC2,MSN21) “未发送”   t21
表3
消息表279包含网络控制模块271已经调度发送的消息。例如在节点101接收网络控制模块271调度发送的洪泛消息时,模块271更新消息表以在消息表279中包括该消息。在消息表279中的每个条目包含消息本身、消息被调度发送的时间、和节点101接收相同消息的次数(参见表4)。在示例实施方式中,如果消息已经被接收的次数超过预定义限制,则不在ad hoc网状网络109上转发消息。例如消息具有初始计数0。在这一例子中,在观察到附近的无线节点101发送消息时,增加与消息关联的消息计数。当达到最大消息计数时,网络控制模块271从消息表279删除消息。每个消息的发送机也与估计的如下相对无线电距离(D)关联,该相对无线电距离表明发送节点是在无线节点101的紧密邻近范围内(例如发送节点101在“很近”相对无线电距离组中)还是远离无线节点101(例如发送节点101在“远”相对无线电距离组中)。如果与发送节点关联的相对无线电距离表明出现的消息发送“很近”,则无线节点101将无需转发消息,因为例如假定多数其它邻近无线节点101已经接收了相同的消息。通过考虑邻近节点的相对无线电距离,所描述的智能洪泛 功能造成每个洪泛消息平均由每个节点101接收数次而与节点密度无关。任一个节点101接收消息的次数影响网络109的可扩展性。
然而如果接收的消息是向接收节点101寻址的单播答复消息,则网络控制模块271校验是否可以在路由表273中找到(例如可以从答复消息中的目的地字段中找到,或者答复节点从查询的源字段中获得)目的地节点101。如果找到,则路由表条目将给予将在下一次机会中向其发送答复消息的邻近节点的NID。如果单播发送未成功,则用于相同DST的下一条目将用作下一次尝试。如果接收的消息是未向接收节点寻址的单播答复消息并且未传来来自既定接收方节点的确认,则节点将在消息表279中存储用于调度重发的消息。注意未向节点101寻址的单播消息或者确认消息通常由D2D无线电层209(参见下文对D2D层209的讨论)而不是由认知服务模块111接收。然而在某些情况下,D2D无线电层209可以向认知服务模块111提供这种消息用于调度重发。例如,如果截至消息被调度发送的时间未观察到对相同消息的成功单播,则节点101将向从与消息关联的路由表273中找到的既定接收方发送单播或者确认消息。以这一方式,并非答复消息的既定接收方的节点101可以辅助将消息朝着正确目的地路由。
  消息   发送时间   接收的消息计数
  MSG1   t1   c1
  MSG2   t2   c1
  …   …   …
  MSGM   tM   cM
表4
如图2A中所示,认知服务模块111具有与设备到设备(D2D)无线电层209的连通性。D2D无线电层209例如使用短距离无线电技术(比如WLAN和蓝牙 )来实现形成ad hoc网状网络109和共享认知信息。设想D2D无线电层209可以使用用于在短距离上进行设备之间通信的任何无线技术。无线电技术例如使ad hoc网状网络 109内的每个无线节点101以无连接方式向在无线电范围内的邻近节点101广播消息。此处所用的术语“无连接”是指无线节点101在广播消息之前无需使用双向信令来建立通信信道。在示例实施方式中,D2D无线电层209可以包括多个使用一种或者多种不同技术或者协议(例如同时使用WLAN和蓝牙 )的无线电。配置有多个无线电的无线节点101可以充当用于跨越不同无线技术所服务的两个或者更多子网络的网关节点。以这种方式,在一个子网上广播的消息可以向另一子网传播。
图2G是描绘了根据一个示例实施方式的设备到设备无线电层的功率节省方案。系统100的少量认知数据以及低延时要求支持D2D无线电层209以产生低功率消耗的方式操作。如图2G中所示,D2D无线电层209可以具有由目标信标发送时间(TBTT)293a-293c界定的信标时间段291a-291c。在示例实施方式中,D2D无线电层209可以以时间同步方式操作并且仅将小部分时间用于活动通信(例如在唤醒时间段295a-295c)。在每个信标时间段281的其余时间期间,D2D无线电层209例如处于功率节省模式或者休止模式(例如在休止时间段297a-297c期间)。例如每个信标时间段291可以是数百毫秒级并且每个唤醒时间段293仅为数毫秒,从而带来大致百分之一的有效无线电利用率。设想对于节点101的数目很大(比如在群体性事件期间)的情形,考虑时间的无线电利用可以即刻增加直至百分之百(例如唤醒时间段293等于活动传输时间段291)。在低流量时期(例如在夜间),可以通过利用每第十个唤醒时间段293将无线电利用率减至例如百分之0.1而同时仍然维持同步。
在示例实施方式中,低延时要求还使得能够节省主机处理器中的功率(例如如图9中所示)。为了举例说明,下文描述参看图9的示例芯片组的部件。D2D无线电层209通常实施于ASIC模块909中,而认知服务模块111的功能可以实施于ASIC 909或者处理器903中。如果认知服务模块的功能实施于处理器903中,则通过例如将ASIC 909尽可能不频繁地唤醒处理器903来减少功率消耗。举例而 言,上文说明的D2D无线电层209的周期性的操作使ASIC 909能够收集所有消息,并且按照每个活动传输时间段281一次的频率向处理器903传输这些消息。处理器903继而处理所有接收到的消息,并且计算将在下一活动传输时间段281内传输的新消息。处理器903继而向ASIC 909发送消息用于传输。使用这一过程,洪泛消息可以每个时间段281进行一跳(例如,从一个节点101传播至另一节点101),这对于认知信息而言完全可接受。相比之下,数百毫秒的潜在延迟例如对于语音业务而言是不可能的,因此不能在传送对延迟敏感的业务的其它通信系统中实现这些种类的功率节省。 
图3A-3C是根据各种示例实施方式的用于在ad hoc网状网络上对社区和社区成员进行定位的过程的流程图。图3A是根据一个示例实施方式的用于初始化无线节点101的流程图,该无线节点用于在ad hoc网状网络上对社区或社区成员进行定位。在一个实施方式中,认知服务模块111执行图3A的过程300,并且如图9中所示例如实施于包括处理器和存储器的芯片组中。在步骤301中,认知服务模块111发起对与一个或者多个移动设备社区分别对应的一个或者多个社区标识符(CID)的存储。在示例实施方式中,每个CID与用于认证成员和在社区内传输的消息的一个或者多个认证密钥关联。CID和关联密钥由认知服务模块111存储于社区目录243中,并且可以在ad hoc网状网络109或者通信网络103上例如使用安全通信信道来预先提供给移动设备。也可以使用安全通信信道在ad hoc网状网络109或者通信网络103上来提供后续创建的CID和密钥。
作为初始化过程的部分,认知服务模块111使用如关于图2D描述的过程来标识在ad hoc网状网络109内的邻近无线节点101。例如标识邻近无线节点101的过程包括确定一个或者多个邻近无线节点101是否在预定时间段内已经发送或者接收社区特有消息,其中无线节点101为该消息的源、发送方、接收方或者目的地。如果无线节点101已经发送或者接收这样的消息,则认知服务模块111将该特定无线节点101分类为对与消息有关的特定社区可见的邻近 节点101。基于这些确定,认知服务模块111创建对特定社区可见的邻近无线节点101(例如移动设备)的列表(例如对去往或者来自特定社区的消息做出响应)(步骤303)。
根据可见邻近节点101的这一列表,认知服务模块111还确定并创建可见邻近节点101中是特定社区成员的那些节点的列表(步骤305)。例如使用关于图2D描述的过程来执行这一确定。更具体而言,如果邻近无线节点101已经从另一社区成员接收具体寻址到或者参照邻近无线节点101的社区特有查询或者重放消息,则认知服务模块111确定可见邻近无线节点101也是特定社区的成员。
图3B是根据一个示例实施方式的用于确定是否存在如下无线节点101的过程的流程图,这些无线节点为一个或者多个特定活动社区的成员。在一个实施方式中,认知服务模块111执行图3B的过程320,并且如图9中所示例如实施于包括处理器和存储器的芯片组中。在步骤321中,认知服务模块111获取用于将通过搜索来确定的每个活动社区的CID(步骤321)。例如认知服务模块111可以从社区目录243中获取一个或者多个CID。认知服务模块111继而使用如关于图2C描述的过程来匿名化所获取的CID(步骤305)。匿名化CID通过使局外人更难以跟踪与任何特定社区有关的通信来保护社区成员的隐私。社区控制模块241然后生成如下社区搜索消息,该消息包含唯一社区查询标识符CQID和匿名化CID的列表(步骤325)。
在创建消息之后,认知服务模块111在ad hoc网状网络109上发起对消息的广播(步骤327)。在示例实施方式中,成员搜索消息等同于查询,并且使用关于图5A-5C描述的过程来发送和答复成员搜索消息。在消息通过ad hoc网状网络109传播时,如下移动设备自动对原始发送消息的移动设备做出响应,这些移动设备是与在消息中包括的一个或者多个匿名化CID关联的一个或者多个活动社区的成员。认知服务模块111发起对答复消息的接收(步骤329)。答复消息例如包括用于在答复节点中的活动社区的匿名化CID的列 表。在某些实施方式中,认知服务模块111还使用答复消息来更新邻近移动设备的列表(步骤331)。这种更新例如基于在答复消息中包括的答复节点标识(NID)。
图3C是根据一个示例实施方式的用于对一个或者多个特定社区的一个或者多个成员进行定位的过程的流程图。在一个实施方式中,认知服务模块111执行图3C的过程340,并且如图9中所示例如实施于包括处理器和存储器的芯片组中。在步骤341中,认知服务模块111获取从社区目录243与一个或者多个社区关联的一个或者多个CID。如果任一社区被配置成使它的成员可见和可搜索,则认知服务模块111也获取用于待定位的每个社区成员的用户别名。举例而言,无线服务模块111的加密/解密模块245将所获取的CID匿名化并且在私人社区的情况下加密任何用户别名(步骤343)。加密/解密模块245例如使用与每个CID关联的一个或者多个密钥来执行匿名化和加密。社区控制模块241然后生成如下成员搜索消息,该消息包含唯一社区查询标识符CQID、匿名化CID的列表以及明文(在公共社区的情况下)或者加密(在私人社区的情况下)用户别名(步骤345)。
在生成成员搜索消息之后,认知服务模块111在ad hoc网状网络109上发起广播成员搜索消息(步骤347)。在示例实施方式中,成员搜索消息等效于查询,并且使用下文关于图5A-5C描述的过程来发送和答复。在消息在ad hoc网状网络109上传播时,如下移动设备自动对原始发送消息的移动设备做出响应,这些移动设备在成员可见的状态下具有与一个或者多个匿名化CID关联的一个或者多个社区。认知服务模块111发起对响应于成员搜索消息而发送的答复消息的接收。答复消息例如包括匿名化CID的列表、明文或者加密的用户别名以及社区成员的明文或者加密状态(例如存在)(步骤349)。在某些实施方式中,认知服务模块111还使用答复消息来更新邻近移动设备的列表(步骤351)和社区成员的列表(步骤353)。更新例如基于在答复消息中包括的答复节点标识(NID)和社区信息。
除了对社区和社区成员进行定位之外,认知服务模块111还可以邀请其它移动设备加入特定社区。为了邀请另一移动设备加入社区,认知服务模块111发起在ad hoc网状网络109或者通信网络103上将社区的CID以及一个或者多个关联密钥一起安全传输到移动设备。在接收移动设备接收到CID和密钥(例如通过在移动设备中存储的CID和密钥来表明)时,成为社区一部分的移动设备将能够接收源于社区成员的、包括加密消息的任何消息。
图4是根据一个示例实施方式的用于设置社区的状态以改变社区或者社区成员可见性的过程的流程图。在一个实施方式中,认知服务模块111执行过程400,并且如图9中所示例如实施于包括处理器和存储器的芯片组中。在步骤401中,认知服务模块111让用户能够设置与社区对应的如下状态,该状态确定社区或者社区成员的可见性。关于图2D讨论社区的不同状态,以及状态如何影响社区的状态的可见性。例如在各种实施方式中,当社区可见时,社区处于活动状态,并且能够发送和接收社区特有消息。类似地,当社区成员可见时,可以查询并且仅向其它社区成员(例如当社区为私人的时)或者向任何查询节点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标记查询来预备用于在ad hoc网状网络109上发送的查询消息,用户正在寻求来自该社区的信息。如果社区为私人的,则社区层205使用与相应CID关联并且存储于社区目录243(图2C)中的认证密钥来加密查询消息。社区层205然后使用与相应CID关联的认证密钥将向查询附着的CID匿名化,并且向网络层207发送匿名化并且可能加密了的密钥(步骤505)。
网络层207向查询消息分配消息序列编号(MID),并且向网络层消息首部291(图2F)添加如下字段,这些字段用于(例如使用NID)表明查询节点502为查询消息的源和发送机。网络层205向查询节点502的D2D无线电层209发送查询消息,以用于向ad hoc网状网络109进行广播(步骤507)。
然后向一个或者多个中继节点506广播查询消息(步骤509)。能够接收广播消息的所有节点为中继节点。关于图5B描述中继节点的过程。在中继节点506处理之后,向另一中继节点或者向答复节点508重新广播查询消息(步骤515)。关于图5C描述答复节点508的过程。在答复节点508处理查询消息之后,生成答复消息,并且向中继节点506发送答复消息(步骤513),该中继节点基于存储于路由表273中的路由将答复消息路由到另一中继节点或者查询节点 502(步骤515)。
在查询节点502处,D2D无线电层209接收并确认答复消息,并且向网络层207转发答复消息(步骤517)。网络层207通过校验网络层消息首部291中的DST字段294来确定查询节点为答复消息的既定目的地,并且向社区层205发送消息以用于处理(步骤519)。在私人社区的情况下,社区层205使用存储于社区目录243中的适当认证密钥来解密答复消息。然后社区层205向认知层203发送解密的答复消息(步骤521)。认知层203然后使用答复消息的内容和在答复消息中包含的QID向应用201提供服务响应(步骤523)。
图5B是图示了根据一个示例实施方式的在中继节点中使用的消息和过程序列的梯形图。细竖线代表网络过程。水平箭头代表从一个过程向另一过程传递的步骤或者消息。虚线水平箭头代表可选步骤或者消息。在图5B中表示的过程为中继节点506的应用201、认知层203、社区层205、网络层207和D2D无线电层209。
在步骤541中,中继节点506的D2D无线电层从查询节点502或者从另一中继节点接收查询消息,并且向网络层207发送该消息。网络层执行步骤323至329(图3B)以确定是否重新广播查询消息。如果网络层207决定重新广播查询,则它将查询消息发送回到D2D无线电层209以用于传输(步骤543)。
网络层207也向社区层205转发查询消息(步骤545)。如果社区层205基于存储于社区目录243中的信息来确定查询消息包含与中继节点506关联的活动社区的匿名化CID(图2C),则社区层解密消息并且向认知层203转发它。在这一例子中,中继节点506在项存储设备223中无匹配信息(图2B),并且仅服务于转发查询消息。
在另一例子中,在步骤541中,中继节点506的D2D无线电层从答复节点508或者从另一中继节点接收答复消息,并且向网络层207发送该消息。网络层执行步骤423至435(图4B)以确定是否重发答复消息。如果网络层207决定重发答复,则它将答复消息 发送回到D2D无线电层209以用于传输(步骤543)。
网络层207也向社区层205转发答复消息(步骤545)。如果社区层205基于存储于社区目录243(图2C)中的信息来确定答复消息包含与中继节点506关联的活动社区的匿名化CID,则社区层解密该消息并且将其转发给认知层203,该认知层可以在它的项存储设备223中存储答复消息中的信息。
图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找到用于下一跳的中继节点506的NID、设置答复消息的目 标NID作为下一跳、并且向D2D无线电层209发送答复消息(步骤569)。D2D无线电层209在ad hoc网状网络109上发送答复消息作为向中继节点506寻址的单播消息。
图6A-6B是根据各种示例实施方式的在通过ad hoc网状网络对社区进行定位的过程中利用的用户接口的示意图。图6A描绘了用户接口600,该用户接口列举与社区有关的信息以及用于管理和访问认知信息的命令。例如部分601列举在无线节点101附近的社区成员。成员可以来自一个或者多个不同社区。选择成员让用户能够联络该成员、查看该成员的状态、或者访问与用户有关的其它应用或者功能。部分603例如可以显示状态命令或者提示、比如邀请加入特定社区。用户接口600还提供用于发起附加命令的可选菜单选项605。例如选择选项“在我周围”提示显示具有社区成员位置的地图607。
图6B描绘了用于管理社区的用户接口620。例如部分621显示当前定义的社区以及用于单个激活或者去激活每个社区的选项623。用户还可以使用控制625来指明每个社区为公共的或者私人的。每个社区的成员与用于添加或者移除成员的控制629一起显示于部分627中。
图7是根据一个示例实施方式的用于接收包括化名的消息的的过程的流程图。如前文讨论的那样,认知服务模块111在ad hoc网状网络109内的社区之间发送的消息中使用化名(例如匿名化CID)而不是CID来保护用户在网络109内的隐私和匿名。在一个实施方式中,认知服务模块111执行图7的过程700,并且例如实施于如图12中所示出的包括处理器和存储器的芯片组中。
在步骤701中,认知服务模块111接收与无线节点101的多个社区中的一个社区对应的消息。例如以下文关于图10A讨论的格式接收该消息。在示例实施方式中,消息包括与消息被寻址到的特定无线节点101社区对应的化名,或者指向该化名的索引。举例而言,可以如上文关于图2C描述的那样基于化名使用哈希函数来计算索 引。认知服务然后从消息中提取化名(步骤703)。例如,如果包括化名作为索引,则提取化名的步骤包括从消息(例如根据消息的如下部分,该部分被指明包含索引或者化名)中导出索引,并且使用对应哈希函数根据索引来导出化名。在某些实施方式中,可以例如使用AES或者AES-EAX加密来加密或者部分加密消息。如果加密化名,则认知服务模块111解密消息以利于提取化名。
在从消息提取化名之后,认知服务模块111将提取的化名与分别与社区关联的预先计算的化名集进行比较(步骤705)。在示例实施方式中,预先计算与特定无线节点101所属的社区关联的可能化名的集合以减少资源要求(例如处理器和电池资源)。另外,在ad hoc无线网络109内的每个无线节点101,如关于图2C描述的那样,例如使用与社区关联的一个或者多个认证密钥,来个别预先计算并且在对应无线节点101上本地存储化名集。因而在一些实施方式中,认知服务模块111仅将提取的化名与例如与根据消息导出的索引关联的那些预先计算的化名进行比较。然而如果并不关心资源约束,则设想认知服务模块111可以取而代之,或者除此之外还在接收消息时计算化名集。例如注意典型无线节点101可以属于200个私人社区(即使用化名的社区),并且在它的无线电层209上平均每秒收听50个消息。如果每个消息包含化名,则认知服务模块111将必须每秒计算化名多达一万次。使用预先计算的化名集使认知服务模块111能够避免必须持续该计算速率。
为了提供甚至更高级别的隐私和匿名,预先计算的化名集仅针对在化名到期之前的特定时间段有效。因而认知服务模块111保证针对相同社区计算的化名集(例如基于无线节点110共用的固定时间参考(例如从1/1/2000起的时间))针对所有无线节点101有效。以这一方式,用于相同社区的化名即使在由不同无线节点101计算时仍然保持为无线节点101所共用。
基于所提取的化名与预先计算的化名集的比较,认知服务模块111确定与化名对应的特定社区(步骤707)。在示例实施方式中, 如果无线节点101为与消息对应的社区的成员,则无线节点101能够接收和解密(如果需要)消息。在预先计算的化名集的到期时间接近时,认知服务模块111在较旧集合到期之前计算新化名集(步骤709)。
图8是根据一个示例实施方式的用于使用多个化名集来提取化名的过程的流程图。在一个实施方式中,认知服务模块111执行过程800,并且例如实施在如图12中所示包括处理器和存储器的芯片组中实施。如上文关于图7描述的那样,针对每个时间段生成新化名集,以保证更高级别的隐私和匿名。在步骤801中,认知服务模块111发起存储与不同时间段对应的多个化名集。例如认知服务模块111可以预先计算和存储与当前时间段、紧接在前的时间段和紧接在后的时间段关联的化名集。设想认知服务模块111可以存储任何数目的化名集。在示例实施方式中,注意可以在除了其中发送消息的时间段之外的时间段中(例如当递送被延迟,或者消息跨越两个时间段时)接收消息。
在接收到消息时,认知服务模块111确定在其中发送消息的时间段(步骤803)。例如认知服务模块111可以校验与消息关联的时间戳,或者可以根据消息的内容推断日期。在确定时间段之后,认知服务模块111选择化名集中的与确定的时间段对应的化名集(步骤805)。如关于图7描述的那样,认知服务模块111然后将所提取的化名与所选化名集进行比较(步骤807)以确定与消息对应的特定社区(步骤809)。
图9是根据一个示例实施方式的用于发送包括化名的消息的过程的流程图。在一个实施方式中,认知服务模块111执行过程900,并且例如在如图12中所示包括处理器和存储器的芯片组中实施。在步骤901中,认知服务模块111从与当前时间段对应的预先计算的化名集中选择化名。假设认知服务模块111使用如上文关于图2C描述的过程,在选择化名集之前已经预先计算该集合。如关于图7描述的那样,在社区内的每个无线节点基于共用的固定时间参考来个 别预先计算并且本地存储化名集,以保证每个无线节点101计算用于相同社区的相同化名集。
认知服务模块111然后生成如下消息,该消息包括多个无线节点101社区中的与消息被寻址到的社区对应的化名(步骤903)。该消息可以例如包括针对信息的查询或者在ad hoc网状网络109上发布信息的消息。在示例实施方式中,认知服务模块111也可以使用与消息关联的认证密钥之一来加密消息。认知服务模块111然后发起例如在ad hoc网状网络109上向网络109内的其它无线节点发送消息(步骤905)。
图10A是描绘了根据一个示例实施方式的包括化名的消息的字段结构图。如图所示,消息1001包括用于支持关于图7-9描述的过程的字段结构。在示例实施方式中,消息1001包括五个字段:(1)“S”字段1003-代表发送节点的网络标识符,(2)“j”字段1005-在当前时间段期间提供消息计数器,(3)位矢量字段1007-提供与消息1001关联的一个或者多个标志,(4)“X”字段1009-代表社区化名或者指向化名的索引,以及“Y”字段1011-消息的文本。注意在某些实施方式中,除了关于图2F的网络层消息首部281的数据结构之外或者作为该数据结构的替代实施方式还可以使用一个或者多个上述字段。例如S字段1003等效于图2F的SRC字段293,而j字段1005等效于图2F的跳计数字段296。
更具体而言,S字段1003可以例如为节点标识编号(NID)。设想与无线节点101对应的S字段1003可以周期性地改变以增加对隐私和匿名的保护。j字段1005提供无线节点101从当前时间段t开始起已经发送的消息的计数。例如j字段1005随着发送的每个消息而递增以提供用于每个消息的唯一编号(例如消息标识编号(MID))。X字段1009代表按照关于图2C和图7-9描述的过程生成的化名或者指向化名的索引。Y字段1011代表实际消息的文本(该文本例如提供信息、查询、状态等)。在示例实施方式中,可以基于与社区关联的认证密钥例如使用AES-EAX加密来加密Y字 段1009。
可以经由软件、硬件(例如通用处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)、固件或者其组合来实施这里描述的用于使用化名的过程。下文具体描述这样用于执行所述功能的示例硬件。
图10B是根据一个示例实施方式的用于存储化名的数字键树的数据结构图。如先前讨论的那样,键树是记录分级(例如十六进制数位存储于包含16个字段的记录中)。每个字段的值或者是“空”、或者是指向下一记录的指针、或者指向社区数据(Cv,Kv,Av,Bv)(如果设备为Cv的成员,则该社区数据为搜索结果)的指针。“空”字段意味着未存储数位的对应值;它将放弃具有负值结果的搜索。如图10B中所示,键树1020包含3a7ea0d580、3a7ea0d5e7、3a7ea0d58d和a93d487aa9这四个Xi值,这些值相应地产生社区C1、C3、C0和C2的数据。在化名X给定时的社区数据搜索如图10B中的箭头所示,始于根记录b1并且遵循包含至多十个记录的单个路径。
图11图示了本发明的一个实施方式可以实施于其上的计算机系统1100。计算机系统1100被编程为提供如这里描述的用户接口并且包括通信机制、诸如用于在计算机系统1100的其它内部和外部部件之间传递信息的总线1110。将信息(也称为数据)表示为对如下可测量现象的物理表达,该现象通常为电压、但是在其它实施方式中包括比如磁、电磁、压强、化学、生物、分子、原子、亚原子和量子互作用这样的现象。例如北和南磁场,或者零和非零电压,代表二进制数位(位)的两个状态(0,1)。其它现象可以代表更高基数的数位。在测量之前的多个同时量子状态的叠加代表量子位(qubit)。一个或者多个数位的序列构成用来代表用于字符的编号或者代码的数字数据。在一些实施方式中,称为模拟数据的信息由在特定范围内的可测量值的接近连续体代表。
总线1110包括一个或者多个并行信息导体,从而在耦合到总线1110的设备之间快速传送信息。用于处理信息的一个或者多个处 理器1102与总线1110耦合。
处理器1102执行与使用化名有关的对信息的操作集。该操作集包括从总线1110带入信息并且将信息放置于总线1110上。该操作集还典型地包括比较两个或者更多信息单位、对信息单位进行移位、组合两个或者更多信息单位(比如通过加法或者乘法或者逻辑运算(比如OR、异或(XOR)和AND))。处理器可以执行的操作集的每个操作在处理器看来由称为指令(比如一个或者多个数位的操作代码)的信息代表。处理器1102将执行的操作序列(比如操作代码序列)构成也称为计算机系统指令或者简称为计算机指令的处理器指令。处理器可以单独或者组合实施为机械、电、磁、光学、化学或者量子部件以及其它部件。
计算机系统1100也包括耦合到总线1110的存储器1104。存储器1104(比如随机存取存储器(RAM)或者其它动态存储设备)存储包括如下信息,该信息包括用于使用化名的处理器指令。动态存储器允许存储于其中的信息由计算机系统1100改变。RAM允许在称为存储器地址的位置存储的信息单位与在邻近地址的信息独立地存储和取回。存储器1104也由处理器1102用来在执行处理器指令期间存储临时值。计算机系统1100也包括用于存储计算机系统110未改变的静态信息(包括指令)的耦合到总线1110的只读存储器(ROM)1106或者其它静态存储设备。一些存储器由在掉电时丢失存储于其上的信息的易失性储存器组成。用于存储即使在计算机系统110关机或者以别的方式掉电时仍然持续的信息(包括指令)的非易失性(持久)存储设备1108(比如磁盘、光盘或者闪卡)也耦合到总线1110。
从外部输入设备1112(比如键盘(包含由人类用户操作的字母数字键)或者传感器)向总线1110提供信息(包括用于使用化名的指令)以用于处理器使用。传感器检测在它附近的状况并且将那些检测变换成与用来代表计算机系统1100中的信息的可测量现象兼容的物理表达。主要用于与人类交互的耦合到总线1110的其它外部 设备包括用于呈现文字或者图像的显示设备1114(比如阴极射线管(CRT)或者液晶显示器(LCD)或者等离子体屏幕或者打印机),和用于控制呈现于显示器1114上的小型光标图像的位置、并且发出与呈现于显示器1114上的图形元素关联的命令的指示设备1116(比如鼠标或者跟踪球或者光标方向键或者运动传感器)。在一些实施方式中、例如在计算机系统100自动执行所有功能而无人类输入的实施方式中,省略外部输入设备1112、显示设备1114和指示设备1116中的一个或者多个设备。
在所示实施方式中,专用硬件(比如专用集成电路(ASIC))1120耦合到总线1110。专用硬件被配置成执行处理器1102未执行的快到足以用于特殊目的的操作。专用IC的例子包括用于生成图像以供显示的图形加速器卡1114、用于加密和解密在网络上发送的消息的密码板、语音识别以及与特殊外部设备(比如反复执行用硬件更高效实施的一些复杂操作序列的机器人手臂和医疗扫描设备)的接口。
计算机系统1100也包括耦合到总线1110的通信接口1170的一个或者多个实例。通信接口1170提供与多种外部设备(比如打印机、扫描仪和外部盘)的单向或者双向通信耦合,这些外部设备与它们自己的处理器一起操作。一般而言,该耦合是与连接到如下局域网1180的网络链路1178,多种如下外部设备连接到该局域网,这些外部设备具有它们自己的处理器。例如通信接口1170可以是在个人计算机上的并行端口、或者串行端口、或者通用串行总线(USB)端口。在一些实施方式中,通信接口1170为集成服务数字网络(ISDN)卡、或者数字用户线(DSL)卡、或者如下电话调制解调器,该电话调制解调器提供与对应类型的电话线的信息通信连接。在一些实施方式中,通信接口1170为如下线缆调制解调器,该调制解调器将总线1110上的信号转换成用于通过同轴线缆的通信连接的信号或者用于通过光纤线缆的通信连接的光学信号。作为另一例子,通信接口1170可以是用于提供与兼容LAN(比如以太网)的数据通 信连接的局域网(LAN)卡。也可以实施无线链路。对于无线链路,通信接口1170发送或者接收或者既发送又接收包括红外线和光学信号的电、声学或者电磁信号,这些信号输送信息流(比如数字数据)。例如在无线手持设备(比如移动电话(比如蜂窝电话))中,通信接口1170包括称为无线电收发器的无线电频带电磁发送机和接收器。在示例实施方式中,通信接口1170实现与通信网络103的连接以用于使用化名。
术语计算机可读介质在这里用来指代任何参与向处理器1102提供信息(包括用于执行的指令)的介质。这样的介质可以采用包括但不限于非易失性介质、易失性介质和传输介质的多种形式。非易失性介质例如包括光盘或者磁盘(比如存储设备1108)。易失性介质例如包括动态存储器1104。传输介质例如包括同轴线缆、铜线、光纤线缆和穿过无接线或者线缆的空间的载波(比如声波和电磁波(包括无线电波、光波和红外线波))。信号包括经过传输介质发送的在幅度、频率、相位、极化或者其它物理性质上的人为瞬态变化。常见计算机可读介质形式例如包括软盘、柔性盘、硬盘、磁带、任何其它磁介质(CD-ROM、CDRW、DVD)、任何其它光学介质(打孔卡、纸带、光学标记片)、任何具有孔图案或者其它光学可识别记号的其它物理介质(RAM、PROM、EPROM、FLASH-EPROM)、任何其它存储器芯片或者盒、载波、或者计算机可以读取的任何其它介质。
图12图示了本发明的一个实施方式可以实施于其上的芯片组1200。芯片组1200被编程为如这里描述的那样通过ad hoc网状网络109提供认知信息并且例如包括并入于一个或者多个物理封装中的关于图12描述的处理器和存储器部件。举例而言,物理封装包括一个或者多个材料、部件和/或接线在结构组件(例如基板)上的布置,该布置用于提供一个或者多个特性,比如物理强度、尺寸节省和/或电交互限制。
在一个实施方式中,芯片组1200包括用于在芯片组1200的部 件之间传递信息的通信机制、比如总线1201。处理器1203连接到总线1201以执行例如存储于存储器1205中的指令和处理存储于该存储器中的信息。处理器1203可以包括一个或者多个处理核心而每个核心被配置成独立运行。多核处理器在单个物理封装内实现多处理。多核处理器的例子包括两个、四个、八个或者更大数目的处理核心。取而代之或者除此之外,处理器1203可以包括经由总线1201串接配置成实现独立执行指令、流水线和多线程的一个或者多个微处理器。处理器1203也可以附带有用于执行某些处理功能和任务的一个或者多个专门化部件,比如一个或者多个数字信号处理器(DSP)1207或者一个或者多个专用集成电路(ASIC)1209。DSP 1207典型地被配置成与处理器1203独立地实时处理现实信号(例如声音)。类似地,ASIC 1209可以被配置成执行通用处理器不容易执行的专门化功能。用于辅助执行这里描述的发明功能的其它专门化部件包括一个或者多个现场可编程门阵列(FPGA)(未示出)、一个或者多个控制器(未示出)或者一个或者多个其它专用计算机芯片。
处理器1203和附带部件经由总线1201连接到存储器1205。存储器1205包括用于存储如下可执行指令的动态存储器(例如RAM、磁盘、可写光盘等)和静态存储器(例如ROM、CD-ROM等),这些指令在运行时执行这里描述的发明步骤以通过ad hoc网状网络109提供认知信息。存储器1205也存储与发明步骤关联或者通过执行发明步骤来生成的数据。
图13是根据一个示例实施方式的能够在图1的系统中操作的移动站(例如手持机)的示例性部件图。一般而言,经常在前端和后端特性方面限定无线电接收器。接收器的前端涵盖所有射频(RF)电路,而后端涵盖所有基带处理电路。电话的相关内部部件包括主控单元(MCU)1303、数字信号处理器(DSP)1305,和接收器/发送机单元(包括麦克风增益控制单元和扬声器增益控制单元)。主显示单元1307认知服务向用户提供显示以支持各种应用和移动站功能(比如认知服务模块111)。音频功能电路1309包括麦克风1311 和对从麦克风1311输出的话音信号进行放大的麦克风放大器。向编码器/解码器(CODEC)1313馈送从麦克风1311输出的放大话音信号
无线电部分1315对功率进行放大并且对频率进行转换,以便经由天线1317来与在移动通信系统中包括的基站通信。如本领域所知,功率放大器(PA)1319和发送机/调制电路在操作上响应于MCU 1303,而来自PA 1319的输出耦合到双工器1321、或者循环器、或者天线开关。PA 1319也耦合到电池接口和功率控制单元1320。
在使用时,移动站1301的用户向麦克风1311中说话,并且他的或者她的语音与任何检测到的背景噪声一起转换成模拟电压。然后通过模数转换器(ADC)1323将模拟电压转换成数字信号。控制单元1303将数字信号信号路由到DSP 1305用于其中的处理,比如话音编码、信道编码、加密和交织。在示例实施方式中,未单独示出的单元使用蜂窝传输协议(比如全球演进(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、网际协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等),以及任何其它适当无线媒介(例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、无线保真(WiFi)、卫星等)对处理的语音信号进行编码。
然后将编码的信号路由到均衡器1325,以用于补偿在经过空气发送期间出现的任何与频率有关的削弱、比如相位和幅度失真。在均衡比特流之后,调制器1327将信号与在RF接口1329中生成的RF信号进行组合。调制器1327通过调频或者调相来生成正弦波。为了准备用于发送的信号,上变频器1331将从调制器1327输出的正弦波与合成器1333生成的另一正弦波进行组合,以获得所需频率的发送。然后经过PA 1319发送信号以将信号增加至适当功率电平。在实际系统中,PA 1319充当其增益由DSP 1305根据从网络基站接收的信息来控制的可变增益放大器。然后在双工器1321内对信号进行滤波,并且可选地向天线耦合器1335发送信号以匹配阻抗,从而 提供最大功率传送。最后经由天线1317向本地基站发送信号。可以提供自动增益控制(AGC)以控制接收器的最终级的增益。可以从这里向远程电话(可以是另一蜂窝电话、其它移动电话或者连接到公共交换电话网络(PSTN)的固定电话)或者其它电话网络转发信号。
经由天线1317接收并且立即由低噪声放大器(LNA)1337放大向移动站1301发送的语音信号。下变频器1339降低载波频率,同时解调器1341剥离RF从而仅留下数字比特流。信号然后经过均衡器1325,并且由DSP 1305处理。数模转换器(DAC)1343转换信号,并且经过扬声器1345向用户发送所得输出,所有这些都在主控单元(MCU)1303(其可以实施为中央处理单元(CPU)(未示出))的控制之下。
MCU 1303接收包括来自键盘1347的输入信号的各种信号。与其它用户输入部件(例如麦克风1311)组合的键盘1347和/或MCU 1303包括用于管理用户输入的用户接口电路。MCU 1303运行如下用户接口软件,该软件便于用户控制移动站1301的至少一些功能。MCU 1303也分别向显示器1307和话音输出切换控制器递送显示命令和切换命令。另外,MCU 1303与DSP 1305交换信息并且可以访问可选并入的SIM卡1349和存储器1351。此外,MCU 1303执行站所需各种控制功能。DSP 1305根据实施方式可以对语音信号执行多种常规数字处理功能中的任何功能。此外,DSP 1305根据麦克风1311检测的信号来确定本地环境的背景噪声水平,并且将麦克风1311的增益设置成为了补偿移动站1301的用户的自然倾向而需要的水平。
CODEC 1313包括ADC 1323和DAC 1343。存储器1351存储包括呼叫传入音数据的各种数据,并且能够存储包括例如经由全球因特网接收的音乐数据的其它数据。软件模块可以驻留于RAM存储器、闪存、寄存器或者本领域已知的任何其它形式的可写存储介质中。存储器设备1351可以是但不限于单个存储器(CD、DVD、ROM、RAM、EEPROM)、光学存储器或者任何能够存储数字数据的其它 非易失性存储介质。
可选并入的SIM卡1349例如载有重要信息、比如蜂窝电话号码、提供服务的电信公司、定制详情和安全信息。SIM卡1349主要服务于在无线电网络上标识移动站1301。卡1349还包含用于存储个人电话号码注册表、文本消息和用户特有移动站设置的存储器。
尽管已经结合多个实施方式和实现方式描述本发明,但是本发明不限于此,而是覆盖了落入所附权利要求的范围内的各种明显修改和等效布置。虽然在权利要求之间的各种组合中表达本发明的特征,但是设想可以按照任何组合和顺序布置这些特征。

Claims (16)

1.一种用于在无线网络中使用化名的方法,包括:
接收与多个无线节点社区之一对应的消息,其中每个无线节点是多个私人社区的成员;
从所述消息中提取化名;
将所述提取的化名与分别与所述社区关联的预先计算的化名集进行比较;并且
基于所述比较来确定所述社区中的特定社区,
其中所述预先计算的化名集针对特定时间段有效。
2.根据权利要求1所述的用于使用化名的方法,其中所述化名集可由所述多个社区内的每个无线节点预先计算和存储。
3.根据权利要求1所述的用于使用化名的方法,其中基于所述多个社区内的所述无线节点共同的固定时间参考来计算所述化名集。
4.根据权利要求1所述的用于使用化名的方法,还包括:
在所述预先计算的化名集到期之前计算新化名集。
5.根据权利要求1所述的用于使用化名的方法,还包括:
发起对与不同时间段对应的多个化名集的存储;
确定所述时间段中的在其中发送所述消息的一个时间段;
从所述多个存储的化名集之中选择所述化名集中的与所述确定的时间段对应的一个化名集;
将所述提取的化名与所述选择的化名集进行比较;并且
基于所述比较来确定所述社区中的所述特定一个社区。
6.根据权利要求1-5中的任一权利要求所述的用于使用化名的方法,其中提取所述化名包括从所述消息中导出指向化名的索引。
7.根据权利要求6所述的用于使用化名的方法,其中将所述提取的化名与分别与所述社区关联的预先计算的化名集进行比较包括仅将所述提取的化名与关联于所述索引的那些预先计算的化名进行比较。
8.一种用于在无线网络中使用化名的装置,包括:
用于接收与多个无线节点社区之一对应的消息的装置,其中每个无线节点是多个私人社区的成员;
用于从所述消息中提取化名的装置;
用于将所述提取的化名与分别与所述社区关联的预先计算的化名集进行比较的装置;以及
用于基于所述比较来确定所述社区中的特定一个社区的装置,
其中所述预先计算的化名集针对特定时间段有效。
9.根据权利要求8所述的用于使用化名的装置,其中所述化名集可由所述多个社区内的每个无线节点预先计算和存储。
10.根据权利要求8所述的用于使用化名的装置,其中基于所述多个社区内的所述无线节点共同的固定时间参考来计算所述化名集。
11.根据权利要求8所述的用于使用化名的装置,还包括:
用于在所述预先计算的化名集到期之前计算新化名集的装置。
12.根据权利要求8所述的用于使用化名的装置,还包括:
用于发起对与不同时间段对应的多个化名集的存储的装置;
用于确定所述时间段中的在其中发送所述消息的一个时间段的装置;
用于从所述多个存储的化名集之中选择所述化名集中的与所述确定的时间段对应的一个化名集的装置;
用于将所述提取的化名与所述选择的化名集进行比较的装置;以及
用于基于所述比较来确定所述社区中的所述特定一个社区的装置。
13.根据权利要求8所述的用于使用化名的装置,其中提取所述化名包括从所述消息中导出指向化名的索引。
14.根据权利要求13所述的用于使用化名的装置,其中将所述提取的化名与分别与所述社区关联的预先计算的化名集进行比较包括仅将所述提取的化名与关联于所述索引的那些预先计算的化名进行比较。
15.根据权利要求8-14中的任一权利要求所述的用于使用化名的装置,其中所述用于使用化名的装置为移动电话,所述移动电话还包括:
用户接口电路和用户接口软件,配置成便于用户通过使用显示器控制所述移动电话的至少一些功能,并且配置成对用户输入做出响应;以及
显示器和显示电路,配置成显示所述移动电话的用户接口的至少部分,所述显示器和显示电路被配置成便于用户控制所述移动电话的至少一些功能。
16.根据权利要求15所述的用于使用化名的装置,其中所述移动电话包括用于设备到设备通信的无线电。
CN201080020238.0A 2009-05-07 2010-05-06 用于在无线网络中使用化名的方法和装置 Active CN102422659B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/437,432 US8571519B2 (en) 2009-05-07 2009-05-07 Method and apparatus for using pseudonyms
US12/437,432 2009-05-07
PCT/IB2010/001046 WO2010128382A1 (en) 2009-05-07 2010-05-06 Method and apparatus for using pseudonyms in a wireless network

Publications (2)

Publication Number Publication Date
CN102422659A CN102422659A (zh) 2012-04-18
CN102422659B true CN102422659B (zh) 2015-04-01

Family

ID=43050036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080020238.0A Active CN102422659B (zh) 2009-05-07 2010-05-06 用于在无线网络中使用化名的方法和装置

Country Status (4)

Country Link
US (1) US8571519B2 (zh)
EP (1) EP2428055B1 (zh)
CN (1) CN102422659B (zh)
WO (1) WO2010128382A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9232389B2 (en) * 2008-06-11 2016-01-05 Marvell World Trade Ltd. Mixed mode security for mesh networks
US9055105B2 (en) * 2009-05-29 2015-06-09 Nokia Technologies Oy Method and apparatus for engaging in a service or activity using an ad-hoc mesh network
US8468271B1 (en) 2009-06-02 2013-06-18 Juniper Networks, Inc. Providing privacy within computer networks using anonymous cookies
US8935359B2 (en) * 2009-10-07 2015-01-13 International Business Machines Corporation Media system with social awareness
US8312123B2 (en) * 2009-11-07 2012-11-13 Harris Technology, Llc Address sharing network
US20130084798A1 (en) * 2011-09-29 2013-04-04 Broadcom Corporation Single nfc device identity selection on a multiple-identity supported device
US20130103950A1 (en) * 2011-10-25 2013-04-25 Research In Motion Limited System and method for securely creating mobile device application workgroups
US9232391B2 (en) 2012-05-07 2016-01-05 Industrial Technology Research Institute Authentication system for device-to-device communication and authentication method therefor
EP2912799B1 (en) * 2012-10-26 2021-08-18 Nokia Technologies Oy Methods and apparatus for data security in mobile ad hoc networks
US9883388B2 (en) * 2012-12-12 2018-01-30 Intel Corporation Ephemeral identity for device and service discovery
EP3439345A1 (en) 2013-03-05 2019-02-06 Huawei Technologies Co., Ltd. Key exchange method and apparatus
US9230077B2 (en) * 2013-03-15 2016-01-05 International Business Machines Corporation Alias-based social media identity verification
US9204244B2 (en) * 2013-04-08 2015-12-01 Nokia Technologies Oy Method, apparatus, and computer program product for synchronization packet transmitter selection in a wireless network
US20150004935A1 (en) * 2013-06-26 2015-01-01 Nokia Corporation Method and apparatus for generating access codes based on information embedded in various signals
US9432925B2 (en) 2013-08-05 2016-08-30 Nokia Technologies Oy Method, apparatus, and computer program product for hop count usage in cluster selection
KR102089459B1 (ko) * 2013-08-16 2020-03-16 삼성전자 주식회사 무선 통신에 기반한 데이터 송수신 방법 및 장치
US9398437B2 (en) 2013-12-16 2016-07-19 Nokia Technologies Oy Method, apparatus, and computer program product for service discovery in wireless short-range communication
US9380119B2 (en) 2013-12-16 2016-06-28 Nokia Technologies Oy Method, apparatus, and computer program product for network discovery
WO2015155573A1 (en) * 2014-04-11 2015-10-15 Nokia Technologies Oy Adaptive d2d discovery operations
KR102125562B1 (ko) 2014-06-18 2020-06-22 삼성전자주식회사 키 공유 방법 및 장치
WO2016151182A1 (en) 2015-03-24 2016-09-29 Nokia Technologies Oy Method, apparatus, and computer program product for service anonymity
US9693217B2 (en) 2015-05-26 2017-06-27 Nokia Technologies Oy Method, apparatus, and computer program product for service discovery proxy for wireless communication
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9529923B1 (en) 2015-08-28 2016-12-27 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
CN105262583A (zh) * 2015-09-07 2016-01-20 安徽问天量子科技股份有限公司 基于pstn公网的量子数据终端组网系统及多方会话的实现方法
US10963319B2 (en) 2016-01-06 2021-03-30 International Business Machines Corporation Enhancing privacy of sensor data from devices using ephemeral cohorts
US20170230793A1 (en) * 2016-02-08 2017-08-10 Sharp Laboratories Of America, Inc. Systems and methods for switching wireless communication technologies
US10492156B2 (en) * 2016-08-31 2019-11-26 Inizio Capital Llc Dynamic direct multinode (DDM) wireless network
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
EP3539026B1 (en) 2016-11-10 2021-12-08 Swirlds, Inc. Methods and apparatus for a distributed database including anonymous entries
RU2754189C2 (ru) 2016-12-19 2021-08-30 Свирлдз, Инк. Способы и устройство для распределенной базы данных, которая позволяет удалять события
KR102208336B1 (ko) 2017-07-11 2021-01-27 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
SG10202107812YA (en) 2017-11-01 2021-09-29 Swirlds Inc Methods and apparatus for efficiently implementing a fast-copyable database
US10657287B2 (en) * 2017-11-01 2020-05-19 International Business Machines Corporation Identification of pseudonymized data within data sources
US10219106B1 (en) 2018-01-26 2019-02-26 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Secure BLE broadcast system for location based service
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
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
US10972454B2 (en) * 2018-05-29 2021-04-06 Apple Inc. Conversation merging for electronic devices
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
CN111107668A (zh) * 2018-10-25 2020-05-05 上海博泰悦臻电子设备制造有限公司 一种WiFi连接的方法及系统
US11617148B2 (en) * 2019-05-03 2023-03-28 Samsung Electronics Co., Ltd. Enhancement of flexibility to change STS index/counter for IEEE 802.15.4z
SG11202109729SA (en) 2019-05-22 2021-10-28 Swirlds Inc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
FR3104867B1 (fr) * 2019-12-17 2024-04-19 Commissariat Energie Atomique Procédé et dispositif de contrôle d’accès anonyme à une plateforme collaborative d’anonymisation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360276A (zh) * 2008-09-26 2009-02-04 腾讯科技(深圳)有限公司 社区登录方法、社区身份系统及身份互通服务器
CN101400054A (zh) * 2007-09-28 2009-04-01 华为技术有限公司 保护用户终端的隐私的方法、系统和设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139912B2 (en) * 2000-06-09 2006-11-21 Sony Corporation Device authentication
US20030200489A1 (en) * 2002-04-18 2003-10-23 Laszlo Hars Secure method of and system for rewarding customers
US20040088540A1 (en) * 2002-10-30 2004-05-06 Lawrence Marturano Community creation between communication devices by identification of member credentials
US7512788B2 (en) * 2002-12-10 2009-03-31 International Business Machines Corporation Method and apparatus for anonymous group messaging in a distributed messaging system
GB0405566D0 (en) * 2004-03-12 2004-04-21 Hewlett Packard Development Co Dynamic private email aliases
EP1587239A1 (en) 2004-04-14 2005-10-19 Siemens Mobile Communications S.p.A. Method of and apparatus for server-side management of buddy lists
GB0607715D0 (en) * 2006-04-20 2006-05-31 Harvard Engineering Plc Street lighting
US20080126113A1 (en) * 2006-11-29 2008-05-29 Steve Manning Systems and methods for creating and participating in ad-hoc virtual communities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101400054A (zh) * 2007-09-28 2009-04-01 华为技术有限公司 保护用户终端的隐私的方法、系统和设备
CN101360276A (zh) * 2008-09-26 2009-02-04 腾讯科技(深圳)有限公司 社区登录方法、社区身份系统及身份互通服务器

Also Published As

Publication number Publication date
CN102422659A (zh) 2012-04-18
EP2428055A1 (en) 2012-03-14
EP2428055B1 (en) 2018-12-26
EP2428055A4 (en) 2017-10-25
WO2010128382A1 (en) 2010-11-11
US20100285774A1 (en) 2010-11-11
US8571519B2 (en) 2013-10-29

Similar Documents

Publication Publication Date Title
CN102422659B (zh) 用于在无线网络中使用化名的方法和装置
CN102461218B (zh) 用于通过自组织网状网络定位社区的方法和装置
CN102461221B (zh) 用于使用自组织网状网络来参加服务或活动的方法和装置
CN103975634B (zh) 用于在无线设备之间共享通信的方法和装置
JP5826288B2 (ja) アドホックメッシュネットワークを利用しコンテキスト情報に基づいて関心コミュニティを自動的に決定する方法および装置
US9100989B2 (en) Method and apparatus for ad-hoc content sharing
US9485673B2 (en) Method and apparatus for coordinating information request messages over an ad-hoc mesh network
KR101389275B1 (ko) 애드혹 메시 네트워크를 통해 협력적 응답을 제공하는 방법 및 장치
US20110219423A1 (en) Method and apparatus for triggering user communications based on privacy information
US10694362B2 (en) Ad-hoc social network (AHSN) system, AHSN-enabled device, and methods of use
Tsai et al. enclosure: Group communication via encounter closures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160128

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj