CN101163152B - 智能物件环境中基于成本的组件部署 - Google Patents
智能物件环境中基于成本的组件部署 Download PDFInfo
- Publication number
- CN101163152B CN101163152B CN2007101382287A CN200710138228A CN101163152B CN 101163152 B CN101163152 B CN 101163152B CN 2007101382287 A CN2007101382287 A CN 2007101382287A CN 200710138228 A CN200710138228 A CN 200710138228A CN 101163152 B CN101163152 B CN 101163152B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- node
- equipment
- synthetic
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
可以确定与合成服务相关联的组件服务到服务执行环境的一个或多个分布,所述合成服务与分析由一个或多个传感器生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务的排序,所述服务执行环境中的至少一个位于与设备层相关联的第一网络节点,并且该服务执行环境中的至少另一个位于与中间件层相关联的第二网络节点。可以根据度量确定对所述组件服务的分布中的每一个的评估,所述度量将加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的各个资源的消耗相关联。可以根据所述评估确定推荐,该推荐包括所述分布中的一个或多个。
Description
技术领域
本发明涉及智能物件(smart item)技术。
背景技术
智能物件技术可以包括例如射频识别(RFID)系统、嵌入式系统、传感器微片(motes)和/或传感器网络,并且可以用于例如为业务软件应用提供对真实世界数据的快速访问。例如,可以使用智能物件技术来支持RFID标签的检测、读或写,以及支持与无线传感器网络和嵌入式系统的通信和对无线传感器网络和嵌入式系统的控制。在很多实例中,智能物件可以包括下面这样的设备:所述设备具有本地处理能力、存储器和/或通信能力,并且能够提供关于设备及其属性的数据,或者提供关于智能物件设备的当前状态或环境的信息。例如,物理对象可以包括嵌入产品的信息设备(product embeddedinformation device,PEID),PEID可以包括例如嵌入式计算单元、RFID标签等,以使真实世界事件紧密地耦合至后端信息系统。因此,在后端或底层业务应用的服务组件的执行中可以使用一些这样的设备,来收集、处理或传送业务数据。
智能物件设备的例子包括RFID标签,RFID标签可以是无源的或有源的,并且它可以被附加到对象,并用来提供和所述对象有关的产品或操控(handle)信息。智能物件设备的其他例子包括各种传感器,诸如例如环境传感器(例如温度、湿度或振动传感器),所述传感器能够进行通信,以形成一个或更多个传感器网络。这些以及其他类型的智能物件设备也可以包括嵌入式系统,嵌入式系统一般可以指其中包括专用处理器和/或程序的任何系统,并且/或者其中所述系统封装在正被控制或监视的设备中的任何系统。
通过自动实时对象跟踪,智能物件技术可以给企业提供关于业务运作的准确和及时的数据,并且也可以帮助使业务运作合理化和自动化。因此,可以获得成本降低以及额外的商业利益(例如提高的资产可见性、改善的响应性,以及扩展的商业机会)。
作为示例情景,业务可能需要跟踪产品的生命周期。产品的生命周期可以包括:生命的开始阶段(例如,设计、生产)、生命的中间阶段(例如,使用、维护)和生命的结束阶段(例如,回收、处置)。涉及产品生命周期管理的示例业务目标可以包括设计改进、生产参数的调整、灵活的维护计划和有效的回收。为了实现这些业务目标,业务可能需要获取关于产品的实际行为和条件的信息。作为示例,在产品的整个生命周期期间,具有附加的传感器的PEID可以监视产品的使用和它们的环境并且使后端系统可获得所记录的数据,所述后端系统例如维护计划系统、车队(fleet)管理系统和产品数据管理(PDM)系统。根据例如嵌入在产品中的传感器的数目和相应的采样速率,可能为单个产品生成大量数据。这在需要监视多个产品时(例如在卡车车队中)可能变得更难以解决。而且,如果产品是移动的,则它们可能只具有低带宽网络或者间断的(intermittent)网络连接。因此,在许多情况下,原始现场(raw field)数据到后端系统的传输可能是不可行的。
一些系统可以使用面向消息的中间件来实现在诸如PEID的智能物件与后端系统之间的通信。例如,中间件可以被配置为从PEID向后端系统传输数据,然后可以在后端系统中对数据进行处理。在无线传感器网络的区域中,例如,中间件可以被用于在无线传感器网络的无线传感器节点自身之间进行连接或者将无线传感器网络的无线传感器节点连接到后端应用,以便对数据进行进一步评估和处理。在此情境中,例如由于使能通信的节点的移动,可能存在间断的连接。因此,数据或结果可能被丢失或者可能需要被存储在节点上。
对于一些需要为其处理相当大量的实时数据的智能物件来说,例如,节点的存储容量和/或处理能力可能不足以操控所述数据,因此结果的可信性或完整性可能被损害。例如,尽管使用PEID记录产品的真实世界数据使得能够进行更准确的分析,但其也可能造成来自传感器的周期性记录(例如,采样)产生大量数据的问题。根据例如传感器的类型和特定应用所需的数据精度,可以定义采样频率。例如,当预期温度变化可能在分钟的范围内逐渐发生时,可以以预定数目的分钟为间隔来读取外部温度传感器。相反,可用于检测振动模式的加速度传感器可能要每秒被读取上百次,因为否则的话可能检测不到相关的振动。假设对于每次记录存储4字节数值,那么温度传感器每天可以产生5.625千字节(Kbytes)的原始数据(即,每分钟1个采样),而加速度传感器每天可以产生33750千字节的原始数据(即,每秒钟100个采样)。
由于PEID可能具有有限的存储容量,所以它们可能不能存储长时间段内所记录的数据。因此,数据可能需要被发送到另一系统以用于分析,或可能在本地处理所述数据,并且如果需要的话,将结果发送到后端系统。然而,对产品进行所有必要的分析并且仅传送结果可能是不可行的,这是因为PEID可能具有非常有限的资源和/或电源和/或连接性。而且,例如,一些数据处理步骤可能需要来自二级数据库(secondary database)或其它产品的附加输入,这在单个产品上不可能获得。然而,仅仅确定用于执行数据处理的可执行在网络中的布置(placement)可能导致效率低下,包括例如不可接受的吞吐量(throughput)水平。
发明内容
根据一个总体方面,可以确定与合成服务相关联的组件服务到服务执行环境的一个或多个分布,所述合成服务与分析由一个或多个传感器生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务的排序,所述服务执行环境中的至少一个位于与设备层相关联的第一网络节点,并且该服务执行环境中的至少另一个位于与中间件层相关联的第二网络节点,所述中间件层包括请求操控层和设备操控层。可以根据度量(metric)确定对所述组件服务的分布中的每一个的评估,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个各个资源的消耗相关联。可以根据所述评估确定推荐,该推荐包括所述分布中的一个或多个。
根据另一个总体方面,一种系统可以包括中间件层,其包括请求操控层和设备操控层,所述中间件层与应用和包括一个或多个设备的设备层通信。所述请求操控层可以包括服务库,其被配置成存储与服务元数据相关联的至少一个合成服务,该服务元数据描述所述合成服务的组件服务的执行排序。所述请求操控层还可以包括分布管理器,其被配置成:确定与所述合成服务相关联的所述组件服务到服务执行环境的一个或多个分布,所述合成服务与分析由一个或多个传感器生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务的排序,所述服务执行环境中的至少一个位于包括在所述设备层中的第一网络节点,并且该服务执行环境中的至少另一个位于包括在所述中间件层中的第二网络节点;根据度量确定对所述组件服务的分布中的每一个的评估,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个各个资源的消耗相关联;以及根据所述评估确定推荐,该推荐包括所述分布中的一个或多个。
根据另一个总体方面,一种分布管理器可以被配置成:确定与合成服务相关联的组件服务到服务执行环境的一个或多个分布,所述合成服务与分析由一个或多个传感器生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务的排序,所述服务执行环境中的至少一个位于包括在设备层中的第一网络节点,并且该服务执行环境中的至少另一个位于包括在中间件层中的第二网络节点。所述分布管理器还可以被配置成根据度量确定对所述组件服务的分布中的每一个的评估,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个各个资源的消耗相关联;以及根据所述评估确定推荐,该推荐包括所述分布中的一个或多个。
下面将在附图和说明书中阐述一个或多个实现方式的细节。其它特征将通过说明书、附图和权利要求变得清楚。
附图说明
图1是用于处理由智能物件设备获得的数据的示例系统的框图。
图2是图示示例的服务的合成(composition)的框图。
图3是用于处理由智能物件设备获得的数据的示例系统的示例基础设施(infrastructure)视图的方框图。
图4是图示示例的服务的合成的框图。
图5是图示用于组件部署规划的示例技术的框图。
图6描绘了描述示例基础设施的示例无向图(undirected graph)。
图7描绘了描述示例的服务的合成的示例有向图(directed graph)。
图8是图示图1的系统的示例操作的流程图,该示例操作用于确定用于映射合成服务的组件的示例推荐。
图9是图示图1的系统用于产品生命周期管理的示例操作的流程图。
图10描绘了图4的示例合成在图3的示例基础设施上的示例的推荐分布。
图11描绘了图4的示例合成在图3的示例基础设施上的示例的推荐分布。
具体实施方式
图1是用于处理由智能物件设备获得的数据的示例系统100的框图。在图1的示例中,各种智能物件设备,例如包括嵌入产品的信息设备(PEID)104的产品和智能射频识别(RFID)读取器106的产品102,使用中间件110对从智能物件设备接收的数据进行预处理,从而以及时且准确的方式将真实世界数据提供给一个或多个应用108。例如,智能RFID读取器106可以读取具有RFID标签的对象,例如具有RFID标签114和116的产品112。例如,产品112可以包括便携式计算机,其具有附加到其外壳的RFID标签114和附加到迷你鼠标的RFID标签116。因此,当携带该便携式计算机的人携带该机壳和鼠标经过具有附加到其上的智能RFID读取器的站时,智能RFID读取器106可以例如读取或感测RFID标签114和116。作为另一示例,PEID 104可以从传感器118接收数据,所述数据可以被存储在本地数据存储器120中。例如,传感器118可以感测关于产品102的温度、振动和/或压力。例如,产品102可以包括具有附加到其上的PEID 104的引擎,并且可以将传感器118配置成例如检测与引擎极接近处的温度、湿度和/或振动。
诸如PEID 104的PEID可以包含关于产品的数据,并且可以根据请求发送该数据。数据可以通过从诸如本地数据存储器120的本地存储器读取来提供,或者可以通过访问集成在产品(例如,传感器118)中的传感器来提供。如果PEID是嵌入式系统,则它可以包含本地数据处理,该本地数据处理例如用于连续记录传感器数据,或用于计算统计数据。PEID可以是移动的,例如,可以嵌入在车辆中,并且可以经由无线连接连接到设备操控器(诸如设备操控层1130)。
在图1中,PEID 104和智能RFID读取器106的每一个可以包括中央处理单元(CPU)和存储器(未示出),以及其它标准组件。而且,PEID 104可以包括服务执行环境(SEE)122,并且智能RFID读取器106可以包括服务执行环境(SEE)124。因此,PEID 104和智能RFID读取器106应当被理解为能够具有各种水平的计算能力,包括例如处理或传送感测到的数据。服务执行环境122、124可以包括容器(container),在所述容器中可以以可适应的和灵活的方式执行服务。因此,服务执行环境122和服务执行环境124可以用于服务重新定位(relocation),以便例如重新定位可以预处理由智能物件设备接收的原始数据的服务,从而使得可以仅将经预处理的结果发送到应用108,而不是要求将所有的原始数据都发送到应用108以在后端系统进行处理。
因此,可以被重新定位到服务执行环境122和服务执行环境124的示例服务可以被配置成计算例如数据值的线性回归、数据值的移动平均、阈值监视、通知、或事件或项目(item)出现的次数。作为示例,服务执行环境122、124可以使用开放服务网关规范(OSGi)服务平台来实现。这样的OSGi服务平台可以提供对动态可部署的应用、库和服务的组件管理能力。使用诸如OSGi的平台,服务可以容易地被部署、开始、停止以及从服务执行环境中去除。因此,服务、应用和面向服务的应用编程接口(API)可以例如被远程地下载到移动设备、远程地在移动设备中升级、或者远程地从移动设备中去除。而且,可以在中间件节点、PEID和智能RFID读取器中嵌入统一的服务执行环境,以便实现灵活的服务分布。优选地,可以在PEID和中间件节点上部署和执行服务。
因此,PEID 104和智能RFID读取器106可以被配置为收集、处理、过滤、聚集或传送可以用于应用108——例如业务数据处理应用——的数据。例如,应用108可以包括库存管理、供应链管理、零售商店管理、仓库管理,和可以用来针对真实世界对象执行业务处理的任何其它过程或应用,其中这样的真实世界对象可以包括例如待售产品、货盘或其它装运单元、病人(patient)或制造材料/设备。通过跟踪和分析这样的真实世界对象,应用108可以被用于例如确定库存量、设置定价等级、评估市场策略、评估制造或生成技术、减少偷盗或维护安全。应用108也可以被用于产品生命周期管理(PLM),以便例如随时间确定产品的使用、位置和条件。
通过在诸如PEID 104和智能RFID读取器106的智能物件处包括预处理能力,在数据收集过程中可以非常早地执行处理,从而可以减少或消除置于应用108上的负担。此外,预处理可以减少要从设备传送到中间件层的数据量。例如,应用108可以位于公司总部,而PEID 104和智能RFID读取器106可以散布在由广域网连接的大范围地理区域上,所述广域网可以通过无线连接进行连接。这样一来,例如,应用108可以只要求PEID 104和智能RFID读取器106所收集的数据的特定子集或特性,并且可以不需要或不想要所收集的所有原始数据。
在一些实现方式中,应用108可以包括复合或合成应用,所述复合或合成应用是由被设计为执行一些意义明确的任务的可重用软件组件或服务构成。此外,在这些或其它实现方式中,应用108可以包括可能不容易与数据收集设备(或者与其它业务数据处理系统)通信的遗留(legacy)应用,而在这样的情况中,可以提供服务或服务组件以作为遗留应用与数据收集设备和/或其它系统之间的接口。系统100可以使这些和其它应用和服务能够例如经由服务执行环境122和124直接部署到PEID 104和智能RFID读取器106上,从而例如使得服务可以以及时、高效、可靠、自动、节省成本和可升级的方式在设备上运行(例如,可以收集和/或处理数据)。
因此,例如,复杂业务处理或合成服务可以被分解为轻量级的、便携式的单个服务,并且可以部署在不同的设备上。例如,服务s5 126(例如,服务s5 126a和服务s5 126b)可以在PEID 104的SEE 122中和智能RFID读取器106的SEE 124中部署和执行。作为示例,合成服务可能需要对诸如PEID104和智能RFID读取器106的设备每小时执行的读数的数目进行的计数。例如,服务s5 126可以被配置为针对PEID 104和智能RFID读取器106中的每个计算这样的计数。然后,经预处理的结果可以由例如合成服务的其他分解的服务使用。作为另一示例,服务s4 128可以在智能RFID读取器106的SEE124中部署和执行。然而,PEID 104和智能RFID读取器106例如可能不具有足够的处理或存储能力来操控应用108处理数据可能需要的所有这样的分解的服务。
中间件层110可以包括设备操控层1 130和设备操控层2 134,设备操控层1 130可以包括服务执行环境132,设备操控层2 134可以包括服务执行环境136。设备操控层1 130和设备操控层2 134中的每个可以被配置为在设备级管理设备,例如PEID 104和智能RFID读取器106。正如先前所讨论的那样,服务执行环境132和136可以分别包括容器,在所述容器中,可以以可适应的和灵活的方式执行服务。因此,可以在服务执行环境132和136的每个中灵活地和可适应地部署和执行服务。如在图1的示例系统100中所示,服务执行环境132和136每个可以分别包括连接管理器138和140。连接管理器138和140例如可以被配置为管理在中间件110和诸如PEID 104和智能RFID读取器106的设备之间的连接,例如,无线连接。因此,如果例如由于设备移动或由于信号中的噪声干扰而导致连接是间断的,那么连接管理器138和140可以被配置为试图保持与设备的连接性,即使连接是间断的也是如此,或者连接管理器138和140可以被配置为向应用108报告连接性的中断。因此,来自设备的数据的传输可以是不定时的(sporadic)。
如图1所示,服务执行环境132和136可以包括服务s3 142、s4 128、s8144和s9 146,可以在设备操控层130和设备操控层134的每一个上可适应地和灵活地定位和执行所述服务。因此,例如,服务s5 126a可以被部署到PEID104,以便经由本地数据存储器120从传感器108获取一系列温度,并且计算预定数目的温度值的平均温度值。服务s4 128可以被部署到设备操控层1130,以便例如从PEID 104获得作为结果的平均温度值并且例如计算连续值的斜率。然后服务s3 142可以获得作为结果的斜率并且将该斜率值与预定阈值进行比较,如果所述斜率值超过阈值,则生成要被发送到请求操控层150的告警消息。所述处理可以通过启动服务s3 142的执行来实现,例如经由允许在服务间传递参数值的服务调用机制,服务s3 142进而可以启动服务s4 128的执行,服务s4 128进而可以启动服务s5 126a的执行。可以按所调用服务的执行排序来由每个服务接连地返回经预处理的结果值。
因此,例如可以首先在设备级的PEID 104处,然后在中间件110中的设备操控层1 130处对来自传感器118的数据进行相当大量的预处理,由此减轻应用108上的处理负担,所述应用108可能需要接收关于产品102的温度水平的告警信息。而且,通过在PEID 104处将温度值预处理为平均值,只有平均值需要从设备层发送到中间件110,因此,大大减少了从设备层发送到中间件层110以及进一步发送到可能位于后端系统的应用108的数据量。
请求操控层150可以包括请求操控器152、分布(distribution)管理器153和服务管理器154。请求操控器152可以被配置为从后端系统或诸如应用108的其他应用接收对于信息的请求,例如对于与PEID或其他设备相关的分析结果的请求。一方面,请求操控器152可以按照请求/响应机制来操作。然而,请求操控器152也可以被扩展为提供对信息请求的订阅(subscription),以使得请求应用108可以接收例如由值的变化所触发的或以规则的预定义间隔触发的订阅的信息。例如,应用108可以在每次温度波动超过预定量时请求关于产品102的温度的分析结果,或者每分钟请求一次关于产品102的温度的分析结果。例如,如果产品102的温度在一分钟或更短的时间内增加超过10度,则应用108可以请求告警。
请求操控层150可以包括请求缓冲器156和结果缓冲器158,以便例如实现与只具有间断的连接性的应用和PEID的通信,其中请求缓冲器156被配置为存储从应用108接收的请求,而结果缓冲器158被配置为为应用108存储来自请求处理器152的结果。来自应用108的请求可以至少包括识别特定产品,例如产品102,的产品标识符,以及识别所述请求和满足所述请求所需的服务(servicing)的InfoItemID(信息项标识符)值。例如,如果应用108请求对引擎,例如产品102,的温度进行更新,则该请求可以包括产品102的产品标识符和指定例如诸如“当前引擎温度”的服务的InfoItem。
服务管理器154可以被配置为操控与服务的管理相关的服务任务,所述服务的管理可以包括服务的注册和撤消注册(unregister)、部署服务到其他节点、将服务加载到服务执行环境、以及支持服务合成。服务管理器154可以与服务库(repository)160和服务元数据存储器162以及服务注入器(未示出)通信以便完成这些任务。
服务库160可以被配置为存储可以在系统100中部署和执行的所有可用服务,包括例如每个服务的可执行(executable)。另外,每个服务的元描述(metadescription),包括硬件要求和其他属性,可以存储在服务元数据存储器162中。
合成服务也可以被存储在服务库160中,所述合成服务可以出于特定应用的目的而包括原子服务的组合。服务元数据存储器162可以维护可从PEID访问的InfoItem(例如,信息实体)的列表,以作为与PEID(例如,PEID 104)相关的识别信息或属性信息。这样的InfoItem例如可以包括来自PEID的简单信息,诸如产品102的生产日期和总英里里程,或通过分析得出的信息,例如每天的平均英里里程或在运行期间的引擎温度趋势(trend)。当在系统100中注册了产品102时,可以从PEID 104检索例如由PEID 104提供的InfoItem。可以使用管理工具(未示出)来注册通过在中间件110中进行预处理而从其他信息得出的InfoItem。
在一些示例中,可以为多个开发平台实现相同的服务,例如,可以针对基于C/C++编程语言或Java编程语言的已知开发平台实现相同的服务。通过提供如此多样的开发平台,给定服务可以被部署到更宽范围或更多类型的可能在使用中的设备上。可以包括关于所讨论的服务的开发平台的信息以作为一种类型的服务元数据162,以及包括例如各种服务要求或操作服务的首选项中任何一个。
服务注入器可以被用来在PEID 104的SEE 122上安装和启动所部署的服务(例如服务s5 126a)。服务注入器还可以更普遍地用于例如通过执行服务更新或在必要时停止服务来管理服务的生命周期。因此,服务注入器的一个任务可以包括将具体的服务代码(例如,服务库160的服务可执行中的适当的一个服务可执行)传送到所选择的设备。因此,服务注入器接收和安装所讨论的这种代码。像服务注入器这样的安装组件可以被安装在设备侧,尽管在图1中未示出,作为单个独立的软件组件,或者可以与其他安装组件协作以便分布(distribute)服务库160的服务可执行。在后一情况中,例如,如果例如由于设备连接的故障(lapse)而导致所请求的服务安装的所有被选择的设备可能没有都联系上(reach),那么例如可以维护想要接收服务的当前未联系上的设备的列表,以便当可以联系上这些设备时,可以警告服务注入器完成所述安装。在安装之后,例如,服务s5 126a、服务s5 126a可以保持在非激活状态,直到服务注入器发送启动信号将服务变为激活状态为止。服务注入器可以类似的方式被用于组织服务的更新和停止。
服务管理器154还可以包括分布管理器153,其可以被配置成确定所请求的组件服务的有效分布、对所述分布建模、评估所述分布和生成对一个或多个分布的推荐,以便将所请求的组件服务映射到位于网络基础设施中节点上的服务执行环境上。模型数据存储器163被配置成存储网络基础设施的表示(representation)或模型、服务合成的表示或模型、以及加载模型,它们将被分布管理器153使用以确定例如组件服务的可能分布,该可能分布用于将组件服务映射到服务执行环境以便进行执行。
请求操控层150还可以包括设备元数据存储器164,所述设备元数据存储器164包括关于设备的信息,所述设备例如在设备层的诸如PEID 104和智能RFID读取器106的智能物件设备,该设备元数据存储器164还可以存储与设备操控层130和134的设备相关联的信息。这样的信息可以包括制造商信息、生产日前、电池类型、电池使用量、电池成本、电池容量、CPU类型、CPU利用率等,它们可以例如由服务管理器154结合服务元数据162使用,以确定来自服务库160的服务到例如服务执行环境122、124、132、136和到服务执行环境(SEE)166的部署,服务执行环境122、124、132、136和服务执行环境(SEE)166可以例如接收所部署的服务s1 168和s2 170以便在请求操控层150执行。设备元数据164可以包括例如设备描述、软件描述、硬件描述和设备状态。举例来说,设备描述可以包括设备名称、标识符或类型,或者可以包括厂商信息,所述厂商信息包括厂商名称或厂商网站。软件描述可以包括操作系统描述,所述操作系统描述包括版本和/或厂商,或者软件描述可以包括对在设备平台上正在运行或者允许在设备平台上运行的服务的描述。硬件描述可以包括关于设备CPU属性的信息(例如,名称或速度)、关于设备的存储器的属性的信息(例如,存储器的总量和/或空余量)、或关于设备的连接能力的属性的信息(例如,连接速度或连接类型)。设备状态可以包括较多变的信息,包括设备位置、当前CPU使用率或剩余的功率或存储器。当然,很显然其他设备方面或信息也可以包括在设备元数据163中。例如,设备元数据164可以包括关于其他设备的信息,诸如设备106在哪里包括RFID读取器,并且设备元数据164可以包括可以被智能RFID读取器106读和/或写的RFID标签114和116的类型的描述。
此外,服务元数据162可以包括服务行为描述、服务的技术约束、或关于服务的输入、输出、前置条件或作用(IOPE)的信息。例如,技术约束可以包括所要求的CPU类型或速度、所需的(空余)存储器的量、所要求或首选的连接类型或速度、操作系统版本/名称/描述、或电池或其他设备电源的类型或状态。
因此,对于设备元数据164,可以区分静态和动态服务要求,诸如硬件要求。例如,可以包括静态值,诸如总存储器或最大处理速度,以及动态值,诸如可用存储器/处理/功率、和/或在服务执行时可以允许和所讨论的服务一起在设备上并发运行的其他服务的数目或类型。
服务元数据162的结构和使用可能取决于服务被视为复合(或合成)服务还是原子服务而有所不同。在这点上,原子服务可以指在单个设备上运行的分立的服务,而复合服务或合成服务可以指包括且组合了一个或多个原子服务的较高级的服务。例如,可以部署复合服务以便提供累积或聚集的功能,而原子服务可以指被部署到单独的设备102、106的服务。例如,产品102可以包括散布在规定的区域内的温度传感器118,以用来确定在该区域内的温度分布或梯度,在这种情况中,PEID 104可以执行温度收集服务(例如,PEID104上的服务s5 126a),而设备操控层1 130处的复合服务s4 128可以聚集若干设备的温度数据并确定关于温度分布或梯度的信息。因此,例如,应当理解,复合或合成服务的服务元数据162的一部分可以包括关于组成复合或合成服务的原子服务的信息。
作为另一示例,合成服务可以包括多个组件服务。合成服务的执行的启动可以包括对合成服务的调用,这可以导致对组件服务之一的调用,从而可以进一步导致对另一组件服务的调用。每个服务可以接收和/或返回参数值,并且对服务的调用可以经由各个服务的执行的入口点(entry point)而被启动。例如,请求操控器152可以从应用108接收对于有关例如产品,诸如产品102,的信息的请求。
作为示例,产品102可以包括引擎,而请求可以包括对于当引擎温度上升过快时的通知的请求。因此,通过执行合成服务“温度监视器”(temperaturemonitor)可以完成对所述请求的服务,所述合成服务“温度监视器”可以包括至少4个组件服务,诸如:
(1)数据收集器服务,其被配置为以预定的间隔从温度传感器读取并且生成时间序列;
(2)趋势服务,其被配置为接收所述时间序列,对其执行线性回归,并且返回斜率;
(3)阈值服务,其被配置为将所述斜率与预定阈值进行比较,并且如果所述斜率超过所述阈值,则返回真值,否则返回假值;以及
(4)消息服务,其被配置为:如果阈值服务返回真值,则生成温度告警消息,所述温度告警消息被作为结果发送到应用108。
每个组件服务可以被实现为轻量级的、可重新定位的可执行,所述可执行可以容易地部署到各种服务执行环境,以便执行和与其他服务互操作。因此,例如,数据收集器服务可以被配置为可执行并且存储在服务库160中,同时相应的描述性元数据(例如,功能性以及输入和输出参数的描述)存储在服务元数据存储器162中。类似地,趋势服务、阈值服务和消息服务每个可以被配置为可执行并且存储在服务库160中,同时相应的描述性元数据(例如,功能性以及输入和输出参数的描述)存储在服务元数据存储器162中。而且,描述合成服务“温度监视器”的信息可以被存储在服务元数据存储器162中,所述信息例如合成服务名称、组件服务的指示符、以及为了获得期望的处理结果的组件服务的执行的排序(ordering)的指示。
因此,作为示例,应用108可以向请求操控器152发送用于产品102的“温度监视器”的请求。正如先前所讨论的那样,所述请求可以包括特定于指定产品102的信息,以及识别所请求的服务的InfoItem。如果产品102当前没有连接到中间件110,正如例如可以由连接管理器138确定的那样,则请求可以被存储在请求缓冲器156中,直到产品102被连接为止。例如,当产品102连接到设备操控层1130时,可以向连接管理器138发送对于将“已连接”指示符发送到请求操控器152的请求。
当确定产品102被连接时,请求操控器152可以发送“温度监视器”请求至服务管理器154,服务管理器154可以访问服务元数据162以便获得关于合成服务“温度监视器”的信息。服务管理器154可以确定该合成服务包括至少4个组件服务:s5 126(例如,数据收集器服务)、s4 128(例如,趋势服务)、s3 142(例如,阈值服务)、以及s2 170(例如,消息服务),其中每个服务的可执行可以包括在服务库160中并且相关联的元数据可以包括在服务元数据162中。基于合成服务元数据,服务管理器154还可以确定处理的入口点、组件服务s5 126、s4 128、s3 142、s2 128的执行和数据处理的排序、以及关于在执行服务以及传递和返回项目中使用的参数的信息。
然后,服务管理器154可以访问设备元数据164以便获得设备信息,从而确定在产品102处(例如,在SEE 122处)可以部署和执行多少组件服务处理。由于执行的示例排序可以指示在服务s4 128可以处理对来自传感器118的数据的处理结果之前需要执行服务s5 126来处理来自传感器118的数据,因此服务管理器154可以确定组件服务s5 126a可以被部署到SEE 122,以便在产品102(例如,需要温度监视的引擎)处执行。由于服务s4 128将方便地减少到应用108的进一步的数据传输,以及,例如,减少在应用108的后端系统的数据处理量,因此,服务管理器154可以基于服务元数据162和设备元数据164确定服务s4 128是否也可以在产品102处部署和执行。
如果SEE 122不能方便地容纳服务s4 128,那么服务管理器154可以确定例如设备操控层1 130的SEE 132可以被用于下个(例如按照执行排序)服务s4 128和s3 142的部署和执行。然后服务管理器可以确定服务s2 170可以在请求操控层150处部署和执行SEE 166,从而请求管理器152可以通过在位于服务s2 170的入口点开始执行来开始执行合成服务,例如,这导致从服务s2 170到阈值服务(例如,s3 142)的调用,从而,如果阈值服务(例如,s3 142)返回的结果为真,则服务s2 170可以生成要被返回到应用108的温度警告消息。正如所部署的,然后服务s5 126a、s4 128、s3 142和s2 170可以使能对在设备级的传感器118的原始数据的预处理,而预处理的结果将被返回到中间件层110以进行进一步处理,所述处理的单个分析结果(例如,警告消息)将被返回到应用108。因此,在应用108级处实现数据的传输和处理的显著减少,而更多的处理在较低级处,诸如在设备层和中间件层110处实现。而且,组件服务可以被实现为轻量级、可重用以及可重新定位的服务,所述服务可以在系统100中随条件的改变而被动态地部署和重新定位。
而且,服务元数据162可以包括组件服务s2 170、s3 142、s4 128和s5 126的列表,所述组件服务与InfoItem相关联,所述InfoItem与合成服务“温度监视器”相关联,并且可以与每个组件服务的可执行一起存储在服务库162中的组件服务s2 170、s3 142、s4 128和s5 126中的每个的元数据可以包括关于每个组件服务的入口点的信息,以及关于可能预期被传递到每个组件服务中或被作为组件服务的执行结果返回的参数的信息。例如,可以包括先前讨论的趋势服务的服务s4 128可以具有与其相关联的服务可执行和元数据,所述元数据指示服务s4 128输入包括时间序列的参数并且输出包括由于对斜率执行线性回归而产生的斜率的参数。
图2是图示示例的服务200的合成的框图。如先前所讨论的,合成服务可以包括多个组件服务,以使得可以通过包括在合成服务的规定的入口点处启动指令的执行的调用来启动合成服务。对合成服务的调用可以包括参数的指示符和/或参数值的传输,以便能够在服务之间交换数据和结果。可以安装组件服务。组件服务可以具有由例如先前关于合成服务“温度监视器”所讨论的服务的执行的排序所定义的排序。如图2所示,组件服务s3 142(例如,阈值服务)可以启动组件服务s4 128(例如,趋势服务)的执行,组件服务s4 128可以启动组件服务s5 126a(例如,数据收集器服务)的执行,组件服务s5 126a例如可以被部署到设备级的PEID 104的SEE 122,以便减少要被发送到应用108的后端系统的数据量,以及减少在后端系统处的数据处理量。
而且,组件服务s5 126a可以返回其数据收集器处理的结果(例如,时间序列)至组件服务s4 128,组件服务s4128例如可以被部署到中间件层110的设备操控层1 130的SEE 132。然后组件服务s4 128可以返回其对所述时间序列的趋势处理的结果(例如,斜率)至组件服务s3 142,组件服务s3 142例如也可以被部署到中间件层110的设备操控层1 130的SEE 132。组件服务s3 142可以返回其对所述斜率的阈值处理的结果(例如,布尔值真或假)至可能已经调用组件服务s3 142的服务,例如,服务s2 170(例如,消息服务),服务s2 170可以被部署到请求操控层150的SEE 166,以便响应于对合成服务“温度监视器”的调用而返回警告消息或不返回消息。然后,此分析结果可以由请求操控器152放置在结果缓冲器158中,并且可以通知应用108该分析结果的可用性以便从结果缓冲器158检索。
因此,对分析结果的请求可以例如被分解为根据组件服务的执行的排序而布置的组件服务的部署,使得在设备级或靠近设备级执行原始数据的处理,而通过将预处理的结果从设备层经设备操控层130、134向上传递至中间件110,并且继续向上传递至请求操控层150来处理中间结果。因此,传感器118的原始数据的处理可以在边缘设备(例如PEID 104)处开始,并且逐步地向上通过各层在服务执行环境进一步执行对中间结果的预处理,直到应用108能够接收可能被充分处理以用在例如产品生命周期管理中的分析结果为止。
可以理解,尽管服务s3 142、s4 128和s5 126中的每个在图2中被图示为仅与单个调用的组件服务通信,但是所述服务中的任何一个可以调用多于一个的被调用的服务(即,一对多),并且多个组件服务也可以调用单个服务(即,多对一)。
图3是示出图1的系统100的示例实施例的示例基础设施视图300的框图。设备操控器,例如设备操控层1 130可以包括可以操控设备检测和访问(access)的中间件110的特定于设备的部分。设备操控层1 130可以在检测到PEID时通知请求操控层150,并且可以以特定于PEID的协议翻译和执行接收到的请求。包括设备操控器的功能性的网络或基础设施节点可以被看作可位于智能物件附近,例如车库中、库房中、仓库中等的PEID的访问点。取决于应用情景,可以存在多个设备操控器节点,潜在地支持不同的PEID协议。设备操控器,例如设备操控层1130,可以经由一个或多个高容量网络连接,例如经由LAN或WAN,连接到例如位于请求操控层150的请求操控器。
位于请求操控层150的请求操控器可以包括中间件的独立于设备(device-independent)的部分,其可以管理来自后端应用的到来的(incoming)请求。如之前所讨论的,请求操控器152可以将到来的请求存储在例如请求缓冲器156中,直到PEID在网络上变为可用,并且可以将请求递送到PEID可连接到的设备操控器节点。由于请求操控器152可以包括后端应用的主入口点,因此请求操控器152可以在物理上位于后端系统附近。
示例情景可以包括卡车的维修计划。PEID,例如PEID 104可以收集关于诸如卡车的车辆的工作状态的数据,该PEID 104可以嵌入在卡车上。可根据来自后端中例如包括在应用108中的维修应用的请求将数据发送到基站。示例的设备操控器可以位于库房中,并且可以连接到位于数据中心的请求操控器节点,该请求操控器节点可以接受来自应用108的请求,并且可以在结果例如在结果缓冲器158中可获得时通知应用108。在更复杂的情景中,可能有位于不同地点的多个设备操控器节点。PEID 104可以包括车辆中的嵌入式系统,例如车载(on-board)计算机。PEID 104可以包括多个数据源,例如计数器和附接的传感器,诸如传感器108。数据源可以包括如在图3的例子中示出的例如用于测量车辆的英里里程、引擎温度、每分钟转数(RPM)或速度、以及油压的传感器或计数器。
为了获得对车辆工作状态的全面查看,应用108可以请求1)当前英里里程;2)引擎速度,其按对时间的分布被表示为慢速、中速和快速类别;3)对于引擎温度是否保持在给定限制之内的指示;以及4)油压的走向和最大/最小油压。
如之前所讨论的,在中间件110内,服务库160可以提供可灵活安排(arrange)在合成中以操控新的需求的组件服务。对于上面讨论的卡车车队情景的例子,可采用包括用于数据分析的类属组件服务的合成。图4是示出示例合成400框图,示例合成400包括类属组件服务,诸如例如聚集402、线性回归404、最大/最小406、分类(classification)408、和阈值410。可利用配置参数来设置它们的组限(class limit)、阈值等,所述配置参数可成为合成描述的一部分,合成服务可以存储在例如服务元数据162中。
类属组件服务可以要求以公共格式(common format)输入要被提供的数据。由于每个PEID可以不同地提供其数据,因此可使用一组特定于PEID的组件服务将来自PEID的数据表示转换成所要求的公共格式。所述转换例如可由组件服务FormatOP 412、FormatRPM 414、和FormatET 416来执行。
可使用数据缓冲器组件服务,例如数据缓冲器1 418、数据缓冲器2 420或数据缓冲器3 422在组件合成400的调用之间缓冲传感器数据。示例的聚集组件服务402可以收集组件服务的部分结果和英里里程数据,并将它们组合成最终结果,该最终结果可例如作为工作状态结果被返回到应用108。
因此,可能需要确定适当的分布,以将这些组件服务部署到基础设施300。分布可以包括例如一组组件布置,其中每个组件服务都可被分配到基础设施300中的节点。组件服务到节点的可能映射(例如组合)的数量,以及影响分布质量的因素的数量可以成为影响识别良好分布的复杂度的因素。
对于包括N个节点的基础设施和包括C个组件服务的合成,可能有NC个分布要考虑。例如,如果N=3且C=11,则可能存在311=177,147个可能的组合。然而,这些组合的子集可能由于违反约束而是无效的。因此,可以在质量方面对剩余的有效分布的集合进行评估,以识别最适当的分布。对于有效分布的选择和评估,可以考虑资源约束、资源需求和性能量度(performance measures)。
例如,网络的不同节点可能具有不同的硬件能力。例如,如果节点上的存储器不足以容纳分配给它的所有组件服务,或者,如果网络连接的比特速率容量太低以至不足以操控要被传输的数据量,则这种资源约束可以排除某些分布。
此外,包括在组件合成中的组件服务可以对基础设施300设置特定的资源需求。这些需求可以在组件服务之间有所变化,并且可以取决于其它因素。例如,对特定组件合成的比特速率要求可以取决于每个组件服务的负载和输入/输出比两者。
而且,可以考虑每个分布例如在响应时间和吞吐量方面的性能。与资源需求类似,也可以存在对性能的需求,这可以例如包括允许的最大响应时间。对于给定情况的示例数量的影响因素(IF)可以如下确定:
IF=NRn+Ln+CDc+Lc+S+1
在上面示出的关于IF的公式中,N表示基础设施中包括的节点的数量,Rn表示每个节点的资源类型的数量,Ln表示网络链接的数量(仅利用一种资源),C表示组件服务的数量,而Dc表示每个组件的需求类型的数量。Lc表示承载比特速率需求的组件依存关系(dependency)的数量,而S表示数据源的数量。结尾的1表示来自示例负载模型的示例影响因素“每小时调用”。
对于N=3且C=11的例子来说,可以存在每节点两个资源约束、每网络连接一个资源约束、对于每个组件服务可以存在至少两个资源需求,加上对于组件服务之间的每个连接的需求。对于这个例子来说,总共可以有51个因素要考虑。对于所有177,147个组合,可以去除违反约束的分布,并且可以从资源消耗和性能方面对剩余的分布进行评估。
因此,示例的组件服务部署计划判决可能是复杂的,这是由于1)组件服务和节点的大量可能组合;2)可能在节点和网络连接之间大不相同的资源限制;3)可能随组件服务而变化并且可能部分地取决于负载的资源需求;以及4)由于其对分布、负载模型以及组件服务和基础设施两者的特性的依赖性而引起的复杂的性能估计。
虽然组件部署的手动计划对于简单情况是可以的,但其对于真实世界的情景来说并不适用。当将组件或组件合成部署到网络节点上时,可以至少考虑两个目标:部署对于性能是最优化的,或者满足由资源依赖性导致的限制。第一个目标可以包括保证诸如响应时间和吞吐量的性能要求。第二个目标可以依赖诸如操作系统、执行环境、数据库连接、存储器要求等的技术环境的特征。
然而,如之前所讨论过的,在智能物件环境中,诸如OSGi的标准执行环境可以安装在包括智能物件的所有节点上。因此,与环境相适应的组件可以在网络或基础设施中的每个节点上运行。如之前所讨论的,资源可能不足,特别是在网络的边缘附近。然而,可能需要在节约资源的目标与性能要求之间进行平衡,以在合理的时间内提供请求的数据。
在智能物件环境中对组件服务的示例部署计划方法可以包括:1)考虑每个节点和网络连接的资源限制;2)考虑不同的负载;3)评估资源需求,例如存储器、网络比特速率、CPU和能源;4)评估性能,例如响应时间和吞吐量;以及5)将性能和资源消耗整合成单一量度(measure),以便对分布进行比较和分级(ranking)。
组件服务部署的计划可能会变成基于大量的可能组件布置和可能影响分布质量的因素的复杂任务。如果通过结构化的方法来支持对组件布置的判决,则可以降低任务的复杂性,并且减少部署计划所需的时间。因此,示例的解决方案可以特别针对智能物件环境的细节(specifics),具体来说,针对异构(heterogeneous)节点和网络连接以及不同的负载参数,来评估组件分布。
用于组件部署计划的示例技术可以包括例如可交互使用的判决支持工具。用户,例如管理员,可以选择基础设施和组件服务合成的模型,以及负载模型和最大运行时间。所述示例技术可以例如提供对良好分布的多个推荐,用户可以从中选择一个以开始实际的部署过程。或者,示例技术可以以不同的参数设置重新运行。
如图5所示,用于组件部署计划的示例技术500可以包括三个元素(element):建模502、评估504和推荐506。例如,建模502可以描述基础设施,例如基础设施300和合成,例如合成400的表示。评估504可以例如基于负载模型508和资源成本510计算给定分布的质量量度或分数(score)。推荐506可以包括产生可能的分布、将具有最佳结果的分布保存(maintain)在列表中。指示所使用的资源总成本(OCUR)的分数可以用作对分布的质量量度。可以例如通过对每个用成本因子加权的资源消耗求和来计算所述分数。可以由例如分布管理器153根据分配512来执行组件服务到节点的映射,该分配512是由组件服务分布的推荐506得到的结果。
如之前所讨论的,建模502可被用来描述基础设施和组件合成,这两者都可表示为注释图(annotated graph)。此外,负载模型可以表示预期的负载。例如,图6描绘了用于描述示例基础设施的示例无向图(undirected graph)600。尽管没有示出每个节点的注释,但是在图6的图中,每个节点都可以通过如针对下面示出的表I所描述的一组示例属性(property)来注释。在图6中,节点1 602包括数据宿(data sink)。如图所示,节点1 602可以例如位于图3的请求操控层150中。
节点2604可以与一组节点属性606相关联,其可以指示例如可映射到节点2604的组件服务可用的存储器容量和CPU能力。节点3 608可以通过边连接到节点1 602,其可以与一组连接属性相关联,该连接属性可以指示例如与该连接相关联的比特速率。对于图6的例子,应注意在基础设施模型中指定的资源可以指示组件服务实际可用的能力,而不是该节点的总体硬件配备。节点2 604可以位于图3的设备操控层130中。
节点4 612可以包括数据源1和数据源2,其可以包括例如诸如图1的传感器118的传感器。节点4 612可以是例如位于图3的PEID 104。
表I
基础设施图元素的示例属性
尽管数据源和数据宿被示为图6的示例基础设施的一部分,但在示例基础设施图600中,它们也可以不表示为节点。由于数据源和数据宿不会被移动到其它基础设施节点,因此可以使用静态分配(static assignment)来对它们进行建模。静态分配可以包括组件的节点图,其可被分配给基础设施的节点,并且在生成分布变型(distribution variant)时可以不被考虑。因此,静态分配可用于数据源和数据宿,并且可以被用于用户定义的组件分配,即,用户可以手动将组件分配到节点。静态分配可以被表示为元组(tuple)Aij=(Ci,Nj)的集合As,其中,Ci表示来自组件服务集合的元素,而Nj表示来自基础设施节点集合的元素。
再例如,图7描绘了被表示为有向非循环(directed acyclic)图的示例组件服务合成700,其中,边指向合成700的示例组件服务c1 702、c2 704和c3 706的调用方向。换言之,边可以指示特定组件服务依赖于哪个(哪些)组件服务,例如,以作为数据输入或用于提供特定的功能性。如果组件服务依赖于数据源和数据宿,则在该组件图中也可以包括数据源和数据宿。与基础设施图600类似,组件合成700的图中的节点可以用诸如组件属性708的属性来注释,所述组件属性708例如下面的表II中示出的存储器、CPU和GAIN(增益)。例如,当计算比特速率需求时,可以分配属性REQUIREDBITRATE(例如,用于边)和COMPONENTLOAD(例如,用于节点)。该计算可以在图5的评估步骤504中执行,并且可以使用表II中所示的组件服务的示例的GAIN属性。
表II
组件图元素的示例属性
示例负载模型可以包括每小时调用数目,以及用于基础设施中每个数据源的消息大小。由于从产品获取监视数据可以以计划的间隔来执行,因此这个示例负载模型可能是足够的。然而,该负载模型也可以被扩展到统计分布的调用。
在示例评估中,可以计算给定分布的分数。与静态分配类似,分布可以被表示为(组件,节点)元组。在执行实际评估之前,可以计算动态资源需求。之后,可以将资源需求分配到基础设施,并与资源约束进行比较。然后,可以评估消耗的资源以计算分布的分数。
为了对分布进行评估,可以定义示例质量量度(measure),该质量量度可以便利对不同分布变型的比较。例如,可以具体考虑资源消耗。然而,组件合成的资源消耗可能仅取决于负载模型,并且可能不会随不同的资源布置而改变。而且,分布的质量可能取决于组件的实际布置,因此,仅仅评估资源消耗可能是不够的。
示例目标可以包括节约基础设施元素上的资源,其中所述资源可能是特别缺乏的。为了将这一原则结合到示例质量量度中,可以分配成本来对基础设施的各个节点和边的不同资源的利用进行加权。例如,与中间件节点,例如包括在设备操控层1 130中的节点相比,嵌入式系统上,例如PEID 104上的一兆字节的存储器可被表示为昂贵(expensive)得多。
类似类型的加权可用于网络链接,这是因为,与在设备操控器和请求操控器,例如在设备操控层1 130和请求操控层150之间的LAN连接上传输数据相比,在PEID和设备操控器之间,例如PEID 104和设备操控层1 130之间的GPRS连接上传输相同的数据量可能造成更高的成本。可以例如由用户将成本分配给每个资源,并且成本可表为不同资源之间的“交换速率(exchange rate)”。因此,由于预处理的数据可能比其相应的原始数据小,用户可以指示用户希望以哪个速率投资更多的CPU能力用于数据处理以降低比特速率。
资源消耗成本例如可以与性能量度整合。性能可以主要涉及响应时间,例如完成组件合成的调用所需的时间长度。如果将时间作为资源来考虑,则它可以与资源消耗的成本整合。成本也可以被分配给响应时间,以指定这一因素相对于资源消耗的权重。因此,可以根据公式1来计算示例的“所使用的资源总成本”(OCUR):
其中
N表示节点的数量,
Ri表示每个节点i上资源类型的数目,
ni(k)表示对于节点i上资源k的资源消耗,
Ci(k)表示节点i上资源k的成本或权重,
nij表示节点i和j之间的边上的资源消耗,
Cij表示相关资源成本或权重,
tR表示响应时间,以及
CR表示响应时间tR的成本或权重。
注意,对于节点和边可以分离地处理如上所示的资源消耗成本的计算。
资源需求可以例如被区分为独立于负载的需求和依赖于负载的需求。对于如上所示的例子,仅有的独立需求是存储器,因为每个组件服务要求节点上指定量的存储器。示例的依赖于负载的资源需求可以包括比特速率需求,其表示每单位时间可能在组件间传输的数据量。为了计算比特速率需求,如下所示的示例递归算法1可以从数据宿到数据源遍历组件图,例如图7的组件图700。如以下在示例算法1(calculateBitrateDemands())中所描述的,示例的算法可以将到来数据负载乘以(步骤14)输入/输出比(例如,GAIN),以根据负载模型确定每个边上的负载,并且可以将每个负载存储在与该边相关联并且包括在组件图中的属性地图中(步骤13)。
算法1:calculateBitrateDemands(startComp)
Require:startComp≠0
1: timeFactor←invocationsPerHour÷3600
2: while startComp has more edges do
3: e←nextEdge
4: inputComp←e.opposite(startComp)
5: if NODETYPE of inputComp is component then
6: load=calculateBitrateDemands(inputComp)
7: else if NODETYPE of inputComp is datasource then
8: load←inputComp.messageSize
9: e.REQUIRED_BITRATE←load×timeFactor
10: end if
11: sumLoad←sumLoad+load
12:end while
13:startComp.COMPONENT_LOAD←sumLoad
14:return sumLoad×startComp.GAIN
一旦所有资源需求都已知,如下所示,它们可例如通过示例评估算法2被分配给基础设施图。示例算法2可以遍历基础设施图,例如图6的基础设施图600,的所有元素(即节点和边),将对于所有资源的已分配的需求和新的需求之和与它们各自的可用能力(capacity)进行比较(步骤3-7)。
如果新组合的需求仍旧小于所述能力,则可以将新组合的需求分配给各个元素(步骤11)。由于违反单个约束可能导致整个分布不能实现,因此对分布的进一步分析可能是对计算时间的浪费(步骤7-9)。因此,可以终止需求分配的循环并通过返回示例的结果值-1来丢弃当前分布(步骤16)。如果所有资源需求都被分配而没有违反约束,则该分布可被认为是有效的。在这种情况下,可以计算示例的质量量度OCUR(例如公式1)以作为分数,并将该示例的质量量度作为结果返回(步骤18-19)。
算法2:evaluate()
Require:all resource demands are specified or calculated
1: error←false
2: for all resource types rt do
3: for allinfrastructure elements ie do
4: max←ie.maximumCapacity
5: curDmd ←ie.currentDemand
6: newDmd←rt.getDemand(ie)
7: if(curDmd+newDmd)>max then
8: error←true
9: exit for-loop
10: else
11: ie.currentDemand←(curDmd+newDmd)
12: end if
13: end for
14: end for
15: if error then
16: return-1
17: else
18: score←calcScore()
19: return score
20: end if
为了确定可推荐的分布,可以生成和评估几个分布。示例目标可以包括确定其OCUR值尽可能小的有效分布,因为小OCUR值可以指示具有低的所使用资源的成本,因此其可以指示良好的分布。例如,如下所示的算法3(identifyGoodDistributions())描绘了用于根据小OCUR值识别可推荐的或“良好的”分布的示例算法。
对于算法3的例子,算法的最大运行时间可被限制在maxTime。例如可以根据如上所示的算法1来计算比特速率要求(步骤2)。然而,可以生成(步骤4)和评估(步骤5)分布候选。如果为分布候选确定的分数,例如OCUR值低于之前的最佳分数(步骤6),则该分布候选可以被存储在变量bestDistr(步骤7-8)。根据示例实施例,可以维持三到五个分布变型的“最佳列表(toplist)”。可以重复分布的生成和评估,直到运行时间超过maxTime,或者没有其它的分布候选(步骤3)。
算法3:identifyGoodDistributions()
Require:maxTime>0
1:startTime←currentTime
2:calculateBitrateDemands(datasink)
3:while moreDistrAvailable and
(currentTime-startTime)≤maxTime do
4: curDistr←getNextDistribution()
5: score←evaluate(curDistr)
6: if score<bestScore and score>-1 then
7: bestScore←score
8: bestDistr←curDistr
9: endif
10: output(bestDistr)
11:end while
注意,以上示出的示例算法3不对分布候选如何生成进行任何假设。从随机分配到预评估和复杂的试探法(heuristics)的任何策略都可以使用。在示例实施例中,到节点的组件随机分配以及穷举法(exhaustive enumeration)两者都可以被支持。此外,以上示出的示例算法3仅仅旨在示出对推荐分布的示例识别,本领域技术人员将会认识到,许多这样的算法都可用来确定对分布的推荐,而不会背离本发明的精神。
示例实施例可以生成对分布的推荐,并且可以将比特速率和存储器作为资源类型来考虑。可以通过使用变型的随机生成和穷举法两者来达到在限制的运行时间下可实现的质量。
图8是示出图1的系统的示例操作的流程图。具体来说,图8的流程图示出了对用于映射合成服务的组件的推荐的示例确定,所述合成服务用于处理来自系统100的应用108的请求。
在图8的例子中,可以确定与合成服务相关联的组件服务到服务执行环境的一个或多个分布,所述合成服务与分析由一个或多个传感器生成的数据相关,所述合成服务包括执行用于分析所述数据的相关组件服务的排序,服务执行环境中的至少一个位于与设备层相关联的第一网络节点,并且服务执行环境中的至少另一个位于与设备操控层相关联的第二网络节点(802)。例如,如之前针对图4所讨论的,合成服务“聚集”可被确定为包括至少十个组件服务。例如,分布管理器153可以访问服务元数据162以确定和与InfoItem相关联的合成服务有关的组件服务的列表,例如组件服务线性回归404、最小/最大406、分类408、阈值410、FormatOP 412、FormatRPM 414、FormatET416、数据缓冲器1418、数据缓冲器2420和数据缓冲器3422。分布管理器153可以访问服务库160以获得每个组件服务的元数据,其指示例如所述组件服务的执行排序、执行每个组件服务的入口点、以及关于要在组件服务间传送的参数的信息。
如果期望例如针对包含PEID 104的车辆的实现聚集,则分布管理器153也可以访问设备元数据164以获得关于例如PEID 104以及SEE 122和本地数据存储器120的信息。在分析了与PEID 104相关的服务元数据162和设备元数据164之后,分布管理器153可以进一步就关于设备操控层1130和SEE 166的信息访问设备元数据164,以确定对组件服务线性回归404、最小/最大406、分类408、阈值410、FormatOP 412、FormatRPM 414、FormatET 416、数据缓冲器1418、数据缓冲器2420和数据缓冲器3422的可能分布。
可以根据度量(metric)来确定对所述组件服务的每一个分布的评估,所述度量将一个或多个加权值与每个分布对与第一和第二网络节点的每一个相关联的一个或多个相应资源的消耗相关联(804)。例如,每个候选分布可以首先被确定是有效的,而且可以确定负载模型。例如,可以如针对图6所讨论的那样对示例的基础设施建模。而且,例如,组件服务的合成可以如针对图7所讨论的那样建模。
然后,例如可以基于之前所讨论的公式1的OCUR分数,如针对算法1和算法2所讨论的那样确定资源需求。
然后,分布管理器153可以基于所述评估确定包括一个或多个分布的推荐(806)。如之前所讨论的,可以例如参照针对算法3的描述来确定所述推荐。如果推荐包含多于一个的分布,则可以从该推荐中选择“最佳”分布,然后服务管理器154可以根据所选择的分布部署组件服务,并且可以如下所述启动执行。
因此,可以经由轻量级的组件服务可执行来灵活地、动态地分布预处理,从而,例如,使得由传感器118生成的原始数据可以在设备级被预处理,以使需要从PEID 102发送的数据较少,并且在将中间结果传送到达请求操控层150之前,将对数据的进一步处理包括在中间件的设备操控层中,以使充分处理过的结果返回到后端应用108。动态分布可以通过加权的或基于成本的技术来确定,以便例如将分布的性能保证在可接受的水平。
图9是示出用于产品生命周期管理的图1的系统的示例操作的流程图。应用使用中间件访问来自PEID的数据的两个示例情景可以包括请求/响应情景和订阅情景。在请求/响应情景中,例如,可以接收单个请求,并且可以返回单个结果,而在订阅情景中,请求可以是进行中的(ongoing)。例如,订阅请求可以在发生触发事件时请求响应,触发事件诸如例如检测到产品温度的突发的尖峰,或者要每5分钟发送一次对关于产品状态的数据的请求。
图9示出了图1的系统的用于根据请求/响应情景的产品生命周期管理的示例操作。因此,可以经由请求缓冲器从应用接收对于与指定产品相关联的信息的请求(902)。例如,如先前所讨论的,应用108可以将其中可以指定关于产品102的信息(例如,生产日期、序列号、工作状态等)和产品102的标识符的请求放置到请求缓冲器156中。可选地,可以指定期满时间间隔,在所述期满时间间隔之后,所述请求可以是超时的。
可以对产品,例如,产品102,是否连接到网络做出确定(904)。例如,可以询问连接管理器138来确定产品102当前是否被连接。如果所指定的产品没有连接到网络,那么可以例如经由请求缓冲器156缓冲所述请求(906)。
如果指定的产品连接到网络,则可以基于设备元数据164和服务元数据162确定例如所请求的信息是否在PEID,例如PEID 104,上直接可获得(908)。
如果不是直接可获得,则可以从服务库,例如服务库160,检索服务描述(910),因为所请求的信息可能要求使用数据处理组件的数据处理。如先前所讨论的,服务描述可以包括例如哪个原子组件或组件服务被包括在合成服务中。该描述也可以包括服务的入口点,例如,要被首先调用的合成服务的组件服务的入口点、以及所涉及的组件服务的各种参数设置,例如,阈值、组限(class limit)、采样频率、缓冲器容量等。
然后可以例如由请求操控器152基于入口点调用合成服务(912)。如先前所讨论的,如果所调用的组件服务依赖其他组件,则可以随后调用那些组件。因此,可以调用组件服务(914)。可以重复步骤(914)直到所调用的组件服务依赖外部输入为止(916),所述外部输入诸如(例如,来自传感器118的)传感器值、存储在产品102上的计数器值、或来自产品102的任何其他数据。
可以从产品102检索所请求的原始数据并将其返回到请求器(918),请求器可以是请求操控器152或调用组件服务。如果在步骤(908)所请求的信息在PEID上可直接获得,则执行步骤(918)。
如果请求器是调用组件服务(920),则可以处理所检索的数据并将其返回到调用器(922)。重复步骤(922)直到到达合成的入口点(924)。
当到达合成的入口点(924)时,或者如果在步骤(920)请求器不是调用组件服务,则可以例如通过请求操控器152接收所请求的结果,例如,分析结果,并且可以将所请求的结果存储在结果缓冲器中(926),所述结果缓冲器例如结果缓冲器158。可以通知请求应用,例如,应用108,所请求的结果,例如分析结果,在结果缓冲器中(928),所述结果缓冲器例如结果缓冲器158。然后可以从请求缓冲器,例如请求缓冲器156,删除所述请求,例如,对于分析结果的请求(930)。
作为对于涉及卡车车队的示例情景识别适当分布的另一个例子,可以如在之前参照图3-7所讨论的模型中那样分配所要求的参数。如下所示的表III示出了示例基础设施300中的能力和成本的示例概况,而表IV示出了示例组件服务,例如参照图4讨论的示例组件服务的示例需求。
表III
基础设施的示例成本和容量
表IV
组件服务的示例需求
作为示例,假定工作状态例如可由应用108每小时请求两次,则示例分布可以通过使用穷举法并将maxTime设置为10分钟来确定。对于invocationsperhour(每小时调用次数)=2,可以获得如图10所示的示例结果。
图10所示的示例分布的OCUR值为3151,并且没有一个无效分布。该示例的所有组件都被分配到位于请求操控层150的节点。该示例的负载很低,从而使得组件被布置到具有最低廉资源的节点上,该节点也是包括数据宿的节点。
如果,例如,卡车司机报告一些技术问题,则可以做出判决以请求应用更频繁地检查车辆的工作状态,例如,现在可以每分钟请求两次车辆的工作状态。因此,可以增加对所有传感器的采样频率,以获得更详细的结果,并允许较早识别出问题以避免损失。如果在invocationsperhour=60的条件下运行分布管理器153以推荐分布,则分布管理器153可以推荐如图11所示的示例分布。
在该示例情况中,分布的OCUR值大约为8750,并且大约174,676个分布可能被确定是无效的(例如,大约98.6%)。由于较高的负载,一些组件可能被分配到PEID 104。因此,数据可以被较早处理,并且可以减少将要在PEID104与位于请求操控层150中的设备操控器节点之间的网络连接上发送的数据量。
当仅仅可获得有限的时间时,或者当组合的数目可能较大时,对所有可能的分布进行完全评估可能是不可行的。在示例实施例中,执行时间可以是有限的。因此所生成的结果可以包括在给定时间量内可以找到的最佳分布。该示例实施例可以测试在仅评估所有可能分布的一小部分时可获得哪些结果。为此,可以使用“随机”策略和“穷举”策略两者来在时间限制的条件下评估示例情景。
作为示例,尽管对示例实施例的前述讨论没有明确包含对CPU负载的评估和对响应时间的计算,但是应当注意到,可以将CPU要求表示为单个数量,然后可将该单个数量与能力进行比较。另一个示例技术可以例如根据每秒钟的请求数来使用线性函数表示CPU使用率。这些技术可以适用于例如在其中节点具有类似的CPU能力的环境中,诸如网格(grid)环境中。
在智能物件环境中,示例中间件节点的示例CPU可能比示例PEID的CPU强大20倍,这可能造成很难表示每次调用组件服务的CPU需求。因此,用于处理给定数据量的组件服务的CPU需求可以被表示为在参考环境上的CPU能力的百分比。然后,每个基础设施节点的CPU能力可以被表示为与参考环境的CPU能力的比。利用所述比和所述组件的参考CPU需求,可以确定要处理的给定数据量的实际CPU需求。
对调用的示例响应时间可以被确定为用于处理、传输和排队的部分时间的和。用于确定响应时间的方法在性能分析领域是已知的。例如,可以使用网络微积分来计算延迟。
已经参照智能物件环境中的分布式组件具体讨论了对这里所描述的组件的示例部署计划方法。这些网络的特征在于在可用硬件资源方面的高度异质化。此外,可能存在例如从智能物件传输到后端系统的大量数据使系统超负荷的危险。这里所描述的示例部署计划技术使用基于成本的资源消耗估计来确定良好的组件分布。这一示例方法可以包括表示不同资源的替换速率,所述资源包括响应时间。
因此,使用此处所描述的技术,传感器数据或智能设备数据例如可以在其通过网络的路途中被处理,以便适当地使用可用的计算能力和网络带宽。换言之,考虑到网络边缘的PEID的硬件限制,尽可能靠近数据源来安排数据的处理,这因而可以在数据被传递到消费的后端应用之前有效地减少数据量。
除了减少大量的数据传输和存储之外,另一益处可以包括用于在例如包括产品生命周期管理的系统中可能存在的不同应用情景的灵活的数据分析。然而,这里讨论的系统不限于产品生命周期管理,因为所述系统可以应用于其它示例,例如供应链管理或家庭自动化。一般来说,这里讨论的系统可以用在其中软件系统需要被连接至,例如,嵌入式系统,的大多数情景中。
这里描述的各种技术的实现方式可以在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。实现方式可以实现为计算机程序产品,即实实在在地具体实施在信息载体中的计算机程序,例如在机器可读存储设备中或者在传播的信号中,供数据处理装置执行,或者控制其操作,所述数据处理装置例如可编程处理器、计算机、多个计算机。计算机程序,例如上面描述的计算机程序,可以被用任何形式的编程语言编写,包括汇编语言或解释语言,并且,它可以被以任何形式部署,包括作为独立的程序或者作为模块、组件、子程序或其他适于在计算环境中使用的单元。计算机程序可以被部署成在一个计算机上或在位于一个地点或跨过多个地点分布并被通信网络互连起来的多个计算机上执行。
方法步骤可以被一个或更多个可编程处理器执行,可编程处理器执行计算机程序,通过对输入数据操作和产生输出来执行功能。方法步骤还可以被专用目的逻辑电路执行,或者装置可以被实施为专用目的逻辑电路,所述逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为例子,适于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任意一个或更多个处理器。一般来说,处理器将从只读存储器或随机访问存储器接收指令和数据,或者从两者都接收指令和数据。计算机的要素可以包括至少一个用于执行指令的处理器,和用于储存指令和数据的一个或更多个存储器设备。一般来说,计算机还可以包括一个或多个用于存储数据的海量存储设备,或者被可操作地耦合到海量存储设备,以从其接收数据,或向其转移数据,或者二者皆有,海量储存设备例如:磁盘、磁光盘或光盘。适于具体实施计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,作为例子,包括半导体存储器设备,例如:EPROM、EEPROM和快闪存储器设备、磁盘,例如内置硬盘或可移动磁盘、磁光盘和CD-ROM以及DVD-ROM盘。处理器和存储器可以被专用目的逻辑电路补充,或被包含在专用目的逻辑电路中。
为了提供和用户的交互,实现方式可以在具有显示设备和键盘以及指向设备的计算机上实施,显示设备例如阴极射线管(CRT)或液晶显示器(LCD)监视器,用于向用户显示信息,键盘和指向设备(pointing device)例如鼠标或轨迹球,用户利用键盘和指向设备可以给计算机提供输入。其他种类的设备也可以被用来提供和用户的交互,例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈,并且,来自用户的输入可以以任何形式接收,包括声音、语音或触觉输入。
实现方式可以在包括后端组件或中间件组件或前端组件的计算系统中实现,或者在这些后端、中间件、前端组件的任意组合中实现,后端组件例如数据服务器,中间件组件例如应用服务器,前端组件例如具有图形用户界面,或Web浏览器的客户端计算机,通过Web浏览器,用户可以和实现方式进行交互。可以利用任何形式或介质的数字数据通信,例如通信网络,来互连组件。通信网络的例子包括:局域网(“LAN”)和广域网(“WAN”),例如因特网。
虽然如这里所描述的那样已经示出了所描述的实现方式的某些特征,但是本领域普通技术人员现在将想到很多修改、替换,变化或等同物。因此要理解,所附权利要求应当覆盖落入实施例的范围内的所有这些修改和变化。
Claims (23)
1.一种用于确定用于映射合成服务的组件的推荐的方法,包括:
确定(802)与合成服务相关联的组件服务(126,128,142)到服务执行环境(122,124,132,136,166)的一个或多个分布,所述合成服务与分析由一个或多个传感器(118)生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务(126,128,142)的排序,所述服务执行环境中的至少一个(122,124)位于与设备层相关联的第一网络节点,并且该服务执行环境中的至少另一个(132,136,166)位于与中间件层(110)相关联的第二网络节点,所述中间件层(110)包括请求操控层(150)和设备操控层(130,134);
通过根据度量计算每个分布的分数来确定(804)对所述组件服务(126,128,142)的分布中的每一个的评估,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个相应资源的消耗相关联;以及
根据所述评估确定(806)推荐,该推荐包括所述分布中的一个或多个。
2.如权利要求1所述的方法,其中,确定(804)所述评估包括:根据包括分布的质量量度的度量确定所述评估,所述分布的质量量度基于每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个相应资源的消耗,并且基于一个或多个性能量度。
3.如权利要求1所述的方法,其中,确定(804)所述评估包括:基于包括按照下式的分布的质量量度的度量来确定所述评估:
其中
N表示节点的数量,
Ri表示每个节点i上资源类型的数目,
ni(k)表示对于节点i上资源k的资源消耗,
Ci(k)表示节点i上资源k的成本或权重,
nij表示节点i和j之间的边上的资源消耗,
Cij表示节点i和j之间消耗的资源的相关资源成本或权重,
tR表示响应时间,以及
CR表示响应时间tR的成本或权重。
4.如权利要求1到3中任何一项所述的方法,还包括:
确定所述合成服务的模型,其包括与所述组件服务(126,128,142)中的第一个相关联的第一模型节点,与所述组件服务(126,128,142)中的第二个相关联的第二模型节点,以及基于所述执行的排序的所述第一和第二模型节点之间的有向的边。
5.如权利要求4所述的方法,还包括:
在与所述第一模型节点相关联的第一存储器设备中存储指示所述组件服务(126,128,142)中的第一个所要求的第一资源的量的值;
在与所述第二模型节点相关联的第二存储器设备中存储指示所述组件服务(126,128,142)中的第二个所要求的第二资源的量的值;以及
在与所述有向的边相关联的第三存储器设备中存储指示所述合成服务所要求的第三资源的量的值。
6.如权利要求1所述的方法,还包括:
确定包括所述服务执行环境(122,124,132,136,166)的网络节点的模型,该模型包括与每个网络节点相关联的模型节点和与连接所述网络节点的每个网络链接相关联的模型边。
7.如权利要求6所述的方法,还包括:
在与每个模型节点相关联的存储器设备中存储一个或多个值,所述一个或多个值指示对于所述组件服务(126,128,142)可用的一个或多个资源的量;以及
在与每个模型边相关联的存储器设备中存储一个或多个值,所述一个或多个值指示对于所述每个网络链接可用的一个或多个资源的量。
8.如权利要求1所述的方法,还包括:
基于与一个或多个参数确定负载模型,所述一个或多个参数与对于所述数据的分析的一个或多个请求相关联。
9.如权利要求8所述的方法,其中,所述对于所述数据的分析的一个或多个请求由位于后端系统的业务应用(108)生成,并且其中,所述传感器(118)中的一个或多个与位于所述设备层的嵌入产品的信息设备(PEID)(104)相关联。
10.如权利要求9所述的方法,其中,从产品生命周期管理(PLM)应用接收所述对于所述数据的分析的一个或多个请求,并且其中,所述传感器(118)中的一个或多个被配置成生成与指定产品(102)相关联的数据。
11.如权利要求9所述的方法,其中,所述度量指定与所述第一网络节点相关联的所述加权值中的第一个,其不同于与所述第二网络节点相关联的所述加权值中的第二个,其中,所述加权值中的所述第一个和第二个分别与与所述第一和第二网络节点中的每一个相关联的类似的相应资源相关联。
12.如权利要求1所述的方法,其中,所述一个或多个相应资源包括存储器、中央处理单元(CPU)能力、时间或比特速率中的一个或多个。
13.如权利要求1所述的方法,其中,所述设备层包括射频识别(RFID)读取器、智能物件设备、传感器网络中的设备、传感器微片或嵌入产品的信息设备中的一个或多个。
14.如权利要求1所述的方法,其中,所述组件服务(126,128,142)中的一个或多个被配置成使用线性回归(404)、移动平均、分类(408)、确定最小值(406)、确定最大值(406)、阈值监视(410)、通知、格式化数据(412,414,416)或事件或项目出现的次数中的一个或多个来计算一个或多个结果。
15.如权利要求1所述的方法,其中,所述组件服务(126,128,142)中的一个或多个被配置为缓冲从传感器(118)接收的数据(418,420,422)。
16.一种用于确定用于映射合成服务的组件的推荐的系统,包括:
中间件层(110),包括请求操控层(150)和设备操控层(130,134),所述中间件层(110)与应用(108)和包括一个或多个设备(104,106,114,116)的设备层通信,其中,所述请求操控层(150)包括:
服务库(160),其被配置成存储与服务元数据(162)相关联的至少一个合成服务,该服务元数据(162)描述所述合成服务的组件服务(126,128,142)的执行排序;以及
分布管理器(153),其被配置成:
确定(802)与所述合成服务相关联的所述组件服务(126,128,142)到服务执行环境(122,124,132,136,166)的一个或多个分布,所述合成服务与分析由一个或多个传感器(118)生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务(126,128,142)的排序,所述服务执行环境中的至少一个(122,124)位于包括在所述设备层中的第一网络节点(102,106,112),并且该服务执行环境中的至少另一个(132,136,166)位于包括在所述中间件层(110)中的第二网络节点;
通过根据度量计算每个分布的分数来确定(804)对所述组件服务(126,128,142)的分布中的每一个的评估,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个相应资源的消耗相关联;并且
根据所述评估确定(806)推荐,该推荐包括所述分布中的一个或多个。
17.如权利要求16所述的系统,其中,所述设备层包括射频识别(RFID)读取器(106)、智能物件设备、传感器网络中的设备、传感器微片或嵌入产品的信息设备(104)中的一个或多个。
18.如权利要求16所述的系统,其中,所述服务库(160)被配置成存储一个或多个服务可执行和与所述合成服务相关联的所述服务元数据。
19.如权利要求16到18中的任何一项所述的系统,还包括:
模型数据存储器设备(163),其被配置成存储所述合成服务的模型,所述模型包括与所述组件服务(126,128,142)中的第一个相关联的第一模型节点,与所述组件服务(126,128,142)中的第二个相关联的第二模型节点,以及基于所述执行排序的所述第一和第二模型节点之间的有向的边。
20.一种用于确定用于映射合成服务的组件的推荐的装置,包括:
用于确定(802)与合成服务相关联的组件服务(126,128,142)到服务执行环境(122,124,132,136,166)的一个或多个分布的装置,所述合成服务与分析由一个或多个传感器(118)生成的数据相关联,所述合成服务包括执行用于分析所述数据的相关联的组件服务(126,128,142)的排序,所述服务执行环境中的至少一个(122,124)位于与设备层相关联的第一网络节点,并且该服务执行环境中的至少另一个(132,136,166)位于与中间件层(110)相关联的第二网络节点,所述中间件层(110)包括请求操控层(150)和设备操控层(130,134);
用于通过根据度量计算每个分布的分数来确定(804)对所述组件服务(126,128,142)的分布中的每一个的评估的装置,所述度量将一个或多个加权值与每个分布对与所述第一和第二网络节点中的每一个相关联的一个或多个相应资源的消耗相关联;以及
用于根据所述评估确定(806)推荐的装置,该推荐包括所述分布中的一个或多个。
21.如权利要求20所述的装置,其中所述组件服务(126,128,142)中的一个或多个被配置成使用线性回归(404)、移动平均、分类(408)、确定最小值(406)、确定最大值(406)、阈值监视(410)、通知、格式化数据(412,414,416)或事件或项目出现的次数中的一个或多个来计算一个或多个结果。
22.如权利要求20所述的装置,其中,所述设备层包括射频识别(RFID)读取器、智能物件设备、传感器网络中的设备、传感器微片或嵌入产品的信息设备中的一个或多个。
23.如权利要求20所述的装置,其中,所述一个或多个相应资源包括存储器、中央处理单元(CPU)能力、时间或比特速率中的一个或多个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/496,641 | 2006-07-31 | ||
US11/496,641 US8396788B2 (en) | 2006-07-31 | 2006-07-31 | Cost-based deployment of components in smart item environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101163152A CN101163152A (zh) | 2008-04-16 |
CN101163152B true CN101163152B (zh) | 2012-11-07 |
Family
ID=38626717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101382287A Active CN101163152B (zh) | 2006-07-31 | 2007-07-31 | 智能物件环境中基于成本的组件部署 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8396788B2 (zh) |
EP (1) | EP1892656A1 (zh) |
CN (1) | CN101163152B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8005879B2 (en) | 2005-11-21 | 2011-08-23 | Sap Ag | Service-to-device re-mapping for smart items |
US8522341B2 (en) | 2006-03-31 | 2013-08-27 | Sap Ag | Active intervention in service-to-device mapping for smart items |
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 |
US8296413B2 (en) | 2006-05-31 | 2012-10-23 | Sap Ag | Device registration in a hierarchical monitor service |
US8131838B2 (en) | 2006-05-31 | 2012-03-06 | Sap Ag | Modular monitor service for smart item monitoring |
US8396788B2 (en) * | 2006-07-31 | 2013-03-12 | Sap Ag | Cost-based deployment of components in smart item environments |
US8130733B2 (en) * | 2006-10-30 | 2012-03-06 | The Boeing Company | Providing ad-hoc interoperability among network nodes |
US8135603B1 (en) * | 2007-03-20 | 2012-03-13 | Gordon Robert D | Method for formulating a plan to secure access to limited deliverable resources |
US20080306798A1 (en) * | 2007-06-05 | 2008-12-11 | Juergen Anke | Deployment planning of components in heterogeneous environments |
US9513881B2 (en) * | 2007-06-27 | 2016-12-06 | International Business Machines Corporation | System for the discovery and provisioning of artifacts and composites |
US8510752B2 (en) * | 2007-08-31 | 2013-08-13 | Siemens Product Lifecycle Management Software Inc. | System and method for data management of embedded systems |
US8527622B2 (en) | 2007-10-12 | 2013-09-03 | Sap Ag | Fault tolerance framework for networks of nodes |
TW200933484A (en) * | 2008-01-17 | 2009-08-01 | Wistron Corp | Method and system for automated schedule control |
US9104430B2 (en) * | 2008-02-11 | 2015-08-11 | Palo Alto Research Center Incorporated | System and method for enabling extensibility in sensing systems |
US20090328078A1 (en) * | 2008-06-26 | 2009-12-31 | Frank Siegemund | Execution of Embedded System Applications |
US8473524B2 (en) * | 2009-04-28 | 2013-06-25 | Dassault Systemes | Method and system for updating object data with respect to object specifications in a product life cycle management system |
US9277031B2 (en) | 2009-05-12 | 2016-03-01 | Siemens Aktiengesellschaft | Method for communicating between a number of first services and a number of second services |
DE102009021007A1 (de) * | 2009-05-12 | 2010-11-25 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Plazieren von Einheiten zum Ausführen einer Anwendung in einem verteilten System |
US8825450B2 (en) * | 2009-10-22 | 2014-09-02 | Dassault Systemes | Method and system for updating a modeled object in a product lifecycle management system |
US8265974B2 (en) * | 2009-11-13 | 2012-09-11 | Bank Of America Corporation | Technological infrastructure consumption index |
US20130111430A1 (en) * | 2011-10-27 | 2013-05-02 | Yin Wang | Providing goods or services |
US10642897B2 (en) * | 2012-03-23 | 2020-05-05 | Sap Se | Distance in contextual network graph |
US8918448B2 (en) | 2012-05-11 | 2014-12-23 | International Business Machines Corporation | Application component decomposition and deployment |
JP2014137674A (ja) * | 2013-01-16 | 2014-07-28 | Sony Corp | 情報処理装置および方法、並びにプログラム |
CN104239020A (zh) | 2013-06-21 | 2014-12-24 | Sap欧洲公司 | 决策做出标准驱动的推荐 |
US9471662B2 (en) | 2013-06-24 | 2016-10-18 | Sap Se | Homogeneity evaluation of datasets |
FR3012896B1 (fr) * | 2013-11-04 | 2017-01-27 | Bull Sas | Procede de validation du temps de reponse d'une application, procede de deploiement d'une application comportant un tel procede de validation, programme d'ordinateur et dispositifs correspondants |
KR101453372B1 (ko) * | 2014-04-15 | 2014-10-22 | 주식회사 스마티랩 | 사물인터넷 환경에서 디바이스간 이질적 데이터 교환 방식의 중재 시스템 |
US11303539B2 (en) | 2014-12-05 | 2022-04-12 | Accenture Global Services Limited | Network component placement architecture |
US10540268B2 (en) * | 2015-10-09 | 2020-01-21 | Sap Se | Determining required capacities for provisioning platform services |
US10515119B2 (en) * | 2015-12-15 | 2019-12-24 | At&T Intellectual Property I, L.P. | Sequential recommender system for virtualized network services |
WO2019157079A1 (en) * | 2018-02-06 | 2019-08-15 | Adroit Worldwide Media, Inc. | Automated inventory intelligence systems and methods |
US10813169B2 (en) | 2018-03-22 | 2020-10-20 | GoTenna, Inc. | Mesh network deployment kit |
CN110377805B (zh) * | 2019-07-16 | 2022-02-11 | 浙江大学城市学院 | 一种基于快速分支配排序算法的传感器资源推荐方法 |
DE102019219464B3 (de) * | 2019-12-12 | 2021-05-12 | Volkswagen Aktiengesellschaft | Verfahren zum Betrieb eines selbstfahrenden Fahrzeugs sowie Steuerungssystem zum Durchführen eines solchen Verfahrens |
CA3177310A1 (en) * | 2020-04-29 | 2021-11-04 | Huawei Technologies Co., Ltd. | Data communication method and related apparatus |
US11269604B1 (en) * | 2021-06-16 | 2022-03-08 | Citrix Systems, Inc. | Static performance analysis service |
Family Cites Families (184)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2986148A (en) | 1957-05-16 | 1961-05-30 | Vogl Paul | Coin dispenser for automotive vehicles |
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 |
WO1997007472A1 (en) * | 1995-08-18 | 1997-02-27 | International Business Machines Corporation | Method and apparatus for a process and project management computer system |
US6119101A (en) | 1996-01-17 | 2000-09-12 | Personal Agents, Inc. | Intelligent agents for electronic commerce |
EP0810755B1 (en) | 1996-05-31 | 2003-04-16 | Hewlett-Packard Company, A Delaware Corporation | Systems and methods for operating a network management system |
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 |
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 |
US6842903B1 (en) | 1999-05-19 | 2005-01-11 | Sun Microsystems, Inc. | System and method for providing dynamic references between services in a computer system |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
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 |
US6769000B1 (en) | 1999-09-08 | 2004-07-27 | Nortel Networks Limited | Unified directory services architecture for an IP mobility architecture framework |
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 |
US6480977B1 (en) | 1999-10-29 | 2002-11-12 | Worldcom, Inc. | Multi-protocol monitor |
CN100387054C (zh) | 1999-11-17 | 2008-05-07 | 索尼公司 | 数字信号处理设备及其系统和扩充功能提供方法 |
EP1111874A1 (en) | 1999-12-20 | 2001-06-27 | Telefonaktiebolaget L M Ericsson | Routing in mobile-IP Ad-Hoc networks |
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 |
US20010051981A1 (en) | 2000-06-05 | 2001-12-13 | Microsoft Corporation | Methods and systems for discovering object-exchange resources on a network |
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 |
US20020184348A1 (en) | 2000-09-20 | 2002-12-05 | Lockheed Martin Corporation | Object oriented framework architecture for sensing and/or control environments |
TWI237966B (en) | 2000-09-21 | 2005-08-11 | Via Tech Inc | Method for dynamically selecting physical layer |
AU2001294677A1 (en) | 2000-09-22 | 2002-04-02 | Patchlink.Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US7353027B2 (en) | 2000-10-18 | 2008-04-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Seamless handoff in mobile IP |
US7099946B2 (en) | 2000-11-13 | 2006-08-29 | Canon Kabushiki Kaishsa | Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device |
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 |
US7003663B2 (en) | 2000-12-22 | 2006-02-21 | Gemplus | Distribution of deployment information for remote applications |
US6816862B2 (en) | 2001-01-17 | 2004-11-09 | Tiax Llc | System for and method of relational database modeling of ad hoc distributed sensor networks |
US7412457B2 (en) | 2001-01-17 | 2008-08-12 | International Business Machines Corporation | Mapping data from multiple data sources into a single or multiple reusable software components |
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 |
US20020131386A1 (en) | 2001-01-26 | 2002-09-19 | Docomo Communications Laboratories Usa, Inc. | Mobility prediction in wireless, mobile access digital networks |
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 |
US8180871B2 (en) | 2001-05-23 | 2012-05-15 | International Business Machines Corporation | Dynamic redeployment of services in a computing network |
US6970902B1 (en) | 2001-05-24 | 2005-11-29 | Cisco Technology, Inc. | Method and apparatus for providing a distributed service in a 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 |
US6950833B2 (en) | 2001-06-05 | 2005-09-27 | Silicon Graphics, Inc. | Clustered filesystem |
US20040139125A1 (en) | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
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 |
US7031311B2 (en) | 2001-07-23 | 2006-04-18 | Acme Packet, Inc. | System and method for providing rapid rerouting of real-time multi-media flows |
US20030033351A1 (en) | 2001-08-10 | 2003-02-13 | Aleta Ricciardi | Group proxy and method for grouping services in a distributed computing application |
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 |
US8082318B2 (en) | 2001-09-28 | 2011-12-20 | British Telecommunications Plc | Controlling service requests transmitted from a client to a server |
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 |
JP2003224874A (ja) | 2002-01-29 | 2003-08-08 | Fujitsu Ltd | 移動通信ネットワークのルータおよび移動通信端末 |
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 |
WO2003104972A1 (en) | 2002-06-10 | 2003-12-18 | Gtech 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 |
US7478395B2 (en) | 2002-09-23 | 2009-01-13 | Telefonaktiebolaget L M Ericsson (Publ) | Middleware application message/event 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 |
JP3803339B2 (ja) | 2003-01-10 | 2006-08-02 | 松下電器産業株式会社 | 半導体レーザ装置 |
US20040193703A1 (en) * | 2003-01-10 | 2004-09-30 | Guy Loewy | System and method for conformance and governance in a service oriented architecture |
US7116674B2 (en) | 2003-01-16 | 2006-10-03 | Utstarcom, Inc. | Method and apparatus for digital subscriber line access multiplexer stacking |
US7382739B2 (en) | 2003-01-21 | 2008-06-03 | Teknovus, Inc. | Method and apparatus for discovering remote nodes in an ethernet passive optical network |
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 |
US7765501B2 (en) | 2003-03-06 | 2010-07-27 | Microsoft Corporation | Settings and constraints validation to enable design for operations |
US8099425B2 (en) | 2003-03-14 | 2012-01-17 | Computer Associates Think, Inc. | Relational model for management information in network devices |
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 |
CA2519327A1 (en) | 2003-03-19 | 2004-09-30 | British Telecommunications Public Limited Company | Flexible multi-agent system architecture |
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 |
GB2403105B (en) | 2003-06-17 | 2006-10-18 | Imagine Broadband Ltd | Method and system for selectively distributing data to a set of network devices |
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 |
JP4185853B2 (ja) | 2003-11-28 | 2008-11-26 | 株式会社日立コミュニケーションテクノロジー | 無線システム、サーバ、および移動局 |
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 |
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 |
US7423527B2 (en) | 2004-02-13 | 2008-09-09 | Blue Vector Systems | Radio frequency identification (RFID) network system and method |
FI20040444A0 (fi) | 2004-03-23 | 2004-03-23 | Nokia Corp | Verkkoliitäntäkokonaisuuden valitseminen viestintäjärjestelmässä |
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 |
JP4494853B2 (ja) | 2004-04-20 | 2010-06-30 | 株式会社エヌ・ティ・ティ・ドコモ | 移動ノード、移動制御ノード、パケット通信システム、及び移動検出方法 |
CN100407154C (zh) * | 2004-04-29 | 2008-07-30 | 国际商业机器公司 | 在分布式网络体系结构中建模和动态部署服务的系统和方法 |
US8201191B2 (en) | 2004-06-30 | 2012-06-12 | Time Warner Cable Inc. | Apparatus and methods for implementation of network software interfaces |
US7692532B2 (en) | 2004-07-30 | 2010-04-06 | Reva Systems Corporation | Interference monitoring in an RFID system |
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 |
US7849459B2 (en) | 2004-11-04 | 2010-12-07 | International Business Machines Corporation | Deploying java applications in resource constrained environments |
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 |
US7130773B1 (en) | 2004-11-30 | 2006-10-31 | Sun Microsystems, Inc. | Method and apparatus for processing data using objects |
US7152019B2 (en) * | 2004-11-30 | 2006-12-19 | Oracle International Corporation | Systems and methods for sensor-based computing |
US8001527B1 (en) | 2004-12-21 | 2011-08-16 | Zenprise, Inc. | Automated root cause analysis of problems associated with software application deployments |
US7324921B2 (en) | 2004-12-28 | 2008-01-29 | Rftrax Inc. | Container inspection system |
US7209739B1 (en) | 2004-12-28 | 2007-04-24 | Sprint Spectrum L.P. | Method and system for processing calls within a local micro network |
US7469402B2 (en) | 2004-12-28 | 2008-12-23 | Sap Aktiengesellschaft | Pluggable model framework |
CA2594267C (en) | 2005-01-06 | 2012-02-07 | J. Barry Thompson | End-to-end publish/subscribe middleware architecture |
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 |
KR100677754B1 (ko) | 2005-03-11 | 2007-02-02 | 삼성전자주식회사 | 무선 센서 네트워크에서의 아이디 생성방법 및 등록방법 |
JP5198247B2 (ja) | 2005-03-14 | 2013-05-15 | オズモ, インコーポレイテッド | 無線lanネットワークとの共存を強化するオーバレイプロトコルを使用して無線panネットワークを動作させる方法及び装置 |
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 |
US20060218244A1 (en) | 2005-03-25 | 2006-09-28 | Rasmussen Jung A | Methods and systems for automating the control of objects within a defined human environment |
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 |
US7761851B2 (en) | 2005-05-31 | 2010-07-20 | International Business Machines Corporation | Computer method and system for integrating software development and deployment |
CN101278260B (zh) | 2005-06-07 | 2012-07-18 | 威睿公司 | 使软件程序免于弱点和攻击的约束注入方法 |
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 |
US7860968B2 (en) | 2005-11-21 | 2010-12-28 | Sap Ag | Hierarchical, multi-tiered mapping and monitoring architecture for smart items |
US8005879B2 (en) | 2005-11-21 | 2011-08-23 | Sap Ag | Service-to-device re-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 |
US8331931B2 (en) | 2005-11-30 | 2012-12-11 | Vtech Telecommunications Limited | System and method for cordless handset registration |
US8595331B2 (en) | 2005-12-01 | 2013-11-26 | 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 |
EP1802032B1 (en) | 2005-12-22 | 2010-02-17 | Axis AB | Monitoring system and method for connecting a monitoring device to a service server |
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 |
US8131838B2 (en) | 2006-05-31 | 2012-03-06 | Sap Ag | Modular monitor service for smart item monitoring |
US8296413B2 (en) | 2006-05-31 | 2012-10-23 | Sap Ag | Device registration in a hierarchical monitor service |
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 |
-
2006
- 2006-07-31 US US11/496,641 patent/US8396788B2/en active Active
-
2007
- 2007-07-26 EP EP07014724A patent/EP1892656A1/en not_active Ceased
- 2007-07-31 CN CN2007101382287A patent/CN101163152B/zh active Active
Non-Patent Citations (2)
Title |
---|
J.ANKE etc.A service-oriented middleware for integration and management of heteogeneous smart items environments.《Proceedings of the 4th MINEMA workshop》.2006,7-11. * |
Jurgen.ANKE etc.Early data processiong in smart item environment using mobile services.《Proceedings of the 2th IFAC symposium on information control problems in manufacturing》.2006,第1卷823-828. * |
Also Published As
Publication number | Publication date |
---|---|
CN101163152A (zh) | 2008-04-16 |
US20080033785A1 (en) | 2008-02-07 |
EP1892656A1 (en) | 2008-02-27 |
US8396788B2 (en) | 2013-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101163152B (zh) | 智能物件环境中基于成本的组件部署 | |
CN101072150B (zh) | 在用于智能物件的中间件中分布可重新定位的服务 | |
CN101320336B (zh) | 异构环境中的组件的部署计划 | |
US11954112B2 (en) | Systems and methods for data processing and enterprise AI applications | |
CN101083586B (zh) | 用于智能物件监视的模块化监视器服务系统和方法 | |
CN101083587B (zh) | 在分层级的监视器服务中的设备注册 | |
US9449279B2 (en) | Network server arrangements for processing non-parametric, multi-dimensional, spatial and temporal human behavior or technical observations measured pervasively, and related methods for the same | |
CN101067843B (zh) | 用于处理自动识别数据的系统和方法 | |
CA2597758C (en) | Distributed asset management system and method | |
CN101013957A (zh) | 智能项目的服务-设备重映射的分级多层映射和监视架构 | |
CN101013956A (zh) | 智能项目的分级的多层映射和监视架构 | |
Tang et al. | A context quality model for ubiquitous applications | |
Rossetti et al. | An object-oriented framework for simulating supply systems | |
Hackenbroich et al. | Optimizing business processes by automatic data acquisition: RFID technology and beyond | |
CN117473199B (zh) | 应用于供应链物流系统的信息推送方法及系统 | |
US20220405651A1 (en) | Federated learning method, device, and system | |
Paliwal et al. | Semantic discovery and composition of web services for rfid applications in border control | |
US20240273462A1 (en) | Smart asset management framework | |
Soldatos et al. | FP7 Contract: ICT-215417-CP |
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 |