CN101305350A - 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 - Google Patents

与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 Download PDF

Info

Publication number
CN101305350A
CN101305350A CNA2006800280222A CN200680028022A CN101305350A CN 101305350 A CN101305350 A CN 101305350A CN A2006800280222 A CNA2006800280222 A CN A2006800280222A CN 200680028022 A CN200680028022 A CN 200680028022A CN 101305350 A CN101305350 A CN 101305350A
Authority
CN
China
Prior art keywords
network
message
node
api
control system
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
CNA2006800280222A
Other languages
English (en)
Inventor
理查德·A·麦克考伊
马修·P·艾布罗姆
罗伯特·J·菲尔德布鲁戈
帕翠克·J·格劳兹巴赫
蒂莫斯·M·内兹克
丹尼尔·M·普特纳姆
约书哈·P·卡罗尔
朱迪瑟·G·科克莱特尔
亚历山大·S·格罗斯
戴维·J·科迈特
安德鲁·D·威普
马克·E·格劳兹巴赫
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.)
Whirlpool Corp
Original Assignee
Whirlpool 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37188949&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101305350(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Whirlpool Corp filed Critical Whirlpool Corp
Publication of CN101305350A publication Critical patent/CN101305350A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F34/00Details of control systems for washing machines, washer-dryers or laundry dryers
    • D06F34/04Signal transfer or data transmission arrangements
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • G04G7/02Synchronisation by radio
    • GPHYSICS
    • G04HOROLOGY
    • G04RRADIO-CONTROLLED TIME-PIECES
    • G04R20/00Setting the time according to the time information carried or implied by the radio signal
    • G04R20/26Setting the time according to the time information carried or implied by the radio signal the radio signal being a near-field communication signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2832Interconnection of the control functionalities between home networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B6/00Heating by electric, magnetic or electromagnetic fields
    • H05B6/64Heating using microwaves
    • H05B6/66Circuits
    • H05B6/68Circuits for monitoring or control
    • H05B6/688Circuits for monitoring or control for thawing
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L15/00Washing or rinsing machines for crockery or tableware
    • A47L15/0018Controlling processes, i.e. processes to control the operation of the machine characterised by the purpose or target of the control
    • A47L15/0063Controlling processes, i.e. processes to control the operation of the machine characterised by the purpose or target of the control using remote monitoring or controlling of the dishwasher operation, e.g. networking systems
    • DTEXTILES; PAPER
    • D06TREATMENT OF TEXTILES OR THE LIKE; LAUNDERING; FLEXIBLE MATERIALS NOT OTHERWISE PROVIDED FOR
    • D06FLAUNDERING, DRYING, IRONING, PRESSING OR FOLDING TEXTILE ARTICLES
    • D06F34/00Details of control systems for washing machines, washer-dryers or laundry dryers
    • D06F34/28Arrangements for program selection, e.g. control panels therefor; Arrangements for indicating program parameters, e.g. the selected program or its progress
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B40/00Technologies aiming at improving the efficiency of home appliances, e.g. induction cooking or efficient technologies for refrigerators, freezers or dish washers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及实施在电器的内部通信网络上并通过该内部通信网络通信的软件体系,该内部通信网络连接电器的各个物理部件。软件体系执行多个功能:识别对应于网络节点的每个部件;识别该部件的功能;识别部件的状态;提供格式良好命令接口;提供内部和外部软件部件之间的通信。通过这种方式,SA用于向网络上的所有节点告知其它节点的存在、功能和状态。

Description

与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法
相关申请的交叉引用
本申请要求2005年6月9日提交的美国专利申请60/595148的优先权,在此通过引用合并该申请的公开内容。
技术领域
本发明涉及包括一个或多个支持与家用电器内的至少一个部件通信以及对其进行管理的应用编程接口的软件体系。
背景技术
家用电器通常包括导致该电气的机电操作、电热操作和电气化学操作的一个或多个部件。例如,炉子可以包括具有在其上带有存储器的印刷电路板(PCB)的电器管理部件,以及用户接口部件,诸如由用户向炉子电器发布命令的控制面板或键区。由于部件的多样性以及相应的实施选择的多样性,通常很难设计、开发、测试、诊断、控制和调试基本电器模型。该多样性是创建可协同工作、可重复使用、增值的部件的障碍。
近年来逐渐已知通过能够发送和接收用于控制电器内部部件之间交互的控制消息的内部通信网络将电器部件互连,这与使用多个分立电路相反,在使用多个分立电路的情况下,每个分立电路负责相关部件之间的、通过这些部件之间的硬连线带状缆线或其它连接器或导线实施的单独通信。该内部网络在连接电器内部部件方面提供了一定程度的通用性,但是,每个部件通常需要由其微处理器以及相邻硬件电路内的软件支持,以实现网络参与。家用电器内所使用的这种内部网络的一个例子是本申请的受让人Whirlpool,Inc.所创建的WIDE网络协议。
发明内容
本发明涉及在电器上实现并且通过电器上的内部通信网络通信的软件体系,该内部通信网络连接电器的各个物理部件。软件体系执行多种功能:识别对应于网络节点的每个部件;识别所识别的到网络的部件的能力或功能;识别到网络的部件的状态;为每个部件提供适当限定的命令接口;提供内部软件成分和不属于该软件体系的外部软件成分之间的通信。通过这种方式,软件体系用于向网络上的所有节点通报其它节点的存在、能力和状态,并允许这些节点相互发送和接收命令消息的功能。
附图说明
图1是表示具有将多个部件互连的内部通信网络的家用电器的示意图,其中每个部件具有根据本发明内嵌于其中的软件体系,家用电器还具有表示用于与外部客户机的各种实施方式建立通信的各种网络接口卡(NIC)的外部通信连接。
图2是图1的内部通信网络的示意图,显示了根据本发明的软件体系(SA)设置在内部通信网络和家用电器内部物理部件的各软件成分之间。
图3是图1的内部通信网络的示意图,示出了内部通信网络用作驻留在两个部件(代表网络物理层且不直接与SA关联的较低层以及代表对分组结构的支持且直接作为SA的元件的较高层)上的SA的物理支持,其中SA被部件用于通过信息交换通信、并且与操作驻留在部件上层的其它软件交互,以根据本发明根据部件之间交换的信息而实现结果。
图4是用于图1所示家用电器的内部通信网络的分组结构的示意图,该分组结构具有有效载荷部分,该有效载荷部分包括用于根据本发明的软件体系的应用分组结构。
图5是驻留在电器的控制器上的SA(控制器SA)和驻留用于创建相对于控制器上SA的客户机关系的部件上的SA(客户机SA)之间的通信的示意图,其中各变量和事件在控制器SA和客户机SA之间传送。
图5A是类似于图5的示意图,示出了客户机作为外部客户机以顾客呼叫支持中心的形式位于远程位置上,以说明用于执行电器远程诊断的数据的交换。
图6是类似于图5所示的示意图,示出了根据本发明包含在图1的软件体系中的发现技术。
图7是在作为洗衣机示出的家用电器的部件内通常在如图3所示的控制逻辑元件内运行的软件运行环境的各种示例状态的示意图。
图8的示意图示出了控制器SA基于家用电器的状态以及控制器SA的内部状态,对于由其它SA设施发布和接收的命令的形式的各种信息交换的响应,以验证或拒绝那些命令。
图9的示意图示出了使用绑定来链接多个数据交换,以形成客户机SA和控制器SA之间的单个命令和/或更新。
图10是示出涉及部件的整体软件环境的SA的示意图,其中软件环境包括各软件运行层,软件体系包括命令处理程序、更新处理程序和用于将SA互连到家用电器内部通信网络的内部通信网络层接口。
图11是示出驻留在主控制器上的监管调度器(MAIN)调用控制器SA的示意图,该监管调度器还调用用于展示网络上客户机SA的功能的子例程调用。
图12是示出图11所示的内部电器应用逻辑和软件体系之间的接口的示意图,包括回叫部分。
图13是图11所示的软件体系的示例性实施方式的示意图,包括电器初始化部分。
图14是一对软件运行环境的示意图,每个软件运行环境对应于具有自己的SA、且通过内部通信网络连接的不同部件。
图15示意地显示了经由网络14暴露给Parrot(模拟器)电器内其它部件、且支持根据本发明的图1的软件体系10的分组结构28的持久节点。
图16示意地显示了用于将外部命令翻译为键按压以测试家用电器功能性的现有技术方法。
图17示意地显示了用户启动的键按压的交互,外部输入的软件命令作为变量被传送到SA,以向家用电器发布命令,用于例如测试家用电器功能性和/或改变家用电器机器的状态。
图18是示出在电器背侧所形成的凹陷中安装NIC的示意图。
图19的示意图示出了将NIC安装到电器前侧,以及从网络接口卡的安装位置延伸到电器背侧的电线管道。
图20是包括安全屏障(safety barrier)的电器的示意图,其中安全屏障允许来自位于电器中的RF PCB的通信并防止人员接触过量的热和/或电。
图21的示意图示出了维护模块的使用,其中维护模块从电器获得诊断数据并通过个人计算机经由外部网络上载诊断数据。
图21A是图21的维护模块的体系的示意图。
图22是类似于图21的示意图,其中维护模块经由电话线上载诊断数据。
图22A是图22的维护模块的体系的示意图。
图23是冰箱形式的电器的示意图,其配备有气象站模块形式的示例性附属模块,形成具有使气象站模块能够在没有手动配置的情况下运行的客户机SA的部件。
图24是图1所示的家用电器的内部通信网络的分段式分组结构(fragmentation packet structure)的示意图,具有用于处理分段分组完整性(fragmented packet integrity)的协议,该协议在必须将一条消息分解为多条消息时代替图4所示的协议。
图25示出代表以图2所示形式传送的一系列分段消息的分组序列,该分组序列通过接收SA被重新形成为由分组发送者所创建的原始内聚数据集(cohesive data set)。
图26A示意地示出中心位置、诸如主控制器PC板处可变映射信息的位置,然后可变映射信息被传递到其它部件板。
图26B示意地示出了部件的控制器上可变映射信息的位置,其被从网络上的其它部件收集。
图27是示出消息收发情形的UML序列图,其中为复制事件请求分配可变地址,以允许两个请求驻留在网络中。
图28是示出表示禁止和重新使能实现事件请求的标准格式的UML序列图。
图29是SA内被确认的事件的UML序列图,其中控制器SA在处理下一事件之前等待来自客户机SA的确认消息一段预定的时间。
图30是示出本发明所提供的安全模式和防火墙的标准格式的UML状态图。
图31是示出在应用消息能够被完全处理之前必须与图30的防火墙协商的客户机之间的交互方法的UML序列图。
图32是示出SA能够实施的标准公用接口的UML类图。
图33示出SA的优选实施方式的UML类图。
图34示出SA的源代码文件的优选组织。
图35示出相互关联的UML状态图的集合,其示出了3个主状态(COMM_IDLE,COMM_EXPECTING_ACK,和COMM_PENDING),其中每个主状态可能具有多个子状态。
图36示出相互关联的UML状态图的集合,其示出了4个主状态(READY,TRANSMIT_SNAPSHOT,UPDATES_BLOCKED,和PROCESS_DAQ_EVENTS)。
图37示出了表示两个主状态(MSG_READY和MSG_PROCESS)的相互关联的UML状态图的集合。
图38的UML序列图示出了为了由SA在内部网络上产生网络消息,执行部件之间内部消息的有序集合。
图39的UML序列图示出了执行软件运行环境的图33中类的消息的有序集合。
图40的UML序列图示出了软件运行环境的图33中类的消息的有序集合。
图41的UML序列图示出了为了处理从客户机22/16从WIDE总线14所输入的消息所需要的消息收发,其除了发送输入消息的成功或者失败理由的响应(ACK或API ID=1,Op Code=1的NAK)之外不需要包含有意义数据的响应。
图42的UML序列图示出了为了处理从客户机22/16从WIDE总线14输入的消息所需要的消息收发,其除了发送输入消息的成功或失败理由的响应(ACK或API ID=1,Op Code=1的NAK)之外还需要发送多个包含有意义数据的响应。
图43的UML序列图示出了为了处理从客户机22/16从WIDE总线14输入的消息所需要的消息收发,其除了发送输入消息的成功或失败理由的响应(ACK或API ID=1,Op Code=1的NAK)之外还需要一个包含有意义数据的响应。
图44示意性示出了利用归类数据集(taxonomy dataset)来控制电器内一个或多个部件的操作而不需要直接了解该部件的功能的归类控制(taxonomy control)。
图45示意性示出了由包括分层结构的选项和数据输入的归类数据集填充的用户接口,其中该用户接口引导用户选择选项和数据输入,以产生适当形成的命令。
图46示意性示出可用于顶级选项的相关数据输入。
图47示意性示出可用于具有相关数据输入的子级选项选择的相关数据输入。
具体实施方式
在检视本发明的多个方面之前,简要地概述本发明是有益的。本发明涉及一种在电器上实施并且通过电器上的内部通信网络通信的软件体系(“SA”),其中内部通信网络连接电器的各物理部件。
一些物理部件具有相应的控制器(主控制器、电机控制器、用户接口等),其中控制器可以是安装在印刷电路板上的简单微处理器。其它部件没有控制器。通常,具有控制器的部件(而且如果存在不止一个,则这些部件通常还支持网络)通过网络消息收发或其它形式的数据传输协作,以直接地或者通过其它部件间接地控制所有这些部件及其包含或附属的装置的操作,从而实现电器的操作或循环。
该SA可以(但不是必须)驻留在具有控制器的每个部件上。具有该SA或与该SA兼容的SA变形(通过发送、接收和处理分组的能力确定的兼容性)的那些部件形成网络上能够与其它节点通信的节点。
SA执行多种功能:识别对应于网络节点的每个部件;识别所识别到网络部件的能力或功能;识别网络部件的状态;为每个部件提供适当限定的命令接口;提供内部软件成分和不是SA一部分的外部软件成分之间的通信;提供不同物理部件上非SA软件成分之间的通信。通过这种方式,SA用于向网络上的所有节点通报其它节点的存在、能力和状态。
SA包括多个模块,每个模块具有不同功能。模块的各种组合或所有模块可以驻留在每个部件上。一个具有本发明基本或核心功能的模块驻留在所有部件上。在一种预期的配置中,所有模块至少驻留在主控制器上,这使主控制器作为主SA或控制器SA工作,而其它节点以控制器SA的客户机关系工作。在这种配置下,所有节点通过控制器SA通信。
SA足够健壮,以至于其可以允许没有控制器SA或具有多个控制器SA的配置。不管配置如何,任何具有驻留SA的部件都可以相对于其他部件作为客户机工作。
内部通信可以被直接或者通过外部网络连接到一个或多个外部部件。外部部件也可以驻留有一个、一些或全部SA模块。
从图1开始,现在描述本发明的具体内容。图1是示出软件体系10的一个环境的示意图,(体现在此所述的系统和方法以及本领域技术人员公知的内容),形式为具有将多个部件16互连的内部通信网络14的家用电器12,其中软件体系10驻留在至少一个部件16上,以使能该部件,并且优选地,每个附加部件16具有驻留在其中的软件体系10,或者能够协同工作的替换物。家用电器12还具有所示的互连到各网络接口装置20的内部/外部通信连接18,用于与各种实施方式的外部客户机22通信。
外部客户机通常包括能够与软件体系10交互的联网硬件和软件以及计算硬件和软件。这可以通过包括外部客户机的实施例中的软件体系10的全部或一部分或者能够与软件体系10通信以及完全或部分交互的软件体系10的替换物来实现。已经实现了很多能够与软件体系10完全交互的替换部件(C dll,Visual Basic Driver,Java Driver和Active Xdriver)。
对于本专利申请的文本并且考虑到本申请文本的附图,应当理解,缩写“SA”是指本申请中用附图标记10描述的“软件体系”。
此外,术语“客户机”被用于表示其上驻留全部或部分SA、并且完全或部分使能部件功能的部件。该部件可以是内部部件或外部部件。尽管客户机主要被用于描述由SA使能的部件,但是客户机也被用于描述由能够在内部通信网络14上成功地交换消息并与SA通信的替换软件使能的部件。一般地,在谈到节点的软件方面而非硬件方面时,使用术语“客户机”。
部件16可以包括一个或多个装置。因此,本申请中所使用的术语“装置”可以指部件或装置。装置可以是共同地形成部件或者经由电路(例如线束)、可以执行逻辑的物理部件和具有存储器的物理部件被连接到具有控制器的部件的任何电子元件、电热元件以及电气化学元件。
如在此所述,电器12可以是本领域技术人员公知的各种公知电器中的任何一种。例如,电器12可以是洗衣机、甩干机、微波炉、洗碗机、冰箱、冰箱/冷冻箱组合、单独的冷冻箱、加热柜、冷冻柜、炉子、炉灶面和炉子的组合、灶面等等。虽然所描述的发明环境是电器环境,但是本发明可应用于具有联网部件的任何类型的机器。
如在此所述,内部通信网络14可以是任何公知的互连管道、线路和/或导线或适于将家用电器12的各内部部件16互连的无线系统。如本申请背景部分所述,WIDE网络是适于提供对于支持本发明的软件体系10所必需的内部通信的内部通信网络14。对于本领域的技术人员来说,软件体系10显然可以在任何合适的内部网络上运行,而且在此所提供的示例性例子(即WIDE网络)只是合适的内部通信网络14的一个示例。
如前所述,部件16是家用电器12的任何基于处理器的部件或子部件。适于接收和安装根据本发明的软件体系10的部件16的例子包括但不限于电机控制微处理器、微处理器使能的键区控制器、LCD用户接口控制器和其它通常包含在家用电器12内的装置控制。
内部/外部接口连接器或槽18适于连接多种类型的装置20,这些装置能够在内部通信网络14以及诸如RS-232系列、各种形式的无线网络(Zigbee、Wi-Fi等)、USB或有线以太网等的至少一个其它网络上通信。装置20的功能可以被严格限制为协议和物理层转换,或者可以被扩展为除了其基本协议桥接功能(base protocol bridging function)之外还支持增值服务。
软件体系10允许家用电器12连接到的外部客户机22的例子包括但不限于基于个人计算机的控制开发件、工厂测试应用程序、诊断应用程序、现场测试应用程序以及与所连接的家用环境的接口。与相邻于或远离电器12的外部环境的这种连接使得增值应用程序可以与电器12通信。一些例子是:
●自动化工厂测试
●能量管理应用程序
●工程开发工具
●电器维护和诊断工具
●电子控制制造功能性验证测试
●消费者应用程序等。
系统级体系(参与以实现家用电器的有用目的的机械的、电的以及软件的元件)包括软件体系10和与软件体系10分离的软件元件。在此,系统体系的部件的微处理器内的软件元件集合(包括但不限于软件体系10)被称为软件运行环境16A。软件体系10由3个部分组成:核心实施、应用协议定义、一个或多个应用程序接口(在此称为“API”或“多个API”)。
核心实施
软件体系的核心实施是在电器控制微处理器中运行的软件模块的集合(在图3的示例是SACore、SADiscovery、SADAQ、SAPortMemory、SAPollVariable)。如图11所示,核心实施优选在电器控制微处理器的主(MAIN)循环中执行,这对本领域技术人员来说是显而易见的。该核心通过内部通信网络14提供通用应用消息收发层,并且基于能开发交叉平台连接应用的灵活设计。作为核心实施的一部分,存在在每个电器上统一实施的核心API。此外,在统一实施不实际的地方,可以使用发现机制(discovery mechanism),以允许客户机适应该非统一性。
应用协议定义
协议是用于调节网络中节点之间的数据传输的标准程序。消息用数据的一个或多个分组在内部通信网络中发送,这些数据分组随后集合起来形成已通告的消息。关于软件体系10存在两种可应用的定义领域。
1.分组定义:是针对组成分组的字节集合内的每个字节或者其中一个字节内的位或位区间的预定义含义。图4和图24及其伴随的描述代表软件体系10的分组定义。
2.消息次序和消息收发规则:协议的定义通常超过了分组定义(1)而包括管理消息的期望有序集合的规则,该消息是完成特定有用事物所需要的。具有消息规则的有序消息(事物)的示例在图6、9、27、29、31中示出。
应用编程接口
API是一种通信和消息收发的契约,其规定一个网络节点如何与其它节点通信。这通过定义可获得的功能调用、每个功能调用的变量、每个变量的数据类型以及在某些情况下每个变量的有效值来完成。
在很多情况下,API特定于应用或电器12,因此不认为是API核心(标准组)的软件体系10集合的一部分;软件体系10核心可以启动多个API并将这些API暴露给客户机16、22和可能20。
系统级别的体系
软件体系10被设计为随着时间完成若干目标。
1.在现有控制体系的约束内的业务生产力。
2.通过启动和实现新控制体系的业务生产力。
3.支持和更好地启动核心业务功能“创新”、“制造能力”、“质量”和“维护能力”。
4.通过启动具有软件体系10的制造电器启动新的成长机会,该软件体系10除了连接器18之外还产生“可连接的”电器。该策略通过具体化联网电子装置的成本而将连接的风险和成本降至最低。
为了实现该体系的全部潜能,可以在电器12上提供简单的连接器,使得可以将网络卡插入该电器中。参见图1和18-22中的连接到电器12的合适外部NIC20的示例。由于电器12已经为其内部目的而具有内部的低成本网络14,因此用于通过内部/外部接口18将内部通信网络14与外部NIC20连接的其它连线降至最少,而且可以按照公知方式完成,例如通过三线串行电缆、外部连接器和安装固定设备。
软件体系10优选可以驻留在家用电器控制系统的所有部件16上。但是,在禁止成本或其它约束的地方,软件体系可以驻留在家用电器的控制系统内的部件16的子集上。
该“可连接”体系的示例性优点包括但不限于:外部NIC20可以在交易之后添加,从而降低电器12的基础成本。NIC20可以是已开发好的支持多网络技术,由于软件体系10所呈现的标准接口应用和NIC可以是交叉平台和通用的,内部低成本网络(如WIDE网络示例)用作标准,API框架和发现允许很多增值命令,软件体系10使用受约束的事件来保持状态和有效利用带宽,软件体系10被设计为在运行时接受配置,从而给程序开发员一个更为灵活的、可以缩短市场化时间的体系。
图2是图1的内部通信网络14的示意图,示出根据本发明设置在内部通信网络14和部件16内部的软件运行环境16A中的各种软件成分16B之间的软件体系10,该部件16组成家用电器12的控制系统。图2的部件16代表在电器12中找到的典型部件,如电器管理器(主板或母板)以及其它部件如电机控制和控制面板或键区接口,通常称为用户接口。图2中的“Energy”和“Diag”标记是通过软件体系执行的典型非核心功能的示例,如能量和功率管理(“Energy”)和故障查找或诊断(“Diag”)。未在图2中示出的是由软件体系执行并通过标记10代表的核心功能(API1-7和10)。
此外,软件体系10可以扩展到很多期望通过对等通信交换数据的其它类型的系统体系。这些系统体系包括多节点系统,其中多个PCB如电机控制、电器控制和智能传感器板利用软件体系10在电器12内通信。图6所示的(以及后面所描述的)软件体系10发现协议可用于使部件16产生新的行为或性能或向消费者提供新的功能,该部件16的存在促使其它部件16适应它们的控制功能。图2的部件体系(结构化模型)以及图6的发现行为和API ID、类型、版本的部件标识(参见APIID=3)是体现为10的本发明实现具有新动态和智能系统体系的电器的基础。
图3是图1的内部通信网络14的示意图,示出通过家用电器12的内部通信网络14交换消息的典型电器控制部件16,包括下层协议,WIDE是该协议的一个示例,该下层协议负责OSI层-PHY、LINK和部分网络层的功能,以及由根据软件体系10支持的上层协议(负责OSI层-应用层、传输层和部分网络层的功能)。下层协议用作与软件体系10关联的高层和电器中的部件之间的物理和链接层。通过这种方式,软件体系10使用下层协议与实现控制器16相对于客户机22的控制逻辑的第一软件运行层17通信,也使用第二软件层19来绕过该控制逻辑并直接控制与控制16关联的装置。图3的装置是代表控制部件16的功能性的物理元件。图3从软件/协议堆栈的角度示出控制体系10。
此外,图3提供了通过软件体系10启动的两种运行模式的示意图,这些模式控制软件体系10暴露的网络消息和内部RAM、EE和其他形式的非易失存储器16A以及输出装置层之间的访问和干预级别,输出装置层是低级别的软件运行层16B,驻留在16A之内并提供对电连接到部件的装置的直接控制。直接控制装置的输出装置层16B通过直接访问微处理器端口地址存储器来进行直接控制,该微处理器端口地址存储器又映射到微处理器的物理管脚,该微处理器又通过各种电设备连接到电机械装置。
图3的软件运行层1代表特定于电器的软件成分16B,其将软件体系10接收的网络消息连接到应用控制逻辑,从而导致应用控制逻辑采取某种动作。如果电器处于开发状态(图3中用A标记的开关),则附加的软件运行层2(由API5(下层API)和API7(存储器/端口API)及其实施和替换逻辑)使得API5和API7的网络消息可以改变物理存储器16A和装置的状态。通过这种方式,可以与通常根据软件运行层1的运行循环控制装置和存储器的应用软件无关地控制该装置和存储器。该直接控制允许该装置的每个功能都得到独立的控制,这在开发或诊断过程中是非常有利的。
软件运行层2可以通过由软件体系10暴露的特殊的网络消息和为电器的各种状态定制的附加逻辑来进行状态改变(图7所示的例子)。在开发状态期间,优选在用户通过图3的用户接口与电器交互时,软件运行层1不会接收有关的用户接口输入。而是由软件运行层2接收来自用户接口的输入。接着,软件运行层2可以与图3的替换逻辑交互。替换逻辑又可以对软件运行层1的控制逻辑进行功能调用,更改存储器中的值,或者更改所连接的多个装置的状态。但是,在开发状态期间软件运行层1不能实现用户接口(LED、灯、蜂鸣器、文本和图形显示器等)的状态。开发状态促使软件运行层1的控制逻辑无效,除非从软件运行层2调用。在开发状态期间,API5和7的实施逻辑以及替换逻辑完全控制电器12及其关联部件。
当接收到特殊的网络消息时,开发状态返回到(图7的)空闲状态。此外,预计一系列键按压中的至少一个预定键按压还可能导致从开发状态转换为空闲状态。
软件运行层1与运行层2是否启动无关地运行。开发状态的目的是允许和实现事先没有想到的运行循环。该途径的优点是在图1中示出了一些的电器的实施和配置不需要对电器的任何部件16进行新的软件修改,因为电器具有通过软件体系10来支持任何想到的实施或配置的能力。
这种能力有很多用途。该用途包括但不限于:
1.可以向用软件体系10启动的电器添加新的功能部件,从而不需要修改事先存在的功能部件就能完成新的行为特性和运行循环。
这样的例子包括:
a.向洗衣机、甩干机、炉子和微波炉添加流控制
b.向电器添加能量和其他资源管理部件
c.添加除了内部网络14之外还能连接到外部网络的联网部件
d.向商业电器添加读卡器以产生有偿使用使用模型。
e.添加包括用于由客户机节点或电器或与用户界面交互的用户选择和调用的附加运行循环的存储装置。
2.执行诊断测试,该诊断测试可以通过促使每个输出顺序地验证所期望的结果来完成(示例:加热器通电-观察到温度上升,进料阀通电-观察到水平面上升,冰碾碎电机-观察到碾碎装置的旋转)
3.执行自动的成批测试
4.执行自动的性能测试和DOE实施
5.执行自动的寿命测试
6.执行部件16单位测试和自动的回归测试
7.执行自动的ECM测试
8.执行其他形式的特殊调试和测试
9.促使替换客户机装置(例如PC)控制电器12,以允许使用替换的软件运行环境16A将可选择的运行循环域开发和测试为通常在最后生产内嵌计算部件16上所需要的,该替换软件运行环境16A提供生产力更高的编程环境,从而导致新电器模型的上市时间缩短。
图4是用于图1所示的家用电器12的内部通信网络14的分组结构24的示意图,该分组结构具有有效载荷部分26,包括用于根据本发明的软件体系10的应用分组结构28。分组结构28代表软件体系10可以创建并发送给其它部件16和22(具有软件体系10或者设计为可用分组结构28运行的软件体系10的变形)以用于有意义的数据交换的良好形成的消息。分组结构28占据分组结构24内的位置26,但是分组结构28可以在分组结构24的变形中占据替换位置。28A代表在28内根据分组结构28的API Id和Op代码定义的分组结构。
在网络协议中,分组(有时也称为消息)是顺序发送的字节的集合,代表一条完整消息的全部或一部分。通常,分组由包括路由信息的标题、作为数据的主体(也称为“有效载荷”)和有时包含校验和(即CRC和)或结束符如“结束”标志的尾部。有效载荷是包含在分组内的字节的集合。有效载荷是在两个节点16的应用层之间传送的数据。网络和协议的功能是将有效载荷从一个节点运送到另一个节点。有时一个协议就作为另一个协议的有效载荷发送,按照这种方式协议可以嵌套或形成堆栈。变量称为具有相关值的存储器位置。一个或多个变量可以包括该有效载荷。事物是代表多个节点之间的完整数据交换的一系列消息或分组。
分组和有效载荷之间的关系可以对可获得带宽的有效使用产生影响。要考虑的权衡是在应用层要求的上下文中将有效载荷从一个节点传送到另一个节点所需要的开销量。
协议分组结构24作为例如标识为oxED的第一标题字节,接着是具有4个部分的地址字节。地址字节的第一部分包括第0、1、2位的目标部分(D)。地址字节的第二部分包括第3位的广播部分(B)。地址字节的第三部分包括第4、5、6位的源部分(S)。地址字节的第四部分包括第7位的保留部分(R)。地址字节的后面是由包括0-3位的维护数据单元长度(SDU-L)和包括4-7位的SAP标识符组成的标识字节。SAP标识符定义所附有效载荷26的结构。SAP4表示所附的SDU26由与软件体系10关联的分组结构28定义。标识字节后面是维护数据单元,其通常称为协议分组结构24的“有效载荷”并且通常由附图标记26表示。有效载荷26后面是标准有效字节,如高字节、低字节组合,或被本领域的技术人员统称为CRC16-CCITT。
应用分组结构28由协议分组结构24的有效载荷部分26形成。在该应用分组结构28内执行由软件体系10允许的通信协议和数据交换。应用分组结构28的第一字节包含由应用分组结构28的特定实例携带的标识符(API ID),是1-255的整数。应用分组结构28的第二字节在操作码中(在此缩写为op码)包含1-31中的一个整数在位0-4,后面是位5的命令或反馈(Cmd/Fb)标志、位6的分区(Flag)标志,以及位7中的更多消息等待(MMP)标志。应用分组结构28的字节3-15包括应用分组结构28的特定实例的有效载荷(即消息数据)。
基本上,软件体系10使用内部通信网络14的网络分组结构24的两个字节的有效载荷26来用于附加协议。API ID是组织为功能单元的Op码集合的唯一标识符。0xFF(255)和0x01(1)优选是保留的。Op码是API内的唯一ID,其定义和标识单个的命令或反馈消息。每个API是有关的类型(两个字节)和版本(两个字节),从而允许随着时间创建可识别、功能上相关的消息(op码)组的大型库。
优选的,x1F(31)是用于Op码的保留值。Cmd/Fb标志表示该消息被分类为命令还是反馈。命令是要求采取行为的某种消息,而反馈是只包含信息(确认,事件数据等)的某种消息。优选的,Cmd/Fb标志对命令是0,对反馈是1。
Frag标志指明所接收的消息是否被发送者因为下层协议SDU26的大小限制而分为多个消息(片段)。该消息的第一片段采用图4的结构。该消息的所有随后的片段采用图24的结构。Frag标志优选一直置位到分段的消息结束为止。
MMP标志表示事件作为单个消息发送但是通过协议约束在一起,从而客户机可以将事件分组在一起作为微控制器的一次扫描的完整快照。MMP标志优选一直置位到快照的最后一条消息发送出去为止。图9以及伴随的讨论提供了关于约束消息的更多细节。
MMP标志向软件体系10提供了将电器12的状态表达为在快照中约束在一起的独立含义的反馈变量的函数的能力。
当电器12的内部状态改变时,可能发送多个事件,这些事件合起来描述电器12的新状态。描述状态变化所需要的事件数量是特定于电器12的状态的。因此,使用特殊协议分隔符来允许数量特定于实施方式的反馈变量与特定的电器状态变化关联。由于这些事件是有独立含义的,因此该途径是优选的,因为事件(数据)集合的所有排列可以通过使用MMP来创建。这导致标识命名空间(API Id和Op码)的有效使用,因为在客户机要求发送新的数据组合时不需要新的标识符。总的来说,MMP及其有关规则允许动态和虚拟的数据集合,从而消除了对特定于特殊应用情况的解决方案的需要。在图9中,示出MMP标志的净效应。
MMP标志还为内嵌的实施提供了抑制无效瞬时条件的能力。作为电器状态转换,一组相关变量可以非常快速地变化几次。当电器状态用作为单独的事件发送的独立反馈变量(反馈消息)表达而没有结合机制时,可能发生模糊或无效的瞬时状态。此外,如果客户机在无效瞬时状态期间执行业务逻辑,则逻辑错误可能导致不正确的控制或用户显示行为。因此参照称为“状态完整性”的这一节来获得关于异步数据收集如何是在微处理器的每次扫描内同步收集并且在MMP启动的快照内传送的数据的次等途径的示例。此外,消息结合可以用于将独立的命令调用组合在一起,从而可以批量处理这些命令调用。
应用协议28还管理进入的消息。总的来说,网络允许异步过程通信,从而通过在短的时间窗内发送过多请求为一个网络接点产生超过另一个网络节点的处理能力的潜力。为了防止消息超出限度,根据本发明,采用允许发送者在发送第二个消息之前等待确认的协议。
该特征允许软件体系10基于软件体系10的执行状态8为该确认使用枚举。通过这种方式,描述消息成功或失败的必要信息只用很少的消息传达。命令发送者对发送的每条命令都接收枚举的确认。最普遍的是积极的ACK,这表示该节点准备好接收下一条命令。所有其它枚举都是故障的形式。故障的特征是确认字节的剩下254个可能的值。在该254个值的范围内,一些得到标准化,一些保留给特定于应用的故障码。
Frag和MMP允许软件体系10的用户在设计应用消息收发策略时具有灵活性。如果开发人员选择使用非常大的消息,则可以使用Frag,从而可以通过将原始的大数据组作为结构28的多个分组内的多个较小的数据组来发送大于有效载荷28A的消息(即在此所示的示例性应用分组结构28内的13个字节)。
通过相同的令牌,如果开发人员选择使用较小的消息(情况通常如此)但是期望将这些消息组合在一起,则可以使用MMP。例如,如果3个字节的10条消息分别需要作为一个组发送从而客户机应用可以知道这些消息与微控制器的同一次扫描有关,则前面的9个消息具有被置位的MMP,后面的消息组具有MMP=0。
下面给出为软件体系10定义的API的总结,然后详细描述每一个命令和反馈消息。该途径的优点是允许开发人员选择软件体系10内是用于开发的当前阶段的模块(即单元测试、工程测试、产生等)。此外,编辑某些模块使得开发者可以在禁止RAM/ROM资源的情况下使用部分软件体系10。API用它们当前选择的应用程序接口标识符(APIID)来描述,但是可以采用任何标识符而不会脱离本发明的范围。由该特定API实现的有关功能在每个API下面列举出来。圆点功能(“●”)是从软件体系10发送给客户机(例如内部客户机16或外部客户机22)的反馈消息,非圆点功能是从客户机(16,22)发送给软件体系10的命令。
注意到在本申请中使用了约定俗成。“扩展”是指一个API可以建立在基本级别API的功能之上的能力。扩展关键字表示:当APIx“扩展”API y时,API x=API x+API y。该注解简化了记录保存和API存档的任务。换句话说,API x还包括在API y中规定的功能。如果API x和API y分别指定具有相同Op码的功能,则API x实施的实现可优先进行。
下面的表格描述核心API(API ID=1):
 ●消息确认
 ●公布Heartbeat
 ●设置Heartbeat阶段
 ●新的Heartbeat阶段
 ●读取存储器
 ●公布存储器数据
 ●读取EE
 ●公布EE数据
 ●发送事件
 ●公布事件
下面的表格描述了基本数据获取API
(基本DAQ,API ID=2,类型=1):
  ●创建数字事件
  ●创建字节事件
  ●清除事件
  ●公布清除的事件
  ●复位SA
  ●公布复位的SA
  ●置位外部接通
  ●公布外部接通
  ●置位外部断开
  ●公布外部断开
下面的表格描述扩展的数据获取API(扩展的DAQ,API ID=2,类型=2):
扩展的DAQ包括运行时的基本DAQ。
  ●获得事件数据
  ●公布数字事件数据
  ●公布字节事件数据
  ●建立远程数字事件
  ●建立远程字节事件
  ●获得远程变量数据
  ●公布远程变量数据
下面的表格描述发现API(API ID=3):
  ●找到节点
  ●公布节点
  ●获得API
  ●公布API
  ●获得API信息
  ●公布API信息
  ●获得实例信息
  ●公布实例信息
下面的表格描述核心调试API(API ID=4):
  ●公布饱和
  ●饱和消息的寄存
下面的表格描述下层API(API ID =5):
 ●置位开发状态
 ●公布状态
 ●TBD(特定于电器)
下面的表格描述核心键按压API(API ID=6):
  ●按压键(键索引)
  ●公布键按压(键索引)
下面的表格描述核心存储器/端口API(API ID=7):
  ●写入存储器
  ●写入EE
能量管理API是API ID=8。与其他API一样,能量API由Op码的集合组成,每个Op码代表涉及能量管理的有用功能,并且具有是达到这些功能的合适参数的关联字节集合。
下面的表格描述轮询变量API(API ID=10):
  ●读取轮询变量
  公布轮询变量
核心API(在此API ID=1)是可以部署的软件体系10的最小子集。但是,可以想到开发与分组结构28兼容的其他实施例。规定设计参照图5的两个硬编码的数据获取机制。
在核心API中,一种协议机制即图5的发送事件允许客户机(16,22)请求事件源发送所有事件或发送一套特定的事件。通过这种方式,在事件体系的框架内实现轮询类型而无需单独的消息定义或实施结构和逻辑。此外,该机制实现了文件的系统启动条件。例如:如果所有网络节点在系统通电时同时发送所有事件,在客户机16或22的软件内更可能发生误操作,其中在此的软件成分由于通电条件而不能准确处理多个消息。
DAQ API(API ID=2)代表由软件体系10实现的用于部件16的动态机制查询。该特征允许客户机16/22配置内嵌的软件引擎(一种结构阵列,该阵列的元素实例化和存储在动态存储器堆(heap)【参见图33的DynamicMemoryHeap,包含NVOEvent结构的集合】),该软件引擎将一部分微处理器存储器与事件操作码(描述在下面的表格中)和变量关联。指向存储器的指针、存储器的值、事件操作码和操作码变量存储在存储器堆的结构阵列中(图33包含NVOEvent结构的Heap[])。如图5所示,DAQ引擎可以用两种方式配置:
1.驻留在相同微处理器中并与软件体系10分离的应用软件可以按照图5的箭头所示从DAQ Init()软件成分来配置DAQ30。
2.其次,外部客户机可以使用DAQ API(在此所述的)从网络14配置DAQ。
每一种DAQ配置方法的有理数分为3段讨论。
如在图36的处理DAQ时间状态图中所示,在执行DAQ引擎时,DAQ引擎对每个事件结构迭代,从而针对事件操作符和变量检查关联的存储器位置。如果事件条件估计是真,则消息缓冲器在内部存储器内构成从而反映与该事件条件关联的数据。如果迭代完成,则产生通报消息并优选广播给网络。替换的,通报消息可以发送给特定的部件16,如果分配附加的存储器来存储最初请求或配置该事件的部件的网络标识符。
开发人员可使用几个事件操作符。例子包括:正在改变(onchange),大于,小于,等于,死带(deadband),位掩码等。提供DAQ API的几个Op码用于在运行时控制存储器堆,如:清除事件,添加事件,外部通报接通/关闭,获得事件,获得事件数据等。
总之,软件体系10支持用于数据收集的4个机制(所有机制都在图5中示出)。如上所述的4个机制中的两个机制取决于DAQ。另外两个机制也在上面简要描述过,是硬编码的。每个机制可以共存在软件体系10内。每个机制以消耗其它资源为代价提供某种优化。
1.在客户机配置的数据获取机制中,产生动态事件。如果微处理电器有足够的RAM/ROM容量则可以使用该方法,而且如果客户机是PC应用时该方法用得最普遍。利用DAQ API,开发人员可以再使用代码,需要更少的引擎时间,平衡已证明可再使用的事件模块,很灵活(例如可以在运行时配置),而且存在网络带宽的优化。但是,该方法比硬编码方法需要更多的RAM/ROM,而且内嵌的客户机不能在运行时访问所需要的数据文件。
在客户机配置的数据获取机制中,DAQ引擎30必须具有存储器位置以便观察事件。对于变量映射,在客户机是如图26所示的PC应用时这是很实际的。但是,当客户机例如是实施软件体系10的其他控制板时,访问变量映射是不实际的。因此,本发明为位于实施软件体系10的节点的存储器中的内嵌变量映射提供了功能。该变量映射将API和Op码与如图26B所示的变量地址连接起来。因为为了在所述节点上注册事件,该客户机只需要知道该变量的API和Op码,而不是具体的存储器地址。
利用内嵌在由客户机配置的数据获取机制中的变量映射,可能出现限制特定客户机创建事件的情况,因为相关的API和Op码对已经由其它节点注册。在这种情况下,本发明向该节点提供请求关于该内嵌的变量映射的信息的功能。在该信息中包含了变量的存储器地址。利用该信息,客户机节点可以采用该变量的地址和不同于事先尝试的API与Op代码对来注册同一变量的事件(参见图27)。
2.由客户机配置的DAQ是自配置的DAQ。在这种情况下,内部逻辑使用DAQ引擎在图33的DynamicMemoryHeap中创建NVOEvent结构。这在要实现的事件在设计时是固定的且已知的,而且存在足够的RAM和ROM资源来再使用DAQ30的不同引擎(包含在DAQ30内的逻辑)时是一种有用的机制。因此该方法具有与由客户机配置的动态事件机制相同的优点,而且比(下面描述的)硬编码方法需要更多的RAM/ROM。
3.在硬编码事件模块中,开发人员可以优化网络带宽,优化RAM/ROM的使用以及适应DAQ API。但是,该机制需要定制编码的解决方案来产生事件,而且不依赖于图36所示的DAQ30的软件和逻辑。
4.利用核心API提供的硬编码的轮询方法,开发人员可以通过创建定制编码的解决方案来优化RAM/ROM的使用。轮询一般是浪费网络带宽的,但有时候也因为其简单性而使用。
图5示出每种类型的潜在数据获取方法的一个示例。软件体系10的安装可以支持这4中方法中的一种、一些或全部。安装10和客户机16分别可以具有在它们上面初始化的DAQ API。软件体系10可以具有一个或多个硬编码的轮询变量、一个或多个硬编码的事件、和/或所述的DAQ引擎30。各种变量和事件在主软件体系安装和客户机之间传输。例如,各种硬编码的轮询变量在软件体系10和客户机16之间通过读取轮询变量和公布轮询变量方法来交换。各种硬编码的事件在软件体系10和客户机16之间通过发送事件和公布事件方法来交换。创建事件方法由发送给DAQ引擎30的DAQ Init引擎调用,该DAQ引擎30又与客户机16通过发送事件和公布事件方法来交换产生的事件。软件体系10中的DAQ引擎30还可以创建通过从客户机16接收的创建事件方法所接收的事件。
图5A是示出安装了根据本发明的软件体系10的家用电器12和位于远处的客户机16之间的通信的示意图,该客户机16例如是如图5A所示的顾客呼叫支持中心。电器12具有连接到其内部网络14的接口18,和能使电器12与外部客户机12通信的网络接口20.图5A的示意图示出顾客服务中心,其使用DAQ引擎5创建事件功能建立起变量监视并诊断家用电器12的毛病而不需要向住地发出服务车。
软件体系10可以定制为考虑不同实施平台的需要。RAM和ROM空间和时间的复杂性是可以管理的,对存储器位置的访问以及断开时间也是可以管理的。所有这些都位于预定的参数文件中。应当理解这些参数可以重新命名、更改、重新打字、添加或删除而不会脱离本发明的范围。
发现API(API ID=3)实现了“Plug’n Play(即插即用)”体系的概念。发现API暗示物理网络节点或客户机16可以获得n个功能,每个功能都由公知的、具有唯一ID、类型和版本的API封装。这些API是便携式的(意味着他们代表功能而且与微处理器、软件语言和网络拓扑结构无关)而且可在其它可应用其中的功能的部件上重新使用。发现协议(在图6的API3中描述)允许客户机学习部件16和部件16包含的功能组(API)之间的关联。
图6示出典型的发现API序列。由于在存储器中没有代表其它由软件体系10启动的部件的结构,客户机16、22发送命令以找到电器内由软件体系启动的部件16(通过发布“找到节点”的命令)。启动的部件回答说它们确实已经启动(通过发布广播的“公布节点”命令)。然后,客户机16发送命令以识别在每个启动的节点上存在什么样的API(通过发布“找到API”命令)。每个已启动的节点用包含其API ID的有界消息回答(通过用“公布API”消息来回答)。然后,客户机16、22发布命令以识别关于在每个已启动的节点上找到的各API的信息(通过发布“获得API信息”命令)。每个已启动的节点用包含关于该节点具有的API的信息的有界消息(该消息的目的和结构在图9中描述)来回应。该消息可以包括特定API Id的类型、版本和发生次数(或实例个数)。在一个部件16内的特定API的实例个数超过1的情况下(意味着有多个相同的API安装在部件16上,例如可能使用多个炉子控制API的一个多灶炉子的情况),客户机16发布命令以获得关于每个API实例的信息(通过发布“获得实例信息”命令)。软件体系10用请求的信息来响应(通过“公布实例信息”命令)。多个相同的实例由软件体系用伪API ID自动编号。
此外,当由软件体系10启动并具有软件体系10的子部件即API Id=3的Discovery的部件16初始化时,该部件16自动发送宣布自己的消息(API点=3,Op码=2publishSANode())。
而且,如果软件体系的用户这样选择,则图6的Discovery序列可以通过省略消息1和2(Op码分别是1和2)来更改。该方法是有效的,因为客户机可能通过发布Opma=3消息,即导致由软件体系10启动的所有部件都响应的getSAAPI(collection)来初始化发现,因此在大多数情况下避免了对消息1和2的需要。
还想到缩写的消息序列可以达到与上述发现序列相同的结果。在缩写的发现序列中,每个节点在通电之后发布在一条消息内包含在上述发现序列中的全部信息的消息。接收该消息的每个节点用关于其自身的相同信息答复,从而向刚刚通电的节点提供来自所有已经通电的节点的可发现信息。
发现API协议机制允许客户机16在运行时找到本地实体而不需要事先的编译时间编程。此外,该机制允许客户机16确定所期望的部件是存在还是没有。根据这样的知识,客户机可以配置自身和/或向用户提供合适的推断的功能。
下层API(API ID=5)通过网络14暴露允许客户机控制(激活)电连接到包含部件16的输出装置以及提供对代表电连接的输入装置的当前状态和可能的状态历史记录的数值进行读取和/或写入访问的功能。典型的输出示例是阀门、继电器、可控硅开关元件、LED、灯、蜂鸣器等等。典型的输入示例是按下键、开关、传感器(例如压力、温度和超温度)等。在优选实施例中,下层API以及存储器-端口API只在电器12的软件体系10的图3的“开发状态”下才可获得。“开发状态”只能从图7的示例性电器状态图的电器12的“空闲状态”进入。而且在该优选实施例中,如果任何用户接口行为是在“开发状态”期间通过键区、LCD或电器12的其他用户接口装置初始化的,则电器12可以回到图7的“空闲状态”,并设置每个输出返回其未激活状态。用于初始化“开发状态”的消息可以在下层API的消息定义规范中找到。(参见API5,Op码2)。该网络消息定义为允许电器12进入开发状态。在开发状态下,启动特殊的API并暴露给网络14,该API允许客户机16直接控制电器12的电子输出。在开发状态下,面向生产的业务规则如确认被绕过,从而给予客户机16对电子子系统的完全控制。
下层API可用于实施电器的非标准操作,因为电器可以按照不是根据由驻留在主控制器上的电器软件运行层实施的预定运行循环之一的方式来运行。通过这种方式,下层API可以认为是启动附加的运行循环。附加运行循环的一些示例包括:示范循环;开发循环;检错循环;诊断循环;减少预定运行循环之一的至少一个时间步骤的时间的循环;绕过预定运行循环之一的至少一个运行步骤的循环;代替响应预定运行循环之一的事件的步骤的定时步骤的循环;以及将下层API暴露给网络的循环。
键按下API(API6)允许客户机16按下虚拟键。这提供了用于了练习和测试软件的等价方法而无需物理键区的机械或人工激活。
注意在本申请中使用的约定俗成。“扩展”是指一个API可以建立在基本级别API的功能之上的能力。扩展关键字表示:当APIx“扩展”API y时,API x=API x+API y。该注解简化了记录保存和API存档的任务。换句话说,API x还包括在API y中规定的功能。如果API x和API y分别指定具有相同Op码的功能,则API x实施的实现可优先进行。
家用电器的内部通信网络所采用的分组结构的有效载荷部分的示例性应用分组如下所示。该应用分组根据API分组。
核心API:API ID=1(类型3,版本1)。下面的应用分组代表从软件体系10指向客户机10的用于发布确认的消息(发布确认)。该消息由软件体系10发送给前一消息的发送者。该消息包含代表由软件体系10处理的前一命令的结果的列举值。一般来说,确认的接收表示发送者可以初始化下一条消息。
  API ID   Op码   字节3   字节4   字节5
  1   1:公布确认   原因代码   API   OpCode
注意事先接收的命令(正在确认的命令)的API和op码包含在有效载荷的字节4和字节5中。这向确认的接收者(发送原始命令的部件16)提供关于事先发送的命令正在得到确认的确定性。(事先发送的命令具有API Id和Op码的唯一标识符)。应当注意在附图和说明书中,一般假定ACK而且该ACK不连续重复或存档,上述应用分组的原因代码的列举值在下面的表格中示出。
  原因代码的列举值   原因代码名称   编程注释
  0   READY   该命令被成功执行,SA准备好接受其它命令。
  1   BUSY   SA模块当前忙于执行命令。通常只是内部状态。
  2   REJECTED   发送给SA的命令遭到拒绝,因为还有另外的命令仍在处理中。
  3   ACK_EVEVT   该命令没有执行,因为SA当前正在等待确认。
  4   UNSUPPORTED   该命令因为某种原因没有受到支持并且不执行。(准备好下一条命令)
  5   UNSUP_OP_CODE   该命令由于无效的Op码而不被支持且不执行。
  6   UNSUP_UNAVAILABLE   该命令由于当前在该状态下不可获得而不被支持且不执行。(就绪)
  7   UNSUP_INVALID_PARAM   该命令由于无效或超出有界参数而不被支持且不执行。(就绪)
  8   UNSUP_OUT_OF_MEMORY   该命令由于动态heap被忘记而不被支持且不执行。(就绪)
  9   UNSUP_DOOR_OPEN   该命令由于电器门打开而不被支持且不执行。(就绪)
  10   UNSUP_BOUND_CMD_INCOMPLETE   该有界命令在指定的暂停时间之前没有被完全接收,从而没有完全执行。(就绪)
  11   UNSUP_CANNOT_PAUSE_NOW   由于电器处理的状态而不能暂停。
  200-255   特定于应用   应用开发人员可以在其应用中使用这些返回值。由开发人员决定是否存档这些特定于应用的原因代码。
0-3保留给软件体系10使用
下面的应用分组代表从软件体系10向客户机(16或22)的用于公布heartbeat的广播消息(公布heartbeat)。该消息定期地由软件体系10发送。这使得注册了事件的节点可以在事件源中保持信心。换句话说,heartbeat保证连接的完整性。可替换的,客户机(16或22)可以确定,在软件体系10相信与产生和发送事件关联的事务结束之前,由软件体系10发送的每个事件或一些事件应当接收由客户机发送给软件体系10的确认。如果特定的事件是用根据消息说明API2,Op码=1,2,12或13的“确认”的分类符创建的,则在接收到根据由API Id1和Op码1指定的消息的确认消息时,软件体系10定义与产生和发送该事件关联的事务已经完成。
公布Heartbeat在软件体系10接收到命令之后才会发送。这可以用于防止在通电期间的通信量阻塞。(通信量阻塞是指客户机16或22的软件内的误操作,其中客户机16或22内的软件成分不能准确地处理由于通电条件而产生的多个消息)。公布Heartbeat将被暂停到接收了复位SA消息之后,该复位SA消息将在下面针对核心DAQ API和Op码8描述,但是公布Heartbeat会在下一条命令之后恢复。这是反馈消息。
  API ID   Op码   字节3-字节F
  1   2:heartbeat
下面的应用分组代表从客户机指向软件体系10的用于设置heartbeat周期的消息(设置Heartbeat周期),该消息设置软件体系10发送heartbeat消息的频率。示例性的频率范围从0秒(不发送)到3600秒(1个小时)。
  API ID   Op码   字节3   字节4   字节5-字节F
  1   3:setHeartbeatPeriod   SecMSB   SecLSB
下面的应用分组代表从软件体系10到客户机的用于发布heartbeat周期的消息(发布Heartbeat周期)。该消息是对设置Heartbeat周期的响应。该消息是必要的,因此如果第二客户机更改了该heartbeat周期,将通知第一客户机。需要不变的heartbeat周期的客户机应当是用DAQ API来建立具有恒定广播操作符的事件,参见DAQ API Id=2,Op码1,字节9=4,5或6(参见更改操作符表格)。
  API ID   Op码   字节3   字节4   字节5-字节F
  1   16:newHeartbeatPeriod   SecMSB   SecLSB
下面的应用分组代表从客户机到软件体系10的用于读取存储器尤其是RAM的消息(读取存储器)。该消息发送给软件体系10,并导致“公布存储器数据”的响应,该消息在下面示出(Op码4)并且包含在下面分组的字节3-7中指定的值。
  API ID   Op码   字节3   字节4   字节5   字节6   字节7   字节8-字节F
  1   5:readMemory   地址高字节   地址中间字节   地址低字节   大小MSB   大小LSB
下面的应用分组代表从客户机导向软件体系10的用于读取存储器的消息(读取)。该消息发送给软件体系10并且导致“公布数据”的响应(Op码=8),该消息在下面示出并且包含在下面的读取分组、字节3-7中指定的值。
  API ID   Op码   字节3   字节4   字节5   字节6   字节7   字节8-字节F
  1   6:readEE   地址高字节   地址中间字节   地址低字节   大小MSB   大小LSB
下面的应用分组代表从软件体系10指向客户机的用于公布存储器数据的消息(公布存储器数据),并且是读取存储器的响应。
  API ID   Op码   字节3   字节4   字节5  字节6   字节n   字节8-字节F
  1   4:publishMemoryData   数据MSB   数据   数据  ...   数据LSB
下面的应用分组代表从软件体系10指向客户机的用于公布EE存储器数据的消息(公布EE数据),并且是读取EE的响应。
  API ID   Op码   字节3   字节4   字节5  字节6   字节n   字节8-字节F
  1   8:publishEEData   数据MSB   数据   数据  ...   数据LSB
下面的应用分组代表从客户机指向软件体系10的用于发送事件的消息(发送事件)。该消息指示软件体系10发送指定的事件而不考虑事件触发判断标准。
注意:事件Id是与Op码同义使用的。在描述作为API一部分的事件时,事件Id是用于Op码的更具说明性的术语。
  APIID   Op码   字节3   字节4   字节5   字节6   字节7   字节8-字节F
  1   7:发送事件  API id(0xFF=全部)   EventId#(0xFF=全部)   EventId#   EventId#   EventId#
注意:下面使用的注释在本文件中通篇重复并只在这里描述。如果字节3包含保留值0xFF,则软件体系10将字节3解释为代表所有APIId。否则,字节3就指定特定的API Id。类似的,如果字节4包含0xFF,则软件体系10将字节4解释为代表在字节3中指定的一个或多个API的所有事件。否则,字节4就包含一个事件Id。字节5到字节n包含一个事件Id。
下面的申请分组代表从软件体系10指向客户机的用于发布时间的广播消息(发布事件),并且是上述发送事件消息的响应。替换的,如果正在使用DAQ引擎,则当满足事件触发判断标准时发送该消息。下面,API Id和Op码注释为“由客户机定义”。这是指API ID和Op码由DAQ API(API Id=2)的createEvevt命令(由客户机发送)分配,具体在Op码1和2的字节7和8以及Op码12和13的字节3和4中。
  API ID   Op码   字节3   字节4   字节5  字节6   字节7   字节8-字节F
  由客户机定义   由客户机定义   数据MSB   数据   数据  ...   数据LSB
核心DAQ API:API ID=2(类型3,版本1)。下面的应用分组代表从客户机指向软件体系10的用于创建数值事件的消息(创建数值事件)。通过API Id=2和Op码=1或2标识的该消息允许客户机创建和配置反馈变量[图33的NVOEvent结构]。字节7和8用于分配将用于在事件条件使得事件消息得以产生时填满公布事件消息(API Id 1)中的字段的标识符(API Id和Op码)。所产生的事件消息是在前面对核心API的描述中找到的形式,其中对消息分组标以“公布事件”。标识符API Id和Op码分别位于公布事件消息的字节1和2中。在这些字节中找到的值可以通过下面为DAQ API、Op码1和2定义的消息分配。字节3-5包含软件运行环境的存储器中的地址,该软件运行环境将用于通过作为估计规则的列举的字节9以及作为估计规则的变量的字节A和B代表的事件条件作估计。字节6指定应当相对于字节9、A和B被估计为单个数值的相邻字节的数量。
Figure A20068002802200541
在该节示例性应用分组之后将详细讨论与上述应用分组的字节9关联的事件操作符,并且在标明在创建基于数字的事件时可获得的事件操作符的表格中示出。另外,字节C还对应于导致确认事件或未确认事件(下面讨论)的分类。参见图29中确认事件的操作的例子。
Figure A20068002802200542
下面的应用分组代表从客户机指向软件体系10的用于创建字节事件的消息(创建字节事件)。通过API Id=2和Op码=1或2标识的消息定义允许客户机创建和配置反馈变量(事件)。Op码2的消息规格的目的是类似的,但是具有为某些应用使用情况提供用途的不同的实施方式。API Id2和Op码2在功能上与API 1和Op码1的不同之处在于,依据字节A的值确定是通过字节3-5和字节6指定的范围内的仅一个字节还是所有字节都基于字节9的更改操作符和字节B的更改值来估计。而在Op码1的情况下,所指定的直接被估计为一个数字。在Op码2的情况下,根据在字节A中指定的值,每个字节或仅一个字节将根据字节9中指定的更改操作符和字节B中指定的更改值来独立地估计。
在该节示例性应用分组之后将详细讨论与上述应用分组的字节8关联的事件操作符,并且在标明在创建基于字节的事件时可获得的事件操作符的表格中示出。另外,字节C还对应于导致确认事件或未确认事件(下面讨论)的分类。参见图29中确认事件的操作的例子。
下面的应用分组代表从客户机指向软件体系10的用于清除事件的消息(清除事件)。清除事件消息允许客户机清除事先用创建事件Op码(1或2,如上所述)创建的事件定义。如果需要在多条命令之间进行同步,客户机可以用MMP标志向软件体系10发送多个清除事件命令。
  APIID   Op码   字节3   字节4   字节5   字节6   字节n   字节8-字节F
  2   3:clearEvent  API Id(0xFF=全部)   EventId#(0xFF=全部)   EventId#   EventId#   EventId#
下面的应用分组代表从软件体系10到客户机的用于公布事件被清除的广播消息(公布事件被清除),并且是清除事件的响应。该消息通知软件体系10的客户机何时从现有的软件体系节点接口中去除Op码或API。
Figure A20068002802200561
下面的应用分组代表从客户机到软件体系10的用于复位软件体系10的消息(复位SA)。复位SA命令指示软件体系10重新初始化到好像刚开始通电时。
  API ID   Op码
  2   8:resetSA
下面的应用分组代表来自软件体系10的广播消息,用于通知软件体系10已经复位(公布SA复位),该消息是复位SA的响应。
  API ID   Op码
  2   9:publishSAReset
下面的应用分组代表从客户机到软件体系10的用于打开针对指定事件的外部通告的消息(接通外部)。该命令指示软件体系10向外部向客户机通告该事件。参见图28中使用该命令的示例。
  API ID   Op码   字节3   字节4   字节5   字节6   字节n
  2   10:setExternalEventOn   API Id   OpCode   OpCode   OpCode   OpCode
下面的应用分组代表来自软件体系10的用于通知指定事件的外部通告已经打开的广播消息(向外部公布打开),并且是接通外部的响应。参见28中该命令的结果的示例。
  API ID   Op码   字节3   字节4   字节5   字节6   字节n
  2   10:publishExternalOn   API Id   OpCode   OpCode   OpCode   OpCode
下面的应用分组代表从客户机指向软件体系10的用于关闭指定事件的外部通告的消息(关闭外部)。该命令指示软件体系不向外不向客户机通告该事件。
  API ID   Op码   字节3   字节4   字节5   字节6   字节n
  2   11:setExternalEventOff   API Id   OpCode   OpCode   OpCode   OpCode
下面的应用分组代表来自软件体系10的用于通知指定事件的外部通告已经关闭的广播消息(向外部公布关闭),并且是关闭外部的响应。
  API ID   Op码   字节3   字节4   字节5   字节6   字节n
  2   10:publishExternalOff   API Id   OpCode   OpCode   OpCode   OpCode
核心DAQ API:API ID=2(类型4,版本1-扩展类型3,版本1)。下面的应用分组代表从客户机指向软件体系10的用于获取事件数据的消息(获取事件数据)。获取事件数据指示软件体系10发送指定数据的定义。该定义是在创建事件Op码消息中发送的数据的镜像,该消息在上面作为核心DAQ API的Op码1或2示出。软件体系10用公布事件数据消息的集合响应,这些消息如下所示。
  APIID   Op码   字节3   字节4   字节5   字节6   字节7   字节8-字节F
  2   5:getEventData  API id(0xFF=全部)   EventId#(0xFF=全部)   EventId#   EventId#   EventId#
下面的应用分组代表从软件体系10指向客户机的用于公布数字事件数据的消息(公布数字事件数据),并且是获得事件数据的响应。每个事件定义都在分离的内部网络消息中报告,并且通过与图4的28的MMP标志关联的快照规则管理。事件定义包含关于在创建数字事件中的事件的信息。
Figure A20068002802200581
在该节示例性应用分组之后将详细讨论与上述应用分组的字节8关联的事件操作符,并且在标明在创建基于数字的事件时可获得的事件操作符的表格中示出。
下面的应用分组代表从软件体系10指向客户机的用于公布字节事件数据的消息(公布字节事件数据),并且是获得事件数据的响应。每个事件定义都在分离的内部网络消息中报告,并且通过与图4的28的MMP标志关联的快照规则管理。事件定义包含关于在创建字节事件中的事件的信息。
Figure A20068002802200582
在该节示例性应用分组之后将详细讨论与上述应用分组的字节8关联的事件操作符,并且在标明在创建基于字节的事件时可获得的事件操作符的表格中示出。
下面的应用分组代表从客户机指向软件体系10的用于创建远程数字事件的消息(创建远程数字事件)。该消息允许客户机或内嵌系统中的其它模块使用内嵌变量映射来配置与现有的API和Op码关联的反馈变量。尽管数量可以是4个字节,更改值可限制为两个字节。图26B示出内嵌的变量映射。图27定义3个网络节点之间的交互,其中节点A在节点B上成功创建远程数字事件。节点C试着进行相同的工作,但是通过与节点B的交互,这可以完成该请求的目的而不需要复制标识符(API和Op码)。其完成的原因是因为节点C可以向节点B查询存储器中初始标识符的地址,从而可以选择替换(非复制的)的标识符。然后将该替换的标识符用于通过向具有原始存储器地址和替换标识符的节点B发送(参见图27中的消息8)新消息来创建远程数字事件。
Figure A20068002802200591
图26B示出内嵌的变量映射。图27定义3个网络节点之间的交互,其中节点A在节点B上成功创建远程数字事件。节点C试着进行相同的工作,但是通过与节点B的交互,这可以完成该请求的目的而不需要复制标识符(API和Op码)。其完成的原因是因为节点C可以向节点B查询存储器中初始标识符的地址,从而可以选择替换(非复制的)的标识符。然后将该替换的标识符用于通过向具有原始存储器地址和替换标识符的节点B发送(参见图27中的消息8)新消息来创建远程数字事件。
下面的应用分组代表从客户机指向软件体系10的用于创建远程字节事件的消息(创建远程字节事件)。该消息允许客户机或内嵌系统中的其它模块使用内嵌变量映射来配置与现有的API和Op码关联的反馈变量。
Figure A20068002802200601
图26B示出内嵌的变量映射。图27定义3个网络节点之间的交互,其中节点A在节点B上成功创建远程数字事件。节点C试着进行相同的工作,但是通过与节点B的交互,这可以完成该请求的目的而不需要复制标识符(API和Op码)。其完成的原因是因为节点C可以向节点B查询存储器中初始标识符的地址,从而可以选择替换(非复制的)的标识符。然后将该替换的标识符用于通过向具有原始存储器地址和替换标识符的节点B发送(参见图27中的消息8)新消息来创建远程数字事件。
下面的应用分组代表从客户机向软件体系10发送的用于从内嵌的变量映射中获得远程变量数据的消息(获得远程变量数据)。该消息指示软件体系公布涉及存在于内嵌的变量映射中的数据的信息。参见图27中使用该命令的示例。
  API ID   Op码   字节3   字节4   字节5   字节n
  2   14:getRemoteVarData   API Id   OpCode   OpCode   OpCode
下面的应用分组代表从软件体系10发送给客户机的用于公布远程变量数据的消息(公布远程变量数据),而且是获得远程变量数据的响应。该消息报告来自内嵌的变量映射的数据,如API、Op码、大小和地址。
Figure A20068002802200611
核心发现API:API ID=3(类型3,版本1)。参照图6,下面的应用分组代表来自客户机的用于找到软件体系10的节点的广播消息(找到节点)。该广播消息使得节点可以找到软件体系10的其它节点。
  API ID   Op码   字节3
  3   1:findNodes
下面的应用分组代表来自软件体系10的允许软件体系向其它参与14的部件公告其存在的广播消息(发布节点)。该消息是在软件体系10的节点通电或复位时发送,或者作为对找到节点的响应而发送。另外,该消息可以在软件体系10的节点通过第二发现过程(给自己)添加API或向现有的API添加Op码时发送。当客户机动态地向软件体系10添加API或Op码(通过DAQ Op1,2,12,13)时不发送发布节点。反馈消息的有效载荷包含防火墙密码,该密码由软件体系10的防火墙安全特征使用(参见图31中该特征的示例)。这使得该消息的发送者成为网络14中“受信”的节点。
  API ID   Op码   字节3   字节4
  3   2:publishSANode   防火墙密码MSB   防火墙密码LSB
下面的应用分组代表可以从客户机发送或广播给软件体系10的用于获得软件体系10的API的消息(获得API)。该定向消息允许客户机发现由软件体系10的具体节点支持的API。API Id在电器内必须是唯一的。
  API ID   Op码   字节3-字节F
  3   3:getAPIs
下面的应用分组代表从软件体系10到客户机的用于发布软件体系10的API的广播消息(发布API)。该消息是获得API的响应,而且是允许客户机发现由软件体系10的发送节点支持的API的定向消息。
  API ID   Op码   字节3   字节4   字节5   字节n   字节7-字节F
  3   4:publishAPIs   API#   API#   API#   API n
下面的应用分组代表可以从客户机发送或广播给软件体系10的用于获得API信息的消息(获得API信息)。该定向消息允许客户机发现关于指定API的版本和类型信息。
  c   Op码   字节3   字节4   字节5   字节n   字节7-字节F
  3   5:getAPIInfo  API#(0xFF=全部)   API#   API#   API n
下面的应用分组代表从软件体系10到客户机的用于发布API信息的定向消息(公布API信息),并且是获得API信息的响应。该定相信息允许客户机发现关于指定API的版本和类型信息。每个API都有一个消息,而且这些消息利用图4的MMP标志约束。
Figure A20068002802200631
字节4和5代表可以用作API的特定子分类的指示的API类型。类型的值可用于确定子部件(API)之间的兼容性考虑。字节6和7代表(特定类型的)API的版本。该值可用于表示对功能的调试定位或更改。对于类型,其启动了运行时兼容性检查,该检查可以告知客户机该版本是否兼容。可替换的,字节407可与字节3结合起来用于形成5字节类标识符,其中类是指类库中的类定义(本领域技术人员可以理解)。利用替换的方法,字节3(API Id)是运行时对象处理程序,字节3-7在数值上链接地形成类id。
与字节8关联的实例个数向客户机标明API具有多个实例。客户机可以跟随下面描述的获得实例信息来找到属于该API的实例Id。DescrChar 1-Descr Char n是可以有助于开发者的可选特征。描述性的文本可用于注释API Id。例如,“上”或“下”可用于双炉灶的两个灶穴。
下面的应用分组代表从客户机到软件体系10的用于获得实例信息的定向消息(获得实例信息)。该定向消息允许客户机发现报告API的多于一个实例的API的实例Id。任何API的第一实例都使用API Id作为其实例Id。如果在相同的可寻址节点上存在具有一个API Id的多个实例,则向随后的实例动态地分配实例Id。当一个物理网络节点上存在一个API的多个实例时,这些动态分配的Id可以代替API Id使用。
  API ID   Op码  字节3   字节4   字节5   字节n   字节7-字节F
  3   7:getInstanceInfo  API#(0xFF=全部)   API#   API#   API n
下面的应用分组代表从软件体系10到客户机的用于发布实例信息的广播消息(发布实例信息),并且是获得实例信息的响应。该定向消息允许客户机发现实例Id。任何API的第一实例都使用API Id作为其实例Id。如果在相同的可寻址节点上存在具有一个API Id的多个实例,则向随后的实例动态地分配实例Id。这些动态分配的Id通过上述公布API信息消息通信。为统一起见,公布API信息是为第一实例发送的(即当API Id=实例Id时)。对API实例存在一个消息,该消息使用MMP标志来约束。当一个物理网络节点上存在一个API的多个实例时,实例Id的值可以代替API Id使用。
Figure A20068002802200641
1允许API子分类或专门化。例如,API Id可以指洗衣机API,类型可以指定特定的洗衣机模型。
2启动版本控制(即对功能性的调试固定或更改)。启动运行时兼容性检查,该检查可以通报客户机这些版本是否兼容。
3允许客户机将实例Id与其物理功能关联。例如“上”或“下”可用于双炉灶的两个灶穴。
优选地,Descr Char 1-Descr Char n允许客户机将实例Id与其物理功能关联。例如,“上”或“下”可用于双炉灶的两个灶穴。但是,软件体系10的用户可以使用Descr Char 1-Descr Char n用于任何有用的目的。
核心Debug API:API ID=4(类型1,版本1)。下面的应用分组代表从软件体系到客户机的用于发布饱和的广播消息(发布饱和)。饱和发生在内部网络14的支持层不能运送软件体系10已经放入WIDE14A的发送队列中的数据时。Aa110没有队列;如果WIDE14A不能维护该发送数据,则软件体系10发送发布饱和消息。
  API ID   Op码   字节3-字节F
  4   1:publishSaturation
下面的应用分组代表从客户机到软件体系10的用于设置饱和的寄存器的定向消息(饱和的寄存)。客户机将该消息发送到软件体系节点,该节点动饱和消息。只有启动饱和的节点才能禁止饱和。
  API ID   Op码   字节3-字节F   字节4-字节F
  4   2:Saturation on或off   1=打开2=关闭
下层API:API ID=5(类型1,版本1)。下面的应用分组代表来自软件体系10的用于公布状态的广播消息(公布状态)。
该消息由于更改了机器的内部状态而发送,由正常的循环过程、用户交互、下面的Op码2或通过网络14接收的其它消息产生。
  API ID   Op码   字节3   字节4-字节F
  5   1:publishState   状态列举
示例性的机器状态列举值在下面的表格中给出。根据本发明的实施例,运行状态包括在内。但是在某些情况下,运行状态有些模糊,附加的阶段变量必须暴露,从而可以写入恰当的客户机端的业务逻辑。在替换实施例中,消除运行状态以有利于更精细和确定性的状态机,其中每个状态的每一阶段正确存档。在该实施例中,在用于附加列举的字节中存在足够的地址空间。
  机器状态列举
  空闲   1
  运行   2
  编程   3
  默认   4
  开发   5
  循环结束   6
  暂停   7
  保留   8
  保留   9
  保留   10
  特定于电器   11-255
下面的应用分组代表从客户机到软件体系10的用于在开发状态和空闲状态之间拨动用于管理图7的状态的家用电器12软件运行环境16的定向消息。注意开发状态未在图7中示出,但是本领域的技术人员可以想到开发状态只能从空闲状态进入而且在退出时返回到空闲状态。
  API ID   Op码   字节3-字节F   字节4-字节F
  5   2:setDevelopmentState   1=打开2=关闭
核心键按下API:API ID=6(类型1,版本1)。下面的应用分组代表从客户机到软件体系10的用于按下键的定向消息(键按下)。该定向消息允许客户机发送虚拟的键按下。键索引由于在内嵌处理器中使用的编码技术而不能被发现;因此,键索引可以手动地或通过其它自动机制从源代码文件中提取。
  API ID   Op码   字节3-字节F   字节4-字节F
  6   1:pressKey   键索引
下面的应用分组代表从软件体系10到客户机的用于公布键按下的广播消息(公布键按下)。
  API ID   Op码   字节3-字节F   字节4-字节F
  6   2:PublishKeyPress   键索引
示例性的键按下索引列举值在下面的表格中给出。
  键按下索引列举
  开始   1
  取消   2
  暂停   3
  保留   4-25
  特定于应用   26-255
存储器/端口API:API ID=7(类型3,版本1)。下面的应用分组代表从客户机到软件体系10的用于写入存储器的定向消息(写入存储器)。存储器/端口API通过图3的开发状态启动,关联的交互类似于上面描述的图3的开发状态和下层API(API ID=7)之间的关联。
该定向消息允许客户机写入指定的RAM位置。写入到指定的RAM位置只限于单个分组。在目前的实施例中,这是28的28A中示出的13个字节。(28的)MMP=1对该消息无效。
  API ID   Op码   字节3   字节4   字节5   字节6   字节7   字节n
  7   1:writeMemory   地址高字节   地址中间字节   地址低字节   数据字节   数据字节   数据字节
下面的应用分组代表从客户机到软件体系10的用于写入存储器的定向消息(写入)。写入到指定的RAM位置只限于单个分组。在目前的实施例中,这是28的28A中示出的13个字节。(28的)MMP=1对该消息无效。
存储器端口
  API ID   Op码   字节3   字节4   字节5   字节6   字节7   字节n
  7   2:writeEE   地址高字节   地址中间字节   地址低字节   数据字节   数据字节   数据字节
轮询变量API:API ID=10(类型1,版本1)。参照图5,下面的应用分组代表从客户机到软件体系10的用于读取轮询变量的定向消息(读取轮询变量)。该消息指示软件体系10发送下面示出的公布轮询变量消息,以针对只用于轮询的变量。轮询变量可以是由开发人员为具体应用硬编码的,而且可以在RAM/ROM资源不允许使用DAQ API时使用。
  API ID   Op码   字节3   字节4   字节5   字节6-字节F
  10   1:readPollVariable(s)   事件Id 1(0xFF=全部)   事件Id 2   事件Id n
下面的应用分组代表从软件体系10到客户机的用于公布轮询变量的定向消息(公布轮询变量),并且是读取轮询变量的响应。对在初始化读取轮询变量消息中指定的每个轮询变量索引存在一条消息。
  APIID   Op码  字节3   字节4   字节5   字节6   字节7  字节n   字节9-字节F
  10  事件ID n:(publishPollVariable)   数据MSB   数据   数据   数据   ...   数据LSB
上面在DAQ API一节中讨论了事件操作符的注释。创建事件数字和字节消息(DAQ API Op码1和2)的字节9以及CreateNumRemoteEvent和CreateByteRemoteEvent(DAQ API Op码12和13)的字节5是在图33的NVOEventStructure中示出的事件更改操作符。操作符是向软件体系10描述软件体系10应当产生事件消息的数学条件的指示。下面的表格描述了事件操作符的例子。事件操作符的变量取决于正在创建的事件的类型(op码分别为1和2的基于数字或基于字节)。
事件操作符是具有两个变量的DAQ API的一部分:基本(类型1)和扩展(类型2)。注意该表格中的第五列,其指明每个事件操作符对于DAQ API的多个修订版本(4)的可获得性。
下面的表格给出可在创建基于数字的事件(API ID 2,Op码1和12)时使用的事件操作符:
  名称  操作符Id(字节8)   Arg 1(字节9)   Arg 2(字节A)   DAQ API类型可用性
  改变中   0   -   -   1,2,3,4
  死带   1   死带Val(MSB)   死带Val(LSB)   2,3,4
  校验值==   2   比较Val(MSB)   比较Val(LSB)   2,3,4
  界限<=|=>   3   比较Val(MSB)   比较Val(LSB)   2,3,4
  25msec增量   4   -   时间=val*25ms   1,2,3,4
  秒   5   -   时间=val*(sec)   1,2,3,4
  分   6   -   时间=val*(min)   1,2,3,4
  保留   7   -   -   -
  BIND   8   API Id:DAQ=2   事件Id   此时不可用
下面的表格给出可在创建基于字节的事件(API ID 2,Op码2和13)时使用的事件操作符:
  名称  操作符Id(字节8)   Arg 1(字节9) Arg 2(字节A)   DAQ API类型可用性
  改变中   0   偏移(1-大小)   1,2,3,4
  死带   1   偏移(1-大小) 死带Val   2,3,4
  校验值==   2   偏移(1-大小) 比较Val   2,3,4
  界限<=|=>   3   偏移(1-大小) 比较Val   2,3,4
  25msec增量   4   - 时间=val*25ms   1,2,3,4
  秒   5   - 时间=val*(sec)   1,2,3,4
  分   6   - 时间=val*(min)   1,2,3,4
  位掩码   7   偏移 掩码   1,2,3,4
  BIND   8   API Id:DAQ=2 事件Id   此时不可用
BIND操作符允许客户机16由一个事件触发产生多个存储事件。换句话说,一旦分配了事件ID,就可以创建将在最初的主事件被触发时自动发送出去的后续事件。
在用改变中操作符建立起基于字节的事件(op码=3)之后,字节9中的值255将指示软件体系10对通过地址和大小变量指定的范围内的所有字节都进行更改检测。
位掩码操作符实现了监视字节内的位转换的功能。掩码值应当设置为使得位=1表示“关心”,位=0表示“不关心”。如果设置为“不关心”,则在该比特位上的值变换不会导致事件的产生。
Aa110没有提供针对时间同步的明确的解决方案,但是提供了启动机制。远程客户机16、22创建被周期性广播的事件的能力使得远程客户机16、22可以保持与电器同步的日时钟时间。由于软件体系10可能不会向API明确地暴露日时钟时间,因此客户机16、22可以存储存有日时间的地址。
Aa110核心具有一些设计考虑,这些考虑可以用来产生在此所述的本发明的替换实施例。
下面的项目可在确定软件体系10的核心实施的替换实施例时考虑:
●消息体系
●有效载荷结构或消息大小
●多个有效载荷消息完整性检查
●状态察觉消息收发
●API版本确定-发现
●连接完整性
●流量控制和确认消息
○返回无效
○返回有效
○发出
○通电条件
●状态完整性
●键按下vs.逻辑API
●多节点网络
○多个节点
○多个客户机
○同一网络上的多个API实施
○同一网络节点上的多个API实施
○使用相同Op码的API-命名空间
○SAP分配
○SAP发现
消息体系
消息体系是主要的设计元素,其解决方案具有很多非独立的设计结果。内部通信网络14协议28与以前的网络相反为由事件驱动的消息提供了新的可能性。要考虑的要素是如果节点注册了通知消息它们是否要彼此轮询。
轮询是节点定期地向请求更新值的数据持有人发送消息的一种实践(例如,连续地每100ms请求一次数据)。轮询通常实施得更为简单而且使用更为普遍,并且可以保持通过每个请求验证的连接完整性。但是,在轮询时客户机必须连续不断地请求信息。网络带宽被不变的数据占满(带宽是在给定时间段内可以通过通信信道的数据量,存在一些影响带宽的因素,例如:网络上的节点数量,发送频率(波特率),协议开销(CRC,确认,源/目的ID等),传输协议硬件,而且电缆连接控制带宽的限度,但是应用协议负责使可用的带宽得到最大效率的使用)。轮询体系不会伸缩:当节点增多时消息的数量指数增长。假定在每个节点上存在其他每个节点都需要的信息:消息数量=n^2-n。数据通常不与控制的存储器同步,消息延迟可能达到轮询率的两倍。
产生事件是在特定条件下用新的数据值通知注册为数据持有人的节点的一种实践。数据持有人接着负责在数据满足最初在注册期间规定的判断标准时向观测节点发送消息。(例如仅在数据改变时发送数据)。在产生事件的模型中,由于数据仅在其改变时才被发送,因此带宽使用得到了优化。该模型良好地随着消息流量而伸缩,并且将延迟降至最低。数据与控制同步。但是需要连接确认(heartbeat)。否则客户机可能不知道事件源何时离线。替换的,产生事件模型中的连接确认可以利用作为从时间观测者返回事件源的附加消息的确认来完成。当事件源发送事件消息时,在接收到确认消息之前事件源不会认为该事务已完成。在超时时间过去之后,事件源可能重新发送该事件。该过程可以重复确认事件发送重试的可配置次数。
在产生事件体系中,可能需要图9中由28的MMP管理的消息结合。这是一种用于将根据微控制器的同一次“扫描”产生的事件分组的机制。
在这种情况下,优选实施例是产生事件模型,因为产生事件具有上述优点而且针对产生事件的缺点的补救措施比较简单。连接确认利用heartbeat和/或确认事件来解决。在使用heartbeat时,事件源定期发送事件,从而该节点的所有事件监听者可以知道该事件源是健康的。类似的,将heartbeat实施为其频率是可编程的还可用于通报所有事件定购者该事件源是健康的。Heartbeat周期可从网络配置。在此详细描述的确认事件是一种替换方法,可以附加于heartbeat或可编程heartbeat使用以保证连接的完整性。消息结合由每个消息分组28的有效载荷中的消息分界位来解决。这使得软件体系10驱动器可以收集对应于同一次微控制器扫描的消息,并将这些消息一起提交给应用层。
采用本发明的作为DAQ30了解的子部件,软件体系允许客户机16通过内部通信网络14动态地注册到电器控制部件16(由软件体系10启动并包括软件体系DAQ30的可选子部件),以便接收在指定存储器位置处的值何时相对于指定条件变化的通知。这将电器控制16从具有硬编码的反馈变量中解放出来,并允许实时反馈来根据电器而改变,从而不需要客户机的轮询(基于事件的更新按照需要准确广播)。
采用图33的动态存储器堆,即保留给运行时可配置反馈消息的存储器,其中该存储器堆的大小可在编译时配置。已经发现每个反馈事件变量需要大约10字节的RAM。在该存储器堆中记录的事件(图33的NVOEvent)可以通过由客户机发布给由软件体系启动的部件的内部通信网络14命令来添加或复位,该软件体系也安装了可选的子部件DAQ30。
有效载荷结构28A
有效载荷结构的一个示例是由成组的多个变量一起构成(在设计时)的静态复合有效载荷,从而对于一个事务来说客户机可以向电器12内的部件发送完整的命令,或接收该部件的完整状态。在命令的情况下,客户机可能不想要改变有效载荷中的每个变量,因此需要必要的状态更新来对命令有效载荷填充不打算改变的变量的当前状态。此外,改变的变量可能无法字节映射为一个有效载荷定义,从而导致包含散布的、已更改和未更改的数据的多个消息。
在简单的有效载荷结构中,只有一个变量可以存在于有效载荷中。该有效载荷具有更为简单和容易的实施,而且可以近似于动态复合有效载荷(下面将描述)。但是,由于消息开销与数据的比例更大带宽没有得到优化,而且作为变量需要的消息结合是单独发送的。
在动态复合有效载荷结构中,有效载荷不是在设计时静态定义的,而是由发送节点动态建立的。在这种情况下,有效载荷的长度由发送者希望发送的数据确定,此外,在有效载荷中必须包含标识符和可能的分隔符,这使得接收方的分析器可以分解有效载荷的组成部分。重申一次,接收节点必须具有复杂到足以将多个变量有效载荷分成其组成部分的分析器。该有效载荷结构优化了带宽,但是由于分析器所需要的复杂性可能增大ROM需要。对应用协议也增加了一些开销,因为动态复合有效载荷必须嵌入op码长度作为消息的一部分,需要由接收部件进行额外的分析,而且可能难以理解和实施。
本发明的优选实施例是对应用协议采用简单的有效载荷结构。动态复合有效载荷的复杂度可能难以对软件体系10中采用的消息进行成本效益分析。为了最大化软件体系10的使用,优选接口的复杂度应当被最小化。通过使用复合有效载荷,由于其复杂特性,可能妨碍了软件体系10的使用,尤其是对于内嵌的客户机。简单的有效载荷是对动态复合有效载荷的良好近似,尽管可能有额外的消息开销(即,对每个内部通信网络14的消息存在5个字节的开销)。还有另外两个字节的开销用于支持软件体系10应用协议28。这为每个内部通信网络14消息协议24留下13个字节用于在某些特定于应用条件下的数据。使用静态的复合有效载荷可能不灵活和比较浪费。
图9的消息结合是用在每个消息分组的有效载荷中使用MMP位来解决的。这使得软件体系10驱动器可以收集对应于同一次微处理器扫描的消息,并将这些消息一起提交给应用层。
状态察觉命令
相对于电器12的用户接口,电器12就像个状态机。当按下键时,该状态机从一个状态转换到另一个状态。对于每个状态都知道对下一次推动哪些键是有效的候选键。类似的,还知道对下一次推动哪些键是无效的。
总的来说,当按下无效的键时,电器12产生声音警报以告诉用户该电器处于不适于该键的状态。相同的概念也适用于希望发送有效命令的外部客户机,虽然该客户机可能不发送键按下。
一般来说,对于电器控制开发出两种类型的状态机:键按下状态机(如上所述)和过程状态机。典型的过程状态机的例子在图7示出。
图7是示出家用电器12的各种状态的示意图,该家用电器在图7中例如是洗衣机,而且从软件体系10的交互到各种状态32以及默认故障模式34。示例性洗衣机的各种状态32在图7示为空闲、洗衣、漂洗、旋转和暂停。该示例电器12的其他状态以及不同电器12的状态是可以想到的,图7所示的例子只是举例而已。
过程状态机的状态可以报告给外部客户机16.但是在检查时,可以看见图7的过程状态机不针对来自所有可能的用户输入的事件(即时钟设置、旋转速度选择、负荷大小选项等)。一般来说,电器控制中的逻辑具有最终其它条款以处理没有预定的所有其他情况。
假定希望客户机16理解管理控制的状态变化的规则,从而可以避免客户机16发送无效命令。考虑到客户机16不会发送键按下这个事实,设计者必须理解无法得到允许客户机一方确认的文档或数据结构(即在发送请求之前确认)。最后,这可能导致可能发送命令的客户机应用,接收部件由于其基于图7的示例性状态的确认逻辑而不运行。
该解决方案不仅对带宽使用有影响,而且对应用的总体稳健性以及终端用户的满意度也有影响。从带宽的角度来说,可以说消息不会导致期望的行动,而是错误代码或重试是带宽的浪费(假定可以防止)。用用户满意度的角度,防止用户出错的应用通常被认为比允许用户出错然后用对话框解释发生了什么事的应用更为“友好”。
根据本发明设想了状态合适命令的各种实施例。
采用客户机编码的规则部分,状态信息的子集用于为了防止无效请求而开发情况逻辑或控制状态的仿真。该模型通常不更改控制体系,但是可以让客户机和控制很容易不同步。该规则和逻辑开发可以基于反复试验(例如编码、测试、重新编码)。客户机设计可能快速展开,从而产生设计不好的程序代码。
采用设计时基于状态的API数据模型,开发出数据模型,从而客户机可以解释该数据模型而且防止无效请求。实际上,状态和有效op码之间存在相关(op码是消息标识符)。其优点是Op码或API的开发者也负责向客户机的开发者发布信息(在设计时),从而允许设计者在客户机上仿真状态机。该仿真的状态机使得客户机应用不会发送无效请求。控制需要暴露在API数据模型中定义的每个状态。设计时的数据模型要求控制开发者负责交流管理Op码实用的状态规则。客户机和控制可能很容易失去同步,因为数据在运行时无法使用。必须创建反映写入代码的文档。该文档必须维护和公布。该文档必须分析或转换到客户机端的逻辑,并且不会在所有时候工作。电器状态可以在命令刚被发送时改变,从而导致无效命令。
采用运行时基于状态的API数据模型,该解决方案与前一解决方案相同,只是该数据模型不是在设计时在开发者之间共享,而是在运行时在客户机和控制之间共享。对于要从控制告知的数据需要一些额外的消息收发。在该运行时数据模型中,控制的开发者必须负责通报管理Op码使用的状态规则。客户机可以在运行时发现Op码/状态相关的定义。客户机和控制总是同步,而且客户机和开发者的活动是优化的-无需手动翻译为文档/从文档手动翻译过来。需要额外的代码(ROM)(一次性写入)用于排列和分解Op码/状态相关的定义。需要将一些网络带宽用于传输数据,而且由于传输数据产生一定的启动延迟。这不会在所有时候都产生。状态可以在命令正被发送时改变,从而导致无效命令。
采用后命令确认列举模型,上面的三个选择具有防止客户机发布该命令以控制在无效状态的目的。该解决方案没有尝试这种预清空。而是允许客户机应用随时发送任何命令。如果该命令无效,则产生确认,从而客户机可以采取合适的行动。该确认可以包括或不包括列举的原因代码。在后命令原因代码模型中,不改变控制体系,而是客户机更可能发送将会遭到拒绝的命令。客户机开发者必须设计一种策略来应付拒绝确认,由于被拒绝命令消息的频率而导致终端用户经验可能不是很令人愉快。
采用组合了设计和运行时数据模型的设计时命令传统和源代码分析模型,对内嵌代码的结构具有最小的影响,并且传达了期望的运行时功能。这通过产生客户机一端的分析器来完成,该分析器可以分析内嵌的源代码,并确定要为每个外部Op码监控的变量。对该解决方案的要求是:(1)每个非诊断外部命令(Op码)具有关联的单个布尔变量,该变量代表执行所需要的允许状态;(2)采用命名传统,使得分析器可以将每个允许变量与对应的外部Op码关联。在源代码分析模型中,控制的开发者负责通报管理Op码使用的状态规则。客户机16可以在运行时发现等待确定恰当版本的Op码/状态相关定义,并且客户机和控制总是与恰当的版本同步。不需要额外的参考文档,但是对于编码实践、每次扫描要执行的附加逻辑、所需要的很小的额外RAM和ROM存在并非不重要的改变,而且只有高级的客户机才能够分析源代码。
采用学习客户机模型,该解决方案不需要更改内嵌式系统。在这种情况下,客户机会在每个遭到拒绝的命令之后“学习”,并且建立会随着时间完成期望的运行时行为的客户机一端的允许映射。在学习客户机模型中,不改变控制体系,但是其假定是在拒绝时估计正确的状态变量。如果没有观测到状态变量,这客户机不能了解是什么导致了该拒绝。
已经发现这些选项的一些是优选的实施例。现在,主要的优选实施例是运行时API数据模型。该设计的示例性优点是家庭控制应用。但是该模型需要额外的内嵌设计。由于当前的商业环境没有产生对该实施例的需要,因此一直采用后命令确认,直到采用运行时API数据模型(也称为分类引擎)的成本效益变得更有利时为止。
Aa110的挑战之一是要提供功能而不影响电器12的生产计划。Aa110可以实施确认的请求模型。NVORecipeStatus(APIID=1,Op码=1)是优选的、由软件体系10在接收到每个消息之后发送的确认消息。
API版本确定-图6的发现
尽管软件体系10的核心与任何API无关,但是软件体系10的目的是要暴露多个API。期望API将随着时间不断添加到软件体系10中更为实际。想到这一点,就需要考虑API发现和版本确定。
还可以想到随着软件体系10应用增长,微处理器资源将不足以同时支持所有的软件体系10API和功能。通过采用编译器的指示,软件体系10可以配置为使得在机器的开发寿命期间API将会为同一个模型出现和再出现。
发现是软件体系10的长期成功的关键。Aa110的基本目的是在客户机16和控制部件16之间扮演中间件的角色。假定下面描述的情形,客户机16就需要查询控制以发现当前的功能是什么。如果不存在某些功能(即编译时判断),则期望应用能够体面地停止运行并通知用户该应用的支持目前没有编译到电器控制软件中。
存在很多客户机实施以及很多交叉平台和特定于平台的API。编译器指示可以被开发为包括或不包括软件体系10的某些功能。在控制上可能不会允许软件体系10的所有可能的功能同时存在于微处理器上。
在此涉及API的版本确定和发现方法的本发明的各种实施例都没有脱离本法明的范围。
采用基于模型号的发现模型,客户机负责理解控制的功能。这可以采用基于客户机的数据结构、远程数据库、或者类似OSGi的运行时代码运送工具来完成,这种运行时代码运送工具包括所有关于电器12的特定模型号的相关信息。在基于模型号的发现模型中,对电器控制没有额外的要求。但是,模型号通常不是在产品开发周期开始时分配的,因此在早期软件开发中不能获得该模型号。模型号由于颜色机制、商标和其它枝节因素可能变化。不同的API由于编译器指示可以驻留在同一模型上。可能需要客户机负责在发现后获得功能定义或等价代码。
采用基于API ID的发现模型,基于API的发现一点也不取决于模型号,而是将任何产品都定义为精心定义的接口的集合。该技术允许相同的API驻留在多个产品上,从而导致某种再利用。在基于API ID的发现模型中,对API ID的参考补偿了基于模型号方法的缺点。该模型允许多个产品共享相同的编译器指示和相同的API定义,并且能够促进软件体系10的子功能再利用。但是,客户机可以负责在发现后获取功能定义或等价代码,可能需要额外的管理开销以维持和分配唯一的API,而且可能需要来自控制微处理器的额外资源来支持发现Op码(即额外的消息收发)。
采用功能发现模型(也称为分类引擎),该模型将API发现作为附加的步骤。除了API的ID之外,客户机还请求和获得对应于该API的数据定义。换句话说,客户机发现每个功能调用,每个功能调用变量,以及每个变量的有效值。在功能发现模型中,不需要第二查找来获取功能定义。该模型接近UPnP或Web服务类型概念,并为转换到可由数据驱动的LCD屏幕用户接口设置了基础。但是,这一概念在用于低富裕机械键区和执行器时可能有成本缺陷。而且为了利用该技术的优点,客户机16必须开发该功能定义的解释器,该解释器可能需要软件体系10子功能开发者更多的建模努力以及来自控制微处理器的明显更多的资源。
已经发现,在准备该应用时,基于API ID的发现模型是优选的实施例。除了API ID之外,每个API可以具有类型和版本,从而API的很多不同置换可以长时间存在。这使得协议更为灵活(例如对特定电器12如甩干机可以有很多类型的API,以及每种类型存在不同的版本:甩干机API,水平甩干机类型,版本1)。
根据本发明,发现可以通过很多方式启动。在通电时,用软件体系10启动的每个节点在内部通信网络14上广播称为公布节点的消息。
其次,节点随时可以在内部通信网络14上广播称为找到节点的消息。该消息将导致所有节点用公布节点的消息响应。该API已参照图5和发现API详细讨论。
由于发现是软件体系10的关键,因此版本确定是成功发现的关键。用于调整API发现的相同道理可用于API版本确定。版本确定允许客户机找出更多关于已经发现的API的信息。
在API发现期间,API版本和类型要在与API ID相同的数据结构内报告。例如,可以采用简单的号码冲撞方法。此外,可以想到APIID和版本号具有一或两个字节或n个字节的数据结构。
连接完整性
在产生事件体系中,连接完整性是个问题;而在轮询体系中,连接完整性是固有的。在产生事件体系中,客户机16可以成功注册以收听反馈(例如针对温度读取)。一旦注册完成,客户机就依赖控制来通报温度的变化。这样,客户机将网络问题解释为恒定的温度。相比较而言,在轮询体系中,客户机不断向控制查询温度反馈,其响应或缺乏将立即表明连接的完整性。
采用可选的heartbeat模型来执行连接完整性,客户机必须注册用于基于网络的heartbeat。采用自动的heartbeat模型,软件体系10在通知寄存缓冲器不满时自动产生heartbeat。Heartbeat可以是广播消息或指向特定节点的消息。
在可选的heartbeat模型中,如果存在不需要该模型的实例,则可以取消heartbeat。在需要该模型的实例中,客户机必须配置软件体系10以产生heartbeat。在自动的heartbeat模型中,不需要期望的功能-软件体系10本身就很稳健。在广播heartbeat中,只需发送更少的消息,定制的heartbeat可以通过基于时间的事件更新来完成,而且定制heartbeat具有更简单的实施。但是,这可以导致从不参与软件体系10协作的其它网络节点来处理消息。而且,没有正确处理广播消息的节点可能误解释了到来的消息。在定向的heartbeat模型中,只有启动的节点需要处理软件体系10应用协议。但是可以采用定向的heartbeat模型发送更多的消息。
对于本发明,已经发现优选的实施例是用于连接完整性的heartbeat,具体地说,广播消息可以用于heartbeat。不喜欢该广播heartbeat速率的客户机可以替换地使用基于周期时间的NVO事件更新。使heartbeat自动化可以减轻客户机的负担。相对于包含在软件体系10中的API来说,下面的功能作为核心API(Id=1)的一部分受到支持:heartbeat消息,设置heartbeat周期。Heartbeat优选在从客户机16接收到第一消息时以默认周期自动启动。
用于连接完整性的另外可选的优选方法可以引入到软件体系10中。已经发现随着软件体系的应用增长,确定需要额外的连接完整性的方法。采用用于连接完整性的heartbeat方法对很多应用情形都是适用的。选择该方法是因为它代表了带宽利用和事件源的置信水平之间良好的平衡。但是,由软件体系10发送的事件消息可能无法由计划的事件定购者处理,即使该事件定购者没有检测到遗漏的heartbeat。在这种情况下,时间定购者不能检测故障,因此不能采取校正措施。在检测到遗漏的heartbeat的情况下,该校正措施是事件定购者可能请求事件源重新发送(所有)事件的(全部或子集),从而该事件定购者具有最新的数据。为了解决可能的未检测到的故障模式,通过软件体系10提供了连接完整性的第二种方法。该方法作为经过确认的事件公知,其允许每个事件消息的完整性得到单独的管理。图29示出经过确认的事件的功能。在图29的说明中描述了涉及经过确认的事件的更多细节。
流量(流)控制
可配置的异步过程是强大的,但是在配置超过其物理处理和带宽限制时就可能出现故障。引入了用于在4种公知故障情形中防止饱和的机构:返回无效请求,返回有效请求,发出消息事件,以及通电条件。
返回无效请求-它像是客户机格式化和发送无法被控制正确分析和理解或者可能通过控制的状态而无效的请求。
返回有效请求-无需考虑,客户机可以请求控制在该控制能够处理第一任务之前完成第二任务。
在缓冲模型中,可以使用接收缓冲器,从而允许客户机发送很多请求而不考虑控制服务这些请求的能力。在该模型中,客户机没有责任,即使该模型的实施更为简单。但是缓冲没有解决流控制的问题;它只是延迟了这个问题,或使得这个问题更不容易或更少发生,而且缓冲需要更多的RAM。
在流控制模型中,可以使用消息收发,从而客户机在发送第二请求之前需要等到控制准备好为止。在流控制模型中,流控制问题得到了非常稳健的解决,故障模式被消除。但是客户机必须实施流控制协议。
在经过确认的请求模型中,控制向每个客户机请求提供积极或否定的响应。在经过确认的请求模型中,该模型允许客户机16开发简单的重试或发现情形。但是,该模型需要更多的带宽用于确认,而且需要额外的ROM和设计。
在未确认请求模型中,客户机请求是未经确认的-客户机必须使用状态信息来确定该命令是否成功。在未确认请求模型中,利用了更少的带宽和ROM。但是,应用用户经历可能不好,客户机应用不指明所发布的命令是否成功,因此不能自动启动重试,用户注意到未成功的命令并需要手动重复该命令行为。
已经确定本发明的优选实施例是具有经过确认的命令模型的流控制协议。此外,确认可以列举,从而客户机过程可以开发尽可能稳健的恢复情形。由于本发明中前面提到的确认消息为经过确认的命令提供了API和Op码,因此客户机可以识别得到响应的命令。这防止在多个控制板网络中的冲突,其中位于电器内的多个控制板全都使用软件体系10。流控制和命令确认是允许客户机尽可能快速地发送数据而不会使控制饱和的技术。优点是非常灵敏的应用而不会引入不需要的延迟或不期望的应用错误。
流控制的优点是利用公布确认,API点=1,Op码1来达到的。每个命令都用公布确认响应来确认。新的命令仅在接收了READY(就绪)或UNSUPPORTED(不支持)的公布确认值之后才允许。公布确认使状态机用于如图8所示的命令流控制。
图8是示出图1的软件体系10如何根据本发明与到来的命令交户并基于家用电器的状态确认或拒绝该命令的示意图。在图8中用附图标记36示出各种流控制状态指示符,如基于各种命令38和发布的响应40的POWER_UP,READY,BUSY,REJECTED,UN_SUPPORTED。
发出消息事件(反馈)。在微控制器的每次扫描期间,软件体系10的DAQ30收集代表必须在总线上发送出去的事件的字节阵列(参见图36的处理DAQ事件状态)。Aa110的DAQ30可以如图5所示配置,因此客户机可以配置软件体系10以传送比通信总线的带宽所允许的更多的数据(即过配置)。
为了防止这一点,可以采用配置限制模型来限制客户机16配置软件体系10的能力以避免该问题。在缓冲模型中,软件体系10可以配备发送缓冲器。在饱和消息模型中,软件体系10检测何时向传输层提交了太多的数据从而该数据可能无法发送给客户机。在要求重新启动模型中,事件发布暂停,事件饱和消息发送出去和/或广播。一旦接收到SendEvents(例如255=全部)消息就重新开始产生事件。在不重新启动模型中,发送和/或广播饱和消息,然后软件体系10继续产生事件。
在发送缓冲器模型中,客户机没有责任,客户机实施更为简单。但是,缓冲没有解决问题;它只是延缓或使得该问题更不可能或更少频率地发生,并需要更多的RAM。
在配置限制模型中,该模型会防止问题,从而不需要恢复过程,不可能推导出配置限制,该限制基于相对于软件体系10处于随机特性的机器状态变换。
在饱和消息模型中,客户机可以检测软件体系10在至少一次扫描中无法向内部通信网络14提交新的数据。客户机无法确定该数据是否丢失,饱和消息也不一定意味着存在故障,只是可能丢失了数据。
在不重新启动模型中,客户机没有责任,但是不强迫客户机的开发者实施饱和恢复过程,客户机的开发者无法觉察到事件可能由于软件体系10的过配置而丢失。这种类型的故障不是灾难性的,因此客户机应用可能忘记数据的丢失。
在要求重新启动模型中,客户机的开发者必须考虑饱和故障及其对应用的暗示,这防止找到漏洞的临时努力,而且故障模式是灾难性的和/或明显的。但是,客户机必须实施饱和恢复过程,而且在要求重新启动过程期间可能存在暂时的延迟。
在什么也不做模型中,避免了不需要的工作,但是可能出现无法预见的状况,从而导致客户机的开发者花时间去解决可能按程序诊断的问题。
确定不要求通过编译器指示提供重新启动的饱和消息是本发明的优选实施例。饱和消息必须在其它事件进入传输层发送缓冲器之前成功发送出去。下面的消息收发功能作为软件体系10调试API(APIId=4)的一部分受到支持:获得饱和和注册饱和消息。
作为如图4所示的分组结构28,软件体系10的所有分组采用可能导致命令空间冲突的Cmb/Fb标志。因此可以使用用于区别的Cmb/Fb标志在相同的API下重叠Op码。
通电条件。如果软件体系10节点经历电力的短暂缺失或者微复位,客户机可能具有针对软件体系10模块变量的不正确快照。为了实现稳健的运行,软件体系10可以通知其客户机前面输出的变量不再被认为是有效的。在考虑短暂的条件时,软件体系10的配置可能存储在非易失存储器中,这使得可以进行通信的自动恢复。
在广播消息模型中,软件体系10发送特殊的广播消息,以通知所有客户机在通电时“清空其缓存”。可以理解客户机16的一些应用可能不需要考虑该故障模式,因此不会使用该特殊消息。还已知软件体系的软件运行环境会在heartbeat周期内经历故障(导致其内部存储器的复位)和恢复。由于只有heartbeat作为检测装置,该快速恢复会产生这样的可能性:客户机16存储器所保存的来自软件体系的软件运行环境的存储器的特定值的副本不再对应于该软件运行环境的存储器内的当前值。为了解决该故障情况,通电消息可以包含在软件体系10中。该消息与heartbeat无关,并且向任何客户机16表明软件体系10的软件运行环境的存储器的任何以前保存的值很可能无效,而且客户机应当通过使用API 1 Op码7的sendEvent消息来重新获取当前值。还要理解,客户机应当以合适的方式暂停或修改对这些存储值进行运算的任何逻辑或计算,直到重新获得当前值为止。
在丢失heartbeat模型中,软件体系10可以停止其heartbeat,使得客户机可以确定恰当的故障模式行为。但是如上所述,heartbeat模型的丢失不会覆盖所有的故障情况。这在使用自动恢复模型时尤其如此。
在自动恢复模型中,软件体系10可以在通电或复位之后从最后的已知状态中自动恢复正常运行。在自动恢复模型中,客户机可能将接收的信息误解释为不会发生的状态变化。换句话说,对于在复位或通电之前存在的状态A以及初始通电状态-状态B;不需要另外指明代表通电或复位的状态I,客户机可以将状态A到状态B的变化解释为不通过状态I。
在要求重新启动模型中,客户机的开发者必须考虑上面的段落及其对应用的实施。则可以防止暂时的难以找到漏洞,因为故障是灾难性的而且容易识别和定位。但是,客户机必须实施暂时的恢复过程,而且在重新定购/数据重新获取过程期间可能存在瞬时延迟。
已确定在通电/复位之后需要重新定购的heartbeat模型是本发明的优选实施方式。指明初始条件的状态的特殊广播消息的优点也被理解为在软件运行环境中的资源允许这种附加特征时是有用的指示。即使通过使heartbeat的暂停时间很小而使得heartbeat机制近似于通电消息机制的使用,当软件运行系统的资源约束不是禁止性的时,优选解决方案还是包括通电消息。为此,作为可选特征,软件体系10支持API Id=3,Op码=2的通电消息,即publishSANode。可能需要重新定购,因为动态事件触发器存储在RAM中而且会在通电时丢失。
优选地,软件体系10模块除了可选的通电消息publishSANode之外不发送任何消息,直到该模块检测到客户机为止。通过接收到有效命令来检测到客户机。一旦检测到客户机,可配置的heartbeat消息开始广播,然后软件体系10准备好正常运行。因此,如果用于软件体系10的主微处理器经历了通电/复位,则客户机通过检测到heartbeat消息(参见APIId=1 Op码=2)的缺乏和可选地通过检测到消息publishSANode(参见APIId=3 Op码=2)来得到通报。
状态完整性
Aa110的图5的DAQ30提供了优于市面上买到的DAQ系统的一些区别优点。Aa110可以暴露微处理器存储器中的任何变量。一般来说也包括感兴趣的I/O信号。现有技术的DAQ不能做到这一点。Aa110还可以通过一个3线插座提供给生产机器,而现有技术的DAQ仿真器需要更多的布线或硬件。现有技术的DAQ在消费者领域测试的范围内是不实际的。Aa110可以部署在生产系统上。与调制解调器耦合的Aa110可以提供远程监控。
使得软件体系10不同于现有技术装置的最为基本的方面是,软件体系10作为模块化子例程(图36和图11的SA_ProcessOutgoingEvents)由微处理器的main()函数同时调用。这保证在微处理器的执行引擎扫描微处理器存储器时,客户机可以具有微处理器存储器的完整的逐次扫描的快照(在网络带宽的限制内)。这开启了从低成本仿真到使用软件体系10的混合算法开发的很多感兴趣的可能性,从而实现PC辅助的与生产电子装置的协处理。
现在描述异步数据收集和同步数据收集方法的比较。在异步收集中:
1.假定A和B是电器控制存储器内的变量。
2.假定C在客户机中计算为A和B的乘积的变量。
3.假定A=23,B=67。
4.客户机轮询A:A=23。
5.A和B改变。A=56,B=77。
6.客户机轮询B:B=77。
7.客户机计算C:C=A*B=23*77(A和B的这种组合绝不会在微处理器上发生)。
8.客户机将C的无效值提交给顾客或应用的终端用户。
大多数应用用异步数据收集工作。它简单和一目了然。但是,与异步收集关联的问题对于调试和识别来说特别花时间。
在同步收集中,客户机用软件体系10定义或注册A和B。这使得软件体系10可以在每次扫描时维持A和B的坐标值。
1.客户机注册A和B。
2.客户机请求发送全部。
3.A和B的当前值由控制发送给客户机。
4.A和B改变。A=56,B=77。
5.控制发送包含A=56和B=77的有界事件。
6.客户机不计算C直到达到该界限或结束分隔符位为止。
7.客户机计算C:C=23*77。
8.客户机提交正确的C值。
对于同步数据收集,数据收集是稳健而且虚拟地防弹的。它实现了还没有概念化的应用,而且允许生产软件的“实时”调试w/o对生产电子装置的特殊编码。但是,在控制上需要额外的RAM以维持“关心”变量或属性列表的客户机的快照。
已经确定软件体系10优选可以支持和促进同步数据收集技术。但是,异步存储器轮询可在核心API(API ID=1)中提供。
对于采用的同步数据收集技术,应当讨论有界更新的概念。有界更新是作为在主微处理器的Main()循环执行的同一扫描期间获得的电器状态的快照而分组在一起的事件。电器控制主循环允许用DAQ API注册的反馈变量的迭代更新(例如每25ms)。监视每个注册的变量,而且只有根据它们的存储器监视器更改操作符改变值的变量才作为更新广播给客户机。当更新正在被广播时,不允许新的更新,以及时保存快照。采用如图4的应用协议28中所示的软件体系10标题的字节2中的MMP标志向客户机通报快照。
当图4的28的MMP为真时,更多的消息等待该快照。当MMP为假时,当前消息是快照中最后的消息。因此如果快照的第一消息是该快照中的唯一消息,则MMP是错误的。
图9的示例示出具有确认的有界命令(循环+温度+MMP),后面是两个连续的有界更新。有界是指协议的元素向接收者表明更多的消息正来自源而且通过接收部件的应用逻辑进行的数据处理应当延迟到分组结构28内的协议的有界指示符(MMP位7)表明事务完成为止,在该事务时由应用逻辑进行的数据处理得到允许。有界命令通过附图标记42示出,两个连续的有界更新分别通过附图标记44、46示出。注意在有界命令执行完成之前更新没有开始,这为客户机提供了滤除暂时的反馈数据的能力。有界命令由相同的机制,即28中找到的MMP作为有界更新提供,以便向应用提供更大水平的控制。
图9的示例是概念性的。实际的机制是在28中找到的MMP。但是为了图解的目的,有界命令以初始的“开始”命令引发符(MMP置位)开始,并包括用于将洗衣机循环设置为洗衣,配方状态为就绪,水温为适中,配方状态再次为就绪的命令,最后是循环开始指示符,接着是命令结束符(MMP未置位)。可以注意到,在图9中更新(例如通过产生事件)被禁止,以防止更新在有界命令结束之前发生。此外,“处理命令”指示符在电器12的整个有界命令处理期间周期性地出现,以说明从客户机16通过内部通信网络14发布的命令的某些部分正在接受处理。
在有界更新44中,该更新又一次启动(因为该更新在有界命令42开始时遭到禁止),以允许电器12向客户机16报告其具的状态。在有界更新44所示的例子中,示出确认状态为就绪,循环报告为洗衣,该状态报告为正在运行,洗衣桶报告为满的,水泵报告是开着的,温度报告是适中的。开始和结束指示符又围住有界更新44。这些开始和结束指示符可以利用如在图4中讨论的应用分组结构28中的标志MMP报告,或者利用网络协议领域的技术人员公知的其它方法报告。
在有界更新46中,洗衣桶报告为摇晃,水泵报告是关着的,电动机报告是开着的。开始和结束指示符(MMP)又围住有界更新44。
API策略(键按下vs.逻辑API)
在几乎所有情况中,电器12由集成的键区控制。内嵌的软件处理由键区所产生的键按下或用户事件,并采取动作。实际上,键按下处理功能是用于电器的API。在这一节要考虑的问题是该API是否是最佳方法,或者是否应当为外部客户机16、22开发第二API。
在键按下模型中,为了使用键按下API,外部客户机22必须创建虚拟键按下并将其通过网络发送。必须在了解集成键区的情况下设计外部客户机22,从而可以正确产生这些键按下,而且为了产生键按下,需要外部网络接口卡。在该模型中,不需要修改底层键区编程。但是,客户机22必须监视当前键区状态,以确定达到所期望的状态所需要的键按下。如果键区的设计改变,而不是机器能力改变,则客户机API必须改变。该体系通过在中间层(middle tier)和持久层(persistence tier)之间设置表现层(presentation tier),从而打破了软件开发的最佳实践。对于在基本键区接口中不存在的能量管理、维护和诊断、测试等等将需要扩展的命令。必须有一种方法将逻辑API以及杠杆作用(leverage)和尽可能多的确认码与键按下处理例程关联,而不需要复制代码。
相比之下,在逻辑API模型中,逻辑API是从机器功能的抽象而不是键区的设计中开发而来。例如,使用键按下在欧洲炉子上的烘烤可能需要客户机读取循环刻度盘的编码器位置,并通过编程改变编码器以对应于烘烤设置。如果使用逻辑API,客户机只需要发送用于设置循环的Op码以及针对烘烤的列举值:{0x01,0x01}(setCycle(Bake))。在逻辑API模型中,客户机16不需要关心键区状态、键区设计或键按下处理例程。API与键区设计的更改无关,允许扩展的命令,并且是工业上的最佳实践。
已经确定软件体系10使用集成了键按下处理例程的逻辑API。逻辑API暴露了很多扩展命令,这些扩展命令启动了各种增值应用。在电器控制中,如果在用户接口上按下一个键或者发布外部命令,它作为普通的进入点而直接映射为逻辑API函数调用(例如如果按下洗衣键或者发布外部的洗衣网络命令,则调用安装了软件体系10的洗衣机中的SetCycle(WASH))。逻辑API函数致力于按照参数化方式描述一组功能,从而该函数可以再利用。例如,温度的非逻辑专门函数可以是IncrementTemp()或DecrementTemp(),这些函数无法轻易地用于将温度设置为任何值。但是逻辑API函数可以是:SetTemperature(newTemp,or temp++,or temp--)。键按下和外部命令都可以使用后一个函数。
Aa110的命令处理程序可以包括使内嵌软件响应逻辑命令(例如setCycle(Bake))或键按下(例如在炉子电器12上按下“烘烤”按钮)的方法。该方法翻译输入的键按下,并导致对逻辑API内的合适函数的调用。
在该逻辑API函数中存在尽可能多的确认和基于状态的逻辑,从而外部命令与键按下获得一样的处理并且执行相同的代码。该API可以在无需对电器控制软件进行大的重新设计的条件下实施。只有顾客接口管理器软件必须重新组织和分组以作为针对每个键按下命令的进入点来调用API函数。但是这不是软件体系10的要求。Aa110只用于最小化必须写入的代码量。如果逻辑API函数的一个集合不能提供给外部命令引擎,则散布在电器控制中的确认和状态逻辑必须针对每个外部命令重复,从而导致更大的代码量和增加了错误的概率。
标识:多节点问题
上面关于API版本确定和发现的讨论建立了用于发现驻留在任何安装了软件体系10的节点上的API的机制的优点。对于下个步骤存在另外的考虑:
1.多个节点
2.多个客户机
3.实施同一API的多个安装的节点
4.具有多个复制的API的单一节点
5.使用同一Op码的多个API
6.SAP分配
7.客户机发现支持软件体系10协议的节点
多个节点。有可能网络上的多个部件都要实施软件体系10。因此,应当考虑具有多个实施软件体系10的部件的网络。
在正面模式模型中,正面模式用于产生对一个对象集合的简单访问。这通过产生设置在客户机和各种目标对象之间的软件层来完成,从而客户机具有与单一对象连接的简单接口。该单一源由此负责将请求传递给合适的目标对象。在正面模式模型中,更容易管理该模型,因为API是集中定义的。在大多数应用中,正面向客户机呈现更为简单的接口。但是,该模型要求编译时间设计将其它节点的API包含在正面节点中。正面需要额外的RAM/ROM以处理请求并将请求传递给目标节点。而且,如果两节点对彼此来说是客户机,则正面模式会创建不需要的处理,因为正面节点首先只通过自己的正面请求以便将该请求传递给目标节点。
在分布式服务模型中,该方法使用发现协议作为让客户机找到目标对象的方法。客户机负责与每个目标对象之间的独立交互。换句话说,客户机将发现软件体系10节点,然后查询每个节点它们支持什么样的API。在分布式服务模型中,该模型伸缩自如,从而部件可以在运行时插在一起。但是,该模型可能需要多个文档来管理网络变量定义(API)。
已经确定软件体系10使用分布式服务模型来管理在网络14上启动的多个节点。正面方法可能不太好,因为对目标对象API的更改需要更改正面(更改,编译,下载,测试)。而在由良好的重新要素分解工具支持的一次编译时间环境中,正面可能是很好的选择。在分布式环境中,更为灵活的分布式服务模型将允许更快的开发和灵活的配置。但是,在一些情况下在系统的每个微处理器上可能没有足够的资源来支持软件体系10。在另一些情况下,可能存在继承协议,而且不希望对遗传板进行修改。在这些情况下,正面可能是分布式服务模型的好的替代品。
多个客户机。如图1所示,网络14上的多个节点或客户机16实施软件体系10。因此,应当考虑多次发生10的网络。一个主要的考虑是时间注册和通报。如果多个客户机用软件体系10注册事件,则软件体系10应当可以管理事件发布。
利用节点ID指导的消息事件产生模型,软件体系10存储每个事件请求者的节点ID,使得在触发该事件时,会向请求节点发送定向消息。在该模型中,消息只发送给关心事件的节点。但是,该模型要求对每个消息有一个字节来存储节点ID,并且需要更多的RAM来为每个请求节点产生附加的存储器结构。
在具有API ID标识符的节点ID指导的消息事件产生中,利用该方法,软件体系10存储每个事件请求者的节点ID,使得在触发该事件时,会向请求节点发送定向消息。此外,主节点的API ID包含在该事件中。该模型允许客户机传输层更好地在内部路由消息。但是,该模型还要求对每个消息有一个字节来存储节点ID,并且需要更多的RAM来为每个请求节点产生附加的存储器结构。
在广播消息事件产生模型中,利用该方法,软件体系10不跟踪事件请求者的节点ID。在触发该事件时,软件体系10发送广播消息。在该模型中,软件体系10的实施更为简单和更小,不需要为每个消息花费一个字节来存储节点ID。但是,广播可能产生由其它节点处理的不需要的事件。
第四种混合方法,也是优选的方法,包括将广播消息用于消除存储节点ID的需要的模型。但是,客户机要在DAQ的事件产生消息中包含APIID和Op码(API Id 2,Op码1,2,12,13),使得他们能被动态分配(如下面讨论的)。利用该方法,所产生的事件消息将包含分配的APIID和Op码(如在API Id=1的publishEvent消息中所示)。在该消息(publishEvent)中,图4的28的字节1和字节2的APIID和Op码是由客户机16利用事件产生消息(上面引用的)分配的。
已经确定在此描述的软件体系10使用包括APIID和Op码的广播消息收发模型。这将提供通过用API ID存储来换取节点ID存储进行的路由的优点。假定下面是对SAP讨论,广播消息收发的风险大大减小。尽管一定数量的处理将由节点用于丢弃与节点无关的消息,但是这仍然比定向消息优越,因为定向消息最终会导致网络的饱和以及软件体系10的饱和。包括API ID使得客户机可以用动态API来配置控制,这将在未来刺激更好的模块化设计。
在多个节点上使用相同的API。有可能一些可选的网络部件将实施与UI或电器管理器板(即维护/诊断或能量)相同的API。这使得可选的网络部件16可以向外部客户机22表明自己。因此,软件体系10可以允许客户机16、22与两个物理节点交互-每个节点都实施相同的API。该设计的考虑在于几个其它节点的交集,类似的,其分辨能力是事先存在的设计解决方案的组合。
可选节点可以通过动态的成员资格实现。客户机可以通过发现API(参见图6)找出哪些节点支持协议28。也可以通过发现查询每个节点以找出支持什么样的API。Op码不是全局唯一的,但是与API ID和Op码耦合的内部通信网络14节点id是唯一的。API ID内嵌在每个事件中。
总结一下,客户机首先可以发现软件体系10节点,然后发现每个节点的支持API。客户机然后可以启动与每个节点的每个API的交互。由于每个分组24包括节点ID和API ID,因此客户机和目标都可以避免命名空间的冲突,并将消息路由到合适的应用空间。
在同一网络节点上的多个API实例。存在这样的电器12设计,该设计将自身出借给在同一微处理器上的API再利用。示例包括双灶炉子(即两个单独受控的烘烤室)或者两格子的冷冻箱。换句话说,在一些情况下,存在多个炉灶执行相同功能并且因此能通过相同API受控。针对这种情况的设计方法已经讨论过。
在唯一功能名称模型中,设计者针对每个命令或变量创建具有唯一Op码的API ID,而不考虑再利用该定义。换句话说,Op码10=下炉灶设置温度,Op码11=上炉灶设置温度。在该唯一功能名称模型中,在发现期间的消息收发更少,但是该模型不能促进模块化设计和代码的再利用。
在多个API ID模型中,设计者使用相同的Op码定义,但是为每个API实例分配唯一的API ID。在该模型中,在发现期间的消息收发更少,而且该模型促进模块化设计和再利用。但是该模型导致以更快的速率消耗可获得的API ID。
在实例ID模型中,软件体系10动态地向每个API实例分配APIID,但第一实例除外。API的第一实例由全局API ID知识库标识。为了做到这一点,软件体系10指定API ID(例如246-255)作为保留的API以动态分配给API实例。该模型促进模块化设计和代码的再利用,并且不消耗API ID。但是在发现期间存在更多的消息收发。
Aa110是设计为以稳健方式允许对象发现并彼此合作的面相对象的协议。这些要求的基础是:(1)合作实体必须可以唯一的寻址,从而可以恰当地在网络上路由消息,(2)合作实体必须可唯一识别,从而他们的消息收发合约、交互的规则以及兼容性考虑可以得到理解。在单一的运行时环境中,编译器可以强迫执行第(2)项。在联网或分布式环境中,内嵌的编译器通常不解决第(2)项。
合作实体(对象或API)寻址的唯一性通过组合3位节点ID(在图4的24的地址字段中找到)和8位的API或实例ID(在图4的28的字节1中找到)来管理。任何包含这两个信息的网络消息都可以被正确路由。这为每个网络节点提供了255个唯一的合作实体(或对象)。
实体标识通过8位API ID(例如类标识符)、两字节类型ID(即子类或规范说明)以及两字节版本ID(即类型ID意味着目的,版本ID意味着兼容性)来定义。
这种两层的方法与标识的唯一性分离地识别寻址的唯一性。这种分离通过从每个分组中去掉4个字节的标识信息提供了对带宽更有效的利用。反过来客户机必须缓存标识信息,并且按照地址的总共11位来索引该标识信息。
已经确定实例ID模型是本发明的优选实施例。发现API(API ID=3)支持消息中的实例ID、公布API信息、获得实例信息和公布实例信息。实例化是非常有力的概念,可以通过在协议中的使用来举例说明。
API-Op码命名空间。串行网络上的消息通常具有ASCII或数字标识符,以允许消息的接收者将包含在消息中的数据路由给合适的内部函数。该函数接着对有效载荷中的剩余数据进行运算。
有效载荷中的剩余数据是在文档中在运行时定义的。该文档描述了有效载荷中每一位和/或每一字节的含义。根据该文档,特定于每个有效载荷定义开发了内部软件消息处理程序。因此通常对每个唯一的Op码和Cmb/Fb对存在一个消息处理程序。
正常情况下,如果存在多个共享相同Op码的独立有效载荷定义而没有任何额外的识别机制,则接收者不可能将该消息路由给合适的消息处理程序。但是,本发明提供了Cmb/Fb标志来支持叠加或Op码使用,该标识用于区分。因此,本发明提供了重叠使用相同Op码的命令及其对应的反馈消息的功能。
这一节讨论了可用于向消息有效载荷定义提供唯一标识的技术。
在全局唯一的Op码模型中,利用该方法,Op码必须是全局唯一的。换句话说,必须向每个平台或API开发者分配一个Op码范围内(例如350-385),该范围一定不能与任何其他项目的Op码范围重叠。该模型由于要求多余ID的范围分配而是低效的。此外,API开发者不能控制其Op码标号机制,而且该模型要求一定数量级的更多合作的确定(信息传递)。
在全局唯一的API ID模型中,利用该方法Op码被分组为形成API的逻辑集合。为API分配由API ID、类型和版本组成的全局唯一的ID。因此,在此的Op码只需要在该API中是唯一。在这种模型中,不需要分配多余的ID,API开发者可以在Op码=1时开始,该模型只需要很少的信息协作来避免命名空间的冲突。
已经发现本发明采用全局唯一的APIID策略作为优选实施例。作为软件体系10核心API一部分的某些固定Op码,回复到共同的开始号码(1),而且优选可以向核心API分配为1的API ID。
SAP分配。在24中的SAP识别Wide有效载荷或SDU26的结构。它与前面描述的API ID的概念相同。SAP的优点也相同,因为输入的消息需要被识别和路由给正确的内部处理程序(或快速丢弃)。在这里讨论的WIDE网络14中,存在16个可获得的SAP。Aa110为SAP成员资格定制判断标准。在这种情况中,内部通信网络14管理员可以批准软件体系10应用协议并向软件体系10分配官方SAP。也可以想出协议24的其它网络标识符而不会脱离本发明的范围。例如,可以在内部网络14上向软件体系10分配为1的默认SAP。
SAP(或其他子协议标识符)允许内部通信网络14节点参与软件体系10和非体系10的消息收发。Aa110SAP适合全局体系,并且向软件体系10添加了更多的范围。内部通信网络14SAP是来自技术和实践观点的可靠的概念。保证特定于网络14的ID为软件体系10提供了全局可见性和官方可接受性,这可以有助于增加其使用并促进它成为全球标准。
图5的软件体系10发现。在上一节中,建立了软件体系10的APIID类似于内部通信网络14的SAP。类似的,在上一节中,建立了软件体系客户机16通过查询发现API的优点,API驻留在软件体系10的每个物理节点上。
类似的问题和/或解决方案可以呈现给软件体系10发现。如果维护工具希望动态地发现所有的软件体系10API,首先就需要发现支持软件体系10协议的内部通信网络14节点的节点ID。这可以通过发送软件体系10节点会响应的广播命令的广播消息模型来完成。在该模型中,软件体系10可以广播添加到软件体系10中新的API,或者可以广播添加了实施软件体系10的新网络14节点。图6的发现API用作软件体系10发现的机制。轮询发现消息和简单的广播消息都可以获得而且将在发现API(API ID =3)中讨论。
多有效载荷消息的完整性
Aa110标题中的Frag,即字节2的位6,使得软件体系10协议可以发送大于底层协议(即内部通信网络4的有效载荷)的有效载荷。如果Frag置位,接收者应当意识到当前的消息将分段成多个分组或片段。
在消息片段id模型中,分段的消息的第一片段使用如图4所述的标准分组结构。该初始片段提供消息的API、Op码和Cmd/Fb标识。该消息的所有后续片段优选具有图24所述的分段消息结构。在该结构中,Frag标志仍然存在(与MMP标志一起)以增强数据。但是,字节2现在在位5中包含更多片段未决标志(MFP)、位3-4中包含消息id(MID)、在位0-2中包含片段id(FID)。
MFP标志告知接收者应当期待当前消息的至少另一个片段。MFP从1转变为0告知接收者当前分组是当前消息的最后一个分组。MID提供了每一个消息的一个2位标识符。因此,向每个分段的消息(一组片段)分配MID,该MID然后对每个随后的分段消息(一组片段)都增加。MID增加到3,接着回滚到0。FID为消息内的每个片段提供一个3位的标识符。因此对于特定的消息,总是向第一片段分配为0的FID。对于该消息的每个后续片段,FID将增加。FID增加到7,接着回滚到0。
通过本发明提供的片段协议允许接收者检查分段消息的完整性。通过监视Frag和MFP标志,接收者可以保证分段消息没有错误内容。通过检查MID没有在接收单个分段消息时更改,接收者可以保证两个分离的分段消息不会融合(也许由于丢失的片段)。通过检查FID随着每个片段正确地增加,接收者可以保证消息内没有丢失片段(或没有按照顺序接收)。参见图25中消息片段id模型的示例。
在和CRC模型中,该解决方案利用了公知的现有循环冗余校验和(CRC)的概念。额外的两字节CRC可以添加到多有效载荷消息的最后一个有效载荷的后面。CRC是连接为一个组合的有效载荷的所有有效载荷字节的CRC代表。发送者产生该CRC。接收者根据公知方法验证该CRC。在和CRC模型中,该解决方案重利用已经建立和公知的CRC算法,但是CRC算法比帧计数器更复杂,而且CRC可能不容易由第三方携带。因此,已经确定消息片段id模型是根据本发明确定软件体系10中的多有效载荷消息的完整性的优选实施例。消息片段id模型更容易由第三方实施,而且更容易添加到现有体系10中。
软件组织
针对软件体系10,下面借助图10讨论代码组织和实施文件。图10是示出根据本发明的图1的软件体系10与包含各种软件成分16B的部件16的软件运行环境16A的关系的示意图,其中软件体系10包括命令处理程序50、更新处理程序48,和用于将软件体系10连接到内部通信网络软件运行层14A的内部通信网络层接口52,该内部通信网络软件运行层14A创建数据并通过家用电器12的通信网络14发送该数据。而且还示出软件运行环境16A中的其他软件成分16B如何调用和与软件体系10的部件(50,52,48)交互的例子。
为了产生软件运行环境16A的更通用的实施,去掉UI管理器(软件运行环境16A内的几个软件成分16B之一)之间的相关性。在该实施中,软件运行环境16A的主执行循环11调用50。以前相信以前的实施由于与涉及UI_Manager16B的执行时序关联的时序细节提供软件体系10的更为精确和稳健的性能。
为了定义软件体系10的第一层细节,示出3个主软件成分(子部件):更新处理程序48,命令处理程序50,内部通信网络层接52。更新处理程序48与DAQ引擎30交互以识别标志DAQ运行中的更新的信息,从而内部通信网络层接口52可以处理所述信息,从而导致与内部通信网络软件运行层14A的交互,从而导致分组结构24传送到网络14上。命令处理程序50验证和处理从内部通信网络层接口52输入的命令,从而根据分组结构28的标识符API Id和Op码值调用合适的软件运行函数。内部通信网络层接口52打算解除软件体系10的特定部分与内部通信网络软件运行层14A、图1的网络14和图4的分组结构24的耦合(尽可能实际)。内部通信网络层接口52与内部通信网络软件运行层14A连接,后者根据图4的定义产生数据并通过家用电器12的通信网络14发送数据。
图1所示的软件体系10的软件运行层子部件48、50、52一起协作来管理与其他也具有软件体系10的部件16或22或者能够与分组结构24交互的替换物的通信。
图34示出用于本发明的几种实施文件。
SA_prm.h。软件体系10包括可配置参数和命令列举。
SACore.c.h。该用于软件体系10核心软件的文件包含用于处理命令、管理流控制反馈和产生动态更新的电器数据的快照的更新处理程序48和命令处理程序50。
SAAppSpecific.c/.h。该用于软件体系10核心软件的文件包含用于驱动特定类型的电器12的特定于电器的命令处理程序和命令实施(例如具体指导管理洗衣机和与该洗衣机通信的文件)。不是通用于所有电器12的任何命令都在该函数中实施。这些命令列举在SA_prm.h中,而且由命令处理程序调用。
SAWideComm.c/.h。该文件包含内部通信网络14应用层52,其提供与内部通信网络14协议连接的接口,并控制消息结合为快照、控制对进入命令的分析,并且控制对更新标志的处理以发送更新消息。
SADaq.c/.h。这些文件包含DAQ引擎30的全部功能。由此,涉及更新处理程序48和事件产生的所有功能都包含在此。
SADiscovery.c/.h。这些文件包含实施软件体系10的节点的所有功能,用于发现实施软件体系10的其它节点(以及其它节点的对应功能)。
SAVaiableMap.h。该文件包含内嵌的变量映射,其使得可以通过外部客户机产生事件而无需知道存储的变量地址。
图11示出软件体系10与电器控制之间的示例接口,其中根据本发明图1的软件体系10由管理调度器(MAIN)调用3次。还示出MAIN调用WIDE.WideExec()。WIDE.WideExec()随后根据图33调用软件体系10,其中软件体系10的部件WideCommHandler暴露了函数SA_AcceptData()和SA_BuildData()。还示出MAIN调用SA_WideComm()(也是由软件体系10的部件暴露的函数),这最终导致如图33所示调用软件运行环境16A的部件WIDE的函数WIDE.QueueMsg()。
图13是图11所示的软件体系的示例性实施,包括电器初始化部分。初始化函数在进入图11所示的主执行循环之前从初始化例程调用SA_Init()。
下面的表格示出如何管理API的文档例子,包括用于控制通过软件体系10的API暴露的功能的部署的编译器指示机制。
  API名称   APIID   类型   版本   编译器指示   ROM使用   RAM使用  注释
  核心   1   1   2   SA_COR   1810   43  基于注册的30个动态事件
  数据获取(DAQ)   2   1   2   SA_DAQ   1658   373  基于注册的30个动态事件(10字节RAM/事件)
  数据获取扩展(包括SA_DAQ)   2   2   1   SA_DAQ_EXT   SA_DAQ+1064   DAQ  基于注册的30个动态事件(包括SA_DAQ)
  发现   3   1   1   SA_DISC   516   3
  调试   4   1   1   SA_DEBG
  下层   5   1   1   SA_LOLV
  键按下   6   1   1   SA_KEPR
  存储器端口API   7   1   1   SA_PORT   342   0
  能量管理   8   1   1   SA_ENGY
  GMCL   9   1   1   SA_GMCL
  轮询变量   10   1   1   SA_POLL
  维护和诊断   11   1   1   SA_DIAG
  未使用(140-240)
  非标准(241-245)
  保留给API实例Id(246-255)
在上面的表格中,241-254范围内的API Id可以在不考虑标准的情况下使用。他们意欲赋予设计者在期望再利用最小的应用中使用软件体系10的灵活性。在这种情况下,这会消除为预计是“离线”的消息集合开发特定API Id和类型的需要。这些Id还可以用作还没有接收到官方ID的候选标准API。此外在上面的表格中,RAM和ROM估计是使用MotorolaHC08 Cosmic Compiler版本4.3f来进行的,其中软件体系10配置为允许30个动态事件(即存储器堆大小=300字节)、定义7个API和15字节的最大命令大小。
图14是组合了根据本发明的图1的软件体系的虚拟路由器的示意图,其示出一对软件体系实施之间的映射。图14的虚拟路由器是封装软件体系10的API实施(对象,参见图4的路由器的每一侧的API1-8)的软件设计,使得内嵌客户机(应用逻辑、算法、逼和循环、定序器和状态机)和内嵌部件(软件体系10API实施:诸如除霜器、加热器、温度传感器、阀门等对象)之间的协作同一和一致,而不考虑实体是通过网络协作还是共享运行时环境。
图14示出这样标出的6个唯一的协作示例,其示出存在于分离的硬件部件16上并且通过网络14连接的一对软件运行环境16A如何使用软件运行环境16A的各种软件成分16B来产生右手和左手软件运行环境的运行逻辑59和软件成分16B之间的透明访问。
在描述协作示例之前,描述图14的结构将有助于理解该协作示例。每个软件运行环境16A包含所包含的有用软件运行部件(16B)的子集的代表,包括:软件体系10,内部通信网络层接口14A,DAQ30,硬件提取层80。
硬件提取层80包括:用于封装所连接的电路的特定固定地址的机制,软件运行层80将运行在在该电路上;按照以下形式(之一)封装16B出现的软间接口(28,28A或82):28是通过软件体系10交换的消息的分组表示(字节的有序集合),28A是通过软件体系10交换的消息的分组表示(字节的有序集合),其只代表由软件运行部件84或86期望的应用有效载荷28A(有效数据变量),82是28或28A的替换表示,其中目的和数据值和产生的行为在功能上相同,但是不是字节的有序集合的形式。82是具有通过单独命名的变量代表的变量的唯一软件功能的形式,该变量的值从28A导出或者通过从28A导出的字节的有序集合代表。
应用GDM84(全局设计模块)是作为全局设计模块公知的16B的变形,这是经过了标准开发过程的标准软件运行部件,包括函数和非函数要求、测试、存档和实施指导。特定于电器的应用GDM地址涉及例如除霜器、加热器、闭门器。应用GDM可以分为至少两种变形。变形1包含与59不同的特定于应用的逻辑,用于管理行为和从包括多个其他84和86在内的其他软件运行部件集合收集信息。变形2包含不同于59的特定于应用的逻辑,用于管理行为和从具体的电子机械装置或传感器如加热器、电梯、发动机、阀门、螺线管、继电器、压力和温度传感器收集信息。变形2可以配置为解决通过该装置的具体制造商变形、通过装置的基于通过应用要求确定的使用模式的具体配置,或者通过产生未在此提到的具体问题的因素集合而变得重要的具体问题。
基础结构GDM86解决与图1的软件体系的应用无关的连续发生的具体问题。它们可以在多个电器如冰箱、炉灶面、洗碗机、甩干机、洗衣机等等之间再利用。基础结构GDM可以分为至少两种变形。变形1与电部件或电约束的连续组合而导致的具体问题关联。一些例子包括:制造接口约束,装置占空因数,电负荷特征,其例子包括涌入电流限制和稳定状态电流限制,或者其他约束如模拟到数字的转换模式,其例子包括4-20mA电流循环vs.0-5V直流模拟电压反馈。变形2与电器和作为效用函数公知的独立于应用的软件成分关联。它们提供了由包括59和80的其它16B部件使用的逻辑。变形2可以包含或使用对86的变形1的参照。例子包括定时器,跨0检测,和其他有用的软件成分,这些软件成分的目的比通过应用或电机械要求驱动更为实用。
内嵌的虚拟路由器70提供封装层,通过该封装层(部件16的软件运行层16A的)应用逻辑59和硬件提取层80包括的部件、DAQ30、应用逻辑59的其它实例或应用逻辑59中的部件或其他任何有用部件16B之间的体系依赖性(由通过14连接的至少两个软件运行环境内部或之间的其它16B访问或暴露给其它16B的一个部件16B的方法[16B的例子是30,84,86])最小或被消除。
由其他软件成分16B用于获得对任何其它软件成分16B的参照的软件成分72存在于(其中获得的16B可以是软件运行环境16A的一部分):相同的硬件部件16,通过14连接的不同的硬件部件16,通过包括14在内的网络段的组合连接的不同硬件部件22,或者通过14连接的不同电器12的不同硬件部件16,第一电器12的两次发生12、14之间的不同网络段的组合。
软件成分72还为驻留在相同的软件运行环境16A内的其他软件成分提供用于公布必要的标识和/或路由信息到72的存储器中从而启动72的上述列举的用途的机制。标识和路由信息可以与驻留在相同的软件运行环境内的部件关联,或者标识和路由信息可以涉及与驻留在相同的软件运行环境内的部件分离的部件,但是通过驻留在相同的软件运行环境内的部件知道。
70的存储器中的结构74可以接收消息或者提供用于调用消息的函数,并且可以发送消息或者提供用于发布信息的调回函数。这些具有28、28A或82的访问定义的结构对应于诸如80、59内的部件的软件成分或位于上述列举72中的任何其他有用软件成分的发生,以及将信息路由给该软件成分或者路由给具有74的相同或类似目的的合适中间软件成分的功能。
现在查看可能的协作示例,期望基于发现查询产生和填充70的结构74,该发现查询包含访问既可以识别又可以路由的具体软件成分16B的请求,表明所述访问的调用,或者通过能够代表自己或其他部件16B调用70的软件成分16B产生和填充70的结构74,从而导致结构74的产生和填充。
协作1:命令通过右手软件运行环境16A的软件成分59发布,并通过包含在74的集合中的软件成分接收,其中在相同软件运行环境的部件70内具有API 1标识符。采用包含在70内的标识和路由信息,通过API 1识别的部件通过其它局部软件运行层10和14A发送所接收的信息,而且最后通过14发送和通过左手软件运行环境的14A接收。然后该消息通过10处理,并且路由到左手软件运行环境的74内的合适部件。使用包含在相同软件运行部件70内的标识和路由信息的合适左手软件运行部件74接着调用包含在左手软件运行环境硬件提取层80中的API1的实施或向其发送消息。由此右手软件运行环境的软件成分59内的应用逻辑调用时是在左手软件运行环境中的函数,而无需包含在其中用于实现所述调用的信息。因此,图14表明的设计的值是应用逻辑59可以相对于其他软件运行部件16B的位置再利用,该其他软件运行部件16B位于通过网络14或者可能包括14的多个网络段连接的多个软件运行环境16A内。
协作2:在这种情况下,消息的初始化从左手软件运行环境16A的59开始。示出最后调用在相同软件运行环境内使用在协作1中详细描述的相同方法的软件成分(在这种情况下是API2)的情况。因此,在协作2中,示出设置在应用逻辑59发生到某个其他有用软件成分(硬件提取层80的API 2)之间的替换体系对任何一种的实施没有影响。此外,软件成分70的目的是提供这种功能,软件成分70可以符合通过软件体系10设置的标识和接口要求。
协作3-6示出内嵌虚拟路由器70的其它用途。用于完成这些变形的机制与在协作1和2中描述的相同。包括他们是为了示出该设计的有用性以及涉及DAQ30可获得的期望的其它消息模式。应用逻辑59的本地事件监听者(3)和远程事件监听者(4)都具有与DAQ引擎30的代表的互连,该互连不仅提供与本地软件运行环境中的DAQ的连接,还提供与驻留在远程运行环境中的DAQ的连接。基于DAQ事件的发生而由DAQ产生的消息可以通过70中可获得的机制传送给本地(6)和远方(5)。
图15是采用12的体系建立的非典型电器的示意图,该电器包括作为部件组合的永久节点54,该部件包括根据本发明的图1的软件体系10。现有技术的内嵌系统是为了提供PCB本地的数据持久性,而根据本发明的永久节点通过软件体系10的机制和/或内嵌虚拟路由器70提供暴露给部件16和22的永久服务。
在每个客户机的通过内部网络彼此通信的部件内,示出每个部件16、电器12和永久节点54上的连接器和协议(RS-232,无线的,WIDE等)的各种示例。总的来说,永久节点54是可被共享网络14、20或运行时连接的所有部件16发现和使用的逻辑实体。该实体提供读取、写入和存储信息所需要的服务和协议机制。
如上所讨论的,电器12是“状态”驱动的机器,通常具有用户接口,用户使用该用户接口可以改变电器12的状态(例如将洗衣机从空闲状态变为“洗衣”状态)。由于开发了需要与电器12进行外部通信的应用(例如测试,诊断,远程控制等),因此存在3种可能的技术来执行该接口:(1)将外部命令翻译为键按下(参见图16和讨论);(2)采用定制软件来执行更改状态的命令(参见图16及讨论);或者(3)简单地将键按下翻译为逻辑API(参见图17及讨论)。
图16是现有技术方法的示意图,通过该方法外部命令翻译为键按下以测试家用电器的功能。在该现有技术方法中,用户通过一个或多个键按下56以更改电器的状态(该电器在图16中称为“状态机”12)从而影响电器的功能58来启动电器12。为了测试电器的功能58,用户准备外部命令60,并且(1)将外部命令60翻译成键按下56;或者(2)准备定制软件62,该定制软件仿真状态机电器12以尝试复制电器功能58。这可能很困难和容易出错。
在一种运行和测试电器的新方法中,图17是由用户启动的键按下56和外部馈入的软件命令60(通常来自客户机)的交互的示意图,该键按下56和外部馈入的软件命令60都作为变量传递给根据本发明的图1的软件体系10用于向家用电器12发布命令,以例如测试家用电器的功能58和/或更改家用电器12的状态(即实际运行)。
参照图17讨论的方法是新颖的,因为不是翻译外部消息,将电器12作为封闭系统来对待,而是与消息是作为外部键按下还是电器12本地或远程的软件命令接收无关地暴露电器12的功能。消息(命令)通过软件体系10的API(现在与现有技术的“封闭”系统相反是开放式系统)处理,同时给用户保留键按下验证和反馈。
当前,电器控制软件不是建立来验证和执行外部命令。为了弥补这一点,电器API定义为包括用户功能以及下层机器控制命令。在正常运行期间,在按下键或者发布外部命令时,该键按下或命令作为共用进入点而直接映射为用户功能API函数调用(例如,在用户接口[键区]上按下洗衣键或者发布外部的洗衣命令都会导致立即调用setCycle(WASH)函数,而不管电器12的状态如何)。所有验证和基于状态的行为都存在于该函数内部,从而外部命令与键按下56得到相同的对待,而且执行相同的代码。
该API可以不对电器控制软件进行主要的重新设计就实施。只需要识别用户接口软件以作为任何命令的进入点而调用API函数,而不是只是对状态机12内部的键按下进行反应。使用图17的方法使得电器12的制造商可以分开地测试和诊断键区/用户接口。这节省了在电器开发、诊断和测试时的事件和精力。这也消除了对复杂机械键区启动装置以及传统上要用于测试用户接口和电器功能的机械执行硬件的需要。
此外,电器12API含有用于将电器送入诊断或工厂测试模式的命令。在该模式中,所有基于状态的行为和命令验证代码都无效,以允许下层API。在该模式中的API命令可以访问和控制电器12的下层部件,如读取和写入EEPROM、按下键(56)、读取传感器值、写入循环参数、执行转接和其他执行器等。
参照软件体系10讨论的API接口是面向对象的软件分组,其在一个对象(电器功能)具有多个需要与该对象交互的客户机(例如键按下56和外部命令60)是高效的。这是一种新的方法,因为电器目前不包含面向对象的软件,而且通常被视为是封闭系统并只具有一个客户机:用户接口键。本发明设想电器12通过引入内部通信总线(即网络14)和外部连接20而具有多个客户机。这些客户机可以包括网页应用、诊断工具、测试工具和家庭自动化系统等。
具有在此所述的API软件体系的电器12是“将来验证”的,并且可用于顾客可能需要的很多高级远程应用。这些应用可以包括能量管理、改进的维护和诊断工具以及远程控制和监视。此外,由于API是进入所有电器功能的进入点,顾客可以受益于电器12的改进的自动化开发测试和工厂测试。
Aa110还设想虚拟装置模型可以觉察物理装置(电器12)的当前功能。例如,如果炉子在烘烤,则电器时钟不能修改。功能的同步是一种打算允许虚拟模型基于装置的状态识别装置功能的变化的通用解决方案。
目前,该目的通过为每个电器12写入的代码实现。包含在软件体系10中的解决方案用通用的解决方案代替特定于装置的代码。该解决方案包括附加消息,其中软件体系10广播包含无效命令的当前集合(API和Op码)。该信息在运行时考虑,从而可以按照用户可能只能修改可被修改的装置特性的方式来表达用户接口,从而没有给予顾客机会来修改目前由实际装置指示是不变的装置特征。
Aa110是应用和工具的交叉乘积系统。这些应用有助于增加在产品开发过程中的质量和投放市场的速度。这通过与存储在电器12内的存储器中的数据交互来完成。
为了保持灵活性、可配置姓和通用性,应用通过规定需要的数值存储器位置(地址)来与电器交互。但每次当电器中的软件改变时,存储器中的这些位置可以移来移去,并具有非常不同的含义。为了解决该问题,创建了变量映射文件标准和发生器。
变量映射文件发生器提取写入代码的软件名称(文本描述)并将该名称与该数据的数值地址和大小关联。然后该发生器按照标准文件格式输出该信息。这在每次改变和编译代码时执行。该标准文件中的信息提供与编译器和数据位于存储器中什么位置无关的独立性。
然后通过任何希望与基于软件体系10的电器12交互的任何应用读取变量映射文件。应用是对照数据的有意义的文本名称而不是数据的数值地址来编码的,这大大简化了应用的开发。
变量映射文件格式和使用过程描述在下面的表格中。
  模块   变量名称   地址   大小
  appman.h   Hour_Timer   0213   1
  appman.h   Zonel   020e   3
  appman.h   Zonel.Act_Temp   0210   1
  appman.h   Zonel.Zone_State_Tmr   020f   1
  appman.h   Zonel.Zone_State   020e   1
采用变量映射工作的方法示例包括以下步骤。
1.工程师建立对照位于电器控制中的有意义的数据的文本描述名称而编码的应用。
2.电器控制代码变化,从而导致有意义的应用数据具有新的位置。
3.工程师编译新的电器代码,这也自动产生关联的变量映射文件。新的代码和变量映射文件一起部署。
4.当应用是对照新代码运行时,只要该应用具有恰当的变量映射文件,该应用就不需要改变。
5.如果应用需要新的数据,则可以从变量映射文件中很容易识别或检索出该数据。
因此如上所述,开发工程师只需要记得上面表格中“变量名称”列,不需要不断查找在“地址”栏中不断变化的地址值。
现在参照图18,为了举例的目的而示作炉子的家用电器12具有内部通信总线200,而且该家用电器12可以通过类似于上述网络接口连接器20的网络接口卡(NIC)204耦合到外部网络202。NIC是用于将计算机或其他客户机连接到网络的公知装置,任何合适的NIC都可用于电器12。根据本发明的实施例,NIC204电连接到内部通信总线200,并将内部通信总线协议适应于标准通信协议,如TCP/IP和GSM,从而电器12可以通过外部网络202如局域网(LAN)和/或广域网(WAN)与外部客户机(未示出)通信。因此,外部客户机可以与涉及电器12驻留在内部网络14上的各种内部部件的软件体系10通信。例如,图18中的电器12示作包括用户接口(UI)208和传感器-执行器板210,每一个都包括印刷电路板(PCB)和对应的软件体系10,而且外部客户机可以通过NIC204与软件体系10通信。
NIC204可以通过任何合适的安装装置安装到电器12的优选从外部设置的通信总线200上,这在计算机网络领域中是公知的。根据本发明的实施例,通信总线200位于限定与电器12的器壁齐平的开口214的凹陷212中,该器壁例如是后壁216,如图18所示。当通信总线200位于凹陷212中时,通信总线200和NIC204(在安装到通信总线200之后)受到防止在运输电器12过程中可能发生的损坏的保护。
NIC204可以在制造时与电器12一起提供,或者可以作为附件与电器12分开购买。因此,顾客可以选择购买没有连接到外部网络202的功能的电器12,并在以后升级该电器12以添加连接,如果需要的话。
NIC204可以通过有线连接或无线地与外部网络202通信。例如,NIC204可以通过无线红外(IR)通信或其他短程无线装置与外部网络202通信。在这种情况中,NIC204优选安装在电器12的正面218以推动稳健的通信。根据本发明的实施例,NIC204可以安装在电器的正面218上的凹陷220中,如图19针对炉子所示。如果安装到电器的正面218,则NIC204可以通过设置在线路管道224中的导线连接到电器的背部222,该线路管道224从正面218的安装凹陷220延伸到电器12的背部222,在背部电线进入电器12。
有线通信的另一个例子是射频(RF)通信。例如,RF印刷电路板(PCB)226可以位于电器12内部,这需要RF PCB226和外部安装的天线之间的连接。可替换的,RF PCB226可以安装在电器12外部,但是该配置需要RF PCB226和电器控制电路之间的电连接,而且安装者必须在安装RF PCB226期间打开电器12的内部或内箱228。根据本发明的实施例,RF PCB226安装在电器12内部,而且热和电的不良导体-非金属保险隔板作为电器内箱228的一部分提供。示例性的保险隔板230是塑料窗,如Plexiglas窗,与电器内箱228集成在一起,如图20为说明目的针对炉子形式的电器12所示。保险隔板230允许RF与内部安装的RF PCB226通信而无需外部天线,并防止人员接触过多的热量或触电。
现在参照图21,电器12可以用硬件配置以有助于电器12的维护和诊断。在一个实施例中,配置适用于可消除地与电器12上的标准通信总线连接的维护模块232以记录诊断数据,例如通过与内部网络14上的软件体系10通信。维护模块可以很容易连接到内部网络14。维护模块232与电器12的连接通过图21的步骤1来代表。接着维护模块232从电器12去掉并连接到个人计算机234,例如通过USB端口或其他合适的标准通信总线。维护模块232与计算机234的连接通过图21的步骤2代表。在维护模块232连接到计算机234之后,维护模块232优选自动连接到互联网,并将诊断数据加载到远程客户机(未示出)上,如图21的步骤3所示。远程客户机处理诊断数据以识别电器问题或故障,并潜在地防止维修电话,如果该问题或故障需要维修电话的话,从而优化维修电话的效果和效率。可选的,维护模块232可以基于诊断数据下载定制测试脚本,以便在电器12上运行测试以进一步诊断或消除该问题或故障。图21中的步骤4表示维护模块232与电器12重新连接以执行该测试脚本。
维护模块232的示例性体系在图21A中示出。维护模块232包括一对通信总线,如外部串行总线。根据所示出的实施例,维护模块在一端包括USB236用于连接到个人计算机,而在对立的一端具有RS-232(EIA-232)总线238用于连接到电器12,尤其是连接到驻留在电器内部网络14的各个节点上的软件体系10。维护模块232还包括存储器240,如闪存,用于存储诊断数据、测试脚本和其他数据。闪存240与控制维护模块232的运行的维护逻辑242通信。
图22示出用于维护和诊断电器12的替换硬件体系。该体系类似于图21所示出的体系,只是个人计算机234被电话线244代替,维护模块232适用于连接到电话线244。由此,图22的替换体系更适于没有个人计算机或者个人计算机没有连接到互联网的电器用户。用于获得诊断数据的过程与参照图21所述的相同;但是,不是将维护模块232连接到个人计算机234,用户将维护模块232连接到标准电话插座246,维护模块232通过电话线244自动连接到互联网。
下面参照图22A,用于图22的系统的维护模块232类似于图21A示出的维护模块232,只是USB236被电话线插座248代替,如RJ11插座,该电话线插座用于将维护模块232的调制解调器250与电话线244连接以建立与互联网的连接。
上述维护模块232可以在制造时与电器12一起提供,或在电器12销售期间或售后作为附件销售。其它各种附件模块的类型可以随着电器12一起提供,或者由顾客以后购买以升级电器12。示例性的附件模块可以包括可操作地连接到内部网络14和外部网络202而且可以在安装到电器12上时让用户看到的显示器。显示器可以向用户通报各种数据,包括但不限于诸如运行状态的数据,涉及电器并通过内部网络14上的软件体系10获得的数据,或者通过外部网络202从互联网下载的信息。示例性的附件模块是气象站模块252,其在图23中示出安装在以冰箱的形式示出的电器12上。除了显示与天气有关的信息或可从外部网络202下载的其他信息之外,气象站模块252的显示器还可以包括具有选择区域254的一个或多个触摸板或触摸屏256,用于控制冰箱的各种操作,如控制冰分配和灯,用于访问冰箱的设置如温度。
图24示出分段消息的优选分组结构。这种分组结构优选通报消息有效载荷何时大于底层协议的有效载荷。该分段分组结构前面已经在涉及多有效载荷消息的完整性中描述过;但是在此简要总结如下。在分段消息中,图4所述的标准分组结构优选用在第一片段中。所有后续片段优选使用图24所述的分组结构。这些协议之间的区别在于字节2。
为了分段消息的完整性,Frag标志应当置位。MFP标志(更多的片段)应当置位到分段消息的最后一个片段为止。MID(消息id)为每个分段消息一个处理程序或id,从而防止分开的分段消息融合。FID(片段id)基于分段消息的每个片段一个处理程序或id,从而允许检测丢失的片段。更为深入的解释可以在多有效载荷消息的完整性中找到。
图25提供在图24中讨论的分段协议的示例性操作。该协议的解释可以在多有效载荷消息的完整性中找到。
图26A和26B代表用于查找地址和标识符信息的替换体系,使得可以建立很好形成的消息并发送给图10的软件体系,从而导致在图5的DAQ30中产生事件。如前所述,DAQ引擎30要求变量的存储器地址用于事件注册。图26A示出利用由客户机配置的数据获取机制的例子,其中客户机(计算机或其它客户机)保存将变量名与其存储器位置关联的当前存储器映射。除了标识符(API Id和Op码)之外,该存储器地址也用于构建良好成型的消息,该消息发送给DAQ从而导致DAQ事件的产生。图26示出使用客户机配置的数据获取机制的示例,其中客户机(即另一个控制板)不知道期望的事件变量的存储器地址。在这种情况下,客户机可以利用本发明的内嵌式变量映射功能。由此,客户机只需要提供API Id和Op码,而且不需要在将要发送给DAQ的良好成型的消息中包括变量的存储器地址。因为在这种情况下,DAQ的软件执行获取通过标识符指定的变量的存储器位置的附加任务。一旦获得该存储器位置,DAQ就使用在图26A的前一种情况中引用的相同的函数调用来创建包含在DAQ存储器堆中的DAQ的事件结构阵列的事件结构。
图26A的变量映射信息将变量符号名称与它们在16A的存储器中的地址关联。图26A将变量标识符(API Id和Op码)与它们在16的存储器中的地址关联。替换体系的合理性在于它们支持与可能发现用符号名称(符号名称趋向于有意义,而且传达变量的有用性)工作是有利的人员的交互,以及与软件体系10的其它实例或一些部件16或22或可以与软件体系10交互的其它软件成分交互。在基于软件的交互(非人员交户)中,有利的是不使用符号名称,因为它们的存储器来存储,更多的带宽来发送,以及更多的计算循环来处理。相反可以用数字标识符来代替符号名称。Aa110使用数字标识符API ID和Op码作为符号名称的数字替代符。额外的数字标识可用于API Id的任何有效发生。前一个数字标识足以为驻留在网络14上的每一个部件16提供唯一的索引,后一个数字标识,即额外的标识信息可以利用需要前一个数字标识API Id部分的第二查询来获得。然后组合在一起,API Id和额外的数字标识(后一个)提供了可以表示在软件体系10内的可能软件成分全体中唯一的标识。
图27提供了采用内嵌变量映射的由客户机配置的数据获取机制的使用示例。在此,节点A使用公开知道的API X和Op码Y在节点B上注册链接到期望的事件变量的事件。接着,节点尝试利用API X和Op码Y注册相同事件。由于该API ID和Op码对以前曾由节点A注册过,因此节点C的请求找到拒绝。但是,接着节点C用获得远程变量数据命令从远程(内嵌的)变量映射请求数据。节点B用信息响应,包括期望的变量的存储器地址。节点C接着使用该存储器地址注册事件,但这一次是用不同的API ID和Op码对。
图27还可以被认为是公开了两个涉及在图26B中建议的事件产生的消息情形。第一情形描述了节点A和节点B之间的消息收发,这两个节点都通过内部通信网络14通信,节点B与软件体系10兼容。在第一种情况中,节点B可能同意来自节点A的请求。第二种情形描述了节点A和节点B之间的消息收发,这两个节点都通过内部通信网络14通信而且与软件体系10兼容。在这种情况下,节点B无法同意来自节点C的请求,因为消息3中的API ID和Op码已经由前一个请求分配。在这种情况下,节点B适当响应,导致来自节点C的查询(5),从而导致来自节点B的网络消息(6),其包含允许节点C重新产生图33的相同NVOEvent存储器结构所需要的信息,以及节点B的软件体系10的图33的DynamicMemoryHeap唯一的API ID和Op码。
图28示出由本发明提供的可配置事件通知功能。优选地,事件在默认触发时只通知外部客户机。但是,可能期望该外部通知在有些时候“沉默”而实际上不从DAQ引擎30中去掉事件。此外,可能期望在事件发生时通知软件体系10内的内部应用。由此,本发明提供了这样的功能。如前所述,可以采用DAQ API内的设置外部事件开/关命令来更改外部通知。此外,软件体系10优选提供内部功能来打开和关闭内部通知。图28示出在可能的配置下的事件通知示例。
通过这种方式,本发明可以禁止和重新启动图33的NVOEvent在内部通信网络14上的实现。此外,还可以禁止和重新启动图33的NVOEvent实现为发送给软件体系10的相同软件运行环境16A内的软件成分16B的内部消息。
图29示出本发明中经过确认的事件的功能。在经过确定的事件中,软件体系等待来自客户机的确认消息一段预定的时间,直到处理下个事件为止。如果预定的时间段结束,则执行预定次数的重试。优选地,假定所有事件默认情况下都是未确认。因此,在向客户机发送事件之后,DAQ引擎30立即处理下个事件。但是,一些应用需要确认这些事件以保证消息被事件请求者接收。采用该技术,发送者可以在未接收到确认时重新发送该事件。该确认证明请求者已经接收到该事件。提供经过确认的事件的选择的优选实施例的优点在于,由请求者根据应用需要决定是否需要确认。因此,当请求者在与DAQ30连接的接口中采用由软件体系10提供的机制来产生事件,消息28A包含了提供该事件是得到确认还是未被确认的进一步分类。如图29中的示例所示,在发生确认事件时,软件体系阻断所有其他事件,同时等待来自客户机的确认。如果没有接收到确认,则软件体系10在可配置的时间量之后重新发送该事件。该重试序列将发生可配置的次数,直到最后软件体系停止尝试发送该事件并通过失败的回叫功能通知该应用。
图30示出在本发明中提供的安全特征。由于外部节点执行关键功能可以通过前面描述的协议进行,因此本发明提供了防火墙机制来限制对命令执行的访问。认为是对安全性很关键的命令可以在编译前表格中列出,优选在文件SAVariableMap.h中。命令可以具体列出(具有APIID和Op码)或作为全部API(具有具体的API和Op码=0xFF)列出。在该表格中列出的命令要求在防火墙之后。如图30所示,发明提供了3级安全访问:拒绝访问,授权访问,临时授权访问。
优选地,所有节点默认状态下都以拒绝访问的访问级别开始。在该访问级别中,只允许该节点执行防火墙前面的命令。由此不允许执行防火墙之后的命令(或者在防火墙表格中列出的)。在成功提交永久密码(在公布节点反馈消息的有效载荷中)之后,节点被提升至授权访问的安全级别。在该访问级别中,允许该节点执行防火墙之前以及之后的所有命令。为了进行防火墙之后的临时访问,节点可以成功地提交临时的访问密码(在公布节点反馈消息的有效载荷中)。在该访问级别中,节点访问防火墙之前以及之后的所有命令一段可配置的时间。该时间结束之后,该节点的访问级别回复到其以前的状态。
具体地说,图30设想两个密码,每个密码代表通过命令防火墙的逻辑识别的安全级别。当广播DAQ API的消息即公布SA节点消息时,密码由部件或客户机发送。(参见字节3和4或Op码2)。一个密码代表对认为是在防火墙之后的所有特殊命令进行永久访问。第二密码向认为是在防火墙之后的所有特殊命令授予临时访问。无需密码,客户机可以访问认为是在防火墙之前的所有命令。负责将软件体系10安装到家用电器12的部件16上的工程师确定哪些命令在图30的防火墙之前,哪些命令在该防火墙之后。
图31示出由本发明提供并在图30中示出的防火墙安全的运行的示例。默认的,节点不能访问防火墙之后的命令。由此如图所示,如果不能访问的节点试图执行受到防护的命令,则遭到拒绝。在提交错误的密码之后,受到防护的命令还是被拒绝。只有在成功提交密码之后,才允许该节点执行受到防护的命令。
图32示出软件体系10可以实施的标准公共接口。示出的是ApplicationSpecificAPI,其还由设计者根据该应用的需要配置的有用的功能。还示出与软件运行环境的其它软件成分的关联,软件体系10就与该软件运行环境关联。
图33示出软件体系10的优选实施。示出执行和支持通过图32表示的功能所需要的内部函数和存储器分配。还示出辅助类(CommandHandler,Dynamic Memory Heap,Update Handler,NVOEvent,TimeHandler,WIDECommHandler,MessageParser和AppSpecificCommandHandler),其示出所需要的内部函数和存储器分配的功能分组。还示出辅助类之间的关联。
图34软件体系10的源代码文件的优选组织。
图35示出3个主要状态(COMM_IDLE,COMM_EXPEXTING_ACK和COMM_PENDING)相互之间相关的状态图的集合,每个状态可能具有多个子状态等。在此所代表的功能涉及图33所示的协作关联。其调用也在图11中参照为从软件运行系统的MAIN执行循环调用到软件体系10上的标准接口函数。
软件运行环境6A的MAIN函数(在图33和图11中示出)调用SA类定义中示出的SA_WideComm()(其中SA及其聚合功能是软件体系10)。该函数调用的结果在图35中示出。如图11所示,MAIN在软件运行系统执行时定期调用SA_WideComm()。
图35示出与MAIN的第二次间接交互,这是MAIN对WIDE函数WIDE_EXE()调用的结果。该协作在图11和图35中示出。在这种情况下,WIDE_EXE()函数调用内的WIDE软件运行层14A调用WIDE.BuildData(),后者又调用52中的SA.WideCommHandler.SA_BuildData()。在图35中,该调用在COMM_PENDING状态中示出。该执行路径在当前一状态COMM_IDLE中COMM_IDLE的子状态内的逻辑导致针对WIDE网络14的未决外发消息时进行。如图33所示,该状态变化通过调用函数WIDE.QueueMessage()来实现。该调用导致调用图35的COMM_PENDING状态内包含的逻辑。
图35的COMM_EXPEXTING_ACK状态是最初利用表明所需要的确认的特殊指示符创建的外发事件的结果。如果正在COMM_PENDING状态中运行的事件(也称为更新)需要确认,状态从COMM_PENDING变为COMM_EXPEXTING_ACK。在这种情况下,通过重新进入COMM_PENDING状态来重新发送该事件,如果暂停时间结束而又没有接收到期望的确认消息的话。该过程要一直重复到接收到确认或者超过可配置的重试参数(MAX_EVEVT_RETRY,每次重新发送事件时该参数都增加)为止。
图36示出相互之间相关的状态图的集合。示出4个主要状态(READY,TRANSMIT SNAPSHOT,UPDATES_BLOCKED,PROCESS_DAQ_EVENTS)。在此表示的功能涉及图33所示的协作关联。其调用也在图11中引用为从软件运行环境的MAIN执行循环11调用到软件体系10上的标准接口函数之一。
图36表示的功能的目的是估计图33的结构(NVOEvent)31,以确定是否发生了发送事件的条件,收集该条件,并设置合适的标志(Updates_Pending和Bounded Updates),从而在35的状态机执行时,由DAQ30检测到的事件条件实现为到WIDE总线14上的WIDE分组24.
图37示出两个主要状态(MSG_READY和MSG_PROCESS)。在此代表的功能涉及图33所示的协作关联,其中WIDE调用SA.WideCommHandler.SA.AcceptData()。调用这些状态机也在图11中引用为从软件运行环境的MAIN执行循环11调用到软件体系10上的函数,其中MAIN调用SA.SA_ProccessIncomingEvents()。这些相互之间相关的状态机管理到来命令的执行,响应请求,和处理事件。
图38示出执行软件运行环境的图33中的类的消息的有序集合。这些消息代表针对在图39、40、41和42中标记为“发送WIDE消息”的共用逻辑集的执行逻辑。从MAIN和WIDE(通过WIDE_WXE())的调用在图11示出。
图39示出执行软件运行环境的图33中的类的消息的有序集合。这些消息代表在包含软件体系10的软件运行环境内的交互。来自MAIN的调用在图11中示出。该图示出向DynamicMemoryHeap添加良好成型的NVOEvent存储器结构所需要的消息收发。
图40示出软件运行环境的图33中的类的消息的有序集合。这些消息代表在包含软件体系10的软件运行环境内的交互。该图示出图37的消息执行。来自MAIN的调用在图11中示出。由该图代表的功能的目的是估计在DynamicMemoryHeap内获得的NVOEvent存储器结构,收集这些存储器结构及其事件触发判断标准得到满足的合适的数据值,并保证为了通知其他客户机16/22满足该触发器判断标准的NVOEvent和关联的数据值的目的,分组24实现到内部通信网络14上。
图41、42、43为了处理来自网络14的到来命令(NVO)的目的示出软件运行环境的图33中的类的消息的有序集合。这些消息代表包含在软件体系10的软件运行环境中的交互。从MAIN和WIDE(通过WIDE_WXE())的调用在图11示出。在下面各段中单独描述的图代表用于执行的替换路径的3种情况。
图41示出处理来自客户机22/16的从内部通信网络14到来的消息所需要的消息收发,该客户机不需要包含有意义数据的响应[Command-NotReponse],而包含发送到来消息的成功或失败原因的响应(API ID=1,Op码=1的ACK或NAK)。
图42示出处理来自客户机22/16的从WIDE总线14到来的消息所需要的消息收发,该客户机需要多个包含有意义数据的响应消息[Commmand-MultipleResponseRequired]以及发送到来消息的成功或失败原因的响应(API ID=1,Op码=1的ACK或NAK)。
图43示出处理来自客户机22/16的从内部通信网络14到来的消息所需要的消息收发,该客户机需要一个包含有意义数据的响应消息[Commmand-SingleResponseRequired]以及发送到来消息的成功或失败原因的响应(API ID=1,Op码=1的ACK或NAK)。
分类控制
是用新的控制装置来控制电器的典型现有技术方法是使该新控制装置的软件部件复制电器控制器的逻辑,使得新的控制装置不会疏忽地请求电器控制器的软件部件执行不能进行的操作。该现有技术方法还需要电器和新控制装置之间涉及电器的当前状态的通信。该现有技术方法是低效的,因为它要求复制新控制和装置和电器控制器上的逻辑。此外,该现有技术方法要求每次将电器控制器引入新的控制装置中时都必须写入新软件。
控制分类的目的是要避免要求复制控制装置和受控电器中的两个交互软件部件之间的软件逻辑(通常称为业务逻辑)。具体地说,这允许控制装置中的命令发生器很容易控制电器而除了控制分类本身之外不需要任何关于正在受到控制的电器的信息。这可以实现“通用”控制装置的引入以控制新的电器,将控制装置适用于新提供的循环或加入电器中的功能,并让电器在提供不同的运行循环或功能的运行模式之间切换。还控制电器更容易让用户使用,因为只需要向用户展现当前可由该电器提供的选择。
本发明使用结构化的分类数据集来有效地告知控制装置控制装置所需要的信息,以便为电器产生格式良好的(well formed)命令。在此使用的格式良好的命令是有意义而且可由电器执行的命令。数据集传送的信息包括执行该格式良好的命令所需要的选项和数据输入的分层结构。在优选实施例中,还包括语义或上下文信息,用于以文字或图标的形式通报可获得的选项,从而用户可以理解可获得的选择并输入合适的数据。这优选通过与任意或非用户友好的标识元素关联的数据集内的标记来完成。这使得必须解释和处理分类的软件部件的逻辑与分类在用户接口上的呈现分离(如外语,标签,单位)。
参照图44,其概括性地示出本发明的改进的控制结构和方法,受控的电器12具有软件部件2 16B,该软件部件包括电器控制器和状态发生器。用于控制电器的控制装置16、22具有软件部件1 16B,该软件部件包括命令发生器、选择创建器和状态解释器。控制装置16、22可以是可编程用户接口如pda、web写字板、小区电话、连接到电器或客户机装置的LCD。
设置在电器控制器16和逻辑中的分类体系可替换的设置在远程位置,如设置在控制装置或互联网上。分类体系包括分类发生器、分类引擎、分类翻译器和分类结构。分类体系产生定义分类能力的分类数据集,其有助于:通过软件部件1产生格式良好的命令,该命令可以通过分类引擎和可选的通过分类翻译器转换为由软件部件2执行的其他格式良好的命令;通过软件部件1产生用户接口内容;在呈现给用户接口之前验证状态信息。每个部件及其相互关系都在下面详细描述。
分类数据集的产生
分类数据集从电器控制器16的运行功能中产生,该电器控制器16按照允许软件部件1中的命令发生器解释该数据集以完成几种结果的方式构成。具体地说,分类引擎有时使用分类结构和状态察觉信息来产生反映可由电器提供给当前可由电器获得的命令的统一选项的子集的分类数据集。
例如,分类数据集描述由软件部件16B支持的可获得函数,每个函数变量,以及数据结构中每个变量的有效值。此外,分类数据集定义反馈变量的有效值。由于这在数据结构中,因此它可以按照需要发送和重新发送给客户机16或22。由于运行循环发展和可获得的命令或者该命令的变量的有效值改变,分类数据集发生改变。此外,当运行循环从Idle(空闲)开始发展时,额外的命令可以提供出来或者变得无效。
具体地说,选择创建器注册分类管理器以接收给予新分类引擎的通知。为了响应,分类管理器将对所有已知分类引擎的引用发回选择创建器。然后选择创建器从每个分类引擎请求分类功能数据集。分类引擎评估包括软件部件2的控制器逻辑分类结构或可替换地评估用于产生分类功能数据集的文档。然后选择创建器配备适用于应用结束点(应用结束点的示例是用于控制或维护或其他中间应用层如能量控制器或家庭自动化模式如休假或晚安的用户接口)的一组伪命令结构,这些命令是选项的分层结构,并且将这些结构传递给应用结束点,从而允许应用结束点得到配置。替换的,选择创建器可以直接配置应用结束点。
数据集的通信和使用
当控制装置与电器联网时,分类管理器在软件部件1和分类体系之间建立关系,以允许命令发生器查询分类数据集是否存在,向软件体系1提供对分类数据集的访问,并允许命令发生器和状态解释器定购分类数据集更新。分类翻译器是可选的部件,如果软件部件1和2没有被设计为与分类数据集的相同实施例共同使用,则分类翻译器就在软件部件1和2之间翻译分类数据集。
将分类数据集传送给软件部件2的控制器以及软件部件1的选择创建器。可选的,分类翻译器将分类数据集翻译为命令发生器的不同的示意定义。
命令发生器使用分类数据集来建立和填充一组可由用户接口或其它客户机应用选择的命令结构,包括一组有效命令、该命令的有效变量、每个变量的有效值。具体地说,命令发生器使用分类数据集建立一个或多个格式良好的命令,然后可以将该命令发送给控制器。由于分类数据集可以在不同的时刻由分类引擎复位并发送,或者该数据集可以通过来自分类引擎的修改而更新,因此软件部件1可以具有当前的命令结构组,然后该命令结构组可由用户接口或其他客户机应用选择。
由此实际上通过采用分类体系,软件部件2或其代理(分类引擎)向软件部件1通报可以由软件部件1解释的规则集,从而软件部件1不请求软件部件2的其自身无法供给的东西,并且不对设置为无效值的状态变量进行操作。
在应用结束点可以开始执行之前,应用结束点用状态解释器请求或注册状态更新。这将使得在执行逻辑之前以及在用户接口部件交付之前,应用结束点可以具有来自状态发生器的有效状态变量。状态解释器将处理分类正确的状态数据集,并根据分类功能数据集验证这些数据集。状态解释器通过分类引擎请求或注册来自软件部件2的状态发生器的状态更新。在接收到分类正确的状态时,状态解释器向应用结束点提供新的状态值。
应用结束点执行,从而导致软件部件2的当前状态的提交以及可选择的伪命令结构的提交。每次从伪命令结构中选择时,选择创建器都填充在分类功能数据集中找到的一组有效的子命令,这组子命令适用于由应用结束点进一步选择。在结束选择时,包含所有伪命令的结构被传递给命令发生器。
命令发生器建立分类正确的格式良好的命令并且可选地通过分类翻译器,通过分类引擎在软件部件2的控制器上调用该命令。
执行
将格式良好的命令传送给电器的控制器并由电器执行。
典型的,该命令将导致软件部件2的有关存储器发生状态变化,该状态变化会触发由状态发生器创建的状态更新,并导致应用结束点的新的状态提交。状态的变化导致新的功能分类或者可以替代原始功能分类的一部分的部分功能分类。新的功能分类导致一组不同的有效选择用于控制软件部件2的运行循环。
验证
状态解释器使用分类数据集从状态发生器验证由分类引擎或翻译器发送的状态更新。此外,作为分类数据集的来源的分类结构,允许控制器根据该结构完全验证到来的命令,而无需数据集之外的附加逻辑。例如,分类结构可以在概念上认为是一个或多个判决树,分类的每一级形成不同的判决分支或一组判决分支,每个选项和/或数据输入可以形成不同的级别。电器的运行循环要求用户在形成格式良好的命令时选择该选项和/或数据输入。这些选择可以与判决树相比较以确认每个循环、循环属性或循环选项都在判决树的合适分支内。如果期望的运行循环、属性和选项没有在该命令中,则表明该命令含有错误。分类结构由此用于向用户接口填充可用的、针对电器的给定状态的选项和数据输入,而且也用作验证所产生的命令的逻辑。
分类数据集是作为对象或软件结构的分类结构的数据代表。分类数据集包含所有针对电器当前状态的可用的命令、选项和设置,以及当前状态时的所有有效状态值。例如,电器包括通过内部网络互连的多个部件。每个部件可以具有一个或多个装置。每个装置具有一个或多个功能,每个功能具有一个或多个设置。所有装置的所有功能都不必在电器的每个状态时可用。这样,分类数据集包括针对当前可用的所有装置的所有选项和数据输入。
图45-48示出在微波炉的用户接口16、22的环境中的分类控制的示例,该分类控制具有表明电器12当前状态下可用的功能的分类数据集。用户可以从该数据集的参数中选择以形成格式良好的命令,该命令将被发布以用于控制电器12的操作。
图45示出选项和数据输入的可用分层结构。该分层结构的顶级从循环100开始,其示出具有煮、解冻、煮马铃薯、蒸煮、自动重新加热和餐盘作为示例。用户必须从顶级中选择一个选项。
一旦用户从顶级中进行了选择,该分层结构的基于顶级选择的下一级就呈献给用户。在图46中,用户选择了“煮”选项,用户接口然后以时间102和功率电平104的形式显示可用于该选项而且是形成格式良好的命令所需要的数据输入。
图47示出顶级的选择暴露了子集的选项。在图47中,选择解冻,这呈现出子集类型“肉”106.用户必须选择合适的肉选项来完成格式良好的命令。数据输入以重量108和解冻电平110的形式呈现,而且必须选择以完成格式良好的命令。
一旦用户从用户接口可访问的分类数据集中选择了这些选项和数据输入,命令发生器就形成格式良好的命令并发送给电器的部件上的软件部件2以便于实行。这仅在格式良好的命令经历了验证过程之后才进行。软件部件2的控制器和逻辑使用该格式良好的命令控制装置的操作以实行该格式良好的命令。
分类数据集和格式良好命令的创建证明是有用的。图45的微波炉的公开了多个烹饪循环的分类数据集的创建是由选择创建器根据分类功能数据集建立的,该分类功能数据集用XML显示如下:
 <device id=″microwave″label=″Microwave Oven″>
         <device id=″ovenCavity″label=″Microwave Oven″>
                  <char name=″cycle″label=″Cycle″default=″timedCook″>
                         <setting name=″timedCook″label=″COOK″/>
                                  <char name=″turntable″label=″Turntable″default=″on″>
                                         <setting name=″on″label=″ON″/>
                                 <setting name=″off″label=″OFF″/>
                         </char>
                                 <range name=″duration″label=″Duration″default=″30″
                                 units=″seconds″max=″6039″min=″60″inc=″1″/>
                              <range name=″power″label=″Power Level″default=″100″
                              units=″%″max=″100″min=″50″inc=″10″/>
             </setting>
             <setting name=”jetdefrost”label=”Jet Defrost”/>
                      <char name=foodType label=”Food Type”/>
                             <setting name=″poultry″label=″POULTRY″/>
                             <setting name=″meat″label=″MEAT″/>
                             <setting name=″fish″label=″FISH″/>
                      </char>
             </setting>
                |
                |
                |
                etc
               </char>
       </device>
 </device>
如果图45的微波炉的用户选择用“转盘打开”在90%功率时“煮”30秒,分类计划的格式良好命令将可选地传送给分类翻译器和分类。命令形式为:
  <command id=″microwave″>
   <device id=″ovenCavity″>
    <sequence>
      <step id=″21″>
         <char name=″cycle″setting=″bake″/>
         <char name=″power″setting=″90″/>
  <char name=″duration″setting=″30″/>
  <char name=″turntable″setting=″on″/>
       </step>
     </sequence>
   </device>
  </command>
分类引擎接着穿越分类结构以便将分类计划的格式良好命令转换为分组结构28的软件部件2的控制器的格式良好命令。分类结构是分类功能数据集的超集。对于上述每个可指明的命令要素(即,循环,功率,持续时间和转盘),都在分类结构内关联形成有效载荷28A所需要的附加的关键字和值的集合。这些关键字包括API Id,Op码,以及有效载荷28A中的位置索引,其中位置索引可以是字节偏移量或位偏移量。
分类数据集可以建立为直接代表软件体系10的API的可能命令领域,从而为维修、工厂或实验室工程师或技师提供有用功能。
虽然结合具体的实施例描述了本发明,可以理解这只是举例而不是限制,所附权利要求的范围应当与现有技术允许的范围一样宽。

Claims (211)

1.一种系统,包括:
由有用软件动态产生的存储器堆,其中所述存储器堆包括多个事件结构,每个事件结构包括至少一个指向该事件结构外部的存储器的指针、至少一个事件运算符和至少一个变量,和
数据获取引擎,被配置为查找存储器堆,基于所述至少一个指针、至少一个操作符和至少一个变量估计事件条件是真还是假,并在发现真条件时产生通知消息。
2.根据权利要求1所述的系统,包括与所述存储器堆关联的存储器,并且所述存储器堆在编译时被分配在相关联的存储器中。
3.根据权利要求2所述的系统,包括在运行时产生事件结构的软件体系。
4.根据权利要求3所述的系统,其中软件体系产生每个具有唯一标识的事件结构。
5.根据权利要求3所述的系统,其中软件体系驻留在与相关联的存储器通信的通信网络上,并且软件体系产生消息并将该消息通过该通信网络发送到该相关联的存储器以形成事件结构。
6.根据权利要求5所述的系统,其中软件体系包括产生消息的应用程序接口(API)。
7.根据权利要求6所述的系统,其中通信网络包括多个节点,其中API驻留在至少一个节点上。
8.根据权利要求7所述的系统,其中通信网络包括到电器的内部通信网络。
9.根据权利要求8所述的系统,其中节点包括驻留有API的电器的部件。
10.根据权利要求8所述的系统,其中通信网络包括电器外部的节点。
11.根据权利要求1所述的系统,其中每个事件结构具有唯一的标识。
12.根据权利要求10所述的系统,包括:
控制软件,被配置为通过一系列步骤控制装置系统,以执行有用运行循环,其中该控制软件产生事件结构。
13.根据权利要求12所述的系统,其中通知消息更改控制程序的运行。
14.根据权利要求1所述的系统,还包括具有多个节点的网络,其中存储器堆与网络相关联。
15.根据权利要求14所述的系统,其中所述网络包括用于电器的内部通信网络,并且实现对电器操作的控制。
16.根据权利要求15所述的系统,其中所述网络包括内部通信网络外部的节点,而且通知消息被发送到该网络上的节点。
17.根据权利要求16所述的系统,其中通知消息在回叫功能中被调用。
18.根据权利要求14所述的系统,其中存储器堆驻留在一个节点上,并且数据获取引擎驻留在另一节点上。
19.根据权利要求18所述的系统,其中至少一个节点通过网络发送配置消息,以在存储器堆中创建事件结构。
20.根据权利要求19所述的系统,其中所述配置消息使得节点能够在接收到通知消息后发送确认消息。
21.根据权利要求1所述的系统,其中数据获取引擎被配置为使得通知消息可以被选择性地置于禁用状态或使能状态。
22.根据权利要求21所述的系统,其中在通知消息的状态变化时,相应的通知消息被发送到网络上。
23.根据权利要求1所述的系统,其中事件运算符包括以下中至少一个:大于,小于,等于,正在改变,死带,位掩码。
24.根据权利要求1所述的系统,其中数据获取引擎被配置为响应于至少一个所述事件条件产生通知消息。
25.根据权利要求24所述的系统,其中数据获取引擎被配置为响应于多个事件条件产生通知消息。
26.根据权利要求1所述的系统,其中数据获取引擎在产生通知消息之前评估所有事件结构。
27.根据权利要求1所述的系统,还包括观察者引擎,用于评估由数据获取引擎所产生的通知消息,以确定不止一个事件的累积效应。
28.一种控制系统,包括:
控制软件,被配置为通过一系列步骤控制装置系统,以执行有用运行循环,
由该控制软件动态产生的存储器堆,该存储器堆包括多个事件结构,每个事件结构包括至少一个指向该事件结构外部的存储器的指针、至少一个事件运算符和至少一个变量,和
数据获取引擎,适于在控制软件运行时查找存储器堆,并被配置为基于所述至少一个指针、至少一个操作符和至少一个变量来估计事件条件是真还是假,并在发现真条件时产生可配置的通知消息。
29.根据权利要求28所述的控制系统,包括与所述存储器堆关联的存储器,并且所述控制软件在控制软件编译时在相关联的存储器中分配存储器堆。
30.根据权利要求28所述的控制系统,其中控制软件包括产生事件结构的应用程序接口(API)。
31.根据权利要求30所述的控制系统,其中每个事件结构具有由控制软件在运行时分配的唯一标识。
32.根据权利要求28所述的控制系统,其中响应于可配置的通知消息改变控制软件的运行。
33.根据权利要求32所述的控制系统,其中响应于多个事件条件产生至少一个通知消息。
34.一种数据获取方法,包括:
查找具有至少一个存储器指针、事件运算符和变量的条件参数的事件结构的存储器堆;
通过为事件结构评估条件参数,识别评估为真的事件条件;和
在发现真条件时,产生通知消息。
35.根据权利要求34所述的方法,其中在编译时分配存储器堆。
36.根据权利要求34所述的方法,其中在运行时,根据至少一个网络消息创建事件结构。
37.根据权利要求34所述的方法,其中存储器堆与具有内部网络的电器的控制程序相关联。
38.根据权利要求37所述的方法,其中通过与控制程序相关联的应用程序接口产生事件结构。
39.根据权利要求37所述的方法,其中响应于通知消息改变控制程序的运行。
40.根据权利要求37所述的方法,其中通知消息通过内部网络被发送到外部网络。
41.根据权利要求34所述的方法,其中每个事件结构具有唯一标识符。
42.根据权利要求34所述的方法,其中通知消息通过具有多个节点的网络被发送。
43.根据权利要求42所述的方法,其中通知消息通过所述网络被发送到所述多个节点中的一个节点。
44.根据权利要求34所述的方法,其中通知消息在回叫功能上被调用。
45.根据权利要求34所述的方法,并且选择性地使能和禁用通知消息的产生。
46.根据权利要求45所述的方法,在选择性地使能和禁用通知消息时,发送所述通知消息。
47.根据权利要求34所述的方法,其中条件参数的评估包括应用从以下列表中所选择的事件运算符:大于,小于,等于,正在改变,死带,位掩码。
48.根据权利要求34所述的方法,其中在为多个事件结构评估条件参数之后进行通知消息的产生。
49.根据权利要求34所述的方法,包括评估多个通知消息,以确定多个事件结构的累积效应。
50.一种通过一系列步骤控制装置系统以执行有用运行循环的方法,该方法包括以下步骤:
运行控制程序,以通过一系列步骤指示装置的运行,
在控制程序运行期间动态地产生存储器堆,该存储器堆包括多个事件结构,每个事件结构具有包括与事件相关的至少一个指向该事件结构的外部存储器指针、至少一个事件运算符和至少一个变量的条件参数,
通过在控制软件运行期间查找结构的存储器堆,并为事件结构评估条件参数,识别被估计为真的事件条件,和
在发现真条件时产生可配置的通知消息。
51.根据权利要求50所述的方法,包括在控制程序运行期间向每个事件结构分配唯一的标识符。
52.根据权利要求50所述的方法,包括响应于通知消息,更改控制程序的运行。
53.根据权利要求50所述的方法,选择性地使能和禁用通知消息的产生。
54.根据权利要求50所述的方法,包括评估多个通知消息,以确定多个事件结构的累积效应。
55.一种网络系统,包括:
定义通信网络的多个互连节点,其中至少一个节点被配置为通过该通信网络发送消息,并且至少一个节点被配置为通过该通信网络接收消息;
来自预定的标识符组的至少一个标识符与每个节点相关联,并只标识可用于该节点的功能性;
其中至少一个节点通过经该通信网络发送的消息来传送所述至少一个标识符,用于由至少一个节点接收,由此通过该通信网络公布功能性。
56.根据权利要求55所述的网络系统,其中节点包括从包括以下内容的列表中所选择的部件:传感器、分配器、光、过滤器、电机、除霜器、加热器、电梯、螺线管、继电器、冷却器、电机控制器、键区控制器和用户接口。
57.根据权利要求55所述的网络系统,其中通信网络被配置为与其它网络通信。
58.根据权利要求55所述的网络系统,其中所述预定的标识符组是可配置的。
59.根据权利要求55所述的网络系统,其中可用于标识符的功能性是可配置的。
60.根据权利要求59所述的网络系统,其中可通过为标识符分配新功能来配置功能性。
61.根据权利要求59所述的网络系统,其中可动态配置功能性。
62.根据权利要求55所述的网络系统,其中标识符除了功能性之外还表明含义。
63.根据权利要求62所述的网络系统,其中含义可以被重新分配。
64.根据权利要求62所述的网络系统,其中含义可以根据网络而变化。
65.根据权利要求62所述的网络系统,其中标识符的含义在节点之间变化。
66.根据权利要求55所述的网络系统,其中至少一个节点通过在网络上公布的标识符阵列而确定自己的身份。
67.根据权利要求66所述的网络系统,其中标识符阵列被存储在与该至少一个节点相关联的存储器中。
68.根据权利要求55所述的网络系统,其中至少一些标识符包括关于标识符的唯一信息。
69.根据权利要求68所述的网络系统,其中唯一信息在整个网络上唯一地标识标识符。
70.根据权利要求68所述的网络系统,其中唯一的信息在整个网络上唯一地标识节点。
71.根据权利要求68所述的网络系统,其中唯一信息在整个标识符组上唯一地标识标识符。
72.根据权利要求55所述的网络系统,还包括同一节点上标识符的多个实例,其中每个实例包括用于唯一地标识每个实例的唯一信息。
73.根据权利要求72所述的网络系统,其中附加标识符是被产生和分配的标识符。
74.根据权利要求55所述的网络系统,其中与被配置为接收消息的节点的功能性相关联的标识符被用于寻址用于接收消息的节点。
75.根据权利要求55所述的网络系统,其中消息从包括以下内容的列表中选择:使用功能性的命令,对与功能性相关的信息的请求,对请求消息的响应,接收到命令的确认。
76.根据权利要求75所述的网络系统,其中对信息的请求包括请求标识符的请求消息。
77.根据权利要求76所述的网络系统,还包括响应于请求消息的响应消息,用于确认至少一个标识符与至少一个节点的相关性。
78.根据权利要求77所述的网络系统,其中包含所请求的标识符的响应消息包括所请求的标识符的实例的数量。
79.根据权利要求74所述的网络系统,其中对信息的请求寻找以下中至少一个:指定标识符的相关性的确认,与至少一个节点相关的多个标识符的识别,与指定节点相关的所有标识符的识别。
80.一种用于可操作地协作地执行有用运行循环的装置系统的网络系统,该网络系统包括:
多个节点,其中每个节点与至少一个装置相关联,至少两个所述节点适于发送消息,并且至少两个节点适于接收消息;
预定的标识符范围;
来自所述预定的标识符范围的与每个节点相关联的至少一个标识符,用于标识哪些功能性可用于与该节点相关联的装置。
81.根据权利要求80所述的网络系统,其中多个装置的集合包括电器。
82.根据权利要求80所述的网络系统,其中多个装置的集合包括多个联网电器。
83.一种识别具有多个节点的网络中的节点的方法,其中每个节点具有预定标识符组中至少一个标识符,每个标识符标识可用于该节点的至少一个功能性,该方法包括:
至少一个节点通过该网络发送配置为查询该预定标识符组中至少一个标识符是否存在的消息,
至少一个其它节点发送确认在该至少一个其它节点上存在该至少一个标识符的反馈消息。
84.根据权利要求83所述的方法,其中节点忽略查询不可用标识符是否存在的消息。
85.根据权利要求84所述的方法,其中所述节点通过不响应于所述消息发送反馈消息来忽略所述消息。
86.根据权利要求83所述的方法,其中消息可以被广播到所述节点中一个、一些或全部。
87.根据权利要求86所述的方法,其中消息针对特定节点。
88.根据权利要求86所述的方法,其中如果查询不可用标识符的消息被广播到不止一个节点,则节点忽略该消息。
89.根据权利要求83所述的方法,其中所述消息是请求信息的发现查询,所述反馈消息是包含该发现查询所请求的信息的网络消息。
90.根据权利要求89所述的方法,其中反馈消息被发送到所述节点中的一个、一些或全部。
91.根据权利要求90所述的方法,其中反馈消息指向发送发现查询的节点。
92.根据权利要求83所述的方法,其中反馈消息涉及估计网络完整性、使能动态网络行为、配置节点之间交互中至少一个。
93.根据权利要求83所述的方法,其中每个标识符代表一组公共功能性。
94.根据权利要求93所述的方法,其中所述消息可以请求涉及标识符的至少一个功能性的信息以及关于该标识符的信息。
95.根据权利要求94所述的方法,其中标识符通过驻留在节点上的软件模块来实施,所述消息请求关于该软件模块的功能性以及该软件模块的身份的信息。
96.根据权利要求83所述的方法,其中通过新节点广播节点活动消息而启动消息的发送。
97.根据权利要求83所述的方法,其中节点可以发送向任何其它节点请求以下至少一项的消息:所支持的功能标识符中一个、一些或全部,和唯一的标识符信息。
98.根据权利要求83所述的方法,其中反馈消息包括所请求的标识符存在的实例的数量。
99.根据权利要求98所述的方法,其中发送消息的节点可以响应于反馈消息发送复文消息,以请求用于唯一地识别节点处标识符的重复实例的附加标识信息。
100.一种识别具有形成通信网络的多个互连节点的电器中的节点的方法,其中至少一些所述节点具有对应的部件,其中所述部件可操作地通过通信网络耦接以协作地执行有用运行循环,每个节点具有预定标识符组中的至少一个标识符,每个标识符标识可用于对应部件的至少一个功能性,该方法包括:
至少一个节点通过该网络发送被配置为查询该预定标识符组中至少一个标识符是否存在的命令,
至少一个其它节点发送确认在该至少一个其它节点上存在该至少一个标识符的反馈消息。
101.根据权利要求100所述的方法,其中消息可以被广播到所述节点中的一个、一些或全部。
102.根据权利要求100所述的方法,其中所述命令是请求信息的发现查询,所述反馈消息是包含该发现查询所请求的信息的网络消息。
103.根据权利要求100所述的方法,其中反馈消息涉及估计网络完整性、使能动态网络行为、配置节点之间交互中至少一个。
104.根据权利要求100所述的方法,其中标识符通过驻留在部件上的软件模块实施,所述命令向该软件模块请求该部件的功能性的信息以及该软件模块的身份。
105.根据权利要求100所述的方法,其中通过新节点广播节点活动消息而启动命令的发送。
106.根据权利要求100所述的方法,其中节点可以发送向任何其它节点查询以下至少一项的命令:所支持的功能标识符的一个、一些或全部,以及唯一标识符信息。
107.根据权利要求100所述的方法,其中反馈消息包括所请求的标识符存在的实例的数量。
108.根据权利要求100所述的方法,其中发送命令的节点可以响应于反馈消息发送复文命令,以请求用于唯一地标识节点处标识符的重复实例的附加标识信息。
109.一种用于控制具有至少两个运行模式并通过通信网络连接以形成协作节点网络的多个装置的系统,该系统包括:
第一软件运行层,被配置为响应于在网络上发送的消息,在第一运行模式下控制至少一个装置的运行,
第二软件运行层,被配置为响应于在网络上发送的消息,在第二运行模式下控制至少一个装置的运行,其中第二运行层与第一运行层提供消息与装置运行之间不同级别的干预。
110.根据权利要求109所述的系统,其中第一和第二软件运行层允许通过消息对装置进行不同级别的控制,以提供不同级别的干预。
111.根据权利要求110所述的系统,其中第二软件运行层允许至少一个装置在第一运行层阻止该装置运行的条件下运行。
112.根据权利要求111所述的系统,其中第一软件运行层在第二软件运行程允许直接控制该装置时不允许直接控制所述多个装置中的至少一个装置。
113.根据权利要求109所述的系统,其中第一软件运行层只允许所述装置按照执行预定运行循环的方式运行。
114.根据权利要求113所述的系统,其中第二软件运行层允许装置在至少一个附加运行循环下运行。
115.根据权利要求114所述的系统,其中附加运行循环是以下中至少一个:演示循环;开发循环;检错循环;诊断循环;减小一个预定运行循环的至少一个定时步骤的时间的循环;绕过一个预定运行循环的至少一个可操作步骤的循环;用定时步骤替换对一个预定运行循环的事件进行响应的步骤的循环;将下层API暴露给网络的循环。
116.根据权利要求109所述的系统,还包括至少一个内部和外部客户机,其被配置为产生用于在第一和第二运行模式之间改变运行模式的消息。
117.根据权利要求109所述的系统,其中第一和第二软件运行层中至少一个执行装置的协作运行,以完成一系列相关步骤来完成预定操作。
118.根据权利要求117所述的系统,其中装置是从包括传感器、分配器、过滤器、电机、加热器和冷却器的列表中选择的。
119.根据权利要求117所述的系统,其中所述多个装置中至少一个子集全都位于一个电器中。
120.根据权利要求117所述的系统,其中所述多个装置包括多个联网的电器。
121.根据权利要求109所述的系统,其中网络包括内部网络和外部网络中至少一个。
122.根据权利要求121所述的系统,其中第二运行模式将第一软件运行层暴露给外部网络。
123.根据权利要求109所述的系统,其中第一和第二运行模式中的一个包括本地运行模式,第一和第二运行模式中另一个包括远程运行模式。
124.一种用于控制通过通信网络连接的多个装置以定义可操作地在运行循环中执行一系列步骤的机器的控制系统,该控制系统包括:
用户接口,被配置为从用户接收用于从多个运行循环中选择一个运行循环的输入;
与网络隔离的第一系统元件,被配置为控制该机器以实施所选择的运行循环,以定义第一控制状态;
暴露给网络的第二系统元件,被配置为通过网络控制该机器以实施所选择的运行循环,从而定义第二控制状态。
125.根据权利要求124所述的控制系统,其中网络包括具有多个节点的内部网络,至少一个节点具有一个或多个功能单元,每个功能单元代表一组公共功能性。
126.根据权利要求125所述的控制系统,其中至少一个功能单元实行对所述多个装置中至少一个装置的下层电输入和输出中的至少一个的控制。
127.根据权利要求124所述的控制系统,其中第二系统元件包括驻留在至少一个装置上的软件引擎,而且该软件引擎暴露通过网络发送的网络消息以实行第二控制状态。
128.根据权利要求127所述的控制系统,其中软件引擎暴露封装在网络消息中的命令,其中该命令用于实行第二控制状态。
129.根据权利要求124所述的控制系统,其中绕过至少一个验证和安全校验,以便向第二系统元件提供对至少一些所述装置的下层功能性的控制。
130.根据权利要求124所述的控制系统,其中第二系统元件可以响应于网络消息而将该机器从第二控制状态中移除。
131.一种控制系统运行的方法,包括:
产生代表格式良好命令组的分类数据集;
利用分类数据集,从该格式良好命令组中产生格式良好命令;
响应于所产生的格式良好命令,控制系统的运行。
132.根据权利要求131所述的方法,其中通过与系统相关联的网络上的至少一个节点完成产生分类数据集和产生格式良好命令中至少一个。
133.根据权利要求132所述的方法,其中至少一个节点是多个用于形成机器的内部网络的互连节点中的一个。
134.根据权利要求131所述的方法,其中控制系统的运行包括由从以下中所选择的控制器控制系统:节点上的控制器,系统网络内且内部网络外部的控制器,外部控制器。
135.根据权利要求134所述的方法,还包括向控制器发送格式良好命令的步骤。
136.根据权利要求131所述的方法,其中分类数据集指示从可允许用于控制系统的命令与控制系统所需要的命令中所选择的命令。
137.根据权利要求131所述的方法,其中分类数据集通过多个分类级别定义,其中至少一个分类级别指示至少一个所需要的判定。
138.根据权利要求137所述的方法,其中判定是以下中至少一个:选项的选择或拒绝,输入值设置,从多个可能的选项中选择一个选项。
139.根据权利要求138所述的方法,其中选项选自一组可用于系统的运行循环的选项。
140.根据权利要求131所述的方法,其中通过用于控制系统的至少一部分运行的控制器产生分类数据集。
141.根据权利要求140所述的方法,其中控制器基于以下因素中至少一个产生分类数据集:当前运行的类型,当前运行的状态,当前运行的任何可操作限制。
142.根据权利要求140所述的方法,其中控制器根据以下中至少一个产生分类数据:当前可应用的资源限制,当前可应用的安全限制,用户偏好,时间限制。
143.根据权利要求131所述的方法,还包括向至少一个命令发生器发送分类数据集。
144.根据权利要求143所述的方法,还包括向多个命令发生器发送分类数据集。
145.根据权利要求144所述的方法,其中控制系统运行的步骤包括从所述多个命令发生器中至少一个控制系统。
146.根据权利要求145所述的方法,其中系统包括内部网络,至少第一命令发生器位于内部网络内,第二命令发生器位于内部网络之外。
147.根据权利要求143所述的方法,其中至少一个命令发生器选自:控制面板上的用户接口,外部用户接口,用户接口,资源管理系统,家庭自动化系统,共享资源的其他系统,执行相关操作的其它系统。
148.根据权利要求143所述的方法,其中命令发生器发送运行至少两个系统的命令。
149.根据权利要求143所述的方法,其中分类数据集作为多个消息被发送到命令发生器。
150.根据权利要求131所述的方法,还包括步骤:向提供用于引导用户产生格式良好命令的用户反馈的用户接口装置发送分类数据集。
151.根据权利要求150所述的方法,其中用户反馈包括通知用户选项不可用。
152.根据权利要求131所述的方法,其中重复执行产生分类数据集的步骤。
153.根据权利要求131所述的方法,还包括周期地产生分类修改消息的步骤。
154.根据权利要求131所述的方法,还包括验证格式良好命令的步骤。
155.根据权利要求154所述的方法,其中验证格式良好命令的步骤选自:验证命令的接收,验证命令是格式良好的,验证命令的执行。
156.根据权利要求131所述的方法,其中分类数据集的产生包括集合多个可允许用于格式良好命令的命令分量。
157.根据权利要求156所述的方法,其中格式良好命令的产生包括将命令分量集合成格式良好命令。
158.一种用于使可编程命令发生器能够产生用于控制运行的格式良好命令的分类数据集,该数据集包括:
多个在格式良好命令内可允许的命令分量,
概述用于选择产生格式良好命令的命令分量的分类结构的命令分类的分类,其中分类在选择至少一个命令分量时为该至少一个命令分量指示形成格式良好命令所需要的任何附加的命令分量。
159.根据权利要求158所述的方法,其中分类结构包括多个分类级别,其中至少一个分类级别指示至少一个所需要的判定。
160.根据权利要求159所述的方法,其中所需要的判定选自:选项的选择或拒绝,输入值设置,从多个可能的选项中选择一个选项。
161.根据权利要求158所述的方法,其中分类数据集阐明从可允许用于控制系统的命令和控制系统所需要的命令中选择的命令。
162.根据权利要求158所述的方法,其中至少一个命令分量反映状态信息。
163.根据权利要求162所述的方法,其中状态信息选自:传感器状态信息,循环状态信息,环境状态信息,资源信息,用户偏好信息,历史运行信息,网络信息,控制运行模式信息,运行状态信息。
164.一种用于控制有用系统的运行的控制系统,包括:
至少一个控制器,被配置为响应于来自一组格式良好命令中的格式良好命令,控制该有用系统的运行;
至少一个分类引擎,适于产生用于建立该组格式良好命令的分类数据集;
至少一个命令发生器,适于使用该分类数据集产生格式良好命令;
其中分类引擎被配置为向命令发生器传送分类数据集,命令发生器被配置为向控制器传送格式良好命令。
165.根据权利要求164所述的控制系统,包括多个控制器,其中该至少一个分类引擎被配置为产生对应于每个控制器的分类数据集。
166.根据权利要求165所述的控制系统,包括多个命令发生器,其中每个命令发生器可以产生用于该多个控制器中任何控制器的格式良好命令。
167.根据权利要求164所述的控制系统,包括多个命令发生器,其中每一个被配置为为该控制器产生良好结构化命令。
168.根据权利要求164所述的控制系统,其中电器中的有用系统和受控的运行是电器的运行,其中该电器具有包括多个节点的内部网络,控制器选自:一个节点上的控制器,内部网络外部的控制器,外部控制器。
169.根据权利要求164所述的控制系统,其中分类数据集阐明从可允许用于控制系统的命令和控制系统所需要的命令中选择的命令。
170.根据权利要求164所述的控制系统,其中分类数据集通过多个分类级别定义,其中至少一个分类级别指示至少一个所需要的判定,其中判定选自:选项的选择或拒绝,输入值设置,从多个可能的选项中选择一个选项。
171.根据权利要求164所述的控制系统,其中控制器根据以下中至少一个产生分类数据集:当前运行的类型,当前运行的状态,当前运行的任何可操作限制。
172.根据权利要求164所述的控制系统,其中控制器根据以下中至少一个产生分类数据集:当前可应用的资源限制,当前可应用的安全限制,用户偏好,时间限制。
173.根据权利要求164所述的控制系统,其中命令发生器选自:控制面板上的用户接口,外部用户接口,用户接口,资源管理系统,家庭自动化系统,共享资源的其他系统,执行相关操作的其它系统。
174.根据权利要求164所述的控制系统,其中命令发生器是可编程的用户接口装置,其向用户提供用于引导用户产生格式良好命令的反馈。
175.一种网络控制系统,包括:
响应多个函数调用的软件运行层,
能够直接产生至少一些所述函数调用的物理用户接口,
被配置为调用至少一些所述函数调用的虚拟用户接口。
176.根据权利要求175所述的网络控制系统,其中虚拟用户接口被配置为调用至少一些物理用户接口不能直接产生的函数调用。
177.根据权利要求175所述的网络控制系统,还包括互连节点的网络,软件运行层响应于所述函数调用控制每个节点以实施运行,其中虚拟用户接口被配置为调用函数调用,以独立于软件运行层地直接控制节点。
178.根据权利要求177所述的网络控制系统,还包括驻留在至少一个节点上的软件引擎,用于通过网络实施虚拟用户接口。
179.根据权利要求178所述的网络控制系统,其中软件引擎至少驻留在那些可以被虚拟用户接口直接控制的节点上。
180.根据权利要求179所述的网络控制系统,还包括网络外部的节点,该节点被配置为与互连节点的网络通信,其中软件引擎驻留在网络外部的节点上。
181.根据权利要求177所述的网络控制系统,其中虚拟用户接口在网络外部而且与网络通信,从而从远离网络的地方通过网络执行对节点的控制。
182.根据权利要求177所述的网络控制系统,其中虚拟用户接口在网络内部。
183.根据权利要求182所述的网络控制系统,其中网络限定电器的内部通信网络。
184.根据权利要求183所述的网络控制系统,其中虚拟用户接口与物理用户接口位于不同节点。
185.根据权利要求177所述的网络控制系统,其中网络上每个节点具有一个或多个功能单元,其中每个功能单元代表一组公共功能性。
186.根据权利要求175所述的网络控制系统,其中虚拟用户接口产自替换的软件运行层。
187.根据权利要求175所述的网络控制系统,其中替换的命令发生器响应于事件的检测。
188.根据权利要求187所述的网络控制系统,其中事件选自:默认,状态事件,传感器输出,软件运行层所触发的事件,网络消息。
189.根据权利要求175所述的网络控制系统,还包括具有多个装置的网络,至少一个函数调用与和至少一个装置相关的活动相关联。
190.根据权利要求175所述的网络控制系统,其中基于规定的优先权执行源自物理用户接口的函数调用和源自虚拟用户接口的函数调用。
191.根据权利要求190所述的网络控制系统,其中规定的优先权选自:
至少一个函数调用可以至少临时使来自另一源的函数调用无效;
源自物理用户接口的函数调用和源自虚拟用户接口的函数调用被批量地处理;
函数调用可以被组合,使得在执行其它函数调用或逻辑相关的函数调用组之前完成逻辑相关的调用组;
源自物理用户接口的函数调用和源自外部的函数调用被顺序地执行。
192.根据权利要求175所述的网络控制系统,其中物理用户接口包括自包含数据处理和网络装置。
193.根据权利要求192所述的网络控制系统,其中物理用户接口选自包括蜂窝电话,计算机,网络写字板,PDA,麦克风,虚拟键盘所组成的组。
194.一种网络控制系统,包括:
响应多个函数调用的软件运行层,
具有多个UI动作的物理用户接口,其中每个UI动作直接产生一个所述函数调用,至少一个UI动作产生数据,
虚拟用户接口,适于调用至少一些由UI动作所产生的函数调用,以及调用至少一个不能由UI动作产生的函数调用。
195.根据权利要求194所述的网络控制系统,其中每个UI动作具有一个相关联的函数调用。
196.根据权利要求194所述的网络控制系统,其中每个函数调用与一个或多个UI动作关联。
197.根据权利要求194所述的网络控制系统,其中至少一个UI动作与函数调用关联。
198.根据权利要求194所述的网络控制系统,其中至少一个UI动作与数据输入关联。
199.根据权利要求194所述的网络控制系统,其中物理用户接口包括具有多个键的键区。
200.根据权利要求199所述的网络控制系统,其中每个键与相关的函数调用关联。
201.根据权利要求199所述的网络控制系统,其中至少一个键与至少一个相关的函数调用关联。
202.根据权利要求199所述的网络控制系统,其中至少一个键与数据输入关联。
203.根据权利要求194所述的网络控制系统,其中虚拟用户接口被配置为传送包括至少一个函数调用的虚拟键按下,由此该至少一个虚拟键按下指示接收网络节点执行相关功能性。
204.根据权利要求203所述的网络控制系统,其中虚拟键按下实现以下中至少一项:
测试相关软件;
软件的远程执行;
软件重新使用;
键按下函数调用的重新编程。
205.根据权利要求204所述的网络控制系统,其中至少一个虚拟键按下调用多个函数调用。
206.根据权利要求205所述的网络控制系统,其中虚拟键按下的至少一个序列调用至少一个函数调用。
207.根据权利要求194所述的网络控制系统,其中软件至少具有第一运行层和第二运行层,其中至少一个在第一运行层中不可用的函数调用在第二运行层可用。
208.根据权利要求194所述的网络控制系统,其中网络包括具有多个节点的电器,而且由发送给支持该函数调用的网络节点的网络消息封装键区的虚拟键按下。
209.根据权利要求194所述的网络控制系统,还包括互连节点的网络,软件运行层响应于所述函数调用控制每个所述节点以实施运行,其中虚拟用户接口被配置为调用不能由UI动作产生的函数调用,以独立于软件运行层直接控制所述节点。
210.根据权利要求209所述的网络控制系统,还包括驻留在至少一个节点上的软件引擎,用于通过网络实施虚拟用户接口。
211.根据权利要求210所述的网络控制系统,其中软件引擎至少驻留在那些可以由虚拟用户接口直接控制的节点上。
CNA2006800280222A 2005-06-09 2006-06-08 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 Pending CN101305350A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59514805P 2005-06-09 2005-06-09
US60/595,148 2005-06-09

Publications (1)

Publication Number Publication Date
CN101305350A true CN101305350A (zh) 2008-11-12

Family

ID=37188949

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2006800280222A Pending CN101305350A (zh) 2005-06-09 2006-06-08 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法
CNA200680026782XA Pending CN101228741A (zh) 2005-06-09 2006-06-09 用于通信电器的组件和附件

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA200680026782XA Pending CN101228741A (zh) 2005-06-09 2006-06-09 用于通信电器的组件和附件

Country Status (7)

Country Link
US (18) US20100287059A1 (zh)
EP (6) EP2228969B1 (zh)
CN (2) CN101305350A (zh)
BR (5) BRPI0611726A2 (zh)
CA (3) CA2611527A1 (zh)
MX (2) MX2008015676A (zh)
WO (3) WO2006135726A2 (zh)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609331A (zh) * 2012-01-19 2012-07-25 苏州希图视鼎微电子有限公司 Nand闪存的装载代码的文件格式
CN104854598A (zh) * 2012-12-21 2015-08-19 惠普发展公司,有限责任合伙企业 嵌入在线缆中的有源组件
CN106970796A (zh) * 2017-03-29 2017-07-21 四川长虹电器股份有限公司 基于状态机的冰箱主控软件设计方法
CN107534684A (zh) * 2015-06-26 2018-01-02 三星电子株式会社 节点终端装置、显示装置、包括节点终端装置和显示装置的外围设备管理系统及其方法
CN108614462A (zh) * 2018-06-26 2018-10-02 山西清新新能源科技有限公司 一种智能能源处理系统
CN109388110A (zh) * 2017-08-02 2019-02-26 西门子股份公司 在工业自动化系统内提供功能的方法以及自动化系统
CN109634126A (zh) * 2017-09-15 2019-04-16 科勒公司 水状况的地理分析
CN110363609A (zh) * 2013-06-27 2019-10-22 东芝生活电器株式会社 网络系统
CN110495140A (zh) * 2017-04-21 2019-11-22 丹佛斯有限公司 用于控制冷却系统的控制系统
US11398998B2 (en) 2018-02-28 2022-07-26 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11405435B1 (en) 2020-12-02 2022-08-02 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11561996B2 (en) 2014-11-24 2023-01-24 Asana, Inc. Continuously scrollable calendar user interface
US11561677B2 (en) 2019-01-09 2023-01-24 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11599855B1 (en) * 2020-02-14 2023-03-07 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11610053B2 (en) 2017-07-11 2023-03-21 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfor
US11620615B2 (en) 2018-12-18 2023-04-04 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11632260B2 (en) 2018-06-08 2023-04-18 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US11652762B2 (en) 2018-10-17 2023-05-16 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US11656754B2 (en) 2018-04-04 2023-05-23 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11694140B2 (en) 2018-12-06 2023-07-04 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11720378B2 (en) 2018-04-02 2023-08-08 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11763259B1 (en) 2020-02-20 2023-09-19 Asana, Inc. Systems and methods to generate units of work in a collaboration environment
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11956193B2 (en) 2023-05-30 2024-04-09 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment

Families Citing this family (508)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7440842B1 (en) * 2003-05-09 2008-10-21 Dimitri Vorona System for transmitting, processing, receiving, and displaying traffic information
US8825356B2 (en) 2003-05-09 2014-09-02 Dimitri Vorona System for transmitting, processing, receiving, and displaying traffic information
US7623042B2 (en) * 2005-03-14 2009-11-24 Regents Of The University Of California Wireless network control for building lighting system
US8856036B2 (en) 2005-06-09 2014-10-07 Whirlpool Corporation Method of providing product demonstrations
US9401822B2 (en) 2005-06-09 2016-07-26 Whirlpool Corporation Software architecture system and method for operating an appliance exposing key press functionality to a network
US8442042B2 (en) 2005-06-09 2013-05-14 Whirlpool Corporation Appliance and a consumable holder with an embedded virtual router
EP2228969B1 (en) 2005-06-09 2017-04-19 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
US9164867B2 (en) 2005-06-09 2015-10-20 Whirlpool Corporation Network for communicating information related to a consumable to an appliance
US9103061B2 (en) 2006-06-08 2015-08-11 Whirlpool Corporation Product service system and method
US7831321B2 (en) * 2005-06-09 2010-11-09 Whirlpool Corporation Appliance and accessory for controlling a cycle of operation
US8250163B2 (en) 2005-06-09 2012-08-21 Whirlpool Corporation Smart coupling device
US10333731B2 (en) 2005-06-09 2019-06-25 Whirlpool Corporation Methods and apparatus for communicatively coupling internal components within appliances, and appliances with external components and accessories
US8155120B2 (en) 2005-06-09 2012-04-10 Whirlpool Corporation Software architecture system and method for discovering components within an appliance using fuctionality identifiers
US20080137670A1 (en) * 2005-06-09 2008-06-12 Whirlpool Corporation Network System with Message Binding for Appliances
US8676656B2 (en) 2005-06-09 2014-03-18 Whirlpool Corporation Method for product demonstration
US8816828B2 (en) * 2005-06-09 2014-08-26 Whirlpool Corporation Recipe wand and recipe book for use with a networked appliance
US7917914B2 (en) 2005-06-09 2011-03-29 Whirlpool Corporation Event notification system for an appliance
US20070288331A1 (en) 2006-06-08 2007-12-13 Whirlpool Corporation Product demonstration system and method
US9009811B2 (en) 2005-06-09 2015-04-14 Whirlpool Corporation Network system with electronic credentials and authentication for appliances
US8027752B2 (en) 2005-06-09 2011-09-27 Whirlpool Corporation Network for changing resource consumption in an appliance
US8615332B2 (en) 2005-06-09 2013-12-24 Whirlpool Corporation Smart current attenuator for energy conservation in appliances
US7921429B2 (en) 2005-06-09 2011-04-05 Whirlpool Corporation Data acquisition method with event notification for an appliance
US9122788B2 (en) 2005-06-09 2015-09-01 Whirlpool Corporation Appliance network for a networked appliance with a network binder accessory
US8571942B2 (en) 2005-06-09 2013-10-29 Whirlpool Corporation Method of product demonstration
US8533253B2 (en) 2005-06-09 2013-09-10 Whirlpool Corporation Distributed object-oriented appliance control system
US8005780B2 (en) 2005-06-09 2011-08-23 Whirlpool Corporation Taxonomy engine and dataset for operating an appliance
US7813831B2 (en) 2005-06-09 2010-10-12 Whirlpool Corporation Software architecture system and method for operating an appliance in multiple operating modes
DE602005021555D1 (de) * 2005-07-04 2010-07-08 Vkr Holding As System und verfahren zur befehlsausführungs-handhabung
US9418040B2 (en) 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US9866697B2 (en) * 2005-08-19 2018-01-09 Nexstep, Inc. Consumer electronic registration, control and support concierge device and method
US8442660B2 (en) 2005-10-28 2013-05-14 Electro Industries/Gauge Tech Intelligent electronic device having audible and visual interface
US7870512B2 (en) * 2005-12-28 2011-01-11 Sap Ag User interface (UI) prototype using UI taxonomy
WO2007098468A1 (en) * 2006-02-21 2007-08-30 University Of Florida Research Foundation Inc. Modular platform enabling heterogeneous devices, sensors and actuators to integrate automatically into heterogeneous networks
KR101176229B1 (ko) * 2006-05-26 2012-08-22 엘지전자 주식회사 세탁실을 관리하는 방법 및 시스템
US7660572B2 (en) * 2006-05-30 2010-02-09 Dell Products L.P. Community networking using networked audio devices
US8682733B2 (en) 2006-06-08 2014-03-25 Whirlpool Corporation System for product demonstration
US9338028B2 (en) * 2006-06-19 2016-05-10 Nokia Technologies Oy Utilizing information of a local network for determining presence state
US20080124065A1 (en) * 2006-11-29 2008-05-29 Ahamefula Chukwu Automatic picture and text alerting camera, with inbuilt smoke and motion detectors
US8353030B2 (en) * 2006-12-13 2013-01-08 Avaya Inc. Maintaining communication between network nodes that are subjected to a packet attack
US8061153B2 (en) 2006-12-28 2011-11-22 Whirlpool Corporation Refrigeration appliance with optional storage module
US8336321B2 (en) 2006-12-28 2012-12-25 Whirlpool Corporation Hybrid multi-evaporator central cooling system for modular kitchen
US8042355B2 (en) 2006-12-28 2011-10-25 Whirlpool Corporation Temporary refrigerator storage modules
US8336322B2 (en) 2006-12-28 2012-12-25 Whirlpool Corporation Distributed refrigeration system with optional storage module and controller
US8245524B2 (en) 2006-12-28 2012-08-21 Whirlpool Corporation Thermal cascade system for distributed household refrigeration system
US8161760B2 (en) 2006-12-28 2012-04-24 Whirlpool Corporation Utilities grid for distributed refrigeration system
US7686127B2 (en) * 2007-01-04 2010-03-30 Whirlpool Corporation Acoustic chamber as part of adapter or appliance
KR101342374B1 (ko) 2007-01-19 2013-12-16 엘지전자 주식회사 세탁기 및 세탁기 서비스 제공 방법
ITRN20070007A1 (it) * 2007-02-08 2007-05-10 Indesit Company Spa Dispositivo portatile di assistenza tecnica di un elettrodomestico
US7707459B2 (en) 2007-03-08 2010-04-27 Whirlpool Corporation Embedded systems debugging
KR100888478B1 (ko) 2007-03-08 2009-03-12 삼성전자주식회사 액션 처리 방법, 피제어 장치의 제어 방법, 피제어 장치 및제어 포인트
US9106553B2 (en) * 2007-03-26 2015-08-11 Qualcomm Incorporated System and method for sharing resources and interfaces amongst connected computing devices
EP3351270A1 (en) * 2007-05-23 2018-07-25 The Trustees of the University of Pennsylvania Targeted carriers for intracellular drug delivery
US8464212B2 (en) * 2007-07-27 2013-06-11 Canon Kabushiki Kaisha Method, apparatus and storage medium for customizing application
US10540651B1 (en) * 2007-07-31 2020-01-21 Intuit Inc. Technique for restricting access to information
US8798573B2 (en) * 2007-08-22 2014-08-05 Intel-Ge Care Innovations Llc Monitoring activities of daily living using radio frequency emissions
JP5150166B2 (ja) * 2007-08-24 2013-02-20 株式会社東芝 設備機器集合生成支援装置及び方法
US8094034B2 (en) 2007-09-18 2012-01-10 Georgia Tech Research Corporation Detecting actuation of electrical devices using electrical noise over a power line
US20090083060A1 (en) * 2007-09-26 2009-03-26 Modu Ltd. Automated computer electronics device reporting
ITMO20070335A1 (it) * 2007-11-09 2009-05-10 Angelo Grandi Cucine Societa P Apparato per il trattamento di prodotti alimentari dotato di dispositivo di controllo elettronico
US8566431B2 (en) * 2008-01-16 2013-10-22 Razer (Asia-Pacific) Pte. Ltd. Identification device and method for device identification
DE102008009659B4 (de) * 2008-02-18 2019-06-19 Rational Ag Verfahren zur Steuerung von mindestens zwei Gargeräten, Gargerät und System aus mindestens zwei Gargeräten
US8788888B2 (en) * 2008-03-14 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing end user notification in a UPnP network
US8342847B2 (en) * 2008-04-15 2013-01-01 International Business Machines Corporation Interactive recipe preparation instruction delivery to disabled indiviuals
US8419433B2 (en) * 2008-04-15 2013-04-16 International Business Machines Corporation Monitoring recipe preparation using interactive cooking device
US8992225B2 (en) 2008-04-15 2015-03-31 International Business Machines Corporation Monitoring recipe preparation using instructive device and generating an alert to provide feedback
US8323026B2 (en) * 2008-04-15 2012-12-04 International Business Machines Corporation Interactive recipe preparation using instructive device with integrated actuators to provide tactile feedback
US8419434B2 (en) * 2008-04-15 2013-04-16 International Business Machines Corporation Interactive recipe preparation using interactive cooking device to communicate with kitchen appliances
KR101627219B1 (ko) 2008-04-29 2016-06-03 엘지전자 주식회사 가전기기 및 가전기기를 포함하는 가전기기시스템
US8532273B2 (en) * 2008-04-29 2013-09-10 Lg Electronics Inc. Home appliance and home appliance system
CA2722911A1 (en) * 2008-04-29 2009-11-05 Lg Electronics Inc. Home appliance and home appliance system
US8705715B2 (en) * 2008-04-30 2014-04-22 Lg Electronics Inc. Home appliance, home appliance system, and diagnosis method of a home appliance
US20100040213A1 (en) * 2008-04-30 2010-02-18 Lg Electronics Inc. Home appliance and home appliance system
BRPI0911884A2 (pt) * 2008-05-05 2016-09-13 Nova Controls sistema de dispensação de produtos químicos e respectivo métodos de controle
US8275471B2 (en) 2009-11-06 2012-09-25 Adura Technologies, Inc. Sensor interface for wireless control
US8364325B2 (en) * 2008-06-02 2013-01-29 Adura Technologies, Inc. Intelligence in distributed lighting control devices
US7839017B2 (en) * 2009-03-02 2010-11-23 Adura Technologies, Inc. Systems and methods for remotely controlling an electrical load
US20100114340A1 (en) * 2008-06-02 2010-05-06 Charles Huizenga Automatic provisioning of wireless control systems
WO2009149219A2 (en) * 2008-06-03 2009-12-10 Whirlpool Corporation Appliance development toolkit
JP5340027B2 (ja) * 2008-06-05 2013-11-13 キヤノン株式会社 サーバ装置、サーバ装置の制御方法、プログラム及び記録媒体
US9054953B2 (en) * 2008-06-16 2015-06-09 Lg Electronics Inc. Home appliance and home appliance system
US8453126B1 (en) * 2008-07-30 2013-05-28 Dulles Research LLC System and method for converting base SAS runtime macro language scripts to JAVA target language
US20100066554A1 (en) * 2008-09-02 2010-03-18 Lg Electronics Inc. Home appliance system
EP2180390A3 (en) 2008-10-23 2011-01-05 Whirlpool Corporation Consumable information holder with user interface data
US8118997B2 (en) * 2008-10-23 2012-02-21 Whirlpool Corporation Smart filter for an appliance
US8051381B2 (en) * 2008-12-22 2011-11-01 Whirlpool Corporation Appliance with a graphical user interface for configuring an accessory
US20100125364A1 (en) * 2008-11-20 2010-05-20 Whirlpool Corporation Configurable consumable holder for an appliance
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US9632490B2 (en) 2008-10-27 2017-04-25 Lennox Industries Inc. System and method for zoning a distributed architecture heating, ventilation and air conditioning network
US9325517B2 (en) 2008-10-27 2016-04-26 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US8874815B2 (en) 2008-10-27 2014-10-28 Lennox Industries, Inc. Communication protocol system and method for a distributed architecture heating, ventilation and air conditioning network
US9268345B2 (en) 2008-10-27 2016-02-23 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9432208B2 (en) 2008-10-27 2016-08-30 Lennox Industries Inc. Device abstraction system and method for a distributed architecture heating, ventilation and air conditioning system
US8977794B2 (en) 2008-10-27 2015-03-10 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US9261888B2 (en) * 2008-10-27 2016-02-16 Lennox Industries Inc. System and method of use for a user interface dashboard of a heating, ventilation and air conditioning network
US9678486B2 (en) 2008-10-27 2017-06-13 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US9651925B2 (en) 2008-10-27 2017-05-16 Lennox Industries Inc. System and method for zoning a distributed-architecture heating, ventilation and air conditioning network
US8892797B2 (en) 2008-10-27 2014-11-18 Lennox Industries Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
US8994539B2 (en) * 2008-10-27 2015-03-31 Lennox Industries, Inc. Alarm and diagnostics system and method for a distributed-architecture heating, ventilation and air conditioning network
US9152155B2 (en) 2008-10-27 2015-10-06 Lennox Industries Inc. Device abstraction system and method for a distributed-architecture heating, ventilation and air conditioning system
US9377768B2 (en) 2008-10-27 2016-06-28 Lennox Industries Inc. Memory recovery scheme and data structure in a heating, ventilation and air conditioning network
TWI383752B (zh) * 2008-10-28 2013-02-01 Ind Tech Res Inst 結合語音辨識功能之食品製造裝置
US8138933B2 (en) * 2008-11-05 2012-03-20 Crucs Holdings, Llc Systems, methods, and apparatus for automatically disabling appliances in response to a smoke detector
DE102008056412A1 (de) * 2008-11-07 2010-05-12 BSH Bosch und Siemens Hausgeräte GmbH Haushaltsgerät mit einer Luft-Trocknungsvorrichtung und/oder Flüssigkeits-Heizungseinrichtung sowie zugehöriges Verfahren
CA2644885C (en) 2008-11-25 2017-01-03 Electrolux Home Products, Inc. Enterprise wide system and methods for configuring, diagnosing, and updating appliances
US9665838B2 (en) 2008-12-03 2017-05-30 Whirlpool Corporation Messaging architecture and system for electronic management of resources
EP2204707A3 (en) 2008-12-30 2012-03-28 Whirlpool Corporation Method of diagnosing an appliance fault
EP2391945B1 (en) 2009-01-29 2016-01-20 Ivy Biomedical Systems, Inc. Interface device for communication between a medical device and a computer
US9489776B2 (en) 2009-02-05 2016-11-08 fybr Gen II meter system
US20100256781A1 (en) * 2009-04-01 2010-10-07 Chen-Yu Sheu Semantic appliance control system
US9218000B2 (en) * 2009-04-01 2015-12-22 Honeywell International Inc. System and method for cloud computing
US8204717B2 (en) * 2009-04-01 2012-06-19 Honeywell International Inc. Cloud computing as a basis for equipment health monitoring service
US20100262919A1 (en) * 2009-04-09 2010-10-14 Peter Spezza Method of remotely providing a computer service
KR101597523B1 (ko) * 2009-04-10 2016-02-25 엘지전자 주식회사 가전기기 서비스 장치 및 그 제어방법
KR101442115B1 (ko) * 2009-04-10 2014-09-18 엘지전자 주식회사 가전기기 및 가전기기 시스템
US8565079B2 (en) * 2009-04-10 2013-10-22 Lg Electronics Inc. Home appliance and home appliance system
KR101555586B1 (ko) * 2009-04-10 2015-09-24 엘지전자 주식회사 가전기기
KR101579481B1 (ko) * 2009-04-10 2015-12-22 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101421685B1 (ko) * 2009-04-10 2014-08-13 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR20100112948A (ko) * 2009-04-10 2010-10-20 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101556972B1 (ko) * 2009-05-11 2015-10-02 엘지전자 주식회사 세탁기를 제어하는 휴대 단말기 및 그 동작 방법
KR101563487B1 (ko) 2009-05-11 2015-10-27 엘지전자 주식회사 가전기기를 제어하는 휴대 단말기
JP2012532558A (ja) 2009-07-06 2012-12-13 エルジー エレクトロニクス インコーポレイティド 家電機器診断システム及びその運転方法
US20110005258A1 (en) * 2009-07-09 2011-01-13 Mathieu Audet Method and system for managing appliance equipments
US9000949B2 (en) * 2009-07-10 2015-04-07 Streetsmart Technology Llc Gen II meter system with multiple processors, multiple detection sensor types, fault tolerance methods, power sharing and multiple user interface methods
US8509954B2 (en) 2009-08-21 2013-08-13 Allure Energy, Inc. Energy management system and method
KR20110010374A (ko) * 2009-07-24 2011-02-01 엘지전자 주식회사 가전기기 진단시스템 및 그 방법
KR101403000B1 (ko) 2009-07-24 2014-06-17 엘지전자 주식회사 가전기기 및 그 신호출력방법
US8996659B2 (en) 2009-07-24 2015-03-31 Plumchoice, Inc. Systems and methods for providing remote services using a cross-device database
US8380520B2 (en) * 2009-07-30 2013-02-19 Industrial Technology Research Institute Food processor with recognition ability of emotion-related information and emotional signals
KR20110013582A (ko) * 2009-07-31 2011-02-10 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101607891B1 (ko) * 2009-07-31 2016-04-11 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101482137B1 (ko) * 2009-07-31 2015-01-13 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101472402B1 (ko) * 2009-07-31 2014-12-12 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101472401B1 (ko) * 2009-07-31 2014-12-12 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101553843B1 (ko) * 2009-07-31 2015-09-30 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
KR101482138B1 (ko) * 2009-07-31 2015-01-13 엘지전자 주식회사 가전기기 진단시스템 및 그 진단방법
RU2495471C1 (ru) * 2009-08-05 2013-10-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Бытовой прибор и способ его управления
US9209652B2 (en) 2009-08-21 2015-12-08 Allure Energy, Inc. Mobile device with scalable map interface for zone based energy management
US8498749B2 (en) 2009-08-21 2013-07-30 Allure Energy, Inc. Method for zone based energy management system with scalable map interface
US9838255B2 (en) 2009-08-21 2017-12-05 Samsung Electronics Co., Ltd. Mobile demand response energy management system with proximity control
DK4087196T3 (da) 2009-09-08 2024-02-26 Abbott Diabetes Care Inc Fremgangsmåder og fremstillede artikler til hosting af en sikkerhedskritisk applikation på en ukontrolleret databehandlingsenhed
CN102575501B (zh) * 2009-09-10 2015-05-20 Bp北美公司 用于在双梯度环境中将井眼流入物循环出来的系统和方法
US8234363B1 (en) 2009-09-18 2012-07-31 Kuo-Hua Kuo Dynamic object management protocol
US8276159B2 (en) * 2009-09-23 2012-09-25 Microsoft Corporation Message communication of sensor and other data
MX2009010902A (es) * 2009-10-08 2011-04-20 Magno Alcantara Talavera Metodos y sistema de control por voz.
DE102009045594A1 (de) * 2009-10-12 2011-04-14 BSH Bosch und Siemens Hausgeräte GmbH Haushaltsgerät, insbesondere Haushalts-Geschirrspülmaschine
KR20110040387A (ko) * 2009-10-14 2011-04-20 이상원 조리 상태 감시 시스템 및 방법
WO2011064671A2 (en) 2009-11-26 2011-06-03 Lg Electronics Inc. Network system for a component
US7937438B1 (en) 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US9203747B1 (en) 2009-12-07 2015-12-01 Amazon Technologies, Inc. Providing virtual networking device functionality for managed computer networks
US9036504B1 (en) 2009-12-07 2015-05-19 Amazon Technologies, Inc. Using virtual networking devices and routing information to associate network addresses with computing nodes
US8995301B1 (en) 2009-12-07 2015-03-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing cost information
US10198935B2 (en) 2009-12-08 2019-02-05 Universal Electronics Inc. System and method for simplified activity based setup of a controlling device
US8526935B2 (en) * 2009-12-15 2013-09-03 General Electric Company Appliance demand response antenna design for improved gain within the home appliance network
US8914133B2 (en) * 2009-12-17 2014-12-16 Lg Electronics Inc. Power management system and method of controlling network system
US9294298B2 (en) * 2009-12-17 2016-03-22 Lg Electronics Inc. Network system and method of controlling network system
US9058037B2 (en) * 2009-12-22 2015-06-16 General Electric Company Return of appliance state after demand response event
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US7991859B1 (en) * 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US9171293B2 (en) * 2009-12-29 2015-10-27 Telenav, Inc. Location based system with location-enabled messaging and method of operation thereof
KR101748605B1 (ko) 2010-01-15 2017-06-20 엘지전자 주식회사 냉장고 및 냉장고 진단시스템
JP5487994B2 (ja) * 2010-01-25 2014-05-14 ソニー株式会社 電力管理装置、及び表示方法
JP2011152022A (ja) * 2010-01-25 2011-08-04 Sony Corp 電力管理装置、電力管理システム、及び機器制御方法
US20110202293A1 (en) * 2010-02-15 2011-08-18 General Electric Company Diagnostics using sub-metering device
US8655499B2 (en) * 2010-02-19 2014-02-18 The Boeing Company Controlling virtual power circuits
US8315743B2 (en) * 2010-02-19 2012-11-20 The Boeing Company Network centric power flow control
US9361637B2 (en) * 2010-03-05 2016-06-07 Sears Brands, L.L.C. System and method for providing diagnostic services
US20110225327A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Systems and methods for controlling an electronic device
US20110224810A1 (en) * 2010-03-12 2011-09-15 Spansion Llc Home and building automation
ES2530467T3 (es) * 2010-03-19 2015-03-02 Mr Qr10 Gmbh & Co Kg Sistema y procedimiento para la comunicación entre diferentes entidades mediante el uso de diferentes porciones de datos para diferentes canales
US20110245627A1 (en) * 2010-03-30 2011-10-06 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Electronic health record storage device, system, and method
WO2011131753A1 (en) * 2010-04-21 2011-10-27 Institut Polytechnique De Grenoble System and method for managing services in a living place
US8626921B2 (en) * 2010-04-22 2014-01-07 Cisco Technology, Inc. Device and service management based on layer 2 through layer 7 device attributes
EP2712149B1 (en) 2010-04-23 2019-10-30 Compuverde AB Distributed data storage
WO2011138149A1 (de) * 2010-05-06 2011-11-10 BSH Bosch und Siemens Hausgeräte GmbH Haushaltsgerätevorrichtung
EP2386953B1 (en) * 2010-05-14 2018-02-07 Sap Se Systems and methods for generating reusable test components out of remote application programming interface
US9696773B2 (en) 2010-06-22 2017-07-04 Lg Electronics Inc. Consumption unit for effectively managing energy sources
US9709981B2 (en) * 2010-06-29 2017-07-18 Orange Managing application failures in a system of domestic appliances
KR101442107B1 (ko) 2010-07-06 2014-09-18 엘지전자 주식회사 가전기기 진단장치
KR20120006287A (ko) * 2010-07-12 2012-01-18 엘지전자 주식회사 냉장고 및 냉장고 제어방법
US8897899B2 (en) 2010-07-15 2014-11-25 Rain Bird Corporation Method and apparatus for programming a decoder-based irrigation controller
US8599008B2 (en) * 2010-07-26 2013-12-03 General Electric Company Appliance monitoring system and method
ITTO20100647A1 (it) * 2010-07-27 2012-01-28 Global Care S A S Di Maura Milani Metodo, dispositivo e sistema per l'assistenza tecnica post-vendita di utenze elettriche
DE102010039834A1 (de) * 2010-08-26 2012-03-01 BSH Bosch und Siemens Hausgeräte GmbH Haushaltsgerät
GB2484458A (en) * 2010-10-04 2012-04-18 Thorn Security Commissioning detector units of an alarm system by means of a remote infrared based communication tool
US9122744B2 (en) 2010-10-11 2015-09-01 Next It Corporation System and method for providing distributed intelligent assistance
DE102010043659B4 (de) * 2010-11-09 2012-06-21 BSH Bosch und Siemens Hausgeräte GmbH Verfahren zum Betreiben eines Bussystems, Bussystem und Haushaltsgerät mit einem Bussystem
US20120127012A1 (en) * 2010-11-24 2012-05-24 Samsung Electronics Co., Ltd. Determining user intent from position and orientation information
KR101662705B1 (ko) * 2010-12-22 2016-10-05 한국전자통신연구원 그린 홈 전력 관리 시스템에서 소비 전력량 데이터 관리 및 검증 장치 및 그 방법
KR101275582B1 (ko) * 2010-12-31 2013-06-17 엘지전자 주식회사 휴대 단말기의 동작방법
US9612286B2 (en) 2011-02-04 2017-04-04 Bidgely Inc. Systems and methods for improving the accuracy of appliance level disaggregation in non-intrusive appliance load monitoring techniques
US8278779B2 (en) 2011-02-07 2012-10-02 General Electric Company System and method for providing redundant power to a device
US20120239762A1 (en) * 2011-03-14 2012-09-20 Electrolux Home Products, Inc. Remote Communication Systems and Methods for Appliances
US9438678B2 (en) * 2011-03-17 2016-09-06 Sears Brands, L.L.C. Methods and systems for appliance community service management
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
US10504360B2 (en) 2011-04-08 2019-12-10 Ross Gilson Remote control interference avoidance
DE102011017631A1 (de) * 2011-04-27 2012-10-31 BSH Bosch und Siemens Hausgeräte GmbH Hausgerät mit nachträglich abänderbarem, technischem Programm sowie zugehöriges Verfahren und Computerprogrammprodukt
KR101797946B1 (ko) 2011-05-25 2017-12-12 삼성전자주식회사 가전기기의 자가 진단 시스템 및 그 동작 방법
US8769110B2 (en) * 2011-05-27 2014-07-01 Sony Corporation Transferring RUI from one device to another
US20120316809A1 (en) * 2011-06-08 2012-12-13 Elster Solutions, Llc Virtual option board for use in performing metering operations
US9171314B2 (en) * 2011-06-16 2015-10-27 Microsoft Technology Licensing, Llc Cloud based management of an in-store device experience
US8942835B2 (en) 2011-06-16 2015-01-27 Bsh Home Appliances Corporation System and method of operating household appliances
AU2012272554A1 (en) * 2011-06-21 2013-12-19 Icookit Pty Ltd System for automating cooking steps
JP5158236B2 (ja) * 2011-06-30 2013-03-06 ダイキン工業株式会社 設備機器の制御装置
KR101276861B1 (ko) * 2011-07-27 2013-06-18 엘지전자 주식회사 가전제품 및 이를 포함하여 이루어지는 온라인 시스템
KR101416937B1 (ko) 2011-08-02 2014-08-06 엘지전자 주식회사 가전기기, 가전기기 진단시스템 및 동작방법
ITRN20110053A1 (it) 2011-08-05 2013-02-06 Indesit Co Spa Elettrodomestico e metodo di impostazione in un elettrodomestico di un programma di funzionamento
WO2013023837A2 (en) * 2011-08-18 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) A method and apparatus for determining an event instance
KR101282386B1 (ko) * 2011-08-18 2013-07-04 정성민 조리 상태 감시 시스템 및 방법
KR101252167B1 (ko) 2011-08-18 2013-04-05 엘지전자 주식회사 가전기기 진단장치 및 그 진단방법
EP2562967B1 (en) * 2011-08-22 2015-01-14 LG Electronics Inc. Information management system for home appliance
MX342956B (es) 2011-08-30 2016-10-19 Allure Energy Inc Administrador de recursos, sistema y método para comunicar información de administración de recursos para recursos inteligentes de energía y medios.
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
WO2013052798A1 (en) * 2011-10-07 2013-04-11 Electrolux Home Products, Inc. Multiple protocol communication system for appliances
US8510762B1 (en) * 2011-10-12 2013-08-13 Google Inc. Generate custom client library samples based on a machine readable API description
US20130092032A1 (en) * 2011-10-18 2013-04-18 Bsh Home Appliances Corporation Intelligent home cooking appliance, associated systems, and/or methods
KR101985337B1 (ko) * 2011-10-26 2019-09-04 삼성전자 주식회사 전자기기 운용에 따른 메시지 전송 방법 및 그를 위한 시스템
US20150194048A1 (en) * 2011-11-14 2015-07-09 Jeremy Haubrich Universal Remote
US8839257B2 (en) 2011-11-22 2014-09-16 Microsoft Corporation Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation
US8826008B2 (en) * 2011-12-02 2014-09-02 Blackberry Limited Method and device for secure notification of identity
US9192019B2 (en) 2011-12-07 2015-11-17 Abl Ip Holding Llc System for and method of commissioning lighting devices
CA2859687C (en) 2011-12-20 2020-07-14 Integrated Electronics Manufacturing Corp. Systems and methods for authenticating bulk products
US20120109399A1 (en) * 2012-01-01 2012-05-03 Bao Tran Energy resource conservation systems and methods
US8825020B2 (en) * 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
US9219361B1 (en) * 2012-01-31 2015-12-22 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with power management of electrical devices
CA2805226A1 (en) 2012-02-07 2013-08-07 Scott Andrew Horstemeyer Appliance monitoring systems and methods
US10013677B2 (en) 2012-02-07 2018-07-03 Whirlpool Corporation Appliance monitoring systems and methods
US10817848B2 (en) 2012-02-07 2020-10-27 Whirlpool Corporation Appliance monitoring systems
US8918885B2 (en) * 2012-02-09 2014-12-23 International Business Machines Corporation Automatic discovery of system integrity exposures in system code
US20130212668A1 (en) * 2012-02-13 2013-08-15 International Business Machines Corporation Suspension of Processes in Industrial Control System When an Anomaly Occurs
WO2013126738A1 (en) * 2012-02-24 2013-08-29 Meyer Intellectual Properties Ltd. Cookware with heat source under audible feedback control
US8594861B2 (en) * 2012-02-27 2013-11-26 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for communicating with a vehicle user
DE102012101537A1 (de) 2012-02-27 2013-08-29 Miele & Cie. Kg Haushaltsgerät mit einer Kommunikationseinrichtung
US9460303B2 (en) * 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
US20130278384A1 (en) * 2012-04-21 2013-10-24 Irena Jozic McDowell Appliance, device, and system for home energy management
EP2845353A4 (en) * 2012-05-01 2016-01-13 Duke Mfg Co SYSTEM AND METHOD OF CAN BUS BUSINESS DEVICES
US20130298199A1 (en) * 2012-05-02 2013-11-07 Elwha Llc Control of Transmission to a Target Device with a Cloud-Based Architecture
EP2663025B1 (de) * 2012-05-10 2016-10-26 Miele & Cie. KG Verfahren zum Betrieb eines Haushaltsgerätenetzwerks und Haushaltsgerät zur Verwendung in einem solchen Netzwerk
US8738664B2 (en) * 2012-05-23 2014-05-27 Lg Chem, Ltd. System and method for generating diagnostic test files associated with a battery pack
KR101942781B1 (ko) 2012-07-03 2019-01-28 엘지전자 주식회사 가전기기 및 가전기기 진단을 위한 신호음 출력방법
KR20140007178A (ko) 2012-07-09 2014-01-17 엘지전자 주식회사 가전기기 및 그 시스템
US20140022917A1 (en) * 2012-07-17 2014-01-23 Procter And Gamble, Inc. Home network of connected consumer devices
US9468162B2 (en) 2012-08-01 2016-10-18 Rain Bird Corporation Irrigation controller wireless network adapter and networked remote service
US8997203B2 (en) * 2012-08-07 2015-03-31 Blackberry Limited Filtering network packets in multiple forwarding information base systems
US9378055B1 (en) 2012-08-22 2016-06-28 Societal Innovations Ipco Limited Configurable platform architecture and method for use thereof
DE102012017386B4 (de) 2012-09-01 2020-10-15 Volkswagen Aktiengesellschaft Verfahren zum Überwachen einer mit einem Kommunikationskanal verbundenen Vorrichtung
US9536049B2 (en) 2012-09-07 2017-01-03 Next It Corporation Conversational virtual healthcare assistant
US9020486B2 (en) * 2012-09-14 2015-04-28 Sheng-Yuan SHIH Real-time management system for mobile electronic devices
US10006462B2 (en) 2012-09-18 2018-06-26 Regal Beloit America, Inc. Systems and method for wirelessly communicating with electric motors
JP6239906B2 (ja) * 2012-09-19 2017-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America アクセス制御方法、アクセス制御システム、通信端末、及び、サーバ
WO2014045175A1 (en) * 2012-09-21 2014-03-27 Koninklijke Philips N.V. Method and apparatus for dynamic address assignment
US20140096270A1 (en) * 2012-09-28 2014-04-03 Richard T. Beckwith Secure data containers and data access control
KR20140050204A (ko) * 2012-10-18 2014-04-29 한국전자통신연구원 홈 에너지 관리 서비스 프로비저닝 방법 및 장치
ES2734348T3 (es) 2012-11-07 2019-12-05 Rain Bird Corp Sistema de control de riego
US9451031B2 (en) * 2012-11-28 2016-09-20 Visible Energy, Inc. Cloud-based refrigeration system
US20140156281A1 (en) * 2012-12-03 2014-06-05 Qualcomm Incorporated Voice-controlled configuration of an automation system
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
US20140179222A1 (en) * 2012-12-21 2014-06-26 Vishal Chaudhary Method and system for effective and efficient service support
US10330713B2 (en) 2012-12-21 2019-06-25 Electro Industries/Gauge Tech Intelligent electronic device having a touch sensitive user interface
US9716530B2 (en) 2013-01-07 2017-07-25 Samsung Electronics Co., Ltd. Home automation using near field communication
US8954956B2 (en) * 2013-01-15 2015-02-10 Wigwag, Llc Distributing and executing software code
US9008642B2 (en) 2013-01-17 2015-04-14 General Electric Company Mobile phone to appliance communication via audio sampling
US10094585B2 (en) 2013-01-25 2018-10-09 Honeywell International Inc. Auto test for delta T diagnostics in an HVAC system
US9870716B1 (en) * 2013-01-26 2018-01-16 Ip Holdings, Inc. Smart glasses and smart watches for real time connectivity and health
US9336118B2 (en) 2013-01-28 2016-05-10 Hewlett Packard Enterprise Development Lp Allocating test capacity from cloud systems
WO2014117247A1 (en) * 2013-01-29 2014-08-07 Blackberry Limited Managing application access to certificates and keys
US10085585B2 (en) * 2013-02-21 2018-10-02 Rain Mountain, Llc System and methods of improving the performance, safety and energy efficiency of a cooking appliance
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
EP2965156A4 (en) * 2013-03-05 2016-10-26 Schneider Electric Usa Inc SYSTEM AND METHOD FOR MANAGING INDUSTRIAL PROCESSES
US10063499B2 (en) 2013-03-07 2018-08-28 Samsung Electronics Co., Ltd. Non-cloud based communication platform for an environment control system
US20150019323A1 (en) * 2013-03-13 2015-01-15 Paul R. Goldberg Secure consumer data and metrics exchange method, apparatus, and system therefor
DE112014001381T5 (de) 2013-03-15 2016-03-03 Fisher-Rosemount Systems, Inc. Emerson Process Management Datenmodellierungsstudio
US20140263410A1 (en) * 2013-03-15 2014-09-18 The Coca-Cola Company Dispensing beverage components for use as ingredients in recipes
US10324423B2 (en) 2013-03-15 2019-06-18 Fisher-Rosemount Systems, Inc. Method and apparatus for controlling a process plant with location aware mobile control devices
US20140282103A1 (en) * 2013-03-16 2014-09-18 Jerry Alan Crandall Data sharing
US8819127B1 (en) 2013-04-12 2014-08-26 Fmr Llc Ensemble computing
US10445115B2 (en) * 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
FI20135421A (fi) * 2013-04-24 2014-10-25 Tellabs Oy Menetelmä sähkölaitteen ohjaamiseksi ja sähkölaite
US9696703B2 (en) 2013-05-18 2017-07-04 Fipak Research And Development Company Method and apparatus for ensuring air quality in a building, including method and apparatus for controlling a working device using a handheld unit having scanning, networking, display and input capability
US9135604B2 (en) * 2013-06-03 2015-09-15 Sap Se Synchronizing real and virtual software development
KR20140147583A (ko) * 2013-06-20 2014-12-30 한국전자통신연구원 산업제어 시스템의 부정 접근을 방지하기 위한 장치 및 그 방법
US9112790B2 (en) 2013-06-25 2015-08-18 Google Inc. Fabric network
KR102085114B1 (ko) * 2013-07-17 2020-03-05 삼성전자주식회사 홈 네트워크 시스템에서 스마트 모듈을 이용한 통신 방법 및 장치
US9431014B2 (en) 2013-07-25 2016-08-30 Haier Us Appliance Solutions, Inc. Intelligent placement of appliance response to voice command
US11909549B2 (en) 2013-07-26 2024-02-20 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US20170084132A1 (en) * 2013-07-26 2017-03-23 SkyBell Technologies, Inc. Doorbell communication systems and methods
US10440165B2 (en) 2013-07-26 2019-10-08 SkyBell Technologies, Inc. Doorbell communication and electrical systems
US20180343141A1 (en) 2015-09-22 2018-11-29 SkyBell Technologies, Inc. Doorbell communication systems and methods
US10672238B2 (en) 2015-06-23 2020-06-02 SkyBell Technologies, Inc. Doorbell communities
US11764990B2 (en) 2013-07-26 2023-09-19 Skybell Technologies Ip, Llc Doorbell communications systems and methods
US20170263067A1 (en) 2014-08-27 2017-09-14 SkyBell Technologies, Inc. Smart lock systems and methods
US11651665B2 (en) 2013-07-26 2023-05-16 Skybell Technologies Ip, Llc Doorbell communities
US20150033294A1 (en) * 2013-07-26 2015-01-29 Xtera Communications, Inc. Network management system architecture of a telecommunications network
US10708404B2 (en) 2014-09-01 2020-07-07 Skybell Technologies Ip, Llc Doorbell communication and electrical systems
US11889009B2 (en) 2013-07-26 2024-01-30 Skybell Technologies Ip, Llc Doorbell communication and electrical systems
US20150046704A1 (en) * 2013-08-06 2015-02-12 Texas Instruments Incorporated Target directed joining algorithm for multi-pan networks
US9366702B2 (en) 2013-08-23 2016-06-14 Green Edge Technologies, Inc. Devices and methods for determining whether an electrical device or component can sustain variations in voltage
EP3591903A3 (en) * 2013-09-16 2020-04-15 LG Electronics Inc. Home appliance
US9756131B2 (en) * 2013-10-01 2017-09-05 Verizon Deutschland Gmbh Label for use in the internet of things
US11812258B2 (en) 2013-10-04 2023-11-07 Sol Mingso Li Systems and methods for programming, controlling and monitoring wireless networks
US9736688B2 (en) 2013-10-04 2017-08-15 Sol Mingso Li Systems and methods for programming, controlling and monitoring wireless networks
US10652735B2 (en) 2013-10-04 2020-05-12 Sol Mingso Li Systems and methods for programming, controlling and monitoring wireless networks
CN104580079A (zh) * 2013-10-16 2015-04-29 宇宙互联有限公司 远程控制系统及方法
JP6454702B2 (ja) * 2013-11-04 2019-01-16 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 装置上のタスクをユーザに通知する方法
DE102013223934A1 (de) * 2013-11-22 2015-05-28 BSH Hausgeräte GmbH Haushaltsgerät
US9928672B2 (en) * 2013-12-05 2018-03-27 Wallflower Labs Inc. System and method of monitoring and controlling appliances and powered devices using radio-enabled proximity sensing
US9794989B2 (en) * 2013-12-06 2017-10-17 Panasonic Intellectual Property Corporation Of America Terminal apparatus and control method for assistive cooking
US20150179054A1 (en) * 2013-12-20 2015-06-25 Lennox Industries Inc. Mobile device interface for commercial rtu
SG11201605494QA (en) 2014-01-06 2016-08-30 Allure Energy Inc System, device, and apparatus for coordinating environments using network devices and remote sensory information
CN106464551A (zh) 2014-01-06 2017-02-22 魅力能源公司 一种使用网络装置和基于遥感的信息来协调环境的系统、装置和设备
WO2015116326A1 (en) * 2014-01-30 2015-08-06 Exxonmobil Research And Engineering Company Real time optimization of batch processes
CN103820970A (zh) * 2014-02-25 2014-05-28 江苏新安电器有限公司 一种可远程控制的洗衣机
JP6580049B2 (ja) * 2014-02-28 2019-09-25 フィパック・リサーチ・アンド・ディベロップメント・カンパニー 走査、ネットワーク化、表示、及び入力の能力を有する手持ち式ユニットを使用して作業デバイスを制御するための方法及び装置を含む、建造物内の空気品質を確保するための方法及び装置
DE102014206602A1 (de) * 2014-04-04 2015-10-08 BSH Hausgeräte GmbH Verfahren zum Konfigurieren eines Haushaltsgeräts sowie Haushaltsgerät
US9647888B2 (en) 2014-05-30 2017-05-09 Belkin International Inc. Network addressable appliance interface device
US9660458B2 (en) 2014-05-06 2017-05-23 Google Inc. Electrical load management
DE102014208861A1 (de) * 2014-05-12 2015-11-12 BSH Hausgeräte GmbH Wasserführendes Haushaltsgerät
US9891893B2 (en) 2014-05-21 2018-02-13 N.Io Innovation, Llc System and method for a development environment for building services for a platform instance
US10154095B2 (en) 2014-05-21 2018-12-11 N.Io Innovation, Llc System and method for aggregating and acting on signals from one or more remote sources in real time using a configurable platform instance
DE102014107163A1 (de) * 2014-05-21 2015-11-26 Vorwerk & Co. Interholding Gmbh Elektrisch betriebenes Haushaltsgerät
WO2015177639A1 (en) 2014-05-21 2015-11-26 Societal Innovations Ipco Limited System and method for fully configurable real time processing
US10412208B1 (en) * 2014-05-30 2019-09-10 Apple Inc. Notification systems for smart band and methods of operation
US9741244B2 (en) 2014-05-30 2017-08-22 Qualcomm Incorporated Methods, smart objects, and systems for naming and interacting with smart objects
US9294575B1 (en) 2014-06-04 2016-03-22 Grandios Technologies, Inc. Transmitting appliance-specific content to a user device
US20170085843A1 (en) 2015-09-22 2017-03-23 SkyBell Technologies, Inc. Doorbell communication systems and methods
US11184589B2 (en) 2014-06-23 2021-11-23 Skybell Technologies Ip, Llc Doorbell communication systems and methods
TWI602372B (zh) * 2014-06-25 2017-10-11 易家居聯網科技有限公司 電器設備監控方法與電器設備監控系統
US20160000251A1 (en) * 2014-07-03 2016-01-07 Carla Mosley Stove shut off system
CN106663297A (zh) 2014-07-07 2017-05-10 厨师步骤有限公司 与提供定制的烹饪指示相关的系统、产品和方法
US10820750B2 (en) 2014-08-05 2020-11-03 Lynx Grills, Inc. Computer-controlled grills
JP6765365B2 (ja) * 2014-09-04 2020-10-07 ユニヴァーシティ オブ ワシントン 単一の感知点からの電気デバイスのユーザ駆動動作状態の検出
DE102014113040A1 (de) * 2014-09-10 2016-03-10 Miele & Cie. Kg Verfahren zum Betrieb eines Haushaltsgerätesystems
US10226146B1 (en) 2014-09-21 2019-03-12 Smartstr Inc. Electric cooking system and a cooking method using the same
US10190248B2 (en) * 2014-09-27 2019-01-29 Esporta Wash Systems Inc. System for monitoring restoration quality to a third party certified standard of soft objects being washed remotely
US9942229B2 (en) * 2014-10-03 2018-04-10 Gopro, Inc. Authenticating a limited input device via an authenticated application
US9410712B2 (en) * 2014-10-08 2016-08-09 Google Inc. Data management profile for a fabric network
US10447676B2 (en) * 2014-10-10 2019-10-15 Adp, Llc Securing application programming interfaces (APIS) through infrastructure virtualization
EP3029380A1 (en) * 2014-12-03 2016-06-08 Electrolux Appliances Aktiebolag Method for performing a treatment by a domestic appliance and for processing information of said treatment by a mobile computer device
US10114638B2 (en) * 2014-12-15 2018-10-30 Cisco Technology, Inc. Command message generation and execution using a machine code-instruction
DE112015005709T5 (de) 2014-12-22 2017-09-14 ChefSteps, Inc. Nahrungsmittelzubereitungsführungs-system
CN104539454B (zh) 2014-12-24 2018-09-04 小米科技有限责任公司 设备管理方法、装置及系统
US10316581B1 (en) 2015-01-12 2019-06-11 Kinestral Technologies, Inc. Building model generation and intelligent light control for smart windows
US20160213187A1 (en) * 2015-01-27 2016-07-28 General Electric Company Method for operating an appliance in a sabbath operating mode
US10009965B2 (en) * 2015-01-28 2018-06-26 Samsung Electronics Co., Ltd. Gas detection apparatus, cooking apparatus, and method of controlling the apparatuses
WO2016123355A1 (en) 2015-01-30 2016-08-04 ChefSteps, Inc. Food preparation control system
US9729534B2 (en) * 2015-02-26 2017-08-08 Seagate Technology Llc In situ device authentication and diagnostic repair in a host environment
US10742938B2 (en) 2015-03-07 2020-08-11 Skybell Technologies Ip, Llc Garage door communication systems and methods
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
WO2016151398A1 (en) 2015-03-23 2016-09-29 Societal Innovations Ipco Limited System and method for configuring a platform instance at runtime
US10503145B2 (en) 2015-03-25 2019-12-10 Honeywell International Inc. System and method for asset fleet monitoring and predictive diagnostics using analytics for large and varied data sources
US11575537B2 (en) 2015-03-27 2023-02-07 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US10605460B2 (en) * 2015-03-30 2020-03-31 Samsung Electronics Co., Ltd. Cooking apparatus
US11381686B2 (en) 2015-04-13 2022-07-05 Skybell Technologies Ip, Llc Power outlet cameras
KR102266533B1 (ko) * 2015-04-29 2021-06-17 솔 밍소 리 무선 네트워크를 프로그래밍, 컨트롤 및 감시하기 위한 시스템 및 방법
CA2984503A1 (en) 2015-05-01 2016-11-10 Hubbell Incorporated Devices, systems, and methods for controlling electrical loads
US11641452B2 (en) 2015-05-08 2023-05-02 Skybell Technologies Ip, Llc Doorbell communication systems and methods
JP6796912B2 (ja) * 2015-05-26 2020-12-09 株式会社リコー 情報処理装置、情報処理システム、及びプログラム
CN106297057B (zh) * 2015-06-23 2020-12-25 青岛海尔洗衣机有限公司 自助洗衣机的控制方法、终端及系统
US20180047269A1 (en) 2015-06-23 2018-02-15 SkyBell Technologies, Inc. Doorbell communities
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
JP6902019B2 (ja) * 2015-07-21 2021-07-14 ブレビル ユーエスエー インクBreville USA, Inc. 食品調製制御システム
US10706702B2 (en) 2015-07-30 2020-07-07 Skybell Technologies Ip, Llc Doorbell package detection systems and methods
US10027866B2 (en) 2015-08-05 2018-07-17 Whirlpool Corporation Refrigerators having internal content cameras, and methods of operating the same
KR102436513B1 (ko) * 2015-08-12 2022-08-26 삼성전자 주식회사 전자 기기의 해상도 조정 방법 및 장치
KR101709469B1 (ko) * 2015-09-11 2017-02-23 엘지전자 주식회사 이동 단말기, 및 홈 어플라이언스
CN106549996A (zh) * 2015-09-22 2017-03-29 青岛海尔滚筒洗衣机有限公司 基于二维码的装置使用方法及洗衣机
US20170105129A1 (en) * 2015-10-08 2017-04-13 Terralux, Inc. Provisioning and commissioning retrofitted devices
US10944591B2 (en) 2015-10-14 2021-03-09 Electrolux Home Products, Inc. Automatically setting a clock of a network-connected apparatus
US10346446B2 (en) * 2015-11-02 2019-07-09 Radiant Geospatial Solutions Llc System and method for aggregating multi-source data and identifying geographic areas for data acquisition
CN108351109B (zh) * 2015-11-05 2019-11-22 松下知识产权经营株式会社 加热烹调器
US10346281B2 (en) * 2015-11-12 2019-07-09 Oracle International Corporation Obtaining and analyzing a reduced metric data set
WO2017087329A1 (en) 2015-11-16 2017-05-26 ChefSteps, Inc. Data aggregation and personalization for remotely controlled cooking devices
CN106702677B (zh) * 2015-11-17 2019-03-19 泰科电子(上海)有限公司 家电总线控制系统
CN108700301A (zh) * 2015-11-19 2018-10-23 帕麦特有限责任公司 用于食品存储和处理的集成和格间化系统
US9742581B2 (en) * 2015-12-18 2017-08-22 Whirlpool Corporation Appliance network with messaging
KR102416688B1 (ko) * 2016-01-06 2022-07-05 엘지전자 주식회사 식기세척기
ES2684424T3 (es) * 2016-02-09 2018-10-02 Vorwerk & Co. Interholding Gmbh Sistema y método para sincronizar los pasos de procesamiento de alimentos de un aparato de cocción multifunción con pasos de procesamiento de alimentos de un dispositivo de cocina a distancia
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
CN108604215B (zh) 2016-02-19 2022-04-05 三星电子株式会社 软件保护器装置和控制该软件保护器装置的方法
KR102403117B1 (ko) * 2016-02-22 2022-05-27 삼성전자주식회사 동글 및 그의 제어 방법
US10657199B2 (en) 2016-02-25 2020-05-19 Honeywell International Inc. Calibration technique for rules used with asset monitoring in industrial process control and automation systems
US10776706B2 (en) 2016-02-25 2020-09-15 Honeywell International Inc. Cost-driven system and method for predictive equipment failure detection
US11104502B2 (en) * 2016-03-01 2021-08-31 Jeffrey S. Melcher Multi-function compact appliance and methods for a food or item in a container with a container storage technology
US10912019B2 (en) * 2016-03-14 2021-02-02 Robert Bosch Gbmh Distributed wireless intercom audio routing over ethernet with synchronization and roaming
KR101776909B1 (ko) * 2016-03-29 2017-09-19 조용진 사물 인터넷 서비스를 제공하기 위한 동글 시스템
KR20170114360A (ko) 2016-04-04 2017-10-16 엘에스산전 주식회사 N-스크린 기능을 지원하는 원격 관리 시스템
US10257270B2 (en) * 2016-04-26 2019-04-09 International Business Machines Corporation Autonomous decentralized peer-to-peer telemetry
WO2017188909A1 (en) * 2016-04-28 2017-11-02 Gokmen Sabri Haluk Fuzzy logic algorithm based oven temperature control system
US11032282B2 (en) * 2016-04-29 2021-06-08 Ncr Corporation Interlinking cross platform authorization and processing
EP3449451B8 (en) 2016-04-29 2022-09-14 nChain Licensing AG Implementing logic gate functionality using a blockchain
US10643212B2 (en) 2016-05-15 2020-05-05 Bank Of America Corporation Linking channel-specific systems with a user authentication hub to provide omni-channel user authentication
US10666654B2 (en) 2016-05-15 2020-05-26 Bank Of America Corporation Linking channel-specific systems with a user authentication hub to provide omni-channel user authentication
US10049088B1 (en) * 2016-05-26 2018-08-14 Kirio Inc. Automated configuration system for complex system requiring exhaustive custom programming
US10853482B2 (en) 2016-06-03 2020-12-01 Honeywell International Inc. Secure approach for providing combined environment for owners/operators and multiple third parties to cooperatively engineer, operate, and maintain an industrial process control and automation system
US11003147B2 (en) 2016-06-12 2021-05-11 Apple Inc. Automatically grouping accessories
US10498552B2 (en) 2016-06-12 2019-12-03 Apple Inc. Presenting accessory state
JP6657025B2 (ja) * 2016-06-17 2020-03-04 シャープ株式会社 操作者推定システム
US10079881B2 (en) 2016-06-30 2018-09-18 International Business Machines Corporation Device self-servicing in an autonomous decentralized peer-to-peer environment
US10572530B2 (en) * 2016-07-03 2020-02-25 Apple Inc. Prefetching accessory data
US10609878B2 (en) 2016-07-15 2020-04-07 Rain Bird Corporation Wireless remote irrigation control
US10623509B2 (en) * 2016-07-28 2020-04-14 Accenture Global Solutions Limited Intelligent maintenance and repair of user properties
JP2019528525A (ja) * 2016-08-05 2019-10-10 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. キッチン器具を誘導加熱及びワイヤレス給電する調理システム
US10310467B2 (en) 2016-08-30 2019-06-04 Honeywell International Inc. Cloud-based control platform with connectivity to remote embedded devices in distributed control system
US9584381B1 (en) 2016-10-10 2017-02-28 Extrahop Networks, Inc. Dynamic snapshot value by turn for continuous packet capture
DE102016221614A1 (de) * 2016-11-04 2018-05-09 BSH Hausgeräte GmbH Verbinden eines Haushaltsgeräts mit einer Fernbedienung
US11190926B2 (en) 2016-11-09 2021-11-30 Ledvance Llc Radio based smart device identification tool for commissioning
DE102016125951A1 (de) 2016-12-30 2018-07-05 Fresenius Medical Care Deutschland Gmbh Vorrichtung zum Übertragen von Betriebs- und Maschinendaten eines Medizingeräts, Medizingerät sowie Verfahren zum Übertragen von Betriebs- und Maschinendaten eines Medizingeräts
US10087572B2 (en) 2017-02-16 2018-10-02 Whirlpool Corporation Washing machine
CN107018049A (zh) * 2017-03-09 2017-08-04 广东美的制冷设备有限公司 家电设备配网方法、装置和系统
US10476673B2 (en) 2017-03-22 2019-11-12 Extrahop Networks, Inc. Managing session secrets for continuous packet capture systems
GB2560765A (en) * 2017-03-24 2018-09-26 Howden Joinery Ltd Domestic product
US10070485B1 (en) 2017-04-17 2018-09-04 Silicon Valley Factory LLC Automatic heating system and method
US10101035B1 (en) 2017-04-17 2018-10-16 Silicon Valley Factory LLC Custom cooking program based on feedback
US10120553B1 (en) * 2017-04-17 2018-11-06 Sebastian Thrun User interface and controller for a heating system
US10009963B1 (en) 2017-04-17 2018-06-26 Silicon Valley Factory LLC Decoding a custom cooking program
US10061285B1 (en) 2017-04-17 2018-08-28 Silicon Valley Factory LLC Encoding a custom cooking program
US20180324061A1 (en) * 2017-05-03 2018-11-08 Extrahop Networks, Inc. Detecting network flow states for network traffic analysis
CN108931931A (zh) * 2017-05-27 2018-12-04 青岛海尔洗衣机有限公司 洗衣机的信息采集装置、信息采集系统和洗衣机
CN109211078B (zh) * 2017-06-30 2021-07-13 佛山市顺德区美的电热电器制造有限公司 安装故障检测装置和烹饪器具
USD861723S1 (en) * 2017-07-05 2019-10-01 Lg Electronics Inc. Oven display screen with graphical user interface
EP3428541B1 (en) * 2017-07-11 2020-05-06 Electrolux Appliances Aktiebolag Remote control system for controlling a domestic appliance
DE102017212316A1 (de) * 2017-07-19 2019-01-24 BSH Hausgeräte GmbH Haushaltsgeschirrspülmaschine, System mit Haushaltsgeschirrspülmaschine und Server und Verfahren zum Betreiben einer Haushaltsgeschirrspülmaschine
US10606586B2 (en) * 2017-08-01 2020-03-31 Accenture Global Solutions Limited Application architecture generation
CN109407567B (zh) * 2017-08-16 2022-02-11 佛山市顺德区美的电热电器制造有限公司 加热平台的控制方法、控制系统以及烹饪器具
CN111034130A (zh) * 2017-08-25 2020-04-17 祖美股份有限公司 用于识别通信总线上的部件的系统和方法
US10909825B2 (en) 2017-09-18 2021-02-02 Skybell Technologies Ip, Llc Outdoor security systems and methods
WO2019077591A1 (en) * 2017-10-20 2019-04-25 Connected Cooking Solutions Private Limited SYSTEM AND METHOD FOR REAL-TIME SYNCHRONIZATION OF A SET OF INSTRUCTIONS USING IDO DEVICES
US9967292B1 (en) 2017-10-25 2018-05-08 Extrahop Networks, Inc. Inline secret sharing
EP3704880A4 (en) 2017-10-30 2021-08-18 Cummins Inc. INTELLIGENT CONNECTOR KIT
US10367650B2 (en) * 2017-11-06 2019-07-30 Cognizant Technology Solutions India Pvt. Ltd. System and method for efficiently developing and testing home automation systems
CN109751630B (zh) * 2017-11-06 2021-06-08 天下父母(北京)科技有限公司 一种超低功耗燃气灶控制方法
US10747968B2 (en) 2017-11-22 2020-08-18 Jeffrey S. Melcher Wireless device and selective user control and management of a wireless device and data
CN108199918B (zh) * 2017-12-28 2021-06-15 Tcl家用电器(合肥)有限公司 一种测试洗衣机的方法及系统
US10506019B2 (en) * 2018-01-25 2019-12-10 Haier Us Appliance Solutions, Inc. Methods of servicing one or more consumer appliances
US10791001B2 (en) 2018-01-25 2020-09-29 Haier Us Appliance Solutions, Inc. Diagnostic tools and methods of servicing consumer appliances
US10389574B1 (en) 2018-02-07 2019-08-20 Extrahop Networks, Inc. Ranking alerts based on network monitoring
US10038611B1 (en) 2018-02-08 2018-07-31 Extrahop Networks, Inc. Personalization of alerts based on network monitoring
US10270794B1 (en) 2018-02-09 2019-04-23 Extrahop Networks, Inc. Detection of denial of service attacks
CN114070857A (zh) * 2018-03-26 2022-02-18 华为技术有限公司 一种数据处理的方法以及相关设备
IT201800004052A1 (it) * 2018-03-28 2019-09-28 Faber Spa Cappa verticale multifunzione perfezionata per aspirazione domestica
US11237550B2 (en) 2018-03-28 2022-02-01 Honeywell International Inc. Ultrasonic flow meter prognostics with near real-time condition based uncertainty analysis
DE102018205524A1 (de) * 2018-04-12 2019-10-17 BSH Hausgeräte GmbH Geschirrspülmaschine, Verfahren zum Betreiben einer Geschirrspülmaschine und Computerprogrammprodukt
US10278540B1 (en) * 2018-04-20 2019-05-07 P. Kenneth Huggins Conveyor toaster assembly and method
KR20230048573A (ko) 2018-05-07 2023-04-11 구글 엘엘씨 다양한 연결 디바이스를 제어하기 위한 복합 그래픽 어시스턴트 인터페이스 제공
DE102018209688A1 (de) 2018-06-15 2019-12-19 BSH Hausgeräte GmbH Wasserführendes Haushaltsgerät, Verfahren zum Betreiben eines wasserführenden Haushaltsgeräts und Computerprogrammprodukt
US11847010B2 (en) * 2018-07-02 2023-12-19 Haier Us Appliance Solutions, Inc. Appliance and methods for operating same in a safety-critical operation
CN109032827A (zh) * 2018-07-03 2018-12-18 郑州云海信息技术有限公司 一种跟踪导致内存溢出异常的测试系统及方法
KR20210059713A (ko) * 2018-08-07 2021-05-25 지니 엔터프라이즈 엘티디. 자동화된 컴퓨터 제어식 조리 시스템 및 방법
US10411978B1 (en) 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
US10594718B1 (en) 2018-08-21 2020-03-17 Extrahop Networks, Inc. Managing incident response operations based on monitored network activity
US11213158B2 (en) 2018-08-29 2022-01-04 Breville USA, Inc. Cooking system
US11234380B2 (en) 2018-09-27 2022-02-01 Rain Bird Corporation Irrigation controller with relays
US10523673B1 (en) * 2018-10-08 2019-12-31 Quest Automated Services, LLC Automation system controller
US11196863B2 (en) 2018-10-24 2021-12-07 Verint Americas Inc. Method and system for virtual assistant conversations
CN109547302B (zh) * 2018-11-08 2021-11-02 上海优悦信息科技有限公司 一种用于确定用户的关联目标信息的方法和家用电器
DE102018009944A1 (de) * 2018-12-18 2020-06-18 Diehl Ako Stiftung & Co. Kg Elektronisches Haushaltsgerät mit einem Steuerungssystem
US11631010B1 (en) 2019-01-06 2023-04-18 Adaptics Limited System and method for use with connected kitchen appliances
DE102019202085A1 (de) * 2019-02-15 2020-08-20 BSH Hausgeräte GmbH Steuern eines Haushaltsgeräts durch eine externe Stelle
US11269804B1 (en) * 2019-02-25 2022-03-08 Amazon Technologies, Inc. Hardware adapter to connect with a distributed network service
CN110069468A (zh) * 2019-03-18 2019-07-30 平安普惠企业管理有限公司 一种获取用户需求的方法及装置、电子设备
JP6962345B2 (ja) * 2019-03-22 2021-11-05 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US11722805B1 (en) 2019-04-10 2023-08-08 Alarm.Com Incorporated Electrical appliance power monitoring
US11206308B2 (en) 2019-04-26 2021-12-21 At&T Intellectual Property I, L.P. Facilitating support functionalities through a support appliance device in advanced networks
CN110209060B (zh) * 2019-05-23 2022-03-11 无锡小天鹅电器有限公司 一种控制方法及装置、设备和计算机存储介质
US10965702B2 (en) 2019-05-28 2021-03-30 Extrahop Networks, Inc. Detecting injection attacks using passive network monitoring
US20220361102A1 (en) * 2019-07-01 2022-11-10 Signify Holding B.V. Automatic power-on restart system for wireless network devices
US11165814B2 (en) 2019-07-29 2021-11-02 Extrahop Networks, Inc. Modifying triage information based on network monitoring
US10742530B1 (en) 2019-08-05 2020-08-11 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11388072B2 (en) 2019-08-05 2022-07-12 Extrahop Networks, Inc. Correlating network traffic that crosses opaque endpoints
US11075848B2 (en) * 2019-08-21 2021-07-27 Hewlett Packard Enterprise Development Lp Fast path for acknowledgement frames in wireless networks
US11074790B2 (en) 2019-08-24 2021-07-27 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US10742677B1 (en) 2019-09-04 2020-08-11 Extrahop Networks, Inc. Automatic determination of user roles and asset types based on network monitoring
US11016921B2 (en) * 2019-10-24 2021-05-25 Haier Us Appliance Solutions, Inc. Appliances and methods for off-board data storage
US11833517B2 (en) 2019-11-15 2023-12-05 Sundance Spas, Inc. Water testing systems and devices
EP3836043A1 (en) * 2019-12-11 2021-06-16 Carrier Corporation A method and an equipment for configuring a service
US11165823B2 (en) 2019-12-17 2021-11-02 Extrahop Networks, Inc. Automated preemptive polymorphic deception
US11501010B2 (en) 2020-05-20 2022-11-15 Snowflake Inc. Application-provisioning framework for database platforms
US11593354B2 (en) 2020-05-20 2023-02-28 Snowflake Inc. Namespace-based system-user access of database platforms
CN113818198B (zh) * 2020-06-18 2024-01-19 青岛海尔洗衣机有限公司 一种用于洗衣机的衣物处理剂的投放方法及洗衣机
EP4218212A1 (en) 2020-09-23 2023-08-02 ExtraHop Networks, Inc. Monitoring encrypted network traffic
US11463466B2 (en) 2020-09-23 2022-10-04 Extrahop Networks, Inc. Monitoring encrypted network traffic
CN112165413B (zh) * 2020-09-27 2022-08-26 海尔优家智能科技(北京)有限公司 设备状态上报方法及装置、电子装置
WO2022187044A1 (en) * 2021-03-02 2022-09-09 Blendtec, Inc. Cross-reference to related applications
US11349861B1 (en) 2021-06-18 2022-05-31 Extrahop Networks, Inc. Identifying network entities based on beaconing activity
WO2023031847A1 (en) * 2021-09-01 2023-03-09 X-Tend Robotics Ltd. Method for designing special function robots
US11296967B1 (en) 2021-09-23 2022-04-05 Extrahop Networks, Inc. Combining passive network analysis and active probing
US11947714B2 (en) 2021-11-09 2024-04-02 Haier Us Appliance Solutions, Inc. System and method for authorizing appliance access
US11811548B2 (en) * 2022-02-02 2023-11-07 Barracuda Networks, Inc. System and method for appliance configuration identification and profile management
US11843606B2 (en) 2022-03-30 2023-12-12 Extrahop Networks, Inc. Detecting abnormal data access based on data similarity
US11888640B2 (en) * 2022-05-03 2024-01-30 Haier Us Appliance Solutions, Inc. System and method for data transmission for appliance
US11930980B2 (en) * 2022-05-04 2024-03-19 Haier Us Appliance Solutions, Inc. Appliance and method for cleaning context detection
US11811681B1 (en) 2022-07-12 2023-11-07 T-Mobile Usa, Inc. Generating and deploying software architectures using telecommunication resources
DE102022119591B4 (de) * 2022-08-04 2024-03-21 Wittenstein Se Verfahren zur Bereitstellung von Antriebsdaten und Computersystem
US11902129B1 (en) 2023-03-24 2024-02-13 T-Mobile Usa, Inc. Vendor-agnostic real-time monitoring of telecommunications networks

Family Cites Families (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
US4345132A (en) * 1978-12-01 1982-08-17 Mitsubishi Denki Kabushiki Kaisha Cooking apparatus
JPS56935A (en) * 1979-06-15 1981-01-08 Matsushita Electric Ind Co Ltd High-frequency heating device
US4425627A (en) 1981-02-23 1984-01-10 Sperry Corporation Intelligent prompting terminal apparatus
US4447692A (en) 1981-05-18 1984-05-08 Essex Group, Inc. Control system with interactive display
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
JPS58148316A (ja) 1982-02-26 1983-09-03 Sharp Corp 調理装置
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
US4520576A (en) 1983-09-06 1985-06-04 Whirlpool Corporation Conversational voice command control system for home appliance
US4823283A (en) 1986-10-14 1989-04-18 Tektronix, Inc. Status driven menu system
US5041967A (en) 1987-10-13 1991-08-20 Bell Communications Research, Inc. Methods and apparatus for dynamic menu generation in a menu driven computer system
US5124942A (en) 1988-09-28 1992-06-23 Solatrol, Inc. Machine interface with cyclically displayed hierarchical menus and user selection of menu items by actuation of a single switch
US5187797A (en) 1988-09-28 1993-02-16 Solatrol, Inc. Machine interface system with hierarchal menus allowing user sequencing and selection of menu items by actuation of three switches
NO303200B1 (no) 1988-11-04 1998-06-08 Merlin Gerin Bygningsteknisk styringsenhet med totrÕds data- og kraftforsyningslinje
US5113398A (en) 1989-06-01 1992-05-12 Shackleton System Drives Corporation Self-healing data network and network node controller
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5359540A (en) 1990-07-23 1994-10-25 Hugo Ortiz Computer assisted electric power management
DE4038801A1 (de) 1990-12-05 1992-06-11 Bosch Siemens Hausgeraete Microcomputer-steuerung fuer elektrische haushaltsgeraete o. dgl.
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
US5295260A (en) 1991-05-31 1994-03-15 Cray Research Systems, Inc. Memory range monitoring apparatus for a multiprocessor computer system
US5265254A (en) 1991-08-14 1993-11-23 Hewlett-Packard Company System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
US5450586A (en) 1991-08-14 1995-09-12 Hewlett-Packard Company System for analyzing and debugging embedded software through dynamic and interactive use of code markers
FR2680592B1 (fr) * 1991-08-23 1994-02-25 Toshiba Kk Systeme de commande a distance.
US7133834B1 (en) * 1992-08-06 2006-11-07 Ferrara Ethereal Llc Product value information interchange server
US5999908A (en) * 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5890122A (en) 1993-02-08 1999-03-30 Microsoft Corporation Voice-controlled computer simulateously displaying application menu and list of available commands
US5321229A (en) * 1993-04-05 1994-06-14 Whirlpool Corporation Remote control for a domestic appliance
JP3160825B2 (ja) 1993-04-30 2001-04-25 三菱電機ホーム機器株式会社 加熱調理器
GB9320052D0 (en) 1993-09-29 1993-11-17 Philips Electronics Uk Ltd Testing and monitoring of programmed devices
IL111154A0 (en) 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5640542A (en) 1993-10-29 1997-06-17 Intel Corporation On-chip in-circuit-emulator memory mapping and breakpoint register modules
NO941202L (no) * 1994-03-30 1995-10-02 Oeystein Konsmo Fremgangsmåte til overvåking og generering av meldinger samt utstyr hvor fremgangsmåten anvendes
GB9406477D0 (en) * 1994-03-31 1994-05-25 D2B Systems Co Ltd Interconnection of local communication bus systems
US6151567A (en) 1994-05-27 2000-11-21 Hamilton Sundstrand Corporation Data communication analysis and simulation tool
KR0129962B1 (ko) * 1994-07-26 1998-04-09 김광호 전자 레인지의 모의 작동방법 및 장치
DE4435931C2 (de) * 1994-10-07 1998-06-04 Convotherm Elektrogeraete Bedienungseinrichtung für ein Gargerät
US5520576A (en) * 1994-11-09 1996-05-28 Pisces Industries, Ltd. Fish filleting machine
US6024867A (en) * 1994-12-28 2000-02-15 Water Safety Corp. Of America Counter top water filter with replaceable electronic display monitor
US5745717A (en) 1995-06-07 1998-04-28 Vayda; Mark Graphical menu providing simultaneous multiple command selection
US5737516A (en) 1995-08-30 1998-04-07 Motorola, Inc. Data processing system for performing a debug function and method therefor
EP0762280B1 (en) 1995-08-30 2001-11-14 Motorola, Inc. Data processor with built-in emulation circuit
US5964893A (en) 1995-08-30 1999-10-12 Motorola, Inc. Data processing system for performing a trace function and method therefor
US5544311A (en) 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5815297A (en) * 1995-10-25 1998-09-29 General Instrument Corporation Of Delaware Infrared interface and control apparatus for consumer electronics
US6289396B1 (en) * 1995-11-21 2001-09-11 Diamond Multimedia Systems, Inc. Dynamic programmable mode switching device driver architecture
DE19548776A1 (de) * 1995-12-23 1997-06-26 Thomson Brandt Gmbh Verfahren zur Fernbedienung von elektronischen Geräten und Vorrichtung zur Fernbedienung von elektronischen Geräten sowie elektronisches Gerät
EP0827616B1 (en) * 1996-02-08 2002-04-24 Koninklijke Philips Electronics N.V. Initialisation of a wireless security system
DE19615840A1 (de) * 1996-04-20 1997-10-30 Bosch Gmbh Robert Elektrisches Hausgerät
US5875430A (en) * 1996-05-02 1999-02-23 Technology Licensing Corporation Smart commercial kitchen network
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6044305A (en) 1996-10-04 2000-03-28 Fisher Controls International, Inc. Method and apparatus for debugging and tuning a process control network having distributed control functions
US6021429A (en) * 1996-11-18 2000-02-01 Canon Information Systems, Inc. Network device which maintains a list of device addresses
US6009355A (en) 1997-01-28 1999-12-28 American Calcar Inc. Multimedia information and control system for automobiles
US6243772B1 (en) * 1997-01-31 2001-06-05 Sharewave, Inc. Method and system for coupling a personal computer with an appliance unit via a wireless communication link to provide an output display presentation
AU6551898A (en) * 1997-03-10 1998-09-29 Innovative Medical Services Method and apparatus for dispensing fluids
US6186140B1 (en) * 1997-03-14 2001-02-13 3M Innovative Properties Company Respiratory filter element having a storage device for keeping track of filter usage and a system for use therewith
US6189140B1 (en) 1997-04-08 2001-02-13 Advanced Micro Devices, Inc. Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US6094729A (en) 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6154856A (en) 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6003065A (en) * 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US5888381A (en) * 1997-05-16 1999-03-30 United States Filter Corporation Water filter with pressure actuated flow monitor
EP0933596B1 (en) 1997-06-19 2017-04-19 Panasonic Intellectual Property Management Co., Ltd. Cooking device
ID24894A (id) 1997-06-25 2000-08-31 Samsung Electronics Co Ltd Cs Metode dan apparatus untuk pembangun tiga-oto suatu jaringan rumah
DE19746423C2 (de) 1997-10-21 1999-08-19 Bosch Siemens Hausgeraete Elektrisches Haushaltsgerät mit Demonstrations-Mode
US6121898A (en) 1997-10-28 2000-09-19 Moetteli; John B. Traffic law enforcement system
US6175914B1 (en) 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
US6052750A (en) 1998-01-06 2000-04-18 Sony Corporation Of Japan Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith
US6160796A (en) * 1998-01-06 2000-12-12 Sony Corporation Of Japan Method and system for updating device identification and status information after a local bus reset within a home audio/video network
US6469714B2 (en) 1998-01-26 2002-10-22 International Business Machines Corporation Infocenter user interface for applets and components
US6704804B1 (en) 1998-01-26 2004-03-09 International Business Machines Corporation Method and system for communicating information among interactive applications
US6266716B1 (en) 1998-01-26 2001-07-24 International Business Machines Corporation Method and system for controlling data acquisition over an information bus
US6704803B2 (en) 1998-01-26 2004-03-09 International Business Machines Corporation Method and system for distributing data events over an information bus
US6105122A (en) * 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6148349A (en) * 1998-02-06 2000-11-14 Ncr Corporation Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
US6490726B2 (en) * 1998-03-23 2002-12-03 Icebox, Llc Appliances with the internet access
DE69919619T2 (de) 1998-03-30 2005-09-08 Sharp K.K. Kochgerät
JP3684832B2 (ja) 1998-03-31 2005-08-17 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びデバッグシステム
JP3545256B2 (ja) * 1998-04-17 2004-07-21 松下電器産業株式会社 送信装置及び受信装置
US6847614B2 (en) 1998-04-20 2005-01-25 Broadcom Corporation Apparatus and method for unilateral topology discovery in network management
US6295272B1 (en) 1998-04-20 2001-09-25 Gadzoox Networks, Inc. Subchannel modulation scheme for carrying management and control data outside the regular data channel
US6426947B1 (en) 1998-10-21 2002-07-30 Kim K. Banker Apparatus and method for unilateral topology discovery in network management
US6321331B1 (en) 1998-04-22 2001-11-20 Transwitch Corporation Real time debugger interface for embedded systems
US6134676A (en) 1998-04-30 2000-10-17 International Business Machines Corporation Programmable hardware event monitoring method
KR100607215B1 (ko) * 1998-05-07 2006-08-01 삼성전자주식회사 네트워크에서 사용자와 디바이스 명령 및 제어 방법 및 장치
SE9801678L (sv) 1998-05-13 1999-11-14 Axis Ab Datorchip och datoranordning med förbättrad avlusningsförmåga
US6285966B1 (en) 1998-06-25 2001-09-04 Fisher Controls International, Inc. Function block apparatus for viewing data in a process control system
US7586398B2 (en) * 1998-07-23 2009-09-08 Universal Electronics, Inc. System and method for setting up a universal remote control
US6233619B1 (en) * 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6711632B1 (en) * 1998-08-11 2004-03-23 Ncr Corporation Method and apparatus for write-back caching with minimal interrupts
US6121593A (en) 1998-08-19 2000-09-19 Duck Creek Energy, Inc. Home appliances provided with control systems which may be actuated from a remote location
US6557756B1 (en) * 1998-09-04 2003-05-06 Ncr Corporation Communications, particularly in the domestic environment
EP0992904B1 (en) 1998-10-06 2010-06-09 Texas Instruments Inc. Cache coherence during emulation
WO2000022884A1 (en) * 1998-10-09 2000-04-20 Microwave Science, Llc Interpretive language architecture for controlling the attributes of a physical, chemical, or thermodynamic process
JP4142175B2 (ja) 1998-10-20 2008-08-27 松下電器産業株式会社 グラフィカルユーザインタフェース装置
KR20010089113A (ko) * 1999-01-06 2001-09-29 로버트 지. 해리슨 다중 작동 모드를 가지는 장치
CA2325494A1 (en) * 1999-01-22 2000-07-27 Leviton Manufacturing Co., Inc. Method of adding a device to a network
US7111242B1 (en) * 1999-01-27 2006-09-19 Gateway Inc. Method and apparatus for automatically generating a device user interface
US6559882B1 (en) * 1999-09-02 2003-05-06 Ncr Corporation Domestic appliance
EP1090344B1 (en) 1999-03-05 2003-12-17 Amulet Technologies, LLC Graphical user interface engine for embedded systems
US6957438B1 (en) * 1999-03-26 2005-10-18 Nortel Networks Limited Network device application programming interface
US6665681B1 (en) * 1999-04-09 2003-12-16 Entrieva, Inc. System and method for generating a taxonomy from a plurality of documents
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
JP2006313561A (ja) 1999-04-30 2006-11-16 Renesas Technology Corp データ処理装置
US6567032B1 (en) * 1999-06-30 2003-05-20 International Business Machines Corp. Method of directing communication between addressable targets using a generalized pointing device
US6801507B1 (en) 1999-07-27 2004-10-05 Samsung Electronics Co., Ltd. Device discovery and configuration in a home network
US6668339B1 (en) 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function
AU6782800A (en) * 1999-08-16 2001-07-03 Z-Force Corporation System of reusable software parts for implementing concurrency and hardware access, and methods of use
US6683065B1 (en) * 1999-08-19 2004-01-27 Host Pharmaceuticals Llc Method of treating body insect infestation
US6337469B1 (en) 1999-09-10 2002-01-08 Samsung Electronics Co., Ltd. Cooker
US6486453B1 (en) 1999-09-13 2002-11-26 Maytag Corporation Menu driven control system for a cooking appliance
DE19950433A1 (de) 1999-10-19 2001-04-26 Philips Corp Intellectual Pty Netzwerk mit mehreren Netzknoten zur Medienzugangsprüfung
US7172121B2 (en) * 2000-11-03 2007-02-06 Claricom Limited System and method for applying codes onto packaged products
US6539501B1 (en) 1999-12-16 2003-03-25 International Business Machines Corporation Method, system, and program for logging statements to monitor execution of a program
AU2295101A (en) * 1999-12-30 2001-07-16 C-Smart Llc Method and apparatus for providing distributed control of a home automation system
US7526539B1 (en) * 2000-01-04 2009-04-28 Pni Corporation Method and apparatus for a distributed home-automation-control (HAC) window
US6453687B2 (en) * 2000-01-07 2002-09-24 Robertshaw Controls Company Refrigeration monitor unit
US6934862B2 (en) 2000-01-07 2005-08-23 Robertshaw Controls Company Appliance retrofit monitoring device with a memory storing an electronic signature
US7187924B2 (en) * 2000-02-08 2007-03-06 Fitsense Technology, Inc. Intelligent data network with power management capabilities
US20020158910A1 (en) * 2000-02-17 2002-10-31 Sharrow John Anthony Adaptive menu appliance control with user interface options
EP1133188A3 (en) * 2000-02-23 2004-11-24 Sony Corporation Information processing apparatus, network system, recording medium
DE60139172D1 (de) * 2000-03-29 2009-08-20 Lg Electronics Inc System zum ferngemeldeten gesteuerten Wäsche und Verfahren dafür
US20050091576A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6681248B1 (en) * 2000-04-12 2004-01-20 Sycamore Networks, Inc. Method for port connectivity discovery in transparent high bandwidth networks
CA2306974A1 (en) 2000-04-28 2001-10-28 Ibm Canada Limited-Ibm Canada Limitee Management of application programming interface interoperability
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US20030005407A1 (en) 2000-06-23 2003-01-02 Hines Kenneth J. System and method for coordination-centric design of software systems
JP2002027576A (ja) * 2000-07-05 2002-01-25 Toshiba Corp リモートコントローラ及び携帯電話及び電子機器及びその制御方法
KR100342569B1 (ko) 2000-07-13 2002-07-02 윤종용 상호 대화형 세탁기 관리 장치
US20030023435A1 (en) * 2000-07-13 2003-01-30 Josephson Daryl Craig Interfacing apparatus and methods
US7234062B2 (en) * 2000-07-18 2007-06-19 General Electric Company Authentication of remote appliance messages using an embedded cryptographic device
JP3850643B2 (ja) 2000-08-02 2006-11-29 株式会社日立製作所 表示装置を備えた家庭用電気機器
JP2002074086A (ja) 2000-08-29 2002-03-12 Tiger Vacuum Bottle Co Ltd インターネットを用いた家電機器の模擬実演販売方法
DE60131713T2 (de) 2000-09-04 2008-11-13 Lg Electronics Inc. Waschmachine und Verfahren zum ändern der Systemdaten in dieser Maschine
JP2002085885A (ja) 2000-09-11 2002-03-26 Toshiba Corp ランドリーシステム
TW593950B (en) * 2000-09-11 2004-06-21 Toshiba Corp Remote inspection system for refrigerator
US7272643B1 (en) 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US6965615B1 (en) * 2000-09-18 2005-11-15 Cisco Technology, Inc. Packet striping across a parallel header processor
US6587739B1 (en) * 2000-09-29 2003-07-01 Sunbeam Products, Inc. Appliance communication and control system and appliances for use in same
WO2002046916A2 (en) 2000-10-20 2002-06-13 Polexis, Inc. Extensible information system (xis)
US6690979B1 (en) * 2000-10-31 2004-02-10 Maytag Corporation Intelligent appliance network
US7305465B2 (en) * 2000-11-15 2007-12-04 Robert Wing Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
DE60021092T2 (de) 2000-11-21 2006-05-18 Siemens Mobile Communications S.P.A. Vorrichtung und Verfahren zur Echtzeitfehlerbeseitigung von Quellprogrammen, insbesondere für DSP
KR100359827B1 (ko) * 2000-11-27 2002-11-07 엘지전자 주식회사 홈 어플라이언스 네트워크 장치 및 방법
US7171475B2 (en) 2000-12-01 2007-01-30 Microsoft Corporation Peer networking host framework and hosting API
US6742136B2 (en) 2000-12-05 2004-05-25 Fisher-Rosemount Systems Inc. Redundant devices in a process control system
EP1598714B1 (en) * 2000-12-13 2016-09-28 LG Electronics Inc. Apparatus and method for remotely controlling household appliances
US6502265B2 (en) 2000-12-21 2003-01-07 Maytag Corporation Interactive control system for a laundry appliance
KR100439238B1 (ko) 2000-12-23 2004-07-05 엘지전자 주식회사 전송유니트간 송수신 데이터의 릴라이어블 프로토콜운용방법
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US20020107716A1 (en) * 2001-02-07 2002-08-08 Kevin Callahan Methods and apparatus for scheduling an in-home appliance repair service
JP2002259657A (ja) * 2001-02-28 2002-09-13 Square Co Ltd 電化製品、ネットワークシステム、ネットワークを用いた電化製品の制御方法およびその方法を達成するプログラム列ならびにコンピュータ可読記憶媒体
JP4149178B2 (ja) * 2001-03-09 2008-09-10 松下電器産業株式会社 リモートメンテナンスシステム
US7219157B2 (en) 2001-03-23 2007-05-15 Lucent Technologies Inc. Application programming interface for network applications
US6948098B2 (en) * 2001-03-30 2005-09-20 Cirrus Logic, Inc. Circuits and methods for debugging an embedded processor and systems using the same
US6577231B2 (en) * 2001-04-03 2003-06-10 Thomson Licensing Sa Clock synchronization over a powerline modem network for multiple devices
KR20020078335A (ko) * 2001-04-09 2002-10-18 삼성전자 주식회사 인터넷 전자레인지 메모리 팩의 데이터 처리방법
DE10117905B4 (de) * 2001-04-10 2014-09-11 BSH Bosch und Siemens Hausgeräte GmbH Haushaltgerät mit einer Anzeigevorrichtung
KR100393580B1 (ko) * 2001-05-02 2003-08-02 엘지전자 주식회사 가전기기 네트워크 시스템 및 관리정보전송방법
US7111247B2 (en) 2001-07-02 2006-09-19 Lg Electronics Inc. Device and method for controlling menu display of microwave oven
US6882280B2 (en) 2001-07-16 2005-04-19 Maytag Corporation Electronic message center for a refrigerator
KR100424297B1 (ko) * 2001-07-20 2004-03-24 엘지전자 주식회사 가전기기 제어시스템 및 그 동작방법
US6934592B2 (en) * 2001-08-02 2005-08-23 Maytag Corporation Household appliance with advertising display mode
US6813526B1 (en) * 2001-08-13 2004-11-02 William A. Dodd, Jr. Fleet maintenance method
US7039953B2 (en) * 2001-08-30 2006-05-02 International Business Machines Corporation Hierarchical correlation of intrusion detection events
WO2003031876A1 (en) 2001-10-05 2003-04-17 Access Business Group International Llc Interactive cooking appliance
US6622925B2 (en) * 2001-10-05 2003-09-23 Enernet Corporation Apparatus and method for wireless control
KR20030031202A (ko) 2001-10-12 2003-04-21 주식회사 엘지이아이 컴퓨터를 통한 사용자 인터페이스 방법
WO2003034225A2 (en) 2001-10-12 2003-04-24 Pts Corporation Debugging of processors
US7343407B2 (en) 2001-10-15 2008-03-11 Ricoh Company, Ltd. Method and system of remote monitoring and support of devices, including handling Email messages having message types specified within the Email message
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
KR20030035228A (ko) 2001-10-30 2003-05-09 삼성전기주식회사 유무선 통합형 랜카드
US7426572B1 (en) * 2001-10-31 2008-09-16 Juniper Networks, Inc. Network router using embedded and external memory based on packet destination
US20030083770A1 (en) 2001-11-01 2003-05-01 Williamson Charles G. Intelligent breadmaker appliance
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US7069468B1 (en) 2001-11-15 2006-06-27 Xiotech Corporation System and method for re-allocating storage area network resources
US7003688B1 (en) 2001-11-15 2006-02-21 Xiotech Corporation System and method for a reserved memory area shared by all redundant storage controllers
US6883065B1 (en) 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
US7043663B1 (en) * 2001-11-15 2006-05-09 Xiotech Corporation System and method to monitor and isolate faults in a storage area network
US6996741B1 (en) * 2001-11-15 2006-02-07 Xiotech Corporation System and method for redundant communication between redundant controllers
US6750433B2 (en) * 2001-11-29 2004-06-15 General Electric Company Oven display and user interface
JP2003172578A (ja) * 2001-12-07 2003-06-20 Hitachi Ltd ネットワーク対応家電機器、家電機器点検システム及び家電機器点検サービス
US7069562B2 (en) 2001-12-12 2006-06-27 Sun Microsystems, Inc. Application programming interface for connecting a platform independent plug-in to a web browser
US6919815B2 (en) 2002-01-24 2005-07-19 Emerson Electric Co. Appliance control communication methods and apparatus
US20030212654A1 (en) 2002-01-25 2003-11-13 Harper Jonathan E. Data integration system and method for presenting 360° customer views
US7043718B1 (en) 2002-02-15 2006-05-09 Lsi Logic Corporation System real-time analysis tool
CN1447239A (zh) * 2002-02-18 2003-10-08 松下电器产业株式会社 轮廓信息取得程序及轮廓信息取得装置
US7516447B2 (en) 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
DE10208147A1 (de) 2002-02-26 2003-09-04 Bsh Bosch Siemens Hausgeraete Gebäude-Gateway-Rechneranordnung und Steuerungssystem
KR100420526B1 (ko) * 2002-03-15 2004-03-02 엘지전자 주식회사 가전기기 네트워크 시스템 및 그 제어방법
KR100437042B1 (ko) * 2002-03-20 2004-06-23 엘지전자 주식회사 가전기기 네트워크 시스템 및 그 제어방법
US7246144B2 (en) * 2002-03-25 2007-07-17 Data Quality Solutions Method and system for managing a plurality of enterprise business systems
US7428597B2 (en) * 2002-03-28 2008-09-23 Sap Ag Content-based routing system and method
EP1351447A1 (en) * 2002-04-05 2003-10-08 Sony International (Europe) GmbH Management and control of networked audio-video devices
US7149983B1 (en) * 2002-05-08 2006-12-12 Microsoft Corporation User interface and method to facilitate hierarchical specification of queries using an information taxonomy
US7177311B1 (en) 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7177859B2 (en) * 2002-06-26 2007-02-13 Microsoft Corporation Programming model for subscription services
JP2004040285A (ja) * 2002-07-01 2004-02-05 Matsushita Electric Ind Co Ltd 家庭電化製品の制御装置、制御方法、制御プログラムおよび家庭電化製品
DE10230476A1 (de) * 2002-07-06 2004-01-29 Schott Glas Einrichtung zur Fernabfrage und/oder Fernbeeinflussung von Betriebszuständen eines Gerätes, insbesondere eines elektrischen Haushaltsgerätes
US6907039B2 (en) 2002-07-20 2005-06-14 Redback Networks Inc. Method and apparatus for routing and forwarding between virtual routers within a single network element
US7487509B2 (en) * 2002-08-08 2009-02-03 Sun Microsystems, Inc. System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments
IL151251A0 (en) 2002-08-14 2003-04-10 Elta Systems Ltd Parallel processing platform with synchronous system halt-resume
US20040098504A1 (en) * 2002-08-27 2004-05-20 Matsushita Electric Industrial Co., Ltd. Routing processing and method in home bus system
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
JP2004096591A (ja) * 2002-09-03 2004-03-25 Hitachi Ltd 家電機器遠隔制御システム及び家電機器のコントローラ
US7213208B2 (en) 2002-09-12 2007-05-01 Sap Ag Data container for interaction between a client process and software applications
US6873255B2 (en) * 2002-09-14 2005-03-29 Andrew C. Gallagher Appliance communication system
KR20040025315A (ko) * 2002-09-19 2004-03-24 삼성전자주식회사 무선랜카드 및 그 제어방법
KR20040026816A (ko) 2002-09-26 2004-04-01 삼성전자주식회사 전자렌지
CN1176536C (zh) 2002-09-29 2004-11-17 联想(北京)有限公司 家庭网络中的家电控制系统和方法
US7904527B2 (en) * 2002-09-30 2011-03-08 Sony Ericsson Mobile Communications Ab System and method for remote servicing of embedded devices
US6993615B2 (en) 2002-11-15 2006-01-31 Microsoft Corporation Portable computing device-integrated appliance
US7733783B2 (en) * 2002-12-03 2010-06-08 Cedar Point Communications, Inc. Ethernet network availability
US7152180B2 (en) * 2002-12-06 2006-12-19 Ntt Docomo, Inc. Configurable reliable messaging system
US20040163126A1 (en) * 2003-01-31 2004-08-19 Qwest Communications International Inc. Methods and apparatus for delivering a computer data stream to a video appliance with a network interface device
US7090141B2 (en) * 2003-03-10 2006-08-15 Lg Electronics Inc. Networking system of refrigerator and method for operating the same
CA2424006A1 (en) * 2003-03-28 2004-09-28 Ibm Canada Limited - Ibm Canada Limitee A technique to generically manage extensible correlation data
US20040260407A1 (en) 2003-04-08 2004-12-23 William Wimsatt Home automation control architecture
US6933477B2 (en) 2003-04-10 2005-08-23 Maytag Corporation Menu driven control system for a cooking appliance
US20040219951A1 (en) * 2003-04-29 2004-11-04 Holder Helen A Program controlled apparatus, system and method for remote data messaging and display over an interactive wireless communications network
US7275251B2 (en) * 2003-05-07 2007-09-25 Cisco Technology, Inc. Selective process restart based on API changes
JP2004333079A (ja) 2003-05-12 2004-11-25 Toshiba Corp 家庭電化機器
WO2004102438A2 (en) * 2003-05-16 2004-11-25 Sap Aktiengesellschaft Business process management for a message-based exchange infrastructure
US6988375B2 (en) 2003-06-09 2006-01-24 Whirlpool Corporation System and method for remote appliance monitoring
JP2005026740A (ja) 2003-06-30 2005-01-27 Matsushita Electric Ind Co Ltd 機器制御インタフェース構築方法
US7289988B2 (en) * 2003-07-08 2007-10-30 Hewlett-Packard Development Company, L.P. Method and system for managing events
KR100575311B1 (ko) * 2003-07-16 2006-05-02 엘지전자 주식회사 인터넷 전자레인지 및 그 통신 방법
EP1654656A4 (en) 2003-07-25 2010-08-04 Arthur R Zingher DEVICE AND METHOD FOR SOFTWARE DEBUGGING
JP2005056207A (ja) * 2003-08-05 2005-03-03 Sanyo Electric Co Ltd ネットワークシステム、宅内機器制御サーバおよび仲介サーバ
DE10340627A1 (de) 2003-09-03 2005-04-07 Infineon Technologies Ag Steuerbare Hausgeräte-Anordnung und/oder steuerbare Industriegeräte-Anordnung und Steuersystem zum Steuern einer Hausgeräte-Anordnung und/oder Industriegeräte-Anordnung
KR20050034412A (ko) * 2003-10-09 2005-04-14 엘지전자 주식회사 가전기기 네트워크 시스템
US7136709B2 (en) 2003-11-04 2006-11-14 Universal Electronics Inc. Home appliance control system and methods in a networked environment
KR20060133972A (ko) * 2003-11-05 2006-12-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 매체 제공 엔티티에서 제어 포인트에 대한 상이한 허가들
US20050103466A1 (en) * 2003-11-19 2005-05-19 Landry Kenneth D. Refrigerator-oven
FR2863425B1 (fr) * 2003-12-04 2006-02-10 Gemplus Card Int Procede et systeme de configuration automatique d'appareil dans un reseau de communication
US7328045B2 (en) 2003-12-24 2008-02-05 Robert Bosch Gmbh Secure and intuitive method for wireless network set-up and associated device and system
KR101054185B1 (ko) 2003-12-26 2011-08-03 엘지전자 주식회사 원격 제어 시스템
KR20050068297A (ko) 2003-12-30 2005-07-05 엘지전자 주식회사 원격제어시스템 및 그 제어방법
US7188002B2 (en) * 2004-01-08 2007-03-06 Maple Chase Company Appliance diagnostic display apparatus and network incorporating same
CN1914368A (zh) * 2004-01-29 2007-02-14 松下电器产业株式会社 信息家电系统
US20050172282A1 (en) 2004-01-30 2005-08-04 Michael Shenfield System and method for publishing and accessing application APIs on a generic terminal
US20050193201A1 (en) 2004-02-26 2005-09-01 Mahfuzur Rahman Accessing and controlling an electronic device using session initiation protocol
US7117051B2 (en) * 2004-03-15 2006-10-03 Tmio, Llc Appliance communication system and method
CN1674594A (zh) * 2004-03-23 2005-09-28 松下电器产业株式会社 器械控制装置、电器械、器械设置地点的设定系统、设定方法及程序
US7523237B2 (en) 2004-04-01 2009-04-21 Delphi Tecnhologies, Inc. Method and protocol for diagnostics or arbitrarily complex networks of devices
EP1589698A1 (en) * 2004-04-19 2005-10-26 Lg Electronics Inc. Home network system and method for operating the same
US7680691B2 (en) 2004-04-29 2010-03-16 S.C. Johnson & Son, Inc. Inventory management system using RFID
US20060010019A1 (en) * 2004-05-26 2006-01-12 Phillips Scott H Method and system for providing customer service for a household appliance
US20060015299A1 (en) * 2004-06-14 2006-01-19 Mcdermott Scott A Network architecture and protocol for spacecraft systems
WO2006014504A2 (en) 2004-07-07 2006-02-09 Sciencelogic, Llc Self configuring network management system
US20060031155A1 (en) * 2004-08-09 2006-02-09 Tetsuro Motoyama System and method to process an alert from a monitored device based on business context information
US20060036970A1 (en) 2004-08-16 2006-02-16 Charles Rich System for configuring and controlling home appliances
JP4634456B2 (ja) * 2004-09-09 2011-02-16 アバイア インコーポレーテッド ネットワーク・トラフィックのセキュリティのための方法およびシステム
US7183919B2 (en) * 2004-11-05 2007-02-27 Shih-Ho Wang RFID delivery and pickup determination system
US7305278B2 (en) * 2004-11-15 2007-12-04 International Business Machines Corporation Enterprise factory control method and system
US7461154B2 (en) 2004-11-18 2008-12-02 Cisco Technology, Inc. Communication arrangement between virtual routers of a physical router
US7463592B2 (en) 2004-12-03 2008-12-09 Microsoft Corporation Protocol for exchanging control data to mitigate interference problems in wireless networking
US20060123807A1 (en) 2004-12-14 2006-06-15 Sullivan C B Apparatus and method for monitoring and displaying power usage
US20060168269A1 (en) 2004-12-30 2006-07-27 Microsoft Corporation Bus abstraction
KR100678951B1 (ko) 2005-01-11 2007-02-06 삼성전자주식회사 제어 장치의 해상도에 따라 홈 네트워크 기기에 대한 제품제어 코드를 생성하는 장치 및 방법
JP4733399B2 (ja) 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
US8347088B2 (en) * 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US20060184892A1 (en) 2005-02-17 2006-08-17 Morris Robert P Method and system providing for the compact navigation of a tree structure
WO2006096854A2 (en) 2005-03-08 2006-09-14 E-Radio Usa, Inc. Systems and methods for modifying power usage
US7995569B2 (en) 2005-04-01 2011-08-09 Nortel Networks Limited Virtual routers for GMPLS networks
US7236099B2 (en) * 2005-04-01 2007-06-26 Maytag Corporation Household appliance with user interface with bi-colored LEDs
US20060270452A1 (en) * 2005-05-27 2006-11-30 Levy Gerzberg Remote storage of pictures and other data through a mobile telephone network
US20070162158A1 (en) * 2005-06-09 2007-07-12 Whirlpool Corporation Software architecture system and method for operating an appliance utilizing configurable notification messages
US8005780B2 (en) 2005-06-09 2011-08-23 Whirlpool Corporation Taxonomy engine and dataset for operating an appliance
US20070288331A1 (en) * 2006-06-08 2007-12-13 Whirlpool Corporation Product demonstration system and method
US7917914B2 (en) 2005-06-09 2011-03-29 Whirlpool Corporation Event notification system for an appliance
US8155120B2 (en) * 2005-06-09 2012-04-10 Whirlpool Corporation Software architecture system and method for discovering components within an appliance using fuctionality identifiers
US9164867B2 (en) * 2005-06-09 2015-10-20 Whirlpool Corporation Network for communicating information related to a consumable to an appliance
US8442042B2 (en) * 2005-06-09 2013-05-14 Whirlpool Corporation Appliance and a consumable holder with an embedded virtual router
EP2228969B1 (en) * 2005-06-09 2017-04-19 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
US20060293788A1 (en) * 2005-06-26 2006-12-28 Pavel Pogodin Robotic floor care appliance with improved remote management
US7739078B2 (en) * 2005-12-01 2010-06-15 Sandisk Corporation System for managing appliances
US7353073B2 (en) * 2005-12-01 2008-04-01 Sandisk Corporation Method for managing appliances
US7894451B2 (en) 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
JP2007258817A (ja) 2006-03-20 2007-10-04 Fujitsu Ltd パケット伝送装置
US8682733B2 (en) 2006-06-08 2014-03-25 Whirlpool Corporation System for product demonstration
US8461959B2 (en) * 2008-10-23 2013-06-11 Whirlpool Corporation Consumable holder with process control apparatus

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609331A (zh) * 2012-01-19 2012-07-25 苏州希图视鼎微电子有限公司 Nand闪存的装载代码的文件格式
CN104854598A (zh) * 2012-12-21 2015-08-19 惠普发展公司,有限责任合伙企业 嵌入在线缆中的有源组件
CN104854598B (zh) * 2012-12-21 2018-02-13 惠普发展公司,有限责任合伙企业 嵌入在线缆中的有源组件
CN110363609A (zh) * 2013-06-27 2019-10-22 东芝生活电器株式会社 网络系统
US11693875B2 (en) 2014-11-24 2023-07-04 Asana, Inc. Client side system and method for search backed calendar user interface
US11561996B2 (en) 2014-11-24 2023-01-24 Asana, Inc. Continuously scrollable calendar user interface
CN107534684A (zh) * 2015-06-26 2018-01-02 三星电子株式会社 节点终端装置、显示装置、包括节点终端装置和显示装置的外围设备管理系统及其方法
CN107534684B (zh) * 2015-06-26 2020-08-28 三星电子株式会社 节点终端装置、显示装置、包括节点终端装置和显示装置的外围设备管理系统及其方法
CN106970796A (zh) * 2017-03-29 2017-07-21 四川长虹电器股份有限公司 基于状态机的冰箱主控软件设计方法
US11215377B2 (en) 2017-04-21 2022-01-04 Danfoss A/S Control system for controlling a cooling system
CN110495140A (zh) * 2017-04-21 2019-11-22 丹佛斯有限公司 用于控制冷却系统的控制系统
CN110495140B (zh) * 2017-04-21 2021-09-07 丹佛斯有限公司 用于控制冷却系统的控制系统
US11610053B2 (en) 2017-07-11 2023-03-21 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfor
US11775745B2 (en) 2017-07-11 2023-10-03 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfore
CN109388110B (zh) * 2017-08-02 2021-11-05 西门子股份公司 在工业自动化系统内提供功能的方法以及自动化系统
CN109388110A (zh) * 2017-08-02 2019-02-26 西门子股份公司 在工业自动化系统内提供功能的方法以及自动化系统
CN109634126A (zh) * 2017-09-15 2019-04-16 科勒公司 水状况的地理分析
US11398998B2 (en) 2018-02-28 2022-07-26 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11695719B2 (en) 2018-02-28 2023-07-04 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
US11720378B2 (en) 2018-04-02 2023-08-08 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US11656754B2 (en) 2018-04-04 2023-05-23 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
US11831457B2 (en) 2018-06-08 2023-11-28 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
US11632260B2 (en) 2018-06-08 2023-04-18 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
CN108614462A (zh) * 2018-06-26 2018-10-02 山西清新新能源科技有限公司 一种智能能源处理系统
US11652762B2 (en) 2018-10-17 2023-05-16 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US11943179B2 (en) 2018-10-17 2024-03-26 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US11694140B2 (en) 2018-12-06 2023-07-04 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11620615B2 (en) 2018-12-18 2023-04-04 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11810074B2 (en) 2018-12-18 2023-11-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11561677B2 (en) 2019-01-09 2023-01-24 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11847613B2 (en) 2020-02-14 2023-12-19 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11599855B1 (en) * 2020-02-14 2023-03-07 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11763259B1 (en) 2020-02-20 2023-09-19 Asana, Inc. Systems and methods to generate units of work in a collaboration environment
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11636432B2 (en) 2020-06-29 2023-04-25 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11900323B1 (en) 2020-06-29 2024-02-13 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on video dictation
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11720858B2 (en) 2020-07-21 2023-08-08 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11734625B2 (en) 2020-08-18 2023-08-22 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11405435B1 (en) 2020-12-02 2022-08-02 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11902344B2 (en) 2020-12-02 2024-02-13 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment
US11956193B2 (en) 2023-05-30 2024-04-09 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment

Also Published As

Publication number Publication date
MX2008015676A (es) 2009-02-12
US20080105134A1 (en) 2008-05-08
WO2006135726A2 (en) 2006-12-21
EP1889405A1 (en) 2008-02-20
EP2027544A4 (en) 2010-07-07
US7808368B2 (en) 2010-10-05
WO2006135771A3 (en) 2007-11-15
US8345686B2 (en) 2013-01-01
EP2228969B1 (en) 2017-04-19
US20100287059A1 (en) 2010-11-11
BRPI0621758A2 (pt) 2011-12-20
CA2651012A1 (en) 2006-12-21
US20080125912A1 (en) 2008-05-29
US20080157936A1 (en) 2008-07-03
US8680983B2 (en) 2014-03-25
BRPI0622273A2 (pt) 2011-08-09
EP2027544A2 (en) 2009-02-25
BRPI0611726A2 (pt) 2010-11-09
MX2007015681A (es) 2008-02-21
BRPI0622274A2 (pt) 2011-08-09
US20080122648A1 (en) 2008-05-29
US20080104212A1 (en) 2008-05-01
WO2006135758A1 (en) 2006-12-21
EP2247067B1 (en) 2016-05-11
CA2611014A1 (en) 2006-12-21
CN101228741A (zh) 2008-07-23
US20080103610A1 (en) 2008-05-01
US8621049B2 (en) 2013-12-31
EP2247067A1 (en) 2010-11-03
US20080108388A1 (en) 2008-05-08
US20080140862A1 (en) 2008-06-12
US20090100132A1 (en) 2009-04-16
US20090103535A1 (en) 2009-04-23
US20090132070A1 (en) 2009-05-21
EP2244443A1 (en) 2010-10-27
US8040234B2 (en) 2011-10-18
US20080104208A1 (en) 2008-05-01
US20090100153A1 (en) 2009-04-16
US20080109830A1 (en) 2008-05-08
BRPI0611640A2 (pt) 2009-01-13
US9124444B2 (en) 2015-09-01
WO2006135726A8 (en) 2008-05-02
WO2006135771A2 (en) 2006-12-21
US8849430B2 (en) 2014-09-30
US20080143490A1 (en) 2008-06-19
EP1889160A2 (en) 2008-02-20
CA2611527A1 (en) 2006-12-21
US20080287121A1 (en) 2008-11-20
US8786412B2 (en) 2014-07-22
US20160134431A1 (en) 2016-05-12
US8028302B2 (en) 2011-09-27
US8217781B2 (en) 2012-07-10
US7908019B2 (en) 2011-03-15
EP2228969A1 (en) 2010-09-15
US9264252B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
CN101305350A (zh) 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法
US11025447B2 (en) User controllable filter system for an appliance
US8533253B2 (en) Distributed object-oriented appliance control system
US8155120B2 (en) Software architecture system and method for discovering components within an appliance using fuctionality identifiers
US9401822B2 (en) Software architecture system and method for operating an appliance exposing key press functionality to a network
US7912559B2 (en) Software architecture system and method for operating an appliance in multiple operating modes
US20070240173A1 (en) Data acquisition engine and system for an appliance
CN105706469A (zh) 管理机器对机器设备
US20070156265A1 (en) Taxonomy engine and dataset for operating an appliance
CN101268442B (zh) 配置远程数据处理系统的方法和系统
Pantoja et al. Exposing iot objects in the internet using the resource management architecture
Padilla Self-adaptation for Internet of things applications
BACCELLI et al. Francisco Javier Acosta Padilla
CN116457732A (zh) 建筑物自动化网络
CN115202821A (zh) 非云原生应用编排方法及其系统、电子设备、存储介质
MX2007015625A (en) Software architecture system and method for communication with, and management of, at least one component within a household appliance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20081112