件來源:https://docs.google.com/file/d/0B5NxrqfvFpfqYy1LNnFKalNDZG8/edit

IoT Reference Model


IoT-i彙整許多專案的概念後,提出 IoT 以下四個方向的參考模型:
  • Domain Model:在Domain Model中主要在表達 IoT 領域中一些基本的「概念」以及相互之間的「關係」,「概念」包含了如 "user"、"device" 或 "physical entity",「關係」則包含例如 "is a "、"monitors" 或 "interact with"。所以若要更深入了解什麼是IoT,一定要先了解Domain Model。
  • Information Model:Information Model是用一種高層次的表達方式來說明在IoT環境中,資訊(Information)是如何地被交換(Exchange)、儲存(Store)與處理(Process)。另外由於 IoT的願景是要緊密整合真實與虛擬的世界,所以 Information Model 也說明了如何建構出真實世界物體以及其互動的模型。
  • Communication Model:Communication Model則在說明未來在IoT環境中是如何通訊的,同時此模型在針對高異質裝置、網路存取以及無線感知與反應網路等方面則有較多的琢磨,
  • Security Model:Security Model中則提出關於安全(Security)、隱私(Privacy)及信任(Trust)的注意事項,並說明在IoT架構設計時應該要注意的地方。


Domain Model


參考資料:

圖1 是以UML 類別圖來表示,類別表示概念,而箭頭則表示相互間的關係。
IoT Domain Model.jpg
圖1. IoT Domain Model

IoT領域中各項名詞概念說明如下:
  • 真實實體(Physical Entity):存在於真實世界中的實體,可能是裝置、空間、物體...等。在虛擬的數位世界中會有多個虛擬實體(Virtual Entity)會對應到一個真實的實體,好比說在真實世界中一個人能夠擁有多個帳號一樣。
  • 虛擬實體(Virtual Entity):為了能夠讓真實世界轉換至虛擬世界中,一定要將真實的實體虛擬化進入數位的世界之中,而虛擬實體便是真實實體虛擬化(數位外)的結果,例如:3D模型。虛擬實體是一種數位品,可能是被動類型也可能是主動類型。
  • 完全實體(Augmented Entity):完全實體是指真實世界裡的實體已經對應到虛擬世界中的實體。
  • 裝置(Device):裝置主要是指硬體,是扮演真實與虛擬世界溝通與互動的橋梁,有下列三種類型:
    • 感知器(Sensor):負責感測並傳遞真實世界中的資訊,同時也能監視多個真實實體的情況。
    • 標籤(Tag):一般都貼在真實實體上用來進行識別,可以用標籤來建立真實與虛擬世界實體之間的關聯,因此標籤上的資訊要能夠被感知器所讀取。
    • 反應器(Actuator):反應器是指能夠在真實實體中執行(運轉)的裝置。
  • 資源(Resource):資源主要是指軟體。
    • 網路資源(Network Resource):指於運作於網路上的軟體,一般具有資料處理與存取的能力。
    • 執行在裝置上的資源(On-Device Resource):指安裝並執行在裝置上的軟體。
  • 服務(Service):軟體元件若具有符合規範與標準的介面且對外公開時,則該軟體元件便稱為「服務」。為了讓使用者(User)可以與真實實體(Physical Entity)互動,使用者可以啟動一個服務(Service),然後服務會代替使用者透過安裝在裝置上的軟體來控制裝置。服務可以分為以下幾種類型:
    • 「資源類型的服務」(Resource Service):該類型服務主要負責資源的管制。
    • 「虛擬實體類型的服務」(Virtual Entity Service):該類型服務主要用來建立、移除虛擬實體,或是與虛擬實體互動。
    • 「整合類型的服務」(Integrated Service):該類型的服務整合了多種資源與實體類型的服務。

