CN100504946C - 向请求装置提供当前状态数据的系统和方法 - Google Patents
向请求装置提供当前状态数据的系统和方法 Download PDFInfo
- Publication number
- CN100504946C CN100504946C CNB2006800046704A CN200680004670A CN100504946C CN 100504946 C CN100504946 C CN 100504946C CN B2006800046704 A CNB2006800046704 A CN B2006800046704A CN 200680004670 A CN200680004670 A CN 200680004670A CN 100504946 C CN100504946 C CN 100504946C
- Authority
- CN
- China
- Prior art keywords
- variable
- request
- status data
- generator
- mapping
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013507 mapping Methods 0.000 claims description 74
- 238000004891 communication Methods 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000014509 gene expression Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 13
- 230000000712 assembly Effects 0.000 description 11
- 238000000429 assembly Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 5
- 238000004378 air conditioning Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 4
- 238000001816 cooling Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000036387 respiratory rate Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 240000005373 Panax quinquefolius Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B25/00—Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
Landscapes
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
Abstract
公开了用于向请求装置提供状态数据的系统和方法。将对于状态数据的请求从请求装置发送给提供装置。该请求包括存储在请求装置中的变量的先前值。在提供装置处,将所发送的先前值与存储在提供装置中的变量的当前值进行比较。识别变化了的变量,其中,该变化了的变量包括当前值不同于先前值的变量。形成用于识别变化了的变量的变量映射。将变化了的变量的当前值和变量映射组织成预先定义的格式以形成状态数据。将状态数据发送给请求装置。
Description
技术领域
本发明总的来说涉及计算机和计算机相关技术。更具体地,本发明涉及向请求装置提供状态数据的系统和方法。
背景技术
计算机和通信技术持续快速发展。实际上,计算机和通信技术涉及人们日常生活的许多方面。例如,现今消费者正在使用的很多装置都在装置的内部具有小型计算机。这些小型计算机具有不同的大小和复杂度。这些小型计算机包括所有从一个微型控制器到全功能的完整计算机系统。例如,这些小型计算机可以是微型控制器等单片计算机、控制器等单板型计算机、IBM-PC兼容机等典型台式计算机等。
计算机一般具有一个或多个位于计算机核心的处理器。处理器通常与不同的外部输入和输出相互连接,用来管理特定的计算机或装置。例如,可以将自动调温器中的处理器连接到用于选择温度设置的按钮、连接到暖炉或空调以改变温度、连接到温度传感器以读取当前温度并将其显示在显示器上。
很多电器、装置等包括一个或多个小型计算机。例如,自动调温器、暖炉、空调系统、电冰箱、电话、打字机、汽车、自动售货机以及很多不同种类的工业设备,现在一般在其内部都具有小型计算机或处理器。计算机软件使这些计算机的处理器运行并指示处理器如何执行某个任务。例如,在自动调温器上运行的计算机软件可以在达到特定温度时使空调停止运转,或可以在需要时打开加热器。
作为装置、电器、工具等的一部分的这些类型的小型计算机通常被称为嵌入式系统。术语“嵌入式系统”通常是指作为较大系统的一部分的计算机硬件和软件。嵌入式系统可以没有键盘、鼠标和/或监视器等典型的输入和输出装置。通常,在每个嵌入式系统的核心是一个或多个处理器。
可以在许多不同情况下利用嵌入式系统。例如,照明系统可以利用嵌入式技术。特别地,可以使用嵌入式系统来监视并控制照明系统。例如,可以使用嵌入式系统调暗或增强照明系统内的各个灯或一组灯的亮度。可以使用嵌入式系统通过启动照明系统内的各个灯来产生特定照明模式。嵌入式系统可以与照明系统内的各个开关连接。嵌入式系统可以指示开关打开或关闭各个灯或整个照明系统的电源。因此可以通过嵌入式系统控制每个单独的灯的亮度或电源状态。
安全系统同样可以利用嵌入式技术。可以使用嵌入式系统来控制和监视安全系统内的各个安全传感器。嵌入式系统可以提供在白天或夜晚的特定时间自动向每一安全传感器通电的控制。嵌入式系统可以与运动传感器连接。嵌入式系统可以自动为各个运动传感器通电,并且如果检测到运动,则提供启动摄像机和/或警报的控制。嵌入式系统还可以与监视门或窗户的传感器连接,并在感测到活动时采取特定动作。
还可以使用嵌入式技术来控制蜂窝式电话等无线产品。嵌入式系统可以提供指令以打开蜂窝式电话的显示器的电源。嵌入式系统还可以启动蜂窝式电话内的音频扬声器,从而向用户提供来电的音频通知。
炉子、电冰箱或微波炉等家用电器也可以包含嵌入式技术。例如,按摩躺椅可以包含嵌入式系统以提供根据用户的偏好自动倾斜椅子的靠背部分的指令。嵌入式系统还可以提供根据用户的偏好启动在椅子内的振动组件的指令。
家庭中通常备有的其它产品也可以包含嵌入式系统。例如,可以在厕所内使用嵌入式系统以控制用于装满贮水槽的水的量。可以在喷射式浴缸内使用嵌入式系统例如来控制空气的流出。
嵌入式装置和其它计算机系统通常包含关于装置自身和/或由该装置监视的系统或实体的状态数据。而且,经常希望保持由这些装置所收集的状态数据的历史。可以将这些装置连接到网络以允许远程访问所编辑的状态历史。
遗憾的是,保持状态历史是复杂的,并且需要极大的存储量和处理能力。例如,许多不同用户可能希望从特定装置获得状态历史数据。一个用户可能希望该装置以15秒的间隔保持状态历史,而另一用户可能希望以3.5秒的间隔保持状态历史。因此,该装置可能需要为请求状态历史的每一用户保持单独的历史。如果少数用户希望获得不同时间间隔的状态历史,则这些任务可能变得非常复杂,并且需要极大的存储量和处理能力。如果进行成百或上千的这样的请求,则该任务的复杂性变得极大,并且该装置将需要极大的存储量和处理能力。而且,当使用短的时间间隔时,如果将状态历史或状态数据发送给众多远程用户,则可能消耗极大的网络带宽。
因此,通过改进的用于向请求装置提供状态数据的系统和方法,可以获得益处。这里说明一些用于向请求装置提供状态数据的示例性系统和方法。
发明内容
公开了用于向请求装置提供当前状态数据的方法。将对于状态数据的请求从请求装置发送给提供装置。该请求包括存储在请求装置中的变量的先前值。在提供装置处,将所发送的先前值与存储在提供装置中的变量的当前值进行比较。识别变化了的变量,其中,该变化了的变量包括当前值不同于先前值的变量。形成用于识别变化了的变量的变量映射。将变化了的变量的当前值和变量映射组织成预先定义的格式以形成状态数据。将状态数据发送给请求装置。
在一个实施例中,变量映射还识别哪些变量没有变化。该请求还可以包括用于识别请求了当前值的变量的请求映射。
在一个实施例中,变量映射可以包括位串,每一位对应于由提供装置所存储的变量中的一个。其中,每一位的值有两种状态,分别表示相应的变量是变化了的变量和相应的变量的当前值和先前值相等。在一个实施例中,由接口定义内的变量的顺序确定状态数据中的变量的顺序。而且,在该实施例中,位串内的位的顺序可以对应于接口定义内的变量的顺序。可选地,变量映射包括整数串,每一整数用于识别由提供装置所存储的变量。
可以将该请求组织成预先定义的格式。另外,提供装置可以是嵌入式装置。状态数据还可以包括唯一地识别提供装置的标识符。由请求装置所存储的变量的先前值可以是空值。
还公开了用于执行上述方法的系统。该系统包括具有提供方存储器和与提供方存储器电子通信的提供方处理器的提供装置。请求装置包括请求方存储器和与请求方存储器电子通信的请求方处理器。提供装置和请求装置相互电子通信。可以执行存储在提供方存储器和请求方存储器中的指令来实现这里所公开的方法。还公开了一种用于执行上述系统和方法的计算机可读介质。
附图说明
通过以下结合附图的说明和所附权利要求书,本发明的示例性实施例将变得更充分明显。应当理解,这些附图仅用于说明示例性实施例,因此,不视为限制本发明的范围,通过使用下列附图,更具体和详细地说明本发明的示例性实施例,其中:
图1是示出控制/监视系统的一个实施例的框图;
图2是示出家庭内所示的控制/监视系统的一个实施例的框图;
图3是示出监视系统的一个实施例的框图;
图4、5和6是示出监视系统内所利用的各种类型的请求的实施例的表;
图7是示出由监视系统产生的状态数据的实施例的表;
图8是示出包括两个请求装置和一个提供装置的监视系统的框图;
图9是示出包括单个请求装置和两个提供装置的监视系统的框图;
图10是示出监视系统内可以利用的对请求和状态数据的预先定义的格式的一个潜在可选实施例的框图;
图11和12是示出根据图10所示的预先定义的格式的请求的实施例的表;
图13是示出根据图10所示的预先定义的格式的状态数据的一个实施例的表;
图14是示出用于向请求装置提供状态数据的方法的一个实施例的流程图;
图15是示出在请求和/或提供装置中一般利用的主要硬件组件的框图;
图16是示出可以与所公开的用于向请求装置提供状态数据的系统和方法结合利用的照明系统的框图;
图17是示出可以与所公开的用于向请求装置提供状态数据的系统和方法结合利用的安全系统的框图;以及
图18是示出可以与所公开的用于向请求装置提供状态数据的系统和方法结合利用的家用系统的框图。
具体实施方式
现在参照附图说明本发明的各种实施例,附图中相同的附图标记表示相同或功能类似的元件。这里,如在附图中一般性地说明并示出的,可以以很多种不同的结构来配置和设计本发明的实施例。因此,如附图所示,以下对本发明的若干示例性实施例的更详细的说明不像权利要求那样旨在限制本发明的范围,而仅仅是本发明实施例的代表。
在这里专用的词“示例性”意味着“用作例子、实例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中呈现出实施例的多种方面,但是除非特别指出,不必按比例绘制附图。
可以作为计算机软件、电子硬件或二者的组合来实现这里所公开的实施例的很多特征。为了清楚地说明硬件和软件的这种可互换性,一般按照各种组件的功能对其进行说明。作为硬件还是软件来实现这种功能取决于具体的应用和施加在整个系统上的设计限制。本领域技术人员可以针对每个具体的应用以不同的方式来实现所述功能,但是这种实现决定不应被解释为致使脱离了本发明的范围。
在作为计算机软件实现所述功能的情况下,这种软件可以包括位于存储装置内的和/或作为电信号通过系统总线或网络发送的任何类型的计算机指令或计算机可执行代码。实现与这里所说明的组件相关的功能的软件可以包括单个指令或多个指令,可以通过几个不同的代码段、在不同的程序中、在几个存储装置之间分配该软件。
在此处所用的术语“计算装置”是指具有通常进行算术运算或逻辑运算的处理器的任何类型的电子装置。计算装置可以包括存储器(例如,随机存取存储器(RAM)、闪存和/或硬盘存储装置)。计算装置可以处理存储在存储器中的指令。计算装置可以可选地包括其它组件,例如,用于与其它装置通信的通信接口(例如,网卡或调制解调器)、用于接收用户输入的输入装置(例如,键盘、触摸板、或鼠标)或用于向用户提供信息的输出装置(例如,音频输出装置或显示屏)。另外,应该注意,计算装置可以作为台式计算机、服务器、平板电脑(tablet PC)、笔记本电脑、个人数据助理(PDA)、蜂窝式电话或嵌入式装置等不同类型的装置来实现。
图1是示出控制/监视系统100的一个实施例的框图。系统100包括通过网络118电子通信的请求装置102和许多提供装置110a-g。提供装置110响应于来自请求装置102的请求130提供状态数据120。系统100还包括可以用于查看状态数据120和/或控制提供装置110的计算机系统140。请求装置102、提供装置110和计算机系统140a-b可以位于各种位置(例如,位置A 150a、位置B 150b、位置C 150c和位置D 150d),并且可以通过网络118或其它通信信道相互电子通信。
提供装置110存储由请求装置102请求的状态数据120。可以将状态数据120存储在易失性(例如,随机存取存储器)或非易失性存储器(例如,硬盘存储装置)中。可以以多种方式实现数据120。例如,状态数据120可以包括关于提供装置110的运转状态或条件的数据。可选地,状态数据120可以关于由提供装置110监视的系统或实体的状态或条件。作为更具体的例子,提供装置110可以是超声心动图机,状态数据120可以识别所监视患者的心率。因此,提供装置110可以是存储状态数据120,即关于请求装置的或任何被监视系统或实体的状态的数据的任何装置。
请求装置102是可以向提供装置110发送请求的任何计算装置。请求装置102可以包括一系列独立组件或计算装置。例如,请求装置可以包括发送请求130的一个计算装置、接收状态数据120的第二计算装置、以及存储所接收的状态数据120的第三计算装置。
在一个实施例中,请求装置102可以包括数据库103、状态检索组件104和控制组件105。可以利用数据库103存储和组织从提供装置110接收到的状态数据120。
状态检索组件104可以控制对于状态数据120的请求130的发送。状态检索组件104还可以控制在将所接收的状态数据120存储在数据库103中前对该状态数据120的接收和处理。
可以利用可选控制组件105控制提供装置110。更具体地,可以利用控制组件105向提供装置110发送控制命令。
所公开的两个计算机系统140a-b可以包括用于查看状态数据120和/或控制提供装置110的任何计算装置(例如,个人数字助理(PDA)或膝上型电脑)。计算机系统140a-b可以与请求装置102或一个或多个提供装置110分离或集成在一起。
计算机系统140a-b可以包括状态查看组件141a-b和控制组件142a-b。可以利用查看组件141检索和查看存储在请求装置102的数据库103中的数据120。可以利用控制组件142例如直接向提供装置110发送控制命令,或者向请求装置102发送命令,该请求装置102可依次向一个或多个提供装置110发送相同或相应的控制命令。
图1所公开的系统100能够从例如位于特定的建筑物、工厂、设施、国家或世界的各种地方等的远程位置收集状态数据120。而且,所公开的系统100能够对提供装置110进行远程管理。在一个实施例中,提供装置110可以是嵌入式计算装置。嵌入式计算装置是将由装置处理的许多或全部编程命令存储在只读存储器中的计算装置。
网络118是可以在例如请求装置102和提供装置110之间发送数据的通信信道。可以以各种方式实现网络118。例如,网络118可以包括局域网(LAN)、存储区域网络(SAN)、城域网(MAN)、广域网(WAN)、或者其组合(例如,因特网),而无需请求装置102和提供装置110位于相同的物理位置150、相同的网络118段内、或甚至在相同的网络118内。可以使用多种不同的网络结构和协议,包括以大网、TCP/IP、UDP/IP、IEEE802.11、IEEE 802.16、蓝牙、异步传输模式(ATM)、光纤分布式数据接口(FDDI)、令牌环、无线网络(例如,802.11g或无线电话/数据网络)、以及专用规则(proprietary formulas)等,包括其组合。当然,还可以利用可能一般不被视为“网络”的企业系统连接(ESCON)、小型计算机系统接口(SCSI)、光纤信道等传统的点对点连接实施某些实施例。在一个实施例中,网络118还可以包括由日本大阪的松下电工株式会社(MatsushitaElectric Works,Ltd.)生产的嵌入式装置网络。嵌入式装置网络包括请求方、提供方和在发生网络故障时允许快速再路由通信信道的居间节点(intervening nodes)的分布式网络。
可以以除图1所示的方式以外的各种方式来实现所公开的系统100。例如,在一个实施例中,省略掉与提供装置110的控制有关的组件105、142,从而使系统100成为监视系统(例如,如图3所示)。而且,所公开的系统100可以包括位于单个位置或位于任意数量的远程位置150b-c处的许多请求装置102和任意数量的计算机系统140a-b或提供装置110。
图2示出家庭201内所示的控制/监视系统200的一个实施例。所示家庭201包括停放汽车210a的车库206a、卧室206b、入口通道206c、生活设施室206d、起居室(family room)206e、以及工作室(den)206f。图2的图中示出家庭201的第一层。为了简化,未示出第二层或其它层。
当然,图2所示的家庭201仅是示例性的。可以在办公楼、公寓、社区、城市、乡村或各种国家等各种环境中利用控制/监视系统200。
如图2所示,请求装置202包括数据库203、状态检索组件204和控制组件205。这些项203、204、205执行与图1所示的项相同的功能。在所示的实施例中,由请求装置202将对于状态数据220的请求230发送给其中一个提供装置210。作为应答,将状态数据220从相关的提供装置210发送给请求装置202。
图2示出多种不同示例类型的提供装置210。特别地,图2示出汽车210a、便携式音乐播放器210b、电话系统210c、暖炉210d、火警系统210e、自动洒水系统210f、健康监视器(healthmonitor)210g、音频系统210h、电冰箱210i、烤箱210j、安全系统210k、传真机2101、照明系统210m、以及空调210n。
这些提供装置210中的每一个可以包括保持能够由请求装置202检索和存储的状态数据202的计算装置。例如,来自汽车210a的状态数据220可以包括与潜在的维护和故障问题有关的数据。健康监视器210g的状态数据220可以包括心率和呼吸率。来自电冰箱210j的状态数据可以使用射频识别(radio frequencyidentification,RFID)技术表示例如某些物品在其中存储了多长时间。照明系统210m的状态数据220可以表示当前打开了哪些灯。电话系统210c的状态数据可以表示什么时候接收到了语音消息但是未检索该语言消息。当然,上述类型的状态数据仅是说明性的。
如上所述,可以以各种方式实现这里所公开的系统200。例如,可以在医院内利用监视/控制系统200收集来自多种类型的医疗监视装置的状态数据。可以利用所公开的系统200远程监视用于收集风、温度和降水信息等天气数据的现场装置。可以在工厂中利用系统200以监视工厂内的各种机器的状态。除这里所公开的方式以外,还存在可以利用所公开的系统200的许多不同的方式。
图3示出监视系统300的一个实施例。系统300包括请求装置302、提供装置310和网络318。尽管请求装置302可以与计算机系统140集成在一起,但为了简化,在图3中没有单独示出用于查看状态数据的这种计算机系统140(图1所示)。
如上所述,请求装置302可以包括状态检索组件304、接口定义311a和数据库303。数据库303存储与一个或多个提供装置310相关的状态数据320。利用状态检索组件304请求并接收来自提供装置310的状态数据。状态检索组件304可以包括执行这些功能所需的硬件和/或软件。例如,状态检索组件304可以包含用于发送请求330和接收状态数据320的网络通信组件、软件和/或固件。
请求装置302可以包括接口定义311a。接口定义311a包括标识符306a、接口名称362、以及各种变量名称364a-e和数据类型366a-e。标识符360a是唯一地识别具有相应类型366(接口定义311a)的一组特定的变量364的代码或名称,请求装置302和提供装置310可以使用标识符306a来代替整组的变量和类型。例如,可以将标识符306a表示为特有的二进制或十六进制数字串。在该申请的图中使用线字符“|”表示数据字段之间的划分。
接口名称362是用户可以参照提供装置310的提供装置310的名称。因此,接口名称362可以是字符串。
变量名称364是可以参照由提供装置310所存储的变量的名称或标识符。每一数据类型366定义由数据类型前的名称364所参照的变量的数据类型。可以以多种方式实现数据类型366(例如,整数、字符串、日期或时间格式、货币值、阵列、长整数、或双精度数),并且数据类型366可以包括用户定义的数据类型(例如,工作日或温度)。
可以将接口定义311a从便携式存储装置(例如,CD-ROM、闪存驱动器或软盘)传送给请求装置302,或者可以将其通过网络318从提供装置310传送给请求装置302。如上所述,可以以各种方式实现网络318,并且可以利用网络318在请求装置302和提供装置310之间传输数据。如下所述,利用接口定义311a定义标准通信协议和由请求装置302和提供装置310所交换的数据的格式。
如图3所示,提供装置310还可以包括接口定义311b、请求处理组件312和比较组件313。提供装置310的接口定义311b与请求装置302所利用的接口定义311a相同。利用该标准接口定义311a便于在请求装置302和提供装置310之间交换数据。请求处理组件312处理从请求装置302所接收的请求330。比较组件313将从请求装置302所接收的变量364的先前值368与提供装置310所存储的这些变量364的当前值370进行比较。
通过来自请求装置302的请求330启动由系统300所进行的监视处理。请求330可以包括接口标识符360a、装置标识符360b、日期/时间字段372a、请求映射374、以及可能的一个或多个先前值368。标识符360b是与提供装置310相关联的特有标识符。可选的日期/时间字段372a识别与先前值368相关联的日期和/或时间(例如,大约在提供装置310收集先前值和/或将先前值存储在提供装置310中时)。
先前值368包括先前从提供装置310检索到的状态数据320。例如,如果请求装置302不具有所涉及的变量的先前值368、或者请求装置302没有请求所涉及的变量364的当前值370,则一个或多个先前值368可以是空值。该申请中所使用的空值可以是预先定义的字符或代码、或者可以仅仅是相关字段或先前值的数据的省略(例如,请求数据在提供所有字段的数据前以指定结束字符结束)。在一个实施例中,通过请求映射374或状态映射375表示请求330或状态数据320的空值。例如,在各映射374、375中可以以0表示空值。
请求映射374识别请求了哪些变量,将结合图4~7更加详细地说明请求映射374。以与接口定义311a中所述的变量364/数据类型366相同的顺序排列先前值368。由此将请求330组织成预先定义的格式376a(例如,参照接口定义311a所定义的),从而使得提供装置310正确地解释请求330。
可以以各种方式组织预先定义的格式376a。例如,如果正在将请求330仅发送给提供装置310,则可以省略标识符360b。而且,可以重新排列请求330的字段顺序,并且在某些情况下,同样可以省略日期/时间字段372a、请求映射374和先前值368。在一个实施例中,在请求映射字段和/或先前值字段中包括空值表示请求所有变量364的当前值370。
在一个实施例中,当提供装置310接收到请求330时,利用请求处理组件312确定或识别所识别的变量364的当前值。请求处理组件312利用接口定义311b解释所接收的请求330,从而识别哪些数据与特定的先前值368或请求映射374相关联。
在一个实施例中,比较组件313然后判断所接收的先前值368是否不同于相关变量364的当前值370。在该实施例中,提供装置310可以配置成仅返回变化了的变量,即当前值370不同于所接收的先前值368的变量364的当前值370。
基于接口定义311b以预先定义的格式376b将状态数据320返回给请求装置302。所示预先定义的格式376b包括接口标识符360a、装置标识符360b、标识符360c、日期/时间字段372b、变量映射375和各种当前值370。如上所述,标识符360c是与提供装置310相关联的特有代码或名称。日期/时间字段372b表示与状态数据320中所包括的当前值370相关联的日期和/或时间。变量映射375表示正在将哪些当前值370发送给请求装置302。正如所述,在一个实施例中,在状态数据320中仅包括所请求的且不同于先前值368的当前值。
接收到状态数据320之后,可以将该数据320存储在数据库303以编辑或添加到状态数据320的历史378。可选地或结合状态数据在数据库303中的存储,可以将状态数据303传送给计算机系统140(图1所示)以进行查看。
可以以许多不同的方式实现所公开的系统300。例如,可以根据传输控制协议/互联网络协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)等一种或多种不同的网络协议来格式化状态数据320和请求数据330。用于发送数据320/请求330的协议(TCP/IP等)或数据320/请求330本身应该包含使请求330和状态数据320相匹配的能力,从而使得请求装置302和提供装置310可以以适当的顺序处理数据320和请求330。还可以以各种方式对数据320、330进行加密或编码。而且,请求和状态数据320的各种字段及请求330可以以不同的顺序设置或者可以省略它们。例如,可以省略标识符360c。在一个实施例中,如果将状态数据320从请求装置302或提供装置310发送给另一装置,则可能仅需要标识符360a。可以从接口定义311a-b省略接口名称362。
请求330和相应的状态数据320的说明性实施例包括:(1)具有接口标识符360b且无其它字段的请求330表示:提供装置310应该发送具有标识符360c、日期/时间值372b、全部为1的变量映射375和提供装置310的所有当前值370的状态数据320(例如,全部快照(full snapshot));(2)具有标识符360b、选择为1的请求映射374且无先前值368的请求330表示:提供装置310应该发送具有标识符360c、日期/时间值372b、与请求330中所发送的1匹配的变量映射375和由变量映射375确定选择的当前值370的状态数据320(例如,部分快照);(3)具有标识符360b、一部分为1的请求映射374和匹配数量的先前值368的请求330表示:提供装置310应该发送具有标识符360c、日期/时间值372b、仅对具有变化了的值的变量364的为1的变量映射375和通过请求映射374表示的请求变量364的变化了的当前值370的状态数据320(例如,部分比较快照);(4)具有标识符360b、全部为1的映射374以及所有先前值368的请求330表示:提供装置310应该发送具有标识符360c、日期/时间值372b、仅对变化了的变量的为1的变量映射375和变化了的当前值370的状态数据320(例如,全部比较快照)。此外,在一个实施例中,在某些请求330中不需要日期时间字段372b。说明性请求1和2可以使用请求处理组件312,而不是比较组件313。说明性请求3和4可以使用处理组件312和比较组件313二者。前述说明性请求330和状态数据320仅是示例性实施例,而不是对所公开的系统和方法的范围内所包括的请求330、状态数据320、或请求装置302和提供装置310的限制。
图4、5和6是示出各种类型的请求430、530、630的实施例的表,而图7是示出状态数据720的实施例的表。特别参照图4,示出了示例性标识符460b和日期/时间值472a。还示出了示例性请求映射474a。如上所述,请求映射474a识别请求当前值的变量。在所示实施例中,请求映射474a是位串。每一位对应于接口定义311中所识别的变量364。因此,由于在图4所示的映射474a中存在5位的值,所以与该映射474a相关联的接口定义包括5个变量364。请求映射474a中的位的顺序对应于接口定义311中的变量364的顺序。因此,第一位对应于接口定义311中的变量A 364a,第二位对应于接口定义311中的变量B 364b等等。可选地,可以利用其它排序系统,例如,位串和接口定义311中的变量364之间的逆序对应关系。
在所示实施例中,位值“1”表示请求所识别的变量364的当前值370。出现“0”表示没有请求相应的当前值370。当然,相反也是正确的,也就是说,“0”可以表示请求特定值,而“1”可以表示没有请求值370。而且,可以将映射474a转换成除二进制数以外的十六进制或其它类型的数。图4所示的请求映射474a(“11111”)表示请求所有相关变量364的当前值370。此外,在请求430中提供所有相关变量364的先前值468。在提供装置310接收到这些先前值468时,可以将这些先前值468和相应变量的当前值370进行比较。在可选实施例中,可以省略请求映射474a,并且可以使用预定值(如空值)作为没有请求值的指示符。在另一实施例中,可以省略表示请求所有当前值770的请求映射474a。
参照图5,在请求530中同样包括标识符560b和日期/时间值572a。对于请求530,因为仅第一、第三和第五位置中的位为1,因此所示请求映射(“10101”)表示:仅请求变量A 364a、C 364c、E364e的当前值370a、370c、370e。第二和第四位处的“0”表示没有请求相关接口定义311中的变量B 364b和D 364d的当前值370b、370d。
图6示出请求630的另一实施例。该请求630包括提供装置310的特有标识符680b。然而,日期/时间值672a和先前值668a-b是“空”值。如上所述,可以通过指定为“空”代码的代码来识别空值,或者可选地,可以通过没有数据位于相应的字段空间内(例如,在到达相关数据字段的数据前,发现了请求结束代码)来识别空值。“空”值可以表示请求装置302确定不提供该数据(或许,在用户的请求下)、或者表示请求装置302仅不具有包括在相关字段中的数据。例如,如果请求630是发送给提供装置310的第一个请求,则请求装置302可能不具有先前值668。图6所示的请求映射674a表示请求接口定义311的变量A 364a和变量B 364b的当前值。
除图4、5和6所示的实施例以外,还可以有许多不同类型的请求630的可选实施例。例如,在一个实施例中,除例如标识符680b以外的所有字段均可能为空。在这种情况下,可以配置提供装置310将这种类型的请求解释为对于由提供装置310所存储的所有变量364的当前值370的请求630。可选地,如果仅将一个提供装置310连接到请求装置302,则标识符680b可为空。此外,在所公开的系统和方法的范围内,可以有许多不同类型的变量。同样,可以以许多不同方式实现变量映射。
图7是示出状态数据720的实施例的表。在所示的状态数据720中包括标识符760c。正如所述,如果仅将一个提供装置310连接到请求装置302,则标识符760c可以不是必需的。日期/时间值772b示出与状态数据720中所包括的当前值770相关的日期和/或时间。
以与图4~6所示的请求映射674a类似的方式,格式化所示实施例中的变量映射774b。换句话说,每一位与接口定义311中的特定变量364相关联。位的顺序同样对应于接口定义311中变量364的顺序。结果,图7所示的变量映射774b表示在状态数据720中包括变量A 364a、D 364d和E 364e的当前值770a、770d、770e。
可以通过许多不同情况产生相关状态数据720。例如,可以请求变量A 364a、D 364d和E 364e的当前值770a、770d、770e。作为另一例子,由于请求所有相关变量364的状态数据,但是仅变量A 364a、C 364c和E 364e相对于先前值668发生了变化,因而可以产生该类型的状态数据720。
当然,可以在所公开的系统和方法的范围内,以各种方式实现状态数据720。例如,可以改变变量364的数量。可以以许多不同方式实现每一变量364的数据类型。可以修改字段和变量364的顺序。同样,可以以各种方式配置变量映射以达到识别在状态请求720中所提供的当前值770的目的。
图8示出监视系统800的可选实施例。所示系统800包括通过网络818电子通信的提供装置810和两个请求装置802a-b。为了简化,省略了提供装置的接口定义311b、请求处理组件312和比较组件313。同样,还是为了简化,在请求装置802a-b中没有示出状态检索组件304和接口定义311。然而,图8示出了每一请求装置802a-b的数据库803a-b。如上所述,提供装置810响应于从请求装置802所接收的请求830a-b,向请求装置802a-b提供状态数据820a-b。
如第一数据库803a中所示的状态数据820的时间/日期值所示,第一请求装置802a每五(5)秒请求一次状态数据820。相反,又如第二数据库803b中所示的状态数据820的时间/日期值所示,第二数据库803b仅约一小时请求一次状态数据820。
图8示出并强调了所公开的系统和方法的效率。通过来自请求装置802的请求830而不是提供装置810驱动系统800。因此,不是从提供装置810连续发送数据(是否要求或利用这样的信息),而是仅响应于请求来发送状态数据820,从而使不必要的网络流量最小化。如果将大量的装置(例如,一千个装置)连接到网络818,这可能变得非常重要。以非常小的时间间隔广播状态数据820可能还使得网络818负荷过大。因此,所公开的系统800使不必要的网络流量最小化。由于当前值770a可以不改变,因此在需要包括较少的当前值770a时,状态数据820一般小于(或可能小于)请求830。
另外,系统800使提供装置810的复杂度最小化。因为不需要为许多不同的请求装置802存储状态数据820,因此提供装置810仅需要最少组件。相反,将该状态数据820存储在请求装置802处。而且,不需要提供装置810判断什么时候将状态数据820发送给请求装置802。处理所接收的第一请求,并且将状态数据820发送给请求装置802。提供装置810不需要复杂的算法或处理能力来处理对于状态数据820的多个请求830的定时。
当然,可以以许多不同的方式配置所公开的系统800。例如,许多不同的请求装置802(多于所示的两个802a-b)可以向特定的提供装置810请求状态数据820。而且,如将结合图9所述,请求装置802可以向多于一个的提供装置810请求状态数据。
图9示出监视系统900的可选实施例。图9的监视系统900包括两个提供装置910a-b和单个请求装置902。为了简化,省略了提供装置910的接口定义311、请求处理组件312和比较组件313。同样也是为了简化,在请求装置902中没有示出状态检索组件304。然而,示出了请求装置902的数据库903和每一提供装置910a-b的接口定义911a-b。
在所示实施例中,将分开的请求930a-b发送给每一提供装置910a-b。作为应答,将状态数据902a-b通过网络918提供给请求装置902。
所示的数据库包括两个状态历史978a-b。第一状态历史978a对应于第一提供装置910a,而第二状态历史978b对应于第二提供装置910b。如上所述,利用请求装置902追踪状态历史978,提供了可以简化提供装置的显著优势。所公开的提供装置910a-b不必存储状态历史978,而仅需要处理各请求930。这种简化的结构不仅显著地降低了提供装置910的复杂度,而且还降低了用户的成本。
如上所述,可以以多种不同的方式实现所公开的系统900。例如,请求装置902可以向许多不同的提供装置910,而不仅仅向两个提供装置910a-b请求数据。此外,如结合图8和9所述,监视系统900可以包括向多个提供装置910请求状态数据920的请求装置902,并且提供装置可以向多个请求装置902提供数据。而且,可以利用分开的数据库903存储来自每一提供装置910的状态数据920。
图10示出监视系统1000的可选实施例。特别地,图10的系统1000利用请求1030和状态数据1020的可选格式的一个实施例。如上所述,请求装置1002可以包括状态检索组件1004、接口定义1011a和数据库1003。图10所示的接口定义1011a可以与图3所示的接口定义311a相同。提供装置1010可以类似地包括接口定义1011b、请求处理组件1012和比较组件1013。除利用对于请求1030和状态数据1020的不同的预先定义的格式1076a-b之外,这些组件1011b、1012、1013以与结合图3所公开的相关组件311b、312、313类似的方式运行。如上所述,响应于接收到来自请求装置1002的请求1030,将状态数据1020发送给请求装置1002。
在所示实施例中,与图3所示的请求330相同,请求1030包括标识符1060b和日期/时间字段1072a。然而,请求映射1074是不同的。具体地,请求映射1074是非连续数据集。作为替代,映射1074包括分布式数据段,即紧挨在相关的先前值1068之前的字段。例如,请求映射1074a(对应于接口定义1011a的变量A 1064a)的部分A可以是整数(例如,整数“1”),以表示下一变量是先前值A 1068a。因此,请求映射1074的每一部分包含识别其随后的先前值1068的值标识符(指定为请求映射1074的“部分”)。如图10所示,在所示请求1030中请求变量A 1064a、B1064b和E 1064e的当前值1070。在请求1030内还包括这些变量1064中的每一个的先前值。如上所述,根据预先定义的格式1076a格式化所示的请求。
类似地格式化状态数据1020,状态数据1020包括与当前值1070相关联的标识符1060c和日期/时间字段1072b。与图10的请求映射1074相同,变量映射1075包含非连续数据。变量映射1075的部分A 1075a识别下一当前值,即,与变量A 1064a相对应的当前值A 1070a。变量映射1075的部分B 1075b识别作为变量B1064b的当前值B 1070b的下一当前值。在所示实施例中,因为变量E 1064e的当前值1070e和先前值1068e相同,因此仅返回变量A和B 1064a-b的当前值1070a-b。因此,变量A和B 1064a-b是变化了的变量。根据上述预先定义的格式1076b格式化图10所示的状态数据1020。
图11和12包括示出利用图10的预先定义的格式1076a的请求1130、1230的实施例的表。相反,图13包括示出使用图10的预先定义的格式1076b的状态数据1320的实施例的表。参照图11,所示请求1130包括特有标识符1160b和日期/时间字段1172a。图11还示出非连续请求映射1174b、1174c、1174e。与请求映射1174的部分B1174b相关联的“2”表示:随后的数据是作为接口定义1011中的第二变量的变量B 1064b的先前值1168b。与请求映射1174的部分C 1174c相关联的“3”表示:随后的值是变量C 1064c的先前值1168c等。因此,在图11所示的实施例中,对变量B 1064b、C 1064c和E 1064e请求当前值1070。另外,提供这些变量1064b、1064c和1064e中的每一个的先前值1168b、1168c、1168e。
当然,可以以其它方式实现所公开的请求映射1174。例如,可以利用其它技术来识别下一个值,例如,可以利用相关接口定义1011的相应变量1064的字母(例如,A、B、C)的ASCII码。
参照图12,示出了请求1230的另一实施例。在该实施例中,仅包括标识符1260b。日期/时间值1272a包括空值。该请求的其余字段为空(结果,例如,在那些字段中为请求结束代码或空值),但是没有在图12示出。在一个实施例中,可以将这样的请求1230解释为请求以提供由提供装置1010所存储的所有变量1064的当前值1070。
参照图13,示出了图10所示的预先定义的格式1076b的状态数据1320的实施例。同样包括标识符1360c(可省略)和日期/时间值1372b。在所示实施例中,提供变量A 1064a和C 1064c的当前值1370a、1370c。未将由提供装置1010所存储的所有变量1064的当前值1370发送给请求装置1002(例如,至少没有发送变量B的当前值)。这可能是仅对于变量A 1064a和C 1064c的当前值1370a、1370c的请求1230的结果。可选地,在一个实施例中,这可能是对于更大数量的变量1064的请求1230的结果,但是仅变量A 1064a和C 1064c与该请求1230所提供的先前值1168不同。
应该理解,图13所示的状态数据1320仅是说明性的。提供装置1010可以存储任何数量的变量1064。可以将提供装置1010所存储的所有变量1064发送给请求装置1002。如上所述,在所公开的变量映射1075的范围内可以利用编号或字母的各种系统或方案来表示下一当前值1070。
图14是用于向请求装置1002提供当前状态数据1320的方法1400的一个实施例的流程图。将请求1230从请求装置1002发送给提供装置1010。例如,可以如结合图3~6和10~12所述,格式化该请求。
请求包括存储在请求装置1002处的变量1064的先前值1168。在一个实施例中,如在请求装置不具有先前从提供装置所接收的任何状态数据时的情况下,该先前值可以是空值。可选地,该先前值可以是例如数字、日期、温度、量、心率、呼吸率、或其它类型的可测量数值。
响应于在提供装置处接收到该请求,将所接收的先前值与存储在提供装置处的变量的当前值1370进行比较1404。其后,识别1406变化了的变量。变化了的变量包括先前值不同于当前值的变量。
其后,形成1408用于识别变化了的变量的变量映射。如结合图3和7所述,可以以位串等的各种方式实现变量映射。在这样的实施例中,每一位对应于提供装置所存储的变量。一位的值(例如,“1”)表示相应值发生了变化,而另一位的值(例如,“0”)表示该值没有变化。当然,可以有变量映射1375的可选结构,例如,结合图10和13所示和所说明的结构。
其后,将变化了的变量的当前值和变量映射组织1410成预先定义的格式376b、1076b,以形成状态数据1320。可以以图3和10所示的预先定义的格式376b、1076b等各种方式实现预先定义的格式1076。
其后,将状态数据发送1412给请求装置1002。然后可以将状态数据存储在数据库1003中以形成状态历史1078。
请求装置可以定期请求状态数据。多个请求装置可以从单个提供装置请求数据,并且单个请求装置可以接收来自多个提供装置的状态数据。因此,在请求装置中具备非常大的存储能力和处理能力,从而使得提供装置不需要极大的处理能力和存储器来向请求装置提供状态数据。因此,与提供状态数据有关的提供装置的方面可以简单并且具有最小的成本。
图15是示出在请求或提供装置1501中一般利用的主要硬件组件的框图。所示组件可以位于相同的物理结构或分开的壳体或结构中。
装置1501包括处理器1503和存储器1505。处理器1503控制装置1501的操作,并且可以作为微型处理器、微型控制器、数字信号处理器(DSP)或该技术领域中已知的其它装置来实现。处理器1503一般基于存储在存储器1505内的程序指令进行逻辑和算术运算。
如在这里所使用的,将术语存储器1505广义地定义为能够存储电子信息的任何电子组件,可以作为只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、RAM中的闪存装置、包含有处理器1503的板上存储器、EPROM存储器、EEPROM存储器、寄存器等来实现存储器1505。存储器1505一般存储程序指令和其它类型的数据。可以由处理器1503执行程序指令以实现这里所公开的一些或全部方法。
装置1501通常还包括用于与其它电子装置进行通信的一个或多个通信接口1507。通信接口1507可以基于有线通信技术、无线通信技术或者二者。不同类型的通信接口1507的例子包括串行端口、并行端口、通用串行总线(USB,Universal SerialBus)、以太网适配器、IEEE 1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器等。
装置1501通常还包括一个或多个输入装置1509和一个或多个输出装置1511。不同类型的输入装置1509的例子包括键盘、鼠标、麦克风、遥控装置、按钮、操纵杆、轨迹球、触摸板、光笔等。不同类型的输出装置1511的例子包括扬声器、打印机等。一般在计算机系统中包含的一种特定类型的输出装置是显示装置1513。与这里所公开的实施例一起使用的显示装置1513可以使用任何合适的图像投影技术,例如阴极射线管(CRT,cathode ray tube)、液晶显示器(LCD,liquid crystal display)、发光二极管(LED)、气体等离子体、电致发光等。还可以设置显示控制器1515,用于将存储在存储器1505中的数据转换为(适于)在显示装置1513上显示的文本、图形和/或运动图像。
当然,图15仅示出装置1501的一种可能结构。可以利用各种其它结构和组件。
可以以各种方式实现装置1501,例如,个人计算机、膝上型计算机、服务器、平板电脑或嵌入式装置。可以利用和软件或嵌入式程序设计一起工作的装置1501,执行在此公开的系统和方法。以上还说明了这里所公开的其它计算装置的组件或可选组件,例如,图1所示的计算机系统140a-b。
本系统和方法可以在若干情况下使用。例如,可以结合各种控制系统(例如,如结合图1所述和所示的)利用监视系统(例如,如图3和8~10中所示)。在图16~18中示出各种控制系统的例子。监视系统和控制系统可以利用相同的网络、请求装置和提供装置。
图16是示出包括照明控制器系统1608的照明系统1600的一个实施例的框图。图16的照明系统1600可以包含于例如家庭的各种房间中。如图所示,系统1600包括房间A 1602、房间B 1604、以及房间C 1606。系统1600可以在家庭、公寓、或其它环境的任何数量和种类的房间中实现。
照明控制器系统1608可以监视和控制系统1600内的附加嵌入式系统和组件。在一个实施例中,房间A 1602和房间B 1604各自包括开关组件1614、1618。开关组件1614、1618还可以包括次级嵌入式系统1616、1620。次级嵌入式系统1616、1620可以接收来自中央照明控制器系统1608的指令。然后,次级嵌入式系统1616、1620可以执行这些指令。指令可以包括打开或关闭各种灯组件1610、1612、1622和1624的电源。指令还可以包括调暗或增强各种灯组件1610、1612、1622和1624的亮度。指令可以进一步包括以各种模式设置灯组件1610、1612、1622和1624的亮度。次级嵌入式系统1616、1620还可以便于通过中央嵌入式系统1608监视并控制每个灯组件1610、1612、1622和1624。
照明控制器系统1608还可以直接向房间C 1606中的包括次级嵌入式系统1628的灯组件1626提供指令。例如,中央嵌入式系统1608可以指示次级嵌入式系统1628打开或关闭独立的灯组件1626的电源。类似地,从中央嵌入式系统1608接收到的指令可以包括调暗或增强独立的灯组件1626的亮度。照明控制器系统1608还可以监视系统1600内的独立的灯组件1630、1632,并向它们直接提供指令。
图17是示出安全系统1700的一个实施例的框图。与照明系统相同,在房间A 1702、房间B 1704和房间C 1706中实现所述实施例中的安全系统1700。这些房间可以位于家庭或其它封闭环境的界限内。系统1700还可以在开放的环境中实现,其中房间A 1702、B 1704和C 1706表示区域或边界。
系统1700包括安全控制器系统1708。安全控制器系统1708监视系统1700内的各种组件,并接收来自系统1700内的各种组件的信息。例如,房间A 1702和B 1704中的运动传感器1714、1718可以各自包括次级嵌入式系统1716、1720。当通过次级嵌入式系统1716、1720检测到运动时,运动传感器1714、1718可以监视运动的空间,并向安全控制器系统1708报警。安全控制器系统1708还可以向系统1700内的各种组件提供指令。例如,安全控制器系统1708可以向次级嵌入式系统1716、1720提供指令以对窗户传感器1710、1722、门传感器1712、1724、以及门锁1713、1725通电或断电。在一个实施例中,当窗户传感器1710、1722检测到窗户的运动时,次级嵌入式系统1716、1720通知安全控制器系统1708。类似地,当门传感器1712、1724检测到门的运动时,次级嵌入式系统1716、1720通知安全控制器系统1708。
安全控制器系统1708还可以监视系统1700内的独立组件,并向其直接提供指令。例如,安全控制器系统1708可以监视运动传感器1730或窗户传感器1732,并向其提供通电或断电的指令。
组成系统1700的每个独立的组件还可以包括次级嵌入式系统。例如,图17示出包括次级嵌入式系统1728的门传感器1726。还示出了电子门锁1729。安全控制器系统1708可以类似于上述方式监视次级嵌入式系统1728并向其提供指令。
图18是示出家用系统1800的一个实施例的框图。家用系统1800包括家用控制器系统1808,家用控制器系统1808便于监视例如照明系统1600、安全系统1700等的各种系统。家用系统1800允许用户通过一个或多个嵌入式装置控制各种组件和系统。在一个实施例中,家用控制器系统1808以与前面结合图16和图17所述的方式相同的方式进行监视并提供信息。在所述实施例中,家用控制器系统1808通过次级嵌入式系统1820向加热组件1824提供指令。加热组件1824可以包括在居住场所或办公室中通常备有的暖炉或其它加热装置。家用控制器系统1808可以通过次级嵌入式系统1820提供对加热组件1824通电或断电的指令。
类似地,家用控制器系统1808可以监视家用系统1800内例如制冷组件1830等组件并直接向其提供指令。制冷组件1830可以包括在居住场所或办公室中通常备有的空调或其它制冷装置。家用控制器系统1808可以指示制冷组件1830根据由家用控制器系统1808收集的温度读数进行通电或断电。家用系统1800以与前面结合图16和图17所述的方式类似的方式运行。
可以使用各种不同的技术和方法表示信息和信号。例如,可以用电压、电流、电磁波、磁场或粒子、光场或粒子或其任意组合来表示在以上说明中提到的数据、指令、命令、信息、信号、位、符号以及码片(chip)。
可以作为电子硬件、计算机软件或二者的组合来实现结合这里所公开的实施例而说明的各种说明性的逻辑块、模块、电路和算法步骤。为了清楚地说明硬件和软件的这种可互换性,以上主要按照功能对各种说明性的组件、块、模块、电路和步骤进行了说明。作为硬件还是软件来实现这种功能取决于具体的应用和施加于整个系统上的设计限制。本领域技术人员可以对每个具体的应用以不同的方式实现所述功能,但是该实现决定不应当解释为致使脱离了本发明的范围。
可以使用设计用于执行这里所述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC,application specificintegrated circuit)、场可编程门阵列信号(FPGA,fieldprogrammable gate array signal)或其它可编程逻辑装置、离散门或晶体管逻辑电路、离散硬件组件或其任意组合来实现或者执行结合这里所公开的实施例而说明的各种说明性的逻辑块、模块和电路。通用处理器可以是微型处理器,但是可选择地,处理器可以是任何传统的处理器、控制器、微型控制器或者状态机。还可以作为计算装置的组合来实现处理器,例如,DSP和微型处理器的组合、多个微型处理器、结合DSP核的一个或多个微型处理器或者任何其它这种配置。
可以直接在硬件中、在由处理器执行的软件模块中或者在二者的组合中实现结合这里所公开的实施例而说明的方法或者算法的步骤。可以将软件模块存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域已知的任何其它形式的存储介质中。将示例性存储介质连接到处理器使得处理器可以从存储介质读取信息和向存储介质写入信息。可选择地,可以将存储介质集成到处理器。可以将处理器和存储介质置于ASIC中。可以将ASIC置于用户终端中。可选择地,可以将处理器和存储介质作为离散组件置于用户终端中。
这里所公开的方法包括用于实现所述方法的一个或多个步骤或动作。方法步骤和/或动作可以在不脱离本发明的范围的情况下彼此互换。换句话说,除非实施例的适当操作需要特定顺序的步骤或动作,否则可以在不脱离本发明的范围的情况下改变特定步骤和/或动作的顺序和/或使用。
尽管示出并说明了本发明的具体实施例和应用,但是应当理解,本发明不限于这里所公开的精确配置和组件。可以在不脱离本发明的精神和范围的情况下,在这里所公开的本发明的方法和系统的配置、操作和详细内容中进行对本领域技术人员来说显而易见的各种变形、改变和变化。
产业应用性
本发明可应用于嵌入式系统。
Claims (17)
1.一种用于向请求装置提供当前状态数据的方法,包括:
将对于状态数据的请求从请求装置发送给提供装置,
其中,所述请求包括存储在所述请求装置中的变量的先前值;
在所述提供装置处,将所发送的先前值和存储在所述提供装置中的变量的当前值进行比较;
识别变化了的变量,所述变化了的变量包括所述当前值不同于所述先前值的变量;
形成用于识别所述变化了的变量的变量映射;
将所述变化了的变量的当前值和所述变量映射组织成预先定义的格式,以形成状态数据;以及
将所述状态数据发送给所述请求装置。
2.根据权利要求1所述的方法,其特征在于,所述变量映射还识别哪些变量没有变化。
3.根据权利要求1所述的方法,其特征在于,所述请求还包括请求映射,所述请求映射用于识别请求了当前值的变量。
4.根据权利要求1所述的方法,其特征在于,所述变量映射包括位串,每一位对应于由所述提供装置所存储的变量中的一个,其中,每一位的值有两种状态,分别表示相应的变量是变化了的变量和相应的变量的当前值和先前值相等。
5.根据权利要求4所述的方法,其特征在于,由接口定义内的变量的顺序确定所述状态数据中的变量的顺序。
6.根据权利要求5所述的方法,其特征在于,所述位串内的位的顺序对应于所述接口定义内的变量的顺序。
7.根据权利要求1所述的方法,其特征在于,将所述请求组织成预先定义的格式。
8.根据权利要求1所述的方法,其特征在于,所述变量映射包括整数串,每个整数用于识别所述提供装置所存储的变量。
9.根据权利要求1所述的方法,其特征在于,所述提供装置是嵌入式装置。
10.根据权利要求1所述的方法,其特征在于,所述状态数据还包括唯一地识别所述提供装置的标识符。
11.根据权利要求1所述的方法,其特征在于,由所述请求装置所存储的变量的先前值是空值。
12.一种用于实现向请求装置提供当前状态数据的方法的系统,所述系统包括:
提供装置,其具有提供方存储器和与提供方存储器电子通信的提供方处理器;
请求装置,其具有请求方存储器和与请求方存储器电子通信的请求方处理器,其中,所述提供装置和所述请求装置相互电子通信;
存储在所述提供方存储器和所述请求方存储器中的指令,可以执行所述指令来实现包括以下步骤的方法:
将对于状态数据的请求从所述请求装置发送给所述提供装置,
其中,所述请求包括存储在所述请求装置中的变量的先前值;
在所述提供装置处,将所发送的先前值与存储在所述提供装置中的变量的当前值进行比较;
识别变化了的变量,所述变化了的变量包括所述当前值不同于所述先前值的变量;
形成用于识别所述变化了的变量的变量映射;
将所述变化了的变量的当前值和所述变量映射组织成预先定义的格式,以形成状态数据;以及
将所述状态数据发送给所述请求装置。
13.根据权利要求12所述的系统,其特征在于,所述变量映射还识别哪些变量没有变化。
14.根据权利要求12所述的系统,其特征在于,所述请求还包括请求映射,所述请求映射用于识别请求了当前值的变量。
15.根据权利要求12所述的系统,其特征在于,所述变量映射包括位串,每一位对应于由所述提供装置所存储的变量中的一个,其中,每一位的值有两种状态,分别表示相应的变量是变化了的变量和相应的变量的当前值和先前值相等。
16.根据权利要求15所述的系统,其特征在于,由接口定义内的变量的顺序确定所述状态数据中的变量的顺序。
17.一种用于实现向请求装置提供当前状态数据的方法的系统,所述系统包括:
提供装置,其具有提供方存储器和与提供方存储器电子通信的提供方处理器;
请求装置,其具有请求方存储器和与请求方存储器电子通信的请求方处理器,其中,所述提供装置和所述请求装置相互电子通信;
存储在所述提供方存储器和所述请求方存储器中的指令,可执行所述指令来实现包括以下步骤的方法:
将对于状态数据的请求从所述请求装置发送给所述提供装置,其中,所述请求包括存储在所述请求装置中的变量的先前值,并且还包括请求映射,所述请求映射包括用于识别当前值被请求的变量的位串;
在所述提供装置处,将所发送的先前值与存储在所述提供装置中的变量的当前值进行比较;
识别变化了的变量,所述变化了的变量包括所述当前值不同于所述先前值的变量;
形成用于利用位串识别所述变化了的变量的变量映射;
将所述变化了的变量的当前值和所述变量映射组织成预先定义的格式,以形成状态数据;以及
将所述状态数据发送给所述请求装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,713 | 2005-12-29 | ||
US11/321,713 US7693984B2 (en) | 2005-12-29 | 2005-12-29 | Systems and methods for providing current status data to a requesting device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101120390A CN101120390A (zh) | 2008-02-06 |
CN100504946C true CN100504946C (zh) | 2009-06-24 |
Family
ID=36999901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006800046704A Expired - Fee Related CN100504946C (zh) | 2005-12-29 | 2006-02-03 | 向请求装置提供当前状态数据的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7693984B2 (zh) |
JP (1) | JP4497204B2 (zh) |
CN (1) | CN100504946C (zh) |
WO (1) | WO2007074540A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008005948A2 (en) | 2006-06-30 | 2008-01-10 | Meebo, Inc. | A method and system for determining and sharing a user's web presence |
JP2008084297A (ja) * | 2006-09-01 | 2008-04-10 | Canon Inc | 通信装置、通信方法、フロー制御装置、制御方法、及び、コンピュータプログラム |
GB2456743A (en) * | 2007-07-16 | 2009-07-29 | Thorn Security | Searching identity space for devices connected to a bus using masks and increasing mask length when replies collide |
US9094430B2 (en) * | 2011-08-11 | 2015-07-28 | Atmel Corporation | Method for identifying smart meters in a smart grid |
CN103021118A (zh) * | 2011-09-24 | 2013-04-03 | 林天鹏 | 生命财产智慧防灾保全保值照护管理系统 |
JP2013156978A (ja) * | 2012-01-06 | 2013-08-15 | Ricoh Co Ltd | 機器管理システム、機器管理方法及び機器管理プログラム |
JP2013161252A (ja) * | 2012-02-03 | 2013-08-19 | Fujitsu Ltd | 冗長コンピュータ制御プログラム、方法、及び装置 |
JP5982842B2 (ja) * | 2012-02-03 | 2016-08-31 | 富士通株式会社 | コンピュータ障害監視プログラム、方法、及び装置 |
CN104488007B (zh) | 2012-07-05 | 2017-10-31 | 株式会社技术未来 | 数字安全网络系统和方法 |
CN114120617B (zh) * | 2021-11-29 | 2022-12-09 | 珠海格力电器股份有限公司 | 遥控器红外信号的编码方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1185216A (zh) * | 1995-03-17 | 1998-06-17 | Tp控制公司 | 连接于网络中的计算机设备的报警系统 |
CN1294800A (zh) * | 1998-09-17 | 2001-05-09 | 皇家菲利浦电子有限公司 | 分布式软件控制的防窃检测 |
EP1215576A2 (en) * | 2000-12-15 | 2002-06-19 | International Business Machines Corporation | Automatic application restart in an embedded environment |
US20030025599A1 (en) * | 2001-05-11 | 2003-02-06 | Monroe David A. | Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events |
CN1421796A (zh) * | 2001-11-30 | 2003-06-04 | 三菱电机株式会社 | 不间断电源装置用远程监视系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0646830B2 (ja) * | 1987-08-21 | 1994-06-15 | 富士通株式会社 | 状態変化処理方法 |
JPH09325809A (ja) * | 1996-06-06 | 1997-12-16 | Fuji Electric Co Ltd | 状変検出方法 |
JPH10126435A (ja) * | 1996-10-23 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 宅内デジタル情報統合システム |
US6532491B1 (en) * | 1997-03-24 | 2003-03-11 | Novell, Inc. | Processes and apparatuses for managing network devices |
JP3744137B2 (ja) * | 1997-08-07 | 2006-02-08 | ブラザー工業株式会社 | ネットワークシステム、ネットワーク管理方法、インタフェース装置、インタフェース装置を動作させるためのプログラムが記録された記録媒体及び端末装置 |
DE19848490B4 (de) * | 1998-10-21 | 2012-02-02 | Robert Bosch Gmbh | Bildinformationsübertragungsverfahren und -vorrichtung |
DE19939423A1 (de) * | 1999-08-20 | 2001-03-01 | Bosch Gmbh Robert | Kraftstoffeinspritzsystem für eine Brennkraftmaschine |
JP4524912B2 (ja) * | 2000-12-20 | 2010-08-18 | セイコーエプソン株式会社 | 端末装置及びその制御方法 |
KR100449497B1 (ko) * | 2000-12-21 | 2004-09-21 | 주식회사 매직아이 | 실시간 정보 제공 장치 및 그 처리 방법 |
US6668277B1 (en) * | 2001-09-14 | 2003-12-23 | The Regents Of The University Of California | Web-based multi-channel analyzer |
TWI280759B (en) * | 2002-03-13 | 2007-05-01 | Matsushita Electric Ind Co Ltd | Data communication method |
KR100605219B1 (ko) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | 홈 네트워크 시스템 |
US7433314B2 (en) * | 2004-06-01 | 2008-10-07 | Samsung Electronics Co., Ltd. | Method and system for acknowledging the receipt of a transmitted data stream in a wireless personal area network |
-
2005
- 2005-12-29 US US11/321,713 patent/US7693984B2/en active Active
-
2006
- 2006-02-03 WO PCT/JP2006/302293 patent/WO2007074540A1/en active Application Filing
- 2006-02-03 CN CNB2006800046704A patent/CN100504946C/zh not_active Expired - Fee Related
- 2006-02-03 JP JP2007525110A patent/JP4497204B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1185216A (zh) * | 1995-03-17 | 1998-06-17 | Tp控制公司 | 连接于网络中的计算机设备的报警系统 |
CN1294800A (zh) * | 1998-09-17 | 2001-05-09 | 皇家菲利浦电子有限公司 | 分布式软件控制的防窃检测 |
EP1215576A2 (en) * | 2000-12-15 | 2002-06-19 | International Business Machines Corporation | Automatic application restart in an embedded environment |
US20030025599A1 (en) * | 2001-05-11 | 2003-02-06 | Monroe David A. | Method and apparatus for collecting, sending, archiving and retrieving motion video and still images and notification of detected events |
CN1421796A (zh) * | 2001-11-30 | 2003-06-04 | 三菱电机株式会社 | 不间断电源装置用远程监视系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101120390A (zh) | 2008-02-06 |
JP4497204B2 (ja) | 2010-07-07 |
WO2007074540A1 (en) | 2007-07-05 |
US20070156840A1 (en) | 2007-07-05 |
US7693984B2 (en) | 2010-04-06 |
JP2008522452A (ja) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100504946C (zh) | 向请求装置提供当前状态数据的系统和方法 | |
US10965482B2 (en) | Building management system that determines building utilization | |
US10591641B2 (en) | Remote location monitoring | |
EP1665552B1 (en) | Method and arrangement for assigning names to devices in a network | |
US9154379B2 (en) | Remote configuration of a hardware device module of a security system | |
US7680906B2 (en) | Configuring devices using context histories | |
US8797159B2 (en) | Occupancy sensor with stored occupancy schedule | |
CN101128857B (zh) | 使用分布式监视装置通知被监视系统的持续状态的系统和方法 | |
US20050090915A1 (en) | Programmable and expandable building automation and control system | |
US11805591B2 (en) | Emergency lighting system with integrated testing and reporting functionality | |
MXPA05013172A (es) | Sistema residencial que emplea una accion de control configurable y metodo de configurar un sistema residencial para control. | |
CN103891199A (zh) | 发送与电子装置的操作相关的消息的系统和方法 | |
CN105431820A (zh) | 用于使用用户情境来配置和推荐设备动作的方法和装置 | |
CN103125096A (zh) | 用于控制设备的方法和装置以及存储该方法的计算机可读介质 | |
CN108810062A (zh) | 网络管理系统及其自动注册连网装置的方法 | |
US6980868B2 (en) | System and method for application communication | |
WO2015153786A1 (en) | Disturbance detection, predictive analysis, and handling system | |
US7233881B2 (en) | Physical quantity monitoring and control system and portable information terminal used for the same | |
US20070222901A1 (en) | Television receiving apparatus | |
KR20200084387A (ko) | 스마트 댁내 통합 시스템을 구성하는 서버 및 이의 동작 방법 | |
JP2016091461A (ja) | 見守りシステム、見守り方法、見守り判定装置、表示端末、サーバコンピュータプログラム、及びコンピュータプログラム | |
JP2016085645A (ja) | 見守りシステム、見守り方法、サーバ装置、通信端末、コンピュータプログラム、及び端末プログラム | |
CN205880593U (zh) | 消息通知装置 | |
CN106249643A (zh) | 一种消息通知装置 | |
KR20090002955A (ko) | Rf 센서를 이용한 보안 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 |
|
CF01 | Termination of patent right due to non-payment of annual fee |