。如果分組處理操作的改變是必需的,則流處理單元111生成新分組處理操作并將該新分組處理操作設(shè)置到節(jié)點(diǎn)3中。
[0160]如果例如開放流網(wǎng)絡(luò)中的鏈路或節(jié)點(diǎn)被刪除,則流處理單元111從網(wǎng)絡(luò)DB 2中刪除與已刪除的鏈路或節(jié)點(diǎn)相對應(yīng)的分組處理信息。例如,流處理單元111從網(wǎng)絡(luò)DB 2中刪除包括已刪除的鏈路或節(jié)點(diǎn)布置于其上的轉(zhuǎn)發(fā)路徑在內(nèi)的分組處理信息。
[0161]流處理單元111使用命令"pop_at"來刪除與需要從分組處理信息的列表中刪除的分組處理信息相對應(yīng)的標(biāo)識(shí)符。流處理單元111使用命令"delete"來刪除與分組處理信息相對應(yīng)的條目("/flows/[flow_id]")。例如,流處理單元111生成替代已刪除的分組處理信息的新分組處理信息、使用命令"push_at"、并將所生成的分組處理信息存儲(chǔ)到網(wǎng)絡(luò)DB 2中。
[0162]通過使用命令"pop_at",可以共同地執(zhí)行以上系列操作。因此,可以省略對命令"delete"的執(zhí)行。
[0163]分組處理單元112使用DB操作命令來經(jīng)由DB接口單元10對網(wǎng)絡(luò)DB2進(jìn)行操作。例如,分組處理單元112對網(wǎng)絡(luò)DB 2進(jìn)行操作以將與分組有關(guān)的信息設(shè)置到網(wǎng)絡(luò)DB 2中。
[0164]圖16示出了分組處理單元112對網(wǎng)絡(luò)DB 2進(jìn)行操作的操作示例。例如,當(dāng)從開放流網(wǎng)絡(luò)接收到處理方法未知的分組時(shí),分組處理單元112向流處理單元111請求與分組相對應(yīng)的處理方法。如上所述,例如,分組處理單元112使用命令"get_matching_flow(<packet_info>)"來請求流處理單元111搜索分組處理方法。
[0165]如果流處理單元111向分組處理單元112通知與分組相對應(yīng)的分組處理信息不存在,則分組處理單元112將與分組有關(guān)的信息登記到網(wǎng)絡(luò)DB 2中。例如,分組處理單元112使用命令"push_tail (/packets/in)"來將分組的標(biāo)識(shí)符登記到條目列表"/packets/in "的末尾。此外,分組處理單元112使用命令"put (/packets/in/ [packet_id],<packet_info>)"來將與作為命令的變量的"<packet_info> "相對應(yīng)的信息添加到條目"/packets/in/[packet_id] " ([packet_id]是添加到條目 /packets/in 的分組的標(biāo)識(shí)符)。
[0166]通過使用命令"push_tail(/packets/in, <node_info>)"而不是以上命令"push_taiI (/packets/in)",可以共同地執(zhí)行以上系列操作。在這種情況下,可以省略對命令"put(/packet s/in/[node_id], <packet_info>)"的執(zhí)行。
[0167]如果生成了與添加到條目"/packets/in"的分組相對應(yīng)的分組處理信息,則將分組添加到條目"/packets/out"。例如,分組處理單元112事先設(shè)置網(wǎng)絡(luò)DB 2,使得如果使用了命令"subscribe"并且如果分組被添加到條目"/packets/out",則網(wǎng)絡(luò)DB 2向分組處理單元112通知與條目"/packets/out"的更新有關(guān)的信息。例如,分組處理單元112使用命令"publish",使得如果更新了條目"/packets/out",則分組處理單元112從網(wǎng)絡(luò)DB 2接收到所改變的鍵。以這種方式,分組處理單元112可以識(shí)別已經(jīng)在條目"/packets/out"中登記的分組的標(biāo)識(shí)符。例如,如果流處理單元111將分組處理操作設(shè)置到開放流網(wǎng)絡(luò)中的節(jié)點(diǎn)中,則分組處理單元112向開放流網(wǎng)絡(luò)發(fā)送與所接收的標(biāo)識(shí)符相對應(yīng)的分組。此外,分組處理單元112使用命令"pop_at (/packets/out,<packet_id>)"從條目"/packets/out"刪除接收的標(biāo)識(shí)符,并使用命令"delete"來刪除條目"/packets/out/[packet_id]"。
[0168]如果使用命令"pop_head(/packets/out)"而不是以上命令"pop_at ",貝丨J可以從"/packets_out "的頂部接收到分組信息,并可以刪除條目"/packets/out/[packet_id]"。因此,可以省略對以上命令"delete"的執(zhí)行。
[0169]圖17至20是示出了根據(jù)第三示例性實(shí)施例的操作的時(shí)序圖。
[0170]圖17示出了當(dāng)節(jié)點(diǎn)被添加到網(wǎng)絡(luò)4時(shí)所執(zhí)行的操作。拓?fù)涮幚韱卧?10刪除向開放流網(wǎng)絡(luò)的節(jié)點(diǎn)的添加,并收集與所添加的節(jié)點(diǎn)有關(guān)的信息。
[0171]例如,拓?fù)涮幚韱卧?10使用命令"push_tail (/nodes)"來將節(jié)點(diǎn)添加到網(wǎng)絡(luò)DB 2中的條目列表"/nodes"中。在將節(jié)點(diǎn)添加到列表之后,拓?fù)涮幚韱卧?10從網(wǎng)絡(luò)DB2接收作為網(wǎng)絡(luò)DB 2中的節(jié)點(diǎn)的標(biāo)識(shí)符的"node_id"。
[0172]例如,拓?fù)涮幚韱卧?10使用命令"put"來將與節(jié)點(diǎn)有關(guān)的信息添加到網(wǎng)絡(luò)DB2中的條目中。例如,與所添加的節(jié)點(diǎn)有關(guān)的信息是與節(jié)點(diǎn)有關(guān)的信息和與節(jié)點(diǎn)的通信端口有關(guān)的?目息。
[0173]圖18示出了當(dāng)從網(wǎng)絡(luò)4刪除節(jié)點(diǎn)時(shí)所執(zhí)行的操作。拓?fù)涮幚韱卧?10檢測從開放流網(wǎng)絡(luò)刪除節(jié)點(diǎn),并收集與所刪除的節(jié)點(diǎn)有關(guān)的信息。
[0174]例如,拓?fù)涮幚韱卧?10使用命令"pop_at"來從條目列表"/nodes"中刪除與所刪除的節(jié)點(diǎn)相對應(yīng)的標(biāo)識(shí)符。此外,拓?fù)涮幚韱卧?10使用命令"pop_at"來從條目列表"/links"中刪除與所刪除的節(jié)點(diǎn)有關(guān)的鏈路的標(biāo)識(shí)符。
[0175]例如,拓?fù)涮幚韱卧?10使用命令"delete"來刪除與從開放流網(wǎng)絡(luò)刪除的節(jié)點(diǎn)有關(guān)的信息和關(guān)于與所刪除的節(jié)點(diǎn)有關(guān)的鏈路的信息。
[0176]圖19示出了當(dāng)向網(wǎng)絡(luò)4添加鏈路時(shí)執(zhí)行的操作和當(dāng)從網(wǎng)絡(luò)4刪除鏈路時(shí)執(zhí)行的操作。拓?fù)涮幚韱卧?10刪除向開放流網(wǎng)絡(luò)添加鏈路,并收集與所添加的鏈路有關(guān)的信息。
[0177]例如,拓?fù)涮幚韱卧?10使用命令"pUsh_tail"來將鏈路添加到條目"/links"。在將鏈路添加到條目列表"/links"之后,拓?fù)涮幚韱卧?10從網(wǎng)絡(luò)DB 2接收添加到列表的鏈路的標(biāo)識(shí)符?;谒邮盏臉?biāo)識(shí)符,拓?fù)涮幚韱卧?10使用命令"put"來將與添加到開放流網(wǎng)絡(luò)的鏈路有關(guān)的信息登記到條目"/links/[link_id]〃。
[0178]拓?fù)涮幚韱卧?10檢測從開放流網(wǎng)絡(luò)刪除鏈路,并收集與所刪除的鏈路有關(guān)的信息。
[0179]例如,拓?fù)涮幚韱卧?10使用命令"delete"來從網(wǎng)絡(luò)DB 2中刪除所刪除的鏈路的條目"/links/[link_id]"。此外,例如,拓?fù)涮幚韱卧?10使用命令"pop_at"來從條目列表"/links"中刪除所刪除的鏈路的標(biāo)識(shí)符。
[0180]圖20是示出了開放流控制單元IlA基于網(wǎng)絡(luò)DB 2中所包括的分組處理信息來控制開放流網(wǎng)絡(luò)的操作。分組處理單元112從開放流網(wǎng)絡(luò)接收分組處理方法未知的分組(圖20中的"packet_in ")。例如,分組處理單元112使用命令"get_matching_flow(<packet_info>)"來向流處理單元111詢問關(guān)于與所接收的分組相對應(yīng)的分組處理信息。
[0181]例如,流處理單元111在網(wǎng)絡(luò)DB 2中搜索具有與"get_matching_flow(<packet_info? "中包括的分組信息("packetjnfo")相匹配的匹配條件的條目("/flows/[flow_id]" ) ο
[0182]例如,如果流處理單元111找到與分組處理單元112接收的分組相匹配的分組處理信息,則流處理單元111生成要在網(wǎng)絡(luò)4中的節(jié)點(diǎn)3中設(shè)置的分組處理操作(處理規(guī)則),并經(jīng)由分組處理單元112向節(jié)點(diǎn)3通知該分組處理操作。除了向節(jié)點(diǎn)3通知該分組處理操作之外,分組處理單元112向網(wǎng)絡(luò)4返回從網(wǎng)絡(luò)4接收的分組(圖20中的"packet_out" ) ο
[0183]如果流處理單元111未找到與分組處理單元112接收的分組相匹配的分組處理信息,則流處理單元111使用命令"pusn_tail"來將由分組處理單元112接收的分組添加到條目"/packets/in"。在將分組添加到條目"/packets/in"之后,流處理單元111從網(wǎng)絡(luò)DB 2接收添加到條目的分組的標(biāo)識(shí)符(圖20中的"packet_id")?;谒邮盏臉?biāo)識(shí)符,流處理單元111使用命令"put"來將與分組處理單元112接收的分組有關(guān)的信息添加到條目"/packets/in/[packet_id]"。
[0184]〈第四示例性實(shí)施例〉
[0185]接下來,將描述本公開的第四示例性實(shí)施例。在第四示例性實(shí)施例中,將描述以下示例:控制裝置I通過使用可視化DB操作邏輯單元IlB來操作網(wǎng)絡(luò)DB 2。
[0186]為了支持運(yùn)營商利用控制裝置I來管理網(wǎng)絡(luò)4,可視化DB操作邏輯單元IlB具有以下功能:通過圖像顯示網(wǎng)絡(luò)DB 2中存儲(chǔ)的信息的至少一部分,使得可以在視覺上掌控該信息。
[0187]圖21示出了根據(jù)第四示例性實(shí)施例的配置。圖21中的可視化DB操作邏輯單元IlB從網(wǎng)絡(luò)DB 2獲取拓?fù)湫畔?,并在顯示設(shè)備上顯示節(jié)點(diǎn)和鏈路的連接關(guān)系。例如,如圖22中所示,可視化DB操作邏輯單元IlB通過圖像顯示網(wǎng)絡(luò)拓?fù)洹7峙浣o每個(gè)節(jié)點(diǎn)的數(shù)字表示節(jié)點(diǎn)的標(biāo)識(shí)符。此外,分配給每個(gè)鏈路的數(shù)字表示鏈路的標(biāo)識(shí)符。當(dāng)網(wǎng)絡(luò)DB 2基于該通知向可視化DB操作邏輯單元IlB通知拓?fù)湫畔⒌母淖儠r(shí),可視化DB操作邏輯單元IlB從網(wǎng)絡(luò)DB 2獲取節(jié)點(diǎn)和鏈路信息,并改變所顯示的節(jié)點(diǎn)和鏈路的連接關(guān)系。
[0188]以這種方式,通過將圖21中的可視化DB操作邏輯單元IlB連接到網(wǎng)絡(luò)DB 2,運(yùn)營商可以獲取管理目標(biāo)網(wǎng)絡(luò)的配置作為可視化信息。此外,可視化DB操作邏輯單元IlB可以通過圖像顯示網(wǎng)絡(luò)DB 2中的分組處理信息。例如,可視化DB操作邏輯單元IlB將條目"/flows/[flow_id]"中包括的路徑信息(路徑)附加到通過圖像顯示的拓?fù)渖?。圖23示出了通過圖像顯示的分組處理信息。在圖23中,通過圖像顯示具有標(biāo)識(shí)符"10"的條目"/flows/10"。通過圖像顯示與分組經(jīng)過的節(jié)點(diǎn)和鏈路有關(guān)的信息以及與轉(zhuǎn)發(fā)分組的方向有關(guān)的信息。
[0189]如圖24所示,可視化DB操作邏輯單元IlB通過圖像顯示條目"/packets/in/[packet_id]"和〃 /packets/out/[packet_id] 〃 。
[0190]〈第五示例性實(shí)施例〉
[0191]接下來,將描述本公開的第五示例性實(shí)施例。在第五示例性實(shí)施例中,控制裝置I通過使用切片邏輯單元Iic來操作網(wǎng)絡(luò)DB 2的示例。
[0192]圖25示出了根據(jù)第五示例性實(shí)施例的配置。圖25的切片邏輯單元IlC具有以下功能:復(fù)制網(wǎng)絡(luò)DB 2以執(zhí)行網(wǎng)絡(luò)切片(虛擬分割)。切片邏輯單元IlC將單個(gè)網(wǎng)絡(luò)DB 2的狀態(tài)或改變擴(kuò)展到多個(gè)網(wǎng)絡(luò)DB 2A和2B,并將多個(gè)網(wǎng)絡(luò)DB 2A和2B的狀態(tài)或改變反饋給原始網(wǎng)絡(luò)DB 2。在圖25中,控制裝置I包括兩個(gè)網(wǎng)絡(luò)DB接口單元10-1和10_2。然而,可以針對每個(gè)網(wǎng)絡(luò)DB布置網(wǎng)絡(luò)DB接口單元。備選地,單個(gè)網(wǎng)絡(luò)DB接口單元可以連接到多個(gè)網(wǎng)絡(luò) DB 2。
[0193]如上所述,通過將切片邏輯單元IlC連接到任意網(wǎng)絡(luò)DB 2,多個(gè)網(wǎng)絡(luò)運(yùn)營商(網(wǎng)絡(luò)用戶)中的每一個(gè)可以作為專用網(wǎng)絡(luò)來管理切片網(wǎng)絡(luò)。例如,上級(jí)網(wǎng)絡(luò)運(yùn)營商可以管理網(wǎng)絡(luò)DB 2,而上級(jí)網(wǎng)絡(luò)運(yùn)營商所許可的下級(jí)網(wǎng)絡(luò)運(yùn)營商可以管理網(wǎng)絡(luò)DB 2A和2B。
[0194]〈第六示例性實(shí)施例〉
[0195]接下來,將描述本公開的第六示例性實(shí)施例。在第六示例性實(shí)施例中,將描述以下示例:控制裝置I通過使用最短路徑邏輯單元IlD來操作網(wǎng)絡(luò)DB 2。最短路徑邏輯單元IlD具有以下功能:計(jì)算在網(wǎng)絡(luò)4中從分組轉(zhuǎn)發(fā)源到目的地的路徑之中的最短路徑。
[0196]圖26示出了根據(jù)第六示例性實(shí)施例的配置。基于從網(wǎng)絡(luò)DB 2獲取的拓?fù)湫畔⒑蛷闹鳈C(jī)信息存儲(chǔ)單元21讀取的主機(jī)信息,圖26中的最短路徑邏輯單元IlD計(jì)算任意主機(jī)之間的最短轉(zhuǎn)發(fā)路徑,并將該最短轉(zhuǎn)發(fā)路徑存儲(chǔ)到最短路徑存儲(chǔ)單元20中。
[0197]當(dāng)網(wǎng)絡(luò)DB 2基于更新的內(nèi)容來向最短路徑邏輯單元IlD通知對與拓?fù)溆嘘P(guān)的條目的更新時(shí),最短路徑邏輯單元IlD重新計(jì)算最短路徑并更新最短路徑存儲(chǔ)單元20。例如,最短路徑邏輯單元IlD使用命令“訂閱”,使得如果條目"/nodes"或"/links"被更新,網(wǎng)絡(luò)DB 2向最短路徑邏輯單元IlD通知所更新的信息。
[0198]如果由命令“訂閱”指定的條目被更新,則網(wǎng)絡(luò)DB 2使用命令"publish"來向最短路徑邏輯單元IlD通知與該條目有關(guān)的信息。當(dāng)從網(wǎng)絡(luò)DB 2接收到與拓?fù)湫畔⒌母掠嘘P(guān)的通知時(shí),最短路徑邏輯單元IlD重新計(jì)算與新拓?fù)湫畔⑾鄬?yīng)的最短路徑,并將該最短路徑存儲(chǔ)到最短路徑存儲(chǔ)單元20中。當(dāng)重新計(jì)算最短路徑時(shí),最短路徑邏輯單元IlD可以更新分組處理信息。例如,當(dāng)重新計(jì)算最短路徑時(shí),可以更新分組處理信息中包括的路徑信息(“路徑信息”)。例如,最短路徑邏輯單元IlD使用命令"put"來將已更新的分組處理信息存儲(chǔ)到網(wǎng)絡(luò)DB 2的條目"/flows/[flow_id] " φο
[0199]如上所述,通過將圖26中的具有最短路徑邏輯單元IlD的控制裝置I連接到網(wǎng)絡(luò)DB 2,計(jì)算最短路徑的功能和更新與該最短路徑相對應(yīng)的分組處理信息的功能被添加到控制裝置I中。
[0200]<第七示例性實(shí)施例>
[0201]接下來,