IoT領域中各項名詞概念之間的關聯說明如下:
  • 使用者(User)
    • 使用者有兩種:
      • 人類使用者(Human User);
      • 主動式數位品(Active Digital Artefact)
    • 使用者會和真實的實體互動
    • 使用者會啟動或訂閱一個以上的服務
  • 數位品(Digital Artefact)有三種類型:分別是
    • 主動式數位品(Active Digital Artefact)
    • 被動式數位品(Passive Digital Artefact)
    • 虛擬實體(Virtual Entity)
  • 主動式數位品(Active Digital Artefact)
    • 主動式數位品同時具有使用者與數位品兩種雙重身份。
  • 服務(Service)算是主動式數位品的一種
    • 使用者會啟動(Invoke)或訂閱(Subscribe)一個以上的服務
    • 服務算是一種主動式的數位品
    • 服務本身可以呼叫或包含其他服務
    • 服務可以關聯到零個至多個虛擬實體
    • 服務可以提供零個以上的資源(Resource)
  • 虛擬實體(Virtual Entity)
    • 屬於數位品的一種
    • 一個虛擬實體僅會對應到一個真實實體(Physical Entity)
    • 一個虛擬實體僅能專屬於一個完全實體(Augmented Entity)
    • 虛擬實體中可以包含其他虛擬實體
    • 虛擬實體可以和零項以上的服務建立關聯
    • 虛擬實體可以和零個以上的資源建立關聯
  • 資源(Resource)
    • 有兩種資源
      • 網路資源(Network Resource)
      • 裝置上的資源(On-Device Resource)
    • 資源至少要由一個以上的服務所產生
    • 資源可以關聯到零個以上的虛擬實體
    • 資源擁有一個以上和真實實體有關的資訊
    • 資源會觸動一個以上真實實體去進行動作
  • 真實實體(Physical Entity)
    • 真實實體在虛擬世界中至少要有一個或一個以上相對應的虛擬實體
    • 真實實體可以用一個以上的完全實體(Augmented Entity)來表示
    • 真實實體上可以附掛零個以上的裝置(Device)
    • 裝置也屬於真實實體的一種
    • 真實實體可以受到零個以上的感知器(Sensor)監控(monitor)
    • 真實實體可以貼上零個以上的標籤(Tag)來辨識
    • 真實實體可以被零個以上的反應器(Actuator)所影響
    • 真實實體可以包含零個至多個真實實體
  • 裝置(Device)
    • 裝置可以附掛在零個以上的真實實體上
    • 裝置本身也是一種真實實體
    • 裝置有三種類型
      • 反應器(Actuator)
      • 標籤(Tag)
      • 感知器(Sensor)
    • 裝置可以讓零個以上的資源執行在裝置之上(On-Device Resource)
    • 裝置中可以包含其他的裝置
  • 完全實體(Augmented Entity)
    • 完全實體中一定要有一個虛擬實體
    • 完全實體中一定要有一個真實實體
    • 完全實體可以包含其他的完全實體



Information Model

參考資料:


在資訊模型中定義了在IoT的情境下,所傳遞、儲存與被處理的資訊應該包含哪些內容。

當真實的世界均可以用虛擬實體來呈現的時候,虛擬實體便在資訊方面扮演相當重要的角色,因此虛擬實體必須要有一個唯一的識別碼(unique identifier)以及實體類型(entityType)。
  • 唯一識別碼( unique identifier ):用來讓真實實體可以對應到虛擬實體。
  • 實體類型(entityType):是用來描述真實實體的類型,例如:「Person」、「Car」、「Satellite」。

虛擬實體的屬性中:
  • unique identifier和entityType這兩個屬性是絕對不能更動的,
  • 虛擬使體可以視需要擴充其屬性(Attribute),而每個屬性都要會有一個屬性的名稱(attributeName)與屬性的類型(attributeType),例如:某個屬性的名稱為「indoor_temperature」,屬性的類型則是「temperature」。
  • 因為屬性值(Value)會隨著時間而改動且可能來自於不同的來源,所以屬性值要用屬性值容器(ValueContainer)來儲存,在屬性值容器中可存放一個屬性值(Value)以及一組屬性值的描述資料(MetaData)。
  • 每個描述資料(MetaData)中都記錄了一項此屬性值的資訊,例如:時間戳記(timestamp)、屬性值的精確度(accuracy of the measurement),而每個MetaData都有一個名稱(metadataName)、類型(metadataType)以及數值(metadataValue)。
  • 另外,在資訊模型中也將服務(Service)、資源(Resource)及裝置(Device)的資訊放入,在資訊模型中是以服務說明(ServiceDescription)、資源說明(ResourceDescription)以及裝置說明(DeviceDescription)來對應到服務、資源與裝置。
  • 在Domain Model中有描述,透過服務可以存取多個資源,所以服務說明下可以有零個以上的資源描述;而資源則是來自於某個裝置,所以資源說明下有零個或一個裝置說明。
  • 透過實體類型的服務(Entity Service)則可以存取到真實實體上所感測到的值,而所感測值即為虛擬實體的一個屬性值,所以運用關聯(Association),將虛擬實體的屬性與服務的服務說明關聯起來。
