CN1959720A - 工作流决策管理的方法和系统 - Google Patents

工作流决策管理的方法和系统 Download PDF

Info

Publication number
CN1959720A
CN1959720A CNA2006101431132A CN200610143113A CN1959720A CN 1959720 A CN1959720 A CN 1959720A CN A2006101431132 A CNA2006101431132 A CN A2006101431132A CN 200610143113 A CN200610143113 A CN 200610143113A CN 1959720 A CN1959720 A CN 1959720A
Authority
CN
China
Prior art keywords
equipment
message
workflow
identification
sight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006101431132A
Other languages
English (en)
Inventor
理查德·威廉·缪尔黑德
弗朗西斯·泽维尔·雷丁汤
威廉·A·布朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1959720A publication Critical patent/CN1959720A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供用于工作流决策管理的方法,系统和计算机程序产品。实施例包括:维护设备状态历史;根据该设备状态历史识别设备使用模式;根据该设备使用模式识别工作流情景;根据该工作流情景识别工作流;执行该工作流,包括发送消息到设备以管理该设备的属性的至少一个值;以及将该消息记录到日志中。通过将描述发送到该设备的该消息的消息信息记录到消息日志中,来实现将该消息记录到日志中。

Description

工作流决策管理的方法和系统
技术领域
本发明的领域是数据处理,或者更具体地说,是用于工作流决策管理的方法、系统和产品。
背景技术
传统的网络包括各种联网设备。用户经常根据设备使用的相容模式和情景来使用各种设备或者调节这些设备的特定设置。尽管根据设备使用的这些相容模式和情景来常规地使用设备,但传统的联网设备仍然经常需要用户干预以改变设备的属性值。如果存在一种工作流决策管理方法根据识别的使用模式和识别的情景来使用工作流以改变网络中的设备属性值而不需要用户干预将是有利的。
发明内容
提供用于工作流决策管理的方法、系统和计算机程序产品。实施例包括:维护设备状态历史;根据设备状态历史识别设备使用模式;根据设备使用模式识别工作流情景;根据工作流情景识别工作流;执行工作流,包括向设备发送消息以管理该设备的属性的至少一个值;以及将该消息记录到日志中。可以通过将描述发送到设备的消息的消息信息记录到消息日志中来实施将该消息记录到日志中。
许多实施例还包括根据发送到设备的多个消息识别消息模式。可以通过对消息日志进行数据挖掘来实施根据发送到设备的多个消息识别消息模式,所述消息日志包括描述发送到设备的消息的消息信息。
可以进一步根据消息模式实施根据设备使用模式识别工作流情景。可以通过根据相关容限(tolerance)执行工作流来实施执行工作流。
通过下面如附图所示的本发明的示例性实施例的更详细描述,本发明的前述和其它目的地、特性和优势将变得显而易见,在附图中,相同的参考标记通常表示本发明的示例性实施例的相同部分。
附图说明
图1描述了根据本发明实施例的能够实现工作流决策管理的示例性数据处理系统。
图2示出了根据本发明实施例的用在实现工作流决策管理中的示例性设备的方框图。
图3示出了描述根据本发明的若干方面的用在实现工作流决策管理方法中的示例性数据结构的方框图。
图4示出了描述根据本发明的若干方面的用在实现工作流决策管理方法中的更多示例性数据结构的方框图。
图5示出了描述图3和图4的数据结构之间的示例性关系的方框图。
图6示出了描述用于工作流决策管理的示例性方法的数据流示意图。
图7示出了描述用于包括在工作流执行时将发送的消息记录在日志中的工作流决策管理的示例性方法的流程图。
图8示出了描述根据本发明的工作流决策管理的附加方面的流程图。
具体实施方式
定义
“802.11”指的是由IEEE为无线LAN技术开发的一组规范。802.11规定了无线客户端和基站之间或两个无线客户端之间的空中接口。
“API”是“application programming interface”(应用程序编程接口)的缩写。API是用于构造软件应用程序的一组例程、协议和工具。
“BlueTooth(蓝牙)”指的是用于客户端设备之间以及客户端设备和LAN或其它网络上的资源之间的RF耦合的短程无线电技术的工业规范。一个称为蓝牙特殊兴趣小组(Bluetooth SpecialInterest Group)的管理主体测试设备并证明设备能够“遵循蓝牙”。蓝牙规范由提供设计规范的“基础核心”和提供互操作性指导的“基础特征文件”组成。
“CEBus”是Consumer Electronics Bus(消费电子总线)的缩写。CEBus是用于控制诸如电力线、射频(RF)、红外(IR)、同轴电缆、双绞线、光纤和音频/视频等的不同介质上的设备的开放国际标准。CEBus标准由消费电子制造商联盟(CEMA)发布并被描述在12个标准中:ANSI/EIA-600系列,其中消费电子制造商联盟是电子工业联盟(EIA)的一个分支。CEBus标准描述了网络介质的物理设计和拓扑、消息生成的协议、以及通用应用语言(“CAL”)。CEBus规范可从 http://www.cebus.org处下载获得。
CEBus提供了EIA 600.81中定义的通用应用语言(CAL),它使用面向对象的模型提供联网环境中不同设备之间的互操作性。CAL规范定义了一组向这些不同联网设备的内部操作提供接口的类。如果一个功能或特征不能被很好地映射到CAL规范中定义的其中一个类,则CAL规范已经留出了一个特定范围的类标识符用于定义特殊类。
CAL对象有两个重要的属性:实例变量和方法。实例变量包含诸如布尔指示、数值信息、字符串信息和其它数据等的与特定CAL对象有关的信息。布尔实例变量只能被设置为TRUE(真)或FALSE(假)。顾名思义,数值实例变量用于数字的存储。字符串类型的实例变量提供了文本的存储。同时其它数据类型的实例变量提供存储其它信息作为一个或多个元素的一维数组;每个元素包括相同数量的一个或多个字节。
对CAL实例变量中包含的信息的访问是通过该对象专有的一组成员方法来实现的。常见的方法的例子包括:setOn、setOff、setValue、getValue、setArray、getArray。并非所有方法都适合于每个实例变量类型。例如,setOn方法是用于操纵布尔实例变量,因此对于字符串类型的实例变量没有定义。
“为数据通信而耦合”意味着任何形式的数据通信,比如无线、802.11b、蓝牙、红外、无线电、互联网协议、HTTP协议、电子邮件协议、联网、直接连接、专用电话线、拨号、利用RS-232(EIA232)或者通用串行总线的串行连接、硬布线并行端口连接、根据电力线协议的网络连接以及本领域技术人员所能想到的用于数据通信的其它连接形式。为数据通信的耦合包括为数据通信的联网耦合。可使用本发明的各种实施例的网络的例子包括:电缆网络、内联网、外联网、互联网、局域网、广域网以及本领域技术人员所能想到的其它网络布局。对电视频道、电缆频道、视频提供商、电信源等之间的任何联网耦合的使用都正好在本发明的范围内。
“HAVi”代表“Home Audio Video interoperability”(家庭音频视频互操作性),它是特别用于家庭娱乐环境的供应商中立的音频视频标准的名字。HAVi允许将不同的家庭娱乐和通信设备(比如VCR、电视、音响、安全系统和视频监视器)联网在一起并从一个主设备(比如服务网关、PC或电视)进行控制。使用IEEE 1394(“火线(Firewire)”规范)作为互连介质,HAVi允许来自不同供应商的产品根据定义的连接和通信协议以及API彼此适应。由HAVi的分布式应用系统提供的服务包括寻址方案和消息传输、用于发现资源的查找、公告并接收本地或远程事件、以及流传输和控制同步数据流。
“HomePlug”代表HomePlug Powerline Alliance(家庭插头电力线联盟)。HomePlug是为针对高速家庭电力线联网产品和服务的开放规范的创建提供论坛而成立的非赢利性社团。HomePlug规范是为使用电力线联网标准通过家庭电力插口将互联网通信和多媒体传送到家庭而设计的。
HomePlug协议允许支持HomePlug的设备使用射频(RF)信号在电力线上进行通信。HomePlug协议使用正交频分多路复用(OFDM)将RF信号分成多个更小的子信号,并且随后在电力线上以不同的频率将这些子信号从一个支持HomePlug的设备传输到另一个支持HomePlug的设备。
“HTTP”代表“HyperText Transport Protocol”(超文本传输协议),它是万维网的标准数据通信协议。
正如本说明书中约定与数据元素中表示的名词一起使用的“ID”是“identification”(识别)的缩写,使得“user ID”指用户识别,以及“user ID”是存储用户识别的数据元素的名字。
“LAN”是“Local Area Network”(局域网)的缩写。LAN是覆盖相对较小区域的计算机网络。许多LAN被限制在单个建筑或一组建筑范围内。但是,一个LAN可以通过电话线和无线电波与任何距离上的其它LAN相连。以这种方式相连的LAN的系统称为广域网(WAN)。英特网是WAN的一个例子。
“LonWorks”是可从Echelon获得的联网平台。Lon Works当前被用在各种网络应用中,比如设备控制和照明控制。LonWorks联网平台使用一种称为“LonTalk”的协议,该协议嵌入在支持LonWorks的设备中所安装的“Neuron Chip(神经元芯片)”中。
Neuron Chip是一种具有多个处理器、读写存储器(RAM)和只读存储器(ROM)以及通信和I/O子系统的片上系统。只读存储器包含操作系统、LonTalk协议以及I/O功能库。芯片具有用于配置数据和应用程序的非易失性存储器,配置数据和应用程序可以在LonWorks网络上下载到设备。Neuron Chip提供了标准OSI网络模型的前6层。也就是说,Neuron Chip提供了物理层、数据链路层、网络层、传输层、会话层和表示层。
Neuron Chip不提供应用层编程。用于LonWorks网络的应用是利用称为“Neuron C”的编程语言编写的。利用Neuron C编写的应用通常是事件驱动的,因此会导致网络上的业务量下降。
“OSGI”指“Open Services Gateway Initiative”(开放服务网关组织),它是为服务网关开发规范(包括针对服务包的传送、提供遵循数据通信的软件中间件、以及通过服务网关的服务的规范)的工业组织。开放服务网关规范是基于java的应用层框架,它给服务提供商、网络运营设备制造商、以及设备制造商的供应商提供中立的应用和设备层API以及功能。
“USB”是“Universal Serial Bus”(通用串行总线)的缩写。USB是支持12Mbps数据传输速率的外部总线标准。单个USB端口可以用来连接多达127个外围设备,比如鼠标、调制解调器和键盘。USB还支持即插即用(Plug-and-Play)安装和热插拔。
“WAP”指的是无线应用协议(Wireless Application Protocol),它是用于与手持无线设备一起使用的协议。可使用WAP的无线设备的例子包括:移动电话机、寻呼机、双向无线电设备和手持计算机。WAP支持许多无线网络,并且许多操作系统都支持WAP。特别为手持设备设计的操作系统包括:PalmOS、EPOC、Windows CE、FLEXOS、OS/9和JavaOS。使用显示器并访问因特网的WAP设备运行“微浏览器”。微浏览器使用可以适应手持设备的低存储器限制以及无线网络的低带宽限制的小文件尺寸。
“X-10”指X-10协议。典型的支持X-10的设备使用X-10发射器和X-10接收器在AC电力线布线(比如家庭中现有的AC布线)上进行通信。X-10发射器和X-10接收器使用射频(RF)信号交换数字信息。X-10发射器和X-10接收器利用表示数字信息的短RF突发进行通信。
在X-10协议中,以称为帧的数据串形式发送数据。帧开始于指定为“1110”的4位起始码。在起始码之后,帧利用4位“住宅码”识别一个特定域,比如住宅,并利用4位“设备码”识别该域中的设备。帧还包括识别特定预置命令(如“开”,“关”,“暗”,“亮”,“状态开”,“状态关”和“状态请求”)的8位命令串。
示例性体系结构
现在从图1开始参考附图解释用于工作流决策管理的示例性方法、系统和产品。图1描述了根据本发明实施例的能够实现工作流决策管理的示例性数据处理系统。图1的示例性系统包括多个根据本发明实施例的能够实现工作流决策管理的遵循工作流决策管理设备,它们通过局域网(“LAN”)103连接在一起,用于进行数据通信。在图1的例子中,示例性遵循工作流决策管理设备包括个人数字助理(“PDA”)112、计算机工作站104、个人录像机108、服务器110、个人计算机102、恒温器114、膝上型计算机116、台灯118、光盘播放器120和电话机109,它们通过LAN相耦合用于进行数据通信。图1的体系结构的网络连接方面只是为了解释而非限制。实际上,根据本发明实施例的用于工作流决策管理的系统可以利用LAN、WAN、内联网、互联网、英特网、万维网、环球网本身以及本领域技术人员所能想到的其它连接来实现。这些网络是可以用来在整个数据处理系统中连接在一起的各种设备和计算机之间提供数据通信连接的介质。
在图1的例子中,PDA 112通过无线链路124耦合到LAN 103,用于进行数据通信。工作站104、服务器110、个人计算机102、膝上型计算机116和电话机109通过双绞线有线连接126、130、132、136、122耦合到LAN,用于进行数据通信。个人录像机108和光盘播放器105通过同轴电缆有线连接128、140耦合到LAN,用于进行数据通信。恒温器114和台灯118通过电力线连接134、138耦合到LAN,用于进行数据通信。
图1的示例性设备能够报告所支持的设备属性的当前值,并且图1的示例性设备还能够从其它设备接收指示该设备改变所支持属性的值的消息。图1的示例性系统一般能够维护设备状态历史;根据设备状态历史识别设备使用模式;以及根据设备使用模式识别导出(derived)情景。图1的示例性设备还能够根据导出情景识别工作流并根据预定容限执行工作流。图1的示例性设备还能够通过发送消息到设备以管理该设备的属性的至少一个值并将消息记录到日志中而来执行工作流。
设备状态历史是一个数据结构,该数据结构包含一个或多个设备的一个或多个属性的值的历史。在图1的例子中,每个设备可以维护它自己的设备状态历史并将设备历史存储在该设备上安装的计算机存储器中,或者网络中所有设备的单个设备状态历史可被维护在实现工作流决策管理的应用程序可访问的、安装在一个或多个设备上的计算机存储器中。
设备使用模式一般被实现为一种数据结构,该数据结构表示一个或多个设备的设备使用的预定模式。即,表示设备使用模式的数据结构。设备使用模式可以表示单个设备的使用模式或多个设备的使用模式。图1的系统一般通过在多个存储的设备使用记录中搜索与设备状态历史中最近的条目相匹配的设备使用记录而来根据设备状态历史识别设备使用模式。
图1的系统还能够根据识别的设备使用模式识别导出情景。导出情景一般被实现为表示联网环境中设备的特定状态的数据结构。根据联网环境中实际的过去设备使用来产生导出情景,并且这种导出情景经常表示多个设备的设备使用情景。图1的系统一般通过根据识别的设备使用模式ID从导出情景表中检索导出情景ID而来识别导出情景。
图1的系统还能够根据导出情景识别工作流并执行工作流。工作流是实现设备控制动作的软件,所述设备控制动作在被执行时改变一个或多个设备的一个或多个属性的值。执行工作流一般包括:调用设备的CAL对象中的成员方法,下载OSGi包到设备,调用设备类中的成员方法,发送消息到设备,或者本领域技术人员所能想到的任何其它执行工作流的方法。
构成图1所示的示例性系统的设备的布局是为了解释而非限制。正如本领域技术人员所能想到的,根据本发明的各种实施例有用的数据处理系统可以包括图1中未示出的附加的服务器、路由器、其它设备以及对等体系结构。这种数据处理系统中的网络可以支持许多数据通信协议,包括例如CEBus、X-10、LonTalk、HomePlug、HAVi、TCP/IP、HTTP、WAP以及本领域技术人员所能想到的其它协议。也可以在不同的计算机环境(如CEBus、OSGi以及本领域技术人员所能想到的其它环境)中实现本发明的各种实施例。尽管本说明书中的很多内容特别参考CEBus描述了本发明的示例性实施例,但这些描述是为了解释而非限制。实际上,许多环境和框架都支持根据本发明的工作流决策管理,如CEBus、HAVi、HomePlug、LonWorks、X-10、OSGi以及本领域技术人员所能想到的其它环境和框架,并且所有这些环境和框架都在本发明的范围内。
根据本发明的工作流决策管理通常是利用安装在一个或多个遵循工作流决策管理设备上的自动计算机器来实现的。为了进一步解释,图2示出了根据本发明实施例的用在实现工作流决策管理中的示例性设备150的方框图。图2的设备150包括至少一个计算机处理器156或“CPU”以及随机访问存储器168(“RAM”)。在RAM 168中存储有操作系统154。在根据本发明实施例的计算机中有用的操作系统包括:Unix、Linux、Microsoft XPTM以及本领域技术人员所能想到的许多其它操作系统。图2的例子中显示操作系统154在RAM168中,但操作系统的许多组件通常还被存储在非易失性存储器166中。
在RAM中还存储有工作流决策管理应用232。该工作流决策管理应用是通常能够维护设备状态历史、根据设备状态历史识别设备使用模式、以及根据设备使用模式识别导出情景的应用计算机程序。导出情景一般具有控制工作流执行的容限。图2的示例性设备还能够根据导出情景识别工作流并执行工作流。根据本发明的工作流决策管理方法可以使用许多编程语言来实现,如CAL、OSGi、Java、C++、Smalltalk、C、Pascal、Basic、COBOL、Fortran,以及本领域技术人员所能想到的其它语言。
工作流决策管理应用162一般还能够维护设备状态历史;根据设备状态历史识别设备使用模式;根据设备使用模式识别工作流情景;根据工作流情景识别工作流;以及执行该工作流,包括发送消息到设备以管理该设备的属性的至少一个值。
图2的示例性工作流决策管理应用232还包括日志记录模块231。该日志记录模块231包括能够通过将描述发送到设备的消息的消息信息记录到消息日志中而来将消息记录到日志中的计算机程序指令。
示例性工作流决策管理应用232还包括消息模式识别模块233。该消息模式识别模块233包括实现以下内容的计算机程序指令:通过对包括描述发送到设备的信息的消息信息的信息日志进行数据挖掘来根据发送到设备的多个消息识别消息模式。
图2的设备150包括通过系统总线160耦合到处理器156以及设备150的其它部件的非易失性计算机存储器166。非易失性计算机存储器166可以被实现为硬盘驱动器170、光盘驱动器172、电可擦可编程只读存储器空间(所谓EEPROM或“快闪”存储器)174、RAM驱动器(未示出)或本领域技术人员所能想到的任何其它种类的计算机存储器。
图2的示例性设备150包括通信适配器167,用于实现到其它遵循工作流管理设备182(包括服务器、其它工作流管理客户端设备以及本领域技术人员所能想到的其它设备)的用于数据通信的连接184,包括通过网络的连接。通信适配器实现了用于数据通信的连接的硬件层,通过它,本地设备和远程设备或服务器彼此直接和通过网络发送数据通信。可用于根据本发明实施例的工作流决策管理的通信适配器的例子包括用于有线拨号连接的调制解调器、用于有线LAN连接的以太网(IEEE802.3)适配器以及用于无线LAN连接的802.11b适配器等。
图2的示例性设备包括一个或多个输入/输出接口适配器178。遵循工作流管理设备中的输入/输出接口适配器通过例如软件驱动程序和计算机硬件来实现面向用户的输入/输出,所述软件驱动程序和计算机硬件用于控制到显示设备180(比如计算机显示屏)的输出以及来自用户输出设备181(如键盘和鼠标)的用户输入。
示例性数据结构和数据结构之间的关系
图3和图4示出了描述根据本发明的若干方面的用在实现工作流决策管理方法中的示例性数据结构的方框图。在本说明书中,除非上下文特别指出,否则术语“字段”和“数据元素”通常被用作同义词,指数字数据的各个元素。数据元素的聚合被称为“记录”或“数据结构”。记录的聚合被称为“表”或“文件”。文件或表的聚合被称为“数据库”。
图3的例子包括设备记录150,设备记录150表示根据本发明的遵循工作流决策管理设备。示例性设备记录150包括唯一识别设备的设备ID字段302。示例性设备记录150还包括包含设备的网络地址的地址字段304。示例性设备记录150包括属性字段306。属性字段包含表示设备状态(比如,开,关,音量(Volume)设置等)的特定设备属性的值。尽管在图3的例子中只示出了一个属性字段,但这只是为了简化解释。正如本领域技术人员所能想到的,许多遵循工作流决策管理设备支持多个属性。
图3的例子包括示例性设备状态记录330,它表示特定设备的许可设备状态。设备状态记录包括设备ID字段302,该设备ID字段302唯一识别其中该设备状态记录表示可接受设备状态的设备。设备状态记录330还包括设备状态ID字段316,该设备状态ID字段316唯一识别设备状态。设备状态记录330还包括描述字段308,该描述字段328包含对设备的可接受状态或属性值的描述。
图3的例子包括设备状态历史314。设备状态历史是包含一个或多个设备的状态历史的数据结构。即设备属性的当前值及过去值。示例性设备状态历史314中的记录包括设备ID 302,设备ID 302唯一识别为其记录设备状态的设备。示例性设备状态历史的记录还包括设备状态ID字段316,设备状态ID字段316唯一识别设备的可接受设备状态。示例性设备状态历史314的记录包括值字段318,值字段318包含设备的特定属性的值。如上所述,典型的设备支持多个属性,因此典型的设备状态历史的记录包括多个包含所支持的属性的值的值字段。示例性设备状态历史的记录包括时间戳字段320,时间戳字段320包含识别特定设备的特定设备属性具有特定值的日期和时间的日期和时间信息。
图3的例子包括设备使用记录328,设备使用记录328表示设备的设备属性的预定模式。即,设备使用是用来识别特定联网环境中设备的状态是否符合预定模式的数据结构。为了确定特定联网环境中的当前设备的状态是否符合预定模式,将设备状态历史中最近的条目与多个设备使用进行比较。如果比较结果为匹配,则断定该特定联网环境中设备的状态符合预定模式。
示例性设备使用328包括使用ID 331,使用ID 331唯一识别特定的预定设备使用模式。图3的示例性设备使用包括设备ID 302,设备ID 302唯一识别特定设备。设备使用328还包括设备状态ID316,设备状态ID 316唯一识别该特定设备的可接受设备状态。示例性设备使用328包括值字段318,值字段318包含该设备的特定支持属性的值。
图3的例子包括使用记录332,使用记录332识别并描述联网环境中的特定设备使用模式。该使用记录332包括使用ID 334和描述字段336,使用ID 334唯一识别设备使用模式,以及描述字段336包含对使用记录332所表示的设备使用模式的描述。
图3的例子包括情景记录344,情景记录344表示与识别的预定设备使用模式一致的特定设备使用情景。通常从许多联网环境中的许多用户来预先确定和预先定义情景344。即,这种情景不是根据实现它们的联网域中的实际的设备使用来产生的。在设备的当前状态符合预定设备使用模式时,设备的当前状态还可以符合多个情景之一。图3的示例性情景记录344包括唯一识别情景的情景ID字段346。图3的示例性情景记录344包括工作流ID 340,工作流ID 340识别当特定联网环境中的当前设备状态识别一个情景时要执行的工作流。尽管图3的情景记录包括单个工作流ID字段,但这只是为了简化解释,而非限制性的。在本发明的许多实施例中,特定情景支持多个工作流的执行。图3的情景344还包含描述字段350,描述字段350包含对情景的描述。
图3的例子包括工作流记录338,工作流记录338表示一个特定设备控制动作或一组设备控制动作。根据本发明,工作流是实现设备控制动作的软件,所述设备控制动作在被执行时改变一个或多个设备的一个或多个属性的值。示例性工作流记录338包括唯一识别工作流的工作流ID 340。图3的示例性工作流记录338还包括序号字段342,序号字段342的值用来以多个工作流的特定执行顺序执行这个工作流。即,当为一个情景执行多个工作流时,序号字段的值用来为该多个工作流的执行进行排序。正如本领域技术人员所能想到的,工作流可以利用CAL、OSGi、Java、C++、Smalltalk、C、Pascal、Basic、COBOL、Fortran等来实现。
图3的例子包括表示所执行的工作流的实例的工作流会话362。示例性工作流会话362包括唯一识别工作流会话的工作流会话ID364和识别所执行的工作流的工作流ID 340。示例性工作流会话还包括用户会话状态ID 366,用户会话状态ID 366唯一识别为其执行该工作流的特定用户会话。示例性工作流会话还包括识别发送到设备以实现该工作流的消息的消息ID 368。即,发送到设备以指示该设备改变特定属性的值的消息。在一些实施例中,发送这样的消息到设备引起设备状态的变化,并且因此执行工作流。示例性工作流会话362包括用户ID 370和角色ID字段372,用户ID 370识别代表其执行该工作流的用户,以及角色ID字段372识别该用户的安全角色。
图3的例子包括表示联网域中的特定设备使用情景的导出情景352。导出情景是根据联网环境中实际的设备使用而产生的。导出情景352与情景344具有两个重要的区别。首先,导出情景是根据联网环境中设备的设备使用而产生的,以及因此反映特定联网环境中的设备使用的情景,其中从该特定联网环境中导出所述导出情景,而不是预制的(canned)的或现成(off-the-shelf)的情景。其次,导出情景具有相关容限360,相关容限360是控制根据识别的导出情景而执行的工作流执行的规则集合。
图3的示例性导出情景352包括唯一识别导出情景的导出情景ID字段354。图3的示例性导出情景352包括识别导出情景的相关容限的容限ID 356。图3的导出情景352还包括将要利用识别导出情景的联网环境中设备的状态来执行的工作流ID 340。根据导出情景的相关容限来执行工作流。导出情景352的记录包含描述字段358,描述字段358包含对导出情景的描述。
图3的例子包括容限记录360,容限记录360表示控制根据识别的导出情景而执行的工作流执行的规则集合。通常容限是设备支持的可接受属性值的范围的一个子集。例如,恒温器可以支持如果被设置将最终破坏恒温器自身或其它设备的属性值。因此,容限经常被设计用来控制工作流执行,使得设备使用不会危害联网环境中的设备。图3的示例性容限360包括唯一识别容限的容限级别ID字段362。
图3的例子包括设备阈值记录308,设备阈值记录308表示设备将支持的最小阈值和最大阈值属性值。图3的示例性设备阈值记录308包括设备ID 302,设备ID 302识别该阈值对其是有效的设备。示例性设备阈值记录还包括包含该设备将支持的最大属性值的MAX字段310以及包含该设备将支持的最小属性值的MIN字段312。
图3的例子包括用户记录374,用户记录374表示为其执行工作流以影响设备状态的用户。根据本发明的工作流决策管理的若干方面的用户不限于人类用户,还包括本领域技术人员所能想到的处理。图3的示例性用户记录374包括唯一识别用户的用户ID 376以及唯一表示该用户的角色的角色ID 378。角色是用于用户的安全角色,如系统管理员、访客等等。
图3的例子还包括表示用户的会话的用户会话状态382。用户的会话表示代表该用户正在被执行的当前工作流决策管理。图3的用户会话状态382包括会话状态ID 384以及消息ID 386,所述会话状态ID 384唯一识别用户会话状态,以及消息ID 386识别发送来实施工作流会话中所识别的并代表该用户被执行的特定工作流的消息。用户会话状态还包括用户ID 376和角色ID 378,用户ID 376识别代表其执行工作流的用户,以及角色ID 378识别用户的角色。
图4示出了根据本发明实施例的用在工作流决策管理中的更多数据结构的方框图。图4的例子包括表示用户的安全角色的角色记录402。图4的示例性角色记录402包括唯一识别安全角色的角色ID 378。
图4的例子包括角色设备权限记录404,角色设备权限记录404表示分配给设备的特定角色的权限。例如,一些安全角色只具有对一些设备的有限访问。角色设备权限记录404包括角色权限ID字段406,角色权限ID字段406唯一识别角色设备权限。图4的示例性角色设备权限记录404包括权限ID 408和角色ID 378,权限ID 408识别许可的权限,以及角色ID 378识别具有该权限的特定安全角色。
图4的例子包括表示特定权限的权限记录402。示例性权限记录402包括权限ID字段408和描述字段410,权限ID字段408识别权限,以及描述字段410包含该权限的描述。示例性权限记录402包括读标记412和写标记414,它们包含读和写权限的布尔表示。
图4的例子包括表示消息的消息记录416。消息记录416包括唯一表示消息的消息ID字段386。图4的示例性消息记录416还包括起始地址字段418和目的地址字段420,起始地址字段418包含发起消息的设备的网络地址,以及目的地址字段420包含接收消息的设备的网络地址。图4的消息记录416还包括消息日志ID 722,消息日志ID 722表示具有表示消息的条目的消息日志。
图4的例子包括表示适合设备的可用权限的设备权限记录422。图4的示例性设备权限记录422包括设备权限ID 424和设备ID 302,设备权限ID 424唯一识别设备权限,以及设备ID 302识别该设备。示例性设备权限记录422包括权限ID 406,权限ID 406识别适合设备的权限。
图4的例子包括表示消息桥450的数据结构。消息桥是设计用于将消息路由到联网环境中的一个或多个设备的硬件。可以表示为消息桥的设备的例子包括路由器、网关以及本领域技术人员所能想到的其它设备。
图4的例子包括示例性消息日志722。消息日志722是包含表示发送到联网环境中一个或多个设备的各个消息的条目的数据结构。示例性消息日志722中的条目包括消息日志ID 724和消息ID 725,消息日志ID 724唯一识别该消息日志,以及消息ID 725唯一识别由日志中的条目表示的消息。消息日志中的条目还包括消息的内容726以及发送消息的时间762。消息日志有用地提供对发送到设备用以实施根据本发明的工作流执行的消息的记录。
图4的例子包括消息模式记录460。消息模式记录460表示识别的消息模式。消息模式记录460中的条目包括消息模式ID 462,消息模式ID 462唯一识别消息模式。消息模式记录460中的条目还包括消息类型464和设备ID 465,消息类型464识别发送到设备的消息的类型,以及设备ID 465识别消息被发送到的设备。消息模式记录中的条目还包括消息属性463和消息序号ID 466,其中消息属性463定义消息中包含的设备控制指令,以及消息序号ID 466识别特定消息在消息模式中的位置。
图5示出了描述图3和图4的数据结构之间的示例性关系的方框图。在图5的例子中,设备记录通过用作外部密钥的设备ID字段(图3上的302)与识别的设备使用记录328形成一对多关系。识别的设备使用记录328通过用作外部密钥的使用ID字段(图3上的330)与使用记录332形成了多对一关系。设备记录150通过用作外部密钥的设备ID字段(图3上的302)与设备阈值记录308形成了一对多关系。
在图5的例子中,设备记录150通过用作外部密钥的设备ID字段(图3上的302)与设备状态记录330形成了一对多关系。设备状态记录330通过用作外部密钥的设备状态ID字段(图3上的316)与设备状态历史记录314形成了一对多关系。设备状态历史记录314通过用作外部密钥的设备ID字段(图3上的302)与设备记录150形成了多对一关系。
在图5的例子中,设备记录150通过用作外部密钥的设备ID字段(图3上的302)与情景记录344形成了一对多关系。情景记录344通过用作外部密钥的工作流ID字段(图3上的340)与工作流记录338形成了多对一关系。工作流记录338通过用作外部密钥的工作流ID字段(图3上的340)与工作流会话362形成了一对多关系。
在图5的例子中,设备记录150通过用作外部密钥的设备ID字段(图3上的302)与导出情景记录352形成了一对多关系。导出情景记录352通过用作外部密钥的导出情景ID字段(图3上的354)与容限记录360形成了多对一关系。
在图5的例子中,设备记录150通过用作外部密钥的设备ID字段(图4上的302)与设备权限记录422形成了一对多关系。设备权限记录422通过用作外部密钥的权限ID字段(图4上的406)与权限记录402形成了多对一关系。权限记录402通过用作外部密钥的权限ID字段(图4上的406)与角色设备权限记录404形成了一对多关系。角色设备权限记录404通过用作外部密钥的角色字段(图4上的378)与角色记录402形成多对一关系。
在图5的例子中,用户记录374通过用作外部密钥的角色ID字段(图4上的378)与角色记录402形成了多对一关系。用户记录374通过用作外部密钥的用户ID字段(图3上的376)与用户会话状态382形成了一对多关系。在图5的例子中,用户会话状态382通过用作外部密钥的消息ID字段(图4上的386)与消息记录416形成了多对一关系。在图5的例子中,用户会话状态382通过用作外部密钥的用户会话状态ID(图3上的384)与工作流会话362形成了一对多关系。
在图5的例子中,消息桥450通过用作外部密钥的消息ID字段(图4上的386)与消息记录416形成了一对多关系。消息记录416通过用作外部密钥的消息ID字段(图4上的724)与消息日志722形成了多对一关系。在图5的例子中,消息模式记录460通过用作外部密钥的消息日志ID字段(图3上的724)与消息日志722形成了多对一关系。消息模式记录460通过用作外部密钥的消息模式ID字段(图3上的462)与工作流情景记录344形成了一对一关系。
工作流决策管理
图6示出了描述用于工作流决策管理的示例性方法的数据流示意图。图6的方法包括维护(602)设备状态历史314。如上所述,设备状态历史是一种数据结构,该数据结构包含一个或多个设备的一个或多个属性的值的历史。可以将单个设备的设备状态历史维护在设备自身上的计算机存储器中,或者将联网环境中对于多个设备的单独的设备状态历史维护在实现图6的方法的应用程序可访问的计算机存储器中。
在图6的方法中,维护(602)设备状态历史314包括记录设备150的多个属性值306。在图6的例子中,每当设备150的属性值306被改变时,就会通过在设备状态历史中创建新条目而记录该变化。在一些这样的实施例中,设备状态历史314中最新的条目表示设备的当前状态。在一些实施例中,工作流决策管理设备被配置为向实现设备状态管理器的应用程序报告属性值的每个变化,并且设备状态管理器在设备状态历史中创建一条新条目以记录属性值的变化。
图6的方法还包括根据设备状态历史314识别(604)所识别的设备使用模式328。如上所述,设备使用记录表示预定的设备使用模式并且包括定义设备使用模式的设备属性值的集合。在图6的方法中,根据设备状态历史识别(604)所识别的设备使用模式328还包括将设备状态历史314和多个设备使用模式记录329进行比较。在图6的例子中,将设备状态历史314中表示最近的设备状态的条目窗口与设备使用模式数据库616中的设备使用记录329进行比较以识别匹配的识别的设备使用记录328。如果存在这样的匹配的设备使用记录328,则推断出联网环境中的设备的当前状态符合该记录所表示的设备使用模式。
本领域技术人员能想到,在典型的实施例中,设备状态历史中的条目的值不必与设备使用记录的值完全相同以识别匹配的设备使用记录。实际上,在识别匹配的记录时设备状态历史的条目的值通常并不与设备使用记录的值完全相同。设备状态历史的条目的值必须与认为匹配的设备使用记录的值相似的程度将根据以下因素而变化:如用来比较设备状态历史与设备使用记录的容限和方法、用于识别匹配的预定容限、以及本领域技术人员所能想到的其它多种因素。
图6的方法还包括根据识别的设备使用模式328识别(606)具有相关容限356的导出情景352。如上所述,导出情景352表示根据联网环境中实际的设备使用而产生的特定情景。导出情景352与其它预制的情景有两个重要的区别。首先,导出情景是根据联网环境中设备的实际过去设备使用而产生的,因此反映了特定联网环境中设备使用的情景。其次,在图6的例子中,导出情景352具有相关容限360。容限是控制根据识别的导出情景而执行的工作流执行的规则集合。
在图6的方法中,根据识别的设备使用模式328识别(606)导出情景352还包括从导出情景表中检索导出情景ID。在图6的例子中,导出情景表353包括由识别预定设备使用模式的设备使用ID 330所索引的多个导出情景ID 354。因此,根据识别的设备使用模式328识别(606)导出情景352包括根据识别的设备使用记录328的设备使用ID 330从导出情景表中检索导出情景ID。
在图6的方法中,根据识别的设备使用模式328识别(606)导出情景352还包括根据规则608识别导出情景352。当存在多个与单个设备使用模式相关联的导出情景时,规则608控制在多个导出情景之间对特定导出情景的识别。考虑在联网的厨房中做饭的用户的例子。起居室中设备的状态匹配用户正在做饭的设备使用模式。但是,多个情景与该设备使用模式对应,因为用户可能正在做早餐、做午餐或做晚餐。识别情景的示例性规则是:如果一天中的时间是在4:30p.m.和7:30p.m.之间并且设备使用模式识别到做饭情景,则用户正在做晚餐。
图6的方法还包括根据导出情景352识别(612)工作流338。如上所述,根据本发明,工作流是实现设备控制动作的软件,当设备控制动作被执行时会改变一个或多个设备的一个或多个属性的值。在图6的方法中,根据导出情景352识别(612)工作流338包括从导出情景记录352检索工作流ID 340。
图6的方法还包括根据容限356执行(614)工作流338。如上所述,容限表示控制工作流执行的规则。通常容限是设备支持的可接受属性值的范围的一个子集。这样的容限经常被设计用来防止工作流执行破坏联网环境中的设备。
考虑下面的例子。一个联网的家庭具有多个用来冷却该家庭的西侧的设备。这些设备包括风扇、空调和自动遮光帘(shade)。但是,自动遮光帘目前没有工作并且它们目前将不能正常关闭。根据本发明的工作流决策管理已经识别到该家庭网络中的情景,它显示该家庭的西侧过于暖和并且因此识别并执行一个工作流以冷却该家庭,包括降低空调的恒温器、提高风扇速度并关闭自动遮光器。
因为自动遮光器不能正常工作,该工作流没有充分降低西侧的温度,并且随后很快就再次识别出房间太热的情景。再次识别并执行相同的工作流。通过为该工作流执行提供定义恒温器允许的最小容限值的容限,避免了空调过度工作到损坏点。即,容限为工作流执行提供了一些边界来防止设备由于工作流执行中无法预见的问题(如在这个例子中,自动遮光器不能正常工作)而损坏,。这些容限值通常被设计为设备支持的实际值的一个子集。这样的设计有利地认识到设备通常支持将最终导致设备损坏的属性值。
在图6的方法中,根据容限356执行(614)工作流338还包括发送消息到设备以指示该设备改变属性值。在一些这样的例子中,接收这种方法的设备可以通过调用表示设备的设备类中的成员方法而实施设备的值的改变,例如以属性值为参数的SomeDeviceClass.setAttribute()。
利用消息日志的工作流决策管理
将发送到实施一个或多个工作流的设备的消息记录到日志中可以有用地为工作流决策管理提供用于识别消息模式和消息情景的手段。因此,为了进一步解释,图7示出了描述用于包括将工作流执行中发送的消息记录到日志中的工作流决策管理的示例性方法的流程图。图7的方法包括维护(702)设备状态历史314。如上所述,设备状态历史是一个数据结构,该数据结构包含一个或多个设备的一个或多个属性的值的历史。可以将单个设备的设备状态历史维护在设备自身上的计算机存储器中,或者将联网环境对于多个设备的单独的设备状态历史维护在实现图7的方法的应用程序可访问的计算机存储器中。
在图7的方法中,维护(702)设备状态历史314包括记录设备的多个属性值。如上所述,每当设备150的属性值306被改变时,都通过在设备状态历史中创建一条新条目而记录该变化。在一些这样的实施例中,设备状态历史314中最新的条目表示设备的当前状态。在一些实施例中,工作流决策管理设备被配置为向实现设备状态管理器的应用程序报告属性值的每个变化,并且设备状态管理器在设备状态历史中创建一条新条目以记录属性值的变化。
图7的方法还包括根据设备状态历史314识别(704)设备使用模式328。如上所述,设备使用记录表示预定设备使用模式并且包括定义设备使用模式的设备属性值的集合。在图7的方法中,根据设备状态历史314识别(704)所识别的设备使用模式328还包括将设备状态历史314和多个设备使用模式记录329进行比较。在图7的例子中,将设备状态历史314中表示最近的设备状态的条目窗口与设备使用模式数据库616中的设备使用记录329进行比较以识别匹配的设备使用记录328。如果存在这样的匹配的设备使用记录328,则推断出联网环境中设备的当前状态符合该记录所表示的设备使用模式。
本领域技术人员能想到,在典型的实施例中,设备状态历史中的条目的值不必与设备使用记录的值完全相同以识别匹配的设备使用记录。实际上,在识别匹配的记录时设备状态历史的条目的值通常并不与设备使用记录的值完全相同。设备状态历史的条目的值必须与认为匹配的设备使用记录的值相似的程度将根据以下因素而变化:如用来比较设备状态历史与设备使用记录的容限和方法、用于识别匹配的预定容限、以及本领域技术人员所能想到的其它多种因素。
图7的方法还包括根据设备使用模式328识别(710)工作流情景708。图7的工作流情景可以是一般根据许多联网环境中的许多用户预先确定和预先定义的情景,如上面参考图3所讨论的并给予了参考标记344的情景,或者上面参考图3所讨论的并给予了参考标记352的根据联网环境中实际设备使用而产生的导出情景。
可以通过从工作流情景表706中检索工作流情景ID 754实施根据设备使用模式328识别(710)工作流情景708。在图7的例子中,工作流情景表706包括由识别预定设备使用模式的设备使用ID 730所索引的多个工作流情景ID 754。因此,根据识别的设备使用模式328识别(710)工作流情景708包括根据识别的设备使用记录328的设备使用ID 331从工作流情景表中检索工作流情景ID 754。
在图7的方法中,进一步根据规则709实施根据设备使用模式328识别工作流情景708。当存在多个与单个设备使用模式相关联的工作流情景时,规则709控制在多个工作流情景之间对特定工作流情景的识别。考虑在联网的厨房中做饭的用户的例子。起居室中设备的状态与用户正在做饭的设备使用模式相匹配。但是,多个工作流情景与该设备使用模式对应,因为用户可能正在做早餐、午餐或做晚餐。识别工作流情景的示例性规则是:如果一天中的时间在4:30p.m.和7:30p.m.之间并且设备使用模式识别到做饭情景,则用户正在做晚餐。
图7的方法还包括根据工作流情景708识别(712)工作流338。如上所述,根据本发明,工作流是实现设备控制动作的软件,所述设备控制动作当被执行时改变一个或多个设备的一个或多个属性的值。在图7的方法中,根据工作流情景708识别(712)工作流338包括从工作流情景记录708中检索工作流ID 740。
图7的方法还包括执行(714)工作流338,包括发送(716)消息到设备以管理该设备的至少一个属性的值。如上所述,根据本发明,工作流是实现设备控制动作的软件,所述设备控制动作当被执行时改变一个或多个设备的一个或多个属性的值。这种软件通过发送消息到设备以指示该设备改变属性的值来实施设备控制动作。接收这种方法的设备可以通过调用表示设备的设备类中的成员方法而实施对设备的值的改变,例如,以消息中发送的属性值为参数的SomeDeviceClass.setAttribute()。
在图7的方法中,执行(714)工作流338还包括根据相关容限756执行工作流。容限是控制根据识别的导出情景而执行的工作流执行的规则集合。通常容限是设备支持的可接受属性值的范围的一个子集。例如,恒温器可能支持如果被设置将最终破坏恒温器自身或其它设备的属性值。因此,容限通常被设计为控制工作流的执行,使得设备使用不会危害联网环境中的设备。
图7的方法还包括将消息718记录(720)到日志中。根据图7的方法将消息718记录(720)到日志中是通过将消息信息记录在消息日志722中而实施的。消息日志722是一个数据结构,该数据结构包含表示发送到联网环境中一个或多个设备的各个消息的条目。在图7的例子中,消息日志722包含消息信息,消息信息包括消息日志ID 724、消息ID 725、消息内容726以及发送消息的时间762。消息日志有用地提供了消息的记录,其中该消息发送到实施根据本发明的工作流执行的设备。
图7的消息日志中包括的消息信息是为了解释而非限制。实际上,消息日志中记录的消息信息将根据若干因素而变化,比如接收消息的设备的类型、消息类型、涉及消息的期望信息以及本领域技术人员所能想到的其它因素。
消息日志有利地提供了消息的记录,其中该消息发送到实施根据本发明的工作流执行的设备。这样的消息日志可以用来识别消息中的模式,它们本身可用于识别要执行的工作流。因此,为了进一步解释,图8示出了描述根据本发明的工作决策管理的附加方面的流程图。图8的方法包括根据发送到设备的多个消息识别(802)消息模式460。在图8的例子中,根据发送到设备的多个消息识别(802)消息模式460是通过从记录与发送到一个或多个设备的多个消息有关的信息的消息日志中包含的信息中识别消息模式而实施的。识别(802)消息模式460可以通过用户检查消息日志的条目并发现消息日志的条目中的模式来实施。
要求用户手工识别消息模式可能太费事而难以实行。因此,在图8的方法中,根据发送到设备的多个消息识别(802)消息模式460是通过对消息日志722进行数据挖掘(803)来实施的,其中消息日志722包括描述发送到联网环境中的设备的消息的消息信息。对数据挖掘有许多定义。为本说明书起见,数据挖掘意味着分析消息日志中记录的消息信息并从所记录的消息信息中发现关系、模式、知识或信息并使用发现的关系、模式或知识来为工作流决策管理识别消息模式。许多数据挖掘技术通常包括以下步骤:为数据挖掘准备数据,选择适当的数据挖掘算法,以及采用该数据挖掘算法。
在图8的方法中,通过为消息日志提供预定数据结构已经为数据挖掘准备了消息日志中记录的消息信息。通常,当创建这样的消息日志时,提供该预定数据结构。正如本领域技术人员所能想到的,用于每个特定类型消息日志的特定的预定数据结构根据若干因素而变化,比如发布到设备以实施工作流决策管理的消息的类型、可用于日志记录的消息信息的种类等等。
数据挖掘通常还包括选择适当的数据挖掘算法。用于发现消息模式的适当的数据挖掘算法将根据许多因素而变化,比如在可用于挖掘的消息日志中记录的消息信息的类型、用来实施数据挖掘的可用计算机软件和硬件、消息日志中消息信息集合的大小以及本领域技术人员所能想到的任何其它因素。存在许多数据挖掘算法,并且从消息日志中记录的消息信息集合中适当地发现消息模式的所有算法都在本发明的范围内。
尽管存在许多数据挖掘算法,但许多数据挖掘算法都享有相同的目的。典型的数据挖掘算法试图解决被计算机可以收集的数据容量所击溃(overwhelmed)的问题。数据挖掘算法通常还通过分析数据、总结数据或从数据得出用户可以理解的结论来试图使用户看不到庞大的数据体。
讨论各种数据挖掘算法的一种方式是讨论它们执行的功能而不是它们底层的数学操作的细节。讨论各种数据挖掘算法的另一种方式是描述由数据挖掘算法所返回的“规则”。规则是对数据挖掘算法发现的关系、模式、知识或信息的描述。在本说明书中,通过描述数据挖掘算法执行的功能和它们返回的规则来解释示例性的数据挖掘算法。为论述清楚而非限制起见,在本说明书中包括了数据挖掘算法的下列例子。本领域技术人员所能想到的任何数据挖掘方法,无论其类型、分类或底层数学操作,都在本发明的范围内。
在图8的方法的一些例子中,识别(802)消息模式460包括利用关联函数对消息日志722进行数据挖掘(803)。关联函数通常用来发现具有相连或相关事件的模式。例如,在识别消息模式的上下文中,利用关联函数进行数据挖掘可以返回一个规则,例如“发送到恒温器的记录消息的72%是降低恒温器的指令并且在时间上与发送到吊扇以提高吊扇速度的消息相对应”。利用关联函数的数据挖掘可以用来确定消息日志中各种条目的一个或者多个字段之间的关联性。例如,关联函数可以返回一个规则,该规则描述了发送到恒温器的某一百分比的消息是降低恒温器的设置。
在图8的方法的其它例子中,识别(802)消息模式460包括利用序列模式运算符对消息日志722进行数据挖掘(803)。利用序列模式进行数据挖掘通常用于分析单个类型的消息日志中的消息信息。序列模式运算符可以用来返回一个规则,该规则描述了到相同设备的消息日志中的条目之间的序列关系。描述消息日志中的这种条目之间的关系的规则的一个例子是这样一种规则:该规则识别连续发送到恒温器的三个消息包括提高恒温器设置的指令,由此表示由恒温器控制区域之外的温度正在降低,导致恒温器控制的区域温度降低。
在图8的方法的另一些例子中,识别(802)消息模式460包括用分类运算符进行数据挖掘。分类运算符适用于消息日志中被组织或“标记”为属于某一类的一组条目,例如,所记录的在一天中的某一特定时间发送的消息的消息信息。分类运算符检查消息日志中带标记的条目集合并产生识别该类的数学函数。这种分类运算符可以用来例如分析消息日志中在一天的某个特定时间接收到的一类条目并确定一天中具有最多消息业务量的时间。
在图8的方法的其它例子中,识别(802)消息模式460包括利用聚合运算符进行数据挖掘。与利用分类运算符进行数据挖掘相比较,分类运算符的输入是消息日志中一组带有标记的条目,而聚合运算符的输入是消息日志中一组未带标记的条目。在应用聚合运算符时不知道任何类别。利用聚合运算符进行数据挖掘可以用来将消息日志中的条目分段或分类,如按一天中的时间或设备ID将条目分段。许多用来构造分类运算符的底层数学操作都可用来构造聚合运算符。
尽管已经分别讨论了各种数据挖掘算法,但在图8的方法的各种例子中,可以一起使用不同的数据挖掘算法来识别消息模式。此外,尽管已经关于数据挖掘详细地说明了图8的方法,但任何识别包括消息模式的消息日志子集的方法都在本发明的范围内,而不只是数据挖掘。在各种示例性实施例中,识别包括消息模式的消息日志子集包括使用数据判别、使用人工智能、使用机器学习、使用模式识别或本领域技术人员所能想到的识别包括消息模式的消息日志子集的任何方法。
现成的数据挖掘软件的一个例子包括IBM的“IntelligentMiner(智能挖掘器)”。可以在包括AIX、AS/400和OS/390的若干计算环境中运行“Intelligent Miner”。“Intelligent Miner”是企业数据挖掘工具,被设计用于客户机/服务器配置并且被优化来挖掘非常大的数据集,如千兆字节的数据集。“Intelligent Miner”包括多个用来分析大数据库的数据挖掘技术或工具,并且提供了用来查看和解释不同的挖掘结果的可视化工具。
已经识别了数据模式,可以创建表示这些模式的记录,并且当联网环境中的这种消息符合识别的消息模式时,这些记录有用地提供了用于识别要执行的工作流的手段。在图8的例子中,消息模式记录460表示识别的消息模式。消息模式记录460中的条目包括唯一识别消息模式的消息模式ID 462。消息模式记录460中的条目还包括识别发送到设备的消息的类型的消息类型464以及识别消息被发送到的设备的设备ID 465。消息模式记录中的条目还包括消息属性463和消息序号ID 466,其中消息属性463定义消息中包含的设备控制指令,以及消息序号ID 466识别消息模式中特定消息所在的位置。
图8的方法包括将表示识别的消息模式的消息模式记录460存储(806)在消息模式数据库616中。消息模式数据库维护多个消息模式记录以用于在联网环境的消息业务量中识别消息模式。
图8的方法还包括根据发送到联网环境中的一个或多个设备的多个消息718识别(804)消息模式460。消息模式记录表示预先识别的消息模式。在图8的方法中,根据多个消息718识别(804)消息模式460可以通过将联网环境中的多个消息或消息日志中最近的条目与消息模式数据库中的多个消息模式记录进行比较来实施。在图8的例子中,可以将消息日志中表示最近消息的条目窗口与消息记录进行比较以识别匹配的消息记录。如果存在这样匹配的消息记录,则推断出联网环境中的消息业务量符合由该消息模式记录表示的消息模式。
本领域技术人员将会想到,在典型的实施例中,消息日志中或者联网环境的业务量中的消息的各个方面不必与消息模式记录的值完全相同以识别匹配的消息模式记录。实际上,在识别匹配的记录时消息日志的条目或业务量中的消息的值通常不会与消息模式记录的值完全相同。消息日志中条目的值或业务量中消息的值必须与认为匹配的消息模式记录的值相似的程度将根据若干因素而变化,比如,用来将消息和消息日记的条目与消息模式记录进行比较的方法、用于识别匹配的预定容限、以及本领域技术人员所能想到的其它各种因素。
图8的方法包括根据设备使用模式328以及根据消息模式460识别(805)工作流情景708。图8的工作流情景可以是一般根据许多联网环境中的许多用户预先确定和预先定义的情景,如上面参考图3所讨论的并且给予参考标记344的情景,或者上面参考图3所讨论的并给予了参考标记352的根据联网环境中的实际设备使用而产生的导出情景。
根据设备使用模式328以及根据消息模式460识别(805)工作流情景708可以通过从工作流情景表706中检索工作流情景ID 754来实施。在图7的例子中,工作流情景表706包括由识别预定义的设备使用模式的设备使用ID 730以及识别消息模式的消息模式ID462所索引的多个工作流情景ID 754。因此根据设备使用模式328以及根据消息模式460识别(805)工作流情景708包括:根据识别的设备使用记录328的设备使用ID 331和识别的消息模式的消息模式ID 462从工作流情景表706中检索工作流情景ID 754。
在图8的方法中,根据设备使用模式328以及根据消息模式460识别(805)工作流情景708还可以根据规则709来实施。当存在与单个设备使用模式相关的多个工作流情景并且存在消息模式时,规则709控制在多个工作流情景之间对特定工作流情景的识别。
已经识别了工作流情景,根据本发明实施例的工作流决策管理可以通过如参考图7所述的识别工作流和执行工作流来继续。消息模式的添加有利地提供了在选择工作流情景中的附加粒度,并且提供了用于更好地处理联网环境中工作流决策管理的结果的手段。
主要在用于工作流决策管理的完全功能计算机系统的上下文中描述了本发明的示例性实施例。然而,本技术领域的读者应该认识到,也可以在与任何合适的数据处理系统一起使用的信号承载介质上所设置的计算机程序产品中体现本发明。这种信号承载介质可以是传输介质或用于机器可读信息的可记录介质,包括磁介质、光介质或其它合适介质。可记录介质的例子包括:硬盘驱动器中的磁盘或软盘、用于光驱的光盘、磁带、以及本领域技术人员所能想到的其它介质。传输介质的例子包括:用于语音通信的电话网以及数字数据通信网络,例如以太网TM以及与网际协议和环球网进行通信的网络。本领域技术人员应该立即认识到,具有合适编程装置的任何计算机系统都将能够执行如程序产品中体现的本发明方法的步骤。本领域技术人员应该立即认识到,虽然本说明书中所描述的大多数示范性实施例是面向安装在计算机硬件上并在计算机硬件上执行的软件,然而,被实现为固件或硬件的备选实施例也在本发明的范围内。
从上述描述应该理解,在不脱离本发明真实精神的情况下、可以对本发明各实施例进行修改和变动。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受以下权利要求的语言所限制。

