设备能力可寻址网络的制作方法_2

文档序号:9794036阅读:来源:国知局
,无线通信或有线通信)和相关联的协议(例如,以太 网、Wi-Fi?、WiMAX等等)使这种通信生效。如以下更详细讨论的,系统100的计算设备110使 用结构化覆盖网络与彼此通信。可使用一个或多个基础网络(未示出)建立该结构化覆盖网 络。该一个或多个基础网络可被实施为任何数量的各种有线和/或无线通信网络。例如,基 础网络中的一个或多个可被实施为或以其他方式包括局域网(LAN)、广域网(WAN)、蜂窝网 络或公共可访问的全球网络(诸如互联网)。另外,基础网络中的一个或多个可包括用于促 成计算设备110之间的结构化覆盖通信的任何数量的覆盖设备。
[0026] 数据存储220可被实施为被配置成用于数据的短期或长期存储的任何类型的一个 或多个设备,诸如存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器、或其他数据存储 设备。在说明性实施例中,数据存储220可包括散列密钥224和散列表222。如以下更详细讨 论的,散列密钥224可包括指示计算设备110的特征和/或能力(例如,处理器类型、存储器容 量、存储器利用率、功率状态、功率容量、功耗、存储容量、存储利用率、可用性、安全策略、安 全水平、性能度量等等)的信息。以此方式,散列密钥224可被实施为与特定的计算设备110 相对应的"个人"或"本地"散列密钥224。在某些实施例中,计算设备的每个特征和/或能力 可被实施为单独的散列。在这种实施例中,散列密钥224可从多个散列的连结和/或聚合形 成。
[0027] 散列表222可包括特定计算设备110可与其通信的任何数量的其他计算设备110 (例如,其他节点110)相对应的任何数量的散列或散列密钥。包括在散列表222内的散列和/ 或散列密钥可被实施为从其他计算设备110接收的个人散列密钥。因此,在说明性实施例 中,散列表222将特定的特征和/或能力映射到一个或多个计算设备110(例如,节点110)。另 外,在某些实施例中,散列表222还可包括用于其中包含的每个散列和/或散列密钥的值。例 如,在其中计算设备110(即,节点110)被配置成经由基础网络(例如,LAN、WAN、PAN等等)与 结构化覆盖网络与彼此通信的实施例中,散列表222还可包括指示分配给每个相应的计算 设备11 〇的基础网络地址(例如,互联网协议地址、媒体访问协议地址等等)的每个散列和/ 或散列密钥的值。
[0028] 现在参照图3,在使用中,每个计算设备110(即,节点110)在操作期间建立环境 300。说明性环境300包括通信模块302、密钥生成模块306以及路由模块310和命令管理模块 314,其各自可被实施为软件、固件、硬件或其组合。应当认识到每个计算设备110可包括在 计算设备中通常发现的其他组件、子组件、模块以及设备,为了描述清晰的目的,未在图3中 示出。此外,应当认识到尽管每个计算设备110可在操作期间建立说明性环境300,为了描述 清晰的目的,具体参照计算设备122描述该说明性环境300的以下讨论。
[0029]计算设备122的通信模块302促成计算设备122和系统100的其他计算设备110的组 件或子组件之间的通信。例如,在某些实施例中,通信模块302通过结构化覆盖网络和/或基 础网络从其他计算设备110接收消息和/或向其传输消息。如所讨论的,在某些实施例中,发 送到其他计算设备110的和/或从其接收的消息可包括指示计算设备122的特征和/或能力 的本地散列密钥224、指示另一个计算设备110的特征和/或能力的本地散列密钥224、指示 目标/目的地计算设备110的特征和/或能力的散列密钥500(见图5)和/或指示有待由目标/ 目的地计算节点110执行的一个或多个动作的信息。
[0030] 密钥生成模块306可被配置成生成计算设备122的散列密钥224。所生成的散列密 钥224可指示计算设备122的一个或多个特征和/或能力(例如,处理器类型、存储器容量、存 储器利用率、功率状态、功率容量、功耗、存储容量、存储利用率、可用性、安全策略、安全水 平、性能度量等等)(即,系统100的不同计算设备110可基于其自身的特定特征/能力生成不 同的散列密钥224)。在某些实施例中,密钥生成模块306可为计算设备122的每个特征和/或 能力生成单独的散列。在这种实施例中,散列密钥224可被实施为每个特征和/或能力的单 独散列的连结和/或聚合。例如,散列密钥224可包括指示计算设备122的处理器类型的散列 和指示计算设备122目前正在使用的存储器量的另一个散列。应当认识到散列密钥224可包 含一个、两个或多个散列,每一个散列可指示计算设备122的不同特征和/或能力。
[0031] 另外,密钥生成模块306可被配置成用于更新与计算设备122相对应的散列密钥 224。例如,在某些实施例中,计算设备122的一个或多个特征和/或能力可响应于发生一个 或多个事件(例如,工作负荷增加/减少、硬件/软件升级、网络拥塞、设备可用性/不可用性 等等)而改变。在这种实施例中,密钥生成模块306可包括密钥更新模块308,用于监控计算 设备122的任何特征和/或能力的改变并对其做出响应。为了这样做,密钥更新模块308可被 配置成连续地、周期性地和/或响应性地监控计算设备122的特征和/或能力以便确定是否 有任何改变。例如,密钥更新模块308可被配置成确定计算设备122的任何特征和/或能力是 否已经根据引用间隔(例如,每小时一次、每天一次、每周一次等等)改变。不管密钥更新模 块308如何频繁地确定计算设备122的任何特征和/或能力是否已经改变,密钥更新模块308 可至少部分地基于或以其他方式根据所确定的改变更新散列密钥224。在其中散列密钥224 包括连结和/或聚合在一起的多个散列的实施例中,密钥更新模块308可被配置成仅更新与 已经改变的特征和/或能力相对应的那些散列。如果密钥更新模块308更新了散列密钥224, 经更新的散列密钥224和/或包括经更新的散列密钥224的散列表可被提供给其他计算设备 110〇
[0032] 路由模块310被配置成用于从系统100的另一个计算设备110接收目标消息。例如, 计算设备132(或系统100的其他计算设备110)可向计算设备122传输目标消息。在某些实施 例中,从计算设备132(或其他计算设备110)接收的消息可包括指示目标/目的地计算设备 110针对该目标消息的特征和/或能力的散列密钥500。在这种实施例中,路由模块310可使 用散列密钥500所指示的特征和/或能力将该一个或多个消息路由到具有相同的或基本上 类似的特征和/或能力的目标/目的地计算设备11〇(或一组116目标/目的地计算设备110)。 在某些实施例中,从计算设备132(或其他计算设备110)接收的消息可被作为由计算设备 133(或其他计算设备110)发送的广播或多播传输的一部分而接收。另外,在某些实施例中, 散列密钥500和其他数据可嵌入在每条消息的一个或多个头字段中。例如,在其中计算设备 132向计算设备122和系统100的其他计算设备110广播或多播消息的实施例中,散列密钥 500的至少一部分和其他数据可被嵌入在每条消息的一个或多个预留头字段(例如,多播预 留字段等等)中。
[0033] 在其中散列密钥500被实施为一个或多个散列的连结和/或聚合的实施例中,路由 模块310可被配置成用于解析散列密钥500以便获得包含在其中的单独散列。为了这样做, 路由模块310可根据散列密钥500中所标识的特定数量的存储单元(例如,半字节、位、字节 等等)、散列密钥500中所标识的特定数量的特征和/或能力和/或用于将散列密钥500分解 (例如,解析、分离、划分、分割等等)为组件散列的任何其他合适的过程来解析散列密钥 500 〇
[0034] 计算设备122的路由模块310可被配置成至少部分地基于或以其他方式根据计算 设备122的散列密钥500和本地散列表222确定哪些计算设备110用于路由任何所接收的消 息。为了这样做,路由模块310可包括散列分析模块312。散列分析模块312可被配置成用于 利用计算设备122的本地散列表222确定包含在本地散列表22内的该一个或多个计算设备 110中的任何计算设备是否具有与散列密钥500(或包含在其中的单独散列)所指示的特征 和/或能力相对应的特征和/或能力。
[0035]在其中计算设备122是包括散列密钥500消息的目标/目的地计算设备110的实施 例中,命令管理模块314被配置成确定该消息是否包含指示有待由计算设备122执行的动作 的信息。例如,在某些实施例中,所接收的消息还可包括请求计算设备实现或重新配置服务 质量(QoS)策略(例如,设置存储或存储器高速缓存大小、改变功率状态、优先化数据传输、 优先化数据处理等等)的命令或指令。当然,应当认识到所请求的动作还可包括有待由计算 设备122执行的任何其他类型的动作(例如,响应于信息请求、启用/禁用组件或服务等等)。 在某些实施例中,动作信息可被实施为表示命令或指令的可嵌入在该消息的一个或多个头 字段中的散列。另外或替代性地,动作信息可被实施为嵌入在该消息的有效载荷部分内的 实际命令或指令(例如,伪代码、指令标识符、可识别的指令等等)。无论如何,在其中该消息 包括动作信息的实施例中,命令管理模块314可解析该消息以便获得相应的指令或命令信 息。当获得指示所请求的动作的信息时,命令管理模块314可被配置成执行或以其他方式致 使执行所请求的动作。
[0036]现在参照图4,在使用中,系统100的每个计算设备110可执行用于生成并更新散列 密钥224(例如,"本地"或"个人"散列密钥224)的方法400。方法400以框402开始,其中计算 设备110确定和/或收集其特征和/或能力(例如,处理器类型、存储器容量、存储器利用率、 功率状态、功率容量、功耗、存储容量、存储利用率、可用性、安全策略、安全水平、性能度量 等等)。在某些实施例中,计算设备110执行软件代理来确定其当前特征和/或能力。另外或 可替代地,计算设备110可从其当前特征和/或能力与其相关的组件接收指示这些特征和/ 或能力的数据。
[0037]在框404中,计算设备110确定是否先前已生成散列密钥224。为了这样做,在某些 实施例中,计算设备110确定散列密钥224是否存储在数据存储220中。如果在框404内计算 设备110确定尚未生成散列密钥224,则方法400前进到框406。然而,如果在框404内计算设 备110确定已经生成散列密钥224,方法400前进到框412。
[0038]在框406内,计算设备110可为计算设备110的每个特征和/或能力生成散列。在某 些实施例中,为计算设备110的每个特征和/或能力生成的散列被实施为指示该特定特征 和/或能力的数据。例如,每个散列可以是表示相应的特征和/或能力的字符串(例如,字母、 数字、符号或其任何组合)。在这种实施例中,计算设备110可从与每个特征和/或能力相对 应的文本标签或描述导出每个散列。应当认识到生成指示计算设备110的特征和/或能力的 散列和/或数据的任何其他过程还可用于其他实施例中。
[0039] 在框408内,在为其特征和/或能力中的每一个生成散列之后,计算设备110生成其 自身的散列密钥224。为了这样做,在某些实施例中,计算设备110将每个散列连结、组合和/ 或聚合为单个散列密钥224,该散列密钥可稍后由另一个计算设备110(例如,计算设备132) 解析用于消息路由和/或执行
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1