前言:
延續上一篇。
P2P:
如果這個檔案同時很多人有,那麼就能同時跟很多人下載同一個檔案的分段,就能快速下載。
MANET 與 P2P:
MANET和P2P因為都有自適應與自我組織的去中心化特性,因此P2P overlay MANET是個常見的組合。
很多Paper都會提到在MANET上面疊加P2P網路以提供檔案服務之類的。
所以其實有沒有發現,不論是MANET還是P2P,兩個的分享機制是相同的,差異只是分享的資訊是什麼,以及分享後的用途不同而已,在MANET中,分享的是路由表,處理的是跳點路由的路徑,而在P2P分享的是檔案資源清單,處理的是誰需要什麼檔案,檔案在哪裡。
所以通常MANET在底層,P2P在上層,兩者相同邏輯,層級不同,處理的Resource不同。
有沒有可能兩者合併?
嗯...這也是當時構想的方向,但兩者的資料屬性和用途差異太大,我後來覺得不太行,的確有Paper提過,但Paper的內容實際上還是2層,上面一樣是P2P,下面一樣是MANET。
UPnP:
UPnP相信很多人都聽過,但好像好一陣子沒聽到UPnP這東西了,UPnP也差不多是那個時代的技術之一。
UPnP的核心設計跟智慧家庭有關,因此它主要出現在MediaCenter和智能家電那個年代。
UPnP的作用是這樣的,它把裝置分為2種角色,控制器和被控制器,最典型的例子,印表機是被控制器,遙控器是控制器。
所有裝置都要用制式的XML內容,先描述自己是控制器還是被控制器,再描述自己具備什麼服務(功能)。
例如:
我是印表機,我是被控制器,我提供的服務有彩色文件列印、黑白文件列印,我的IP,我的Port。
我是DVD播放機,我是被控制器,我提供的服務有DVD影片播放、影片快轉、影片倒轉、彈出托盤,我的IP,我的Port。
我是遙控器,我是控制端,我提供的服務有我能控制DVD播放機、控制電視機。
UPnP還提供了Discovery之類的探索功能,裝置會廣播自己的上述XML描述,然後別人就能根據UPnP廣播知道網路上有哪些UPnP裝置提供哪些服務。
P2P 與 UPnP:
既然P2P提供分享檔案清單,UPnP提供裝置服務資訊,那是否能把P2P和UPnP結合? 用P2P的方式分享UPnP的服務資訊?
對的,這就是進階的P2P服務探索功能,以P2P方式分享各個UPnP裝置資訊,就能做到動態的知道網路上有哪些服務裝置。
MANET + P2P 與 UPnP:
正如上面提到的,MANET 與 P2P 同質性很高,都具有自適應性、自組織性、去中心化能力,而UPnP有服務探索能力,能夠提供出裝置資訊,那麼MANET + P2P + UPnP會如何?
對的,當時有Paper提出這樣的美好願景,手拿著PocketPC進入辦公室,不用連線WiFi,直接透過MANET + P2P + UPnP,PocketPC就能知道有印表機、有鍵盤、有滑鼠、有螢幕,以及這些裝置的功能和作用。
想像:
有沒有一種可能,我們將 MANET + P2P 搭配像是 UPnP 這樣的Service Discovery功能,提供無人載具具備的「能力」,那麼,就能做到自適應、自組織多台無人載具自行組合與協調?
當然,我相信實際使用應該更單純,直接把功能硬編碼,在開機前就先設置好全部的組成功能,甚至制式化的根據特定配置預先定義好,說不定更簡單還方便。