Claims (13)

1.一种用于工作流决策管理的方法,该方法包括:
维护设备状态历史;
根据该设备状态历史识别设备使用模式;
根据该设备使用模式识别工作流情景;
根据该工作流情景识别工作流;
执行该工作流,包括发送消息到一个设备以管理该设备的属性的至少一个值;以及
将该消息记录到日志中。
2.权利要求1的方法,其中将该消息记录到日志中还包括:将描述发送到该设备的该消息的消息信息记录到消息日志中。
3.权利要求1的方法,还包括:根据发送到该设备的多个消息识别消息模式。
4.权利要求3的方法,其中根据发送到该设备的多个消息识别消息模式还包括:对消息日志进行数据挖掘,所述消息日志包括描述发送到该设备的该消息的消息信息。
5.权利要求3的方法,其中根据该设备使用模式识别工作流情景还包括:根据该消息模式识别工作流情景。
6.权利要求1的方法,其中执行该工作流还包括:根据相关容限执行该工作流。
7.一种用于工作流决策管理的系统,该系统包括:
计算机处理器;
可操作地耦合到该计算机处理器的计算机存储器,该计算机存储器在其中设置有能够完成下列内容的计算机程序指令:
维护设备状态历史;
根据该设备状态历史识别设备使用模式;
根据该设备使用模式识别工作流情景;
根据该工作流情景识别工作流;
执行该工作流,包括发送消息到一个设备以管理该设备的属性的至少一个值;以及
将该消息记录到日志中。
8.权利要求7的系统,其中该计算机存储器在其中还设置有能够将描述发送到该设备的该消息的消息信息记录到消息日志中的计算机程序指令。
9.权利要求7的系统,其中该计算机存储器在其中还配置有能够根据发送到设备的多个消息识别消息模式的计算机程序指令。
10.权利要求9的系统,其中该计算机存储器在其中还配置有能够对消息日志进行数据挖掘的计算机程序指令,其中所述消息日志中包括描述发送到该设备的该消息的消息信息。
11.权利要求9的系统,其中该计算机存储器在其中还配置有能够根据该消息模式识别工作流情景的计算机程序指令。
12.权利要求7的系统,其中该计算机存储器在其中还配置有能够根据相关容限执行该工作流的计算机程序指令。
13.一种用于工作流决策管理的计算机程序产品,所述计算机程序产品设置在信号承载介质上,该计算机程序产品包括:
执行权利要求1-6中任意一个权利要求的步骤的计算机程序指令。
CNA2006101431132A 2005-11-01 2006-10-31 工作流决策管理的方法和系统 Pending CN1959720A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/264,714 US20070100884A1 (en) 2005-11-01 2005-11-01 Workflow decision management with message logging
US11/264,714 2005-11-01