圖1. Information Model
圖1. Information Model


圖2. Domain Model與 Information Model的對映關係圖
圖2. Domain Model與 Information Model的對映關係圖






Functional Model

(在IoT-i專案的文件中並沒有定義IoT平台的Functional Model,是在IoT-A專案中有定義平台的Functional Model。這邊將Functional Model加入)

Defined by IoT-A


資料來源:Architectural Reference Model

功能模型(Functional Model)只有在IoT-A專案中有制訂,IoT-A專案所提出的功能模型是由建構架構參考模型的各個功能小組(Functionality Group, FG),在發展架構參考模型時所整理出來的結果。

而拆解功能項目的主要目的,一方面是為了方便將複雜的IoT平台拆解成參考模型,另一方面也有助於逐一說明與瞭解每個區塊的細節。

因此功能切分後的區塊便有助於建立IoT系統,而切分的結果則透過下列兩個不同層次來說明:
  • 功能模型(Functional Model)
  • 功能項目(Functional View)

圖1. IoT Functional Model
圖1. IoT Functional Model

在functional model中包含了7個縱向的功能群組以及2個橫向的功能群組,每個功能群組的功能及其負責的範圍說明如下:
  • IoT商業流程管理(IoT Business Process Management):
    • IoT商業流程管理功能群組其主要會整合自目前傳統的商業流程管理系統,因為在流程整合的角度上,它們有許多共通性,所以IoT商業流程管理功能群組只是在傳統的流程管理系統上>> 增加一些功能與介面,讓傳統的流程管理系統立即可以被運用在IoT的情境之中。

    • 在IoT-A的專案中,IoT商業流程管理模組採用並擴充產業標準的流程模型符號─BPMN2.0,希望藉此可以清楚地描繪出能夠支援IoT的商業流程。透過此機制,IoT的應用程式則可以藉由IoT商業流程管理功能群組,依據定義好的流程模型與IoT功能模型中更底層的功能群組進行互動,以降低IoT系統整合的成本並增加調整的彈性。

    • 同時,IoT商業流程管理功能群組在概念上和服務組織功能群組(Service Organisation Functional Group)具有緊密互動的關係,並且在應用程式有需要整合IoT系統時扮演與應用程式互動的窗口,而應用程式則可以利用流程管理功能群組所定義的介面與工具來發展較高層次的商業流程來進行整合,而不用在應用程式中撰寫死的商業流程並與IoT服務進行整合。同時,IoT商業流程管理功能群組也會提供能夠和「IoT服務組織功能群組」以及「虛擬實體功能群組」互動的介面來和IoT服務與虛擬實體互動。而在執行商業流程的過程中,流程中的工作會很自然地需要發現、結合與呼叫服務,所以商業流程管理功能群組必須靠服務組織功能群組才能依據流程的定義與服務互動。
  • 服務組織(Service Organisation)
    • 服務組織功能群組扮演是其他功能群服務集散的角色,它負責組合與編排各種類型與層級的服務,並能夠有效地接收來自更上層功能群組的要求(例如:商業流程管理或應用程式),舉例來說,當有一個較抽象層次的服務需求如:「請提供123號房間的溫度」時,此需求透過服務組織功能模組解析後透過多個底層服務一起完成(例如:需要透過感知服務X,Y,Z),為此服務組織功能模組發展出虛擬實體查詢、IoT服務查詢功能、服務解析及服務整合...等元件。而整合服務是IoT-A所提出的架構中很重要的概念,因為在IoT的情境中服務的內容可能會被切分的很細小,可能是因為計算電源的關係,所以不能進行長時間的運算,也因此服務可能會被非常頻繁地串流銜接。另外,整合服務也有助於透過整合不同類型的基層服務以回答更高層次的服務,例如,可以整合煙霧偵測服務與溫度感知服務來形成火災偵測服務。
  • 虛擬實體(Virtual Entity) 與IoT服務(IoT Service)
    • 虛擬實體與IoT服務功能群組提供了一些能夠與虛擬實體與IoT服務互動的功能,能夠負責尋找虛擬實體與IoT服務並與其互動。在IoT的架構下,和感知器與反應器有關的資源(Resource)往往會被包裝形成一個IoT服務項目(IoT Service),舉例來說,IoT的應用程式或是IoT系統的層級來說,可能會提出如「給我編號456號感知器所感測到的數據」或是「設定編號867號反應器的狀態為 "開啟"」這類型較高層次的互動要求。而應用程式勢必需先了解數據所代表的意思,才能夠在程式中將正確的邏輯與判斷撰寫進去,例如:「感知器456傳回來的數據是20」,這資料20到底是什麼?此時應用程式必須先知道這20指的是溫度才能在程式中與房間結合在一起變成是指室內的溫度,這是因為資料本身沒有嵌入任何關於資料的語意資訊,IoT系統中也沒有這樣的語意資訊,資料所代表的涵義得事先寫在感知器與應用程式之中。

    • 然而在IoT的情境中,除了那些已經將資料定義寫入的應用程式之外,還有一些應用程式是需要隨著環境來選擇適當的服務,換言之,就是關於資料的定義不能寫死在程式之中,例如:「給我房間號碼123的室內溫度」或是「設定房間內的亮度從2.57到15」等這類型含有具體語意的互動要求。為了能夠理解這種具有語意的互動要求,所以在虛擬實體中先定義如「房間」的虛擬實體以及「取得室內溫度」或「設定室內亮度」的服務,如此應用程式便可與「房間」的虛擬實體互動,並呼叫兩個已經定義好的服務來完成剛剛的要求,例如:要事先設定編號1.23的「房間」的室內溫度屬性值,要靠編號456的溫度感知器所提供。

    • 虛擬實體:虛擬實體功能群組包含能夠讓IoT系統可以與虛擬實體互動之功能,包含發現(Discovery)、尋找(Look up)的服務,另外還包含了管理「關聯」(Association)的功能,例如當虛擬實體在移動時,這類型的功能便會隨時尋找、監控與管理與虛擬實體有關的其他虛擬實體或IoT服務及其有效性。

    • IoT服務:IoT服務功能群組則提供關於發現、尋找與名稱解析的功能,以協助IoT系統尋找到適當的IoT服務並與其互動。

  • 通訊(Communication)
    • 通訊功能群組主要是負責IoT系統對外的通訊功能,包含了控制與資料層面的功能,此功能群組加強了定址與傳播路經選擇的能力,好使得資料能夠跨網路進行通訊,甚至能夠進行跳接方式的通訊。另外通訊功能群組也強調節能的部份,試圖減少電源的消耗。最後通訊群組強化不同網路間橋接的能力,好讓裝置能夠被當成網路的進入點以執行網路封包的傳遞、過濾、追蹤與整合,甚至有資料錯誤的偵測(Error Detect)與資料修正(Correct)的功能。

  • 管理(Management)
    • 管理功能群組主要負責其他功能群組的整合與動作追蹤,例如,當要求整個IoT系統均因為節省能源而進入休眠狀態時,管理的功能群組便會逐一要求不同的功能群組進入休眠狀態。
  • 安全(Security)
    • 安全功能群組則負責整個IoT系統的安全與隱私的部份,從用戶的註冊到網路的安全管理都在此功能群組的範圍之內,它必須保障是合格的用戶才能夠存取在IoT環境中的服務。除此之外,此功能群組也負責保護個人的設定參數並關閉可能的鏈結,這些機制則有賴於適當的身份管理。

