Servient 概念非常簡單:IoT Device 能同時扮演 Client 與 Server 的角色。這個 Client + Server = Servient 的觀念,是 Decentralized 與 P2P 非常重要的底層技術。
認識 Servient
從 IoT Architecture 的觀念來說,並不是去辨別(identify)每一個物聯網裝置要扮演 Client 或 Server 哪一個角色,而是來開發一個能讓裝置扮演 Client + Server 角色的軟體。
為什麼需要 Servient 這樣的架構呢?這個問題,可以很容易用圖 1 來解答。
圖 1:IoT Servient
當 Device A 想要以 WebSocket 來傳送資料到 Device B 時:
Device A 要扮演 WebSocket Client 的角色;
Device B 則是必須成為 WebSocket Server
當 Device B 想要以 CoAP 來傳送資料到 Device C 時:
Device B 要轉變為 CoAP Client 的角色,同時;
Device C 則要扮演 CoAP Server 的角色
以上述的 Use Case 來說:
Device A 是 WebSocket Client
Device B 是 WebSocket Server + CoAP Client
Device C 是 CoAP Server
Servient 並不是一個很普遍的架構觀念,過去在一些技術文件上也能偶然看到 Servient 的觀念;但是,Servient 在 IoT 領域被正式提及,則是在 ISWC 2016 國際研討會上。在 ISWC 2016 上,Soumya Kanti Datta 在 Semantic Web meets Internet of Things and Web of Things 的 Tutorial 上,正式提到 WoT Servient 的觀念。
近期,在 Web of Things (WoT) Architecture: Unofficial Draft 文件中,已經將 WoT Servient 編入 Terminology。隨著 WoT 在今年(2017)已經正式由 IG(Interest Group)轉為 WG(Working Group),未來 WoT 也會正式列入這個架構。
Servient 概念非常簡單:IoT Device 能同時扮演 Client 與 Server 的角色。這個
Client + Server = Servient
的觀念,是 Decentralized 與 P2P 非常重要的底層技術。認識 Servient
從 IoT Architecture 的觀念來說,並不是去辨別(identify)每一個物聯網裝置要扮演 Client 或 Server 哪一個角色,而是來開發一個能讓裝置扮演
Client + Server
角色的軟體。為什麼需要 Servient 這樣的架構呢?這個問題,可以很容易用圖 1 來解答。
當 Device A 想要以 WebSocket 來傳送資料到 Device B 時:
當 Device B 想要以 CoAP 來傳送資料到 Device C 時:
以上述的 Use Case 來說:
Servient 並不是一個很普遍的架構觀念,過去在一些技術文件上也能偶然看到 Servient 的觀念;但是,Servient 在 IoT 領域被正式提及,則是在 ISWC 2016 國際研討會上。在 ISWC 2016 上,Soumya Kanti Datta 在 Semantic Web meets Internet of Things and Web of Things 的 Tutorial 上,正式提到 WoT Servient 的觀念。
近期,在 Web of Things (WoT) Architecture: Unofficial Draft 文件中,已經將 WoT Servient 編入 Terminology。隨著 WoT 在今年(2017)已經正式由 IG(Interest Group)轉為 WG(Working Group),未來 WoT 也會正式列入這個架構。
小結
當 IoT Device 能以 Servient 的形式運作,IoT Device 間的「互聯網」:互相聯結的 IoT 網路,就可以是 Client-Server 架構、Peer-to-Peer 架構或是 Distributed 架構。
關於 MCS Lite
關於 IoT Servient 的技術,在 Devify 專案裡有完整的實作。Devify 是我過去在研究物聯網區塊鏈時做開發的底層 WoT 系統。
由聯發科所開發的 LinkIt 7697 物聯網平台,提供一個稱為 MCS Lite 的私有雲方案;MCS Lite 裡就使用到我所開發的 Devify 框架。也就是說,LinkIt 7697 + MCS Lite 還有更多 IoT 的完法喔。