在硬件抽象層中網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面模型向目標(biāo)實現(xiàn)的靜態(tài)轉(zhuǎn)化的制作方法
【專利說明】在硬件抽象層中網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面模型向目標(biāo)實現(xiàn)的靜態(tài)轉(zhuǎn)化
[0001] 相關(guān)申請
[0002] 本申請要求 2013 年 2 月 25 日提交的題為"STATICTRANSLATIONOFNETWORK FORWARDINGPLANEMODELSINTOTARGETIMPLEMENTATIONINTHEHARDWAREABSTRACTION LAYER"的美國專利申請No. 13/776,012以及2013年2月25日提交的題為"TRANSLATING NETWORKFORWARDINGPLANEMODELSINTOTARGETIMPLEMENTATIONUSINGNETWORK PRHOTIVES"的美國專利申請No. 13/775, 994的優(yōu)先權(quán)和權(quán)益,通過引用將二者全部內(nèi)容 合并于此。
【背景技術(shù)】
[0003] 在通信網(wǎng)絡(luò)中,諸如電話網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò),包括互聯(lián)網(wǎng),可以沿著從源裝置到目的 地裝置的路徑發(fā)送信息。源裝置和目的地裝置例如可以是個人計算機、服務(wù)器(諸如電子 郵件服務(wù)器)、web服務(wù)器、或文件服務(wù)器,或者能夠經(jīng)由網(wǎng)絡(luò)發(fā)送和/或接收信息的其他電 子裝置。
[0004] 信息可以傳遞通過一個或多個轉(zhuǎn)發(fā)裝置,諸如路由器或者具有將信息轉(zhuǎn)發(fā)給另一 個裝置的能力的其他電子裝置。中間裝置可以接收信息,并使用函數(shù)、算法、數(shù)據(jù)結(jié)構(gòu)以及 規(guī)則來確定在哪里以及怎樣轉(zhuǎn)發(fā)信息,使得信息朝向它預(yù)期的目的地移動。這些函數(shù)、算 法、數(shù)據(jù)結(jié)構(gòu)以及規(guī)則形成網(wǎng)絡(luò)的"轉(zhuǎn)發(fā)平面"。轉(zhuǎn)發(fā)平面的函數(shù)、算法、數(shù)據(jù)結(jié)構(gòu)以及規(guī)則 可以通過網(wǎng)絡(luò)中的一個或多個轉(zhuǎn)發(fā)裝置來實現(xiàn)和/或執(zhí)行。
[0005] 例如,轉(zhuǎn)發(fā)裝置可以在流入界面上接收分組,查找分組的目的地地址,并應(yīng)用使得 轉(zhuǎn)發(fā)裝置在特定路由表中查找目的地地址的規(guī)則。路由表可以提供"下一個目的地"的列 表,其表示分組應(yīng)當(dāng)發(fā)送到的裝置。用于特定分組的下一個目的地例如可以是最終目的地 裝置或者另一個中間轉(zhuǎn)發(fā)裝置。下一個目的地可通過路由表中存儲的地址來識別。路由表 中存儲的下一個目的地可通過分組的最終目的地來索引一一因此,通過查找分組的最終目 的地(例如,通過分組的報頭來識別),可以從路由表檢索下一個目的地。然后,轉(zhuǎn)發(fā)裝置可 以在流出界面上將分組轉(zhuǎn)發(fā)給所識別的下一個目的地。
[0006] 轉(zhuǎn)發(fā)平面的某些方面會影響網(wǎng)絡(luò)的效率。這些方面包括特定規(guī)則、算法、數(shù)據(jù)結(jié) 構(gòu)、以及所采用的函數(shù)、實現(xiàn)轉(zhuǎn)發(fā)平面的方式、以及實現(xiàn)和/或執(zhí)行轉(zhuǎn)發(fā)平面的位置。
【發(fā)明內(nèi)容】
[0007] 通信網(wǎng)絡(luò)中的路由控制器可以負(fù)責(zé)使用網(wǎng)絡(luò)基元的通用語言為目標(biāo)裝置生成裝 置模型。這些目標(biāo)裝置可具有轉(zhuǎn)發(fā)能力。示例性實施例允許目標(biāo)裝置基于網(wǎng)絡(luò)的預(yù)期的行 為來確定怎樣轉(zhuǎn)發(fā)傳入的數(shù)據(jù)分組。這些目標(biāo)裝置可以基于目標(biāo)裝置的能力,將使用通用 語言描述的期望的行為轉(zhuǎn)化為實現(xiàn)。轉(zhuǎn)化可以生成期望的行為與其實現(xiàn)之間的映射。
[0008] 通用語言是用于限定網(wǎng)絡(luò)意圖(S卩,預(yù)期的轉(zhuǎn)發(fā)行為)的目標(biāo)獨立描述。通用語 言可以描述所請求的能力(例如,"在路由表中找到子網(wǎng)掩碼的最長前綴匹配"),不需要指 定怎樣實現(xiàn)所請求的能力(例如,不需要指定用于進行最長前綴匹配的特定算法)。通用語 言可以支持所指定的功能的多個實現(xiàn)(例如,用于找到最長前綴匹配的第一算法,以及用 于找到最長前綴匹配的第二算法)。
[0009] 根據(jù)示例性實施例,可以使用網(wǎng)絡(luò)基元的目標(biāo)獨立通用語言來生成裝置模型。網(wǎng) 絡(luò)基元是裝置模型的構(gòu)造塊。網(wǎng)絡(luò)基元可以被聚組以形成子模型,以在裝置模型內(nèi)產(chǎn)生模 塊化。網(wǎng)絡(luò)基元和子模型可以被存儲在庫中??刂破骺蓪⒀b置模型發(fā)送給目標(biāo)裝置。在從 控制器接收到裝置模型時,目標(biāo)裝置可將裝置模型轉(zhuǎn)化為實現(xiàn)。
[0010] 根據(jù)示例性實施例,裝置模型可包括與模型的一個或多個部分相關(guān)聯(lián)的一個或多 個已知標(biāo)識符。已知標(biāo)識符與目標(biāo)裝置的能力之間的映射是已知的。已知映射例如可以被 存儲在已知映射的數(shù)據(jù)庫中。在從控制器接收到具有已知標(biāo)識符的裝置模型時,目標(biāo)裝置 可以檢索并使用映射,以靜態(tài)地將裝置模型轉(zhuǎn)化為實現(xiàn)。如果沒有已知映射,那么目標(biāo)裝置 的轉(zhuǎn)化器必須動態(tài)地將裝置模型中描述的意圖轉(zhuǎn)化為實現(xiàn)。因此,裝置模型提供事先確定 的映射的可重用性,并且不要求每次從控制器接收到裝置模型時轉(zhuǎn)化器動態(tài)地轉(zhuǎn)化裝置模 型。
[0011] 在某些實施例中,提供一種非暫時性電子裝置可讀存儲介質(zhì)。存儲介質(zhì)進一步保 存指令,所述指令在被執(zhí)行時使得一個或多個處理器接收以目標(biāo)獨立格式描述的裝置模 型。裝置模型包括一個或多個網(wǎng)絡(luò)基元。裝置模型描述目標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。存儲 介質(zhì)還保存指令,所述指令在被執(zhí)行時使得一個或多個處理器將裝置模型轉(zhuǎn)化為目標(biāo)裝置 的一個或多個能力,該目標(biāo)裝置具有轉(zhuǎn)發(fā)能力。轉(zhuǎn)化包括將一個或多個網(wǎng)絡(luò)基元映射到目 標(biāo)裝置的一個或多個能力。存儲介質(zhì)進一步保存指令,所述指令在被執(zhí)行時使得一個或多 個處理器基于轉(zhuǎn)化配置目標(biāo)裝置,并接收一個或多個輸入分組。存儲介質(zhì)還保存指令,所述 指令在被執(zhí)行時使得一個或多個處理器基于配置將一個或多個輸入分組轉(zhuǎn)發(fā)給網(wǎng)絡(luò)的一 個或多個元件。
[0012] 根據(jù)不同的實施例,提供一種非暫時性電子裝置可讀存儲介質(zhì)。存儲介質(zhì)進一步 保存指令,所述指令在被執(zhí)行時使得一個或多個處理器以目標(biāo)獨立格式生成裝置模型。該 裝置模型包括一個或多個網(wǎng)絡(luò)基元。該裝置模型描述目標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。存儲介 質(zhì)還進一步保存指令,所述指令在被執(zhí)行時使得一個或多個處理器將裝置模型發(fā)送給網(wǎng)絡(luò) 中的目標(biāo)裝置用于實現(xiàn),所述目標(biāo)裝置具有轉(zhuǎn)發(fā)能力。
[0013] 在某些實施例中,提供一種系統(tǒng)。系統(tǒng)包括路由控制器、目標(biāo)裝置和存儲。該路由 控制器生成以目標(biāo)獨立格式描述的裝置模型。該裝置模型包括一個或多個網(wǎng)絡(luò)基元。該目 標(biāo)裝置接收裝置模型。該裝置模型描述目標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。該目標(biāo)裝置具有轉(zhuǎn)發(fā) 或交換能力。存儲存儲多個網(wǎng)絡(luò)基元。裝置模型使用從存儲檢索的一個或多個網(wǎng)絡(luò)基元而 生成。目標(biāo)裝置被配置為將裝置模型中描述的預(yù)期的轉(zhuǎn)發(fā)行為映射到目標(biāo)裝置的一個或多 個能力的實現(xiàn)。
[0014] 在某些實施例中,提供一種非暫時性電子裝置可讀存儲介質(zhì)。存儲介質(zhì)保存指令, 所述指令在被執(zhí)行時使得一個或多個處理器接收以目標(biāo)獨立格式描述的裝置模型。裝置模 型描述目標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。裝置模型包括與裝置模型的一個或多個部分相關(guān)聯(lián)的 一個或多個已知標(biāo)識符。存儲介質(zhì)進一步保存指令,所述指令在被執(zhí)行時使得一個或多個 處理器檢索映射,所述映射將裝置模型的一個或多個已知標(biāo)識符映射到具有轉(zhuǎn)發(fā)或交換能 力的目標(biāo)裝置的一個或多個能力的實現(xiàn)。存儲介質(zhì)進一步保存指令,所述指令在被執(zhí)行時, 使得一個或多個處理器通過使用所檢索的映射將裝置模型中描述的預(yù)期的轉(zhuǎn)發(fā)行為靜態(tài) 地映射到目標(biāo)裝置的一個或多個能力的實現(xiàn),配置目標(biāo)裝置。
[0015] 根據(jù)不同的實施例,提供一種方法。所述方法涉及接收以目標(biāo)獨立格式描述的裝 置模型。裝置模型描述目標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。所述方法進一步涉及檢索映射,所述 映射將裝置模型的一個或多個元件映射到具有轉(zhuǎn)發(fā)或交換能力的目標(biāo)裝置的一個或多個 能力的實現(xiàn)。所述方法還涉及通過使用所檢索的映射將裝置模型中描述的預(yù)期的轉(zhuǎn)發(fā)行為 靜態(tài)地映射到目標(biāo)裝置的一個或多個能力的實現(xiàn),配置目標(biāo)裝置。所述方法進一步涉及接 收一個或多個輸入分組以及基于所述配置將一個或多個輸入分組轉(zhuǎn)發(fā)給網(wǎng)絡(luò)的一個或多 個元件。
[0016] 在某些實施例中,提供一種系統(tǒng)。所述系統(tǒng)包括路由控制器、目標(biāo)裝置和存儲。路 由控制器生成以目標(biāo)獨立格式描述的裝置模型。目標(biāo)裝置接收裝置模型。裝置模型描述目 標(biāo)裝置的預(yù)期的轉(zhuǎn)發(fā)行為。目標(biāo)裝置具有轉(zhuǎn)發(fā)或交換能力。存儲存儲一個或多個映射,所 述映射將裝置模型的一個或多個部分映射到目標(biāo)裝置的一個或多個能力的實現(xiàn)。目標(biāo)裝置 被配置為從存儲檢索一個或多個映射,用于使用所檢索的映射將裝置模型中描述的預(yù)期的 轉(zhuǎn)發(fā)行為靜態(tài)地映射到目標(biāo)裝置的一個或多個能力的實現(xiàn)。
【附圖說明】
[0017] 圖1描繪根據(jù)示例性實施例的包括路由控制器和目標(biāo)裝置的示例性網(wǎng)絡(luò)100。
[0018] 圖2描繪根據(jù)示例性實施例的示例性網(wǎng)絡(luò)100的元件怎樣交互的示例性方式。
[0019] 圖3描繪根據(jù)示例性實施例的通過控制器生成的示例性裝置模型。
[0020] 圖4是根據(jù)示例性實施例的描述通過控制器進行的示例性步驟的流程圖。
[0021] 圖5是根據(jù)示例性實施例的描述通過目標(biāo)裝置進行的示例性步驟的流程圖。
[0022] 圖6描繪適合于與這里所述示例性實施例一起使用的示例性電子裝置。
[0023] 圖7描繪根據(jù)示例性實施例進行的處理的示例性網(wǎng)絡(luò)實現(xiàn)。
【具體實施方式】
[0024] 如下更詳細(xì)所述,示例性實施例允許軟件定義網(wǎng)絡(luò)的轉(zhuǎn)發(fā)平面的抽象化。通常,設(shè) 置轉(zhuǎn)發(fā)表條目的抽象化損失很多關(guān)于應(yīng)用開發(fā)者的意圖的信息。因此,傳統(tǒng)技術(shù)不能利用 轉(zhuǎn)發(fā)裝置的所有特征,以遞送可伸縮和有效的端到端實現(xiàn)。本申請目的在于將高層轉(zhuǎn)發(fā)意 圖映射到轉(zhuǎn)發(fā)裝置的低層特征。
[0025] 網(wǎng)絡(luò)的路由控制器可以負(fù)責(zé)使用網(wǎng)絡(luò)基元的通用語言生成裝置模型。裝置模型可 以限定網(wǎng)絡(luò)的意圖,即,預(yù)期的轉(zhuǎn)發(fā)行為。裝置模型可包括與模型的一個或多個部分相關(guān)聯(lián) 的一個或多個標(biāo)識符。
[0026] 控制器可將裝置模型發(fā)送給目標(biāo)裝置。基于目標(biāo)裝置的能力,目標(biāo)裝置將裝置模 型中描述的期望行為轉(zhuǎn)化為實現(xiàn)。例如,目標(biāo)裝置可包括預(yù)定的硬件或軟件邏輯,用于實現(xiàn) 裝置模型中限定的期望行為。因此,目標(biāo)裝置可以實現(xiàn)裝置模型中限定的所請求的能力,不 需要接收規(guī)定怎樣實現(xiàn)所請求的能力的指令。如果裝置模型中包括的標(biāo)識符對于目標(biāo)裝置 而言已知,即,目標(biāo)裝置事先接收和轉(zhuǎn)化標(biāo)識符,目標(biāo)裝置也將知道標(biāo)識符與用于標(biāo)識符的 實現(xiàn)之間的映射。當(dāng)從控制器接收裝置模型時,目標(biāo)裝置可以檢索和使用已知映射,靜態(tài)地 將裝置模型轉(zhuǎn)化為實現(xiàn)。如果沒有已知映射,目標(biāo)裝置的轉(zhuǎn)化器就必須動態(tài)地將裝置模型 轉(zhuǎn)化為實現(xiàn)。因此,裝置