CN101013957A - 智能项目的服务-设备重映射的分级多层映射和监视架构 - Google Patents
智能项目的服务-设备重映射的分级多层映射和监视架构 Download PDFInfo
- Publication number
- CN101013957A CN101013957A CN200610149270.4A CN200610149270A CN101013957A CN 101013957 A CN101013957 A CN 101013957A CN 200610149270 A CN200610149270 A CN 200610149270A CN 101013957 A CN101013957 A CN 101013957A
- Authority
- CN
- China
- Prior art keywords
- service
- equipment
- metadata
- local
- group
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
服务储存库(124)用于与描述服务的服务要求的服务元数据(126)相关联地存储至少一个服务(120、120a、120b、120c、132、132a、132b、122、704-714)。服务储存库(124)也可以存储一个或多个特定平台的可执行服务(128)。服务映射器用于确定与多个设备(102、108-114、306-310、324、326)的每个相关联的设备元数据(130),其中设备元数据(130)提供设备的设备特性。服务映射器),因此可以基于服务要求和设备特性的相应元素的匹配,将服务(120、120a、120b、120c、122、704-714)映射到多个设备(102、108-114、306-310、324、326)中的所选设备以部署在其上。服务映射器也可以在设备之间重映射来维持服务的质量和可靠性。
Description
技术领域
本说明书涉及智能项目(smart item)技术。
背景技术
智能项目技术可以包括例如射频标识(RFID)系统、嵌入式系统、传感器微片(mote)和/或传感器网络,并且可以例如用于为业务软件应用提供对现实世界数据的快速存取。例如,智能项目技术可以用于支持RFID标签的检测、读取或写入,以及支持与无线传感器网络和嵌入式系统的通信及对其控制。在许多实例中,智能项目可以包括具有本地处理能力、存储器和/或通信能力的设备,能够提供关于该设备及其特性的数据、或者关于该智能项目设备的当前环境状况的信息。因此,一些这样的设备可以用在后端或底层业务应用的服务组件的执行中,尤其是可以以协作的方式进行,例如,通过形成移动的特定(ad-hoc)网络来收集、处理或传输业务数据。
智能项目设备的例子包括RFID标签,它可以是有源或者无源的,并且可以贴到对象上并用来提供关于该对象的产品或处理信息。智能项目设备的其他例子包括各种传感器,例如,环境传感器(如温度、湿度或振动传感器),如刚才所提到的,它们能够通信来形成一个或多个传感器网络。这些和其他类型的智能项目设备也可以包括嵌入式系统,嵌入式系统可以泛指任何其中包含专用处理器和/或程序、以及/或者被封装在受控设备中的系统。
通过自动实时对象跟踪,智能项目技术可以为业务提供关于业务操作的精确和及时的数据,并且还可以帮助简化和自动化业务操作。因此,可以获得成本降低以及额外的业务效益(例如,增加资产可见度、提高响应速度、以及扩展业务机会)。
发明内容
根据一个总的方面,确定重部署初始设备上执行服务的动机。该服务被映射到从包括初始设备和所选设备在内的多个设备当中的所选设备。该服务被重部署在所选设备上。
实现可以包括下列一个或多个特征。例如,在确定重部署服务的动机时,可以基于与服务相关联的服务元数据来确定与初始设备相关联的、并且指示初始设备当前的设备特性不足以继续充分地执行服务的设备元数据。
确定重部署服务的动机可以包括:确定所选设备对于重部署服务是可用的;和确定与初始设备和/或所选设备相关联的设备元数据,其指示所选设备能够更好地执行服务。确定重部署服务的动机可以包括:确定达到了在初始设备上部署服务的时间限制。
将服务映射到所选设备可以包括:确定与服务相关联的服务元数据,确定与所述多个设备的每一个相关联的设备元数据,并且基于服务元数据和设备元数据而将服务映射到所选设备。将服务映射到所选设备可以包括:确定与服务相关联的服务元数据,所述服务元数据包括与服务相关联、并且描述允许重部署服务的性质和/或程度的移动性描述。
在将服务映射到所选设备时,可以确定作为初始设备上执行的服务的当前状态。此外,在将服务映射到所选设备时,可以确定所选设备与满足或超过进行重部署所需的阈值参数的设备特性相关联。将服务映射到所选设备可以包括:施加在服务能被从所选设备重部署回到初始设备或多个设备中的另一设备之前所要满足的时间限制。
将服务重部署在所选设备上包括:在所选设备上重置在重部署之前初始设备上的服务状态。将服务重部署在所选设备上可以包括:停止服务在初始设备上的执行,并且将服务的可执行服务(service executable)从初始设备上移除。将服务重部署在所选设备上可以包括:从服务储存库获得要部署在所选设备上的服务的可执行服务。
根据另一总的方面,一种系统包括:系统监视器,其可操作来监视多个设备的初始设备;执行服务的初始设备;和服务映射器,其可操作来基于系统监视器的输出而确定重部署服务的动机,并且还可操作来基于所述动机将服务重部署到多个设备的所选设备。
实现可以包括下面特性中的一个或多个。例如,系统监视器可以包括安装在初始设备上的系统监视器组件,其可操作来将初始设备的设备特性报告给服务映射器。
系统监视器的输出可以包括初始设备的当前设备元数据,其包.括设备特性。所述动机可以包括确定初始设备不是多个设备中最适合执行该服务的。
服务映射器可操作来基于对系统监视器输出应用重映射规则,实现服务的重部署。服务映射器可操作来基于存储服务的状态信息的数据文件,重置在重部署之前时刻初始设备上的服务状态。
系统可以包括服务储存库,可操作来存储至少与描述该服务的服务要求的服务元数据相关联的服务,其中,服务映射器可操作来将服务从服务储存库重部署到所选设备。服务映射器可操作来基于包括服务的服务要求的服务元数据而重部署服务。
在下面附图和描述中详细说明一个或多个实现。通过描述和附图以及权利要求书,其他特征将变得清楚。
附图说明
图1是用于智能项目设备的服务-设备映射的系统的框图。
图2A和2B是示出图1的系统的示例操作的流程图。
图3是示出使用图1的系统的三层架构的系统的框图。
图4A和4B分别是示出全局服务映射器表和本地服务映射器表的表。
图5是实现图1和3的系统的智能项目基础架构的框图。
图6是示出服务-设备映射操作的流程图。
图7是图1的系统的重映射实现的框图。
图8是示出根据图2B的重映射操作的流程图。
图9是图1和/或7的系统的示例实现的框图。
图10是用户交互地指定服务-设备映射请求的服务器页面的屏幕截图。
图11是表示服务元数据的示例文件格式。
图12是使用图11的格式的示例服务元数据文件。
图13是表示设备元数据的示例文件格式。
图14是使用图13的格式的示例设备元数据文件。
图15是示出服务-设备映射请求的结果的屏幕截图。
图16是显示服务-设备映射请求的结果的服务器页面的屏幕截图。
图17是示出一部分重映射过程的屏幕截图。
具体实施方式
图1是用于智能项目设备的服务-设备(service-to-device)映射的系统100的框图。在图1的例子中,包括各种智能项目设备的本地网络102利用广域网106以及时和精确的方式向一个或多个业务数据处理系统104提供现实世界数据。例如,本地网络102可以包括智能项目设备108、110、112和114,这里称为“智能项目”或者简称为“设备”,它们可以包括RFID读取器(用于读取具有RFID标签的对象)、各种嵌入式系统、和/或各种类型的传感器和/或传感器微片。
在图1中,设备108显示为包括中央处理单元(CPU)116以及存储器118。因此,设备108应当被理解为能够有各种级别的计算能力,例如包括处理或发送感测的数据(在设备108包括传感器的情况下)。尽管为了清楚起见而未在图1中专门示出,但应当理解,设备110、112和114也可以包括相同或不同的计算能力,例如,包括形成和加入本地网络102(如无线网络和/或对等网络)的能力。
因此,本地网络102可以用于收集、处理、过滤、聚集或者发送可能对业务数据处理系统104有用的数据。例如,业务数据处理系统104可以包括存货管理系统、供应链管理系统、零售店管理系统、仓库管理系统、以及任何可以用于执行关于现实世界对象的业务处理的其他系统,其中这些现实世界对象可以包括例如销售的产品、集装架或其他货运设备、病人、或制造材料/设备。通过跟踪和分析这些现实世界对象,业务数据处理系统104可以用于例如确定存货级别、设置定价水平、评估市场策略、评估制造或生产技术、减少被盗或者保持安全。
通过包括作为本地网络102的设备108、110、112和114的智能项目,在数据收集处理中很早就可以执行处理,从而可以降低或消除加到业务数据处理应用104上的负担。例如,业务数据处理应用104可以位于公司总部,而本地网络102可以表示分布在由广域网106相连的宽广地理区域的许多(类型的)网络之一。这样,例如,业务数据处理系统104可以仅需要网络102(及相关网络)收集的数据的某些子集或特性,而可能不需要或者想要所有收集的数据。
在某些实现中,业务数据处理系统104可以包括混合或复合应用,其由设计来执行某些明确定义的任务的可重用的软件组件或服务组成。此外,在这些或其他实现中,业务数据处理系统104可以包括可能不容易与数据收集设备(或者与其他业务处理处理系统)通信的传统应用,而且在这种情况下,可以提供服务或服务组件作为传统应用与数据收集设备和/或其他系统之间的接口。系统100允许在设备108、110、112和114上直接部署这些和其他应用程序和服务,从而例如可以在设备上以及时、高效、可靠、自动、划算和可扩展的方式运行服务(并且可以收集和/或处理数据)。因此,例如,业务处理可以被分解成单独的服务,并且部署在不同的设备上。
系统100包括服务映射器120,如图所示,它可操作来从网络102的多个设备108、110、112和114当中选择设备108作为选中设备,以便在其上部署服务122。因此,服务映射器120访问服务储存库124,其可操作来存储适合在本地网络102和/或其他网络(图1中未示出)中执行的多个服务。服务映射器120一同确定服务元数据126和实际可执行服务128,并且将服务元数据126和与多个设备108、110、112和114的每一个相关的设备元数据130进行比较。服务映射器120至少基于服务元数据126和设备元数据130而可以选择设备108作为特别适合在其上部署服务122(包括可执行服务128)。
例如,设备元数据130可以包括每个设备的描述,该描述是根据设备映射器120已知并且对于各个设备108、110、112和114共同的实体和/或模式构造的。此外(或者),可以例如由系统监视器132以每个设备108、110、112和114的设备专用格式或结构收集设备元数据130,并且可以随后将其转换成由服务映射器120使用的共同模式。例如,如下面将详细描述的设备元数据可以包括通过使用XML模式以基于可扩展标记语言(XML)的语言对设备108、110、112和114的各种技术能力的描述。当然,也可以使用其他格式、语言和/或结构。
一般地说,设备元数据130可以包括例如设备描述、软件描述、硬件描述和设备状态。例如,设备描述可以包括设备名、标识符或者类型,或者可以包括卖商信息(包括卖商名或卖商网站)。软件描述可以包括操作系统描述(包括版本和/或卖商),或者可以包括设备平台上运行或允许运行的服务的描述。硬件描述可以包括关于CPU 116属性(如名称或速度)、存储器118的(如存储器的总共和/或空闲量)、或者设备的连接如连接速度或连接类型的能力属性的信息。设备状态可以包括更多易失性信息,包括设备位置、当前CPU使用率、或者剩余的电能或存储器。当前,如下面所述并且/或者将是很明显的,设备元数据130中可以包括其他设备方面或信息。例如,设备元数据130可以包括关于其他设备的信息,例如在设备108包括RFID读取器的情况下,设备元数据130可以包括RFID读取器可读取和/或写入的RFID标签的类型的描述。
服务元数据126可以有些类似地包括与是否和如何能在一个或多个设备上执行服务有关的服务描述和/或要求。例如,服务元数据可以包括服务行为描述、服务的技术限制、或者关于服务的输入、输出、前提或效果(IOPE)的信息。例如,技术限制可以包括要求的CPU类型或速度、需要的(空闲)存储量、要求或优选的连接类型或速度、操作系统版本/名称/描述、或者电池或其他设备电源的类型或状态。
因此,和设备元数据130一样,在静态服务和动态服务要求(如硬件要求)之间可以进行区别。例如,可以包括诸如总存储空间或最大处理速度之类的静态值,以及动态值,如可用存储空间/处理/电能和/或在服务执行时可以允许与所述服务一起同时运行在设备上的其他服务的数量或类型。
服务元数据126的结构和用途可以根据服务是被当作复合服务还是原子服务而有所不同。在这点上,原子服务是指运行在单个设备上的离散服务,而复合服务是指包括和组合一个或多个原子服务的更高级的服务。例如,复合服务可以被部署到要求特定数量或类型的设备108、110、112或114的本地网络102上,以便提供累积或聚集的功能,而原子服务可以被称作被部署在单个设备108、110、112或114的服务,如服务122。例如,设备108、110、112或114可以包括散布在规定区域中的温度传感器,以便确定该区域中的温度分布或梯度,在这种情况下,设备108、110、112或114中的每一个可以执行温度收集服务(例如,设备108上的服务122),而设备108、110、112或114中的一个或多个、或者某些其他设备可以执行复合服务,其聚集来自所有设备108、110、112或114的温度数据,并且确定关于温度分布或梯度的信息。因此,例如,应当理解,复合服务的部分服务元数据126可以包括关于包括复合服务的原子服务的信息。
此外,对于复合服务,在服务元数据126中可以包括诸如服务密度(如每5qm2部署复合服务)之类的抽象限制,并且可能需要将其转化成对复合服务中所包含的原子服务的具体要求。例如,刚才提到的抽象密度限制可以产生对于相应复合服务的原子服务的具体要求,其中在所有可用设备的10%上部署原子服务。
因此,在给定系统(如系统100)的特定上下文中,可以使用转化处理来将复合服务的抽象限制转化成对于相应原子服务的具体服务要求。这样的转化处理可以确定复合服务的抽象限制,并且基于当前系统(如系统100)的信息将抽象限制转换成具体要求。就复合服务的原子服务一起通信和工作这方面来说,确保具体值对于所有原子服务都相同可能是合理的。例如,如果复合服务与每5qm2部署的抽象限制相关联,则可以应用系统信息,如系统场地的大小是100qm2、每5qm2包含10个设备,于是40个设备覆盖整个场地。然后,以每5qm2部署复合服务的抽象限定产生了对于相应原子服务的10%的部署密度。即,在这种情况下,40个设备中的4个(10%)将运行复合服务和/或相应的原子服务,在整个100qm2场地的每个5qm×5qm场地中有一个设备上面部署服务。
一般而言,服务映射器120至少使用服务元数据126和设备元数据130,可以将给定服务映射到本地网络102的设备108、110、112或114上。该映射被设计成不仅在必要时与服务元数据126和设备元数据130的各个方面值匹配(例如,匹配服务元数据126中指定的要求存储空间与设备元数据130中指定的设备存储器),而且被设计成允许和优化所述服务的部署和执行。例如,可能的情况是,设备108和设备110都是名义上或表面上能够运行服务122(例如,设备108和110可能拥有一些存储空间、处理能力或电能的最小要求值)。然而,也可能的情况是,服务器122对电能的渴求超过对存储空间的渴求(或者相反),从而如果设备108当前与其他候选设备110相比能够提供更多电能,即使设备110当前提供比设备108多的空闲存储空间,服务映射器120也可以将服务122映射到设备108。
更正式地说,匹配集合可以表示为将设备集合的设备元数据(例如,设备简档)与要部署的服务的元数据(例如技术要求)进行比较的函数。具体地说,集合Dcap可以被定义为所有可用的单独设备简档“d”的集合,而stec可以指所述服务的技术要求。于是,匹配集合可以在等式(1)中被定义为:
等式(1)
这样,仅当所述服务的所有技术要求stec得到满足时,集合Dcap内的设备简档d才被接受为匹配集合的元素。
然而,如上面提到的,简单地匹配服务元数据126与设备元数据130的值可能不足以确定匹配或候选设备简档“d”中的哪一个在质的方面上最适合执行所述服务的功能。例如,可以应用性能度量,为设备元数据的一个或多个属性分配数值权重,其中可以基于相应属性值来为所述服务分配数值权重,从而,例如,对于不同服务,数值权重可以不同(例如,可以是特定的服务的)。例如,该性能度量可以在等式(2)中表示为:
Vald=w1(CPU_load)+w2(memory)+w3(battery)+w4(connection_speed)
等式(2)
在等式(2)中,可以选择权重值w1、w2、w3和w4等于“1”,并且/或者可以另外被归一化或者修改来考虑任何单位的差异。
因此,等式(2)可以被应用到所有可用设备(或者等式(1)的匹配集合内的所有设备),从而可以获得每个设备的Vald的值。于是,可以比较特定于设备的Vald的值,来确定所有所述设备的最大值,并且可以由服务映射器120选择相关联的设备。这样,可以选择为执行所述服务提供最高可用质量的设备。
此外,等式(2)的例子的性能度量可以扩展到涵盖其他设备或依赖于应用的事项。例如,可能的情况是,已知特定类型或品牌的设备在执行要部署的服务方面提供某些优点或好处(例如,在可靠性方面)。因此,例如,这种类型或品牌的所有设备可以被分配适当的权重,并且被包含在等式(2)的性能度量或类似的性能度量中。
一旦执行了适当的服务映射,可以使用服务注入器(injector)134来将映射的服务(如服务122)在设备108上安装和启动。服务注入器134还可以更普遍地用来管理服务的生存周期(例如,通过在必要时执行服务更新或者停止服务)。
因此,服务注入器134的一个任务是将具体服务代码(例如,可执行服务128中适当的一个)传送到所选设备。因此,服务注入器134接收和安装所述种类的代码。象服务注入器134这样的安装组件可以作为单个独立软件组件装在设备侧,或者可以与其他安装组件合作,以便分布可执行服务128。在后一情况中,例如,如果服务映射器120不能访问所有所选设备来进行要求的服务安装,则多个设备上的服务注入器可以相互通信来完成安装。在安装可执行服务128之后,服务122可以保持在无效状态,直到服务注入器发送启动信号来将服务改变为活动状态为止。类似地,服务注入器134可以用于组织服务的更新和停止。
一旦进行了服务122的映射,并且在设备108上安装和启动了服务122,则服务122的执行可以按照需要而继续。然而,随着时间的逝去,可能的情况是,设备108不再是本地网络102中运行服务122的最佳设备。例如,设备110可能停止运行它自己的服务,从而释放足够的存储空间、处理或电能资源,在运行服务122方面超过了设备108。作为另一个例子,设备112可以表示在服务122部署在设备108上之后在特定点及时进入本地网络102的设备,并且在运行服务122方面它具有更好的资源。例如,设备108可以是个人数字助理(PDA),而设备112可以是具有比PDA设备108更好的计算特性的便携(laptop)计算机。作为最后一个例子,可能的情况是,设备108自己的资源开始短缺(例如,电池电能可能达到接近放完电的状态),从而导致本地网络102整体上潜在的脆弱性,而设备110、112或114中的一个被认为更适于运行服务122。
因此,服务映射器120可操作来在服务122运行时间期间,将服务122从初始设备(如设备108)重映射、移除和重部署服务122到另一个所选设备,例如设备110。这样,通过将服务从相对资源匮乏的设备重新分配到更有能力的设备,可以实现设备利用的改善和可靠性的改善。如下面详细描述的那样,系统监视器132可以执行每个设备上的可用资源的确定,从而可以由此做出关于何时和是否起动重映射的决定。
在执行映射和/或重映射时,可能的情况是,任何或所有业务数据处理系统104、服务储存库、系统监视器、本地网络102、或者设备108、110、112和114可能彼此散布在通过广域网106相连的相对宽广的地理区域上,广域网106可以包括例如因特网或者企业专用网络。此外,向业务数据处理系统104报告的智能项目设备的总数可能使得服务映射器120对所有这些设备单独处理服务映射处理的所有阶段是不切实际或不合需要的。
因此,可以使用服务映射器120的组件或层(tier),它们在例如用于服务元数据126和/或设备元数据130的语义(semantic)或描述方面不同,或者在可用的计算能力方面不同,或者在相对于业务数据处理系统104、本地网络102和/或设备108、110、112或114的地理位置方面不同。例如,可以使用全局服务映射器(GSM)组件120a,它对于多个类似本地网络102的本地网络是共同的,并且表示相对强大的计算设备,如工作站或强大的个人计算机(PC)。同时,可以使用本地服务映射器(LSM)组件120b,它特定于本地网络102和其中包含的设备,如设备108、110、112和114(或其他未示出的设备)。LSM组件120b可以表示不那么强大的组件,如Stargate服务器(将在下面详细描述)或PDA。最后,在本地网络102内可以使用与组相关的组长服务映射器(GLSM)组件120c,其中组是本地网络102的所有设备的子集合。因此GLSM组件120c可以由本地网络的设备之一(例如所示的设备108,如传感器节点)来实现,它通常可能具有各个服务映射器组件120a、120b和120c的最少量的计算资源。参照图3示出并在下面讨论这样的分级架构的一个实现示例。
应当理解,上述描述仅仅意图提供服务映射器120的架构的分层示例,而且可以使用更多或更少层的分层结构。通过实现这样分层的架构,例如,如下面详细描述的那样,可以获得各种特征和优点。例如,如上面提到的,系统100可以容易地扩展来包括大量的智能项目设备,同时仍然能够以及时、高效和划算的方式执行对设备和设备之间的映射和/或重映射。
在图1的示例中,GSM组件120a建立架构的分层的根,并且可以用作服务映射请求的第一接收者(addresee)。例如,GSM组件120a可以用作到外部模块(例如,图1未示出的服务组成模块)的接口,可以用于起动映射处理。
GSM组件120a一般而言,提供关于其相关的本地网络(例如,本地网络102)的信息,其中每个这样的本地网络可以与物理和/或地理位置(如仓库或零售店)相关联。例如,GSM组件120a可以用于将本地网络根据其设备、提供的服务、以及任何其他语义信息(包括刚才提到的位置)分类。
例如,GSM组件120a可以包括存储本地网络设备描述的GSM元数据表136,本地网络设备描述包括关于给定本地网络中的已有设备和设备能力的信息。例如,GSM元数据表136可以反映关于给定的仓库包括100个分布在仓库中的传感器、以及仓库雇员使用的20台PDA的信息。除了处理这些设备信息外,GSM元数据表136还可以存储和提供关于各个本地网络中提供的服务的信息。接着刚才提到的示例,GSM元数据表136可以存储关于在仓库中安装用于测量仓库温度(例如使用智能项目设备,如传感器)的服务的信息。因此,在执行到一个或多个设备的服务映射时,可以使用这些关于本地网络及其设备、提供的服务以及其他语义方面的信息。下面结合图4A提供和详细描述GSM元数据表136的特定示例。
GSM组件120a一般可能不需要包括关于独特设备及其当前使用状态的描述或信息,而是可以简单地维持抽象设备类和相关的一般属性的描述。因此,组织和跟踪各个本地网络的责任可以留给LSM组件120b。LSM组件120b可以比GSM组件120a离其相关网络设备更近,从而多个LSM组件120b提供由所有各种网络智能项目设备所收集和分析的数据的分布。与GSM组件120a一样,LSM组件120b可以包括存储设备信息的LSM元数据表138以及与每个设备相关的服务信息、服务质量信息、以及每个设备更具体的位置信息。下面参照图4B提供LSM元数据表138的具体示例。
尽管LSM组件120b可以跟踪和提供关于各个智能项目设备的信息,图1的示例示出LSM组件120b将其底层网络(例如,本地网络102)划分成包括可能的不同类设备集合的簇或者组(典型地按照密切的物理接近性)。例如,设备108和/或设备110、112和114中的一个或多个以及其他设备(未示出),可以被包括在与本地网络102和LSM组件120b相关的一个或多个组中。
在图1的示例中,设备108作为这样的一个组的组长,并且包含GLSM组件120c。这样的分组可以允许改善对设备108、110、112和114的场景(landscape)部分的控制。例如,如果服务需要被均匀地分布在规定区域中,则这样的组划分可能是有帮助的。例如,部署请求或命令可以要求应当将服务安装在本地网络102的所有设备的10%上,从而如果组被均匀地散布在本地区域中,则可以逐个组地进行部署,而不是一次对所有设备部署,这样一些分布服务的责任可以分配给各个组长。
刚才描述的GLSM组件120c及相关设备分组所提供的优点的另一示例涉及(例如,系统监视器132和/或服务映射器120(包括GSM组件120a、LSM组件120b或GLSM组件120c))收集设备元数据130的容易和高效。例如,在服务部署请求的时,可能需要确定遍布多个本地网络的特定设备的当前状态。因此,GSM组件120a可以向适当的LSM组件120b分发设备查询,然后将其从适当的LSM组件120b分发到适当的GLSM组件120c。这样,不必查询全局系统内的所有设备、或者各个本地网络内的所有设备,甚至也不必查询给定本地网络内的所有设备。相反,可以只要求作为特定设备映射的实际或有希望的候选的设备提供它们相关的设备元数据。
类似地,可以在组和/或本地网络层上进行对所查询的设备或其他指定设备的监视,而不是在全局的级别上。例如,系统监视器132可以包括安装在设备108上的监视器组件132a。然而,在其他示例中,监视器组件132a可以额外(替代)地存储在LSM组件120b上。通过以这种方式监视设备,可以以及时、高效和可扩展的方式收集设备元数据130,从而同样可以迅速地做出关于服务映射或重映射的决定。
尽管图1的上述描述示出了这样的示例,即,使用服务元数据126和设备元数据130(也许用性能度量)来执行从服务储存库124到一个或多个设备108、110、112或114的服务的映射,但是应当理解,其他信息在执行这样的映射中也可能是有用的。例如,网络元数据140可以包括各种网络参数,尤其是当这些参数是动态的、而且不是必须与关于任何单个设备的信息区分开时。网络元数据140的一个这样的示例可以包括本地网络102上的可用带宽。其他示例包括描述设备离LSM组件120b的距离的网络拓扑描述(或其他位置信息)、网络整体的移动性特征以及网络连接的可靠性。关于位置示例,例如,可以部署给定服务来替代当前部署在本地网络102内特定区域中的服务。在这种情况下,本地网络102内的组可以与作为额外的网络参数的组标识符(ID)相关联,从而至少可以对于这些组ID部分地进行部署。例如,新服务可能需要在特定时间限制内被映射,因此在这种情况下,可以基于组ID和相关信息,将这些服务部署在离LSM组件120b最近的组内的设备上。
此外,也可以在其他设置中使用这些组ID。例如,可以在服务元数据126中使用组ID,作为所述服务被部署在至少一个指定数量或类型的组上的服务要求。类似地,组ID可以关联为特定设备的参数(与该设备相关的元数据130内的参数)。在这一点上,应当理解,组ID可以被当作设备元数据130静态或动态(易变)参数,取决于设备是否在组之间分配或重分配、以及分配或重分配的频率。
图2A和2B是示出图1的系统100的示例操作的流程图。具体地说,图2A是示出系统100的示例映射操作的流程图。在图2A的示例中,接收对服务部署的请求(202)。例如,用户可以使用诸如下面参照图10讨论的示例用户接口之类的用户接口,输入部署指定服务的请求。在其他示例中,可以自动进行请求,例如,可以从要求部署服务的业务数据处理系统104的应用接收请求。
基于请求,可以确定指定的服务和相关的服务元数据(204)。例如,服务映射器120,或者更具体地说,GSM组件120a可以响应于请求来访问服务储存库124,以确定所请求的服务是否可用,以及确定相关的服务元数据126和可执行服务128。在某些示例中,同一服务可以对于多个部署平台实现,例如可以对于基于C编程语言或Java编程语言的已知开发平台实现。通过提供这种多样的开发平台,给定服务可以部署到更宽范围或类型的可用设备。关于所述服务的开发平台的信息可以作为一种类型的服务元数据126,与例如上面参照图1提供并讨论的操作服务的任何各种服务要求或偏好一起被包含在内。
然后,可以获得多个设备的当前设备元数据(206)。例如,服务请求可以指定特定的本地网络、设备组、设备或设备类型。在其他示例中,服务映射器120和/或GSM组件120a可以基于服务请求和/或相关服务元数据,自动选择特定设备或设备类型。为了收集设备元数据130,系统监视器132可以起动分发到适当设备的一个或多个查询(也许从或结合服务映射器120或者其相关组件发送),并且然后可以收集响应于查询的设备元数据130。例如,为了分发查询以及进而收集设备元数据130,可以使用来自GSM元数据表136和/或LSM元数据表138的信息,并且可以构建设备组并将其与组ID相关联,以便以及时和可扩展的方式收集设备元数据。在其他示例中,在预期将来的服务请求中,可以通过周期地请求设备信息,来收集设备元数据130。
可以至少基于服务元数据126和设备元数据130,从多个设备中确定所选设备(208)。例如,服务映射器120或其组件120a、120b、120c之一可以应用根据等式(1)的匹配操作,以便确定哪些查询的设备允许部署该服务的(即使)可能性。例如,匹配操作可以包括确定服务可用的特定于平台的实现(可执行)(例如,基于Java服务的Java虚拟机)在至少一个给定设备上可执行,或者其他设备特性和能力可以与要部署的服务的服务要求匹配。然后,可以使用如等式(2)所示的性能度量来确定所选的一个匹配设备作为允许部署的服务性能最佳的一个。当然,如前面提到的,可以使用其他信息来执行所选服务的确定,包括网络元数据140。
最后在图2A中,服务被部署到所选设备上(210)。例如,可以使用服务注入器(如服务注入器134)来部署、安装和/或启动所选设备上的服务。在某些实现中,服务注入器134表示或包括多个服务注入器,其中每个服务注入器与特定开发平台相关。在这些情况下,特定类型的服务注入器的可用性可以被包含在设备元数据130中,并且与服务元数据126的相应要求进行匹配。
因此,图2A示出为了将服务部署到所选设备或设备集合上、在系统100或相关系统中可以进行的服务-设备映射处理的高层描述。如上面提到的,可能的情况是,服务已经被映射和/或部署到了一个或多个设备上,并且由于多种可能的原因,可能确定应当停止正运行的服务、将其从它当前运行的设备中移除、以及将其重映射和重部署到更好的设备上。因此,图2B是示出系统100可以执行的这样的重映射处理的示例的流程图。
在图2B的示例中,确定将在初始设备上运行的已部署服务进行重部署的动机(212)。例如,如上面提到的,情况可能是,服务122被部署并运行在初始设备(如设备108)上。然后,系统监视器132可以涉及到确定重映射服务122的动机中,例如,检测更强大或更适合的设备(例如,本地网络102上的设备110)的可用性。例如,作为更适合的设备110物理移动到本地网络102范围内的结果,或者作为设备110上的某些其他服务停止(从而释放设备110的资源并使该设备可以运行服务122)的结果,该设备可以被检测为可用。在另一示例中,动机可以包括检测到初始设备108上的低电能或有限存储空间。在另一示例中,动机可以包括对服务映射器120在某一预定时间周期之后重部署服务122的指示。作为这些动机的结果,可以进行重映射,帮助确保服务运行在本地网络102的适合设备上。
一旦确定了足够的动机,就可以进行部署服务从初始设备到从多个设备中选择的设备的重映射(214)。例如,可用执行图2A的映射处理,使得在这种情况下,图2A的部署服务的请求(202)对应于动机的确定,以开始例如可以由系统监视器132表示或确定的重映射处理。此外,尽管图2B的处理被称为“重映射”,但应当理解,初始设备108上的服务最初并不是一定需要由图2A的映射处理映射。例如,情况可能是,服务器122最初被直接和专门安装在设备108上,而没有图2A的映射处理的帮助。因此,在这种意义上说,重映射是指服务122或类似服务从初始设备到所选设备的任何移动或重部署。
此外,应当理解,某些用于执行重映射的技术可能依赖于例如重映射的动机。例如,在特定设备移动到本地网络102中的情况下,可以直接进行到该设备的映射(首先启动重映射),即,该设备将被自动确定为服务122的所选或者接收设备。在其他示例中,例如在动机包括检测到初始设备108濒临缺电的情况下,可以执行图2的全部映射处理,例如,查询设备、将得到的设备元数据130与服务元数据126匹配、以及确定和应用适当的性能度量,可以进行全部处理,以便确定包括一个或多个设备的所选设备(如设备110)。
一旦执行了重映射,已部署的服务就可以被重部署在所选设备上(216)。例如,可以使用设备110上的服务注入器,将已部署的服务122从设备108重部署到设备110或者其他所选设备。如下面参照图7详细讨论的,这样的重部署可以包括在重部署紧前面保持初始设备108上的服务122的状态。这样,例如,即使在重映射处理期间也可以保持服务的连贯性。
然后,可以将已部署的服务从初始设备移除(218)。例如,设备108上的服务注入器134可以停止并将服务122从初始设备108移除。在该示例中,在服务122部署到设备110之后进行已部署的服务122从初始设备108的移除。例如,这可能出现在服务122提供要求服务的连贯性的某些安全功能或其他服务(例如,传感器监视危险的化学品或状况)的情况下,这样,尤其是与刚才提到的状态的保持一起,使得很少有或者没有危险状况不被监视的时间。然而在其他示例中,应当理解,不需要保持服务122的状态,并且服务122可以在重部署到设备110的同时或者之前从初始设备移除。
图3是示出使用图1系统的三层架构的系统300的框图。即,图3的示例示出上面参照图1讨论的全局、本地和设备(组)层的应用。例如,图3示出系统100按照所提供的服务和/或所包括的设备来分组不同的网络的能力。这样,可以在宽范围的智能项目设备上部署宽范围的服务,以实现多种业务目标,此外,可以将设备网络组织成团体(community)。
具体地说,在图3中,全局层包括设施安全管理团体302和资产跟踪团体304。从图1的上述描述应当理解,设施安全管理团体302和资产跟踪团体304的每一个可以与全局服务映射器(GSM)组件120a的实现相关联。于是,例如,设施安全管理团体302可以包括用于确定危险状况的(例如,易燃或易爆物质或物质组合的存在)服务和设备,而资产跟踪团体304可以包括可用于全程跟踪产品(从它们源头/制造一直到产品被放倒货架上销售)的服务和设备。通过以这种方式分类服务和设备,可以适当地分配来自企业的信息,并且可以高效地执行这里所述的各种映射和重映射过程,例如,不用浪费精力来试图将在设施安全管理团体302中有用的振动检测服务映射到资产跟踪团体304中的设备,如果提前知道这样的服务在后一上下文中没有用处的话。
然后,本地网络306和308可以被当作上面参照图1提到的本地层的部分,并且可以与设施安全管理团体302相关联,而本地网络310位于本地层并且与资产跟踪团体304相关联。如已经参照图1提到的,本地网络306、308和310中的每一个可以与多个设备相关联,具体地说,本地网络306可以与设备312、314和316相关联,而本地网络308可以与设备318、320和322相关联。然后,各个设备可以被分组来形成图1的组层,其中对给定的组选择或确定一个设备作为组长。在图3中,设备312是包括设备312、314和316的组的组长,而设备322是设备318、320和322的组长。
同时,资产跟踪团体304的本地网络310与组324和组326相关联,其中组324包括设备328(作为组324的组长)、330、332和334,并且组326包括设备336(作为组326的组长)、338和340。从图1的上述描述应当理解,本地网络306、308、310可以包括本地服务映射器(LSM)组件120b的实现。该LSM组件可以包括计算设备或服务器(例如,便携式计算机或者Stargate服务器),它拥有足够计算资源并且在物理上离其对应的设备近(与其对应的GSM组件相比)。因此在图3中,组324和326示出这样的事实,即在某些实现中,只有特定设备(例如设备330)(并不一定是组长设备)可以直接访问运行LSM组件120b的设备或服务器。结果,在这些情况下,LSM组件与组324和326的其他设备之间的通信可以通过直连的设备330进行。
图4A和4B分别是示出GSM元数据表136和LSM元数据表138的示例。在图4A中,GSM元数据表136包括用于标识相关的本地网络的列402(例如,标识LSM 120b的实现)。例如,在图3中,列402可以标识本地网络306和/或本地网络308与GSM组件120a的实现相关联,后者与设施安全管理团体302相关联,其中在列404中标识该团体。
然后,列406可以用来指代对应的设备元数据文件(例如,符合定义的XML模式的XML文件),它描述例如与可操作提供一定能力的LSM组件120b相关联的传感器。类似地,列408可以用来指代对应的服务元数据文件,它描述所述服务的一般性质,包括例如关于列406的传感器实现的温度和振动服务的信息。列410提供本地网络的位置,例如,图中所示的“仓库A”。于是可以在GSM元数据表136中以概括、高层的方式引用设备元数据130和服务元数据126,而不要求GSM元数据表136保持所有(或一些)本地网络的所有设备的当前状态。当然,GSM元数据表136中可以包括其他信息,例如,设备是移动还是固定的。
GSM元数据表136的数据文件可以存储在一个或多个服务器上,并且可以由用户根据需要加载。在其他实现中,GSM元数据表136的数据文件可以被GSM组件120a或者管理者自动加载(一般地说,应当理解,这里事实上由用户执行的任何所述动作可以使用适当的计算资源自动实现)。结果,服务映射请求可以被路由到全局层上的适当GSM组件,并且可以使用相应的GSM元数据表136来确定例如对服务映射请求可以考虑哪些相关设备/服务属性或类型。通过使用GSM元数据表136和其他这样的表,可以减少或消除连续遍历所有可用的本地网络的需要。
图4B示出LSM元数据表138的示例,它包括列412,其使用相关组标识符标识设备组,而列414标识列412中所标识的组的成员。例如,列414可以指定列412的组包括具有相关(类型)能力的PDA和传感器节点。
列416指定可以在列414的组成员(设备)上运行的服务(的类型)。在图4B中,列416标识显示服务和温度服务。因此,组不仅可以被当作设备的集合,而且还可以被当作组所提供的服务的集合。在这种情况下,即使在大的区域中、对于多个不同类型的设备,也可以标识服务。
列418指定服务质量(QoS)事项,例如,列412的组ID中标识的组的当前资源使用率。通过指定组的可用QoS,可以知道和评估组的可靠性和性能。最后在图4B中,列420指定所标识的组在相关本地网络的位置,例如图中所示,在本地网络的“仓库A”的“区域1”中。因此,组的位置可以例如靠近该组的LSM组件120b,从而,例如LSM组件120b与组之间的通信可以及时和可靠。
从图3、4A和4B以及上述讨论中应当清楚,LSM组件120b可以负责组织其自己的本地网络,并且与GSM组件120a及其存储设备和/或服务的类型分类高层和描述相反,可以负责存储特定于实际的单独设备和/或服务的信息。如上所述,LSM组件120b可以物理上离其各自的设备和网络较近(例如,可以与设备位于同一仓库或其他建筑或地点中),并且可以用于跨接GSM组件120a和各个设备之间的间隔。通过以这种方式分担责任,可以获得大量数据的有利分布。
因此,LSM组件120b可以包含到其相应GSM组件120a的标准接口,由此它可以接收将服务映射到LSM组件120b的一个或多个设备的映射请求。如下面详细描述的,LSM组件120b可以包括网关服务器。
除了图4A和4B的示例,应当理解,GMS元数据表136和/或LSM元数据表138中可以包括其他参数和元数据。例如,可以包括组的额外属性,例如每个组的规模,如关于组长与组成员之间的最大跳数或者定义可以包含的最大组成员数目的组大小。
图1和3的三层架构的第三层是组长层,在该层上可以部署GLSM组件120c。因此组长一般表示作为本地网络被分成的相应组的代表的本地网络的专用设备(如图1和3所示)。如图4B所示,这些组长在LSM组件120b上登记(例如,存储在LSM元数据表138中),并且提供来自相应的底层设备簇的抽象。组长因此可以用于提供关于各个组成员、以及关于组成员所提供的服务的信息。
关于三层架构的每一层的语义信息可以被当作建立置于底层移动特定网络上的轻权重的语义覆盖层的块(building blocks of a light-weight semanticoverlav)。该语义覆盖层允许将语义相关的服务或设备分组在一起,而与服务/设备的物理位置无关。例如,在全局(GSM组件120a)层,可以标识由企业内的相同或类似角色相连的物理分布的本地网络。类似地,可以根据关于构成设备和这些组的功能的信息来标识本地(LSM组件120b)级别的组。
图5是用于分别实现图1和3的系统的智能项目基础架构500的框图。智能项目基础架构500包括五层:设备层502、设备级服务层504、业务处理桥接层506、系统连接层508以及企业应用层510。可以认为层502包含跨越多个组、本地网络和/或物理位置的各种设备一图1的设备108、110、112和114或者类似设备。同时,可以认为层506、508和510是图1的业务数据处理系统104的部分或者与其相关。因此,可以认为层504表示图1的系统100的其余组件,例如,服务映射器120及其组件120a、120b和120c、系统监视器132及其组件132a、以及服务储存库124,如图5所示。
设备层502因此包括实际智能项目设备以及它们之间的任何通信。设备层502还负责将任何提供的硬件服务提送到下一高层一设备级服务层504。设备可以包括例如,RFID设备512、嵌入式系统514、传感器网络516、以及任何其他新的或新兴技术518(只要适合的话)。
例如,对于RFID设备512,可以将移动标签贴到现实世界物体上,然后通过RFID读取器读取。在使用有源标签的实现中,有源标签也可以提供额外的传感器数据(例如,当前值或过去值)。在RFID中,通信通常由读取器起动,而标签可以或不能彼此直接通信。这样的RFID读取器可以被配置处理标签数据的程度,例如,可以被配置成执行写入数据的验证,或者在表面上丢失的标签实际上在给定时间窗内再次出现的情况下,避免报告标签消失。
与嵌入式系统514的通信的技术可以随着嵌入式系统的设备类型而不同。例如,嵌入式系统可以表示从小型、单芯片微型计算机一直到全面的PC硬件。因此,例如,对于有移动电话或更多能力(例如,能够运行Java虚拟机TM)的设备,可以以JavaTM或基于OSGi来进行实现(后者表示用于实现应用和/或应用组件的远程安装和管理的组件模型的已知框架)。同样如上所述,传感器516可以包括任意数量的传感器类型,传感器可以包括集成的处理能力并且能够执行对等通信。
设备级服务层504管理设备层502使用的可部署的服务。因此,层504包括服务映射器120(和服务映射器组件120a、120b和120c)、系统监视器132(和系统监视器组件132)以及服务储存库124。
如上所述,服务储存库124可以存储至少两种类型的服务,复合和原子(atomic)服务。复合服务通常依赖其他服务来完成它们的任务,并且可能没有它们自己的直接可执行的代码;复合服务可以包括存储在相应服务描述中的可执行服务组成描述。因此,复合服务可以具有一个可执行服务,即,服务组成描述。相反,原子服务通常不使用其他服务,并且具有它们自己的直接可执行的代码。此外,如前面所述,由于原子服务可以部署在不同的平台上,因此原子服务可以具有不止一个可执行服务,例如,对于每个不同平台具有一个可执行服务。
服务储存库124也可以存储服务元数据126,其中该服务元数据126在上面详细描述,并且可以包括服务名、标识符、版本或厂商,或者可以描述服务的运行时要求,包括例如,技术部署要求(例如,高带宽或者要求的最小处理能力)、语义要求(例如,接收设备具有串联和/或许多设备邻居)、以及空间要求(例如,接收设备在地下室内,或者在指定建筑的南边)。
最后在设备级服务层504上,可以包括设备储存库520。从上面的描述中应当理解,设备储存库520可以包括例如,关于设备的设备信息(例如,设备元数据),类似于服务储存库124保持关于服务的信息(例如,服务元数据)的方式。例如,设备元数据可以在确定了设备查询操作之后被存储在设备储存库520中,或者在另一实现中,可以基于关于设备的外部可用信息由管理员存储。例如,如前面所述,设备元数据可以包括设备名、电能容量、存储容量、处理能力、或者其他可能与将服务映射(并最终部署)到相关设备有关的信息。
在运行时,系统监视器124监视当前系统状态。可以由服务的开发者在设计阶段设置服务的状态的任何部分是否和如何暴露给系统监视器。该状态可用性信息于是对于系统管理员和服务映射器120都是可得到的。此外如上所述,服务映射器120接收部署请求,然后例如通过匹配服务元数据与设备元数据(可以包括智能项目设备和相关本地网络的当前状态),来确定相应服务应当被部署在哪个设备上。此外如这里所述,服务映射器120还可以对特定事件或状况作出反应,包括(由系统监视器124识别出的)网络状态的改变,然后可以决定重映射服务或者添加或删除服务实例,以便更好地满足给定的部署请求/要求。
业务处理桥接层506包括这样的服务,它被设计成聚集来自设备层502的设备、通过设备级服务层504提供的数据,并且将来自设备层502的数据转换成有关业务的信息。这种情况下,可以减少送到后端企业应用系统的数据量,并且可以对不同的企业应用系统执行业务逻辑。
例如,一个或多个规则处理器522可以用于解析输入消息,支持基本操作服务(例如,项目移动、关联、解除关联或者设备读/写)并支持信息查询。规则处理器522处理用户定义的业务规则,该规则定义或引用应当执行或考虑的任何其他基本操作服务。使用这样的规则和基本操作服务,这提供了灵活的框架来使系统500适应于不同的业务场合。
规则处理器522可以使用数据储存库524来保持对所有感兴趣的物理对象的跟踪,例如,保持对给定被跟踪对象的当前状态、位置、时间戳、或者相关业务交易的跟踪,以及保持对预期的将来行动的跟踪。可以定期地(例如,每天或者每月)报告来自数据储存库524的聚集信息。
层502、504和506的操作的一个示例包括“收货”场合。例如,向接货商交付对象的供货商可以与对象标识符(如电子产品码(EPC))一同发送高级货运通知(ASN),该通知包含货运中的所有对象的列表。ASN可以被存储在数据储存库524中。当货运到达并且通过设备层502(例如,在接收码头门处)上的RFID读取器时,然后, RFID读取器读取EPC,并将其发送到规则处理器522。规则处理器查找消息来自的读取器的ID,确定读取器的位置和角色,然后调用负责处理接收的货运的适当的基本操作服务。该操作服务将获得的EPC与来自前面ASN的预期EPC进行比较,如果找到匹配,则向企业应用532报告交货已经到达和完成。执行的操作服务然后还可以更新数据储存库524中的数据。上面描述的服务以及用于接收和发送所涉及的消息的服务,可以由服务管理器526管理。
系统连接层508中的组件可以用于连接不同的应用系统以及支持系统和数据集成。例如,消息和数据可以由信息交换和转换模块528路由到正确的后端系统,还可以在此被转换来使能语义正确的集成。在消息路由和转换服务的上面,系统连接层508还可以用于当给定服务被从开发环境部署到设备级服务层504的服务储存库124时,使用外部服务储存库530来传输可执行服务128。
企业应用层532包括例如,负责控制和管理企业业务应用的传统IT系统。覆盖特定业务过程的企业应用可以不是单个程序,而是可以由一起工作来实现期望功能的不同服务构成。这样的服务可以由同一企业系统、企业应用层532内的另一企业系统(可能位于业务伙伴的地点)、或者由低层的系统(例如,由设备层502上的智能项目设备)提供。
最后在图5中,开发工具534可以指创建企业应用532和其他应用/服务的工具。使用与基础架构500集成的开发环境可以支持基本服务的实现,类似于企业应用空间中的已知开发工具的方式。此外,开发工具534可以允许创建所需服务元数据126、以及将已有服务包括进新应用中。此外,开发工具534允许开发者指定特定服务应当在哪运行,配置各个服务实例,以及以期望的方式部署服务。即,开发者可以使用开发工具534开发元数据/可执行536,然后可以提供期望的服务元数据/可执行536,以便存储在服务储存库124中,并且由服务映射器120同时或者以后映射/重映射。
图6是示出服务-设备映射操作的流程图600。在图6的示例中,服务(包括和/或与服务元数据和一个或多个可执行服务相关)最初被开发和登记在服务储存库124中(602)。例如,图5的开发工具534可以用于设计和构建可执行服务和相关的服务元数据,以便在特定平台类型上实现。
然后可以在这里所述的三层架构的全局级别上标识本地网络(604)。例如,可以确定图1和4A的GSM元数据表136,其中可以存储本地网络(例如,LSM)信息(包括团体信息、设备或服务信息和位置)和可能的额外或替代信息。如参照图4A所描述的,该全局级别信息可以在高级别或抽象级别上确定和表示,例如,不参考任何特定或独特设备,而是关于已知与给定本地网络相关联的设备类型、功能或服务。如下面所述,GSM元数据表136因此用作确定是否和如何进行服务-设备映射的开始点。
因此,可以在服务映射器120处(例如,在GSM组件120a处)接收服务映射请求。例如,管理员或者其他用户、或者另一系统组件,出于将期望服务映射到适当的本地网络和设备上的目的,可以访问GSM元数据表136,并且因此可以通过标识期望的服务或服务类型来向GSM组件120a发出服务映射请求。这样的请求可以采用各种形式。例如,管理员或其他系统组件可以请求将特定服务映射到一个或多个显式标识的设备,或者可以请求将服务部署到所有(可用)设备上。管理员或其他系统组件也可以请求将服务映射或部署到某些指定数量或百分比的设备上。最后,如下面图6的示例中所描述的,管理员可以指定,在给定上下文中,应当将服务指定在“最佳”设备上(例如,根据上面关于图1和2A所述的性能度量)。
在服务映射请求中给出了目标设备的情况下,GSM元数据表136可以用于检测具有指定设备的所有本地网络。例如,如果服务需要被部署在所有本地网络的所有PDA上,则将检索包含PDA的所有本地网络。因此,GSM元数据表136中保持的抽象设备类(作为关于本地网络的额外信息)可以支持本地网络的搜索。
在其他示例中,对服务的描述在确定本地网络时可能是有帮助的。例如,使用服务元数据126,可以找到和分析具有已经运行的类似服务的团体,以检测正使用的相关设备(的类型)。例如,如果需要部署作为设施安全管理的部分的新服务,并且由于本地网络与团体相关,因此可以使用相应的设施安全管理团体302来检测潜在的相关本地网络/设备。
作为对GSM组件120a的进一步输入,管理员或者其他系统组件可以指定特定的管理限制(608)。例如,管理员或者其他系统组件可以指定要求的服务部署密度(如上面参照图1所述),或者可以指定特定类型的设备的使用,或者可以指定完成映射和/或部署的时间限制。如参照图1所述,这样的抽象管理限制可以被转化成关于服务将被映射到的设备的特定网络的具体限制(例如,10%的设备密度可以被转化成与特定本地网络相关的区域中的具体设备数量)。
然后可以比较服务映射请求与相关本地网络信息(610)。例如,即使在全局层或GSM元数据表136的级别上,服务映射请求与本地网络信息的比较也可以大大减少服务映射请求的可能输出(outcome)。例如,关于图3,如果服务映射请求与资产跟踪团体304相关,则对于服务映射请求可以不考虑与设施安全管理团体302相关的本地网络306、308。类似地,列406、408或410的设备或服务或位置信息分别可以减少可能的服务部署所要考虑本地网络的数量。
因此,可以做出关于服务的部署是否可行的确定(612)。如果部署不可行,例如在没有设备、服务或位置可以与服务映射请求和/或管理限制(如果有的话)匹配的情况下,则可以采取若干行动(614)。例如,可以通知管理员,或者可以进入等待模式(例如,在预期有可能某些设备或网络状况将改变并且部署因而将不可行时)。此外,可以提供新服务;例如,可以新设计、修改和向服务储存库124(重)登记服务,使得新登记的服务可以与主要本地网络状况相兼容。
然而,如果标识出部署指定的服务没有障碍,则服务映射请求可以被送到LSM组件120b处并在LSM组件120b处接收(616)。LSM组件120b然后可以开始到服务储存库124的连接,以便获得与所请求的服务(的类型)相关的特定服务元数据(618)。例如,LSM组件120b可以从服务储存库124获得具有预定XML模式和指定服务元数据(例如服务要求)的XML文档。
然后,可以确定或者构建组及其相关的组长(620),将其与对该组唯一的组ID相关联。如上所述,组可以通过它的构成设备和/或它所提供的功能来描述。
本地网络内的组生成可以通过多种机制来进行。例如,可以基于多个参数/要求确定或设计组,例如,组成员与(可能的)组长之间的最大跳数或者最大组成员数。
在组创建期间,可以使用在最小化网络流量的同时允许设备发现的发现机制,这是由于网络流量和设备的其他发送/接收动作对于趋于具有相对少量计算和电能资源的智能项目设备来说是非常宝贵的。作为该处理的一部分,在本地网络上发出并意图建立组的消息可以包括功能和非功能组属性以及唯一组ID。然后,可以评估来自可能的组成员的响应消息来创建组。某些设备可能由于例如关于组大小或其他属性的限制而从出现的组中排除。这些被拒绝的组可以以相同或类似的方式开始另一组创建处理,从而最终将本地网络分成组或簇(例如,如图3所示)。
然后,可以基于下面准则中的一个或多个、或者基于其他准则来选择每个组或簇的组长。例如,在多个组成员中确定组长时,可以考虑包括可能的组长彼此相对的资源富裕程度在内的因素,这是因为,例如,组长可能与LSM组件120b及其他组成员通信,并且可能因此需要足够的资源(例如,电池、CPU、存储空间或者带宽)来允许该通信。作为另一个示例,可能的组长所连接到的大量设备可以允许可能的组长更有效地从其相关组成员聚集信息或者向其传播信息。作为另一示例,可能的组长的频繁或最近的使用可能再次使该设备失去作为组长的资格,直到某个条件满足为止。
一旦确定了组长,可以选择适当的路由协议以确保可能的组成员设备可以以可行和有效的方式相互通信。例如,即使组包括不同类的设备(例如,便携式计算机、PDA或智能电话),也可以进行它们之间的通信。路由协议的示例包括基于位置的路由(基于设备的物理位置)、和/或依赖设备的直接邻近的、基于拓扑的路由协议。
一旦确定了组长,LSM组件120b可以向组长发送消息,以便指示组长收集设备元数据,例如,它(它们)相关组的设备简档(622)。可以使用各种能够收集设备元数据而不超过相关本地网络和设备的电能和/或通信能力的查询技术,来执行设备元数据的收集。此外,该查询技术可以考虑本地网络基础架构的可能的移动性和不可靠性,例如,新设备可能在查询过程中加入或离开本地网络。
要执行的查询的类型可以不同。例如,可以使用集中在结果的完整性的囤积(hoarding)查询。例如,该囤积查询可以执行唯一的查询(指本地网络上稀少并且因而容易标识的设备),或者代表性查询(例如,指其中要在区域的所有设备(如特定建筑中的所有设备)上进行服务部署的查询)。
与这些囤积查询相反,选择性查询可以包括不同的策略,以提供可扩展和自适应的基于簇的设备发现。这样的设备发现可以包括(1)标识包含所需设备的适当簇,(2)分配优先级(其中优先级评估关于发往组长的查询的等级,并且指示期望来自哪个组的更多相关结果)。
关于包含所需设备的适当簇的标识,应当理解,组成员的绝对数量可能不如属于特定设备类的组成员相对数量那样相关。关于优先权的分配,可以考虑从组到运行LSM组件120b的网关服务器的距离。换而言之,例如,离LSM组件120b较近的组可能需要较少的跳来向LSM组件120b发送数据分组。此外,具有相对较大的当前资源能力的组可以是优选的。
对于总的针对网络中的所有设备类型的代表性查询,可以使用不同的策略。例如,可以依次跟随下面的优先级:具有最多(非特定)设备、数据查询和/或检索的并行性的组、具有高可用带宽的组长、具有最强资源能力的组、以及在跳方面离LSM组件120b近的组。
在这样的代表性查询技术中,组所包含的设备的绝对数量可能是有关的。在这些情况下,由于需要代表性概观,因此可能不要求特定设备之间的区别。并行性和带宽的高可用性可以用于允许快速传输可能大量的设备简档,并且可以用于高效地组织在移动和可能不可靠的网络中查询的分布。
类似的技术和考虑对于更多地针对期望结果的性能、而不是完整性的选择性查询来说也是可能的。例如,关于“前N个”(例如,本地网络上的10个最佳节点)和“头N个”(例如,本地网络上遇到的头N个位于LSM组件120b的特定距离内的设备)的策略依赖于对所标识的设备简档的适当预选择。
一般而言,这两个选择性查询的示例(“前N个”和“头N个”)可以遵从组长向所有它们的组成员请求设备简档的过程,然后组长预选择接收的结果(即,最佳的‘N个’设备简档或者头‘N个’设备简档)。最后,组长将结果集合转发到LSM组件120b,后者然后可以总体上选择最佳的‘N个’结果。
应当理解,在某些实现中,将不会永久地监视当前设备场景。而是,可以在服务映射请求的时刻抽取关于本地网络及其设备的当前状态的必要信息。
一旦每个组长使用刚才描述的一种或多种查询技术或者使用其他查询技术查询了其各自的组设备,组长就可以合并所收集的设备元数据(例如,设备简档)以便转发到相关LSM组件(624)。例如,组长可以创建包含所有的其相关设备的设备元数据的XML文件。
通过这种方式,LSM组件具有匹配已知服务元数据与接收的设备元数据所需的信息(626)。例如,LSM组件120b可以从服务储存库124得到了服务元数据126,并且接收到了刚才所述的多个设备的设备元数据130,可以匹配例如服务元数据126的要求与设备元数据130的设备简档。例如,如果服务要求和设备简档是以根据预定XML模式的各自XML文档提供的,则可以将参数和值(例如,存储空间、电能和处理能力)相互匹配,来确定能够处理所述服务的部署的至少一个组的某些设备子集。
如果尝试该匹配操作的结果是确定部署不可行(628),则可以调用上面提到的各种选项中的一个或多个,包括通知管理员、进入等待模式、登记可部署在至少一个设备上的新服务、和/或提供新设备或设备能力。
然而,如果部署是可行的(628),并且确定了至少最小数量的匹配设备来部署,则可以应用性能度量来确定哪个匹配设备最适合实现所述服务的功能。例如,如上面示例中那样,服务元数据126可以包括关于特定服务要求相对于其他服务要求的相对权重或重要性的信息。然后,这些相对权重可以被加入性能度量中以便与设备元数据比较,从而可以根据哪些设备最适合执行服务功能来排序和/或过滤匹配设备。然后,LSM组件120b可以标识和选择这些最适合的设备以便在其上部署所述服务。
因此,可以实现在所选设备上注射服务(632)。例如,如参照图1所述的,服务注入器134可以用于安装和启动所选设备上的服务。另外如上面提到的,可以基于与具有服务的可执行服务的开发平台的兼容性,选择服务注入器134。
一旦进行了上述服务-设备映射,则可以更新GSM和LSM表(634)。例如,LSM组件120b和/或组长获得的信息可以反映在GSM元数据表136和/或LSM元数据表138中。例如,可以更新LSM元数据表138的服务质量列418以反映每个不同组的新资源使用率。作为另一个示例,可以更新LSM元数据表138的组ID列412以反映上述设备发现过程之后存在的新和/或不同的组。
图7是图1的系统100的重映射实现的框图。即,如已经参照图2B所述的,系统100可以涉及于重映射过程中,通过将服务从资源匮乏的设备重分配到更强大的设备上,允许改善的设备利用。
在图7中,设备110和108分别被示为图2B的重映射过程的初始设备和所选设备。为了清楚和简要,图7中没有显示设备108和110的各个元件,包括例如,在图1的上下文中对于设备108讨论的各个元件。
初始设备110包括用于存储服务704、服务706和服务708的存储器702。类似地,所选设备108包括存储器118,它包括可用存储空间710以及服务712和服务714。
如图7示例中所示,系统监视器132可以包括系统监视器组件132a和132b,它们可操作来检测关于它们各自设备的当前资源可用性和/或使用率的信息以便向服务映射器120报告。当然,在另一示例实现中,系统监视器132可以从设备108、110远程地实现,并且服务映射器120可以被实现成包括GSM组件120a、LSM组件120b和GLSM组件120c。
因此,在图7中,监视器组件132a和132b分别可以检测和提供关于设备108和110的资源使用率和/或可用性信息。基于该监视信息,服务映射器120可以确定存在的重映射服务706的动机。在前面提供了动机的示例,包括确定初始设备110的资源级别相对或极其低,或者本地网络范围内进入更强大或资源富裕的设备。
如下面详细描述的那样,图7提供服务706要被从初始设备110重映射到所选设备108的示例。一般而言,在这样的重映射过程之前或期间,服务映射器120可以使用服务706的相关服务元数据来检查服务706(或其他服务)的移动性程度。例如,服务元数据可以包含关于初始设备110的位置的信息(它可能限制服务706的移动性,例如,如果初始设备110处于具有差连接的位置)。作为另一示例,服务元数据可以包含关于服务706与初始设备110之间可能存在的(可能阻止服务706被重映射的)任何依存关系的信息。
一般地说,服务706的移动性程度可以表示为:“固定”,其中不允许重映射;“可移动”,在这种情况下服务(以及可能的服务状态)可以从设备移动到另一设备;和“部分可移动”,在这种情况下服务706可以包括不同的交互部分,某些部分(不是全部)允许被重映射。
应当明白,服务706从初始设备110到所选设备108的重映射在某些实现中可以共享上面(例如参照图6)所述的映射处理的许多特性。因此,下面详细描述图6的映射处理以外的、或者由此修改的重映射特征。
例如,如参照图2B所讨论的那样,可能需要或者最好保存正运行的服务706对于初始设备110的当前状态,并且在图7中,存储在存储器702中的数据文件716可以用于这个目的。在该上下文中,术语状态或服务状态可以包括例如,在重映射处理之前、期间和之后、可能与服务706相关和/或可能允许服务706执行的连续性的所有有关数据。
确定哪些数据应当与服务706一起移动/包括,这可能取决于例如服务的类型。例如,对于象“平均温度”这样的聚集服务,保存最后计算的温度值并将其传输给所选设备108可能是合理的。然而在其他实现中,传输平均温度服务的整个温度历史也可能是合理的。关于可以移动哪些服务/数据的信息可以被包括在相应服务元数据中。
数据文件716一般可以用于保存要移动到所选设备108的有关数据。数据716也可以在服务706在设备110上执行期间被连续地填充数据,从而允许重建历史或其他服务元数据的可能。在任一情况下,应当理解,任何类型的有关数据可以在服务重映射时存储在数据文件716中。
此外,服务映射器120执行的重映射过程,可以负责检查服务和/或设备数据的一致性,并且将其保存在数据文件716中。在这种情况下,可以使用缓存以便于服务数据存储和传输。也可以对不同服务允许不同的过程,例如,在服务的服务元数据中定义,服务状态可以是可能的重分配的部分。
在某些实现中,可以将服务706(例如,可执行服务)从初始设备110直接移动到所选设备108。在其他实现中,服务706可以由初始设备110的存储器702内的服务映射器120标识,并可以然后从服务储存库124访问来注射到所选设备108的存储118上。
在某些实例中,可以在不同的设备类型之间进行重映射。例如,初始设备110可以包括PDA,而所选设备108可以包括便携式计算机。这种灵活性可能是得益于适当可执行服务的选择,这应当能够解释数据文件716中找到的服务元数据。在这种意义上对服务元数据的解释可以包括用于支持相应数据类型的支持信息,并且可以包括不同的数据表达的机会。例如,便携式计算机通常具有比PDA显示器大的显示器尺寸、较高的分辨率。从PDA传输的数据可以用更复杂的表达格式来显示,例如,通过数据图。此外,数据存储格式和/或技术可以特定于具体设备类型,例如,一个设备可以使用文件格式/系统,而另一个使用二进制格式/系统。
因此,在某些实现中,只有在相同预定义类或类型的设备之间允许服务重映射。在其他实现中,可以使用转化服务(未示出)将给定服务元数据转化成所选设备108支持的适当数据格式。例如,这样的转化服务可以使用所选可执行服务的服务元数据来标识需要哪些数据转换。
图8是示出根据图2B的重映射操作的流程图800。在图8中,对运行在初始设备上的已部署服务的重映射确定动机(802)。例如,上面已经提到,可能的情况是,设备处于用尽某些资源(如存储空间或电能)的边缘(或者移到最小要求水平以下)。在某些实现中,参照图7,确定动机可以包括在初始设备110上运行的监视组件132b处检测动机(例如,存储空间或电能的低水平),如果设备资源缺乏,则监视组件132b可以向服务映射器120发送警报或通知。
或者,新的或改变的设备场景可以使能或者强制这样的重映射,以便对于网络整体提供更好的资源利用率。新的设备场景可以包括一个或多个新的强大设备,它们将自身贡献为新服务提供者。运行在相对不那么强大的设备上的服务然后可以被转送到这些更有能力的设备上,以便实现网络内更好的负载平衡。
重映射的动机的另一示例包括作为全局监视的部分、以指定间隔进行重映射的指示,它可以由例如GSM组件120a和/或LSM组件120b起动。该全局监视可以基于是否违反了其他定义的系统限制,在这些情况下确定动机。例如,可能最好特定设备组服从特定不变量,例如,组成员不应当低于的电池阈值,并且这些不变量可以用作系统限制。例如,本地网络102内可能存在某些组,它们代表比其他组更关键的功能(即,更重要的服务),因此,为了确保这些组的稳定环境,可以定义对这些关键组的可能的不变量,例如刚才提到的电池阈值。
此外,可以对一个或多个组定义不同的服务质量(QoS)属性,并且可以以规则的间隔观察这些QoS属性。在这些实现中,特定QoS属性的违反可以作为重映射的动机。在移动无线网络的环境下,QoS可以指服务水平属性或者资源水平属性。在服务水平上,可以谈论可靠性和性能,而在资源水平上,诸如CPU负载、存储空间、带宽和电池水平代表典型的属性。总的来说,运行的服务的可靠性或性能很大程度上依赖于当前资源能力。例如,较低的电池状态可能增加在不久将来设备失效的概率,并且因此与期望的相关服务的可靠性降低相对应。
一旦确定了适当的动机,就确定与要被重映射的服务相关联的服务元数据(804),并且也可以对多个设备的每一个进行当前设备元数据的确定(806)。例如,可以从服务储存库124中确定服务元数据126,而在上面提供的各种服务-设备映射示例的上下文中,可以使用上面所述的各种设备发现、组长形成、和/或简档查询和/或转发技术,确定设备元数据130。
当然,这些技术可以按照需要而修改。例如,在仅允许在本地网络102内重映射服务706的情况下,可能不需要执行对其他本地网络(例如使用GSM元数据表136)的检查。在另一示例中,可能的情况是,重映射的动机包括新设备进入本地网络102,在这种情况下,只需要对该新设备收集设备元数据。因此,例如,LSM组件120b可以从相关本地网络的组长收集一个或多个设备的聚集的设备简档。
此外,如果有的话,可以应用重映射断定(predicate)(808)。重映射断定泛指在可以进行重映射之前需要满足的服务的技术要求。这样的断定可以包括例如,服务最初被映射到初始设备的要求,诸如上面所提到的那些不变量之类的组不变量,或者位置限制。例如,如果最初映射不要求根据性能度量选择最佳设备,则图8的重映射处理可以尝试应用这样的性能度量。作为另一个示例,当未能在最初组内重映射服务导致服务被移动到最近的相邻组的设备时,可以使用位置限制。
然后,可以基于服务元数据和设备元数据确定所选设备(810)。例如,可以在服务元数据和设备元数据的XML文件内的相似标签项之间执行匹配操作。此外,可以在匹配操作结束之后应用性能度量,以便根据性能度量从匹配设备中选择最适合实现该服务的设备。
如已经描述的,应当理解在某些情况下,所选设备的身份表面上可能是已知的,例如,首先基于重映射动机的确定(例如当新的强大设备进入本地网络并触发重映射时)。在这种情况下,所选设备的确定仍可能被认为是指对新的可用设备的设备元数据应用匹配操作和/或性能度量,这是因为确定可能的重映射的动机也许不足以确保重映射的实际存活能力(viability)或愿望。例如,设备可能带有大量可用的预留存储空间和/或电能进入网络,但可能有某些其他可能阻碍重映射的不兼容性(例如,只工作在特定开发平台上)。
可以确定和存储初始设备上存在的当前服务状态(812)。例如,在图7中,可以将服务706的当前服务状态存储在数据文件716中。服务状态可以包括例如,最近收集的数据、或者最近计算的数据分析、或者最近更新的服务历史。
然后,可以确定和应用任何重映射规则(814)。在该上下文中,重映射规则泛指阻止否则被允许的重映射的规则,以便维持系统稳定性、性能和/或可靠性。例如,一个这样的规则可以限制可以对于特定设备或设备对执行的重映射的数量或频率。例如,在设备108为服务706的重映射提供足够存储空间的情况下,可能会出现,后面的重映射处理将释放设备110上足够的存储空间以触发将服务706重映射回设备110的动机的确定。换而言之,重映射的动作可能触发随后的重映射,于是可能导致交替重映射的循环。
因此,重映射规则的第一示例可以基于设备元数据(例如,设备简档)的次序。例如,可以使用类似于等式(2)的加权度量,即,基于加权的资源属性,来赋予每个设备简档一个数值。然后,为了解决频繁的交替重映射处理的问题,可以创建重映射规则,其中当且仅当初始和所选设备的计算值之间的差大于某个预定阈值时,才实现重映射。因此,取决于该阈值的值,只有在具有比初始设备高的多的资源能力的一个或多个设备可用时,才会开始重映射。
在重映射规则的第二示例中,可以确定每个设备在重映射处理中的卷入频率。然后,为了避免交替重映射,只有当经过了某一定义时间时,初始设备才可以成为目标或所选设备。因此,每个设备可以拥有本地定时器,指示该设备上次卷入重映射处理的时间。在其他实现中,LSM组件120b可以实现一个或多个全局定时器,应用到本地网络的一个或多个组的一个或多个设备。这样的定时器通常可以在每次重映射之后被重置。
当然,可以定义和实现其他重映射规则。此外,可以使用这些重映射规则的各种组合,包括刚才描述的两个示例规则的组合。
如果满足重映射规则,则可以将服务重部署到所选设备(816)。例如,LSM组件120b可以例如所描述的那样,使用适当的服务注入器将可执行服务从服务储存库124传送到所选设备。
LSM组件120b也可以例如使用数据文件716,启动服务状态的传送,并且例如再次使用适当的服务注入器,启动所选设备上的服务(818)。最后在图8中,LSM组件120b可以发送对于初始设备上的服务的停止命令(820)。在某些实现中,源设备上的服务的实际停止可能在结束传送之后完成。例如,如上所述,被用来检测或避免危险状况的服务可能需要一直持续到重映射和重部署的服务准备好接管它在所选设备上的新位置时为止。
图9-19提供了上面所述的服务-设备映射和/或重映射技术的各种示例。图9是三层服务映射器120的OSGi实现的分类图的框图,包括GSM组件120a、LSM组件120b和设备108(运行图1的GLSM组件120c)。
在图9的示例中,下面详细讨论每个示出的组件的适当设备的示例,并且OSGi绑定(bundle)被安装在每个设备上,并且由OSGi环境管理。绑定因此可以彼此通信来实现这里所述的服务-设备映射(和/或重映射)。
具体地说,GSM组件120a在图9的示例中可以由运行安装的GSM绑定902的便携式计算机实现。GSM绑定902负责通过调用Java服务器网页(JSP)来开始服务映射和部署,JSP是在网页服务器上生成动态网页的显示GSM元数据表136的已知技术的示例(将在下面参照图10和17详细描述)。当然,如上面提到的,该实现仅仅是示例,并且在其他实现中,可以通过来自另一系统组件的调用来启动服务映射,例如,使用与GSM组件120a相关的应用程序接口(API)。GSM绑定902还可以用于基于服务-设备映射的结果更新GSM元数据表136。
图9中的LSM组件120b可以是具有比GSM组件120a少的计算资源的网关服务器。LSM组件用作装有LSM绑定904的网关,从GSM组件120a接收服务映射请求,然后进行服务-设备映射。具体地说,LSM绑定可以转发服务-设备映射请求,收集本地网络(的组)内的设备的设备简档,并且将设备简档或其他设备元数据与服务元数据(例如,要求)匹配。LSM组件904因此还可以把需要简档的设备组通知给组长,把匹配操作的结果通知给GSM组件120a,并且更新LSM元数据表138。
图9中的设备108包括运行安装的组长绑定906的PDA。组长绑定906可操作来查询/搜索组设备的简档或其他设备元数据,将简档合并成单个消息,并且将具有简档的该消息发送给LSM组件120b。组长绑定906还可以更新组信息,例如,为了包含在LSM元数据表138中。
最后在图9中,设备110被显示为从组长108接收其简档请求的组成员,并且用适当的简档应答该请求。当然,设备110也可以最终接收被映射或重映射的服务,并且也可以向组长设备108报告该映射或重映射的结果。
图10是示出在服务-设备映射开始前GSM表的示例的屏幕截图。在图10的示例中,如前面提到的,屏幕截图1000可以表示JSP页,管理员或者其他用户可以在上面首先浏览设备类型,并且在所标识的本地网络中可以存在已安装的服务。例如,GSM元数据表136显示为包含关于图3的设施安全管理团体302以及资产跟踪团体304的信息。
因此,例如,管理员可以例如,使用用来选择可用设备的下拉列表1002、和/或用来选择可用服务的下拉列表1004,来选择GSM元数据表136的服务和/设备。这种可选菜单可以显示企业中(不同本地网络内)存在的所有可用设备,以及服务储存库124中装入的所有服务。管理员因此可以选择各种类型的服务-设备映射。例如,管理员可以开始在列表1002所选的设备类型(如PDA)的所有设备上的服务映射/部署,或者可以在特定设备类型的最佳可用的设备上部署所选服务。
在第一示例中,服务映射器120可以响应于“检查和部署”按键1006的选择,调查当前设备能力是否可以满足所选服务的技术要求。在第二示例中,服务映射器可以基于管理员选择“检查最佳设备并部署”按钮1008,检测在可用资源方面最强大的设备。最后在图10中,重置按钮1010允许管理员重置屏幕截图1000的JSP的字段,而“关于部署的通知”字段1012向管理员提供部署后(和/或尝试的部署)的信息(图16中示出其示例)。应当清楚,对本地网络、设备和/或服务的所述标识既可以由管理员手动执行,也可以作为自动处理的一部分。
一旦管理员通过选择按钮1006或1008开始了服务-设备映射,输入的参数-如服务名、设备类型和部署模式(例如,一些、全部或最佳设备)就被传送到LSM组件120b。然后,LSM绑定904接收这些输入参数,并且开启到服务储存库124的连接,来检索可能包含关于该服务的技术要求的信息的相应服务元数据(例如,服务描述文件)。
图11是这样的服务元数据文件110的示例。具体地说,图11示出XML文件(“server.xml”),其中,区段1102标识该文件作为服务元数据(例如服务要求)描述文件的性质,而文件其余的区段1104包括服务参数的各种要求,包括存储空间、CPU、电池、平台和连接特性,如图所示。图12是图11的服务元数据文件的特定实例1200的示例,其中示出了各种服务要求的特定参数。因此,图12可以理解为图1的服务元数据126的实例的特定示例。具体地说,例如,区段1402指定要求300MB的存储空间、200MHz的CPU速度、以及示出的有关电池寿命、平台信息和连接特性的其他参数的相应度量。尽管所示的描述文件显示为XML文件,但应当理解,可以使用其他文件类型和/或表示格式。
在网关服务器/LSM组件120b接收并保存服务描述文件(例如,图12所示的文件)之后,可以实现(例如,图2A和图6)上述各种服务-设备映射操作。例如,消息可以被发送到组长设备108,其可以收集其组成员设备的所有设备元数据(例如,设备简档),并且将简档合并成单个XML文件(profiles.xml)。该XML文件将被送回到网关服务器/LSM组件120b。图13是这样的XML文件1300的部分示例,其中第一区段1302标识该文件作为设备元数据(例如设备简档)描述文件的性质,而文件其余的区段1204包括服务参数的各种要求,包括设备描述(例如,名字、类型或厂商)和硬件描述(例如,CPU描述、连接特性和存储空间描述)。如刚才提到的,图13是部分示例,并且从上面讨论中应当理解,设备简档中可以包括各种其他设备特性。例如,图14示出图13的设备简档的完整示例的特定实例1400,并且包括描述部分1402、硬件描述部分1404、软件描述部分1406和设备状态部分1408。如图所示,这些部分1402-1408的每一个可以包括对应于上面参照图1提供的示例的各种设备参数,或者可以包括其他设备参数。因此,图14可以被理解为图1的设备元数据130的实例的特定示例。
网关服务器/LSM组件120b在接收具有所有当前设备能力的设备元数据XML文件之后,可以执行设备元数据文件与服务元数据文件的匹配。例如,网关服务器/LSM组件120b可以解析这两个XML文件,即,图13的service.xml文件和图15的profiles.xml文件。然后,网关服务器/LSM组件120b可以比较服务的技术要求与当前设备资源。例如,将service.xml中包含的标签<memory>的值与profiles.xml文件中包含的相应标签<memory>进行比较。
最后,网关服务器/LSM组件120b通知便携式计算机/GSM组件120a关于可以在哪个设备上部署所请求的服务。如果没有这样的可用设备,则网关服务器/LSM组件120b可以通知便携式计算机/GSM组件120a没有可用的设备满足该服务的技术要求,并且可以提供关于该服务为何不能部署在该特定设备上的特定原因,例如,没有足够的空用存储空间。
例如,关于图10,可能的情况是,管理员希望在PDA上部署显示仓库中的货物的当前温度的温度服务。在该示例中,该仓库内可能有五个PDA。管理员可以访问图10的屏幕截图1000的JSP,并且分别使用列表1002和1004选择设备和服务。然后,管理员可以选择“检查并部署”按钮1006。
结果,网关服务器/LSM组件120b可以如前面所述执行,在图15的日志窗口1500中提供执行的结果。具体地说,区段1502示出网关服务器/LSM组件120b访问服务储存库124来获得服务元数据(例如,要求)文件,如图12所示。在区段1504中,网关服务器/LSM组件120b向组长设备108发送消息,该消息具有用于获得组内每个设备的设备元数据(例如,设备简档)的指示,如图14所示,然后保存该消息。
然后,在区域1506中,执行匹配操作,其中,在该示例中,将服务的存储空间要求与设备特性进行匹配。如图所示,5个检查的设备简档中有4个具有足够的存储空间,而第五个设备(PDA)没有。因此,在图16中,示出JSP屏幕截图1000的更新版本的屏幕截图1600,其中“关于部署的通知”字段1012通知管理员关于该服务被安装在5个设备中的4个上、但第五个设备没有足够存储空间的事实。
当然,上面提供的仅仅是一个示例,许多其他示例也是可能的。例如,管理员可以更喜欢将服务仅部署在5个可用的PDA中的最佳PDA上。在这种情况下,管理员可以简单地选择“检查最佳设备并部署”按钮1008,在本示例中,服务映射器120将服务标识和部署到具有最多存储能力的PDA上。
图17是执行重映射操作的屏幕截图1700。具体地说,图17示出其中使用包括字段1702的JSP的示例,字段1702标识控制重映射处理的重映射规则。此外,字段1704用来标识设备类型,而字段1706用来识别设备属性,并且字段1706用来标识规则的参数的阈值。字段1710为说明规则实现的评论提供空间。在这种情况下,规则规定,如果网络/组中的PDA的存储空间达到30MB的规定参数阈值,则进行重映射。换而言之,例如,规则规定系统监视器组件可以确定这5个可用PDA当中的一个或多个PDA是否以及何时能够提供至少30MB的存储空间以便在其上部署指定服务。在屏幕截图1700中,保存按钮1712允许管理员保存所显示的规则,而重置按钮1714允许管理员重置屏幕截图1700的字段1702-1710的内容。最后,“显示规则”按钮1706允许管理员查看之前创建的任何规则中的一个或多个。此外,如前面提到的,上面参照图17所述的各种功能中的一个或多个可以由系统组件使用GSM组件120a的API执行,而不是由用户执行。
在重映射期间,如已经参照图2B和8所述,重映射处理可以由网关服务器/LSM组件120b支持。例如,为了使能重映射,LSM绑定904可以开始控制线程,该线程被设计来观察管理员是否定义了任何重映射规则。如果管理员设置了新规则,则该线程将接收并保存它。如果需要执行服务重映射,则网关服务器/LSM组件120b可以将服务从资源相对匮乏的设备重分配到资源相对富裕的设备(例如,当前可用的资源最富裕的设备)。
当组长设备108接收到来自网关服务器/LSM组件120b的请求时,组长设备108开始收集其相关组的所有设备简档。由于在本示例中组包含四个其他组成员,因此组长设备108可以向各组成员发送消息,每一个组成员可以用其相应的设备元数据(例如,其设备简档)应答。
如前面所述,组长设备108然后可以接收送来的设备简档,并且将其合并成单个xml文件(例如,根据图13的profiles.xml消息格式)。一旦接收并合并了所有简档,组长设备108就可以向网关服务器/LSM组件120b发送收集的设备简档。
此外(或者),PDA绑定906可以开始用于观察设备场景的控制线程。因此,如果新设备加入网络,则该线程可以通知组长设备108。例如,该新设备可能需要向设备场景线程发送“hello消息”。如果组长设备108认出这个新组成员,则可以开始收集设备简档(包括新简档)的收集处理。组长设备108然后可以将合并的简档发送给网关服务器/LSM组件120b(如上所述),从而网关服务器/LSM组件120b然后可以确定是否和如何进行重映射。
在接收到合并的设备简档后,网关服务器/LSM组件120b可以执行这里所述的匹配操作,并且可能实现适当的性能度量。然后,假设至少一个设备匹配参数阈值并因此满足重映射规则,则如这里所述,可以重映射和部署有关服务。
如这里所述,结构化框架和服务-设备映射算法使能服务的自动智能映射到适当的智能项目设备。映射机制是基于对服务(例如,如存储空间或CPU能力、期望的输入/输出、行为这样的技术要求和其他可能的属性)和可用设备(例如,存储空间、CPU和电池寿命以及可靠性之类的技术能力)的语义的复杂描述。基于该知识,并且为了部署给定服务,服务映射器标识可以主持服务的候选设备。然后,分别基于服务和设备的技术要求和属性,选择最划算的设备(例如,在处理和存储能力方面)来自动部署。
这里所述的各种技术的实现可以以数字电路、或者计算机硬件、固件、软件或其组合来实现。可以作为计算机程序产品,即,在信息载体中具体化的计算机程序实现,信息载体例如是,机器可读存储设备或传播信号,供数据处理装置(例如,可编程处理器、计算机或多个计算机)执行或者控制其操作。计算机程序(如上面所述的计算机程序)可以以任何形式的编程语言编写,并且可以以任何形式部署,包括作为独立程序或者作为适于计算环境中使用的模块、组件、例程或其他单元。可以部署计算机程序在一个地点的一个计算机上或多个计算机上执行,或者分布在多个地点并通过通信网络互连的多个计算机上执行。
方法步骤可以由执行计算机程序的一个或多个可编程处理器执行,计算机程序通过对输入数据操作并产生输出来执行功能。方法步骤还可以由可以实现为专用逻辑电路的装置来执行,例如,FPGA(现场可编程门阵列)和ASIC(专用集成电路)。
适于执行计算机程序的处理器包括例如,通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的元件可以包括用于执行指令的至少一个处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还可以包括或者可操作连接到用于存储数据的一个或多个海量存储设备(例如,磁盘、磁光盘或光盘),以接收数据或向其传送数据或者两者都有。适于具体化计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括半导体存储设备(如EPROM、EEPROM和闪存设备);磁盘(如内部硬盘或可移动盘);磁光盘;和CD-ROM与DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者集成在其中。
为了提供与用户的交互,可以在具有用来向用户显示信息的显示设备(例如阴极射线管(CRT)或液晶显示器(LCD)监视器)以及用户可以向计算机提供输入的键盘和指点设备(如鼠标或跟踪球)的计算机上实现。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感应反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以接收任何形式的用户输入,包括声音、话语或者触觉输入。
可以在包括后端组件(如数据服务器)或者包括中间件组件(如应用服务器)或者包括前端组件(如具有用户可以由此与实现交互的图形用户界面或者Web浏览器的客户计算机)、或者这些后端、中间件或前端组件的任意组合的计算系统中实现。组件可以由任何形式或介质的数字数据通信(如通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN)(如因特网)。
尽管这里描述了所述实现的特定特征,但对于本领域技术人员来说现在可以进行许多修改、替代、变化和等效。因此,应当理解,权利要求书意图涵盖所有这些修改和变化。
Claims (20)
1.一种用于设备网络的多级的多层映射和监视系统,该系统包括具有各自处理器和存储器的多个计算设备,该存储器包含指令,当指令被加载到处理器中时使处理器实现:
全局服务(120、120a、132、902),其被配置成跟踪与多个设备网络(102、108-114、306-310、324、326)相关联的全局设备元数据(130);
本地服务(120、120b、132、904),其被配置成跟踪与多个设备网络(102、108-114、306-310、324、326)中的至少一个设备网络(102)相关联的本地设备元数据(138),并且基于此更新全局设备元数据(130);和
组长服务(120、120c、132、132a、906),其被配置成查询至少一个设备网络(102、108-114、306-310、324、326)中的设备组,并且聚集组级别的设备元数据,以传输到本地服务(120、120b、132、904)和更新本地设备元数据(138),
其中,全局服务(120、120a、132、902)、本地服务(120、120b、132、904)和组长服务(120、120c、132、132a、906)中的至少一个被配置成确定重部署初始设备(110)上执行服务(706)的动机,将执行服务映射到包括初始设备(110)和所选设备(108)的多个设备当中的所选设备(108),并且将执行服务重部署到所选设备(108)上。
2.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、本地服务(120、120b、132、904)和组长服务(120、120c、132、132a、906)中的至少一个被配置成基于与初始设备(110)相关联的、并且指示初始设备(110)当前的设备特性不足以继续充分地实现执行服务的设备级别的设备元数据、相对于与执行服务相关联的服务元数据(126),确定重部署执行服务(706)的动机。
3.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成确定重部署执行服务(706)的动机,包括:
确定所选设备(108)对于重部署执行服务是可用的;和
确定与初始设备(110)和所选设备(108)相关联的设备级别的设备元数据,其指示所选设备(108)能够更好地实现执行服务(706)。
4.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成基于所述组级别的设备元数据(130)、所述本地设备元数据(138)或所述全局设备元数据(136)中的至少一个,将执行服务(706)映射到所选设备(108)。
5.如权利要求1所述的系统,其中,全局服务(120、120a、132、902)、本地服务(120、120b、132、904)和组长服务(120、120c、132、132a、906)中的至少一个被配置成基于与初始设备(110)和/或所选设备(108)相关联的设备级别的设备元数据,相对于与执行的服务(706)相关联的服务元数据,将执行的服务(706)映射到所选设备(108)。
6.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成基于与执行服务(706)相关联的服务元数据(126),将执行服务(706)映射到所选设备(108),所述服务元数据包括与执行的服务(706)相关联、并且描述允许重部署执行服务(706)的性质和/或程度的移动性描述。
7.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成将执行的服务(706)映射到所选设备(108),其包括施加在执行服务(706)能被从所选设备重部署回到初始设备(110)或另一设备之前所要满足的时间限制。
8.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成通过在所选设备(108)上重置在重部署之前初始设备(110)上执行服务(706)的状态,将执行服务(706)重部署在所选设备(108)上。
9.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)中的至少一个被配置成通过从服务储存库(124)获得要部署在所选设备(108)上的执行服务(706)的可执行服务(128),将执行服务(706)重部署在所选设备(108)上。
10.如权利要求1所述的系统,其中,所述执行服务(706)包括所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)或所述组长服务(120、120c、132、132a、906)中的至少一个。
11.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)、所述本地服务(120、120b、132、904)和所述组长服务(120、120c、132、132a、906)分别与全局服务(120、120a、132、902)监视器组件、本地服务(120、120b、132、904)监视器组件和组长服务(120、120c、132、132a、906)监视器组件相关联,并且,其中,初始设备(110)和/或所选设备(108)被配置成实现设备级别的监视器组件(130a)。
12.如权利要求1所述的系统,其中,所述初始设备(110)和/或所选设备(108)包括传感器设备,其被配置成检测环境事件或状况以向将其向组长服务(120、120c、132、132a、906)报告。
13.如权利要求1所述的系统,其中,所述全局服务(120、120a、132、902)和所述全局设备元数据与多个本地设备网络相关联,每个本地网络设备与存储在全局设备元数据(136)中的、独立于本地设备网络的当前物理位置的语义或功能描述相关联。
14.如权利要求1所述的系统,其中,所述本地服务(120、120b、132、904)和本地设备元数据与多组网络设备相关联,网络设备的每个组与存储在本地设备元数据(138)中的、独立于网络设备组的当前物理位置的语义或功能描述相关联。
15.一种方法,包括:
在多个设备上执行的全局服务(120、120a、132、902)、本地服务(120、120b、132、904)或组长服务(120、120c、132、132a、906)中的一个或多个上,确定(212)重部署至少一个设备网络内的初始设备(110)上的执行服务(706);
将执行的服务(706)映射到所述至少一个设备网络当中的所选设备(108);和
将执行服务(706)重部署(216)到所选设备(108)上。
16.如权利要求15所述的方法,其中,确定所述动机包括:
基于与初始设备(110)相关联的、并且指示初始设备(110)当前的设备特性不足以继续充分地实现执行服务(706)的设备级别的设备元数据、相对于与执行的服务(706)相关联的服务元数据而确定动机。
17.如权利要求15所述的方法,其中,确定所述动机包括:
确定所选设备(108)对于重部署执行服务(706)是可用的;和
确定与初始设备(110)和所选设备(108)相关联的设备级别的设备元数据,其指示所选设备(108)能够更好地实现执行服务(706)。
18.如权利要求15所述的方法,其中,确定动机的步骤包括:
使用其上存储的至少一个设备级别的监视器组件,收集与初始设备(110)和/或所选设备(108)相关联的设备级别的设备元数据;
在组长服务(120、120c、132、132a、906)处接收设备级别的元数据;
在组长服务(120、120c、132、132a、906)处聚集设备级别的元数据,以转发到本地服务(120、120b、132、904)来更新本地设备元数据;和
基于本地设备元数据的更新,更新与所述全局服务(120、120a、132、902)相关联的全局服务元数据。
19.如权利要求15所述的方法,其中,将执行服务(706)映射到所选设备(108)包括:
匹配与执行服务(706)相关联的服务元数据和与全局服务(120、120a、132、902)相关联的全局设备元数据、与本地服务(120、120b、132、904)相关联的本地设备元数据或者与组长服务(120、120c、132、132a、906)相关联的组级别设备元数据中的一个或多个。
20.如权利要求15所述的方法,其中,将所述执行的服务(706)重部署在所选设备(108)包括:在所选设备(108)上重置在重部署之前初始设备(110)上执行服务(706)的状态。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/284,195 US8005879B2 (en) | 2005-11-21 | 2005-11-21 | Service-to-device re-mapping for smart items |
US11/284,195 | 2005-11-21 | ||
US11/583,274 US8156208B2 (en) | 2005-11-21 | 2006-10-18 | Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items |
US11/583,274 | 2006-10-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101013957A true CN101013957A (zh) | 2007-08-08 |
CN101013957B CN101013957B (zh) | 2014-05-28 |
Family
ID=38054732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610149270.4A Active CN101013957B (zh) | 2005-11-21 | 2006-11-21 | 智能项目的服务-设备重映射的分级多层映射和监视架构 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8005879B2 (zh) |
CN (1) | CN101013957B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103430488A (zh) * | 2010-11-05 | 2013-12-04 | 马克·卡明斯 | 编排无线网络运营 |
CN104135381A (zh) * | 2010-01-05 | 2014-11-05 | 埃森哲环球服务有限公司 | 层级式服务管理方法和系统 |
CN105706469A (zh) * | 2013-09-13 | 2016-06-22 | 沃达方Ip许可有限公司 | 管理机器对机器设备 |
CN105934916A (zh) * | 2014-02-23 | 2016-09-07 | 英特尔公司 | 向所部署装置编制和管理服务 |
CN106302321A (zh) * | 2015-05-18 | 2017-01-04 | 华为技术有限公司 | 一种实现服务的方法及媒体控制器 |
CN106408792A (zh) * | 2016-09-22 | 2017-02-15 | 深圳怡化电脑股份有限公司 | 一种数据处理的方法及装置 |
CN108093020A (zh) * | 2016-11-23 | 2018-05-29 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
US10285094B2 (en) | 2010-11-05 | 2019-05-07 | Mark Cummings | Mobile base station network |
US10531516B2 (en) | 2010-11-05 | 2020-01-07 | Mark Cummings | Self organizing system to implement emerging topologies |
US10687250B2 (en) | 2010-11-05 | 2020-06-16 | Mark Cummings | Mobile base station network |
US10694402B2 (en) | 2010-11-05 | 2020-06-23 | Mark Cummings | Security orchestration and network immune system deployment framework |
US11477667B2 (en) | 2018-06-14 | 2022-10-18 | Mark Cummings | Using orchestrators for false positive detection and root cause analysis |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US7860968B2 (en) * | 2005-11-21 | 2010-12-28 | Sap Ag | Hierarchical, multi-tiered mapping and monitoring architecture for smart items |
US8156208B2 (en) * | 2005-11-21 | 2012-04-10 | Sap Ag | Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items |
US9727564B2 (en) * | 2005-12-15 | 2017-08-08 | Nokia Technology Oy | Annotating content with context metadata |
US8522341B2 (en) * | 2006-03-31 | 2013-08-27 | Sap Ag | Active intervention in service-to-device mapping for smart items |
US20070233868A1 (en) * | 2006-03-31 | 2007-10-04 | Tyrrell John C | System and method for intelligent provisioning of storage across a plurality of storage systems |
US7890568B2 (en) * | 2006-04-28 | 2011-02-15 | Sap Ag | Service-to-device mapping for smart items using a genetic algorithm |
US8296408B2 (en) | 2006-05-12 | 2012-10-23 | Sap Ag | Distributing relocatable services in middleware for smart items |
US8131838B2 (en) | 2006-05-31 | 2012-03-06 | Sap Ag | Modular monitor service for smart item monitoring |
US8065411B2 (en) | 2006-05-31 | 2011-11-22 | Sap Ag | System monitor for networks of nodes |
US8296413B2 (en) | 2006-05-31 | 2012-10-23 | Sap Ag | Device registration in a hierarchical monitor service |
US8396788B2 (en) | 2006-07-31 | 2013-03-12 | Sap Ag | Cost-based deployment of components in smart item environments |
JP5388206B2 (ja) * | 2006-09-06 | 2014-01-15 | コーニンクレッカ フィリップス エヌ ヴェ | 位置決めのための基準ノードを探す技術 |
US7853669B2 (en) | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US20080306798A1 (en) * | 2007-06-05 | 2008-12-11 | Juergen Anke | Deployment planning of components in heterogeneous environments |
US8195660B2 (en) * | 2007-06-29 | 2012-06-05 | Intel Corporation | Method and apparatus to reorder search results in view of identified information of interest |
US8527622B2 (en) | 2007-10-12 | 2013-09-03 | Sap Ag | Fault tolerance framework for networks of nodes |
US8452789B2 (en) * | 2007-10-15 | 2013-05-28 | International Business Machines Corporation | Searching a database |
US8572033B2 (en) | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US8484174B2 (en) * | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US9298747B2 (en) | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
TWI353767B (en) * | 2008-03-21 | 2011-12-01 | Wistron Corp | Method of digital resource management and related |
US20090248737A1 (en) * | 2008-03-27 | 2009-10-01 | Microsoft Corporation | Computing environment representation |
WO2009138119A1 (en) * | 2008-05-12 | 2009-11-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Tracking network resources |
KR20090124514A (ko) * | 2008-05-30 | 2009-12-03 | 포항공과대학교 산학협력단 | 유비쿼터스 기술을 이용한 제품 수명 주기 정보 관리시스템 |
US8244669B2 (en) * | 2008-12-30 | 2012-08-14 | Blackboard Connect Inc. | Dynamic formation of groups in a notification system |
US9104438B2 (en) * | 2009-12-03 | 2015-08-11 | International Business Machines Corporation | Mapping computer desktop objects to cloud services within a cloud computing environment |
CN101877703B (zh) * | 2010-05-20 | 2014-04-09 | 中兴通讯股份有限公司 | 一种融合业务系统及其业务实现方法 |
US9407718B2 (en) * | 2010-07-01 | 2016-08-02 | Broadcom Corporation | Method and system for service discovery and deployment in an IP multimedia network |
US8812630B2 (en) * | 2011-01-24 | 2014-08-19 | Salesforce.Com, Inc. | Session table framework |
US9171314B2 (en) * | 2011-06-16 | 2015-10-27 | Microsoft Technology Licensing, Llc | Cloud based management of an in-store device experience |
US9124640B2 (en) | 2011-08-09 | 2015-09-01 | CloudPassage, Inc. | Systems and methods for implementing computer security |
US9497224B2 (en) | 2011-08-09 | 2016-11-15 | CloudPassage, Inc. | Systems and methods for implementing computer security |
US8412945B2 (en) | 2011-08-09 | 2013-04-02 | CloudPassage, Inc. | Systems and methods for implementing security in a cloud computing environment |
US9098312B2 (en) | 2011-11-16 | 2015-08-04 | Ptc Inc. | Methods for dynamically generating an application interface for a modeled entity and devices thereof |
US9576046B2 (en) | 2011-11-16 | 2017-02-21 | Ptc Inc. | Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof |
US8909641B2 (en) | 2011-11-16 | 2014-12-09 | Ptc Inc. | Method for analyzing time series activity streams and devices thereof |
US9063750B2 (en) | 2012-02-01 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Mapping high-performance computing applications to platforms |
US9477936B2 (en) * | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US20130238785A1 (en) * | 2012-03-06 | 2013-09-12 | Rackspace Us, Inc. | System and Method for Metadata Discovery and Metadata-Aware Scheduling |
CN102623910B (zh) * | 2012-04-27 | 2014-11-26 | 重庆大学 | 一种基于可靠性的开关设备维修决策方法 |
US9047308B2 (en) * | 2012-07-19 | 2015-06-02 | Kinvey, Inc. | Methods and apparatus for providing unified access to various data resources using virtualized services |
US9239718B2 (en) | 2012-12-18 | 2016-01-19 | Honeywell International Inc. | System for field upgrading of firmware in multiple units |
US20140214940A1 (en) * | 2013-01-31 | 2014-07-31 | Sony Corporation | Networked devices matching capabilities with tasks |
WO2014145084A1 (en) | 2013-03-15 | 2014-09-18 | Ptc Inc. | Methods for managing applications using semantic modeling and tagging and devices thereof |
US9400647B2 (en) | 2013-03-15 | 2016-07-26 | Sap Se | Application discovery and integration using semantic metamodels |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US9709978B2 (en) | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US9703902B2 (en) | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9210176B2 (en) * | 2013-07-31 | 2015-12-08 | Symantec Corporation | Mobile device connection control for synchronization and remote data access |
US10530871B2 (en) | 2013-09-04 | 2020-01-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Controlling services deployment in distributed computing systems based on historical use by electronic devices |
US9462085B2 (en) | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
US9350791B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of injecting states into message routing in a distributed computing environment |
US9762637B2 (en) | 2014-03-21 | 2017-09-12 | Ptc Inc. | System and method of using binary dynamic rest messages |
US9961058B2 (en) | 2014-03-21 | 2018-05-01 | Ptc Inc. | System and method of message routing via connection servers in a distributed computing environment |
US9350812B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of message routing using name-based identifier in a distributed computing environment |
US9467533B2 (en) | 2014-03-21 | 2016-10-11 | Ptc Inc. | System and method for developing real-time web-service objects |
US10313410B2 (en) | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
WO2015143416A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US10025942B2 (en) | 2014-03-21 | 2018-07-17 | Ptc Inc. | System and method of establishing permission for multi-tenancy storage using organization matrices |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9196432B1 (en) * | 2014-09-24 | 2015-11-24 | James Thomas O'Keeffe | Smart electrical switch with audio capability |
US11243505B2 (en) | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US11513477B2 (en) | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US9948694B2 (en) * | 2015-04-20 | 2018-04-17 | International Business Machines Corporation | Addressing application program interface format modifications to ensure client compatibility |
US10238948B2 (en) | 2015-09-24 | 2019-03-26 | Circadence Corporation | Mission-based, game-implemented cyber training system and method |
US10672289B2 (en) | 2015-09-24 | 2020-06-02 | Circadence Corporation | System for dynamically provisioning cyber training environments |
US10056005B2 (en) | 2015-09-24 | 2018-08-21 | Circadence Corporation | Mission-based, game-implemented cyber training system and method |
DE102015121659A1 (de) * | 2015-12-11 | 2017-06-14 | Roland Scherb | Vorrichtung und Verfahren zur Übertragung, Speicherung und Darstellung von Daten innerhalb eines Warenlagers |
US10855566B2 (en) | 2016-09-30 | 2020-12-01 | Sap Se | Efficiency and performance in Internet-of-Things scenarios |
KR102362136B1 (ko) * | 2016-10-26 | 2022-02-11 | 가부시끼가이샤 도시바 | 정보 관리 시스템 |
US10813169B2 (en) | 2018-03-22 | 2020-10-20 | GoTenna, Inc. | Mesh network deployment kit |
US10747580B2 (en) * | 2018-08-17 | 2020-08-18 | Vmware, Inc. | Function as a service (FaaS) execution distributor |
US11252138B2 (en) * | 2019-01-24 | 2022-02-15 | Dell Products L.P. | Redundant device locking key management system |
US11650938B2 (en) * | 2019-01-25 | 2023-05-16 | Dell Products L.P. | Device-capability-based locking key management system |
JP7290997B2 (ja) * | 2019-05-30 | 2023-06-14 | 株式会社日立製作所 | クラウド利用支援装置、及びクラウド利用支援方法 |
US11283688B2 (en) | 2020-05-19 | 2022-03-22 | Cisco Technology, Inc. | Delayed recomputation of formal network topology models based on modifications to deployed network topologies |
US10992540B1 (en) | 2020-05-19 | 2021-04-27 | Cisco Technology, Inc. | Determining formal models using weighting factors for computing elements in multi-cloud environments |
US11424989B2 (en) | 2020-06-15 | 2022-08-23 | Cisco Technology, Inc. | Machine-learning infused network topology generation and deployment |
US11398948B2 (en) | 2020-06-29 | 2022-07-26 | Cisco Technology, Inc. | Generation and deployment of inherited network topology models |
US11467947B2 (en) * | 2020-10-19 | 2022-10-11 | EMC IP Holding Company LLC | Automated mocking of computer system deployments |
US11663112B2 (en) | 2020-10-22 | 2023-05-30 | EMC IP Holding Company LLC | Selection of computer system deployments to mock for testing |
US11520675B2 (en) | 2020-10-23 | 2022-12-06 | EMC IP Holding Company LLC | Accelerated replay of computer system configuration sequences |
WO2023186292A1 (de) * | 2022-03-30 | 2023-10-05 | Siemens Ag Österreich | Computer-implementiertes verfahren, vorrichtung und system zur steuerung eines technischen geräts |
Family Cites Families (162)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740357A (en) | 1990-04-26 | 1998-04-14 | Digital Equipment Corporation | Generic fault management of a computer system |
US5809012A (en) | 1991-01-31 | 1998-09-15 | Fujitsu Limited | Connectionless communication system |
US5768568A (en) | 1994-04-29 | 1998-06-16 | International Business Machines Corp. | System and method for initializing an information processing system |
JP3696901B2 (ja) | 1994-07-19 | 2005-09-21 | キヤノン株式会社 | 負荷分散方法 |
US7313467B2 (en) | 2000-09-08 | 2007-12-25 | Automotive Technologies International Inc. | System and method for in-vehicle communications |
EP0787332A1 (en) | 1995-08-18 | 1997-08-06 | International Business Machines Corporation | Method and apparatus for a process and project management computer system |
DE69720857T2 (de) | 1996-05-31 | 2004-02-05 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation |
US6065052A (en) | 1996-07-01 | 2000-05-16 | Sun Microsystems, Inc. | System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes |
US5805820A (en) | 1996-07-15 | 1998-09-08 | At&T Corp. | Method and apparatus for restricting access to private information in domain name systems by redirecting query requests |
TW363315B (en) | 1996-11-12 | 1999-07-01 | Toshiba Corp | Communication network system and the rebuilding method |
US5938732A (en) | 1996-12-09 | 1999-08-17 | Sun Microsystems, Inc. | Load balancing and failover of network services |
US6178173B1 (en) | 1996-12-30 | 2001-01-23 | Paradyne Corporation | System and method for communicating pre-connect information in a digital communication system |
US6138162A (en) | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
US5940593A (en) | 1997-03-31 | 1999-08-17 | International Business Machines Corporation | Simulating a multi-tiered computer environment on a single development system for debugging |
US6167438A (en) | 1997-05-22 | 2000-12-26 | Trustees Of Boston University | Method and system for distributed caching, prefetching and replication |
US6016499A (en) | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
US6363411B1 (en) | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6256739B1 (en) | 1997-10-30 | 2001-07-03 | Juno Online Services, Inc. | Method and apparatus to determine user identity and limit access to a communications network |
US6594305B1 (en) | 1998-06-30 | 2003-07-15 | Cisco Technology, Inc. | Media access layer ping protocol for diagnosing cable modem links |
US6226788B1 (en) | 1998-07-22 | 2001-05-01 | Cisco Technology, Inc. | Extensible network management system |
US6606740B1 (en) | 1998-10-05 | 2003-08-12 | American Management Systems, Inc. | Development framework for case and workflow systems |
US6378128B1 (en) | 1998-10-08 | 2002-04-23 | Microsoft Corporation | System and method for dynamically modifying an install-set |
US6262726B1 (en) | 1998-10-09 | 2001-07-17 | Dell U.S.A., L.P. | Factory installing desktop components for an active desktop |
US6654953B1 (en) | 1998-10-09 | 2003-11-25 | Microsoft Corporation | Extending program languages with source-program attribute tags |
US7024430B1 (en) | 1998-12-08 | 2006-04-04 | Starfish Software, Inc. | Method and system for implementing a filter in a data synchronization system |
US6292856B1 (en) | 1999-01-29 | 2001-09-18 | International Business Machines Corporation | System and method for application influence of I/O service order post I/O request |
FI112883B (fi) | 1999-04-06 | 2004-01-30 | Kronodoc Oy | Tiedonhallintamekanismi projektisuunnittelua varten |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6842903B1 (en) | 1999-05-19 | 2005-01-11 | Sun Microsystems, Inc. | System and method for providing dynamic references between services in a computer system |
US6757720B1 (en) | 1999-05-19 | 2004-06-29 | Sun Microsystems, Inc. | Profile service architecture |
US6891823B1 (en) | 1999-06-15 | 2005-05-10 | Pluris, Inc. | Apparatus and method for scaling a switching fabric in a network switching node |
US6460082B1 (en) | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6199195B1 (en) | 1999-07-08 | 2001-03-06 | Science Application International Corporation | Automatically generated objects within extensible object frameworks and links to enterprise resources |
US6961763B1 (en) | 1999-08-17 | 2005-11-01 | Microsoft Corporation | Automation system for controlling and monitoring devices and sensors |
US6442748B1 (en) | 1999-08-31 | 2002-08-27 | Accenture Llp | System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment |
US6694335B1 (en) | 1999-10-04 | 2004-02-17 | Microsoft Corporation | Method, computer readable medium, and system for monitoring the state of a collection of resources |
US6859831B1 (en) | 1999-10-06 | 2005-02-22 | Sensoria Corporation | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
US6308178B1 (en) | 1999-10-21 | 2001-10-23 | Darc Corporation | System for integrating data among heterogeneous systems |
US6480977B1 (en) | 1999-10-29 | 2002-11-12 | Worldcom, Inc. | Multi-protocol monitor |
AU770178B2 (en) | 1999-11-17 | 2004-02-12 | Sony Corporation | Method and apparatus for digital signal processing and method of providing extension function |
US7286158B1 (en) | 1999-12-22 | 2007-10-23 | Axcess International Inc. | Method and system for providing integrated remote monitoring services |
US6643669B1 (en) | 2000-03-14 | 2003-11-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for optimization of synchronization between a client's database and a server database |
US6892236B1 (en) | 2000-03-16 | 2005-05-10 | Microsoft Corporation | System and method of generating computer system performance reports |
US6687846B1 (en) | 2000-03-30 | 2004-02-03 | Intel Corporation | System and method for error handling and recovery |
US6820088B1 (en) | 2000-04-10 | 2004-11-16 | Research In Motion Limited | System and method for synchronizing data records between multiple databases |
US7003781B1 (en) | 2000-05-05 | 2006-02-21 | Bristol Technology Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
US20020007422A1 (en) | 2000-07-06 | 2002-01-17 | Bennett Keith E. | Providing equipment access to supply chain members |
US6686838B1 (en) | 2000-09-06 | 2004-02-03 | Xanboo Inc. | Systems and methods for the automatic registration of devices |
CA2423175A1 (en) * | 2000-09-22 | 2002-03-28 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
JP3754912B2 (ja) | 2000-11-13 | 2006-03-15 | キヤノン株式会社 | マルチメディアコンテンツの配信方法 |
US6785707B2 (en) | 2000-11-14 | 2004-08-31 | Bitfone Corp. | Enhanced multimedia mobile content delivery and message system using cache management |
US6832373B2 (en) | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
AU2002234261A1 (en) | 2001-01-17 | 2002-07-30 | Arthur D. Little, Inc. | System for and method of relational database modeling of ad hoc distributed sensor networks |
SE0100191L (sv) | 2001-01-24 | 2002-07-25 | Ericsson Telefon Ab L M | En anordning och ett förfarande relaterande till access av applikationer/tjänster |
US20020199173A1 (en) | 2001-01-29 | 2002-12-26 | Matt Bowen | System, method and article of manufacture for a debugger capable of operating across multiple threads and lock domains |
JP4165017B2 (ja) | 2001-02-06 | 2008-10-15 | 沖電気工業株式会社 | トラヒック管理方法及びトラヒック管理装置 |
US7302634B2 (en) | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US6847974B2 (en) | 2001-03-26 | 2005-01-25 | Us Search.Com Inc | Method and apparatus for intelligent data assimilation |
US6957200B2 (en) | 2001-04-06 | 2005-10-18 | Honeywell International, Inc. | Genotic algorithm optimization method and network |
US20020174169A1 (en) | 2001-05-21 | 2002-11-21 | Schmid Hans Albrecht | Process for operating a distributed computer network comprising several distributed computers |
US7325047B2 (en) | 2001-05-23 | 2008-01-29 | International Business Machines Corporation | Dynamic undeployment of services in a computing network |
US6947902B2 (en) | 2001-05-31 | 2005-09-20 | Infonox On The Web | Active transaction generation, processing, and routing system |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US6950833B2 (en) | 2001-06-05 | 2005-09-27 | Silicon Graphics, Inc. | Clustered filesystem |
US20020188866A1 (en) | 2001-06-07 | 2002-12-12 | Jalaludeen Ca | Method and apparatus for protecting a device connected to a newtwork |
US7237243B2 (en) * | 2001-06-11 | 2007-06-26 | Microsoft Corporation | Multiple device management method and system |
US20030005350A1 (en) | 2001-06-29 | 2003-01-02 | Maarten Koning | Failover management system |
US6986148B2 (en) | 2001-07-17 | 2006-01-10 | Appforge, Inc. | Methods and systems for providing platform-independent shared software components for mobile devices |
US7031311B2 (en) | 2001-07-23 | 2006-04-18 | Acme Packet, Inc. | System and method for providing rapid rerouting of real-time multi-media flows |
JP2003067351A (ja) | 2001-08-28 | 2003-03-07 | Nec System Technologies Ltd | 分散型コンピュータの構成制御システム |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US20050071443A1 (en) | 2001-09-10 | 2005-03-31 | Jai Menon | Software platform for the delivery of services and personalized content |
US6978217B2 (en) | 2001-09-13 | 2005-12-20 | T&D Corporation | Data collection method and devices therefor |
CA2460208A1 (en) | 2001-09-28 | 2003-04-10 | British Telecommunications Public Limited Company | An integrity manager for delaying client service requests |
US20030097443A1 (en) | 2001-11-21 | 2003-05-22 | Richard Gillett | Systems and methods for delivering content over a network |
US7035258B2 (en) | 2001-12-27 | 2006-04-25 | Microsoft Corporation | Method and system for dynamically adjusting transmit and receive parameters for handling negative acknowledgments in reliable multicast |
US20030130912A1 (en) | 2002-01-04 | 2003-07-10 | Davis Tommy Lee | Equipment management system |
US7290708B2 (en) | 2002-07-31 | 2007-11-06 | Sap Aktiengesellschaft | Integration framework |
US20050060365A1 (en) * | 2002-01-24 | 2005-03-17 | Robinson Scott L. | Context-based information processing |
US20030217186A1 (en) | 2002-05-16 | 2003-11-20 | Bushey Robert D. | Apparatus for and method of seamless wireless multimedia download path to peer networked appliances |
US7099582B2 (en) | 2002-05-31 | 2006-08-29 | Lucent Technologies Inc. | Method and apparatus for multi-protocol and multi-rate optical channel performance monitoring |
PL373095A1 (en) | 2002-06-10 | 2005-08-08 | Gtech Rhode Island Corporation | Lottery management system |
US7072960B2 (en) * | 2002-06-10 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Generating automated mappings of service demands to server capacities in a distributed computer system |
US7171471B1 (en) | 2002-08-15 | 2007-01-30 | Cisco Technology, Inc. | Methods and apparatus for directing a resource request |
US20070276674A1 (en) | 2002-08-19 | 2007-11-29 | Merzad Hemmat | Defining and sizing feasible approaches to business needs within an integrated development process |
CN1181648C (zh) | 2002-09-06 | 2004-12-22 | 联想(北京)有限公司 | 一种网络上设备间自动查找的方法 |
JP2004110318A (ja) | 2002-09-18 | 2004-04-08 | Nec Corp | 階層的分散処理システムおよび階層的分散処理方法 |
US7043419B2 (en) | 2002-09-20 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system |
US7584471B2 (en) | 2002-09-23 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Plug-in model |
US7600234B2 (en) | 2002-12-10 | 2009-10-06 | Fisher-Rosemount Systems, Inc. | Method for launching applications |
US6927686B2 (en) | 2002-12-11 | 2005-08-09 | General Electric Company | Method and apparatus for internet enabled, wireless remote sensor measurement |
US20040121792A1 (en) | 2002-12-18 | 2004-06-24 | Allen Vernon A. | Multi-protocol network and method of switching protocols |
US20040193703A1 (en) | 2003-01-10 | 2004-09-30 | Guy Loewy | System and method for conformance and governance in a service oriented architecture |
JP3803339B2 (ja) | 2003-01-10 | 2006-08-02 | 松下電器産業株式会社 | 半導体レーザ装置 |
US7116674B2 (en) | 2003-01-16 | 2006-10-03 | Utstarcom, Inc. | Method and apparatus for digital subscriber line access multiplexer stacking |
US6978118B2 (en) | 2003-02-20 | 2005-12-20 | Nokia Corporation | Apparatus, system, method and computer program product for implementing an automatic identification system with a personal communication device to improve functionality |
US7853946B2 (en) | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
US8099425B2 (en) | 2003-03-14 | 2012-01-17 | Computer Associates Think, Inc. | Relational model for management information in network devices |
WO2004084068A1 (en) | 2003-03-19 | 2004-09-30 | British Telecommunications Public Limited Company | Flexible multi-agent system architecture |
US7219254B2 (en) | 2003-03-19 | 2007-05-15 | Lucent Technologies Inc. | Method and apparatus for high availability distributed processing across independent networked computer fault groups |
US7114146B2 (en) | 2003-05-02 | 2006-09-26 | International Business Machines Corporation | System and method of dynamic service composition for business process outsourcing |
US7225428B1 (en) | 2003-05-20 | 2007-05-29 | At&T Corp. | Robust software library wrapper method and apparatus |
US7382741B2 (en) | 2003-06-25 | 2008-06-03 | Canon Kabushiki Kaisha | Configuration of wireless network client |
US20070112574A1 (en) | 2003-08-05 | 2007-05-17 | Greene William S | System and method for use of mobile policy agents and local services, within a geographically distributed service grid, to provide greater security via local intelligence and life-cycle management for RFlD tagged items |
DE10346612A1 (de) | 2003-10-08 | 2005-05-19 | Robert Bosch Gmbh | Verfahren zur Prognose einer zeitlichen Entwicklung einer Systemgröße |
CA2444834A1 (en) | 2003-10-10 | 2005-04-10 | N-Able Technologies Inc. | Multi-network monitoring architecture |
US20070011334A1 (en) | 2003-11-03 | 2007-01-11 | Steven Higgins | Methods and apparatuses to provide composite applications |
US20060206582A1 (en) | 2003-11-17 | 2006-09-14 | David Finn | Portable music device with song tag capture |
US8909712B2 (en) | 2003-11-25 | 2014-12-09 | Sap Ag | System and method for a generic mobile synchronization framework |
CN1547120A (zh) * | 2003-12-10 | 2004-11-17 | 沈阳东软软件股份有限公司 | 网络监视管理系统 |
US7423527B2 (en) | 2004-02-13 | 2008-09-09 | Blue Vector Systems | Radio frequency identification (RFID) network system and method |
US8694475B2 (en) | 2004-04-03 | 2014-04-08 | Altusys Corp. | Method and apparatus for situation-based management |
US20050235136A1 (en) | 2004-04-16 | 2005-10-20 | Lucent Technologies Inc. | Methods and systems for thread monitoring |
JP2007538313A (ja) | 2004-04-29 | 2007-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散ネットワーキング・アーキテクチャ内にサービスをモデル化し、動的にデプロイするためのシステムおよび方法 |
US7817014B2 (en) | 2004-07-30 | 2010-10-19 | Reva Systems Corporation | Scheduling in an RFID system having a coordinated RFID tag reader array |
US7509638B2 (en) | 2004-08-02 | 2009-03-24 | International Business Machines Corporation | Method and apparatus for providing a pluggable and extendable J2EE architecture |
US7506338B2 (en) | 2004-08-30 | 2009-03-17 | International Business Machines Corporation | Method and apparatus for simplifying the deployment and serviceability of commercial software environments |
US7557707B2 (en) | 2004-09-01 | 2009-07-07 | Microsoft Corporation | RFID enabled information systems utilizing a business application |
US20060052882A1 (en) | 2004-09-03 | 2006-03-09 | Uwe Kubach | Real-time monitoring using sensor networks |
US7413513B2 (en) | 2004-09-10 | 2008-08-19 | Igt | Apparatus and methods for wireless gaming communications |
US20060074912A1 (en) | 2004-09-28 | 2006-04-06 | Veritas Operating Corporation | System and method for determining file system content relevance |
US7304976B2 (en) | 2004-10-13 | 2007-12-04 | Virginia Tech Intellectual Properties, Inc. | Method and apparatus for control and routing of wireless sensor networks |
US7292963B2 (en) | 2004-10-29 | 2007-11-06 | Sap Aktiengesellschaft | Aggregating sensor data |
US20060129367A1 (en) | 2004-11-09 | 2006-06-15 | Duke University | Systems, methods, and computer program products for system online availability estimation |
US7496701B2 (en) | 2004-11-18 | 2009-02-24 | International Business Machines Corporation | Managing virtual server control of computer support systems with heartbeat message |
US7152019B2 (en) | 2004-11-30 | 2006-12-19 | Oracle International Corporation | Systems and methods for sensor-based computing |
US7130773B1 (en) | 2004-11-30 | 2006-10-31 | Sun Microsystems, Inc. | Method and apparatus for processing data using objects |
US7469402B2 (en) | 2004-12-28 | 2008-12-23 | Sap Aktiengesellschaft | Pluggable model framework |
US7324921B2 (en) | 2004-12-28 | 2008-01-29 | Rftrax Inc. | Container inspection system |
WO2006073980A2 (en) | 2005-01-06 | 2006-07-13 | Tervela, Inc. | Hardware-based messaging appliance |
US8364786B2 (en) | 2005-01-20 | 2013-01-29 | The Regents Of The University Of California | Synthesizing a scalable and incrementally updatable system software infrastructure for sensor networks |
US20060173726A1 (en) | 2005-01-31 | 2006-08-03 | Hall William M | Online business case software and decision support system |
WO2006099588A2 (en) | 2005-03-14 | 2006-09-21 | H-Stream Wireless | Method and apparatus for operating a wireless pan network using an overlay protocol that enhances co-existence with a wireless lan network |
US7937579B2 (en) | 2005-03-16 | 2011-05-03 | Dt Labs, Llc | System, method and apparatus for electronically protecting data and digital content |
US7962915B2 (en) | 2005-03-18 | 2011-06-14 | International Business Machines Corporation | System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events |
US20060235976A1 (en) | 2005-04-14 | 2006-10-19 | Ying Chen | Method and apparatus for metadata driven web service mediation |
US20060277079A1 (en) | 2005-04-22 | 2006-12-07 | Gilligan Geffrey D | Groupware travel itinerary creation |
US20060265661A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Device metadata |
US20070032244A1 (en) | 2005-08-08 | 2007-02-08 | Microsoft Corporation | Group-centric location tagging for mobile devices |
US7693897B2 (en) | 2005-08-26 | 2010-04-06 | Harris Corporation | System, program product, and methods to enhance media content management |
US20070130217A1 (en) | 2005-10-13 | 2007-06-07 | Unwired Software, Inc. | Many to many data synchronization |
US7312703B2 (en) | 2005-10-20 | 2007-12-25 | Hoogenboom Christopher L | Initialization of a sensor for monitoring the structural integrity of a building |
US7565567B2 (en) | 2005-11-18 | 2009-07-21 | Intel Corporation | Highly available computing platform |
US20070118496A1 (en) | 2005-11-21 | 2007-05-24 | Christof Bornhoevd | Service-to-device mapping for smart items |
US8156208B2 (en) | 2005-11-21 | 2012-04-10 | Sap Ag | Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items |
US7860968B2 (en) | 2005-11-21 | 2010-12-28 | Sap Ag | Hierarchical, multi-tiered mapping and monitoring architecture for smart items |
DE102006056342B4 (de) | 2005-11-30 | 2011-07-14 | VTECH Telecommunications, Ltd., New Territory | System und Verfahren zur Registrierung eines drahtlosen Handgeräts |
EP1955151B1 (en) | 2005-12-01 | 2018-10-17 | CA, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
US7779383B2 (en) | 2005-12-01 | 2010-08-17 | Sap Ag | Composition model and composition validation algorithm for ubiquitous computing applications |
DE602005019440D1 (de) | 2005-12-22 | 2010-04-01 | Axis Ab | Überwachungssystem und -verfahren zur Verbindung eines Überwachungsgeräts mit einem Dienstserver |
US7616642B2 (en) | 2006-01-04 | 2009-11-10 | Sap Ag | Priority assignment and transmission of sensor data |
US8522341B2 (en) | 2006-03-31 | 2013-08-27 | Sap Ag | Active intervention in service-to-device mapping for smart items |
US7636549B2 (en) | 2006-04-21 | 2009-12-22 | Abbott Medical Optics Inc. | Automated bonding for wireless devices |
US7890568B2 (en) | 2006-04-28 | 2011-02-15 | Sap Ag | Service-to-device mapping for smart items using a genetic algorithm |
US8296408B2 (en) | 2006-05-12 | 2012-10-23 | Sap Ag | Distributing relocatable services in middleware for smart items |
US8065411B2 (en) | 2006-05-31 | 2011-11-22 | Sap Ag | System monitor for networks of nodes |
US8396788B2 (en) | 2006-07-31 | 2013-03-12 | Sap Ag | Cost-based deployment of components in smart item environments |
US20080052314A1 (en) | 2006-08-25 | 2008-02-28 | Ritwik Batabyal | e-ENABLER FRAMEWORK |
US7752068B1 (en) | 2006-09-22 | 2010-07-06 | Sprint Communications Company L.P. | Synergy tracking tool |
US20080306798A1 (en) | 2007-06-05 | 2008-12-11 | Juergen Anke | Deployment planning of components in heterogeneous environments |
US8527622B2 (en) | 2007-10-12 | 2013-09-03 | Sap Ag | Fault tolerance framework for networks of nodes |
-
2005
- 2005-11-21 US US11/284,195 patent/US8005879B2/en active Active
-
2006
- 2006-11-21 CN CN200610149270.4A patent/CN101013957B/zh active Active
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135381B (zh) * | 2010-01-05 | 2017-08-29 | 埃森哲环球服务有限公司 | 层级式服务管理方法和系统 |
CN104135381A (zh) * | 2010-01-05 | 2014-11-05 | 埃森哲环球服务有限公司 | 层级式服务管理方法和系统 |
US10285094B2 (en) | 2010-11-05 | 2019-05-07 | Mark Cummings | Mobile base station network |
US11812282B2 (en) | 2010-11-05 | 2023-11-07 | Mark Cummings | Collaborative computing and electronic records |
CN103430488A (zh) * | 2010-11-05 | 2013-12-04 | 马克·卡明斯 | 编排无线网络运营 |
US10531516B2 (en) | 2010-11-05 | 2020-01-07 | Mark Cummings | Self organizing system to implement emerging topologies |
US9591496B2 (en) | 2010-11-05 | 2017-03-07 | Mark Cummings | Integrated circuit design and operation using agents associated with processing cores to negotiate mutually compatible parameters to achieve an application-related objective |
US10880759B2 (en) | 2010-11-05 | 2020-12-29 | Mark Cummings | Collaborative computing and electronic records |
US9788215B2 (en) | 2010-11-05 | 2017-10-10 | Mark Cummings | Collaborative computing and electronic records |
US10694402B2 (en) | 2010-11-05 | 2020-06-23 | Mark Cummings | Security orchestration and network immune system deployment framework |
US10187811B2 (en) | 2010-11-05 | 2019-01-22 | Mark Cummings | Orchestrating wireless network operations |
US10536866B2 (en) | 2010-11-05 | 2020-01-14 | Mark Cummings | Orchestrating wireless network operations |
US10687250B2 (en) | 2010-11-05 | 2020-06-16 | Mark Cummings | Mobile base station network |
US10231141B2 (en) | 2010-11-05 | 2019-03-12 | Mark Cummings | Collaborative computing and electronic records |
CN105706469B (zh) * | 2013-09-13 | 2020-03-10 | 沃达方Ip许可有限公司 | 管理机器对机器设备 |
CN105706469A (zh) * | 2013-09-13 | 2016-06-22 | 沃达方Ip许可有限公司 | 管理机器对机器设备 |
CN105934916A (zh) * | 2014-02-23 | 2016-09-07 | 英特尔公司 | 向所部署装置编制和管理服务 |
US10721312B2 (en) | 2014-02-23 | 2020-07-21 | Intel Corporation | Orchestration and management of services to deployed devices |
CN105934916B (zh) * | 2014-02-23 | 2021-01-08 | 英特尔公司 | 向所部署装置编制和管理服务 |
CN106302321A (zh) * | 2015-05-18 | 2017-01-04 | 华为技术有限公司 | 一种实现服务的方法及媒体控制器 |
CN106408792A (zh) * | 2016-09-22 | 2017-02-15 | 深圳怡化电脑股份有限公司 | 一种数据处理的方法及装置 |
CN108093020A (zh) * | 2016-11-23 | 2018-05-29 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN108093020B (zh) * | 2016-11-23 | 2020-12-18 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
US11477667B2 (en) | 2018-06-14 | 2022-10-18 | Mark Cummings | Using orchestrators for false positive detection and root cause analysis |
US11729642B2 (en) | 2018-06-14 | 2023-08-15 | Mark Cummings | Using orchestrators for false positive detection and root cause analysis |
Also Published As
Publication number | Publication date |
---|---|
US20070118560A1 (en) | 2007-05-24 |
CN101013957B (zh) | 2014-05-28 |
US8005879B2 (en) | 2011-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101013957B (zh) | 智能项目的服务-设备重映射的分级多层映射和监视架构 | |
CN101013956B (zh) | 智能项目的分级的多层映射和监视架构 | |
CN101083586B (zh) | 用于智能物件监视的模块化监视器服务系统和方法 | |
CN101083587B (zh) | 在分层级的监视器服务中的设备注册 | |
EP1850277B1 (en) | Service-to-device mapping for smart items using a genetic algorithm | |
JP2007157133A (ja) | スマートアイテムに関する階層型多層マッピングおよびモニタリングアーキテクチャ | |
US8522341B2 (en) | Active intervention in service-to-device mapping for smart items | |
US8156208B2 (en) | Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items | |
Kjær | A survey of context-aware middleware | |
CN101163152B (zh) | 智能物件环境中基于成本的组件部署 | |
CN1828646B (zh) | 动态部件管理 | |
Capra et al. | Carisma: Context-aware reflective middleware system for mobile applications | |
US7440940B2 (en) | Web service agent | |
CN1836208B (zh) | 计算机系统和分布式应用程序基于模型管理的方法和系统 | |
US20030144858A1 (en) | Method and apparatus for providing intelligent and controlled access to supply chain information | |
CN104756460A (zh) | 基于ldap的多顾客云内身份管理系统 | |
CN102256270A (zh) | 用于动态自配置覆盖的方法和系统 | |
Abiteboul et al. | The AXML artifact model | |
Roxin et al. | Interoperable digital building twins through communicating materials and semantic BIM | |
Spiess et al. | Going beyond auto‐ID: a service‐oriented smart items infrastructure | |
Nanda | IOT and Smart Cities: Your smart city planning guide | |
Tran et al. | A kernel-based approach to developing adaptable and reusable sensor retrieval systems for the web of things | |
Liu | An agent-based architecture for supply chain finance cooperative context-aware distributed data mining systems | |
Bhatnagar et al. | Cloud IoT: An Emerging Computing Paradigm for Smart World | |
Rashmi | IoT and Smart Cities |
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 |