提供的信息,流處理單元111確定是否改變在開放流網(wǎng)絡(luò)中的節(jié)點3中已經(jīng)設(shè)置的分組處理操作。如果分組處理操作的改變是必需的,則流處理單元111生成新分組處理操作并將該新分組處理操作設(shè)置到節(jié)點3中。
[0160]如果例如開放流網(wǎng)絡(luò)中的鏈路或節(jié)點被刪除,則流處理單元111從網(wǎng)絡(luò)DB 2中刪除與已刪除的鏈路或節(jié)點相對應(yīng)的分組處理信息。例如,流處理單元111從網(wǎng)絡(luò)DB 2中刪除包括已刪除的鏈路或節(jié)點布置于其上的轉(zhuǎn)發(fā)路徑在內(nèi)的分組處理信息。
[0161]流處理單元111使用命令"pop_at"來刪除與需要從分組處理信息的列表中刪除的分組處理信息相對應(yīng)的標識符。流處理單元111使用命令"delete"來刪除與分組處理信息相對應(yīng)的條目("/flows/[flow_id]")。例如,流處理單元111生成替代已刪除的分組處理信息的新分組處理信息、使用命令"pusn_at"、并將所生成的分組處理信息存儲到網(wǎng)絡(luò)DB 2中。
[0162]通過使用命令"pop_at",可以共同地執(zhí)行以上系列操作。因此,可以省略對命令"delete"的執(zhí)行。
[0163]分組處理單元112使用DB操作命令來經(jīng)由DB接口單元10對網(wǎng)絡(luò)DB2進行操作。例如,分組處理單元112對網(wǎng)絡(luò)DB 2進行操作以將與分組有關(guān)的信息設(shè)置到網(wǎng)絡(luò)DB 2中。
[0164]圖16示出了分組處理單元112對網(wǎng)絡(luò)DB 2進行操作的操作示例。例如,當(dāng)從開放流網(wǎng)絡(luò)接收到處理方法未知的分組時,分組處理單元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)"來將分組的標識符登記到條目列表"/packets/in "的末尾。此外,分組處理單元112使用命令"put (/packets/in/ [packet_id],<packet_info>)"來將與作為命令的變量的"<packet_info> "相對應(yīng)的信息添加到條目"/packets/in/[packet_id] " ([packet_id]是添加到條目 /packets/in 的分組的標識符)。
[0166]通過使用命令"push_tail(/packets/in, <node_info>)"而不是以上命令"push_taiI (/packets/in)",可以共同地執(zhí)行以上系列操作。在這種情況下,可以省略對命令"put (/packets/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可以識別已經(jīng)在條目"/packets/out"中登記的分組的標識符。例如,如果流處理單元111將分組處理操作設(shè)置到開放流網(wǎng)絡(luò)中的節(jié)點中,則分組處理單元112向開放流網(wǎng)絡(luò)發(fā)送與所接收的標識符相對應(yīng)的分組。此外,分組處理單元112使用命令"pop_at (/packets/out,<packet_id>)"從條目"/packets/out"刪除接收的標識符,并使用命令"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ù)第三示例性實施例的操作的時序圖。
[0170]圖17示出了當(dāng)節(jié)點被添加到網(wǎng)絡(luò)4時所執(zhí)行的操作。拓撲處理單元110刪除向開放流網(wǎng)絡(luò)的節(jié)點的添加,并收集與所添加的節(jié)點有關(guān)的信息。
[0171]例如,拓撲處理單元110使用命令"push_tail (/nodes)"來將節(jié)點添加到網(wǎng)絡(luò)DB 2中的條目列表"/nodes"中。在將節(jié)點添加到列表之后,拓撲處理單元110從網(wǎng)絡(luò)DB2接收作為網(wǎng)絡(luò)DB 2中的節(jié)點的標識符的"node_id"。
[0172]例如,拓撲處理單元110使用命令"put"來將與節(jié)點有關(guān)的信息添加到網(wǎng)絡(luò)DB2中的條目中。例如,與所添加的節(jié)點有關(guān)的信息是與節(jié)點有關(guān)的信息和與節(jié)點的通信端口有關(guān)的?目息。
[0173]圖18示出了當(dāng)從網(wǎng)絡(luò)4刪除節(jié)點時所執(zhí)行的操作。拓撲處理單元110檢測從開放流網(wǎng)絡(luò)刪除節(jié)點,并收集與所刪除的節(jié)點有關(guān)的信息。
[0174]例如,拓撲處理單元110使用命令"pop_at"來從條目列表"/nodes"中刪除與所刪除的節(jié)點相對應(yīng)的標識符。此外,拓撲處理單元110使用命令"pop_at"來從條目列表"/links"中刪除與所刪除的節(jié)點有關(guān)的鏈路的標識符。
[0175]例如,拓撲處理單元110使用命令"delete"來刪除與從開放流網(wǎng)絡(luò)刪除的節(jié)點有關(guān)的信息和關(guān)于與所刪除的節(jié)點有關(guān)的鏈路的信息。
[0176]圖19示出了當(dāng)向網(wǎng)絡(luò)4添加鏈路時執(zhí)行的操作和當(dāng)從網(wǎng)絡(luò)4刪除鏈路時執(zhí)行的操作。拓撲處理單元110刪除向開放流網(wǎng)絡(luò)添加鏈路,并收集與所添加的鏈路有關(guān)的信息。
[0177]例如,拓撲處理單元110使用命令"pUsh_tail"來將鏈路添加到條目"/links"。在將鏈路添加到條目列表"/links"之后,拓撲處理單元110從網(wǎng)絡(luò)DB 2接收添加到列表的鏈路的標識符?;谒邮盏臉俗R符,拓撲處理單元110使用命令"put"來將與添加到開放流網(wǎng)絡(luò)的鏈路有關(guān)的信息登記到條目"/links/[link_id]〃。
[0178]拓撲處理單元110檢測從開放流網(wǎng)絡(luò)刪除鏈路,并收集與所刪除的鏈路有關(guān)的信息。
[0179]例如,拓撲處理單元110使用命令"delete"來從網(wǎng)絡(luò)DB 2中刪除所刪除的鏈路的條目"/links/[link_id]"。此外,例如,拓撲處理單元110使用命令"pop_at"來從條目列表"/links"中刪除所刪除的鏈路的標識符。
[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_f low (<packet_info? "中包括的分組信息("packetjnfo")相匹配的匹配條件的條目("/flows/[flow_id]" ) ο
[0182]例如,如果流處理單元111找到與分組處理單元112接收的分組相匹配的分組處理信息,則流處理單元111生成要在網(wǎng)絡(luò)4中的節(jié)點3中設(shè)置的分組處理操作(處理規(guī)則),并經(jīng)由分組處理單元112向節(jié)點3通知該分組處理操作。除了向節(jié)點3通知該分組處理操作之外,分組處理單元112向網(wǎng)絡(luò)4返回從網(wǎng)絡(luò)4接收的分組(圖20中的"packet_out")。
[0183]如果流處理單元111未找到與分組處理單元112接收的分組相匹配的分組處理信息,則流處理單元111使用命令"push_tail"來將由分組處理單元112接收的分組添加到條目"/packets/in"。在將分組添加到條目"/packets/in"之后,流處理單元111從網(wǎng)絡(luò)DB 2接收添加到條目的分組的標識符(圖20中的"packet_id")?;谒邮盏臉俗R符,流處理單元111使用命令"put"來將與分組處理單元112接收的分組有關(guān)的信息添加到條目"/packets/in/[packet_id]"。
[0184]〈第四示例性實施例〉
[0185]接下來,將描述本公開的第四示例性實施例。在第四示例性實施例中,將描述以下示例:控制裝置I通過使用可視化DB操作邏輯單元IlB來操作網(wǎng)絡(luò)DB 2。
[0186]為了支持運營商利用控制裝置I來管理網(wǎng)絡(luò)4,可視化DB操作邏輯單元IlB具有以下功能:通過圖像顯示網(wǎng)絡(luò)DB 2中存儲的信息的至少一部分,使得可以在視覺上掌控該信息。
[0187]圖21示出了根據(jù)第四示例性實施例的配置。圖21中的可視化DB操作邏輯單元IlB從網(wǎng)絡(luò)DB 2獲取拓撲信息,并在顯示設(shè)備上顯示節(jié)點和鏈路的連接關(guān)系。例如,如圖22中所示,可視化DB操作邏輯單元IlB通過圖像顯示網(wǎng)絡(luò)拓撲。分配給每個節(jié)點的數(shù)字表示節(jié)點的標識符。此外,分配給每個鏈路的數(shù)字表示鏈路的標識符。當(dāng)網(wǎng)絡(luò)DB 2基于該通知向可視化DB操作邏輯單元IlB通知拓撲信息的改變時,可視化DB操作邏輯單元IlB從網(wǎng)絡(luò)DB 2獲取節(jié)點和鏈路信息,并改變所顯示的節(jié)點和鏈路的連接關(guān)系。
[0188]以這種方式,通過將圖21中的可視化DB操作邏輯單元IlB連接到網(wǎng)絡(luò)DB 2,運營商可以獲取管理目標網(wǎng)絡(luò)的配置作為可視化信息。此外,可視化DB操作邏輯單元IlB可以通過圖像顯示網(wǎng)絡(luò)DB 2中的分組處理信息。例如,可視化DB操作邏輯單元IlB將條目"/flows/[flow_id]"中包括的路徑信息(路徑)附加到通過圖像顯示的拓撲上。圖23示出了通過圖像顯示的分組處理信息。在圖23中,通過圖像顯示具有標識符"10"的條目"/flows/10"。通過圖像顯示與分組經(jīng)過的節(jié)點和鏈路有關(guān)的信息以及與轉(zhuǎn)發(fā)分組的方向有關(guān)的信息。
[0189]如圖24所示,可視化DB操作邏輯單元IlB通過圖像顯示條目"/packets/in/[packet_id]"和〃 /packets/out/[packet_id] 〃 。
[0190]〈第五示例性實施例〉
[0191]接下來,將描述本公開的第五示例性實施例。在第五示例性實施例中,控制裝置I通過使用切片邏輯單元Iic來操作網(wǎng)絡(luò)DB 2的示例。
[0192]圖25示出了根據(jù)第五示例性實施例的配置。圖25的切片邏輯單元IlC具有以下功能:復(fù)制網(wǎng)絡(luò)DB 2以執(zhí)行網(wǎng)絡(luò)切片(虛擬分割)。切片邏輯單元IlC將單個網(wǎng)絡(luò)DB 2的狀態(tài)或改變擴展到多個網(wǎng)絡(luò)DB 2A和2B,并將多個網(wǎng)絡(luò)DB 2A和2B的狀態(tài)或改變反饋給原始網(wǎng)絡(luò)DB 2。在圖25中,控制裝置I包括兩個網(wǎng)絡(luò)DB接口單元10-1和10_2。然而,可以針對每個網(wǎng)絡(luò)DB布置網(wǎng)絡(luò)DB接口單元。備選地,單個網(wǎng)絡(luò)DB接口單元可以連接到多個網(wǎng)絡(luò) DB 2。
[0193]如上所述,通過將切片邏輯單元IlC連接到任意網(wǎng)絡(luò)DB 2,多個網(wǎng)絡(luò)運營商(網(wǎng)絡(luò)用戶)中的每一個可以作為專用網(wǎng)絡(luò)來管理切片網(wǎng)絡(luò)。例如,上級網(wǎng)絡(luò)運營商可以管理網(wǎng)絡(luò)DB 2,而上級網(wǎng)絡(luò)運營商所許可的下級網(wǎng)絡(luò)運營商可以管理網(wǎng)絡(luò)DB 2A和2B。
[0194]〈第六示例性實施例〉
[0195]接下來,將描述本公開的第六示例性實施例。在第六示例性實施例中,將描述以下示例:控制裝置I通過使用最短路徑邏輯單元IlD來操作網(wǎng)絡(luò)DB 2。最短路徑邏輯單元IlD具有以下功能:計算在網(wǎng)絡(luò)4中從分組轉(zhuǎn)發(fā)源到目的地的路徑之中的最短路徑。
[0196]圖26示出了根據(jù)第六示例性實施例的配置?;趶木W(wǎng)絡(luò)DB 2獲取的拓撲信息和從主機信息存儲單元21讀取的主機信息,圖26中的最短路徑邏輯單元IlD計算任意主機之間的最短轉(zhuǎn)發(fā)路徑,并將該最短轉(zhuǎn)發(fā)路徑存儲到最短路徑存儲單元20中。
[0197]當(dāng)網(wǎng)絡(luò)DB 2基于更新的內(nèi)容來向最短路徑邏輯單元IlD通知對與拓撲有關(guān)的條目的更新時,最短路徑邏輯單元IlD重新計算最短路徑并更新最短路徑存儲單元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接收到與拓撲信息的更新有關(guān)的通知時,最短路徑邏輯單元IlD重新計算與新拓撲信息相對應(yīng)的最短路徑,并將該最短路徑存儲到最短路徑存儲單元20中。當(dāng)重新計算最短路徑時,最短路徑邏輯單元IlD可以更新分組處理信息。例如,當(dāng)重新計算最短路徑時,可以更新分組處理信息中包括的路徑信息(“路徑信息”)。例如,最短路徑邏輯單元IlD使用命令"put"來將已更新的分組處理信息存儲到網(wǎng)絡(luò)DB 2的條目"/flow