節(jié)點(diǎn)"是對(duì)于給定范圍X最近的節(jié)點(diǎn)。因此,給定節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn)列表可以包括在 每個(gè)范圍X中最近的節(jié)點(diǎn)。在一些示例中,可以保持l〇g2(n)個(gè)對(duì)等體,每個(gè)范圍一個(gè),其中η 是節(jié)點(diǎn)的數(shù)目。如果第一節(jié)點(diǎn)和第二節(jié)點(diǎn)之間的距離具有比第一節(jié)點(diǎn)和第三節(jié)點(diǎn)之間距離 低的數(shù)值,則第一節(jié)點(diǎn)比第三節(jié)點(diǎn)"更接近"第二節(jié)點(diǎn)。然而,"更接近"的定義意味著包括其 他慣例,諸如更高的數(shù)值對(duì)應(yīng)于更近的距離。
[0049] 如圖4中所示,節(jié)點(diǎn)1111的對(duì)等節(jié)點(diǎn)列表可以包括4個(gè)成員,每個(gè)范圍X包括一個(gè): (1)節(jié)點(diǎn)0111,最低距離的范圍4節(jié)點(diǎn),(2)節(jié)點(diǎn)1011,最低距離的范圍3節(jié)點(diǎn),(3)節(jié)點(diǎn)1101, 最低距離的范圍2節(jié)點(diǎn),以及(4)節(jié)點(diǎn)1110,最低距離的范圍1節(jié)點(diǎn)和/或僅范圍1節(jié)點(diǎn)。因?yàn)?可以針對(duì)每個(gè)節(jié)點(diǎn)生成對(duì)等節(jié)點(diǎn)列表,所以可以存在16個(gè)對(duì)等節(jié)點(diǎn)列表,每個(gè)列表具有4個(gè) 成員。圖5示出了十六個(gè)層疊的對(duì)等節(jié)點(diǎn)列表,分別是十六個(gè)節(jié)點(diǎn)中每一個(gè)的對(duì)等節(jié)點(diǎn)列 表。為了簡(jiǎn)化說(shuō)明,雙箭頭針對(duì)雙向?qū)Φ汝P(guān)系示出。例如,節(jié)點(diǎn)0111可以是節(jié)點(diǎn)1111的對(duì)等 節(jié)點(diǎn)列表的成員,并且相反地,節(jié)點(diǎn)1111可以是節(jié)點(diǎn)0111的對(duì)等節(jié)點(diǎn)列表的成員。
[0050] 圖6-圖8中的每一個(gè)是根據(jù)一些示例的其中生成對(duì)等網(wǎng)絡(luò)500中節(jié)點(diǎn)的對(duì)等節(jié)點(diǎn) 列表的相應(yīng)對(duì)等網(wǎng)絡(luò)500的示意性圖示,并且圖9是根據(jù)一些示例的其中生成了對(duì)等網(wǎng)絡(luò) 500中每個(gè)節(jié)點(diǎn)的圖6-圖8的對(duì)等節(jié)點(diǎn)列表的對(duì)等網(wǎng)絡(luò)500的示意性圖示。對(duì)等網(wǎng)絡(luò)500可 以包括與圖2的對(duì)等網(wǎng)絡(luò)200類似的部件。
[0051] 這些示例示出了對(duì)等節(jié)點(diǎn)的生成,其中節(jié)點(diǎn)數(shù)目少于可應(yīng)用標(biāo)識(shí)符的數(shù)目。將示 出其中使用了4位標(biāo)識(shí)符,但是僅存在3個(gè)節(jié)點(diǎn),也即節(jié)點(diǎn)111 1、1100和0111的示例。例如,圖 5的對(duì)等節(jié)點(diǎn)列表可以是當(dāng)前最新的,直至13個(gè)節(jié)點(diǎn)離線,僅留下節(jié)點(diǎn)1111、1110和0111。在 該情形中,在每個(gè)節(jié)點(diǎn)已經(jīng)廣播了其存在之后,每個(gè)節(jié)點(diǎn)1111、111〇和0111可以意識(shí)到,除 了其自身之外,僅存在兩個(gè)其他節(jié)點(diǎn)。因此,可以生成圖9的對(duì)等節(jié)點(diǎn)列表以替換圖5的對(duì)等 節(jié)點(diǎn)列表。
[0052] 可以根據(jù)與之前所述相同的規(guī)則來(lái)生成對(duì)等節(jié)點(diǎn)列表。在圖6中,節(jié)點(diǎn)1111列出節(jié) 點(diǎn)1100作為其范圍2對(duì)等節(jié)點(diǎn),并且列出節(jié)點(diǎn)0111作為其范圍4對(duì)等節(jié)點(diǎn)。在圖7中,節(jié)點(diǎn) 1100列出節(jié)點(diǎn)1111作為其范圍2對(duì)等節(jié)點(diǎn),并且列出節(jié)點(diǎn)0111作為其范圍4對(duì)等節(jié)點(diǎn)。在圖8 中,節(jié)點(diǎn)0111列出節(jié)點(diǎn)1111作為其范圍4對(duì)等節(jié)點(diǎn),但是并未列出節(jié)點(diǎn)1100作為對(duì)等節(jié)點(diǎn), 因?yàn)槠涫潜裙?jié)點(diǎn)1111更遠(yuǎn)的范圍4節(jié)點(diǎn)。
[0053]圖10是示出了根據(jù)一些示例的分發(fā)任務(wù)至對(duì)等網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)的方法600的流 程圖。該方法可以是計(jì)算機(jī)實(shí)施的,例如由圖2的一個(gè)或多個(gè)元件。在一些示例中,可以改變 所示的順序,使得一些步驟可以同時(shí)發(fā)生,可以添加一些步驟,以及可以省略一些步驟。 [0054]在描述圖10時(shí),將參照?qǐng)D2 -圖5以及圖11,圖11是根據(jù)一些示例的其中任務(wù)被分 發(fā)至對(duì)等網(wǎng)絡(luò)400中的多個(gè)節(jié)點(diǎn)的對(duì)等網(wǎng)絡(luò)400的示意性圖示。
[0055]在方框602處,例如可以由管理員計(jì)算設(shè)備222或者由對(duì)等網(wǎng)絡(luò)400中的一節(jié)點(diǎn)生 成任務(wù)。任務(wù)可以是管理任務(wù),如前所述。在一些示例中,可以基于至輸入設(shè)備234的用戶輸 入和/或基于用于在對(duì)等網(wǎng)絡(luò)400中的節(jié)點(diǎn)上執(zhí)行任務(wù)的指令238而生成任務(wù)。在一些示例 中,指令238可以針對(duì)在節(jié)點(diǎn)上周期性執(zhí)行的管理任務(wù),或者響應(yīng)于來(lái)自節(jié)點(diǎn)中的一個(gè)或多 個(gè)節(jié)點(diǎn)的請(qǐng)求。例如,一節(jié)點(diǎn)可以指示管理員計(jì)算設(shè)備222:在對(duì)等網(wǎng)絡(luò)中存在需要由節(jié)點(diǎn) 通過(guò)任務(wù)性能而解決的問(wèn)題。
[0056]在方框604處,對(duì)等網(wǎng)絡(luò)400中的一個(gè)節(jié)點(diǎn)可以被選擇為"根節(jié)點(diǎn)",其是用于處理 指令以執(zhí)行并分發(fā)任務(wù)的初始節(jié)點(diǎn)。在一些示例中,管理員計(jì)算設(shè)備222可以選擇對(duì)等網(wǎng)絡(luò) 中的一節(jié)點(diǎn)作為根節(jié)點(diǎn)。在管理員計(jì)算設(shè)備202自身是節(jié)點(diǎn)的一些示例中,管理員計(jì)算設(shè)備 202可以選擇自身作為根節(jié)點(diǎn)。在一些示例中,根節(jié)點(diǎn)的選擇可以基于至輸入設(shè)備234的用 戶輸入,可以是隨機(jī)的,或者可以基于管理員計(jì)算設(shè)備202對(duì)可用于各個(gè)節(jié)點(diǎn)的資源的知 識(shí)。
[0057] 圖11的示例示出了具有二進(jìn)制位格式XXXX的節(jié)點(diǎn)標(biāo)識(shí)符的十六個(gè)節(jié)點(diǎn),如圖4一 圖5的示例中。對(duì)等網(wǎng)絡(luò)400的對(duì)等節(jié)點(diǎn)列表可以如在圖5的對(duì)等網(wǎng)絡(luò)500中那樣已經(jīng)生成。 在圖11中,選擇節(jié)點(diǎn)1111作為根節(jié)點(diǎn)。然而,在其他示例中,可以選擇其他十五個(gè)節(jié)點(diǎn)中的 任意節(jié)點(diǎn)作為對(duì)等節(jié)點(diǎn)。
[0058] 在方框606處,可以由管理員計(jì)算設(shè)備202生成命令。在其中管理員計(jì)算設(shè)備202不 是根節(jié)點(diǎn)的示例中,命令可以被發(fā)送至根節(jié)點(diǎn)。例如,在圖11中,根節(jié)點(diǎn)1111可以生成命令 或者從管理員計(jì)算設(shè)備202接收命令。命令可以包括以下指令。
[0059] 首先,每個(gè)節(jié)點(diǎn)都可以被指令執(zhí)行任務(wù),如果該節(jié)點(diǎn)滿足由任務(wù)過(guò)濾器數(shù)據(jù)指定 的一個(gè)或多個(gè)任務(wù)過(guò)濾器準(zhǔn)則的話。"任務(wù)過(guò)濾器準(zhǔn)則"是節(jié)點(diǎn)可以確定是否執(zhí)行任務(wù)所基 于的準(zhǔn)則。用于執(zhí)行任務(wù)的準(zhǔn)則可以例如是安裝固件的最新版本(僅在固件的最新版本尚 未安裝在節(jié)點(diǎn)上的情況下),或者可以是用于確定是否將要在一節(jié)點(diǎn)上執(zhí)行任務(wù)的任何其 他準(zhǔn)則。
[0060] 其次,每個(gè)節(jié)點(diǎn)可以被指令將任務(wù)分發(fā)給對(duì)等節(jié)點(diǎn)。例如,用于分發(fā)的指令可以包 括"范圍過(guò)濾"指令,以供每個(gè)節(jié)點(diǎn)發(fā)送命令至該節(jié)點(diǎn)的具有從該節(jié)點(diǎn)自身起的小于該節(jié)點(diǎn) 自身與該節(jié)點(diǎn)從其接收命令的節(jié)點(diǎn)之間的范圍X的范圍Y的對(duì)等節(jié)點(diǎn),也即Y〈x。在一些示例 中,可以沿相反方向編碼標(biāo)識(shí)符,在此情形下,條件可以是范圍Υ大于X,然而該情形在此應(yīng) 該理解為是等價(jià)的并且因此包括在如上所述的范圍Υ "小于"范圍X的條件內(nèi)。這等價(jià)于其中 Υ大于X的公式。范圍過(guò)濾器可以導(dǎo)致任務(wù)分發(fā)的高效委派以及均衡的節(jié)點(diǎn)工作負(fù)載。另外, 例如,由單個(gè)節(jié)點(diǎn)將任務(wù)廣泛推廣至大量節(jié)點(diǎn)可以不是必須的。
[0061] 第三,每個(gè)節(jié)點(diǎn)都可以在嘗試執(zhí)行任務(wù)之后被指令生成用于指示該節(jié)點(diǎn)以及其委 派任務(wù)分發(fā)的任意節(jié)點(diǎn)是否成功地執(zhí)行了任務(wù)的結(jié)果消息。例如,結(jié)果消息可以指示該節(jié) 點(diǎn)以及其委派任務(wù)分發(fā)的任意節(jié)點(diǎn)(1)完成了任務(wù),(2)接收到任務(wù)但是由于一個(gè)或多個(gè)過(guò) 濾器準(zhǔn)則而未完成任務(wù),(3)接收到任務(wù)但是由于錯(cuò)誤而未完成任務(wù),或者(4)由于錯(cuò)誤而 未發(fā)送結(jié)果消息??梢灾噶蠲總€(gè)節(jié)點(diǎn)返回結(jié)果消息至從其接收命令的節(jié)點(diǎn)。在返回結(jié)果消 息之前,每個(gè)節(jié)點(diǎn)可以從其對(duì)等節(jié)點(diǎn)中的每一個(gè)接收相應(yīng)的結(jié)果消息,并且將所有結(jié)果消 息合并成單個(gè)消息,該單個(gè)消息可以被發(fā)送至從其接收命令的節(jié)點(diǎn)。在一些示例中,每個(gè)節(jié) 點(diǎn)可以等待預(yù)定的時(shí)間量以從對(duì)等節(jié)點(diǎn)接收結(jié)果消息。
[0062] 這些特征在以下步驟的示例中進(jìn)一步示出。
[0063] 在方框608處,根節(jié)點(diǎn)可以執(zhí)行任務(wù)。例如,在圖11中,根節(jié)點(diǎn)111 1可以是管理處理 器218,其可以在其計(jì)算設(shè)備202上執(zhí)行任務(wù)。任務(wù)的性能可以受任務(wù)過(guò)濾器的影響。
[0064]在方框610處,根節(jié)點(diǎn)可以向其對(duì)等節(jié)點(diǎn)中的每一個(gè)發(fā)送指令它們執(zhí)行任務(wù)并進(jìn) 一步分發(fā)任務(wù)的命令。因?yàn)楦?jié)點(diǎn)可以尚未從任何其他節(jié)點(diǎn)接收到命令,所以對(duì)等節(jié)點(diǎn)可 以向所有對(duì)等節(jié)點(diǎn)發(fā)送命令。例如在圖11中,根節(jié)點(diǎn)1111可以向其對(duì)等節(jié)點(diǎn)(例如其范圍1 對(duì)等節(jié)點(diǎn)1110,其范圍2對(duì)等節(jié)點(diǎn)1101,其范圍3對(duì)等節(jié)點(diǎn)1011,以及其范圍4對(duì)等節(jié)點(diǎn)0111, 每一個(gè)被委派向其他節(jié)點(diǎn)發(fā)送命令)中的每一個(gè)發(fā)送命令。因此,根節(jié)點(diǎn)1111可以負(fù)責(zé)委派 整個(gè)對(duì)等網(wǎng)絡(luò),其中如果根節(jié)點(diǎn)111 1未執(zhí)行步驟610,則沒(méi)有其他節(jié)點(diǎn)接收到命令。
[0065]在方框612處,根節(jié)點(diǎn)的每個(gè)對(duì)等節(jié)點(diǎn)可以執(zhí)行任務(wù)。例如,在圖11中,根節(jié)點(diǎn)1111 的對(duì)等節(jié)點(diǎn)111 〇、11 〇 1、1 〇 11和〇 111中的每一個(gè)可以執(zhí)行任務(wù)。任務(wù)的性能可以受任務(wù)過(guò)濾 器的影響。
[0066] 在方框614處,命令可以被分發(fā)至節(jié)點(diǎn)中各自可以執(zhí)行任務(wù)的剩余節(jié)點(diǎn)。
[0067] 例如,根節(jié)點(diǎn)的每個(gè)對(duì)等節(jié)點(diǎn)可以發(fā)送關(guān)于任務(wù)的相應(yīng)命令至該節(jié)點(diǎn)的具有從該 節(jié)點(diǎn)自身出發(fā)的小于該節(jié)點(diǎn)自身與從其接收命令的節(jié)點(diǎn)之間的范圍的范圍的對(duì)等節(jié)點(diǎn)。如 前所述,根節(jié)點(diǎn)1111的對(duì)等節(jié)點(diǎn),例如節(jié)點(diǎn)1110、1101、1011和0111可以各自是從根節(jié)點(diǎn) 1111出發(fā)的最低距離的范圍X節(jié)點(diǎn)。
[0068] 對(duì)等節(jié)點(diǎn)1110具有范圍1對(duì)等節(jié)點(diǎn)1111、范圍2對(duì)等節(jié)點(diǎn)1100、范圍3對(duì)等節(jié)點(diǎn)1010 以及范圍4對(duì)等節(jié)點(diǎn)0110。對(duì)等節(jié)點(diǎn)1110自身與該節(jié)點(diǎn)從其接收命令的節(jié)點(diǎn)1111之間的范 圍是1。因?yàn)楣?jié)點(diǎn)1110不具有低于1的范圍的對(duì)等節(jié)點(diǎn),所以節(jié)點(diǎn)1110可以不向任何其他節(jié) 點(diǎn)發(fā)送命令。因此,節(jié)點(diǎn)1110可以僅負(fù)責(zé)其自身,并且可以不負(fù)責(zé)向任何其它節(jié)點(diǎn)委派。
[0069] 節(jié)點(diǎn)1101具有范圍1對(duì)等節(jié)點(diǎn)1100、范圍2對(duì)等節(jié)點(diǎn)1110、范圍3對(duì)等節(jié)點(diǎn)1001以及 范圍4對(duì)等節(jié)點(diǎn)0110。節(jié)點(diǎn)1101自身和該節(jié)點(diǎn)從其接收命令的節(jié)點(diǎn)1111之間的范圍是2。因 此,節(jié)點(diǎn)1101可以向可執(zhí)行任務(wù)的范圍1對(duì)等節(jié)點(diǎn)1100發(fā)送命令。因此,節(jié)點(diǎn)1101可以負(fù)責(zé) 向算上自身在內(nèi)的兩個(gè)節(jié)點(diǎn)委派。
[0070] 節(jié)點(diǎn)1011具有范圍1對(duì)等節(jié)點(diǎn)1010、范圍2對(duì)等節(jié)點(diǎn)1001、范圍3對(duì)等節(jié)點(diǎn)1111以及 范圍4對(duì)等節(jié)點(diǎn)0011。節(jié)點(diǎn)1011自身與該節(jié)點(diǎn)從其接收命令的節(jié)點(diǎn)1111之間的范圍是3。因 此,節(jié)點(diǎn)1011可以向每一個(gè)可以執(zhí)行任務(wù)的范圍1對(duì)等節(jié)點(diǎn)1010和范圍2對(duì)等節(jié)點(diǎn)1001發(fā)送 命令。因此,節(jié)點(diǎn)1011可以負(fù)責(zé)向算上自身在內(nèi)的四個(gè)節(jié)點(diǎn)委派。
[0071] 節(jié)點(diǎn)0111具有范圍1對(duì)等節(jié)點(diǎn)0