Publications (1)

Publication Number Publication Date
CN1959720A true CN1959720A (zh) 2007-05-09

Family

ID=37997825

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101431132A Pending CN1959720A (zh) 2005-11-01 2006-10-31 工作流决策管理的方法和系统

Country Status (3)

Country Link
US (1) US20070100884A1 (zh)
KR (1) KR100773010B1 (zh)
CN (1) CN1959720A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409165A (zh) * 2021-08-19 2021-09-17 清华四川能源互联网研究院 电力数据集成方法、装置、电子设备及可读存储介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489645B2 (en) * 2004-05-13 2016-11-08 International Business Machines Corporation Workflow decision management with derived scenarios and workflow tolerances
US20060156276A1 (en) * 2005-01-10 2006-07-13 Brown William A Workflow decision management with heuristics
US20060155848A1 (en) * 2005-01-10 2006-07-13 Brown William A Workflow decision management including identifying user reaction to workflows
US20070100990A1 (en) 2005-11-01 2007-05-03 Brown William A Workflow decision management with workflow administration capacities
US8155119B2 (en) * 2005-11-01 2012-04-10 International Business Machines Corporation Intermediate message invalidation
US8010700B2 (en) * 2005-11-01 2011-08-30 International Business Machines Corporation Workflow decision management with workflow modification in dependence upon user reactions
US8667100B2 (en) 2010-07-07 2014-03-04 Comcast Interactive Media, Llc Device communication, monitoring and control architecture and method
US9639815B2 (en) * 2011-07-14 2017-05-02 International Business Machines Corporation Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework
US9646278B2 (en) 2011-07-14 2017-05-09 International Business Machines Corporation Decomposing a process model in an enterprise intelligence (‘EI’) framework
US9659266B2 (en) 2011-07-14 2017-05-23 International Business Machines Corporation Enterprise intelligence (‘EI’) management in an EI framework
JP6244992B2 (ja) * 2014-03-07 2017-12-13 富士通株式会社 構成情報管理プログラム、構成情報管理方法、及び構成情報管理装置
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
CN104219541B (zh) * 2014-09-22 2017-12-08 北京奇艺世纪科技有限公司 一种视频生产系统及方法
US11151089B2 (en) * 2018-10-29 2021-10-19 EMC IP Holding Company LLC Compression of log data using pattern recognition
CN109670780A (zh) * 2018-12-03 2019-04-23 中国建设银行股份有限公司 复杂场景下的工作流处理方法、设备和存储介质
KR102303552B1 (ko) * 2020-01-07 2021-09-23 씨스존 주식회사 학습 기반 메시지 데이터 관리를 지원하는 게이트웨이 장치 및 이의 학습 기반 메시지 데이터 관리 방법
KR102413004B1 (ko) * 2020-12-02 2022-06-24 씨스존 주식회사 스마트 항만 구성에 적용되는 다양한 디바이스의 대용량 트래픽 처리 효율을 개선한 IoT 게이트웨이의 메시지 데이터 관리 방법

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516079B1 (en) * 2000-02-14 2003-02-04 Digimarc Corporation Digital watermark screening and detecting strategies
EP0675649A3 (en) * 1994-04-01 1996-05-22 Toshiba Kk Method and device for recording and reproducing digital image signals.
US5546463A (en) * 1994-07-12 1996-08-13 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5745864A (en) * 1994-10-04 1998-04-28 Nippondenso Co., Ltd. Vehicular information storage device and power outage-resistant storage system and method for the same
US5572438A (en) * 1995-01-05 1996-11-05 Teco Energy Management Services Engery management and building automation system
US5812394A (en) * 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5825857A (en) * 1995-09-13 1998-10-20 Mci Communications Corporation Method and system for calling card validation hubbing
KR0150528B1 (ko) * 1995-12-19 1998-11-02 양승택 시나리오를 이용한 에이티엠 가상 채널 교환기에서의 호처리 방법
US5768284A (en) * 1995-12-29 1998-06-16 At&T Corp Monitoring of periodic patterns
US6192282B1 (en) * 1996-10-01 2001-02-20 Intelihome, Inc. Method and apparatus for improved building automation
US6108775A (en) * 1996-12-30 2000-08-22 Texas Instruments Incorporated Dynamically loadable pattern history tables in a multi-task microprocessor
US5978371A (en) * 1997-03-31 1999-11-02 Abb Power T&D Company Inc. Communications module base repeater
US5978836A (en) * 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6100817A (en) * 1998-03-17 2000-08-08 Abb Power T&D Company Inc. Fixed network RF communications complaint with CEBus protocol
US20020123928A1 (en) * 2001-01-11 2002-09-05 Eldering Charles A. Targeting ads to subscribers based on privacy-protected subscriber profiles
JP4125005B2 (ja) * 1999-07-29 2008-07-23 富士通株式会社 メッセージの型を利用するオブジェクト連携装置
ATE451783T1 (de) * 1999-08-17 2009-12-15 Microsoft Corp Architektur für ein automatisierungssystem
AU2295101A (en) * 1999-12-30 2001-07-16 C-Smart Llc Method and apparatus for providing distributed control of a home automation system
US6453687B2 (en) * 2000-01-07 2002-09-24 Robertshaw Controls Company Refrigeration monitor unit
CN1223152C (zh) * 2000-02-28 2005-10-12 永泰锋国际有限公司 智能家庭控制总线
US6934684B2 (en) * 2000-03-24 2005-08-23 Dialsurf, Inc. Voice-interactive marketplace providing promotion and promotion tracking, loyalty reward and redemption, and other features
CA2404014A1 (en) * 2000-03-30 2001-10-11 Cygent, Inc. System and method for establishing electronic business systems for supporting communications services commerce
US7155419B2 (en) * 2000-04-20 2006-12-26 Agreenet Agreement management system and method
US6847892B2 (en) * 2001-10-29 2005-01-25 Digital Angel Corporation System for localizing and sensing objects and providing alerts
US6850606B2 (en) * 2001-09-25 2005-02-01 Fair Isaac Corporation Self-learning real-time prioritization of telecommunication fraud control actions
US6912429B1 (en) * 2000-10-19 2005-06-28 Destiny Networks, Inc. Home automation system and method
US9219708B2 (en) * 2001-03-22 2015-12-22 DialwareInc. Method and system for remotely authenticating identification devices
US6778921B2 (en) * 2001-04-06 2004-08-17 Eni Technology, Inc. Modular architecture for industrial power delivery system
US7350209B2 (en) * 2001-06-29 2008-03-25 Bmc Software System and method for application performance management
US7296056B2 (en) * 2001-07-30 2007-11-13 International Business Machines Corporation Method, system, and program for selecting one user to assign a work item in a workflow
US7289966B2 (en) * 2001-08-14 2007-10-30 Norman Ken Ouchi Method and system for adapting the execution of a workflow route
US20030037141A1 (en) * 2001-08-16 2003-02-20 Gary Milo Heuristic profiler software features
US7408658B2 (en) * 2001-12-04 2008-08-05 Hewlett-Packard Development Company, L.P. Generation and usage of workflows for processing data on a printing device
US7065496B2 (en) * 2002-02-13 2006-06-20 Tangoe, Inc. System for managing equipment, services and service provider agreements
US8516114B2 (en) * 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
US7016888B2 (en) * 2002-06-18 2006-03-21 Bellsouth Intellectual Property Corporation Learning device interaction rules
US20040083305A1 (en) * 2002-07-08 2004-04-29 Chung-Yih Wang Packet routing via payload inspection for alert services
US20040034638A1 (en) * 2002-07-18 2004-02-19 International Business Machines Corporation Method for analyzing and characterizing the usage pattern of a device
US6865427B2 (en) * 2002-07-18 2005-03-08 International Business Machines Corporation Method for management of workflows between devices in a pervasive embedded or external environment
US7103420B2 (en) * 2002-07-18 2006-09-05 International Business Machines Corporation Method for implementing device operations based on device status information stored in a central location
US7315542B2 (en) * 2002-09-30 2008-01-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Handling and discarding packets in a switching subnetwork
WO2004061681A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited 運用管理方法および運用管理サーバ
US20040243699A1 (en) * 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
US20040243588A1 (en) * 2003-05-29 2004-12-02 Thomas Tanner Systems and methods for administering a global information database
US20050065753A1 (en) * 2003-09-24 2005-03-24 International Business Machines Corporation Apparatus and method for monitoring system health based on fuzzy metric data ranges and fuzzy rules
US7315642B2 (en) * 2004-02-12 2008-01-01 Applied Materials, Israel, Ltd. System and method for measuring thin film thickness variations and for compensating for the variations
US7176887B2 (en) * 2004-03-23 2007-02-13 Fujitsu Limited Environmental modeling for motion controlled handheld devices
US9489645B2 (en) * 2004-05-13 2016-11-08 International Business Machines Corporation Workflow decision management with derived scenarios and workflow tolerances
US20060155848A1 (en) * 2005-01-10 2006-07-13 Brown William A Workflow decision management including identifying user reaction to workflows
US20060156276A1 (en) * 2005-01-10 2006-07-13 Brown William A Workflow decision management with heuristics
US20060155847A1 (en) * 2005-01-10 2006-07-13 Brown William A Deriving scenarios for workflow decision management
US20060248145A1 (en) * 2005-04-18 2006-11-02 Srimantee Karmakar System and method for providing various levels of reliable messaging between a client and a server
US20070005623A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Process oriented message driven workflow programming model
JP2007072646A (ja) * 2005-09-06 2007-03-22 Internatl Business Mach Corp <Ibm> 検索装置、検索方法およびプログラム
US7890181B2 (en) * 2005-09-12 2011-02-15 Medtronic, Inc. System and method for unscheduled wireless communication with a medical device
US8155119B2 (en) * 2005-11-01 2012-04-10 International Business Machines Corporation Intermediate message invalidation
US7657636B2 (en) * 2005-11-01 2010-02-02 International Business Machines Corporation Workflow decision management with intermediate message validation
US8010700B2 (en) * 2005-11-01 2011-08-30 International Business Machines Corporation Workflow decision management with workflow modification in dependence upon user reactions
US20070100990A1 (en) * 2005-11-01 2007-05-03 Brown William A Workflow decision management with workflow administration capacities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409165A (zh) * 2021-08-19 2021-09-17 清华四川能源互联网研究院 电力数据集成方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
KR20070047209A (ko) 2007-05-04
US20070100884A1 (en) 2007-05-03
KR100773010B1 (ko) 2007-11-05

