示例,在612處,第一節(jié)點(diǎn)存儲(chǔ)分組并且在610 處,當(dāng)?shù)诙?jié)點(diǎn)醒來時(shí)轉(zhuǎn)發(fā)分組。在614處,根據(jù)所圖示的實(shí)施例,第一節(jié)點(diǎn)重定向請(qǐng)求以將 分組發(fā)送到供替換的節(jié)點(diǎn)。在616處,第一節(jié)點(diǎn)通知請(qǐng)求方目的地節(jié)點(diǎn)在睡眠。盡管圖示了 處理選項(xiàng)612、614和616,但是將要理解的是,第一節(jié)點(diǎn)能夠按需選擇本文中所描述的其它 處理選項(xiàng)。
[0069] 為了確定哪一個(gè)處理選項(xiàng)被用來處理去往在睡眠的節(jié)點(diǎn)的分組,休眠節(jié)點(diǎn)處理機(jī) 功能611能夠支持各種機(jī)制。根據(jù)所圖示的實(shí)施例,休眠節(jié)點(diǎn)處理機(jī)功能611可以使用策略 功能613來確定如何對(duì)去往在睡眠的節(jié)點(diǎn)的分組進(jìn)行處理。策略功能613能夠包括能夠在第 一節(jié)點(diǎn)上提供和/或配置的一組策略。因此,分組如何被處理可以基于一個(gè)或多個(gè)策略。休 眠節(jié)點(diǎn)處理機(jī)功能611并且因此第一節(jié)點(diǎn)還可以通過評(píng)估分組的報(bào)頭內(nèi)的一個(gè)或多個(gè)字段 來確定分組如何被處理。報(bào)頭中的字段可以規(guī)定分組如何應(yīng)該通過休眠節(jié)點(diǎn)處理機(jī)功能 611來處理。根據(jù)所圖示的實(shí)施例,睡眠處理機(jī)功能611可以使用配置功能615來對(duì)去往在睡 眠的節(jié)點(diǎn)的分組進(jìn)行處理。作為休眠節(jié)點(diǎn)的第二節(jié)點(diǎn)可以與配置功能615交互以規(guī)定由缺 省路由器用來在它在睡眠時(shí)處理其分組的其優(yōu)選技術(shù)。例如,休眠節(jié)點(diǎn)可以在注冊(cè)到缺省 路由器時(shí)規(guī)定這個(gè)信息。因此,如果第二節(jié)點(diǎn)已向配置功能615注冊(cè)了其偏好,則第一節(jié)點(diǎn) 可以通過評(píng)估配置功能615來確定當(dāng)?shù)诙?jié)點(diǎn)睡著時(shí)去往第二節(jié)點(diǎn)的分組如何應(yīng)該被處 理。
[0070] 再次參考602,如果第一節(jié)點(diǎn)確定在其目的地高速緩存中存在條目并且該條目指 示第二節(jié)點(diǎn)在睡眠,則處理可以進(jìn)行到休眠節(jié)點(diǎn)處理機(jī)功能611。如果未找到條目,則處理 進(jìn)行到618,其中第一節(jié)點(diǎn)確定目的地在線還是離線。在一個(gè)實(shí)施例中,如果目的地不存在 條目,則下一跳確定計(jì)算被調(diào)用來創(chuàng)建新的目的地高速緩存條目。在下一跳的IP地址是已 知的(經(jīng)由目的地高速緩存或者經(jīng)由下一跳確定)之后,然后可以為關(guān)于鄰居的鏈路層信息 而查閱鄰居高速緩存。如果目的地節(jié)點(diǎn)在線,則第一節(jié)點(diǎn)在620處解析目的地節(jié)點(diǎn)的地址, 并且然后在610處發(fā)送分組。如果目的地離線,則根據(jù)所圖示的實(shí)施例,在622處,第一節(jié)點(diǎn) 確定與目的地相關(guān)聯(lián)的缺省路由器列表中的路由器是否是喚醒的。如果列表中的路由器在 睡眠,則處理進(jìn)行到休眠節(jié)點(diǎn)處理機(jī)功能611。如果在列表中存在喚醒的路由器,則在610 處,第一節(jié)點(diǎn)將分組發(fā)送到作為喚醒的路由器的下一跳。第一節(jié)點(diǎn)可以基于路由器休眠節(jié) 點(diǎn)變量狀態(tài)從缺省路由器的列表中選擇缺省路由器。
[0071] 本文中所描述的各種實(shí)施例增強(qiáng)下一跳確定機(jī)制,使得節(jié)點(diǎn)可以以睡眠感知方式 進(jìn)行下一跳判定。例如,圖7圖示能夠由休眠節(jié)點(diǎn)用來注冊(cè)到其缺省路由器的示例消息700。 消息700包括休眠節(jié)點(diǎn)變量,例如參考表1本文中所描述的休眠節(jié)點(diǎn)變量。使用與休眠節(jié)點(diǎn) 相關(guān)聯(lián)的休眠節(jié)點(diǎn)變量的發(fā)布狀態(tài)以及如上面所描述的增強(qiáng)型鄰居高速緩存、缺省路由器 列表、目的地高速緩存、下一跳確定和鄰居不可達(dá)性檢測(cè),缺省路由器能夠通過考慮休眠節(jié) 點(diǎn)的可達(dá)性(例如,睡眠)狀態(tài)以睡眠感知方式進(jìn)行分組處理判定。因此,根據(jù)各種示例實(shí)施 例,啟用了以睡眠節(jié)點(diǎn)作為目標(biāo)的分組的智能且高效處理。智能且高效處理的示例包括分 組基于睡眠狀態(tài)的存儲(chǔ)并轉(zhuǎn)發(fā)、將請(qǐng)求方重定向到不在睡眠的供替換的節(jié)點(diǎn)或代理、通知 請(qǐng)求方節(jié)點(diǎn)在睡眠使得它能夠采取適當(dāng)?shù)膭?dòng)作等。
[0072] 所描述的休眠節(jié)點(diǎn)ND協(xié)議擴(kuò)展可以被用來基于它們支持的睡眠屬性和狀態(tài)來使 得能實(shí)現(xiàn)路由器的懇求。例如,查詢擴(kuò)展可以由節(jié)點(diǎn)添加到它們發(fā)起的路由器懇求消息。在 查詢擴(kuò)展內(nèi),能夠包括基于休眠節(jié)點(diǎn)變量的狀態(tài)的查詢字符串,以指示哪些路由器對(duì)路由 器懇求消息做出響應(yīng)。
[0073] 圖8示出在示例系統(tǒng)800中實(shí)現(xiàn)的路由器懇求的示例。示例路由器懇求被以睡眠感 知方式執(zhí)行。系統(tǒng)800包括IoT節(jié)點(diǎn)802和多個(gè)IoT休眠路由器804,例如第一休眠路由器804a 和第二路由器804b。將要了解的是,示例系統(tǒng)800被簡(jiǎn)化以方便所公開的主題的描述并且不 旨在限制本公開的范圍。其它裝置、系統(tǒng)和配置可以被用來實(shí)現(xiàn)除諸如系統(tǒng)800的系統(tǒng)之外 或者代替諸如系統(tǒng)800的系統(tǒng)的本文中所公開的實(shí)施例,并且所有這樣的實(shí)施例被設(shè)想為 在本公開的范圍內(nèi)。
[0074] 參考圖8,根據(jù)所圖示的實(shí)施例,在806處,可以為圖1中所描繪的端點(diǎn)裝置104中的 一個(gè)的節(jié)點(diǎn)802確定節(jié)點(diǎn)802將懇求在系統(tǒng)800中未進(jìn)入睡眠狀態(tài)的路由器。這樣的路由器 能夠被稱為非休眠路由器。節(jié)點(diǎn)802可能懇求這些路由器,因?yàn)槟切┞酚善骺赡芫哂凶詈每?用性并且可能是分組能夠被轉(zhuǎn)發(fā)到的最好候選。在808處,節(jié)點(diǎn)802可以通過發(fā)送第一路由 器懇求消息來懇求非休眠路由器??梢远嗖セ蛘邚V播該消息。該消息可以將規(guī)定所期望的 路由器未必進(jìn)入睡眠狀態(tài)的查詢包括在查詢字符串消息中。在810處,第一路由器和第二路 由器對(duì)第一路由器懇求消息進(jìn)行處理,并且確定它們不滿足懇求消息中所規(guī)定的準(zhǔn)則,因 為第一路由器804a和第二路由器804b是休眠路由器。根據(jù)所圖示的示例,在806處節(jié)點(diǎn)802 未接收到響應(yīng)于懇求的任何路由器通告。例如,在系統(tǒng)800中可能不存在任何非休眠路由 器,所述系統(tǒng)800還可以被稱為網(wǎng)絡(luò)800,但沒有限制。在812處,非休眠路由器懇求超時(shí)。因 為在網(wǎng)絡(luò)800中沒有滿足在806處的懇求的規(guī)定準(zhǔn)則(路由器是非休眠的)的路由器,所以在 814處,節(jié)點(diǎn)802可以決定發(fā)送第二路由器懇求。第二路由器懇求可以作為多播消息或者作 為廣播消息被發(fā)送。如所示,在816處,第二路由器懇求消息由節(jié)點(diǎn)802發(fā)送。第二路由器懇 求可以包括規(guī)定休眠節(jié)點(diǎn)屬性值對(duì)的列表的新查詢擴(kuò)展。圖8圖示由節(jié)點(diǎn)802所規(guī)定的示例 休眠節(jié)點(diǎn)屬性,但是將要理解的是,節(jié)點(diǎn)可以按需規(guī)定任何休眠節(jié)點(diǎn)屬性。IoT節(jié)點(diǎn)802可以 配置具有滿足其要求的期望的休眠路由器屬性的休眠節(jié)點(diǎn)屬性值對(duì)。根據(jù)所圖示的示例, 節(jié)點(diǎn)802懇求以具有它們保持喚醒達(dá)至少60秒并且不睡眠達(dá)60秒以上的占空度的周期性方 式睡眠并且支持每當(dāng)它們的睡眠狀態(tài)改變時(shí)發(fā)出通知的路由器。將要理解的是,節(jié)點(diǎn)可以 按需懇求使用任何要求的路由器。
[0075]仍然參考圖8,在818處,第一路由器804a對(duì)第二懇求消息進(jìn)行處理并且確定第一 路由器804a滿足路由器懇求中所規(guī)定的準(zhǔn)則。在820處,第二路由器804b對(duì)第二懇求消息進(jìn) 行處理并且確定第二路由器804b不滿足第二懇求消息中所規(guī)定的要求中的至少一種。因 此,根據(jù)所圖示的實(shí)施例,節(jié)點(diǎn)802在懇求滿足其要求的路由器(路由器804a)時(shí)是成功的。 在822處,第一路由器可以將路由器通告消息返回給節(jié)點(diǎn)802,從而在824處完成路由器懇 求。
[0076]圖9A和9B示出能夠在系統(tǒng)900內(nèi)交換的各種休眠節(jié)點(diǎn)上下文信息的示例。系統(tǒng)900 包括IoT節(jié)點(diǎn)802以及多個(gè)IoT休眠路由器804。將要了解的是,示例系統(tǒng)900被簡(jiǎn)化以方便所 公開的主題的描述并且不旨在限制本公開的范圍。其它裝置、系統(tǒng)和配置可以被用來實(shí)現(xiàn) 除諸如系統(tǒng)900的系統(tǒng)之外或者代替諸如系統(tǒng)800的系統(tǒng)的本文中所公開的實(shí)施例,并且所 有這樣的實(shí)施例被設(shè)想為在本公開的范圍內(nèi)。圖9A示出諸如例如節(jié)點(diǎn)是否是休眠節(jié)點(diǎn)、節(jié) 點(diǎn)的睡眠狀態(tài)、在節(jié)點(diǎn)將進(jìn)入睡眠狀態(tài)之前的時(shí)間、節(jié)點(diǎn)正轉(zhuǎn)到它下一個(gè)睡眠持續(xù)的時(shí)間 的持續(xù)時(shí)間等的可以被交換的休眠節(jié)點(diǎn)上下文信息的示例。替換地,可以使用本文中所描 述的訂閱和通知擴(kuò)展來在節(jié)點(diǎn)之間共享休眠節(jié)點(diǎn)上下文信息。例如,使用具有訂閱/通知擴(kuò) 展的ND消息,IoT節(jié)點(diǎn)可以訂閱一個(gè)或多個(gè)鄰近IoT節(jié)點(diǎn)以在它們的休眠節(jié)點(diǎn)變量改變狀態(tài) 的情況下/時(shí)接收通知。
[0077]參考圖9A,在901處,節(jié)點(diǎn)802向路由器804發(fā)送通告期望的休眠節(jié)點(diǎn)上下文信息的 路由器懇求消息。根據(jù)所圖示的示例,在901處,節(jié)點(diǎn)802懇求為休眠的但是當(dāng)前喚醒的路由 器,并且在路由器能夠進(jìn)入睡眠狀態(tài)之前必須過去的時(shí)間是至少50秒。將要理解的是,秒被 用于示例的目的,并且能夠按需規(guī)定時(shí)間的任何單位。在另一圖示的示例中,在903處,路由 器804中的一個(gè)響應(yīng)于在901處的消息而向節(jié)點(diǎn)802發(fā)送路由器通告消息。特別地,在903處, 路由器804通告它是具有喚醒的當(dāng)前狀態(tài)的休眠路由器,并且路由器804將不睡著直到1000 秒已過去為止。根據(jù)另一圖示的示例,在1006處,節(jié)點(diǎn)802發(fā)送鄰居懇求消息以懇求處于喚 醒狀態(tài)的路由器,將在1秒之后睡眠,并且將睡眠達(dá)30秒。在908處,路由器804中的一個(gè)發(fā)送 通告該路由器是喚醒的并且將不睡眠直到950秒已過去為止的鄰居通告消息。根據(jù)另一圖 示的示例,在910處,節(jié)點(diǎn)802發(fā)送通告其休眠上下文信息的ICMPv6消息。特別地,節(jié)點(diǎn)802向 路由器804通告節(jié)點(diǎn)是喚醒的,將在1秒之后睡眠,并且將睡眠達(dá)30秒。在912處,路由器804 中的一個(gè)發(fā)送通告其休眠上下文信息的ICMPv6上下文消息。特別地,路由器804向節(jié)點(diǎn)802 通告該路由器是喚醒的并且將不睡眠直到950秒已過去為止。
[0078] 如上所述,一個(gè)節(jié)點(diǎn)的休眠節(jié)點(diǎn)參數(shù)可以由網(wǎng)絡(luò)中的其它節(jié)點(diǎn)來配置。參考圖9B, 在914、916、918和920處,上面描述的休眠節(jié)點(diǎn)ND協(xié)議擴(kuò)展被用來使得能夠由其它節(jié)點(diǎn)配置 休眠節(jié)點(diǎn)參數(shù)。例如,在914和918處,節(jié)點(diǎn)802通過向路由器分別發(fā)送路由器懇求消息和鄰 居懇求消息來配置路由器804的休眠節(jié)點(diǎn)參數(shù)。根據(jù)其它圖示的示例,在916和920處,路由 器804通過向節(jié)點(diǎn)802分別發(fā)送路由器通告消息和鄰居通告消息來配置節(jié)點(diǎn)802的休眠節(jié)點(diǎn) 參數(shù)。通過示例,在922處,節(jié)點(diǎn)802通過向路由器804發(fā)送ICMPv6上下文消息來配置路由器 804的休眠節(jié)點(diǎn)參數(shù)。在924處,路由器804通過向節(jié)點(diǎn)802發(fā)送ICMPv6上下文消息來配置節(jié) 點(diǎn)802的休眠節(jié)點(diǎn)參數(shù)。根據(jù)各種實(shí)施例,各種休眠節(jié)點(diǎn)參數(shù)可以由另一節(jié)點(diǎn)配置。例如,包 括節(jié)點(diǎn)睡著并且在回到睡眠狀態(tài)之前喚醒的時(shí)間的持續(xù)時(shí)間的休眠節(jié)點(diǎn)的占空度可以由 另一節(jié)點(diǎn)使用圖9B中所示出的消息來配置。通過另一示例,第一節(jié)點(diǎn)可以配置第二節(jié)點(diǎn),使 得每當(dāng)?shù)诙?jié)點(diǎn)的睡眠狀態(tài)改變時(shí)第一節(jié)點(diǎn)接收通知。將要理解的是,可以按需在節(jié)點(diǎn)之 間配置其它參數(shù)。
[0079] 上面描述的休眠節(jié)點(diǎn)ND協(xié)議擴(kuò)展可以使得能實(shí)現(xiàn)睡眠感知存儲(chǔ)并轉(zhuǎn)發(fā)、睡眠感知 重定向消息、睡眠感知警報(bào)等。圖10至圖12示出還能夠被稱為網(wǎng)絡(luò)1000的示例系統(tǒng)1000中 的示例睡眠感知實(shí)施方式。系統(tǒng)1000包括可以為圖1中所描繪的裝置102中的一個(gè)的第一或 請(qǐng)求節(jié)點(diǎn)1002、缺省路由器1004以及第二或目的地節(jié)點(diǎn)1006,所述第二或目的地節(jié)點(diǎn)1006 能夠睡眠,并且因此可以被稱為休眠目的地節(jié)點(diǎn)1006。將要了解的是,示例系統(tǒng)1000被簡(jiǎn)化 以方便所公開的主題的描述并且不旨在限制本公開的范圍。其它裝置、系統(tǒng)和配置可以被 用來實(shí)現(xiàn)除諸如系統(tǒng)1000的系統(tǒng)之外或者代替諸如系統(tǒng)1000的系統(tǒng)的本文中所公開的實(shí) 施例,并且所有這樣的實(shí)施例被設(shè)想為在本公開的范圍內(nèi)。
[0080] 特別地參考圖10,在1008處,目的地節(jié)點(diǎn)1006向路由器1004發(fā)送路由器懇求消息。 在1010處,路由器1004將路由器通告消息返回給目的地節(jié)點(diǎn)1006。在1012處,目的地節(jié)點(diǎn) 1006向缺省路由器1004發(fā)送鄰居懇求消息。該消息可以包括目的地節(jié)點(diǎn)1006的地址注冊(cè)以 及與目的地節(jié)點(diǎn)1006相關(guān)聯(lián)的休眠節(jié)點(diǎn)變量。在1014處,路由器1004創(chuàng)建與目的地節(jié)點(diǎn) 1006相關(guān)聯(lián)的鄰居高速緩存條目。路由器1004可以將與目的地節(jié)點(diǎn)1006相關(guān)聯(lián)的休眠節(jié)點(diǎn) 變量存儲(chǔ)并維持在條目中。在1015處,目的地節(jié)點(diǎn)1006進(jìn)入睡眠狀態(tài)。在1016處,路由器 1004使用與目的地節(jié)點(diǎn)1006相關(guān)聯(lián)的鄰居高速緩存條目以及例如如參考圖5所描述的鄰居 不可達(dá)性檢測(cè)來確定節(jié)點(diǎn)1006已進(jìn)入睡眠狀態(tài)。在1002處,根據(jù)所圖示的實(shí)施例,請(qǐng)求節(jié)點(diǎn) 1002發(fā)送由路由器1002接收到的傳入請(qǐng)求分組。分組以睡著的節(jié)點(diǎn)1006作為目標(biāo)。在1020 處,路由器1004存儲(chǔ)分組直到目的地節(jié)點(diǎn)1006是喚醒的為止。例如,路由器1004可以存儲(chǔ)分 組達(dá)在指示目的地節(jié)點(diǎn)1006的休眠屬性的休眠節(jié)點(diǎn)變量中的一個(gè)中所規(guī)定的持續(xù)時(shí)間。在 1021處,節(jié)點(diǎn)1006醒來。在1022處,目的地節(jié)點(diǎn)1006向路由器1004發(fā)送另一鄰居懇求消息。 在1024處,路由器1004檢測(cè)到節(jié)點(diǎn)1006是喚醒的。在1026處,根據(jù)所圖示的實(shí)施例,在確定 節(jié)點(diǎn)1006是喚醒的之后,路由器1004將分組發(fā)送到目的地節(jié)點(diǎn)1006,從而完成根據(jù)示例實(shí) 施例的睡眠感知存儲(chǔ)并轉(zhuǎn)發(fā)實(shí)施方式。例如,當(dāng)在休眠節(jié)點(diǎn)變量中的一個(gè)中所規(guī)定的持續(xù) 時(shí)間過去時(shí)路由器1004可以將分組發(fā)送到目的地節(jié)點(diǎn)1006。在1028和1030處,目的地節(jié)點(diǎn) 1006可以經(jīng)由路由器1004向節(jié)點(diǎn)1002發(fā)送響應(yīng)分組。
[0081] 現(xiàn)在參考圖11,上面描述的休眠節(jié)點(diǎn)ND協(xié)議擴(kuò)展能夠被用來向請(qǐng)求節(jié)點(diǎn)1002報(bào)警 作為目標(biāo)的目的地節(jié)點(diǎn)1006在睡眠,并且路由器1004能夠在目的地節(jié)點(diǎn)1006接下來可用時(shí) 通知請(qǐng)求節(jié)點(diǎn)1002。將要理解的是,附圖標(biāo)記在各個(gè)圖中重復(fù)以表示相同或類似的特征。例 如,當(dāng)節(jié)點(diǎn)1006向路由器1004注冊(cè)時(shí),休