使用設(shè)備注冊(cè)器和連線代理的傳感器設(shè)備聚合的制作方法
【專利摘要】本發(fā)明提供了一種計(jì)算機(jī)系統(tǒng)(300、400),包括用于創(chuàng)建和注冊(cè)一個(gè)或多個(gè)設(shè)備對(duì)象(322、324、326、412)的設(shè)備注冊(cè)器(320、410)。所述一個(gè)或多個(gè)設(shè)備對(duì)象中的至少一個(gè)設(shè)備對(duì)象被配置為通過(guò)網(wǎng)絡(luò)連接(312、414)與傳感器設(shè)備(306、308、310、402)的網(wǎng)絡(luò)連接器(404)通信。設(shè)備對(duì)象被配置為通過(guò)聲明其能力而暴露傳感器設(shè)備的至少一個(gè)參數(shù)。計(jì)算機(jī)系統(tǒng)還包括聚合模型(334、422),用于聚合至少一個(gè)設(shè)備對(duì)象的至少一個(gè)參數(shù);連線定義集合(340、416),描述由至少一個(gè)參數(shù)的變化或更新所創(chuàng)建的觸發(fā)的事件;連線代理器(328、420),用于根據(jù)觸發(fā)的事件來(lái)更新聚合模型。
【專利說(shuō)明】使用設(shè)備注冊(cè)器和連線代理的傳感器設(shè)備聚合
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及傳感器和/或致動(dòng)器的聚合,特別涉及通過(guò)使用設(shè)備注冊(cè)器(deviceregister)和連線代理(wiring broker)的傳感器和/或致動(dòng)器的聚合。
【背景技術(shù)】
[0002]連接各種設(shè)備或傳感器元件涉及以下步驟:1.定義將被交換的各種數(shù)據(jù);2.合適的協(xié)議的規(guī)定和協(xié)議;3.在兩邊都實(shí)施協(xié)議;以及4.可建立通信。
[0003]現(xiàn)在建立的通信嚴(yán)格受限于步驟I定義的限制。在這種情況下,在設(shè)計(jì)時(shí)已知哪些元件將和哪些其他元件連接,并預(yù)期什么特定的想要的操作模式或貢獻(xiàn)。系統(tǒng)設(shè)計(jì)人員可明確地在低層從語(yǔ)義和語(yǔ)法上計(jì)劃預(yù)期的信息交換。在許多情況下,這樣的設(shè)計(jì)甚至是基于對(duì)等(peer-to-peer)而進(jìn)行的??刂破髅鞔_地以雙邊定義的方式來(lái)尋址其目標(biāo)元件。為了實(shí)現(xiàn)至少某些抽象并建立某些可再用性,有時(shí)候若干不同的、幾乎總是不兼容的協(xié)議被定義以一般化可尋址性和相互連接性。
[0004]家庭自動(dòng)化領(lǐng)域的例子有:EnOCean、KNX、Modbus、M_Bus。有時(shí)候另一個(gè)更高層的協(xié)議于是試圖將這些較低層的協(xié)議映射到公分母(common denominator)。在前述例子中,這是Obix (對(duì)象構(gòu)建交換)。Obix試圖將四個(gè)較低層的協(xié)議抽象為良好定義的共同XML語(yǔ)法。
[0005]于是使用Obix有可能例如打開(kāi)建筑物里的燈,而不需要知道任何較低層協(xié)議的細(xì)節(jié),并且與這些協(xié)議中的哪一個(gè)實(shí)際被用于當(dāng)前特定建筑物實(shí)例無(wú)關(guān)。但是,為了使得這種情況發(fā)生,Obix協(xié)議需要所有控制元件的在語(yǔ)義和語(yǔ)法上被良好地定義的、嚴(yán)格的、低層的映射。在該例子中,它必須明確地了解“開(kāi)燈”的動(dòng)作,以及這是如何被映射到較低層協(xié)議。每個(gè)可能的動(dòng)作及其意義必須被具體指出,以使得系統(tǒng)能正確工作。對(duì)于不同傳感器/致動(dòng)器/設(shè)備的連接,需要明確的語(yǔ)義。
[0006]這種方法最嚴(yán)重的缺陷之一是缺乏可擴(kuò)展性。對(duì)于每個(gè)新設(shè)備和每個(gè)新的可能的連接和傳感器或致動(dòng)器控制,系統(tǒng)需要對(duì)于與新元件可能連接的所有其他已存在的元件的交互模式的明確的定義。這遲早會(huì)導(dǎo)致產(chǎn)生不易管理的NxM關(guān)系問(wèn)題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明在獨(dú)立權(quán)利要求中提供了一種通過(guò)用戶界面來(lái)連接網(wǎng)絡(luò)可連接設(shè)備的計(jì)算機(jī)系統(tǒng)和方法。在從屬權(quán)利要求中給出了實(shí)施例。
[0008]本發(fā)明的實(shí)施例通過(guò)使用設(shè)備注冊(cè)器來(lái)集成傳感器設(shè)備以解決上述和其他問(wèn)題。設(shè)備注冊(cè)器為每個(gè)傳感器設(shè)備創(chuàng)建了設(shè)備對(duì)象,并暴露傳感器設(shè)備的至少一個(gè)參數(shù)。這使得聚合模型能夠聚合來(lái)自每個(gè)傳感器設(shè)備的暴露的參數(shù)。傳感器的聚合可以是,例如,通過(guò)將設(shè)備對(duì)象實(shí)施為Java門戶組件而完成的。連線代理可隨后被用來(lái)更新聚合模型,且聚合模型可被用來(lái)創(chuàng)建基于web的用戶界面。除了聚合傳感器,這使得能夠?qū)④浖砻?software surface)結(jié)合到聚合模型中。這可具有創(chuàng)建可容易地?cái)U(kuò)展、并集成傳感器設(shè)備、軟件服務(wù)和/或web服務(wù)的系統(tǒng)的優(yōu)勢(shì)。
[0009]在此使用的“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”包括任何有形存儲(chǔ)介質(zhì),其可存儲(chǔ)可被計(jì)算設(shè)備的處理器執(zhí)行的指令。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可稱為計(jì)算機(jī)可讀非臨時(shí)存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)也可稱為有形計(jì)算機(jī)可讀介質(zhì)。在一些實(shí)施例中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)也能存儲(chǔ)可被計(jì)算設(shè)備的處理器訪問(wèn)的數(shù)據(jù)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子包括但不限于:軟盤、穿孔帶、穿孔卡、磁性硬盤驅(qū)動(dòng)器、固態(tài)硬盤、閃存存儲(chǔ)器、USB姆指存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器(RAN)、只讀存儲(chǔ)器(ROM)、光盤、磁光盤以及處理器的寄存器文件。光盤的例子包括緊致盤(CD)和數(shù)字多用光盤(DVD),例如 CD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW 或者 DVD-R盤。術(shù)語(yǔ)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)也指可通過(guò)網(wǎng)絡(luò)或通信鏈路被計(jì)算機(jī)設(shè)備訪問(wèn)的各種類型的記錄介質(zhì)。例如,數(shù)據(jù)可通過(guò)調(diào)制解調(diào)器、互聯(lián)網(wǎng)或局域網(wǎng)被檢索。提及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)應(yīng)當(dāng)被解釋為可能是多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。一個(gè)或多個(gè)程序的各種可執(zhí)行組件可被存儲(chǔ)在不同的位置。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是例如同一個(gè)計(jì)算機(jī)系統(tǒng)中的多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)也可以是在多個(gè)計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備中分布的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
[0010]“計(jì)算機(jī)存儲(chǔ)器”或“存儲(chǔ)器”是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子。計(jì)算機(jī)存儲(chǔ)器是可被處理器直接訪問(wèn)的任意存儲(chǔ)器。計(jì)算機(jī)存儲(chǔ)器的例子包括但不限于:RAM存儲(chǔ)器、寄存器和寄存器文件。提及“計(jì)算機(jī)存儲(chǔ)器”或“存儲(chǔ)器”,應(yīng)當(dāng)被解釋為可能是多個(gè)存儲(chǔ)器。存儲(chǔ)器可例如是同一個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)的多個(gè)存儲(chǔ)器。存儲(chǔ)器也可以是在多個(gè)計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備中分布的多個(gè)存儲(chǔ)器。
[0011]“計(jì)算機(jī)存儲(chǔ)設(shè)備”或“存儲(chǔ)設(shè)備”是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子。計(jì)算機(jī)存儲(chǔ)設(shè)備是任何非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)設(shè)備的例子包括但不限于硬盤驅(qū)動(dòng)器、USB姆指驅(qū)動(dòng)器、軟盤、智能卡、DVD、⑶-ROM以及固態(tài)硬驅(qū)動(dòng)器。在一些實(shí)施例中,計(jì)算機(jī)存儲(chǔ)設(shè)備可以是計(jì)算機(jī)存儲(chǔ)器或反之亦然。提及“計(jì)算機(jī)存儲(chǔ)設(shè)備”或“存儲(chǔ)設(shè)備”,應(yīng)當(dāng)解釋為可能是多個(gè)存儲(chǔ)設(shè)備。存儲(chǔ)設(shè)備可例如是同一個(gè)計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備中的多個(gè)存儲(chǔ)設(shè)備。存儲(chǔ)設(shè)備也可以是在多個(gè)計(jì)算機(jī)系統(tǒng)或計(jì)算設(shè)備中分布的多個(gè)存儲(chǔ)設(shè)備。
[0012]在此使用的“計(jì)算機(jī)系統(tǒng)”包括含有處理器的任何設(shè)備。在此使用“處理器”包括電子組件,其能執(zhí)行程序或機(jī)器可執(zhí)行指令。提及計(jì)算設(shè)備包括“處理器”,應(yīng)當(dāng)被解釋為可能含有多于一個(gè)的處理器或處理核。處理器可例如是多核處理器。處理器也可指單個(gè)計(jì)算機(jī)系統(tǒng)中的或分布在多個(gè)計(jì)算機(jī)系統(tǒng)中的處理器的集合。術(shù)語(yǔ)計(jì)算設(shè)備也應(yīng)當(dāng)被解釋為可能指計(jì)算設(shè)備的集合或網(wǎng)絡(luò),每個(gè)所述計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器。許多程序具有其自己的由多個(gè)處理器執(zhí)行的指令,所述處理器可位于相同的計(jì)算設(shè)備內(nèi)或甚至可分布在多個(gè)計(jì)算設(shè)備中。
[0013]在此使用的“顯示器”或“顯示設(shè)備”包括用于顯示圖像或數(shù)據(jù)的外部設(shè)備或用戶界面。顯示器可輸出視頻、音頻和/或觸覺(jué)數(shù)據(jù)。
[0014]在一方面,本發(fā)明提供了一種計(jì)算機(jī)系統(tǒng),其包括用于創(chuàng)建和注冊(cè)一個(gè)或多個(gè)設(shè)備對(duì)象的設(shè)備注冊(cè)器。一個(gè)或多個(gè)設(shè)備對(duì)象中的至少一個(gè)設(shè)備對(duì)象被配置為通過(guò)網(wǎng)絡(luò)連接與傳感器設(shè)備的網(wǎng)絡(luò)連接器通信。設(shè)備對(duì)象被配置為通過(guò)聲明其能力而暴露傳感器設(shè)備的至少一個(gè)參數(shù)。這里使用的傳感器設(shè)備包括被配置為進(jìn)行物理測(cè)量和/或控制與物理世界交互的設(shè)備或裝置的任意設(shè)備。例如傳感器設(shè)備可以包括進(jìn)行測(cè)量的傳感器。例子可以是溫度傳感器。傳感器設(shè)備還可以包括控制物理裝置或機(jī)器的東西。例如傳感器設(shè)備可以控制太陽(yáng)能電池板或窗戶系統(tǒng)上的致動(dòng)器。計(jì)算機(jī)系統(tǒng)還包括聚合模型,其用于聚合至少一個(gè)設(shè)備對(duì)象的至少一個(gè)參數(shù)。
[0015]聚合模型可以聚合來(lái)自其他設(shè)備對(duì)象和/或軟件服務(wù)的參數(shù)。計(jì)算機(jī)系統(tǒng)還包括連線定義的集合,所述連線定義描述至少一個(gè)參數(shù)中的變化或更新所創(chuàng)建的觸發(fā)的事件。例如,如果參數(shù)的值改變,該參數(shù)改變會(huì)觸發(fā)事件。例如,溫度值可高于或低于特定的值。這觸發(fā)了引起連線定義所定義的響應(yīng)的事件。計(jì)算機(jī)系統(tǒng)還包括連線代理,其用于根據(jù)所述觸發(fā)的事件來(lái)更新聚合模型。在某些實(shí)施例中,設(shè)備注冊(cè)器通過(guò)設(shè)備對(duì)象來(lái)提供門戶組件,所述設(shè)備對(duì)象可使用連線連接在一起。例如,在某些實(shí)施例中IBM Web Sphere門戶系統(tǒng)可被用于提供連線、聚合模型和連線代理。該實(shí)施例可以是有益的,因?yàn)樗峁┝艘环N將傳感器設(shè)備集成到系統(tǒng)中的方法,所述系統(tǒng)典型地用于集成web服務(wù)。因此可以通過(guò)用戶界面例如在web瀏覽器中顯示的用戶界面來(lái)控制網(wǎng)絡(luò)設(shè)備。
[0016]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)是門戶服務(wù)器。
[0017]在另一實(shí)施例中,通過(guò)聲明其能力來(lái)暴露至少一個(gè)參數(shù)。這可以包括諸如設(shè)備類型以及抽象層中的輸入和/或輸出參數(shù)等參數(shù)。
[0018]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)還包括由設(shè)備對(duì)象表示的設(shè)備,該設(shè)備對(duì)象可以提供基于硬件的傳感器信息。它們可以作為基于硬件的致動(dòng)器來(lái)反應(yīng),并且它們還可以表示物理多功能設(shè)備或甚至設(shè)置基于軟件的互聯(lián)網(wǎng)服務(wù)。
[0019]在另一實(shí)施例中,抽象層提供了基礎(chǔ)設(shè)施來(lái)接收和/或輪詢傳感器的狀態(tài)改變并觸發(fā)致動(dòng)器的狀態(tài)改變。
[0020]在另一實(shí)施例中,連線代理被配置為將不同設(shè)備的設(shè)備能力互相連接,以建立場(chǎng)景應(yīng)用。例如,場(chǎng)景應(yīng)用(situational application)可以是混搭(mashup)。
[0021]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)還包括用于存儲(chǔ)機(jī)器可讀指令的存儲(chǔ)器。指令的執(zhí)行使得處理器使用網(wǎng)絡(luò)連接將網(wǎng)絡(luò)可連接設(shè)備連接到網(wǎng)絡(luò)。網(wǎng)絡(luò)可連接設(shè)備可以是傳感器設(shè)備。指令的執(zhí)行還使得處理器使用抽象層在用戶界面上可視化網(wǎng)絡(luò)可連接設(shè)備。使用抽象層在用戶界面上可視化網(wǎng)絡(luò)可連接設(shè)備可以等價(jià)于在顯示器的圖形用戶界面上顯示從網(wǎng)絡(luò)可連接設(shè)備聚合的數(shù)據(jù)。在用戶界面上可視化網(wǎng)絡(luò)可連接設(shè)備還可等價(jià)于在由web瀏覽器呈現(xiàn)的圖形用戶界面上顯示聚合的數(shù)據(jù)。網(wǎng)絡(luò)可連接設(shè)備是下列中的任一個(gè):傳感器、致動(dòng)器、多功能設(shè)備和互聯(lián)網(wǎng)服務(wù)。
[0022]指令的執(zhí)行還使得處理器用抽象層來(lái)注冊(cè)設(shè)備并通過(guò)使用抽象層連接設(shè)備和用戶界面而使用設(shè)備注冊(cè)器來(lái)聲明其能力。在某些實(shí)施例中,抽象層可以等價(jià)于由設(shè)備注冊(cè)器所創(chuàng)建的設(shè)備對(duì)象。
[0023]指令的執(zhí)行還使得處理器使用抽象層來(lái)連線網(wǎng)絡(luò)可連接設(shè)備,以用解耦設(shè)備的一致性(coherent)系統(tǒng)來(lái)實(shí)現(xiàn)用戶定義的控制器邏輯。該抽象層提供基礎(chǔ)設(shè)施來(lái)接收/輪詢傳感器的狀態(tài)改變并觸發(fā)施動(dòng)器(actor)的狀態(tài)改變。所述抽象層是通過(guò)使用軟件抽象層而獨(dú)立的設(shè)備和/或服務(wù)。
[0024]在另一實(shí)施例中,網(wǎng)絡(luò)例如是互聯(lián)網(wǎng)。
[0025]在另一實(shí)施例中,用戶界面例如可以是用作平臺(tái)的網(wǎng)頁(yè)。這在某些實(shí)施例中可以通過(guò)web服務(wù)來(lái)執(zhí)行。[0026]在另一實(shí)施例中,用抽象層來(lái)注冊(cè)的每個(gè)設(shè)備聲明其能力。這可以包括設(shè)備類型以及輸入和輸出參數(shù)。
[0027]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)還包括存儲(chǔ)器,其用于存儲(chǔ)機(jī)器可執(zhí)行指令。指令的執(zhí)行使得處理器通過(guò)網(wǎng)絡(luò)連接器將傳感器設(shè)備連接到網(wǎng)絡(luò)。指令的執(zhí)行還使得處理器用設(shè)備注冊(cè)器來(lái)注冊(cè)傳感器設(shè)備。指令的執(zhí)行還使得處理器使用設(shè)備注冊(cè)器來(lái)創(chuàng)建用于注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象。指令的執(zhí)行還使得處理器通過(guò)設(shè)備對(duì)象來(lái)提供傳感器設(shè)備的至少一個(gè)參數(shù)。該實(shí)施例可以是有益的,因?yàn)樗峁┝巳菀椎姆绞綄鞲衅髟O(shè)備集成到用戶界面中。在將傳感器集成到門戶服務(wù)器時(shí),這尤其有益。
[0028]在另一實(shí)施例中,傳感器設(shè)備通過(guò)web服務(wù)連接到網(wǎng)絡(luò)。
[0029]在另一實(shí)施例中,指令的執(zhí)行還使得處理器通過(guò)設(shè)備對(duì)象來(lái)接收更新的值,其中,設(shè)備提供更新的值。指令的執(zhí)行還使得處理器根據(jù)該更新的值來(lái)更新至少一個(gè)參數(shù)。設(shè)備對(duì)象可以更新至少一個(gè)參數(shù)。指令的執(zhí)行還使得處理器觸發(fā)由更新至少一個(gè)參數(shù)所引起的至少一個(gè)事件。指令的執(zhí)行還使得處理器根據(jù)該至少一個(gè)觸發(fā)的事件來(lái)更新聚合模型。
[0030]指令的執(zhí)行還使得處理器根據(jù)聚合模型來(lái)創(chuàng)建網(wǎng)頁(yè)數(shù)據(jù)。這里使用的網(wǎng)頁(yè)數(shù)據(jù)包括可以由web瀏覽器顯示或使用以提供圖形用戶界面的數(shù)據(jù)。這可以包括HTML、XML以及小應(yīng)用程序例如Java Applet。指令的執(zhí)行還使得處理器響應(yīng)于網(wǎng)頁(yè)請(qǐng)求來(lái)提供網(wǎng)頁(yè)數(shù)據(jù)。計(jì)算機(jī)系統(tǒng)還可以用作web服務(wù)器,并且響應(yīng)于網(wǎng)頁(yè)請(qǐng)求來(lái)提供網(wǎng)頁(yè)數(shù)據(jù)。該實(shí)施例可以是有益的,因?yàn)樗峁┝擞行У姆绞綄鞲衅骷傻綀D形用戶界面中,該用戶界面可以在web瀏覽器上顯示。web瀏覽器可被用于顯示來(lái)自傳感器設(shè)備的數(shù)據(jù)并且發(fā)送數(shù)據(jù)來(lái)控制傳感器設(shè)備的控制和操作。
[0031]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)是門戶服務(wù)器或web服務(wù)器。
[0032]在另一實(shí)施例中,設(shè)備對(duì)象被配置為用于傳感器設(shè)備的至少一個(gè)被暴露的參數(shù)的語(yǔ)義映射。例如,計(jì)算機(jī)系統(tǒng)可包括用于實(shí)現(xiàn)語(yǔ)義映射器的計(jì)算機(jī)可執(zhí)行代碼。這里使用的語(yǔ)義映射器是幫助數(shù)據(jù)元素從一個(gè)名稱空間變換到另一個(gè)名稱空間的工具或軟件服務(wù)。這可能是特別有益的,因?yàn)樗蓭椭杂幸饬x的方式將傳感器設(shè)備集成到用戶界面。
[0033]在另一實(shí)施例中,計(jì)算機(jī)系統(tǒng)還包括網(wǎng)頁(yè)聚合器,其用于供應(yīng)根據(jù)所述聚合模型而構(gòu)建的網(wǎng)頁(yè)。網(wǎng)頁(yè)聚合器可以是計(jì)算機(jī)可執(zhí)行的代碼,其用于構(gòu)建頁(yè)面數(shù)據(jù),該頁(yè)面數(shù)據(jù)可響應(yīng)于網(wǎng)頁(yè)請(qǐng)求來(lái)發(fā)送。網(wǎng)頁(yè)聚合器使用聚合模型來(lái)聚合數(shù)據(jù)以構(gòu)建網(wǎng)頁(yè)。
[0034]在另一實(shí)施例中,網(wǎng)頁(yè)被配置為展示設(shè)備對(duì)象的暴露參數(shù)的聚合。該實(shí)施例可以特別有益,因?yàn)樗峁┝擞脩艚缑?,用戶可以用它?lái)共同地使用信息和/或控制各個(gè)傳感器設(shè)備。
[0035]在另一實(shí)施例中,設(shè)備注冊(cè)器被配置為使用身份驗(yàn)證服務(wù)來(lái)驗(yàn)證一個(gè)或多個(gè)設(shè)備對(duì)象的訪問(wèn)權(quán)限。這可以是有益的,因?yàn)橐粋€(gè)或多個(gè)設(shè)備對(duì)象可以通過(guò)互聯(lián)網(wǎng)來(lái)連接并且可以在多個(gè)位置。身份驗(yàn)證服務(wù)的使用使得能夠通過(guò)設(shè)備對(duì)象來(lái)集成傳感器設(shè)備。單獨(dú)的傳感器設(shè)備可被授予單獨(dú)的用戶身份,其可以使得設(shè)備能獲取用戶簡(jiǎn)檔數(shù)據(jù)來(lái)進(jìn)行合適的決策。這還可以使得設(shè)備能修改用戶簡(jiǎn)檔數(shù)據(jù)或某類狀態(tài)信息,以代表用戶來(lái)設(shè)置特定的狀態(tài)信息或條件。這還使得設(shè)備能互相交互。這還使得設(shè)備能自主地行動(dòng),以通過(guò)這些設(shè)備來(lái)觸發(fā)特定的動(dòng)作。
[0036]在另一實(shí)施例中,傳感器設(shè)備是傳感器。[0037]在另一實(shí)施例中,傳感器設(shè)備是致動(dòng)器。
[0038]在另一實(shí)施例中,傳感器設(shè)備是控制器。
[0039]在另一實(shí)施例中,傳感器設(shè)備是多功能設(shè)備。多功能設(shè)備可以包括傳感器、致動(dòng)器和控制的特征。
[0040]在另一實(shí)施例中,傳感器設(shè)備是互聯(lián)網(wǎng)服務(wù)。
[0041]在另一實(shí)施例中,設(shè)備對(duì)象被配置為用于以下各項(xiàng)中的任一個(gè):發(fā)送屬性值的狀態(tài)更新、接收狀態(tài)改變請(qǐng)求、聲明要暴露的傳感器或致動(dòng)器參數(shù)值、以及其組合。
[0042]在另一實(shí)施例中,暴露的參數(shù)是以下各項(xiàng)中的任一個(gè):要接收的數(shù)據(jù)、要設(shè)置的致動(dòng)器參數(shù)、要設(shè)置的數(shù)據(jù)值以及要設(shè)置的配置值。
[0043]在另一實(shí)施例中,設(shè)備注冊(cè)器還適于為軟件服務(wù)注冊(cè)和創(chuàng)建設(shè)備對(duì)象。該實(shí)施例尤其有利,因?yàn)閭鞲衅髟O(shè)備和軟件服務(wù)可作為等價(jià)物被集成。這允許容易地集成傳感器設(shè)備和軟件服務(wù)以便可互操作并使用合作功能。
[0044]在另一實(shí)施例中,服務(wù)系統(tǒng)還包括連線編輯器,用于修改和/或創(chuàng)建連線定義的
隹A
口 O
[0045]在另一實(shí)施例中,門戶服務(wù)系統(tǒng)包括設(shè)備注冊(cè)器(device registry)的多個(gè)實(shí)例。這尤其有利,因?yàn)椴煌愋偷脑O(shè)備可以使用各種不同設(shè)備注冊(cè)器。例如,如果有人有被集成為傳感器設(shè)備的智能電話,則電信供應(yīng)商可以提供用于該設(shè)備的設(shè)備注冊(cè)器。告警系統(tǒng)或家庭控制系統(tǒng)可以使用告警系統(tǒng)或家庭控制系統(tǒng)的服務(wù)公司提供的設(shè)備注冊(cè)器。使用多個(gè)設(shè)備注冊(cè)器使得能夠集成更多種類的傳感器設(shè)備的網(wǎng)絡(luò)。
[0046]另一方面,本發(fā)明提供了一種通過(guò)用戶界面來(lái)連接網(wǎng)絡(luò)可連接獨(dú)立設(shè)備的方法,包括將傳感器或致動(dòng)器設(shè)備連接到網(wǎng)絡(luò)。該方法還包括通過(guò)抽象層在用戶界面上可視化每個(gè)網(wǎng)絡(luò)可連接設(shè)備。網(wǎng)絡(luò)可連接設(shè)備屬于類型傳感器和/或施動(dòng)器。該方法還包括用所述抽象層注冊(cè)每個(gè)設(shè)備、并通過(guò)將其與包括抽象層的用戶界面連接而聲明其能力的步驟。該方法還包括使用抽象層將選中的網(wǎng)絡(luò)可連接設(shè)備與選中的其他設(shè)備連線、以便用解耦設(shè)備的一致性系統(tǒng)來(lái)實(shí)現(xiàn)用戶定義的可控制邏輯的步驟。抽象層提供基礎(chǔ)設(shè)施來(lái)輪詢傳感器的狀態(tài)改變并觸發(fā)施動(dòng)器的狀態(tài)改變。抽象層是通過(guò)使用軟件抽象層而獨(dú)立的設(shè)備和/或服務(wù)。
[0047]另一方面,本發(fā)明提供了一種將傳感器設(shè)備連接到門戶服務(wù)器系統(tǒng)的方法。該方法包括通過(guò)web服務(wù)將傳感器設(shè)備連接到網(wǎng)絡(luò)的步驟。該方法還包括使用web服務(wù)用設(shè)備注冊(cè)器來(lái)注冊(cè)傳感器設(shè)備的步驟。該方法還包括創(chuàng)建用于被注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象的步驟。該方法還包括通過(guò)設(shè)備對(duì)象來(lái)提供傳感器設(shè)備的至少一個(gè)參數(shù)的步驟。
[0048]在另一實(shí)施例中,該方法還包括由設(shè)備發(fā)送更新的值的步驟。該方法還包括根據(jù)更新的值來(lái)更新至少一個(gè)參數(shù)的步驟。該方法還包括觸發(fā)由更新至少一個(gè)參數(shù)而引起的至少一個(gè)事件的步驟。該方法還包括根據(jù)至少一個(gè)觸發(fā)的事件來(lái)更新聚合模型的步驟。該方法還包括根據(jù)聚合模型來(lái)創(chuàng)建網(wǎng)頁(yè)數(shù)據(jù)的步驟。該方法還包括響應(yīng)于網(wǎng)頁(yè)請(qǐng)求而提供網(wǎng)頁(yè)數(shù)據(jù)的步驟。
[0049]另一方面,本發(fā)明提供了一種非臨時(shí)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其包含可被處理器執(zhí)行的機(jī)器可執(zhí)行指令。指令的執(zhí)行使得處理器通過(guò)web服務(wù)將服務(wù)器設(shè)備連接到網(wǎng)絡(luò)。指令的執(zhí)行還使得處理器通過(guò)使用web服務(wù)用設(shè)備注冊(cè)器注冊(cè)傳感器設(shè)備。指令的執(zhí)行還使得處理器創(chuàng)建用于被注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象。指令的執(zhí)行還使得處理器使用設(shè)備對(duì)象來(lái)暴露傳感器設(shè)備的至少一個(gè)參數(shù)。
【專利附圖】
【附圖說(shuō)明】
[0050]下面,僅參考附圖通過(guò)示例的方式來(lái)更詳細(xì)地描述本發(fā)明的優(yōu)選實(shí)施例,在附圖中:
[0051]圖1示出的流程圖描述了根據(jù)本發(fā)明實(shí)施例的方法,
[0052]圖2示出的流程圖描述了根據(jù)本發(fā)明的另一實(shí)施例的方法,
[0053]圖3示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng),
[0054]圖4示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)的功能圖,
[0055]圖5示出的流程圖描述了設(shè)備或傳感器設(shè)備到計(jì)算機(jī)系統(tǒng)的連接,
[0056]圖6示出的流程圖描述了連線編輯器的操作,
[0057]圖7示出的流程圖描述了連線代理的操作,
[0058]圖8示出的流程圖描述了頁(yè)面聚合器的使用,并且
[0059]圖9示出了根據(jù)本發(fā)明實(shí)施例使用計(jì)算機(jī)系統(tǒng)的圖形用戶界面的使用。
【具體實(shí)施方式】
[0060]下面,這些圖中的相同編號(hào)的元件是類似的元件或執(zhí)行等價(jià)的功能。先前已經(jīng)討論過(guò)的元件將不一定在后面的圖中討論,如果其功能是等價(jià)的話。
[0061]圖1示出的流程圖描述了根據(jù)本發(fā)明的實(shí)施例的方法。在步驟100中,傳感器設(shè)備連接到網(wǎng)絡(luò)。接下來(lái)在步驟102中,用設(shè)備注冊(cè)器來(lái)注冊(cè)傳感器設(shè)備。在步驟104中,設(shè)備注冊(cè)器創(chuàng)建用于被注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象。最后在步驟106中,設(shè)備對(duì)象提供傳感器設(shè)備的至少一個(gè)參數(shù)。
[0062]圖2示出的流程圖描述了根據(jù)本發(fā)明的另一實(shí)施例的方法。首先,在步驟200中傳感器設(shè)備連接到網(wǎng)絡(luò)。接下來(lái)在步驟202中,用設(shè)備注冊(cè)器來(lái)注冊(cè)傳感器設(shè)備。接下來(lái)在步驟204中,設(shè)備注冊(cè)器創(chuàng)建用于被注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象。在步驟206中,設(shè)備對(duì)象提供傳感器設(shè)備的至少一個(gè)參數(shù)。接下來(lái)在步驟208中,設(shè)備對(duì)象從傳感器設(shè)備接收更新的值。在步驟210中,設(shè)備對(duì)象然后根據(jù)該更新的值來(lái)更新至少一個(gè)參數(shù)。接下來(lái)在步驟212中,由于至少一個(gè)參數(shù)的更新而觸發(fā)至少一個(gè)事件。
[0063]接下來(lái)在步驟214中,根據(jù)至少一個(gè)觸發(fā)的事件來(lái)更新聚集模型。觸發(fā)的事件可以包括如何更新聚合模型的指令。在步驟216中,根據(jù)聚合模型來(lái)創(chuàng)建網(wǎng)頁(yè)數(shù)據(jù)。最后在步驟218中,響應(yīng)于網(wǎng)頁(yè)請(qǐng)求來(lái)提供網(wǎng)頁(yè)數(shù)據(jù)。這例如可以是經(jīng)過(guò)互聯(lián)網(wǎng)將網(wǎng)頁(yè)數(shù)據(jù)發(fā)送到不同的計(jì)算機(jī)系統(tǒng)。
[0064]圖3示出了根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)。示出了計(jì)算機(jī)系統(tǒng)300。存在第二計(jì)算機(jī)系統(tǒng)302,其通過(guò)網(wǎng)絡(luò)連接304連接到計(jì)算機(jī)系統(tǒng)300。網(wǎng)絡(luò)連接304例如可以是互聯(lián)網(wǎng)連接或其他類型的網(wǎng)絡(luò)連接,例如以太網(wǎng)連接。存在若干網(wǎng)絡(luò)設(shè)備,第一網(wǎng)絡(luò)設(shè)備306、第二網(wǎng)絡(luò)設(shè)備308和第三網(wǎng)絡(luò)設(shè)備310,其中每個(gè)通過(guò)網(wǎng)絡(luò)連接312連接到計(jì)算機(jī)系統(tǒng)300。
[0065]計(jì)算機(jī)系統(tǒng)300包括處理器314,其連接到計(jì)算機(jī)存儲(chǔ)設(shè)備316和計(jì)算機(jī)存儲(chǔ)器318。在計(jì)算機(jī)存儲(chǔ)器318中存在設(shè)備注冊(cè)器320。設(shè)備注冊(cè)器320包括用于實(shí)現(xiàn)能夠創(chuàng)建設(shè)備對(duì)象322、324、326的設(shè)備注冊(cè)器的機(jī)器可執(zhí)行代碼。計(jì)算機(jī)存儲(chǔ)器318包含用于連接第一設(shè)備對(duì)象306的第一設(shè)備對(duì)象322、用于連接第二設(shè)備對(duì)象308的第二設(shè)備對(duì)象324以及用于連接第三設(shè)備對(duì)象310的設(shè)備對(duì)象326。存儲(chǔ)器318還包含連線代理328。計(jì)算機(jī)存儲(chǔ)器318還包含從第一設(shè)備對(duì)象306接收的更新值330。更新值330引起事件332,其在被觸發(fā)時(shí)被顯示為包含在存儲(chǔ)器318中。觸發(fā)的事件332使得聚合模型更新模塊334更新在計(jì)算機(jī)存儲(chǔ)設(shè)備316中存儲(chǔ)的聚合模型338。計(jì)算機(jī)存儲(chǔ)器318還包含網(wǎng)頁(yè)聚合器336,其用于使用聚合模型338來(lái)生成網(wǎng)頁(yè)數(shù)據(jù)342。網(wǎng)頁(yè)數(shù)據(jù)342被顯示為存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備316中。計(jì)算機(jī)存儲(chǔ)設(shè)備316還包含連線定義的集合340,所述連線定義被用于確定更新值330是否觸發(fā)事件332。
[0066]第二計(jì)算機(jī)系統(tǒng)302被顯示為包含處理器350,其連接到計(jì)算機(jī)存儲(chǔ)設(shè)備352和計(jì)算機(jī)存儲(chǔ)器354。處理器還連接到顯示器356。處理器350將請(qǐng)求發(fā)送到計(jì)算機(jī)系統(tǒng)300來(lái)供應(yīng)網(wǎng)頁(yè)。網(wǎng)頁(yè)數(shù)據(jù)342通過(guò)網(wǎng)絡(luò)連接304從所述計(jì)算機(jī)系統(tǒng)傳輸?shù)降诙?jì)算機(jī)系統(tǒng)302。網(wǎng)頁(yè)數(shù)據(jù)342被顯示在計(jì)算機(jī)存儲(chǔ)設(shè)備352中。計(jì)算機(jī)存儲(chǔ)器342被顯示為包含web瀏覽器360。在顯示器356上是由web瀏覽器360用網(wǎng)頁(yè)數(shù)據(jù)342呈現(xiàn)的圖形用戶界面362。在該圖形用戶界面中,存在若干個(gè)數(shù)據(jù)顯示和控制區(qū)域。參數(shù)364顯示傳感器數(shù)據(jù)364。參數(shù)366示出了致動(dòng)器控制。區(qū)域368示出了例如用于控制智能電話的設(shè)備控制368??刂?70示出了服務(wù)控制370。這些可以是提供的用于為操作者執(zhí)行任務(wù)或功能的軟件服務(wù)。
[0067]與用戶界面362相鄰的是示出ID驗(yàn)證服務(wù)372的云,該服務(wù)寄放有用戶賬戶和簡(jiǎn)檔374。第一設(shè)備對(duì)象322可以使用汽車簡(jiǎn)檔376,以使用和驗(yàn)證第一傳感器設(shè)備306的連接。傳感器簡(jiǎn)檔378可以使用第二設(shè)備對(duì)象324,且第三設(shè)備對(duì)象326可以使用電話簡(jiǎn)檔380以用于連接第三傳感器設(shè)備310。在該例子中,存在單個(gè)處理器314和單個(gè)計(jì)算機(jī)系統(tǒng)300,其實(shí)現(xiàn)了計(jì)算機(jī)系統(tǒng)的所有組件。但是,可以存在在任何數(shù)量的計(jì)算機(jī)系統(tǒng)上分布的任何數(shù)量的處理器314。特別地,可以在與網(wǎng)頁(yè)聚合器336分離的計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)設(shè)備對(duì)象322、324、326和設(shè)備注冊(cè)器320。
[0068]圖4示出了根據(jù)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)400的功能圖。存在若干個(gè)設(shè)備或傳感器設(shè)備402,其中每個(gè)具有其自己的網(wǎng)絡(luò)連接器404。網(wǎng)絡(luò)連接器404通過(guò)網(wǎng)絡(luò)連接408連接到設(shè)備注冊(cè)器410。在傳感器設(shè)備402用設(shè)備注冊(cè)器410注冊(cè)時(shí),設(shè)備注冊(cè)器410為每個(gè)設(shè)備402創(chuàng)建設(shè)備對(duì)象412。網(wǎng)絡(luò)連接器404然后能夠使用網(wǎng)絡(luò)連接414直接連接到設(shè)備對(duì)象412。設(shè)備注冊(cè)器注冊(cè)并創(chuàng)建設(shè)備對(duì)象412。通過(guò)網(wǎng)絡(luò)連接414,設(shè)備對(duì)象和相關(guān)網(wǎng)絡(luò)連接器404可以通過(guò)web或REST服務(wù)來(lái)發(fā)送例如用于傳感器的屬性值的狀態(tài)更新,它可以通過(guò)web/REST服務(wù)來(lái)接收例如用于致動(dòng)器的屬性值的狀態(tài)更新請(qǐng)求。
[0069]在某些實(shí)施例中,網(wǎng)絡(luò)連接器404可以聲明要暴露的傳感器或致動(dòng)器參數(shù)。設(shè)備對(duì)象412保存并/或獲取被暴露的參數(shù)的狀態(tài)。設(shè)備對(duì)象412暴露各個(gè)參數(shù)。連線定義集合416被用于控制改變或更新暴露參數(shù)的影響。存在連線編輯器418,其可被用于修改連線定義416,以及連線代理420,其使用連線定義416以造成設(shè)置的值被改變或者已被暴露的被改變或更新的屬性值的影響。存在聚合模型422,其被用于獲取被暴露參數(shù)的狀態(tài)或設(shè)置被暴露參數(shù)的狀態(tài)。聚合模型422能夠用設(shè)備簡(jiǎn)檔信息進(jìn)行頁(yè)面聚合424。存在web瀏覽器426,其可被用于控制連線編輯器418和/或用于請(qǐng)求頁(yè)面聚合,以使用聚合的設(shè)備簡(jiǎn)檔信息來(lái)呈現(xiàn)用戶界面。
[0070]圖5示出的流程圖描述了根據(jù)本發(fā)明的實(shí)施例的將設(shè)備或傳感器設(shè)備連接到計(jì)算機(jī)系統(tǒng)的方法。在步驟500中,設(shè)備或傳感器設(shè)備通過(guò)web服務(wù)連接到網(wǎng)絡(luò)。在步驟502中,設(shè)備通過(guò)web服務(wù)在設(shè)備注冊(cè)器中注冊(cè)自己。接下來(lái)在步驟504中,設(shè)備注冊(cè)器創(chuàng)建設(shè)備對(duì)象。接下來(lái)在步驟506中,設(shè)備通過(guò)web服務(wù)聲明其偏好以及其可以接收(如果其是致動(dòng)器)和/或發(fā)送(如果其是傳感器)。
[0071]圖6示出了由連線編輯器418執(zhí)行的各個(gè)步驟。在步驟600中,在連線編輯器中用戶從設(shè)備對(duì)象選擇屬性作為事件或連線的源。接下來(lái)在步驟602中,用戶從設(shè)備對(duì)象選擇屬性作為事件或連線的目標(biāo)。接下來(lái)在步驟604中改變的連線被保存。
[0072]圖7示出的流程圖說(shuō)明了根據(jù)本發(fā)明的實(shí)施例的連線代理的功能。在步驟700中,設(shè)備通過(guò)web服務(wù)將傳感器屬性的更新值發(fā)送到服務(wù)器。接下來(lái)在步驟702中,設(shè)備對(duì)象被更新以反映新的值。在步驟704中連線代理監(jiān)聽(tīng)改變并通過(guò)識(shí)別連線到該屬性的所有目標(biāo)屬性來(lái)對(duì)改變進(jìn)行適當(dāng)?shù)姆磻?yīng)。接下來(lái)在步驟706中,連線代理更新被連線的設(shè)備對(duì)象中的目標(biāo)屬性。然后在步驟708中,連線代理更新被連線的設(shè)備對(duì)象中的目標(biāo)屬性。最后在步驟710中,設(shè)備對(duì)象將新的值通知給設(shè)備或傳感器設(shè)備。該通知可以通過(guò)推送服務(wù)或通過(guò)使設(shè)備輪詢更新來(lái)實(shí)現(xiàn)。
[0073]圖8示出的流程圖描述了頁(yè)面聚合器的使用。在步驟800中用戶使用用戶界面來(lái)登錄到其設(shè)備簡(jiǎn)檔。接下來(lái)在步驟802中,頁(yè)面聚合器列出所有注冊(cè)的設(shè)備并顯示聲明的屬性的當(dāng)前值。
[0074]圖9被用于描述整個(gè)系統(tǒng)的功能。示出了用于控制連線編輯器的用戶界面900。在一個(gè)區(qū)域中存在致動(dòng)器連線界面902。在第二區(qū)域中存在傳感器連線界面904。
[0075]示出了圖形用戶界面906,其示出了由圖形用戶界面900中的連線指定的頁(yè)面聚合的例子。示出了傳感器聚合908和致動(dòng)器聚合910。
[0076]圖形用戶界面900和906示出了汽車導(dǎo)航系統(tǒng)如何被用于控制桑拿加熱溫度。如果汽車正在接近家里并且離家小于7km,則桑拿溫度被設(shè)置為80攝氏度的溫度。這是使用界面900使用連線來(lái)設(shè)置的。界面906示出了這些連線規(guī)則的效果。汽車被顯示為7km的距離并且桑拿被設(shè)置為80攝氏度的溫度906。
[0077]Java門戶組件被用于實(shí)現(xiàn)本發(fā)明的實(shí)施例。門戶組件事件為門戶組件之間的通信提供了強(qiáng)大和靈活的發(fā)布/訂閱機(jī)制。它們可被用于在門戶組件之間交換復(fù)雜的數(shù)據(jù)以觸發(fā)門戶組件活動(dòng),例如更新到后端系統(tǒng)。在門戶中,它們也可以與其他通信機(jī)制例如合作(Cooperative)門戶組件以及點(diǎn)擊即行動(dòng)(click-to-action)進(jìn)行互操作。
[0078]Java門戶組件規(guī)范2.0的概念:
[0079]在Java門戶組件規(guī)范2.0中定義了門戶組件事件的編程細(xì)節(jié)。門戶組件可以使用response.setEvent ()調(diào)用來(lái)發(fā)布事件并在processEvent O方法中接收事件。GenericPortlet類提供默認(rèn)的事件處理機(jī)制,其基于OProcessEvent注釋來(lái)分發(fā)事件。
[0080]作為門戶組件程序員,在portlet, xml部署描述中聲明門戶組件可以發(fā)布或接收的所有事件。
[0081]門戶中的事件分發(fā)可被控制。Java門戶組件規(guī)范有意地未解決事件如何在門戶組件之間傳遞,而只是規(guī)定了它們?nèi)绾伪话l(fā)布和接收。在IBM WebSphere Portal版本7.0中,事件發(fā)布基于用于連接合作門戶組件的相同的事件代理和連線技術(shù)。這意味著在將門戶組件置于頁(yè)面上時(shí),它初始地不能發(fā)布或接收任何事件。必須使用門戶組件連線工具鏈路將門戶組件聲明的事件連接到其他門戶組件的輸出或輸入。
[0082]門戶組件可以在應(yīng)用資源束中聲明本地化顯示名以及對(duì)門戶組件事件的描述。至少提供顯示名,因?yàn)殚T戶組件連線工具需要該信息來(lái)適當(dāng)?shù)仫@示事件源和目標(biāo)。
[0083]可以在兩個(gè)門戶組件之間創(chuàng)建連線。為了在兩個(gè)門戶組件之間創(chuàng)建連線,源門戶組件聲明的輸出必須與目標(biāo)門戶組件聲明的輸入匹配。該匹配可以在下列兩個(gè)級(jí)別中的任一個(gè)上:
[0084]1.描述數(shù)據(jù)的語(yǔ)義內(nèi)容的XML名稱:
[0085]a.對(duì)于JSR286事件,這由portlet, xml中聲明的事件名稱來(lái)表示。
[0086]b.對(duì)于協(xié)作門戶組件,這由協(xié)作門戶組件WSDL中聲明的屬性類型的XML名稱來(lái)表
/Jn ο
[0087]2.數(shù)據(jù)的實(shí)際Java類表示。
[0088]默認(rèn)地,連線工具需要語(yǔ)義XML名稱的匹配。為了避免對(duì)協(xié)調(diào)的全局命名空間的需求,JSR286門戶組件可以為事件聲明多個(gè)別名。這允許門戶組件連接到使用不同命名約定的多個(gè)其他的門戶組件。如果portlet, xml的門戶組件部分的語(yǔ)義XML名稱以句號(hào)(.)結(jié)束,它作為通配符來(lái)使用??梢杂盟鼇?lái)匹配在portlet, xml的門戶組件應(yīng)用部分中定義的具有相同前綴的其他語(yǔ)義XML名稱。該匹配機(jī)制可以用于以統(tǒng)一方式處理具有相同凈載荷格式的一組類似的門戶組件事件。
[0089]在已知兩個(gè)門戶組件使用相同數(shù)據(jù)格式但已聲明不同XML名稱(例如,對(duì)于共同格式例如電子郵件地址)的情形下,可以切換為匹配凈載荷類型,這允許在源和目標(biāo)之間創(chuàng)建連線而不管XML語(yǔ)義名稱。這還可用于能接收任何字符串作為輸入的非常一般的目標(biāo)門戶組件。
[0090]本發(fā)明的實(shí)施例以新的方式解決了兩方面:通過(guò)連接傳感器和致動(dòng)器(其都可以是物理和/或邏輯(服務(wù))實(shí)例),通過(guò)在非常高的語(yǔ)義級(jí)別指定想要和需要的,而不用關(guān)心低級(jí)別的細(xì)節(jié),用戶以上述步驟4基本上直接在最頂層開(kāi)始。通過(guò)在用戶定義/請(qǐng)求特定場(chǎng)景應(yīng)用以及去往和來(lái)自所有參與元件的簡(jiǎn)單連接時(shí)由用戶定義的語(yǔ)義的組合,可以應(yīng)付復(fù)雜情況。本說(shuō)明書出現(xiàn)的方式利用了來(lái)自連線門戶組件的概念,并將它應(yīng)用于物理設(shè)備和/或服務(wù)的更一般的情形。
[0091]讓MyCollect成為云中的個(gè)性化中心聚焦點(diǎn),在此用戶可以注冊(cè)/注銷以及維護(hù)他的所有設(shè)備/傳感器/致動(dòng)器。
[0092]本發(fā)明中建議的方法仍需要向MyCollect注冊(cè)(且因此連接)我的傳感器和致動(dòng)器。但是,界面的定義可以在語(yǔ)義上非常高級(jí)和抽象。例如,可以使我的智能手機(jī)作為位置傳感器為MyCollect所知(等)??梢允刮壹依锏纳D脼镸yCollect所知道,作為可以開(kāi)啟/關(guān)閉的致動(dòng)器,并且還可選地作為其狀態(tài)開(kāi)啟/關(guān)閉的傳感器。所有情形下的界面在技術(shù)上僅是平的(flat)字符串類型(或其他基本類型,如用于開(kāi)啟/關(guān)閉的布爾值),而不需要關(guān)于其預(yù)期用途或附屬的任何其他東西的語(yǔ)義。
[0093]參考圖9,使用智能電話位置和桑拿致動(dòng)器以及日期/時(shí)間服務(wù)(作為總是可用的傳感器),用戶可以簡(jiǎn)單地“連線”下列場(chǎng)景應(yīng)用。在星期五17:00之后且我正在接近家里大于30km時(shí),我想要桑拿被自動(dòng)開(kāi)啟,從而在我最后到家時(shí)可以準(zhǔn)備好使用。
[0094]不管是桑拿還是智能電話還是時(shí)間服務(wù)都不需要知道它們所涉及于其中的場(chǎng)景應(yīng)用的語(yǔ)義。連接由智能用戶語(yǔ)義地建立。用戶不需要知道桑拿或智能電話使用的協(xié)議的任何事情。桑拿和智能電話僅需要實(shí)現(xiàn)非常簡(jiǎn)單的高級(jí)別界面。系統(tǒng)原則上是開(kāi)放和可擴(kuò)展的。MyCollect知道越多元件,則更多可能性和能力變得可用。不需要因?yàn)槠渌拥较到y(tǒng)而對(duì)現(xiàn)有元件進(jìn)行任何改變?!爸悄堋庇捎脩舯硎舅脑竿?需要而提供。隱私方面可被適當(dāng)?shù)靥幚?,因?yàn)槊總€(gè)元件經(jīng)過(guò)注冊(cè)顯式綁定到用戶,并且在所有可能的信息流/動(dòng)作方面在他的控制下。
【權(quán)利要求】
1.計(jì)算機(jī)系統(tǒng)(300,400),包括: -設(shè)備注冊(cè)器(320,410),用于創(chuàng)建和注冊(cè)一個(gè)或多個(gè)設(shè)備對(duì)象(322、324、326、412),其中所述一個(gè)或多個(gè)設(shè)備對(duì)象中的至少一個(gè)設(shè)備對(duì)象被配置為通過(guò)網(wǎng)絡(luò)連接(312、414)與傳感器設(shè)備(306、308、310、402)的網(wǎng)絡(luò)連接器(404)通信,其中所述設(shè)備對(duì)象被配置為通過(guò)聲明其能力而暴露傳感器設(shè)備的至少一個(gè)參數(shù)(364、366、368、908、910); -聚合模型(334、422),用于聚合至少一個(gè)設(shè)備對(duì)象的至少一個(gè)參數(shù); -連線定義的集合(340、416),描述由至少一個(gè)參數(shù)中的變化或更新所創(chuàng)建的觸發(fā)的事件;以及 -連線代理(328、420 ),用于根據(jù)所述觸發(fā)的事件來(lái)更新聚合模型。
2.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)還包括存儲(chǔ)器(318),用于存儲(chǔ)機(jī)器可執(zhí)行指令,其中指令的執(zhí)行使得處理器: a.使用網(wǎng)絡(luò)連接將網(wǎng)絡(luò)可連接設(shè)備(306、308、310、312)連接(100、200、500)到網(wǎng)絡(luò)(312,314); b.使用抽象層(322、324、326、412)在用戶界面(362)上可視化網(wǎng)絡(luò)可連接設(shè)備,其中,該網(wǎng)絡(luò)可連接設(shè)備是下列各項(xiàng)中的任一個(gè):傳感器、施動(dòng)器、多功能設(shè)備和互聯(lián)網(wǎng)服務(wù); c.用抽象層來(lái)注冊(cè)(102、202、502)設(shè)備,并通過(guò)使用抽象層來(lái)連接設(shè)備和用戶界面,使用設(shè)備注冊(cè)器來(lái)聲明其能力; d.使用抽象層來(lái)連線網(wǎng)絡(luò)可連接設(shè)備,以用解耦設(shè)備的一致性系統(tǒng)來(lái)實(shí)現(xiàn)用戶定義的控制器邏輯,其中,所述抽象層提供基礎(chǔ)設(shè)施來(lái)接收/輪詢傳感器的狀態(tài)改變并觸發(fā)施動(dòng)器的狀態(tài)改變,其中所述抽象層是通過(guò)使用軟`件抽象層而獨(dú)立的設(shè)備和/或服務(wù)。
3.如權(quán)利要求1或2所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)還包括存儲(chǔ)器(318),用于存儲(chǔ)機(jī)器可執(zhí)行指令,其中指令的執(zhí)行使得處理器: -通過(guò)網(wǎng)絡(luò)連接器將傳感器設(shè)備連接(100、200)到網(wǎng)絡(luò)(312); -利用設(shè)備注冊(cè)器來(lái)注冊(cè)(102、202)傳感器設(shè)備; -使用設(shè)備注冊(cè)器來(lái)創(chuàng)建(104、204)用于注冊(cè)的傳感器設(shè)備的設(shè)備對(duì)象;以及 -通過(guò)設(shè)備對(duì)象提供(106、206)傳感器設(shè)備的至少一個(gè)參數(shù)。
4.如權(quán)利要求3所述的計(jì)算機(jī)系統(tǒng),其中指令的執(zhí)行還使得處理器: -由設(shè)備對(duì)象從設(shè)備接收(208)更新的值; -根據(jù)所述更新的值,更新(210)至少一個(gè)參數(shù); -觸發(fā)(212)由更新所述至少一個(gè)參數(shù)引起的至少一個(gè)事件; -根據(jù)所述至少一個(gè)觸發(fā)的事件更新(214)聚合模型; -根據(jù)所述聚合模型創(chuàng)建(216)網(wǎng)頁(yè)數(shù)據(jù); -響應(yīng)于網(wǎng)頁(yè)請(qǐng)求提供(218)所述網(wǎng)頁(yè)數(shù)據(jù)。
5.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)是門戶服務(wù)器或web服務(wù)器。
6.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述設(shè)備對(duì)象被配置用于傳感器設(shè)備的至少一個(gè)被暴露的參數(shù)的語(yǔ)義映射。
7.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述計(jì)算機(jī)系統(tǒng)還包括網(wǎng)頁(yè)聚合器(336、424 ),用于供應(yīng)根據(jù)所述聚合模型而構(gòu)建的網(wǎng)頁(yè)(362、906 )。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中所述網(wǎng)頁(yè)被配置為顯示設(shè)備對(duì)象的暴露參數(shù)的聚合(362、906)。
9.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述設(shè)備注冊(cè)器被配置為使用身份驗(yàn)證服務(wù)(372)來(lái)驗(yàn)證一個(gè)或多個(gè)設(shè)備對(duì)象的訪問(wèn)授權(quán)。
10.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述傳感器設(shè)備是以下各項(xiàng)中的任一個(gè):傳感器(364 )、致動(dòng)器(366 )、多功能設(shè)備和web服務(wù)(368 )。
11.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中設(shè)備對(duì)象被配置為用于以下各項(xiàng)中的任一個(gè):發(fā)送屬性值的狀態(tài)更新、接收狀態(tài)改變請(qǐng)求、聲明要暴露的傳感器或致動(dòng)器參數(shù)值、以及其組合。
12.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),所述暴露的參數(shù)是以下各項(xiàng)中的任一個(gè):要獲取的數(shù)據(jù)、要設(shè)置的致動(dòng)器參數(shù)、要設(shè)置的數(shù)據(jù)值、以及要設(shè)置的配置值。
13.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述設(shè)備注冊(cè)器還適于為軟件服務(wù)注冊(cè)和創(chuàng)建設(shè)備對(duì)象。
14.如前述任一項(xiàng)權(quán)利要求所述的計(jì)算機(jī)系統(tǒng),其中所述門戶系統(tǒng)服務(wù)器包括設(shè)備注冊(cè)器的多個(gè)實(shí)例。
15.一種用于通過(guò)用戶界面(362、906)連接網(wǎng)絡(luò)可連接獨(dú)立設(shè)備(306、308、310、402)的方法,包括: a.將傳感器或致動(dòng)器設(shè)備連接(100、200、500)到網(wǎng)絡(luò)(312); b.通過(guò)抽象層(322、32·4、326、412)在所述用戶界面上可視化每個(gè)網(wǎng)絡(luò)可連接設(shè)備,其中所述網(wǎng)絡(luò)可連接設(shè)備屬于類型“傳感器”和/或“施動(dòng)器”; c.用所述抽象層注冊(cè)(102、202、502)每個(gè)設(shè)備,并通過(guò)將其與包括抽象層的用戶界面連接而聲明其能力; d.通過(guò)所述抽象層將選中的網(wǎng)絡(luò)可連接設(shè)備與選中的其他設(shè)備連線,以便用解耦設(shè)備的一致性系統(tǒng)來(lái)實(shí)現(xiàn)用戶定義的控制器邏輯,其中所述抽象層提供基礎(chǔ)設(shè)施來(lái)輪詢傳感器的狀態(tài)改變并觸發(fā)施動(dòng)器的狀態(tài)改變, 其中所述抽象層是通過(guò)使用軟件抽象層而獨(dú)立的設(shè)備和/或服務(wù)。
【文檔編號(hào)】H04L29/08GK103858409SQ201280049366
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2012年10月4日 優(yōu)先權(quán)日:2011年10月12日
【發(fā)明者】T·斯托博, M·韋爾施, S·維爾德特, S·利爾施 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司