Similar Documents

Publication Publication Date Title
CN1959720A (zh) 工作流决策管理的方法和系统
US8010700B2 (en) Workflow decision management with workflow modification in dependence upon user reactions
US9594587B2 (en) Workflow decision management with workflow administration capacities
US8155119B2 (en) Intermediate message invalidation
US7657636B2 (en) Workflow decision management with intermediate message validation
US8046734B2 (en) Workflow decision management with heuristics
US20060155847A1 (en) Deriving scenarios for workflow decision management
US7774439B2 (en) Sensing information management apparatus and method of sensor based home network system
US20080178193A1 (en) Workflow Decision Management Including Identifying User Reaction To Workflows
US8731975B2 (en) System and method for active insurance underwriting using registration data of IP-addressable devices
CN1254076C (zh) 远程操作系统
US7623547B2 (en) Internet protocol address management system and method
CN1820479A (zh) 家庭网络系统
US20050071462A1 (en) Creating user metric patterns
US20070133569A1 (en) Home network system and its configuration system
CN1606282A (zh) 家用电器网络系统和操作该系统的方法
CN1685663A (zh) 动态网络配置
US20070169074A1 (en) Upgrade apparatus and its method for home network system
CN1833404A (zh) 确定网络节点监控组的优先组成员
US20090232028A1 (en) Configuration systems and methods for utilizing location information to configure devices in application systems
US20090232020A1 (en) Automatic-configuration systems and methods for adding devices to application systems
US9489645B2 (en) Workflow decision management with derived scenarios and workflow tolerances
CN101677441B (zh) 一种授权控制的方法、装置和系统
CN109917662A (zh) 智能设备的控制方法、装置、计算机设备及存储介质
CN1570910A (zh) 一种通用对象建模方法及通用对象管理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20070509