用于支持休眠節(jié)點的鄰居發(fā)現(xiàn)的制作方法
【專利說明】用于支持休眠節(jié)點的鄰居發(fā)現(xiàn)
[0001]相關(guān)申請的交叉引用
[0002] 本申請要求2013年7月12日提交的美國臨時專利申請序號61/845,635的權(quán)益,其 公開內(nèi)容在此通過引用結(jié)合,如同在本文中整體地闡述一樣。
【背景技術(shù)】
[0003]物聯(lián)網(wǎng)(IoT)通常是指將物品互連至互聯(lián)網(wǎng)的全球基礎(chǔ)設(shè)施。IoT中的物品可以是 指可經(jīng)由網(wǎng)絡(luò)連接性訪問的唯一可識別的物理或虛擬物品??梢酝ㄟ^智能接口將這樣的物 品集成到信息網(wǎng)絡(luò)中。IoT系統(tǒng)可以是指物聯(lián)網(wǎng)內(nèi)的任何系統(tǒng)。IoT系統(tǒng)可以包括可以被稱 為前端的一個或多個終端裝置,諸如例如傳感器。IoT系統(tǒng)可以包括到其它網(wǎng)絡(luò)的網(wǎng)關(guān),其 可以被稱為后端。許多IoT裝置具有有限的電池組電力、小內(nèi)存占用或低吞吐量鏈路的至少 某種組合。此外,許多這些裝置是"休眠的(sleepy)",這意味著裝置能夠進入睡眠模式。睡 眠模式通常是指保存電力的低功率狀態(tài)。當(dāng)在睡眠模式下時,裝置常常暫停網(wǎng)絡(luò)通信。裝置 可以在處于睡眠模式之后醒來并重建通信,并且因此網(wǎng)絡(luò)通信的暫??赡苁菚簳r的。例如, 裝置可以響應(yīng)于發(fā)生的事件而醒來,或者裝置可以在預(yù)配置量的時間期滿之后被喚醒。
[0004]IoT端點裝置和IoT路由器兩者可能是休眠的。在圖1中示出了示例IoT實施方式。 圖1是諸如例如無線傳感器網(wǎng)絡(luò)(WSN)示例系統(tǒng)100的框圖。系統(tǒng)100本質(zhì)上可以是多跳的并 且可以包括充當(dāng)端點裝置的電池組操作的IoT裝置。例如,系統(tǒng)100可以包括多個IoT裝置 102。裝置102可以端點裝置104或充當(dāng)路由到/來自端點裝置104的上游分組和下游分組的 路由器裝置106。用于支持IoT休眠節(jié)點的現(xiàn)有方法具有數(shù)個缺點。例如,節(jié)點常常不知道網(wǎng) 絡(luò)中的其它節(jié)點是否是休眠的,并且因此不在網(wǎng)絡(luò)中與休眠節(jié)點高效地且有效地進行通 ?目。
【發(fā)明內(nèi)容】
[0005]在本文中描述了針對諸如物聯(lián)網(wǎng)(IoT)的網(wǎng)絡(luò)中的節(jié)點的睡眠感知的系統(tǒng)、方法 和設(shè)備實施例。在一個實施例中,系統(tǒng)包括經(jīng)由物聯(lián)網(wǎng)(IoT)進行通信的多個節(jié)點。所述多 個節(jié)點中的第一節(jié)點可以確定所述多個節(jié)點中的第二節(jié)點是休眠節(jié)點。該休眠節(jié)點被配置 成進入低功率狀態(tài)并暫停與第一節(jié)點的通信。第一節(jié)點還可以確定對應(yīng)于休眠節(jié)點的各種 睡眠變量。睡眠變量可以使得第一節(jié)點能夠與第二節(jié)點進行通信或者與替代節(jié)點進行通 信。所述多個節(jié)點包括端點裝置和至少一個路由器。路由器可以被配置為休眠節(jié)點并且/或 者端點裝置可以被配置為休眠節(jié)點。
[0006]在一個示例實施例中,經(jīng)由網(wǎng)絡(luò)彼此進行通信的多個節(jié)點中的第一節(jié)點接收以所 述多個節(jié)點中的第二節(jié)點為目標(biāo)的分組。第一節(jié)點可以確定第二節(jié)點是被配置成進入低功 率狀態(tài)并暫停與第一節(jié)點的通信的休眠節(jié)點。第一節(jié)點確定第二節(jié)點的可達性狀態(tài),并且 基于所確定的可達性狀態(tài)對分組進行處理。第一節(jié)點可以接收包括指示第二節(jié)點的休眠屬 性的一個或多個休眠節(jié)點變量的懇求消息(solicitationmessage)。例如,當(dāng)?shù)诙?jié)點在 睡眠并且因此所確定的可達性狀態(tài)是睡眠狀態(tài)時,第一節(jié)點可以存儲分組達在休眠節(jié)點變 量中的一個中所規(guī)定的持續(xù)時間。當(dāng)持續(xù)時間過去時,第一節(jié)點可以將分組發(fā)送到第二節(jié) 點。替換地,當(dāng)所確定的可達性狀態(tài)是睡眠狀態(tài)時,第一節(jié)點可以向發(fā)送了分組的節(jié)點發(fā)送 警報。該警報可以包括在第二節(jié)點醒來之前剩余的睡眠時間。根據(jù)另一實施例,當(dāng)所確定的 可達性狀態(tài)是睡眠狀態(tài)時,第一節(jié)點可以將分組發(fā)送到由休眠節(jié)點變量中的一個所規(guī)定的 重定向節(jié)點。重定向節(jié)點可以是針對第二節(jié)點的代理或者功能上相當(dāng)于第二節(jié)點。
[0007] 本
【發(fā)明內(nèi)容】
被提供來以簡化形式引入在下面在【具體實施方式】中被進一步描述的 構(gòu)思的選擇。本
【發(fā)明內(nèi)容】
不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或必要特征,它也不旨 在被用來限制所要求保護的主題的范圍。此外,所要求保護的主題不限于解決本公開的任 何部分中指出的任何或所有缺點的局限。
【附圖說明】
[0008] 可以從結(jié)合附圖通過示例給出的以下描述具有更具體的理解,附圖中:
[0009] 圖1是包括經(jīng)由IoT彼此進行通信的物聯(lián)網(wǎng)(IoT)休眠的端點裝置和IoT休眠路由 器的示例的框圖;
[0010]圖2A示出與鄰居發(fā)現(xiàn)(ND)消息協(xié)議有關(guān)的示例無效;
[0011]圖2B示出與ND消息協(xié)議有關(guān)的另一示例無效;
[0012]圖3示出互聯(lián)網(wǎng)控制管理協(xié)議(ICMP)報頭格式的示例;
[0013]圖4示出ND消息的類型長度值(TLV)格式的示例;
[00M]圖5是示出根據(jù)示例實施例的示例節(jié)點的各種可達性狀態(tài)的狀態(tài)圖;
[0015]圖6是根據(jù)示例實施例的擴展休眠節(jié)點ND下一跳確定的流程圖;
[0016]圖7示出注冊到其缺省路由器的休眠節(jié)點,其中,根據(jù)示例實施例,休眠節(jié)點變量 被包括在注冊中;
[0017]圖8示出根據(jù)示例實施例的用于查詢路由器的呼叫流程;
[0018] 圖9A示出根據(jù)數(shù)個實施例的能夠在節(jié)點之間交換的消息;
[0019] 圖9B示出根據(jù)數(shù)個其它實施例的能夠在節(jié)點之間交換的用于配置節(jié)點的消息;
[0020] 圖10是圖示根據(jù)示例實施例的請求到網(wǎng)絡(luò)中的休眠節(jié)點的存儲并轉(zhuǎn)發(fā)的呼叫流 程;
[0021] 圖11是根據(jù)示例實施例的用于向請求節(jié)點通知休眠節(jié)點的變量和/或狀態(tài)的呼叫 流程;
[0022] 圖12是根據(jù)示例實施例的針對分組的睡眠感知重定向的呼叫流程;
[0023]圖13A是其中可以實現(xiàn)一個或多個公開的實施例的示例機器對機器(M2M)或物聯(lián) 網(wǎng)(IoT)通信系統(tǒng)的系統(tǒng)圖;
[0024]圖13B是可以在圖13A中所圖示的M2M/IoT通信系統(tǒng)內(nèi)使用的示例架構(gòu)的系統(tǒng)圖; [0025]圖13C是可以在圖13A中所圖示的通信系統(tǒng)內(nèi)使用的示例M2M/IoT終端或網(wǎng)關(guān)裝置 的系統(tǒng)圖;以及
[0026]圖13D是其中可以具體實現(xiàn)圖13A的通信系統(tǒng)的各方面的示例計算系統(tǒng)的框圖。
【具體實施方式】
[0027]如本文中所使用的,物聯(lián)網(wǎng)(IoT)是指將IoT節(jié)點或物品互連到互聯(lián)網(wǎng)的基于網(wǎng)際 協(xié)議(IP)的基礎(chǔ)設(shè)施。如本文中所使用的,術(shù)語IoT可以是指裝置能夠彼此進行通信的任何 網(wǎng)絡(luò),并且因此IoT還可以被稱為IoT系統(tǒng)或機器對機器(M2M)通信系統(tǒng)。IoT系統(tǒng)可以由IoT 物品、IoT實體、IoT服務(wù)、IoT應(yīng)用等構(gòu)成。雖然裝置、應(yīng)用、服務(wù)等常常在本文中被稱為 "Ι〇Τ"裝置、應(yīng)用、服務(wù)等,但是將要理解的是,"IoT"限定詞通過示例來呈現(xiàn),而不通過限制 來呈現(xiàn)。例如,IoT物品或節(jié)點是指可經(jīng)由連接性訪問的唯一可識別的物理或虛擬物品。因 此,IoT節(jié)點可以是經(jīng)由可以被稱為IoT的網(wǎng)絡(luò)進行通信的主機、路由器或任何其它裝置。如 本文中所使用的,IoT主機可以是指不是路由器的IoT節(jié)點(例如,端點裝置KIoT路由器是 指將IP分組轉(zhuǎn)發(fā)到這些分組被尋址到的另一IoT路由器或IoT主機的IoT節(jié)點。如本文中所 使用的,術(shù)語休眠節(jié)點或睡眠節(jié)點可以是指物聯(lián)網(wǎng)(IoT)休眠的端點裝置或IoT休眠的路由 器。術(shù)語"休眠的"或其變型暗示節(jié)點能夠進入保存電力的睡眠模式。因此,IoT休眠節(jié)點可 以進入睡眠狀態(tài),這是指低功率狀態(tài),例如保存電力的無功率狀態(tài)。在睡眠的同時,IoT節(jié)點 可以暫時地暫停網(wǎng)絡(luò)通信直到它醒來并重建網(wǎng)絡(luò)通信為止。
[0028]低功率無線個域網(wǎng)(6L〇WPAN)的網(wǎng)際協(xié)議版本6(IPv6)是適合于資源約束(例如,IoT)裝置的IPv6聯(lián)網(wǎng)協(xié)議的版本。6L〇WPAN鄰居發(fā)現(xiàn)請求改變(RFC)6755是以在基于 6LoWPAN的網(wǎng)絡(luò)中使用為目標(biāo)的IΡν6鄰居發(fā)現(xiàn)的版本。例如用于低功率有損網(wǎng)絡(luò)(RPL)的互 聯(lián)網(wǎng)工程任務(wù)組(IETF)IPv6路由協(xié)議是適合于諸如無線傳感器網(wǎng)絡(luò)(WSN)的IoT網(wǎng)絡(luò)的輕 量IPv6路由協(xié)議。IETFCoAP是輕量RESTful應(yīng)用/傳輸協(xié)議。在本文中認(rèn)識到,上述協(xié)議常 常是在不感知節(jié)點是否是休眠的情況下實現(xiàn)的。另外,上述協(xié)議常常是在不知道休眠節(jié)點 的睡眠屬性或休眠節(jié)點的睡眠狀態(tài)的情況下實現(xiàn)的。
[0029]網(wǎng)絡(luò)節(jié)點(例如,主機和路由器)可以使用IPv6鄰居發(fā)現(xiàn)(ND)來確定鄰居的鏈路層 地址并清除變得無效的緩存值。鄰近節(jié)點是指可以彼此直接進行通信使得在它們之間不存 在中間節(jié)點的節(jié)點。主機(例如,端點裝置)可以實現(xiàn)IPv6ND以查找能夠代表它們轉(zhuǎn)發(fā)分組 的相鄰路由器。另外,節(jié)點可以使用IPv6ND協(xié)議來主動地保持跟蹤哪些鄰居是可達的以及 哪些鄰居不是可達的,并檢測變化的鏈路層地址。例如,當(dāng)路由器或到路由器的路徑出故障 時,主機可以主動地搜索起作用的替補。下面是通過示例呈現(xiàn)的個別ND協(xié)議特征的概要。
[0030]IPv6ND協(xié)議定義了五個不同的互聯(lián)網(wǎng)控制管理協(xié)議(ICMP)分組類型。例如,在 IPv4ICMPRFC792和IPv6ICMPRFC4443中描述了分組類型。所描述的分組類型包括路 由器懇求、路由器通告、鄰居懇求、鄰居通告和重定向。可以在接口被啟用時發(fā)送路由器懇 求分組。例如,當(dāng)接口被啟用時,主機可以發(fā)出請求路由器立即生成路由器通告的路由器懇 求,而不是等待調(diào)度時間。路由器通告分組時間是指路由器利用各種鏈路和互聯(lián)網(wǎng)參數(shù)來 通告其存在的場景。通告可以是周期性的或者響應(yīng)于路由器懇求消息。路由器通告可以包 含被用于確定另一地址是否共享相同鏈路(在線確定)的前綴。路由器通告前綴還可以包含 指示地址配置、建議跳極限值等的前綴。鄰居懇求分組可以由節(jié)點發(fā)送來確定鄰居的鏈路 層地址,或者驗證鄰居仍然可經(jīng)由緩存的鏈路層地址到達。鄰居懇求還可以被用于重復(fù)地 址檢測??梢皂憫?yīng)于鄰居懇求消息而發(fā)送鄰居通告分組。節(jié)點還可以發(fā)送非懇求鄰居通告 以宣布鏈路層地址改變。重定向分組可以由路由器用來向主機通知針對特定目的地的更好 第一跳。
[0031]IPv6ND還定義可以由節(jié)點維持的各種數(shù)據(jù)結(jié)構(gòu)。所定義的數(shù)據(jù)結(jié)構(gòu)包括鄰居高 速緩存、目的地高速緩存、前綴列表、缺省路由器列表以及節(jié)點配置變量。鄰居高速緩存數(shù) 據(jù)結(jié)構(gòu)可以被用來維持業(yè)務(wù)最近已被發(fā)送到的鄰居的一組條目。這些條目被用來存儲諸如 例如鄰居的鏈路層地址、鄰居是路由器還是主機、等待地址解析完成的任何排隊分組的指 針、可達性狀態(tài)等的信息。目的地高速緩存數(shù)據(jù)結(jié)構(gòu)可以被用來維持關(guān)于業(yè)務(wù)最近已被發(fā) 送到的目的地的一組條目。這些條目將目的地IP地址映射到下一跳鄰居的IP地址。這些條 目用從重定向消息學(xué)習(xí)到的信息進行更新。前綴列表數(shù)據(jù)結(jié)構(gòu)可以包括定義為在線的一組 地址的前綴的列表。缺省路由器列表數(shù)據(jù)結(jié)構(gòu)可以包括在路由器懇求期間發(fā)現(xiàn)的路由器的 列表。路由器的列表可以表示節(jié)點可以將分組轉(zhuǎn)發(fā)到的路由器。節(jié)點配置變量可以表示用 于配置節(jié)點的一組變量。
[0032]IPv6ND還定義了支持檢測與向不再可達的鄰近節(jié)點發(fā)送分組相關(guān)聯(lián)的故障并且 支持確定分組能夠被轉(zhuǎn)發(fā)到的下一跳的鄰居不可達性檢測和下一跳確定算法。RFC4861引 入針對諸如例如基于6L〇WPAN的網(wǎng)絡(luò)的低功率有損網(wǎng)絡(luò)的IPv6ND的增強功能。由RFC4861 所提出的示例增強功能包括:針對主機的基于多播的地址解析操作的消除;用于適應(yīng)睡眠 主機的主機發(fā)起的交互(代替路由器發(fā)起的);新地址注冊選項(ARO)擴展的定義;用于向主 機分發(fā)6L〇WPAN報頭壓縮上下文的鄰居發(fā)現(xiàn)選項;前綴和6L〇WPAN報頭的多跳分發(fā);以及使 用兩個新ICMPv6消息類型的多跳重復(fù)地址檢測(DAD)AFC4861還提出允許主機將它們的 地址注冊到具有規(guī)定注冊生存期的路由器。例如,路由器可能不必使用鄰居懇求(NS)和鄰 居通告(NA)消息來執(zhí)行地址解析。注冊生存期還可以被用來增強鄰居不可達性檢測算法。
[0033]諸如例如上面所描述的協(xié)議的現(xiàn)有網(wǎng)際協(xié)議缺少針對休眠節(jié)點的支持。例如,現(xiàn) 有協(xié)議常常假定休眠節(jié)點保持充分地供電并且始終維持網(wǎng)絡(luò)連接性。IoT型裝置本性上常 常是資源約束的。因此,在一些情況下,IoT裝置可以是電池組供電的并且可以睡眠至少一 些例如大多數(shù)時間。
[0034]IPv6鄰居發(fā)現(xiàn)(ND)協(xié)議是缺少針對休眠IoT節(jié)點(例如,休眠端點裝置和休眠路由 器)的支持的示例協(xié)議。在一些情況下,當(dāng)前協(xié)議缺少對IoT節(jié)點的功能性的感知。如本文中 所使用的,睡眠感知通常是指節(jié)點的睡眠能力和睡眠屬性的知識。例如,IPv6ND協(xié)議因缺 少對以下各項的感知而缺少睡眠感知:IoT節(jié)點是否進入睡眠狀態(tài);IoT節(jié)點的當(dāng)前睡眠狀 態(tài)(例如,喚醒的對睡著的);IoT節(jié)點的睡眠持續(xù)時間;IoT休眠節(jié)點是否以周期性方式(例 如,基于定義的睡眠時間表/模式)或者以非周期性方式(例如,基于事件的)醒來和進入睡 眠狀態(tài);等等。將要理解的是,節(jié)點或協(xié)議可能因缺少對通過以上示例呈現(xiàn)的屬性或者不通 過以上示例呈現(xiàn)的與睡眠相關(guān)聯(lián)的其它屬性中的任一個的感知而缺少睡眠感知。
[0035]如上所述,6L0WPANND定義了用于允許休眠節(jié)點使用包括地址注冊選項(ARO)以 為休眠節(jié)點規(guī)定ND注冊生存期的鄰居懇求消息來注冊到一個或多個缺