安全功能群組另外也確保在IoT系統中每個層級間的互動是合乎規定且經過授權的,並且也確保安全功能群組能夠保障通訊間的安全。
  • 裝置(Device)


圖2. IoT Functional View
圖2. IoT Functional View

Defined by IERC


The Internet of Things concept refers to uniquely identifiable things with their virtual representations in an Internet-like structure and IoT solutions comprising a number of components such as:

  • Module for interaction with local IoT devices
    • This module is responsible for acquisition of observations and their forwarding to remote servers for analysis and permanent storage.

  • Module for local analysis and processing of observations acquired by IoT devices.

  • Module for interaction with remote IoT devices
    • Directly over the Internet or more likely via a proxy. This module is responsible for acquisition of observations and their forwarding to remote servers for analysis and permanent storage.

  • Module for application specific data analysis and processing.
    • This module is running on an application server serving all clients. It is taking requests from mobile and web clients and relevant IoT observations as input, executes appropriate data processing algorithms and generates output in terms of knowledge that is later presented to users.

  • Module for integration of IoT-generated information into the business processes of an enterprise.
    • This module will be gaining importance with the increased use of IoT data by enterprises as one of the important factors in day-to-day business or business strategy definition

  • User interface (web or mobile)
    • visual representation of measurements in a given context (for example on a map) and interaction with the user, i.e. definition of user queries.





