專利名稱:工作流決策管理的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域是數(shù)據(jù)處理,或者更具體地說,是用于工作流決策管理的方法、系統(tǒng)和產(chǎn)品。
背景技術(shù):
傳統(tǒng)的網(wǎng)絡(luò)包括各種聯(lián)網(wǎng)設(shè)備。用戶經(jīng)常根據(jù)設(shè)備使用的相容模式和情景來使用各種設(shè)備或者調(diào)節(jié)這些設(shè)備的特定設(shè)置。盡管根據(jù)設(shè)備使用的這些相容模式和情景來常規(guī)地使用設(shè)備,但傳統(tǒng)的聯(lián)網(wǎng)設(shè)備仍然經(jīng)常需要用戶干預(yù)以改變?cè)O(shè)備的屬性值。如果存在一種工作流決策管理方法根據(jù)識(shí)別的使用模式和識(shí)別的情景來使用工作流以改變網(wǎng)絡(luò)中的設(shè)備屬性值而不需要用戶干預(yù)將是有利的。
發(fā)明內(nèi)容
提供用于工作流決策管理的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。實(shí)施例包括維護(hù)設(shè)備狀態(tài)歷史;根據(jù)設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;根據(jù)設(shè)備使用模式識(shí)別工作流情景;根據(jù)工作流情景識(shí)別工作流;執(zhí)行工作流,包括向設(shè)備發(fā)送消息以管理該設(shè)備的屬性的至少一個(gè)值;以及將該消息記錄到日志中??梢酝ㄟ^將描述發(fā)送到設(shè)備的消息的消息信息記錄到消息日志中來實(shí)施將該消息記錄到日志中。
許多實(shí)施例還包括根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別消息模式??梢酝ㄟ^對(duì)消息日志進(jìn)行數(shù)據(jù)挖掘來實(shí)施根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別消息模式,所述消息日志包括描述發(fā)送到設(shè)備的消息的消息信息。
可以進(jìn)一步根據(jù)消息模式實(shí)施根據(jù)設(shè)備使用模式識(shí)別工作流情景??梢酝ㄟ^根據(jù)相關(guān)容限(tolerance)執(zhí)行工作流來實(shí)施執(zhí)行工作流。
通過下面如附圖所示的本發(fā)明的示例性實(shí)施例的更詳細(xì)描述,本發(fā)明的前述和其它目的地、特性和優(yōu)勢(shì)將變得顯而易見,在附圖中,相同的參考標(biāo)記通常表示本發(fā)明的示例性實(shí)施例的相同部分。
圖1描述了根據(jù)本發(fā)明實(shí)施例的能夠?qū)崿F(xiàn)工作流決策管理的示例性數(shù)據(jù)處理系統(tǒng)。
圖2示出了根據(jù)本發(fā)明實(shí)施例的用在實(shí)現(xiàn)工作流決策管理中的示例性設(shè)備的方框圖。
圖3示出了描述根據(jù)本發(fā)明的若干方面的用在實(shí)現(xiàn)工作流決策管理方法中的示例性數(shù)據(jù)結(jié)構(gòu)的方框圖。
圖4示出了描述根據(jù)本發(fā)明的若干方面的用在實(shí)現(xiàn)工作流決策管理方法中的更多示例性數(shù)據(jù)結(jié)構(gòu)的方框圖。
圖5示出了描述圖3和圖4的數(shù)據(jù)結(jié)構(gòu)之間的示例性關(guān)系的方框圖。
圖6示出了描述用于工作流決策管理的示例性方法的數(shù)據(jù)流示意圖。
圖7示出了描述用于包括在工作流執(zhí)行時(shí)將發(fā)送的消息記錄在日志中的工作流決策管理的示例性方法的流程圖。
圖8示出了描述根據(jù)本發(fā)明的工作流決策管理的附加方面的流程圖。
具體實(shí)施例方式
定義“802.11”指的是由IEEE為無線LAN技術(shù)開發(fā)的一組規(guī)范。802.11規(guī)定了無線客戶端和基站之間或兩個(gè)無線客戶端之間的空中接口。
“API”是“application programming interface”(應(yīng)用程序編程接口)的縮寫。API是用于構(gòu)造軟件應(yīng)用程序的一組例程、協(xié)議和工具。
“BlueTooth(藍(lán)牙)”指的是用于客戶端設(shè)備之間以及客戶端設(shè)備和LAN或其它網(wǎng)絡(luò)上的資源之間的RF耦合的短程無線電技術(shù)的工業(yè)規(guī)范。一個(gè)稱為藍(lán)牙特殊興趣小組(Bluetooth SpecialInterest Group)的管理主體測(cè)試設(shè)備并證明設(shè)備能夠“遵循藍(lán)牙”。藍(lán)牙規(guī)范由提供設(shè)計(jì)規(guī)范的“基礎(chǔ)核心”和提供互操作性指導(dǎo)的“基礎(chǔ)特征文件”組成。
“CEBus”是Consumer Electronics Bus(消費(fèi)電子總線)的縮寫。CEBus是用于控制諸如電力線、射頻(RF)、紅外(IR)、同軸電纜、雙絞線、光纖和音頻/視頻等的不同介質(zhì)上的設(shè)備的開放國(guó)際標(biāo)準(zhǔn)。CEBus標(biāo)準(zhǔn)由消費(fèi)電子制造商聯(lián)盟(CEMA)發(fā)布并被描述在12個(gè)標(biāo)準(zhǔn)中ANSI/EIA-600系列,其中消費(fèi)電子制造商聯(lián)盟是電子工業(yè)聯(lián)盟(EIA)的一個(gè)分支。CEBus標(biāo)準(zhǔn)描述了網(wǎng)絡(luò)介質(zhì)的物理設(shè)計(jì)和拓?fù)?、消息生成的協(xié)議、以及通用應(yīng)用語言(“CAL”)。CEBus規(guī)范可從http://www.cebus.org處下載獲得。
CEBus提供了EIA 600.81中定義的通用應(yīng)用語言(CAL),它使用面向?qū)ο蟮哪P吞峁┞?lián)網(wǎng)環(huán)境中不同設(shè)備之間的互操作性。CAL規(guī)范定義了一組向這些不同聯(lián)網(wǎng)設(shè)備的內(nèi)部操作提供接口的類。如果一個(gè)功能或特征不能被很好地映射到CAL規(guī)范中定義的其中一個(gè)類,則CAL規(guī)范已經(jīng)留出了一個(gè)特定范圍的類標(biāo)識(shí)符用于定義特殊類。
CAL對(duì)象有兩個(gè)重要的屬性實(shí)例變量和方法。實(shí)例變量包含諸如布爾指示、數(shù)值信息、字符串信息和其它數(shù)據(jù)等的與特定CAL對(duì)象有關(guān)的信息。布爾實(shí)例變量只能被設(shè)置為TRUE(真)或FALSE(假)。顧名思義,數(shù)值實(shí)例變量用于數(shù)字的存儲(chǔ)。字符串類型的實(shí)例變量提供了文本的存儲(chǔ)。同時(shí)其它數(shù)據(jù)類型的實(shí)例變量提供存儲(chǔ)其它信息作為一個(gè)或多個(gè)元素的一維數(shù)組;每個(gè)元素包括相同數(shù)量的一個(gè)或多個(gè)字節(jié)。
對(duì)CAL實(shí)例變量中包含的信息的訪問是通過該對(duì)象專有的一組成員方法來實(shí)現(xiàn)的。常見的方法的例子包括setOn、setOff、setValue、getValue、setArray、getArray。并非所有方法都適合于每個(gè)實(shí)例變量類型。例如,setOn方法是用于操縱布爾實(shí)例變量,因此對(duì)于字符串類型的實(shí)例變量沒有定義。
“為數(shù)據(jù)通信而耦合”意味著任何形式的數(shù)據(jù)通信,比如無線、802.11b、藍(lán)牙、紅外、無線電、互聯(lián)網(wǎng)協(xié)議、HTTP協(xié)議、電子郵件協(xié)議、聯(lián)網(wǎng)、直接連接、專用電話線、撥號(hào)、利用RS-232(EIA232)或者通用串行總線的串行連接、硬布線并行端口連接、根據(jù)電力線協(xié)議的網(wǎng)絡(luò)連接以及本領(lǐng)域技術(shù)人員所能想到的用于數(shù)據(jù)通信的其它連接形式。為數(shù)據(jù)通信的耦合包括為數(shù)據(jù)通信的聯(lián)網(wǎng)耦合。可使用本發(fā)明的各種實(shí)施例的網(wǎng)絡(luò)的例子包括電纜網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、互聯(lián)網(wǎng)、局域網(wǎng)、廣域網(wǎng)以及本領(lǐng)域技術(shù)人員所能想到的其它網(wǎng)絡(luò)布局。對(duì)電視頻道、電纜頻道、視頻提供商、電信源等之間的任何聯(lián)網(wǎng)耦合的使用都正好在本發(fā)明的范圍內(nèi)。
“HAVi”代表“Home Audio Video interoperability”(家庭音頻視頻互操作性),它是特別用于家庭娛樂環(huán)境的供應(yīng)商中立的音頻視頻標(biāo)準(zhǔn)的名字。HAVi允許將不同的家庭娛樂和通信設(shè)備(比如VCR、電視、音響、安全系統(tǒng)和視頻監(jiān)視器)聯(lián)網(wǎng)在一起并從一個(gè)主設(shè)備(比如服務(wù)網(wǎng)關(guān)、PC或電視)進(jìn)行控制。使用IEEE 1394(“火線(Firewire)”規(guī)范)作為互連介質(zhì),HAVi允許來自不同供應(yīng)商的產(chǎn)品根據(jù)定義的連接和通信協(xié)議以及API彼此適應(yīng)。由HAVi的分布式應(yīng)用系統(tǒng)提供的服務(wù)包括尋址方案和消息傳輸、用于發(fā)現(xiàn)資源的查找、公告并接收本地或遠(yuǎn)程事件、以及流傳輸和控制同步數(shù)據(jù)流。
“HomePlug”代表HomePlug Powerline Alliance(家庭插頭電力線聯(lián)盟)。HomePlug是為針對(duì)高速家庭電力線聯(lián)網(wǎng)產(chǎn)品和服務(wù)的開放規(guī)范的創(chuàng)建提供論壇而成立的非贏利性社團(tuán)。HomePlug規(guī)范是為使用電力線聯(lián)網(wǎng)標(biāo)準(zhǔn)通過家庭電力插口將互聯(lián)網(wǎng)通信和多媒體傳送到家庭而設(shè)計(jì)的。
HomePlug協(xié)議允許支持HomePlug的設(shè)備使用射頻(RF)信號(hào)在電力線上進(jìn)行通信。HomePlug協(xié)議使用正交頻分多路復(fù)用(OFDM)將RF信號(hào)分成多個(gè)更小的子信號(hào),并且隨后在電力線上以不同的頻率將這些子信號(hào)從一個(gè)支持HomePlug的設(shè)備傳輸?shù)搅硪粋€(gè)支持HomePlug的設(shè)備。
“HTTP”代表“HyperText Transport Protocol”(超文本傳輸協(xié)議),它是萬維網(wǎng)的標(biāo)準(zhǔn)數(shù)據(jù)通信協(xié)議。
正如本說明書中約定與數(shù)據(jù)元素中表示的名詞一起使用的“ID”是“identification”(識(shí)別)的縮寫,使得“user ID”指用戶識(shí)別,以及“user ID”是存儲(chǔ)用戶識(shí)別的數(shù)據(jù)元素的名字。
“LAN”是“Local Area Network”(局域網(wǎng))的縮寫。LAN是覆蓋相對(duì)較小區(qū)域的計(jì)算機(jī)網(wǎng)絡(luò)。許多LAN被限制在單個(gè)建筑或一組建筑范圍內(nèi)。但是,一個(gè)LAN可以通過電話線和無線電波與任何距離上的其它LAN相連。以這種方式相連的LAN的系統(tǒng)稱為廣域網(wǎng)(WAN)。英特網(wǎng)是WAN的一個(gè)例子。
“LonWorks”是可從Echelon獲得的聯(lián)網(wǎng)平臺(tái)。Lon Works當(dāng)前被用在各種網(wǎng)絡(luò)應(yīng)用中,比如設(shè)備控制和照明控制。LonWorks聯(lián)網(wǎng)平臺(tái)使用一種稱為“LonTalk”的協(xié)議,該協(xié)議嵌入在支持LonWorks的設(shè)備中所安裝的“Neuron Chip(神經(jīng)元芯片)”中。
Neuron Chip是一種具有多個(gè)處理器、讀寫存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)以及通信和I/O子系統(tǒng)的片上系統(tǒng)。只讀存儲(chǔ)器包含操作系統(tǒng)、LonTalk協(xié)議以及I/O功能庫(kù)。芯片具有用于配置數(shù)據(jù)和應(yīng)用程序的非易失性存儲(chǔ)器,配置數(shù)據(jù)和應(yīng)用程序可以在LonWorks網(wǎng)絡(luò)上下載到設(shè)備。Neuron Chip提供了標(biāo)準(zhǔn)OSI網(wǎng)絡(luò)模型的前6層。也就是說,Neuron Chip提供了物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層和表示層。
Neuron Chip不提供應(yīng)用層編程。用于LonWorks網(wǎng)絡(luò)的應(yīng)用是利用稱為“Neuron C”的編程語言編寫的。利用Neuron C編寫的應(yīng)用通常是事件驅(qū)動(dòng)的,因此會(huì)導(dǎo)致網(wǎng)絡(luò)上的業(yè)務(wù)量下降。
“OSGI”指“Open Services Gateway Initiative”(開放服務(wù)網(wǎng)關(guān)組織),它是為服務(wù)網(wǎng)關(guān)開發(fā)規(guī)范(包括針對(duì)服務(wù)包的傳送、提供遵循數(shù)據(jù)通信的軟件中間件、以及通過服務(wù)網(wǎng)關(guān)的服務(wù)的規(guī)范)的工業(yè)組織。開放服務(wù)網(wǎng)關(guān)規(guī)范是基于java的應(yīng)用層框架,它給服務(wù)提供商、網(wǎng)絡(luò)運(yùn)營(yíng)設(shè)備制造商、以及設(shè)備制造商的供應(yīng)商提供中立的應(yīng)用和設(shè)備層API以及功能。
“USB”是“Universal Serial Bus”(通用串行總線)的縮寫。USB是支持12Mbps數(shù)據(jù)傳輸速率的外部總線標(biāo)準(zhǔn)。單個(gè)USB端口可以用來連接多達(dá)127個(gè)外圍設(shè)備,比如鼠標(biāo)、調(diào)制解調(diào)器和鍵盤。USB還支持即插即用(Plug-and-Play)安裝和熱插拔。
“WAP”指的是無線應(yīng)用協(xié)議(Wireless Application Protocol),它是用于與手持無線設(shè)備一起使用的協(xié)議。可使用WAP的無線設(shè)備的例子包括移動(dòng)電話機(jī)、尋呼機(jī)、雙向無線電設(shè)備和手持計(jì)算機(jī)。WAP支持許多無線網(wǎng)絡(luò),并且許多操作系統(tǒng)都支持WAP。特別為手持設(shè)備設(shè)計(jì)的操作系統(tǒng)包括PalmOS、EPOC、Windows CE、FLEXOS、OS/9和JavaOS。使用顯示器并訪問因特網(wǎng)的WAP設(shè)備運(yùn)行“微瀏覽器”。微瀏覽器使用可以適應(yīng)手持設(shè)備的低存儲(chǔ)器限制以及無線網(wǎng)絡(luò)的低帶寬限制的小文件尺寸。
“X-10”指X-10協(xié)議。典型的支持X-10的設(shè)備使用X-10發(fā)射器和X-10接收器在AC電力線布線(比如家庭中現(xiàn)有的AC布線)上進(jìn)行通信。X-10發(fā)射器和X-10接收器使用射頻(RF)信號(hào)交換數(shù)字信息。X-10發(fā)射器和X-10接收器利用表示數(shù)字信息的短RF突發(fā)進(jìn)行通信。
在X-10協(xié)議中,以稱為幀的數(shù)據(jù)串形式發(fā)送數(shù)據(jù)。幀開始于指定為“1110”的4位起始碼。在起始碼之后,幀利用4位“住宅碼”識(shí)別一個(gè)特定域,比如住宅,并利用4位“設(shè)備碼”識(shí)別該域中的設(shè)備。幀還包括識(shí)別特定預(yù)置命令(如“開”,“關(guān)”,“暗”,“亮”,“狀態(tài)開”,“狀態(tài)關(guān)”和“狀態(tài)請(qǐng)求”)的8位命令串。
示例性體系結(jié)構(gòu)現(xiàn)在從圖1開始參考附圖解釋用于工作流決策管理的示例性方法、系統(tǒng)和產(chǎn)品。圖1描述了根據(jù)本發(fā)明實(shí)施例的能夠?qū)崿F(xiàn)工作流決策管理的示例性數(shù)據(jù)處理系統(tǒng)。圖1的示例性系統(tǒng)包括多個(gè)根據(jù)本發(fā)明實(shí)施例的能夠?qū)崿F(xiàn)工作流決策管理的遵循工作流決策管理設(shè)備,它們通過局域網(wǎng)(“LAN”)103連接在一起,用于進(jìn)行數(shù)據(jù)通信。在圖1的例子中,示例性遵循工作流決策管理設(shè)備包括個(gè)人數(shù)字助理(“PDA”)112、計(jì)算機(jī)工作站104、個(gè)人錄像機(jī)108、服務(wù)器110、個(gè)人計(jì)算機(jī)102、恒溫器114、膝上型計(jì)算機(jī)116、臺(tái)燈118、光盤播放器120和電話機(jī)109,它們通過LAN相耦合用于進(jìn)行數(shù)據(jù)通信。圖1的體系結(jié)構(gòu)的網(wǎng)絡(luò)連接方面只是為了解釋而非限制。實(shí)際上,根據(jù)本發(fā)明實(shí)施例的用于工作流決策管理的系統(tǒng)可以利用LAN、WAN、內(nèi)聯(lián)網(wǎng)、互聯(lián)網(wǎng)、英特網(wǎng)、萬維網(wǎng)、環(huán)球網(wǎng)本身以及本領(lǐng)域技術(shù)人員所能想到的其它連接來實(shí)現(xiàn)。這些網(wǎng)絡(luò)是可以用來在整個(gè)數(shù)據(jù)處理系統(tǒng)中連接在一起的各種設(shè)備和計(jì)算機(jī)之間提供數(shù)據(jù)通信連接的介質(zhì)。
在圖1的例子中,PDA 112通過無線鏈路124耦合到LAN 103,用于進(jìn)行數(shù)據(jù)通信。工作站104、服務(wù)器110、個(gè)人計(jì)算機(jī)102、膝上型計(jì)算機(jī)116和電話機(jī)109通過雙絞線有線連接126、130、132、136、122耦合到LAN,用于進(jìn)行數(shù)據(jù)通信。個(gè)人錄像機(jī)108和光盤播放器105通過同軸電纜有線連接128、140耦合到LAN,用于進(jìn)行數(shù)據(jù)通信。恒溫器114和臺(tái)燈118通過電力線連接134、138耦合到LAN,用于進(jìn)行數(shù)據(jù)通信。
圖1的示例性設(shè)備能夠報(bào)告所支持的設(shè)備屬性的當(dāng)前值,并且圖1的示例性設(shè)備還能夠從其它設(shè)備接收指示該設(shè)備改變所支持屬性的值的消息。圖1的示例性系統(tǒng)一般能夠維護(hù)設(shè)備狀態(tài)歷史;根據(jù)設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;以及根據(jù)設(shè)備使用模式識(shí)別導(dǎo)出(derived)情景。圖1的示例性設(shè)備還能夠根據(jù)導(dǎo)出情景識(shí)別工作流并根據(jù)預(yù)定容限執(zhí)行工作流。圖1的示例性設(shè)備還能夠通過發(fā)送消息到設(shè)備以管理該設(shè)備的屬性的至少一個(gè)值并將消息記錄到日志中而來執(zhí)行工作流。
設(shè)備狀態(tài)歷史是一個(gè)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值的歷史。在圖1的例子中,每個(gè)設(shè)備可以維護(hù)它自己的設(shè)備狀態(tài)歷史并將設(shè)備歷史存儲(chǔ)在該設(shè)備上安裝的計(jì)算機(jī)存儲(chǔ)器中,或者網(wǎng)絡(luò)中所有設(shè)備的單個(gè)設(shè)備狀態(tài)歷史可被維護(hù)在實(shí)現(xiàn)工作流決策管理的應(yīng)用程序可訪問的、安裝在一個(gè)或多個(gè)設(shè)備上的計(jì)算機(jī)存儲(chǔ)器中。
設(shè)備使用模式一般被實(shí)現(xiàn)為一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)表示一個(gè)或多個(gè)設(shè)備的設(shè)備使用的預(yù)定模式。即,表示設(shè)備使用模式的數(shù)據(jù)結(jié)構(gòu)。設(shè)備使用模式可以表示單個(gè)設(shè)備的使用模式或多個(gè)設(shè)備的使用模式。圖1的系統(tǒng)一般通過在多個(gè)存儲(chǔ)的設(shè)備使用記錄中搜索與設(shè)備狀態(tài)歷史中最近的條目相匹配的設(shè)備使用記錄而來根據(jù)設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式。
圖1的系統(tǒng)還能夠根據(jù)識(shí)別的設(shè)備使用模式識(shí)別導(dǎo)出情景。導(dǎo)出情景一般被實(shí)現(xiàn)為表示聯(lián)網(wǎng)環(huán)境中設(shè)備的特定狀態(tài)的數(shù)據(jù)結(jié)構(gòu)。根據(jù)聯(lián)網(wǎng)環(huán)境中實(shí)際的過去設(shè)備使用來產(chǎn)生導(dǎo)出情景,并且這種導(dǎo)出情景經(jīng)常表示多個(gè)設(shè)備的設(shè)備使用情景。圖1的系統(tǒng)一般通過根據(jù)識(shí)別的設(shè)備使用模式ID從導(dǎo)出情景表中檢索導(dǎo)出情景ID而來識(shí)別導(dǎo)出情景。
圖1的系統(tǒng)還能夠根據(jù)導(dǎo)出情景識(shí)別工作流并執(zhí)行工作流。工作流是實(shí)現(xiàn)設(shè)備控制動(dòng)作的軟件,所述設(shè)備控制動(dòng)作在被執(zhí)行時(shí)改變一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值。執(zhí)行工作流一般包括調(diào)用設(shè)備的CAL對(duì)象中的成員方法,下載OSGi包到設(shè)備,調(diào)用設(shè)備類中的成員方法,發(fā)送消息到設(shè)備,或者本領(lǐng)域技術(shù)人員所能想到的任何其它執(zhí)行工作流的方法。
構(gòu)成圖1所示的示例性系統(tǒng)的設(shè)備的布局是為了解釋而非限制。正如本領(lǐng)域技術(shù)人員所能想到的,根據(jù)本發(fā)明的各種實(shí)施例有用的數(shù)據(jù)處理系統(tǒng)可以包括圖1中未示出的附加的服務(wù)器、路由器、其它設(shè)備以及對(duì)等體系結(jié)構(gòu)。這種數(shù)據(jù)處理系統(tǒng)中的網(wǎng)絡(luò)可以支持許多數(shù)據(jù)通信協(xié)議,包括例如CEBus、X-10、LonTalk、HomePlug、HAVi、TCP/IP、HTTP、WAP以及本領(lǐng)域技術(shù)人員所能想到的其它協(xié)議。也可以在不同的計(jì)算機(jī)環(huán)境(如CEBus、OSGi以及本領(lǐng)域技術(shù)人員所能想到的其它環(huán)境)中實(shí)現(xiàn)本發(fā)明的各種實(shí)施例。盡管本說明書中的很多內(nèi)容特別參考CEBus描述了本發(fā)明的示例性實(shí)施例,但這些描述是為了解釋而非限制。實(shí)際上,許多環(huán)境和框架都支持根據(jù)本發(fā)明的工作流決策管理,如CEBus、HAVi、HomePlug、LonWorks、X-10、OSGi以及本領(lǐng)域技術(shù)人員所能想到的其它環(huán)境和框架,并且所有這些環(huán)境和框架都在本發(fā)明的范圍內(nèi)。
根據(jù)本發(fā)明的工作流決策管理通常是利用安裝在一個(gè)或多個(gè)遵循工作流決策管理設(shè)備上的自動(dòng)計(jì)算機(jī)器來實(shí)現(xiàn)的。為了進(jìn)一步解釋,圖2示出了根據(jù)本發(fā)明實(shí)施例的用在實(shí)現(xiàn)工作流決策管理中的示例性設(shè)備150的方框圖。圖2的設(shè)備150包括至少一個(gè)計(jì)算機(jī)處理器156或“CPU”以及隨機(jī)訪問存儲(chǔ)器168(“RAM”)。在RAM 168中存儲(chǔ)有操作系統(tǒng)154。在根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)中有用的操作系統(tǒng)包括Unix、Linux、Microsoft XPTM以及本領(lǐng)域技術(shù)人員所能想到的許多其它操作系統(tǒng)。圖2的例子中顯示操作系統(tǒng)154在RAM168中,但操作系統(tǒng)的許多組件通常還被存儲(chǔ)在非易失性存儲(chǔ)器166中。
在RAM中還存儲(chǔ)有工作流決策管理應(yīng)用232。該工作流決策管理應(yīng)用是通常能夠維護(hù)設(shè)備狀態(tài)歷史、根據(jù)設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式、以及根據(jù)設(shè)備使用模式識(shí)別導(dǎo)出情景的應(yīng)用計(jì)算機(jī)程序。導(dǎo)出情景一般具有控制工作流執(zhí)行的容限。圖2的示例性設(shè)備還能夠根據(jù)導(dǎo)出情景識(shí)別工作流并執(zhí)行工作流。根據(jù)本發(fā)明的工作流決策管理方法可以使用許多編程語言來實(shí)現(xiàn),如CAL、OSGi、Java、C++、Smalltalk、C、Pascal、Basic、COBOL、Fortran,以及本領(lǐng)域技術(shù)人員所能想到的其它語言。
工作流決策管理應(yīng)用162一般還能夠維護(hù)設(shè)備狀態(tài)歷史;根據(jù)設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;根據(jù)設(shè)備使用模式識(shí)別工作流情景;根據(jù)工作流情景識(shí)別工作流;以及執(zhí)行該工作流,包括發(fā)送消息到設(shè)備以管理該設(shè)備的屬性的至少一個(gè)值。
圖2的示例性工作流決策管理應(yīng)用232還包括日志記錄模塊231。該日志記錄模塊231包括能夠通過將描述發(fā)送到設(shè)備的消息的消息信息記錄到消息日志中而來將消息記錄到日志中的計(jì)算機(jī)程序指令。
示例性工作流決策管理應(yīng)用232還包括消息模式識(shí)別模塊233。該消息模式識(shí)別模塊233包括實(shí)現(xiàn)以下內(nèi)容的計(jì)算機(jī)程序指令通過對(duì)包括描述發(fā)送到設(shè)備的信息的消息信息的信息日志進(jìn)行數(shù)據(jù)挖掘來根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別消息模式。
圖2的設(shè)備150包括通過系統(tǒng)總線160耦合到處理器156以及設(shè)備150的其它部件的非易失性計(jì)算機(jī)存儲(chǔ)器166。非易失性計(jì)算機(jī)存儲(chǔ)器166可以被實(shí)現(xiàn)為硬盤驅(qū)動(dòng)器170、光盤驅(qū)動(dòng)器172、電可擦可編程只讀存儲(chǔ)器空間(所謂EEPROM或“快閃”存儲(chǔ)器)174、RAM驅(qū)動(dòng)器(未示出)或本領(lǐng)域技術(shù)人員所能想到的任何其它種類的計(jì)算機(jī)存儲(chǔ)器。
圖2的示例性設(shè)備150包括通信適配器167,用于實(shí)現(xiàn)到其它遵循工作流管理設(shè)備182(包括服務(wù)器、其它工作流管理客戶端設(shè)備以及本領(lǐng)域技術(shù)人員所能想到的其它設(shè)備)的用于數(shù)據(jù)通信的連接184,包括通過網(wǎng)絡(luò)的連接。通信適配器實(shí)現(xiàn)了用于數(shù)據(jù)通信的連接的硬件層,通過它,本地設(shè)備和遠(yuǎn)程設(shè)備或服務(wù)器彼此直接和通過網(wǎng)絡(luò)發(fā)送數(shù)據(jù)通信??捎糜诟鶕?jù)本發(fā)明實(shí)施例的工作流決策管理的通信適配器的例子包括用于有線撥號(hào)連接的調(diào)制解調(diào)器、用于有線LAN連接的以太網(wǎng)(IEEE802.3)適配器以及用于無線LAN連接的802.11b適配器等。
圖2的示例性設(shè)備包括一個(gè)或多個(gè)輸入/輸出接口適配器178。遵循工作流管理設(shè)備中的輸入/輸出接口適配器通過例如軟件驅(qū)動(dòng)程序和計(jì)算機(jī)硬件來實(shí)現(xiàn)面向用戶的輸入/輸出,所述軟件驅(qū)動(dòng)程序和計(jì)算機(jī)硬件用于控制到顯示設(shè)備180(比如計(jì)算機(jī)顯示屏)的輸出以及來自用戶輸出設(shè)備181(如鍵盤和鼠標(biāo))的用戶輸入。
示例性數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)之間的關(guān)系圖3和圖4示出了描述根據(jù)本發(fā)明的若干方面的用在實(shí)現(xiàn)工作流決策管理方法中的示例性數(shù)據(jù)結(jié)構(gòu)的方框圖。在本說明書中,除非上下文特別指出,否則術(shù)語“字段”和“數(shù)據(jù)元素”通常被用作同義詞,指數(shù)字?jǐn)?shù)據(jù)的各個(gè)元素。數(shù)據(jù)元素的聚合被稱為“記錄”或“數(shù)據(jù)結(jié)構(gòu)”。記錄的聚合被稱為“表”或“文件”。文件或表的聚合被稱為“數(shù)據(jù)庫(kù)”。
圖3的例子包括設(shè)備記錄150,設(shè)備記錄150表示根據(jù)本發(fā)明的遵循工作流決策管理設(shè)備。示例性設(shè)備記錄150包括唯一識(shí)別設(shè)備的設(shè)備ID字段302。示例性設(shè)備記錄150還包括包含設(shè)備的網(wǎng)絡(luò)地址的地址字段304。示例性設(shè)備記錄150包括屬性字段306。屬性字段包含表示設(shè)備狀態(tài)(比如,開,關(guān),音量(Volume)設(shè)置等)的特定設(shè)備屬性的值。盡管在圖3的例子中只示出了一個(gè)屬性字段,但這只是為了簡(jiǎn)化解釋。正如本領(lǐng)域技術(shù)人員所能想到的,許多遵循工作流決策管理設(shè)備支持多個(gè)屬性。
圖3的例子包括示例性設(shè)備狀態(tài)記錄330,它表示特定設(shè)備的許可設(shè)備狀態(tài)。設(shè)備狀態(tài)記錄包括設(shè)備ID字段302,該設(shè)備ID字段302唯一識(shí)別其中該設(shè)備狀態(tài)記錄表示可接受設(shè)備狀態(tài)的設(shè)備。設(shè)備狀態(tài)記錄330還包括設(shè)備狀態(tài)ID字段316,該設(shè)備狀態(tài)ID字段316唯一識(shí)別設(shè)備狀態(tài)。設(shè)備狀態(tài)記錄330還包括描述字段308,該描述字段328包含對(duì)設(shè)備的可接受狀態(tài)或?qū)傩灾档拿枋觥?br>
圖3的例子包括設(shè)備狀態(tài)歷史314。設(shè)備狀態(tài)歷史是包含一個(gè)或多個(gè)設(shè)備的狀態(tài)歷史的數(shù)據(jù)結(jié)構(gòu)。即設(shè)備屬性的當(dāng)前值及過去值。示例性設(shè)備狀態(tài)歷史314中的記錄包括設(shè)備ID 302,設(shè)備ID 302唯一識(shí)別為其記錄設(shè)備狀態(tài)的設(shè)備。示例性設(shè)備狀態(tài)歷史的記錄還包括設(shè)備狀態(tài)ID字段316,設(shè)備狀態(tài)ID字段316唯一識(shí)別設(shè)備的可接受設(shè)備狀態(tài)。示例性設(shè)備狀態(tài)歷史314的記錄包括值字段318,值字段318包含設(shè)備的特定屬性的值。如上所述,典型的設(shè)備支持多個(gè)屬性,因此典型的設(shè)備狀態(tài)歷史的記錄包括多個(gè)包含所支持的屬性的值的值字段。示例性設(shè)備狀態(tài)歷史的記錄包括時(shí)間戳字段320,時(shí)間戳字段320包含識(shí)別特定設(shè)備的特定設(shè)備屬性具有特定值的日期和時(shí)間的日期和時(shí)間信息。
圖3的例子包括設(shè)備使用記錄328,設(shè)備使用記錄328表示設(shè)備的設(shè)備屬性的預(yù)定模式。即,設(shè)備使用是用來識(shí)別特定聯(lián)網(wǎng)環(huán)境中設(shè)備的狀態(tài)是否符合預(yù)定模式的數(shù)據(jù)結(jié)構(gòu)。為了確定特定聯(lián)網(wǎng)環(huán)境中的當(dāng)前設(shè)備的狀態(tài)是否符合預(yù)定模式,將設(shè)備狀態(tài)歷史中最近的條目與多個(gè)設(shè)備使用進(jìn)行比較。如果比較結(jié)果為匹配,則斷定該特定聯(lián)網(wǎng)環(huán)境中設(shè)備的狀態(tài)符合預(yù)定模式。
示例性設(shè)備使用328包括使用ID 331,使用ID 331唯一識(shí)別特定的預(yù)定設(shè)備使用模式。圖3的示例性設(shè)備使用包括設(shè)備ID 302,設(shè)備ID 302唯一識(shí)別特定設(shè)備。設(shè)備使用328還包括設(shè)備狀態(tài)ID316,設(shè)備狀態(tài)ID 316唯一識(shí)別該特定設(shè)備的可接受設(shè)備狀態(tài)。示例性設(shè)備使用328包括值字段318,值字段318包含該設(shè)備的特定支持屬性的值。
圖3的例子包括使用記錄332,使用記錄332識(shí)別并描述聯(lián)網(wǎng)環(huán)境中的特定設(shè)備使用模式。該使用記錄332包括使用ID 334和描述字段336,使用ID 334唯一識(shí)別設(shè)備使用模式,以及描述字段336包含對(duì)使用記錄332所表示的設(shè)備使用模式的描述。
圖3的例子包括情景記錄344,情景記錄344表示與識(shí)別的預(yù)定設(shè)備使用模式一致的特定設(shè)備使用情景。通常從許多聯(lián)網(wǎng)環(huán)境中的許多用戶來預(yù)先確定和預(yù)先定義情景344。即,這種情景不是根據(jù)實(shí)現(xiàn)它們的聯(lián)網(wǎng)域中的實(shí)際的設(shè)備使用來產(chǎn)生的。在設(shè)備的當(dāng)前狀態(tài)符合預(yù)定設(shè)備使用模式時(shí),設(shè)備的當(dāng)前狀態(tài)還可以符合多個(gè)情景之一。圖3的示例性情景記錄344包括唯一識(shí)別情景的情景ID字段346。圖3的示例性情景記錄344包括工作流ID 340,工作流ID 340識(shí)別當(dāng)特定聯(lián)網(wǎng)環(huán)境中的當(dāng)前設(shè)備狀態(tài)識(shí)別一個(gè)情景時(shí)要執(zhí)行的工作流。盡管圖3的情景記錄包括單個(gè)工作流ID字段,但這只是為了簡(jiǎn)化解釋,而非限制性的。在本發(fā)明的許多實(shí)施例中,特定情景支持多個(gè)工作流的執(zhí)行。圖3的情景344還包含描述字段350,描述字段350包含對(duì)情景的描述。
圖3的例子包括工作流記錄338,工作流記錄338表示一個(gè)特定設(shè)備控制動(dòng)作或一組設(shè)備控制動(dòng)作。根據(jù)本發(fā)明,工作流是實(shí)現(xiàn)設(shè)備控制動(dòng)作的軟件,所述設(shè)備控制動(dòng)作在被執(zhí)行時(shí)改變一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值。示例性工作流記錄338包括唯一識(shí)別工作流的工作流ID 340。圖3的示例性工作流記錄338還包括序號(hào)字段342,序號(hào)字段342的值用來以多個(gè)工作流的特定執(zhí)行順序執(zhí)行這個(gè)工作流。即,當(dāng)為一個(gè)情景執(zhí)行多個(gè)工作流時(shí),序號(hào)字段的值用來為該多個(gè)工作流的執(zhí)行進(jìn)行排序。正如本領(lǐng)域技術(shù)人員所能想到的,工作流可以利用CAL、OSGi、Java、C++、Smalltalk、C、Pascal、Basic、COBOL、Fortran等來實(shí)現(xiàn)。
圖3的例子包括表示所執(zhí)行的工作流的實(shí)例的工作流會(huì)話362。示例性工作流會(huì)話362包括唯一識(shí)別工作流會(huì)話的工作流會(huì)話ID364和識(shí)別所執(zhí)行的工作流的工作流ID 340。示例性工作流會(huì)話還包括用戶會(huì)話狀態(tài)ID 366,用戶會(huì)話狀態(tài)ID 366唯一識(shí)別為其執(zhí)行該工作流的特定用戶會(huì)話。示例性工作流會(huì)話還包括識(shí)別發(fā)送到設(shè)備以實(shí)現(xiàn)該工作流的消息的消息ID 368。即,發(fā)送到設(shè)備以指示該設(shè)備改變特定屬性的值的消息。在一些實(shí)施例中,發(fā)送這樣的消息到設(shè)備引起設(shè)備狀態(tài)的變化,并且因此執(zhí)行工作流。示例性工作流會(huì)話362包括用戶ID 370和角色I(xiàn)D字段372,用戶ID 370識(shí)別代表其執(zhí)行該工作流的用戶,以及角色I(xiàn)D字段372識(shí)別該用戶的安全角色。
圖3的例子包括表示聯(lián)網(wǎng)域中的特定設(shè)備使用情景的導(dǎo)出情景352。導(dǎo)出情景是根據(jù)聯(lián)網(wǎng)環(huán)境中實(shí)際的設(shè)備使用而產(chǎn)生的。導(dǎo)出情景352與情景344具有兩個(gè)重要的區(qū)別。首先,導(dǎo)出情景是根據(jù)聯(lián)網(wǎng)環(huán)境中設(shè)備的設(shè)備使用而產(chǎn)生的,以及因此反映特定聯(lián)網(wǎng)環(huán)境中的設(shè)備使用的情景,其中從該特定聯(lián)網(wǎng)環(huán)境中導(dǎo)出所述導(dǎo)出情景,而不是預(yù)制的(canned)的或現(xiàn)成(off-the-shelf)的情景。其次,導(dǎo)出情景具有相關(guān)容限360,相關(guān)容限360是控制根據(jù)識(shí)別的導(dǎo)出情景而執(zhí)行的工作流執(zhí)行的規(guī)則集合。
圖3的示例性導(dǎo)出情景352包括唯一識(shí)別導(dǎo)出情景的導(dǎo)出情景ID字段354。圖3的示例性導(dǎo)出情景352包括識(shí)別導(dǎo)出情景的相關(guān)容限的容限ID 356。圖3的導(dǎo)出情景352還包括將要利用識(shí)別導(dǎo)出情景的聯(lián)網(wǎng)環(huán)境中設(shè)備的狀態(tài)來執(zhí)行的工作流ID 340。根據(jù)導(dǎo)出情景的相關(guān)容限來執(zhí)行工作流。導(dǎo)出情景352的記錄包含描述字段358,描述字段358包含對(duì)導(dǎo)出情景的描述。
圖3的例子包括容限記錄360,容限記錄360表示控制根據(jù)識(shí)別的導(dǎo)出情景而執(zhí)行的工作流執(zhí)行的規(guī)則集合。通常容限是設(shè)備支持的可接受屬性值的范圍的一個(gè)子集。例如,恒溫器可以支持如果被設(shè)置將最終破壞恒溫器自身或其它設(shè)備的屬性值。因此,容限經(jīng)常被設(shè)計(jì)用來控制工作流執(zhí)行,使得設(shè)備使用不會(huì)危害聯(lián)網(wǎng)環(huán)境中的設(shè)備。圖3的示例性容限360包括唯一識(shí)別容限的容限級(jí)別ID字段362。
圖3的例子包括設(shè)備閾值記錄308,設(shè)備閾值記錄308表示設(shè)備將支持的最小閾值和最大閾值屬性值。圖3的示例性設(shè)備閾值記錄308包括設(shè)備ID 302,設(shè)備ID 302識(shí)別該閾值對(duì)其是有效的設(shè)備。示例性設(shè)備閾值記錄還包括包含該設(shè)備將支持的最大屬性值的MAX字段310以及包含該設(shè)備將支持的最小屬性值的MIN字段312。
圖3的例子包括用戶記錄374,用戶記錄374表示為其執(zhí)行工作流以影響設(shè)備狀態(tài)的用戶。根據(jù)本發(fā)明的工作流決策管理的若干方面的用戶不限于人類用戶,還包括本領(lǐng)域技術(shù)人員所能想到的處理。圖3的示例性用戶記錄374包括唯一識(shí)別用戶的用戶ID 376以及唯一表示該用戶的角色的角色I(xiàn)D 378。角色是用于用戶的安全角色,如系統(tǒng)管理員、訪客等等。
圖3的例子還包括表示用戶的會(huì)話的用戶會(huì)話狀態(tài)382。用戶的會(huì)話表示代表該用戶正在被執(zhí)行的當(dāng)前工作流決策管理。圖3的用戶會(huì)話狀態(tài)382包括會(huì)話狀態(tài)ID 384以及消息ID 386,所述會(huì)話狀態(tài)ID 384唯一識(shí)別用戶會(huì)話狀態(tài),以及消息ID 386識(shí)別發(fā)送來實(shí)施工作流會(huì)話中所識(shí)別的并代表該用戶被執(zhí)行的特定工作流的消息。用戶會(huì)話狀態(tài)還包括用戶ID 376和角色I(xiàn)D 378,用戶ID 376識(shí)別代表其執(zhí)行工作流的用戶,以及角色I(xiàn)D 378識(shí)別用戶的角色。
圖4示出了根據(jù)本發(fā)明實(shí)施例的用在工作流決策管理中的更多數(shù)據(jù)結(jié)構(gòu)的方框圖。圖4的例子包括表示用戶的安全角色的角色記錄402。圖4的示例性角色記錄402包括唯一識(shí)別安全角色的角色I(xiàn)D 378。
圖4的例子包括角色設(shè)備權(quán)限記錄404,角色設(shè)備權(quán)限記錄404表示分配給設(shè)備的特定角色的權(quán)限。例如,一些安全角色只具有對(duì)一些設(shè)備的有限訪問。角色設(shè)備權(quán)限記錄404包括角色權(quán)限ID字段406,角色權(quán)限ID字段406唯一識(shí)別角色設(shè)備權(quán)限。圖4的示例性角色設(shè)備權(quán)限記錄404包括權(quán)限ID 408和角色I(xiàn)D 378,權(quán)限ID 408識(shí)別許可的權(quán)限,以及角色I(xiàn)D 378識(shí)別具有該權(quán)限的特定安全角色。
圖4的例子包括表示特定權(quán)限的權(quán)限記錄402。示例性權(quán)限記錄402包括權(quán)限ID字段408和描述字段410,權(quán)限ID字段408識(shí)別權(quán)限,以及描述字段410包含該權(quán)限的描述。示例性權(quán)限記錄402包括讀標(biāo)記412和寫標(biāo)記414,它們包含讀和寫權(quán)限的布爾表示。
圖4的例子包括表示消息的消息記錄416。消息記錄416包括唯一表示消息的消息ID字段386。圖4的示例性消息記錄416還包括起始地址字段418和目的地址字段420,起始地址字段418包含發(fā)起消息的設(shè)備的網(wǎng)絡(luò)地址,以及目的地址字段420包含接收消息的設(shè)備的網(wǎng)絡(luò)地址。圖4的消息記錄416還包括消息日志ID 722,消息日志ID 722表示具有表示消息的條目的消息日志。
圖4的例子包括表示適合設(shè)備的可用權(quán)限的設(shè)備權(quán)限記錄422。圖4的示例性設(shè)備權(quán)限記錄422包括設(shè)備權(quán)限ID 424和設(shè)備ID 302,設(shè)備權(quán)限ID 424唯一識(shí)別設(shè)備權(quán)限,以及設(shè)備ID 302識(shí)別該設(shè)備。示例性設(shè)備權(quán)限記錄422包括權(quán)限ID 406,權(quán)限ID 406識(shí)別適合設(shè)備的權(quán)限。
圖4的例子包括表示消息橋450的數(shù)據(jù)結(jié)構(gòu)。消息橋是設(shè)計(jì)用于將消息路由到聯(lián)網(wǎng)環(huán)境中的一個(gè)或多個(gè)設(shè)備的硬件。可以表示為消息橋的設(shè)備的例子包括路由器、網(wǎng)關(guān)以及本領(lǐng)域技術(shù)人員所能想到的其它設(shè)備。
圖4的例子包括示例性消息日志722。消息日志722是包含表示發(fā)送到聯(lián)網(wǎng)環(huán)境中一個(gè)或多個(gè)設(shè)備的各個(gè)消息的條目的數(shù)據(jù)結(jié)構(gòu)。示例性消息日志722中的條目包括消息日志ID 724和消息ID 725,消息日志ID 724唯一識(shí)別該消息日志,以及消息ID 725唯一識(shí)別由日志中的條目表示的消息。消息日志中的條目還包括消息的內(nèi)容726以及發(fā)送消息的時(shí)間762。消息日志有用地提供對(duì)發(fā)送到設(shè)備用以實(shí)施根據(jù)本發(fā)明的工作流執(zhí)行的消息的記錄。
圖4的例子包括消息模式記錄460。消息模式記錄460表示識(shí)別的消息模式。消息模式記錄460中的條目包括消息模式ID 462,消息模式ID 462唯一識(shí)別消息模式。消息模式記錄460中的條目還包括消息類型464和設(shè)備ID 465,消息類型464識(shí)別發(fā)送到設(shè)備的消息的類型,以及設(shè)備ID 465識(shí)別消息被發(fā)送到的設(shè)備。消息模式記錄中的條目還包括消息屬性463和消息序號(hào)ID 466,其中消息屬性463定義消息中包含的設(shè)備控制指令,以及消息序號(hào)ID 466識(shí)別特定消息在消息模式中的位置。
圖5示出了描述圖3和圖4的數(shù)據(jù)結(jié)構(gòu)之間的示例性關(guān)系的方框圖。在圖5的例子中,設(shè)備記錄通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與識(shí)別的設(shè)備使用記錄328形成一對(duì)多關(guān)系。識(shí)別的設(shè)備使用記錄328通過用作外部密鑰的使用ID字段(圖3上的330)與使用記錄332形成了多對(duì)一關(guān)系。設(shè)備記錄150通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與設(shè)備閾值記錄308形成了一對(duì)多關(guān)系。
在圖5的例子中,設(shè)備記錄150通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與設(shè)備狀態(tài)記錄330形成了一對(duì)多關(guān)系。設(shè)備狀態(tài)記錄330通過用作外部密鑰的設(shè)備狀態(tài)ID字段(圖3上的316)與設(shè)備狀態(tài)歷史記錄314形成了一對(duì)多關(guān)系。設(shè)備狀態(tài)歷史記錄314通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與設(shè)備記錄150形成了多對(duì)一關(guān)系。
在圖5的例子中,設(shè)備記錄150通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與情景記錄344形成了一對(duì)多關(guān)系。情景記錄344通過用作外部密鑰的工作流ID字段(圖3上的340)與工作流記錄338形成了多對(duì)一關(guān)系。工作流記錄338通過用作外部密鑰的工作流ID字段(圖3上的340)與工作流會(huì)話362形成了一對(duì)多關(guān)系。
在圖5的例子中,設(shè)備記錄150通過用作外部密鑰的設(shè)備ID字段(圖3上的302)與導(dǎo)出情景記錄352形成了一對(duì)多關(guān)系。導(dǎo)出情景記錄352通過用作外部密鑰的導(dǎo)出情景ID字段(圖3上的354)與容限記錄360形成了多對(duì)一關(guān)系。
在圖5的例子中,設(shè)備記錄150通過用作外部密鑰的設(shè)備ID字段(圖4上的302)與設(shè)備權(quán)限記錄422形成了一對(duì)多關(guān)系。設(shè)備權(quán)限記錄422通過用作外部密鑰的權(quán)限ID字段(圖4上的406)與權(quán)限記錄402形成了多對(duì)一關(guān)系。權(quán)限記錄402通過用作外部密鑰的權(quán)限ID字段(圖4上的406)與角色設(shè)備權(quán)限記錄404形成了一對(duì)多關(guān)系。角色設(shè)備權(quán)限記錄404通過用作外部密鑰的角色字段(圖4上的378)與角色記錄402形成多對(duì)一關(guān)系。
在圖5的例子中,用戶記錄374通過用作外部密鑰的角色I(xiàn)D字段(圖4上的378)與角色記錄402形成了多對(duì)一關(guān)系。用戶記錄374通過用作外部密鑰的用戶ID字段(圖3上的376)與用戶會(huì)話狀態(tài)382形成了一對(duì)多關(guān)系。在圖5的例子中,用戶會(huì)話狀態(tài)382通過用作外部密鑰的消息ID字段(圖4上的386)與消息記錄416形成了多對(duì)一關(guān)系。在圖5的例子中,用戶會(huì)話狀態(tài)382通過用作外部密鑰的用戶會(huì)話狀態(tài)ID(圖3上的384)與工作流會(huì)話362形成了一對(duì)多關(guān)系。
在圖5的例子中,消息橋450通過用作外部密鑰的消息ID字段(圖4上的386)與消息記錄416形成了一對(duì)多關(guān)系。消息記錄416通過用作外部密鑰的消息ID字段(圖4上的724)與消息日志722形成了多對(duì)一關(guān)系。在圖5的例子中,消息模式記錄460通過用作外部密鑰的消息日志ID字段(圖3上的724)與消息日志722形成了多對(duì)一關(guān)系。消息模式記錄460通過用作外部密鑰的消息模式ID字段(圖3上的462)與工作流情景記錄344形成了一對(duì)一關(guān)系。
工作流決策管理圖6示出了描述用于工作流決策管理的示例性方法的數(shù)據(jù)流示意圖。圖6的方法包括維護(hù)(602)設(shè)備狀態(tài)歷史314。如上所述,設(shè)備狀態(tài)歷史是一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值的歷史。可以將單個(gè)設(shè)備的設(shè)備狀態(tài)歷史維護(hù)在設(shè)備自身上的計(jì)算機(jī)存儲(chǔ)器中,或者將聯(lián)網(wǎng)環(huán)境中對(duì)于多個(gè)設(shè)備的單獨(dú)的設(shè)備狀態(tài)歷史維護(hù)在實(shí)現(xiàn)圖6的方法的應(yīng)用程序可訪問的計(jì)算機(jī)存儲(chǔ)器中。
在圖6的方法中,維護(hù)(602)設(shè)備狀態(tài)歷史314包括記錄設(shè)備150的多個(gè)屬性值306。在圖6的例子中,每當(dāng)設(shè)備150的屬性值306被改變時(shí),就會(huì)通過在設(shè)備狀態(tài)歷史中創(chuàng)建新條目而記錄該變化。在一些這樣的實(shí)施例中,設(shè)備狀態(tài)歷史314中最新的條目表示設(shè)備的當(dāng)前狀態(tài)。在一些實(shí)施例中,工作流決策管理設(shè)備被配置為向?qū)崿F(xiàn)設(shè)備狀態(tài)管理器的應(yīng)用程序報(bào)告屬性值的每個(gè)變化,并且設(shè)備狀態(tài)管理器在設(shè)備狀態(tài)歷史中創(chuàng)建一條新條目以記錄屬性值的變化。
圖6的方法還包括根據(jù)設(shè)備狀態(tài)歷史314識(shí)別(604)所識(shí)別的設(shè)備使用模式328。如上所述,設(shè)備使用記錄表示預(yù)定的設(shè)備使用模式并且包括定義設(shè)備使用模式的設(shè)備屬性值的集合。在圖6的方法中,根據(jù)設(shè)備狀態(tài)歷史識(shí)別(604)所識(shí)別的設(shè)備使用模式328還包括將設(shè)備狀態(tài)歷史314和多個(gè)設(shè)備使用模式記錄329進(jìn)行比較。在圖6的例子中,將設(shè)備狀態(tài)歷史314中表示最近的設(shè)備狀態(tài)的條目窗口與設(shè)備使用模式數(shù)據(jù)庫(kù)616中的設(shè)備使用記錄329進(jìn)行比較以識(shí)別匹配的識(shí)別的設(shè)備使用記錄328。如果存在這樣的匹配的設(shè)備使用記錄328,則推斷出聯(lián)網(wǎng)環(huán)境中的設(shè)備的當(dāng)前狀態(tài)符合該記錄所表示的設(shè)備使用模式。
本領(lǐng)域技術(shù)人員能想到,在典型的實(shí)施例中,設(shè)備狀態(tài)歷史中的條目的值不必與設(shè)備使用記錄的值完全相同以識(shí)別匹配的設(shè)備使用記錄。實(shí)際上,在識(shí)別匹配的記錄時(shí)設(shè)備狀態(tài)歷史的條目的值通常并不與設(shè)備使用記錄的值完全相同。設(shè)備狀態(tài)歷史的條目的值必須與認(rèn)為匹配的設(shè)備使用記錄的值相似的程度將根據(jù)以下因素而變化如用來比較設(shè)備狀態(tài)歷史與設(shè)備使用記錄的容限和方法、用于識(shí)別匹配的預(yù)定容限、以及本領(lǐng)域技術(shù)人員所能想到的其它多種因素。
圖6的方法還包括根據(jù)識(shí)別的設(shè)備使用模式328識(shí)別(606)具有相關(guān)容限356的導(dǎo)出情景352。如上所述,導(dǎo)出情景352表示根據(jù)聯(lián)網(wǎng)環(huán)境中實(shí)際的設(shè)備使用而產(chǎn)生的特定情景。導(dǎo)出情景352與其它預(yù)制的情景有兩個(gè)重要的區(qū)別。首先,導(dǎo)出情景是根據(jù)聯(lián)網(wǎng)環(huán)境中設(shè)備的實(shí)際過去設(shè)備使用而產(chǎn)生的,因此反映了特定聯(lián)網(wǎng)環(huán)境中設(shè)備使用的情景。其次,在圖6的例子中,導(dǎo)出情景352具有相關(guān)容限360。容限是控制根據(jù)識(shí)別的導(dǎo)出情景而執(zhí)行的工作流執(zhí)行的規(guī)則集合。
在圖6的方法中,根據(jù)識(shí)別的設(shè)備使用模式328識(shí)別(606)導(dǎo)出情景352還包括從導(dǎo)出情景表中檢索導(dǎo)出情景ID。在圖6的例子中,導(dǎo)出情景表353包括由識(shí)別預(yù)定設(shè)備使用模式的設(shè)備使用ID 330所索引的多個(gè)導(dǎo)出情景ID 354。因此,根據(jù)識(shí)別的設(shè)備使用模式328識(shí)別(606)導(dǎo)出情景352包括根據(jù)識(shí)別的設(shè)備使用記錄328的設(shè)備使用ID 330從導(dǎo)出情景表中檢索導(dǎo)出情景ID。
在圖6的方法中,根據(jù)識(shí)別的設(shè)備使用模式328識(shí)別(606)導(dǎo)出情景352還包括根據(jù)規(guī)則608識(shí)別導(dǎo)出情景352。當(dāng)存在多個(gè)與單個(gè)設(shè)備使用模式相關(guān)聯(lián)的導(dǎo)出情景時(shí),規(guī)則608控制在多個(gè)導(dǎo)出情景之間對(duì)特定導(dǎo)出情景的識(shí)別??紤]在聯(lián)網(wǎng)的廚房中做飯的用戶的例子。起居室中設(shè)備的狀態(tài)匹配用戶正在做飯的設(shè)備使用模式。但是,多個(gè)情景與該設(shè)備使用模式對(duì)應(yīng),因?yàn)橛脩艨赡苷谧鲈绮?、做午餐或做晚餐。識(shí)別情景的示例性規(guī)則是如果一天中的時(shí)間是在4:30p.m.和7:30p.m.之間并且設(shè)備使用模式識(shí)別到做飯情景,則用戶正在做晚餐。
圖6的方法還包括根據(jù)導(dǎo)出情景352識(shí)別(612)工作流338。如上所述,根據(jù)本發(fā)明,工作流是實(shí)現(xiàn)設(shè)備控制動(dòng)作的軟件,當(dāng)設(shè)備控制動(dòng)作被執(zhí)行時(shí)會(huì)改變一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值。在圖6的方法中,根據(jù)導(dǎo)出情景352識(shí)別(612)工作流338包括從導(dǎo)出情景記錄352檢索工作流ID 340。
圖6的方法還包括根據(jù)容限356執(zhí)行(614)工作流338。如上所述,容限表示控制工作流執(zhí)行的規(guī)則。通常容限是設(shè)備支持的可接受屬性值的范圍的一個(gè)子集。這樣的容限經(jīng)常被設(shè)計(jì)用來防止工作流執(zhí)行破壞聯(lián)網(wǎng)環(huán)境中的設(shè)備。
考慮下面的例子。一個(gè)聯(lián)網(wǎng)的家庭具有多個(gè)用來冷卻該家庭的西側(cè)的設(shè)備。這些設(shè)備包括風(fēng)扇、空調(diào)和自動(dòng)遮光簾(shade)。但是,自動(dòng)遮光簾目前沒有工作并且它們目前將不能正常關(guān)閉。根據(jù)本發(fā)明的工作流決策管理已經(jīng)識(shí)別到該家庭網(wǎng)絡(luò)中的情景,它顯示該家庭的西側(cè)過于暖和并且因此識(shí)別并執(zhí)行一個(gè)工作流以冷卻該家庭,包括降低空調(diào)的恒溫器、提高風(fēng)扇速度并關(guān)閉自動(dòng)遮光器。
因?yàn)樽詣?dòng)遮光器不能正常工作,該工作流沒有充分降低西側(cè)的溫度,并且隨后很快就再次識(shí)別出房間太熱的情景。再次識(shí)別并執(zhí)行相同的工作流。通過為該工作流執(zhí)行提供定義恒溫器允許的最小容限值的容限,避免了空調(diào)過度工作到損壞點(diǎn)。即,容限為工作流執(zhí)行提供了一些邊界來防止設(shè)備由于工作流執(zhí)行中無法預(yù)見的問題(如在這個(gè)例子中,自動(dòng)遮光器不能正常工作)而損壞,。這些容限值通常被設(shè)計(jì)為設(shè)備支持的實(shí)際值的一個(gè)子集。這樣的設(shè)計(jì)有利地認(rèn)識(shí)到設(shè)備通常支持將最終導(dǎo)致設(shè)備損壞的屬性值。
在圖6的方法中,根據(jù)容限356執(zhí)行(614)工作流338還包括發(fā)送消息到設(shè)備以指示該設(shè)備改變屬性值。在一些這樣的例子中,接收這種方法的設(shè)備可以通過調(diào)用表示設(shè)備的設(shè)備類中的成員方法而實(shí)施設(shè)備的值的改變,例如以屬性值為參數(shù)的SomeDeviceClass.setAttribute()。
利用消息日志的工作流決策管理將發(fā)送到實(shí)施一個(gè)或多個(gè)工作流的設(shè)備的消息記錄到日志中可以有用地為工作流決策管理提供用于識(shí)別消息模式和消息情景的手段。因此,為了進(jìn)一步解釋,圖7示出了描述用于包括將工作流執(zhí)行中發(fā)送的消息記錄到日志中的工作流決策管理的示例性方法的流程圖。圖7的方法包括維護(hù)(702)設(shè)備狀態(tài)歷史314。如上所述,設(shè)備狀態(tài)歷史是一個(gè)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值的歷史??梢詫蝹€(gè)設(shè)備的設(shè)備狀態(tài)歷史維護(hù)在設(shè)備自身上的計(jì)算機(jī)存儲(chǔ)器中,或者將聯(lián)網(wǎng)環(huán)境對(duì)于多個(gè)設(shè)備的單獨(dú)的設(shè)備狀態(tài)歷史維護(hù)在實(shí)現(xiàn)圖7的方法的應(yīng)用程序可訪問的計(jì)算機(jī)存儲(chǔ)器中。
在圖7的方法中,維護(hù)(702)設(shè)備狀態(tài)歷史314包括記錄設(shè)備的多個(gè)屬性值。如上所述,每當(dāng)設(shè)備150的屬性值306被改變時(shí),都通過在設(shè)備狀態(tài)歷史中創(chuàng)建一條新條目而記錄該變化。在一些這樣的實(shí)施例中,設(shè)備狀態(tài)歷史314中最新的條目表示設(shè)備的當(dāng)前狀態(tài)。在一些實(shí)施例中,工作流決策管理設(shè)備被配置為向?qū)崿F(xiàn)設(shè)備狀態(tài)管理器的應(yīng)用程序報(bào)告屬性值的每個(gè)變化,并且設(shè)備狀態(tài)管理器在設(shè)備狀態(tài)歷史中創(chuàng)建一條新條目以記錄屬性值的變化。
圖7的方法還包括根據(jù)設(shè)備狀態(tài)歷史314識(shí)別(704)設(shè)備使用模式328。如上所述,設(shè)備使用記錄表示預(yù)定設(shè)備使用模式并且包括定義設(shè)備使用模式的設(shè)備屬性值的集合。在圖7的方法中,根據(jù)設(shè)備狀態(tài)歷史314識(shí)別(704)所識(shí)別的設(shè)備使用模式328還包括將設(shè)備狀態(tài)歷史314和多個(gè)設(shè)備使用模式記錄329進(jìn)行比較。在圖7的例子中,將設(shè)備狀態(tài)歷史314中表示最近的設(shè)備狀態(tài)的條目窗口與設(shè)備使用模式數(shù)據(jù)庫(kù)616中的設(shè)備使用記錄329進(jìn)行比較以識(shí)別匹配的設(shè)備使用記錄328。如果存在這樣的匹配的設(shè)備使用記錄328,則推斷出聯(lián)網(wǎng)環(huán)境中設(shè)備的當(dāng)前狀態(tài)符合該記錄所表示的設(shè)備使用模式。
本領(lǐng)域技術(shù)人員能想到,在典型的實(shí)施例中,設(shè)備狀態(tài)歷史中的條目的值不必與設(shè)備使用記錄的值完全相同以識(shí)別匹配的設(shè)備使用記錄。實(shí)際上,在識(shí)別匹配的記錄時(shí)設(shè)備狀態(tài)歷史的條目的值通常并不與設(shè)備使用記錄的值完全相同。設(shè)備狀態(tài)歷史的條目的值必須與認(rèn)為匹配的設(shè)備使用記錄的值相似的程度將根據(jù)以下因素而變化如用來比較設(shè)備狀態(tài)歷史與設(shè)備使用記錄的容限和方法、用于識(shí)別匹配的預(yù)定容限、以及本領(lǐng)域技術(shù)人員所能想到的其它多種因素。
圖7的方法還包括根據(jù)設(shè)備使用模式328識(shí)別(710)工作流情景708。圖7的工作流情景可以是一般根據(jù)許多聯(lián)網(wǎng)環(huán)境中的許多用戶預(yù)先確定和預(yù)先定義的情景,如上面參考圖3所討論的并給予了參考標(biāo)記344的情景,或者上面參考圖3所討論的并給予了參考標(biāo)記352的根據(jù)聯(lián)網(wǎng)環(huán)境中實(shí)際設(shè)備使用而產(chǎn)生的導(dǎo)出情景。
可以通過從工作流情景表706中檢索工作流情景ID 754實(shí)施根據(jù)設(shè)備使用模式328識(shí)別(710)工作流情景708。在圖7的例子中,工作流情景表706包括由識(shí)別預(yù)定設(shè)備使用模式的設(shè)備使用ID 730所索引的多個(gè)工作流情景ID 754。因此,根據(jù)識(shí)別的設(shè)備使用模式328識(shí)別(710)工作流情景708包括根據(jù)識(shí)別的設(shè)備使用記錄328的設(shè)備使用ID 331從工作流情景表中檢索工作流情景ID 754。
在圖7的方法中,進(jìn)一步根據(jù)規(guī)則709實(shí)施根據(jù)設(shè)備使用模式328識(shí)別工作流情景708。當(dāng)存在多個(gè)與單個(gè)設(shè)備使用模式相關(guān)聯(lián)的工作流情景時(shí),規(guī)則709控制在多個(gè)工作流情景之間對(duì)特定工作流情景的識(shí)別。考慮在聯(lián)網(wǎng)的廚房中做飯的用戶的例子。起居室中設(shè)備的狀態(tài)與用戶正在做飯的設(shè)備使用模式相匹配。但是,多個(gè)工作流情景與該設(shè)備使用模式對(duì)應(yīng),因?yàn)橛脩艨赡苷谧鲈绮汀⑽绮突蜃鐾聿?。識(shí)別工作流情景的示例性規(guī)則是如果一天中的時(shí)間在4:30p.m.和7:30p.m.之間并且設(shè)備使用模式識(shí)別到做飯情景,則用戶正在做晚餐。
圖7的方法還包括根據(jù)工作流情景708識(shí)別(712)工作流338。如上所述,根據(jù)本發(fā)明,工作流是實(shí)現(xiàn)設(shè)備控制動(dòng)作的軟件,所述設(shè)備控制動(dòng)作當(dāng)被執(zhí)行時(shí)改變一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值。在圖7的方法中,根據(jù)工作流情景708識(shí)別(712)工作流338包括從工作流情景記錄708中檢索工作流ID 740。
圖7的方法還包括執(zhí)行(714)工作流338,包括發(fā)送(716)消息到設(shè)備以管理該設(shè)備的至少一個(gè)屬性的值。如上所述,根據(jù)本發(fā)明,工作流是實(shí)現(xiàn)設(shè)備控制動(dòng)作的軟件,所述設(shè)備控制動(dòng)作當(dāng)被執(zhí)行時(shí)改變一個(gè)或多個(gè)設(shè)備的一個(gè)或多個(gè)屬性的值。這種軟件通過發(fā)送消息到設(shè)備以指示該設(shè)備改變屬性的值來實(shí)施設(shè)備控制動(dòng)作。接收這種方法的設(shè)備可以通過調(diào)用表示設(shè)備的設(shè)備類中的成員方法而實(shí)施對(duì)設(shè)備的值的改變,例如,以消息中發(fā)送的屬性值為參數(shù)的SomeDeviceClass.setAttribute()。
在圖7的方法中,執(zhí)行(714)工作流338還包括根據(jù)相關(guān)容限756執(zhí)行工作流。容限是控制根據(jù)識(shí)別的導(dǎo)出情景而執(zhí)行的工作流執(zhí)行的規(guī)則集合。通常容限是設(shè)備支持的可接受屬性值的范圍的一個(gè)子集。例如,恒溫器可能支持如果被設(shè)置將最終破壞恒溫器自身或其它設(shè)備的屬性值。因此,容限通常被設(shè)計(jì)為控制工作流的執(zhí)行,使得設(shè)備使用不會(huì)危害聯(lián)網(wǎng)環(huán)境中的設(shè)備。
圖7的方法還包括將消息718記錄(720)到日志中。根據(jù)圖7的方法將消息718記錄(720)到日志中是通過將消息信息記錄在消息日志722中而實(shí)施的。消息日志722是一個(gè)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)包含表示發(fā)送到聯(lián)網(wǎng)環(huán)境中一個(gè)或多個(gè)設(shè)備的各個(gè)消息的條目。在圖7的例子中,消息日志722包含消息信息,消息信息包括消息日志ID 724、消息ID 725、消息內(nèi)容726以及發(fā)送消息的時(shí)間762。消息日志有用地提供了消息的記錄,其中該消息發(fā)送到實(shí)施根據(jù)本發(fā)明的工作流執(zhí)行的設(shè)備。
圖7的消息日志中包括的消息信息是為了解釋而非限制。實(shí)際上,消息日志中記錄的消息信息將根據(jù)若干因素而變化,比如接收消息的設(shè)備的類型、消息類型、涉及消息的期望信息以及本領(lǐng)域技術(shù)人員所能想到的其它因素。
消息日志有利地提供了消息的記錄,其中該消息發(fā)送到實(shí)施根據(jù)本發(fā)明的工作流執(zhí)行的設(shè)備。這樣的消息日志可以用來識(shí)別消息中的模式,它們本身可用于識(shí)別要執(zhí)行的工作流。因此,為了進(jìn)一步解釋,圖8示出了描述根據(jù)本發(fā)明的工作決策管理的附加方面的流程圖。圖8的方法包括根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別(802)消息模式460。在圖8的例子中,根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別(802)消息模式460是通過從記錄與發(fā)送到一個(gè)或多個(gè)設(shè)備的多個(gè)消息有關(guān)的信息的消息日志中包含的信息中識(shí)別消息模式而實(shí)施的。識(shí)別(802)消息模式460可以通過用戶檢查消息日志的條目并發(fā)現(xiàn)消息日志的條目中的模式來實(shí)施。
要求用戶手工識(shí)別消息模式可能太費(fèi)事而難以實(shí)行。因此,在圖8的方法中,根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別(802)消息模式460是通過對(duì)消息日志722進(jìn)行數(shù)據(jù)挖掘(803)來實(shí)施的,其中消息日志722包括描述發(fā)送到聯(lián)網(wǎng)環(huán)境中的設(shè)備的消息的消息信息。對(duì)數(shù)據(jù)挖掘有許多定義。為本說明書起見,數(shù)據(jù)挖掘意味著分析消息日志中記錄的消息信息并從所記錄的消息信息中發(fā)現(xiàn)關(guān)系、模式、知識(shí)或信息并使用發(fā)現(xiàn)的關(guān)系、模式或知識(shí)來為工作流決策管理識(shí)別消息模式。許多數(shù)據(jù)挖掘技術(shù)通常包括以下步驟為數(shù)據(jù)挖掘準(zhǔn)備數(shù)據(jù),選擇適當(dāng)?shù)臄?shù)據(jù)挖掘算法,以及采用該數(shù)據(jù)挖掘算法。
在圖8的方法中,通過為消息日志提供預(yù)定數(shù)據(jù)結(jié)構(gòu)已經(jīng)為數(shù)據(jù)挖掘準(zhǔn)備了消息日志中記錄的消息信息。通常,當(dāng)創(chuàng)建這樣的消息日志時(shí),提供該預(yù)定數(shù)據(jù)結(jié)構(gòu)。正如本領(lǐng)域技術(shù)人員所能想到的,用于每個(gè)特定類型消息日志的特定的預(yù)定數(shù)據(jù)結(jié)構(gòu)根據(jù)若干因素而變化,比如發(fā)布到設(shè)備以實(shí)施工作流決策管理的消息的類型、可用于日志記錄的消息信息的種類等等。
數(shù)據(jù)挖掘通常還包括選擇適當(dāng)?shù)臄?shù)據(jù)挖掘算法。用于發(fā)現(xiàn)消息模式的適當(dāng)?shù)臄?shù)據(jù)挖掘算法將根據(jù)許多因素而變化,比如在可用于挖掘的消息日志中記錄的消息信息的類型、用來實(shí)施數(shù)據(jù)挖掘的可用計(jì)算機(jī)軟件和硬件、消息日志中消息信息集合的大小以及本領(lǐng)域技術(shù)人員所能想到的任何其它因素。存在許多數(shù)據(jù)挖掘算法,并且從消息日志中記錄的消息信息集合中適當(dāng)?shù)匕l(fā)現(xiàn)消息模式的所有算法都在本發(fā)明的范圍內(nèi)。
盡管存在許多數(shù)據(jù)挖掘算法,但許多數(shù)據(jù)挖掘算法都享有相同的目的。典型的數(shù)據(jù)挖掘算法試圖解決被計(jì)算機(jī)可以收集的數(shù)據(jù)容量所擊潰(overwhelmed)的問題。數(shù)據(jù)挖掘算法通常還通過分析數(shù)據(jù)、總結(jié)數(shù)據(jù)或從數(shù)據(jù)得出用戶可以理解的結(jié)論來試圖使用戶看不到龐大的數(shù)據(jù)體。
討論各種數(shù)據(jù)挖掘算法的一種方式是討論它們執(zhí)行的功能而不是它們底層的數(shù)學(xué)操作的細(xì)節(jié)。討論各種數(shù)據(jù)挖掘算法的另一種方式是描述由數(shù)據(jù)挖掘算法所返回的“規(guī)則”。規(guī)則是對(duì)數(shù)據(jù)挖掘算法發(fā)現(xiàn)的關(guān)系、模式、知識(shí)或信息的描述。在本說明書中,通過描述數(shù)據(jù)挖掘算法執(zhí)行的功能和它們返回的規(guī)則來解釋示例性的數(shù)據(jù)挖掘算法。為論述清楚而非限制起見,在本說明書中包括了數(shù)據(jù)挖掘算法的下列例子。本領(lǐng)域技術(shù)人員所能想到的任何數(shù)據(jù)挖掘方法,無論其類型、分類或底層數(shù)學(xué)操作,都在本發(fā)明的范圍內(nèi)。
在圖8的方法的一些例子中,識(shí)別(802)消息模式460包括利用關(guān)聯(lián)函數(shù)對(duì)消息日志722進(jìn)行數(shù)據(jù)挖掘(803)。關(guān)聯(lián)函數(shù)通常用來發(fā)現(xiàn)具有相連或相關(guān)事件的模式。例如,在識(shí)別消息模式的上下文中,利用關(guān)聯(lián)函數(shù)進(jìn)行數(shù)據(jù)挖掘可以返回一個(gè)規(guī)則,例如“發(fā)送到恒溫器的記錄消息的72%是降低恒溫器的指令并且在時(shí)間上與發(fā)送到吊扇以提高吊扇速度的消息相對(duì)應(yīng)”。利用關(guān)聯(lián)函數(shù)的數(shù)據(jù)挖掘可以用來確定消息日志中各種條目的一個(gè)或者多個(gè)字段之間的關(guān)聯(lián)性。例如,關(guān)聯(lián)函數(shù)可以返回一個(gè)規(guī)則,該規(guī)則描述了發(fā)送到恒溫器的某一百分比的消息是降低恒溫器的設(shè)置。
在圖8的方法的其它例子中,識(shí)別(802)消息模式460包括利用序列模式運(yùn)算符對(duì)消息日志722進(jìn)行數(shù)據(jù)挖掘(803)。利用序列模式進(jìn)行數(shù)據(jù)挖掘通常用于分析單個(gè)類型的消息日志中的消息信息。序列模式運(yùn)算符可以用來返回一個(gè)規(guī)則,該規(guī)則描述了到相同設(shè)備的消息日志中的條目之間的序列關(guān)系。描述消息日志中的這種條目之間的關(guān)系的規(guī)則的一個(gè)例子是這樣一種規(guī)則該規(guī)則識(shí)別連續(xù)發(fā)送到恒溫器的三個(gè)消息包括提高恒溫器設(shè)置的指令,由此表示由恒溫器控制區(qū)域之外的溫度正在降低,導(dǎo)致恒溫器控制的區(qū)域溫度降低。
在圖8的方法的另一些例子中,識(shí)別(802)消息模式460包括用分類運(yùn)算符進(jìn)行數(shù)據(jù)挖掘。分類運(yùn)算符適用于消息日志中被組織或“標(biāo)記”為屬于某一類的一組條目,例如,所記錄的在一天中的某一特定時(shí)間發(fā)送的消息的消息信息。分類運(yùn)算符檢查消息日志中帶標(biāo)記的條目集合并產(chǎn)生識(shí)別該類的數(shù)學(xué)函數(shù)。這種分類運(yùn)算符可以用來例如分析消息日志中在一天的某個(gè)特定時(shí)間接收到的一類條目并確定一天中具有最多消息業(yè)務(wù)量的時(shí)間。
在圖8的方法的其它例子中,識(shí)別(802)消息模式460包括利用聚合運(yùn)算符進(jìn)行數(shù)據(jù)挖掘。與利用分類運(yùn)算符進(jìn)行數(shù)據(jù)挖掘相比較,分類運(yùn)算符的輸入是消息日志中一組帶有標(biāo)記的條目,而聚合運(yùn)算符的輸入是消息日志中一組未帶標(biāo)記的條目。在應(yīng)用聚合運(yùn)算符時(shí)不知道任何類別。利用聚合運(yùn)算符進(jìn)行數(shù)據(jù)挖掘可以用來將消息日志中的條目分段或分類,如按一天中的時(shí)間或設(shè)備ID將條目分段。許多用來構(gòu)造分類運(yùn)算符的底層數(shù)學(xué)操作都可用來構(gòu)造聚合運(yùn)算符。
盡管已經(jīng)分別討論了各種數(shù)據(jù)挖掘算法,但在圖8的方法的各種例子中,可以一起使用不同的數(shù)據(jù)挖掘算法來識(shí)別消息模式。此外,盡管已經(jīng)關(guān)于數(shù)據(jù)挖掘詳細(xì)地說明了圖8的方法,但任何識(shí)別包括消息模式的消息日志子集的方法都在本發(fā)明的范圍內(nèi),而不只是數(shù)據(jù)挖掘。在各種示例性實(shí)施例中,識(shí)別包括消息模式的消息日志子集包括使用數(shù)據(jù)判別、使用人工智能、使用機(jī)器學(xué)習(xí)、使用模式識(shí)別或本領(lǐng)域技術(shù)人員所能想到的識(shí)別包括消息模式的消息日志子集的任何方法。
現(xiàn)成的數(shù)據(jù)挖掘軟件的一個(gè)例子包括IBM的“IntelligentMiner(智能挖掘器)”。可以在包括AIX、AS/400和OS/390的若干計(jì)算環(huán)境中運(yùn)行“Intelligent Miner”?!癐ntelligent Miner”是企業(yè)數(shù)據(jù)挖掘工具,被設(shè)計(jì)用于客戶機(jī)/服務(wù)器配置并且被優(yōu)化來挖掘非常大的數(shù)據(jù)集,如千兆字節(jié)的數(shù)據(jù)集。“Intelligent Miner”包括多個(gè)用來分析大數(shù)據(jù)庫(kù)的數(shù)據(jù)挖掘技術(shù)或工具,并且提供了用來查看和解釋不同的挖掘結(jié)果的可視化工具。
已經(jīng)識(shí)別了數(shù)據(jù)模式,可以創(chuàng)建表示這些模式的記錄,并且當(dāng)聯(lián)網(wǎng)環(huán)境中的這種消息符合識(shí)別的消息模式時(shí),這些記錄有用地提供了用于識(shí)別要執(zhí)行的工作流的手段。在圖8的例子中,消息模式記錄460表示識(shí)別的消息模式。消息模式記錄460中的條目包括唯一識(shí)別消息模式的消息模式ID 462。消息模式記錄460中的條目還包括識(shí)別發(fā)送到設(shè)備的消息的類型的消息類型464以及識(shí)別消息被發(fā)送到的設(shè)備的設(shè)備ID 465。消息模式記錄中的條目還包括消息屬性463和消息序號(hào)ID 466,其中消息屬性463定義消息中包含的設(shè)備控制指令,以及消息序號(hào)ID 466識(shí)別消息模式中特定消息所在的位置。
圖8的方法包括將表示識(shí)別的消息模式的消息模式記錄460存儲(chǔ)(806)在消息模式數(shù)據(jù)庫(kù)616中。消息模式數(shù)據(jù)庫(kù)維護(hù)多個(gè)消息模式記錄以用于在聯(lián)網(wǎng)環(huán)境的消息業(yè)務(wù)量中識(shí)別消息模式。
圖8的方法還包括根據(jù)發(fā)送到聯(lián)網(wǎng)環(huán)境中的一個(gè)或多個(gè)設(shè)備的多個(gè)消息718識(shí)別(804)消息模式460。消息模式記錄表示預(yù)先識(shí)別的消息模式。在圖8的方法中,根據(jù)多個(gè)消息718識(shí)別(804)消息模式460可以通過將聯(lián)網(wǎng)環(huán)境中的多個(gè)消息或消息日志中最近的條目與消息模式數(shù)據(jù)庫(kù)中的多個(gè)消息模式記錄進(jìn)行比較來實(shí)施。在圖8的例子中,可以將消息日志中表示最近消息的條目窗口與消息記錄進(jìn)行比較以識(shí)別匹配的消息記錄。如果存在這樣匹配的消息記錄,則推斷出聯(lián)網(wǎng)環(huán)境中的消息業(yè)務(wù)量符合由該消息模式記錄表示的消息模式。
本領(lǐng)域技術(shù)人員將會(huì)想到,在典型的實(shí)施例中,消息日志中或者聯(lián)網(wǎng)環(huán)境的業(yè)務(wù)量中的消息的各個(gè)方面不必與消息模式記錄的值完全相同以識(shí)別匹配的消息模式記錄。實(shí)際上,在識(shí)別匹配的記錄時(shí)消息日志的條目或業(yè)務(wù)量中的消息的值通常不會(huì)與消息模式記錄的值完全相同。消息日志中條目的值或業(yè)務(wù)量中消息的值必須與認(rèn)為匹配的消息模式記錄的值相似的程度將根據(jù)若干因素而變化,比如,用來將消息和消息日記的條目與消息模式記錄進(jìn)行比較的方法、用于識(shí)別匹配的預(yù)定容限、以及本領(lǐng)域技術(shù)人員所能想到的其它各種因素。
圖8的方法包括根據(jù)設(shè)備使用模式328以及根據(jù)消息模式460識(shí)別(805)工作流情景708。圖8的工作流情景可以是一般根據(jù)許多聯(lián)網(wǎng)環(huán)境中的許多用戶預(yù)先確定和預(yù)先定義的情景,如上面參考圖3所討論的并且給予參考標(biāo)記344的情景,或者上面參考圖3所討論的并給予了參考標(biāo)記352的根據(jù)聯(lián)網(wǎng)環(huán)境中的實(shí)際設(shè)備使用而產(chǎn)生的導(dǎo)出情景。
根據(jù)設(shè)備使用模式328以及根據(jù)消息模式460識(shí)別(805)工作流情景708可以通過從工作流情景表706中檢索工作流情景ID 754來實(shí)施。在圖7的例子中,工作流情景表706包括由識(shí)別預(yù)定義的設(shè)備使用模式的設(shè)備使用ID 730以及識(shí)別消息模式的消息模式ID462所索引的多個(gè)工作流情景ID 754。因此根據(jù)設(shè)備使用模式328以及根據(jù)消息模式460識(shí)別(805)工作流情景708包括根據(jù)識(shí)別的設(shè)備使用記錄328的設(shè)備使用ID 331和識(shí)別的消息模式的消息模式ID 462從工作流情景表706中檢索工作流情景ID 754。
在圖8的方法中,根據(jù)設(shè)備使用模式328以及根據(jù)消息模式460識(shí)別(805)工作流情景708還可以根據(jù)規(guī)則709來實(shí)施。當(dāng)存在與單個(gè)設(shè)備使用模式相關(guān)的多個(gè)工作流情景并且存在消息模式時(shí),規(guī)則709控制在多個(gè)工作流情景之間對(duì)特定工作流情景的識(shí)別。
已經(jīng)識(shí)別了工作流情景,根據(jù)本發(fā)明實(shí)施例的工作流決策管理可以通過如參考圖7所述的識(shí)別工作流和執(zhí)行工作流來繼續(xù)。消息模式的添加有利地提供了在選擇工作流情景中的附加粒度,并且提供了用于更好地處理聯(lián)網(wǎng)環(huán)境中工作流決策管理的結(jié)果的手段。
主要在用于工作流決策管理的完全功能計(jì)算機(jī)系統(tǒng)的上下文中描述了本發(fā)明的示例性實(shí)施例。然而,本技術(shù)領(lǐng)域的讀者應(yīng)該認(rèn)識(shí)到,也可以在與任何合適的數(shù)據(jù)處理系統(tǒng)一起使用的信號(hào)承載介質(zhì)上所設(shè)置的計(jì)算機(jī)程序產(chǎn)品中體現(xiàn)本發(fā)明。這種信號(hào)承載介質(zhì)可以是傳輸介質(zhì)或用于機(jī)器可讀信息的可記錄介質(zhì),包括磁介質(zhì)、光介質(zhì)或其它合適介質(zhì)??捎涗浗橘|(zhì)的例子包括硬盤驅(qū)動(dòng)器中的磁盤或軟盤、用于光驅(qū)的光盤、磁帶、以及本領(lǐng)域技術(shù)人員所能想到的其它介質(zhì)。傳輸介質(zhì)的例子包括用于語音通信的電話網(wǎng)以及數(shù)字?jǐn)?shù)據(jù)通信網(wǎng)絡(luò),例如以太網(wǎng)TM以及與網(wǎng)際協(xié)議和環(huán)球網(wǎng)進(jìn)行通信的網(wǎng)絡(luò)。本領(lǐng)域技術(shù)人員應(yīng)該立即認(rèn)識(shí)到,具有合適編程裝置的任何計(jì)算機(jī)系統(tǒng)都將能夠執(zhí)行如程序產(chǎn)品中體現(xiàn)的本發(fā)明方法的步驟。本領(lǐng)域技術(shù)人員應(yīng)該立即認(rèn)識(shí)到,雖然本說明書中所描述的大多數(shù)示范性實(shí)施例是面向安裝在計(jì)算機(jī)硬件上并在計(jì)算機(jī)硬件上執(zhí)行的軟件,然而,被實(shí)現(xiàn)為固件或硬件的備選實(shí)施例也在本發(fā)明的范圍內(nèi)。
從上述描述應(yīng)該理解,在不脫離本發(fā)明真實(shí)精神的情況下、可以對(duì)本發(fā)明各實(shí)施例進(jìn)行修改和變動(dòng)。本說明書中的描述僅僅是用于說明性的,而不應(yīng)被認(rèn)為是限制性的。本發(fā)明的范圍僅受以下權(quán)利要求的語言所限制。
權(quán)利要求
1.一種用于工作流決策管理的方法,該方法包括維護(hù)設(shè)備狀態(tài)歷史;根據(jù)該設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;根據(jù)該設(shè)備使用模式識(shí)別工作流情景;根據(jù)該工作流情景識(shí)別工作流;執(zhí)行該工作流,包括發(fā)送消息到一個(gè)設(shè)備以管理該設(shè)備的屬性的至少一個(gè)值;以及將該消息記錄到日志中。
2.權(quán)利要求1的方法,其中將該消息記錄到日志中還包括將描述發(fā)送到該設(shè)備的該消息的消息信息記錄到消息日志中。
3.權(quán)利要求1的方法,還包括根據(jù)發(fā)送到該設(shè)備的多個(gè)消息識(shí)別消息模式。
4.權(quán)利要求3的方法,其中根據(jù)發(fā)送到該設(shè)備的多個(gè)消息識(shí)別消息模式還包括對(duì)消息日志進(jìn)行數(shù)據(jù)挖掘,所述消息日志包括描述發(fā)送到該設(shè)備的該消息的消息信息。
5.權(quán)利要求3的方法,其中根據(jù)該設(shè)備使用模式識(shí)別工作流情景還包括根據(jù)該消息模式識(shí)別工作流情景。
6.權(quán)利要求1的方法,其中執(zhí)行該工作流還包括根據(jù)相關(guān)容限執(zhí)行該工作流。
7.一種用于工作流決策管理的系統(tǒng),該系統(tǒng)包括計(jì)算機(jī)處理器;可操作地耦合到該計(jì)算機(jī)處理器的計(jì)算機(jī)存儲(chǔ)器,該計(jì)算機(jī)存儲(chǔ)器在其中設(shè)置有能夠完成下列內(nèi)容的計(jì)算機(jī)程序指令維護(hù)設(shè)備狀態(tài)歷史;根據(jù)該設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;根據(jù)該設(shè)備使用模式識(shí)別工作流情景;根據(jù)該工作流情景識(shí)別工作流;執(zhí)行該工作流,包括發(fā)送消息到一個(gè)設(shè)備以管理該設(shè)備的屬性的至少一個(gè)值;以及將該消息記錄到日志中。
8.權(quán)利要求7的系統(tǒng),其中該計(jì)算機(jī)存儲(chǔ)器在其中還設(shè)置有能夠?qū)⒚枋霭l(fā)送到該設(shè)備的該消息的消息信息記錄到消息日志中的計(jì)算機(jī)程序指令。
9.權(quán)利要求7的系統(tǒng),其中該計(jì)算機(jī)存儲(chǔ)器在其中還配置有能夠根據(jù)發(fā)送到設(shè)備的多個(gè)消息識(shí)別消息模式的計(jì)算機(jī)程序指令。
10.權(quán)利要求9的系統(tǒng),其中該計(jì)算機(jī)存儲(chǔ)器在其中還配置有能夠?qū)ο⑷罩具M(jìn)行數(shù)據(jù)挖掘的計(jì)算機(jī)程序指令,其中所述消息日志中包括描述發(fā)送到該設(shè)備的該消息的消息信息。
11.權(quán)利要求9的系統(tǒng),其中該計(jì)算機(jī)存儲(chǔ)器在其中還配置有能夠根據(jù)該消息模式識(shí)別工作流情景的計(jì)算機(jī)程序指令。
12.權(quán)利要求7的系統(tǒng),其中該計(jì)算機(jī)存儲(chǔ)器在其中還配置有能夠根據(jù)相關(guān)容限執(zhí)行該工作流的計(jì)算機(jī)程序指令。
13.一種用于工作流決策管理的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品設(shè)置在信號(hào)承載介質(zhì)上,該計(jì)算機(jī)程序產(chǎn)品包括執(zhí)行權(quán)利要求1-6中任意一個(gè)權(quán)利要求的步驟的計(jì)算機(jī)程序指令。
全文摘要
提供用于工作流決策管理的方法,系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。實(shí)施例包括維護(hù)設(shè)備狀態(tài)歷史;根據(jù)該設(shè)備狀態(tài)歷史識(shí)別設(shè)備使用模式;根據(jù)該設(shè)備使用模式識(shí)別工作流情景;根據(jù)該工作流情景識(shí)別工作流;執(zhí)行該工作流,包括發(fā)送消息到設(shè)備以管理該設(shè)備的屬性的至少一個(gè)值;以及將該消息記錄到日志中。通過將描述發(fā)送到該設(shè)備的該消息的消息信息記錄到消息日志中,來實(shí)現(xiàn)將該消息記錄到日志中。
文檔編號(hào)G06Q10/00GK1959720SQ20061014311
公開日2007年5月9日 申請(qǐng)日期2006年10月31日 優(yōu)先權(quán)日2005年11月1日
發(fā)明者理查德·威廉·繆爾黑德, 弗朗西斯·澤維爾·雷丁湯, 威廉·A·布朗 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司