林艷芳
(中國移動通信集團設計院有限公司重慶分公司,重慶 401121)
BI Intelligence的數據表明,2015年,物聯網感知設備的數量已超過智能手機、個人電腦,到2020年,其數量將突破240億。IDC預計,到2020年全球物聯網感知設備數量將達到250億。為了向消費者提供更有價值的服務,這些設備必須與環境進行交互,并快速、自動響應用戶需求。然而,智能物體的多樣性、異構性增加了物聯網跨平臺的復雜性。因此,要實現物聯網的愿景,必須有自動的資源發現機制,發現設備的資源、屬性及其能力。本文提出了一個可在物聯網中自動和高效地進行資源發現的架構。該架構基于一個可提供“搜索”功能的搜索引擎,使得發現機制的作用范圍涵蓋本地與遠程。在本地范圍內,發現機制作用于如智能家庭環境的網關內。遠程范圍則包括智慧城市的資源發現。
本部分提出了從用戶角度而言的資源發現架構的需求,并設計了可滿足上述需求的資源發現架構。
資源發現架構應可實現資源發現的功能,而屏蔽底層設備使用的通信協議;應該支持發現M2M設備,如資源受限設備,智能設備(智能手機)和傳統設備;該架構必須重用現有網絡進行IP通信和定位,以向用戶提供發現服務;發現系統應該通過RESTful Web服務向消費者公開服務,從而減少與應用程序的交互;相同的系統應該能夠發現在M2M網關和M2M設備上運行的M2M應用;應該使用正確的訪問控制機制來停止發現用戶無權訪問的資源;發現機制應該能夠處理包含遠程和本地范圍內的其他限定屬性(例如位置和類別)的查詢;發現架構必須使用統一的目錄來描述資源、功能和屬性,保障各種物聯網平臺之間的互操作性;在搜索過程中,可以在提供相同請求服務的網絡中找到冗余資源,且能夠根據輸入信息智能地選擇最佳服務;資源發現架構的操作應能夠自適應帶寬變化;資源發現架構需要具有較強的可擴展性。
所設計的物聯網資源發現架構如圖1所示,由感知層、代理層、發現層、服務使能層、應用層五部分組成,采用RESTful Web服務思想增強各層之間的交互能力。
(1)感知層。主要用于通過溫度、濕度、光照等傳感器件,感知物理世界的實體對象的狀態,并通過開關等執行器件依據感知實體狀態進行反應。
(2)代理層。有兩種類型的代理,即傳感器代理和執行器代理。每個代理都有一個URI,并使用一種通信技術與感知層的物理對象進行交互。這將可使系統忽略底層采用的通信技術而直接搜索和訪問設備。從用戶的角度來看,這一特性允許采用任何異構設備和通信技術,有利于進一步實現物聯網無處不在的愿景。物理對象還可通過代理將其配置傳遞給系統。對于智能對象,系統可以自己生成基于CoRE鏈接的配置描述。
(3)發現層。該層包含資源發現架構的多種功能。物理對象的配置在配置管理API處接收,它將CoRE鏈路有效負載轉換為適合存儲的格式。然后“索引API”為每個對象創建一個唯一的索引。該索引和訪問對象配置的URI存儲在單獨的存儲器中,與配置存儲一起構成物理對象的中央注冊表。搜索引擎模塊從發現請求中提取關鍵參數,并在內部提供“查找”功能,從而智能地將發現請求與存儲的配置索引進行匹配。如果找到合適的匹配項,則將這些對象的屬性、功能與URI一起向上傳遞。
(4)服務使能層。發現架構的核心功能是通過RESTful Web向用戶公開提供物聯網資源發現服務。訪問控制模塊將發現過程的作用范圍限制在用戶的權限訪問范圍內,發現源自用戶移動設備的搜索請求。訪問控制模塊將請求發送到發現層的搜索引擎,并將發現的對象列表提供給請求發起者。訂閱模塊接受用戶提交感興趣的信息。通知模塊用于定期推送用戶訂閱的信息。
(5)應用層。主要為用戶提交資源發現的入口。用戶利用手機終端、PDA、便攜式電腦或臺式機,通過應用程序提交資源發現的請求。

圖1 物聯網資源發現架構
發現海量物聯網感知資源所能提供的服務是物聯網感知資源共享的關鍵,本文設計了基于搜索引擎的物聯網資源發現架構,給出了各層實現的功能及包括的模塊,為通用的物聯網資源發現架構設計提供了參考。