Communication Model (Stack)

通訊模型(Communication Model)主要是在描繪感知器(Actor)在連線與訊息傳遞時所使用的通訊堆疊(Communication Stack),如圖三所示。而這樣的通訊堆疊則是調整自ISO/OSI 所提出的通訊堆疊[Larmouth, 1994],但更關注在IoT的系統需求與特性上。


圖3. Communication Model
圖3. Communication Model
在這通訊堆疊中,最重要的是ID層(ID Layer)的部分,在這一層中會將ID從網路位址中分離出來,因為在具有移動特性的情境中,裝置可能會在不同種類的網路中游走,一會兒透過WiFi連網,另一會兒可能又改變透過3G連網,所以裝置的ID要能夠自網路位址分離出來。

通訊模型

(Communication Model)

Physical Layer:這裡的Physical Layer與OSI所定義的模型的一樣,並不特別強調或傾向某些技術。

Link Layer:這一層主要是在強調網路資料整合的部份,目前大部分的網路技術都有其各自相似但不同的資料格式,以及安全防護機制,為了讓IoT系統能夠全面地橫跨各種不同的網路,勢必要進行必要的資料轉換動作,而Link Layer這一層便是在進行資料的轉換,同時也提供了統一的功能與介面給更上層的元件來呼叫使用(例如:初始、傳送封包、接收封包、...等)。

Network Layer:和OSI模型所提出的網路層(Network Layer)一致,網路層為資料傳送之目的地定址,再選擇出傳送資料的最佳路線,設備有:路由器。只不過為了能夠支援更高的管理、互動以及擴充性,這一層需要對每種可能的網路提供一組共通的通訊範本。

ID-Layer:這一層是IoT通訊架構專有的層級,這裡所指的ID是指虛擬實體的識別碼(VE-ID),這識別碼包含在傳送的位址之中並從位址分離出來,而位址則是指通訊涵蓋範圍的中心點。在ID Layer這層中允許使用一個共通的解析平台來分析IoT中實體的ID。另外關於安全、認證與高階的服務也會在此層出現,並用來對位於不同網路中的各種裝置進行統一的定址。

End-to-end Layer:此層主要關注的是資料傳輸的功能、proxies / gateways 的支援及跨網路時參數的調整,因為其建構在ID 與網路層之上,所以End-to-end Layer便夠提供完整全球M2M的通訊模型。

Data Layer:Data Layer是位在通訊堆疊的頂端,其負責資料的處理,有關IoT中資料應該包含哪些東西,則在IoT Information Model中描述。


頻道模型

(Channel Model for IoT Communication)

圖2是在描述裝置之間在進行點對點資料傳輸時封包傳遞的過程,資訊從資訊來源(Information Source),經由傳送器(Transmitter)送到頻道(Channel)之中,在頻道中會受到干擾源(Noise Source)的影響,之後經由接收器(Receiver)接收資訊後到達目的地(Destination)。

圖2. 一般通訊系統之資料傳遞過程之概念圖
圖2. 一般通訊系統之資料傳遞過程之概念圖


依據圖2的概念圖將其轉換到現在所使用的網路上時,則是如圖3所示,網際網路(Internet)是資料傳送的頻道,而在在網際網路兩邊則由閘道(Gateway)來扮演資料的傳送器與接收器,而資料的來源與目的地則是兩個網路環境(Network)。


圖3. 現在網路的Channel模型
圖3. 現在網路的Channel模型

