,無線通信或有線通信)和相關(guān)聯(lián)的協(xié)議(例如,以太 網(wǎng)、Wi-Fi?、WiMAX等等)使這種通信生效。如以下更詳細討論的,系統(tǒng)100的計算設(shè)備110使 用結(jié)構(gòu)化覆蓋網(wǎng)絡(luò)與彼此通信??墒褂靡粋€或多個基礎(chǔ)網(wǎng)絡(luò)(未示出)建立該結(jié)構(gòu)化覆蓋網(wǎng) 絡(luò)。該一個或多個基礎(chǔ)網(wǎng)絡(luò)可被實施為任何數(shù)量的各種有線和/或無線通信網(wǎng)絡(luò)。例如,基 礎(chǔ)網(wǎng)絡(luò)中的一個或多個可被實施為或以其他方式包括局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、蜂窩網(wǎng) 絡(luò)或公共可訪問的全球網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))。另外,基礎(chǔ)網(wǎng)絡(luò)中的一個或多個可包括用于促 成計算設(shè)備110之間的結(jié)構(gòu)化覆蓋通信的任何數(shù)量的覆蓋設(shè)備。
[0026] 數(shù)據(jù)存儲220可被實施為被配置成用于數(shù)據(jù)的短期或長期存儲的任何類型的一個 或多個設(shè)備,諸如存儲器設(shè)備和電路、存儲器卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器、或其他數(shù)據(jù)存儲 設(shè)備。在說明性實施例中,數(shù)據(jù)存儲220可包括散列密鑰224和散列表222。如以下更詳細討 論的,散列密鑰224可包括指示計算設(shè)備110的特征和/或能力(例如,處理器類型、存儲器容 量、存儲器利用率、功率狀態(tài)、功率容量、功耗、存儲容量、存儲利用率、可用性、安全策略、安 全水平、性能度量等等)的信息。以此方式,散列密鑰224可被實施為與特定的計算設(shè)備110 相對應(yīng)的"個人"或"本地"散列密鑰224。在某些實施例中,計算設(shè)備的每個特征和/或能力 可被實施為單獨的散列。在這種實施例中,散列密鑰224可從多個散列的連結(jié)和/或聚合形 成。
[0027] 散列表222可包括特定計算設(shè)備110可與其通信的任何數(shù)量的其他計算設(shè)備110 (例如,其他節(jié)點110)相對應(yīng)的任何數(shù)量的散列或散列密鑰。包括在散列表222內(nèi)的散列和/ 或散列密鑰可被實施為從其他計算設(shè)備110接收的個人散列密鑰。因此,在說明性實施例 中,散列表222將特定的特征和/或能力映射到一個或多個計算設(shè)備110(例如,節(jié)點110)。另 外,在某些實施例中,散列表222還可包括用于其中包含的每個散列和/或散列密鑰的值。例 如,在其中計算設(shè)備110(即,節(jié)點110)被配置成經(jīng)由基礎(chǔ)網(wǎng)絡(luò)(例如,LAN、WAN、PAN等等)與 結(jié)構(gòu)化覆蓋網(wǎng)絡(luò)與彼此通信的實施例中,散列表222還可包括指示分配給每個相應(yīng)的計算 設(shè)備11 〇的基礎(chǔ)網(wǎng)絡(luò)地址(例如,互聯(lián)網(wǎng)協(xié)議地址、媒體訪問協(xié)議地址等等)的每個散列和/ 或散列密鑰的值。
[0028] 現(xiàn)在參照圖3,在使用中,每個計算設(shè)備110(即,節(jié)點110)在操作期間建立環(huán)境 300。說明性環(huán)境300包括通信模塊302、密鑰生成模塊306以及路由模塊310和命令管理模塊 314,其各自可被實施為軟件、固件、硬件或其組合。應(yīng)當認識到每個計算設(shè)備110可包括在 計算設(shè)備中通常發(fā)現(xiàn)的其他組件、子組件、模塊以及設(shè)備,為了描述清晰的目的,未在圖3中 示出。此外,應(yīng)當認識到盡管每個計算設(shè)備110可在操作期間建立說明性環(huán)境300,為了描述 清晰的目的,具體參照計算設(shè)備122描述該說明性環(huán)境300的以下討論。
[0029]計算設(shè)備122的通信模塊302促成計算設(shè)備122和系統(tǒng)100的其他計算設(shè)備110的組 件或子組件之間的通信。例如,在某些實施例中,通信模塊302通過結(jié)構(gòu)化覆蓋網(wǎng)絡(luò)和/或基 礎(chǔ)網(wǎng)絡(luò)從其他計算設(shè)備110接收消息和/或向其傳輸消息。如所討論的,在某些實施例中,發(fā) 送到其他計算設(shè)備110的和/或從其接收的消息可包括指示計算設(shè)備122的特征和/或能力 的本地散列密鑰224、指示另一個計算設(shè)備110的特征和/或能力的本地散列密鑰224、指示 目標/目的地計算設(shè)備110的特征和/或能力的散列密鑰500(見圖5)和/或指示有待由目標/ 目的地計算節(jié)點110執(zhí)行的一個或多個動作的信息。
[0030] 密鑰生成模塊306可被配置成生成計算設(shè)備122的散列密鑰224。所生成的散列密 鑰224可指示計算設(shè)備122的一個或多個特征和/或能力(例如,處理器類型、存儲器容量、存 儲器利用率、功率狀態(tài)、功率容量、功耗、存儲容量、存儲利用率、可用性、安全策略、安全水 平、性能度量等等)(即,系統(tǒng)100的不同計算設(shè)備110可基于其自身的特定特征/能力生成不 同的散列密鑰224)。在某些實施例中,密鑰生成模塊306可為計算設(shè)備122的每個特征和/或 能力生成單獨的散列。在這種實施例中,散列密鑰224可被實施為每個特征和/或能力的單 獨散列的連結(jié)和/或聚合。例如,散列密鑰224可包括指示計算設(shè)備122的處理器類型的散列 和指示計算設(shè)備122目前正在使用的存儲器量的另一個散列。應(yīng)當認識到散列密鑰224可包 含一個、兩個或多個散列,每一個散列可指示計算設(shè)備122的不同特征和/或能力。
[0031] 另外,密鑰生成模塊306可被配置成用于更新與計算設(shè)備122相對應(yīng)的散列密鑰 224。例如,在某些實施例中,計算設(shè)備122的一個或多個特征和/或能力可響應(yīng)于發(fā)生一個 或多個事件(例如,工作負荷增加/減少、硬件/軟件升級、網(wǎng)絡(luò)擁塞、設(shè)備可用性/不可用性 等等)而改變。在這種實施例中,密鑰生成模塊306可包括密鑰更新模塊308,用于監(jiān)控計算 設(shè)備122的任何特征和/或能力的改變并對其做出響應(yīng)。為了這樣做,密鑰更新模塊308可被 配置成連續(xù)地、周期性地和/或響應(yīng)性地監(jiān)控計算設(shè)備122的特征和/或能力以便確定是否 有任何改變。例如,密鑰更新模塊308可被配置成確定計算設(shè)備122的任何特征和/或能力是 否已經(jīng)根據(jù)引用間隔(例如,每小時一次、每天一次、每周一次等等)改變。不管密鑰更新模 塊308如何頻繁地確定計算設(shè)備122的任何特征和/或能力是否已經(jīng)改變,密鑰更新模塊308 可至少部分地基于或以其他方式根據(jù)所確定的改變更新散列密鑰224。在其中散列密鑰224 包括連結(jié)和/或聚合在一起的多個散列的實施例中,密鑰更新模塊308可被配置成僅更新與 已經(jīng)改變的特征和/或能力相對應(yīng)的那些散列。如果密鑰更新模塊308更新了散列密鑰224, 經(jīng)更新的散列密鑰224和/或包括經(jīng)更新的散列密鑰224的散列表可被提供給其他計算設(shè)備 110〇
[0032] 路由模塊310被配置成用于從系統(tǒng)100的另一個計算設(shè)備110接收目標消息。例如, 計算設(shè)備132(或系統(tǒng)100的其他計算設(shè)備110)可向計算設(shè)備122傳輸目標消息。在某些實施 例中,從計算設(shè)備132(或其他計算設(shè)備110)接收的消息可包括指示目標/目的地計算設(shè)備 110針對該目標消息的特征和/或能力的散列密鑰500。在這種實施例中,路由模塊310可使 用散列密鑰500所指示的特征和/或能力將該一個或多個消息路由到具有相同的或基本上 類似的特征和/或能力的目標/目的地計算設(shè)備11〇(或一組116目標/目的地計算設(shè)備110)。 在某些實施例中,從計算設(shè)備132(或其他計算設(shè)備110)接收的消息可被作為由計算設(shè)備 133(或其他計算設(shè)備110)發(fā)送的廣播或多播傳輸?shù)囊徊糠侄邮?。另外,在某些實施例中?散列密鑰500和其他數(shù)據(jù)可嵌入在每條消息的一個或多個頭字段中。例如,在其中計算設(shè)備 132向計算設(shè)備122和系統(tǒng)100的其他計算設(shè)備110廣播或多播消息的實施例中,散列密鑰 500的至少一部分和其他數(shù)據(jù)可被嵌入在每條消息的一個或多個預留頭字段(例如,多播預 留字段等等)中。
[0033] 在其中散列密鑰500被實施為一個或多個散列的連結(jié)和/或聚合的實施例中,路由 模塊310可被配置成用于解析散列密鑰500以便獲得包含在其中的單獨散列。為了這樣做, 路由模塊310可根據(jù)散列密鑰500中所標識的特定數(shù)量的存儲單元(例如,半字節(jié)、位、字節(jié) 等等)、散列密鑰500中所標識的特定數(shù)量的特征和/或能力和/或用于將散列密鑰500分解 (例如,解析、分離、劃分、分割等等)為組件散列的任何其他合適的過程來解析散列密鑰 500 〇
[0034] 計算設(shè)備122的路由模塊310可被配置成至少部分地基于或以其他方式根據(jù)計算 設(shè)備122的散列密鑰500和本地散列表222確定哪些計算設(shè)備110用于路由任何所接收的消 息。為了這樣做,路由模塊310可包括散列分析模塊312。散列分析模塊312可被配置成用于 利用計算設(shè)備122的本地散列表222確定包含在本地散列表22內(nèi)的該一個或多個計算設(shè)備 110中的任何計算設(shè)備是否具有與散列密鑰500(或包含在其中的單獨散列)所指示的特征 和/或能力相對應(yīng)的特征和/或能力。
[0035]在其中計算設(shè)備122是包括散列密鑰500消息的目標/目的地計算設(shè)備110的實施 例中,命令管理模塊314被配置成確定該消息是否包含指示有待由計算設(shè)備122執(zhí)行的動作 的信息。例如,在某些實施例中,所接收的消息還可包括請求計算設(shè)備實現(xiàn)或重新配置服務(wù) 質(zhì)量(QoS)策略(例如,設(shè)置存儲或存儲器高速緩存大小、改變功率狀態(tài)、優(yōu)先化數(shù)據(jù)傳輸、 優(yōu)先化數(shù)據(jù)處理等等)的命令或指令。當然,應(yīng)當認識到所請求的動作還可包括有待由計算 設(shè)備122執(zhí)行的任何其他類型的動作(例如,響應(yīng)于信息請求、啟用/禁用組件或服務(wù)等等)。 在某些實施例中,動作信息可被實施為表示命令或指令的可嵌入在該消息的一個或多個頭 字段中的散列。另外或替代性地,動作信息可被實施為嵌入在該消息的有效載荷部分內(nèi)的 實際命令或指令(例如,偽代碼、指令標識符、可識別的指令等等)。無論如何,在其中該消息 包括動作信息的實施例中,命令管理模塊314可解析該消息以便獲得相應(yīng)的指令或命令信 息。當獲得指示所請求的動作的信息時,命令管理模塊314可被配置成執(zhí)行或以其他方式致 使執(zhí)行所請求的動作。
[0036]現(xiàn)在參照圖4,在使用中,系統(tǒng)100的每個計算設(shè)備110可執(zhí)行用于生成并更新散列 密鑰224(例如,"本地"或"個人"散列密鑰224)的方法400。方法400以框402開始,其中計算 設(shè)備110確定和/或收集其特征和/或能力(例如,處理器類型、存儲器容量、存儲器利用率、 功率狀態(tài)、功率容量、功耗、存儲容量、存儲利用率、可用性、安全策略、安全水平、性能度量 等等)。在某些實施例中,計算設(shè)備110執(zhí)行軟件代理來確定其當前特征和/或能力。另外或 可替代地,計算設(shè)備110可從其當前特征和/或能力與其相關(guān)的組件接收指示這些特征和/ 或能力的數(shù)據(jù)。
[0037]在框404中,計算設(shè)備110確定是否先前已生成散列密鑰224。為了這樣做,在某些 實施例中,計算設(shè)備110確定散列密鑰224是否存儲在數(shù)據(jù)存儲220中。如果在框404內(nèi)計算 設(shè)備110確定尚未生成散列密鑰224,則方法400前進到框406。然而,如果在框404內(nèi)計算設(shè) 備110確定已經(jīng)生成散列密鑰224,方法400前進到框412。
[0038]在框406內(nèi),計算設(shè)備110可為計算設(shè)備110的每個特征和/或能力生成散列。在某 些實施例中,為計算設(shè)備110的每個特征和/或能力生成的散列被實施為指示該特定特征 和/或能力的數(shù)據(jù)。例如,每個散列可以是表示相應(yīng)的特征和/或能力的字符串(例如,字母、 數(shù)字、符號或其任何組合)。在這種實施例中,計算設(shè)備110可從與每個特征和/或能力相對 應(yīng)的文本標簽或描述導出每個散列。應(yīng)當認識到生成指示計算設(shè)備110的特征和/或能力的 散列和/或數(shù)據(jù)的任何其他過程還可用于其他實施例中。
[0039] 在框408內(nèi),在為其特征和/或能力中的每一個生成散列之后,計算設(shè)備110生成其 自身的散列密鑰224。為了這樣做,在某些實施例中,計算設(shè)備110將每個散列連結(jié)、組合和/ 或聚合為單個散列密鑰224,該散列密鑰可稍后由另一個計算設(shè)備110(例如,計算設(shè)備132) 解析用于消息路由和/或執(zhí)行