而IoT定義了一個頻道模型(Channel Model),透過不同的頻道來區分受限制的網路(Constrained Network)還是不受限制的網路(Unconstrained Network)。
  • 不受限制的網路(Unconstrained Network)指的是能夠與現今網際網路相容的網路,一般是指高速(傳輸速率在Mbit/sec以上)且可信賴的網路,例如今日走有線的網際網路,延遲的時間較短且主要的影響是網路塞車。
  • 受限制網路(Constrained Network)則是指不可信賴且傳輸速率較慢的網路(一般是指小於1Mbit/sec,例如 IEEE802.15.4)。這類型的網路延遲的時間比較長,主要是受限實體傳輸頻率較低的關係。
而在IoT情境下,訊息的傳遞可能會橫跨多種受限制或不受限制的網路,如何才能夠順利地連接網路並傳遞資料,在這當中隱藏了許多可以探討的議題。

圖4是代表單一受限制的網路,在最小規模的IoT情境之中,頻道本身包含了一個受限制的網路,稱之為 WSN island (無線感知網路島)。可以想像是一個以點對點形成的網路,舉例來說:「一組可透過ZigBee通訊的感知器(裝置),感知器彼此間可形成一個點對點的網路,相互傳遞封包以做到資訊的接收、傳遞、散播...等動作,這樣一組裝置所形成的網路便是無線感知網路島」。
圖4. IoT中Constrained Network的Channel
圖4. IoT中Constrained Network的Channel


將IoT的情境變得複雜一點,則頻道可能會銜接數個受限制的網路(可能是運用不同的網路技術),此時便如圖5所示透過閘道來串連起這些網路。更複雜的情況便是混合了受限制與不受限制的網路,如圖6所示。舉例來說:「就是不同房間的兩組無線感知網路島透過某個閘道(頻道)進行訊息的傳遞,或是將訊息傳送到網際網路上」
圖5. IoT中有橫跨兩個限制網路的Channel模型
圖5. IoT中有橫跨兩個限制網路的Channel模型

圖6. IoT情境中橫跨限制與無限制網路的Channel模型
圖6. IoT情境中橫跨限制與無限制網路的Channel模型


當然在IoT的情境之中,受限制的網路可以透過網際網路將訊息傳遞到另一個受限制的網路中,訊息傳遞的過程則於圖7所示。
圖7. 透過經由Interner橫跨兩個有限制網路的Channel模型
圖7. 透過經由Interner橫跨兩個有限制網路的Channel模型



為了達到上述各種IoT的情境,以下兩點是必須具備的條件:
  • 裝置本身要能夠用各種不同的通訊協定進行通訊;
  • 在閘道上需要有額外的處理機制才能將訊息傳遞與接收自受限制與不受限制網路


網路配置圖


最後,通訊模型還提出了一個IoT網路配置圖(如圖8所示),並提出許多型態的元件以支持物聯網網路的運作。在此圖中,應用程式(Application)是安裝與執行在應用程式節點(Application Node)上,而這樣的應用程式符合領域模型中所謂的主動式數位品(Active Digital Artefact)。而應用程式節點會用控制點(Control Points)及資料端點(Data End Points)來和外界通訊,以此來操控感知器/反應器或是接收/傳遞資料。而模型中也描述了感知器是如何傳送資料給處理元件的,此時負責整合的工作將會在資料被傳遞至資料端點前被啟動起來。最末端,模型也定義了閘道並放置於應用程式節點與控制/資料端點之間,以使得位於不同網路中的節點得以相互傳遞/接收資訊。

圖8. IoT網路節點配置圖
圖8. IoT網路節點配置圖




Model of Trust, Security and Privacy


在物聯網中與安全相關的項目已經都包括在圖4之中,其中主要切分點在於服務安全(Service Security)與通訊安全(Communication Security),有關安全相關的說明可以參考IoT-A Security Reference Model [Gruschka et al., 2012]

圖4. Security Features of IoT System
圖4. Security Features of IoT System




本文章後面有針對各大型專案所提出來的Solution與IoT-i的Domain Model, Information Model, Communication Model 與 Model of Trust, Security and Privacy 進行對映。

另外,也針對各種應用情境提出應用領域中的Domain Model,未來在實作IoT應用領域時,可以參考這些Domain Model來規劃與設計。