CN1975734A - 用于普适计算应用的组成模型和组成确认算法 - Google Patents
用于普适计算应用的组成模型和组成确认算法 Download PDFInfo
- Publication number
- CN1975734A CN1975734A CNA200610162799XA CN200610162799A CN1975734A CN 1975734 A CN1975734 A CN 1975734A CN A200610162799X A CNA200610162799X A CN A200610162799XA CN 200610162799 A CN200610162799 A CN 200610162799A CN 1975734 A CN1975734 A CN 1975734A
- Authority
- CN
- China
- Prior art keywords
- parts
- communication
- modeling
- ability
- communicate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
对基于部件的应用建模包括对所述应用的部件(704、706、712、802、806、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模,对用于相互链接所述应用的部件(704、706、712、802、806、810、812、900、910)的计划建模;对由多个构成部件组成的复合部件(850、920)的通讯能力建模;和,确定在所述应用中被相互连接的部件是否是兼容的以便能有效地通讯。
Description
技术领域
本说明涉及普适计算(ubiquitous computing)技术。
背景技术
在普适计算环境中,很多不同的计算技术被集成在人类环境中,并在人们工作上或家里的日常生活中给人们提供有用的服务。这些环境涉及被叫做“智能项目技术(smart items technology)”、“智能环境(Intelligent Ambience)”或“可穿戴计算(Wearable Computing)”的系统和基础设施。
在普适计算应用环境中,高度分布式的应用以各种协同操作的异构设备(例如PDA、智能电话、传感器设备、RFID标签、嵌入式设备、PC、服务器、GPS卫星、计算网络、电话、电视,等等)或服务(例如各种软件程序、例程、平台和可执行代码)的形式运行,使用各种不同的通讯技术和协议来发掘其计算能力。单独的设备运行部件或服务,所述部件或服务可被组合一即“组装”——到更复杂的服务或应用中。这样的基于部件或服务的开发普适应用的方法支持跨越可用设备集合的功能分布,实现了部件在不同的/新的应用中更好的重用性,并支持通过将整个功能划分为多个具有明确定义的接口的部件来开发普适应用,所述多个具有明确定义的接口的部件可以被分别开发和测试。
普适计算环境的一个例子是智能项目基础设施(smart itemsinfrastructure,“SII”)。智能项目技术可以包括例如射频识别(RFID)系统、嵌入式系统或传感器网络,并且可被用于例如提供具有对真实世界数据的快速存取的商业软件应用。例如,智能项目技术可被用于支持RFID标签的检测、读取或写入,以及支持与无线传感器网络和嵌入式系统的通讯及对其的控制。在很多实例中,智能项目可以包括具有本地处理能力、存储器和/或通讯能力的设备,所述设备能够提供关于设备及其属性的数据,或者提供关于智能项目的当前状态或环境的信息。因此,一些这样的设备可以在后端或者底层商业应用的服务部件的执行使用,并且特别地,这可以被以协作的方式完成,例如通过形成移动自组织网络(mobile ad-hoc network)来收集、处理或发送商业数据。
智能项目设备的例子包括RFID标签,它可以是有源或无源的,并且它可以被附着到对象上,并用来提供和所述对象有关的产品或处理信息。智能项目设备的其他例子包括例如环境传感器(例如温度、湿度或振动传感器)的各种传感器,所述传感器能够在一个或更多个传感器网络中与彼此通讯。这些以及其他类型的智能项目设备还可以包括嵌入式系统,嵌入式系统一般指任何其中包括专用处理器和/或程序的系统,和/或系统被封装在被控制的设备中的系统。
通过自动实时对象跟踪,智能项目技术可以给商业提供准确且及时的关于商业业务的数据,并且还可以帮助使得商业业务合理化和自动化。因此,可以获得成本降低和额外的商业收益(例如得到提高的资产可视化、改善的响应性和扩展的商业机会)。
发明内容
在第一个总的方面中,一种对基于部件的应用建模的方法包括:对所述应用的部件的通讯能力建模,对用于相互链接所述应用的部件的计划建模、对由多个构成部件组成的复合部件的通讯能力建模,和,确定在所述应用中被相互连接的部件是否是兼容的以便能有效地通讯。
实施方案可以包括下列特征中的一个或更多个。例如,所述部件可以包括软件模块或异构的计算设备(例如RFID设备)。所述方法还可以包括确定所述复合部件是否被良好地形成。对所述应用的部件的通讯能力建模可以包括将通讯概念映射到与所述部件相关联的属性。
所述方法可以包括对处于通过相互链接的部件的通讯路径端点的部件的端到端通讯概念建模,并确定处于所述路径的端点的所述部件的所述端到端通讯概念是否是兼容的。对所述应用的部件的通讯能力建模可以包括产生所述部件的接口端口的模型。对由多个构成部件组成的复合部件的通讯能力建模可以包括合并所述构成部件的接口端口的模型。对所述应用的部件的通讯能力建模可以包括对部件的类型的通讯能力建模,并且确定在所述应用中相互链接的部件是否是兼容的以便能有效地通讯可以包括确定按部件的类型建模的通讯技术是否是兼容的。对所述应用的部件的通讯能力建模可以包括对部件的实例的通讯能力建模,并且确定在所述应用中相互链接的部件是否是兼容的以便能有效地通讯可以包括确定部件的所述实例是否是兼容的。所述方法可以包括将通讯能力与OSI层相关联。
在另一个总的方面,用于对基于部件的应用建模的系统包括存储设备和处理器。所述存储设备包括所述应用的部件的通讯能力的模型和用于相互链接所述应用的部件的计划的模型。所述处理器被配置为对由多个构成部件组成的复合部件的通讯能力建模,和确定在所述应用中被相互连接的部件是否是兼容的以便能有效地通讯。
实施方案可以包括下列特征中的一个或更多个。例如,所述部件可以包括异构的计算设备(例如RFID设备)。所述处理器还可以被配置为确定所述复合部件是否被良好地形成。所述存储设备还可以包含处于通过相互链接的部件的通讯路径端点的部件的端到端通讯概念的模型,并且所述处理器还可以被配置为确定处于所述路径的端点的所述部件的所述端到端通讯概念是否是兼容的。所述处理器还可以被配置为产生所述部件的接口端口的模型,并且所述处理器还可以被配置为合并所述构成部件的接口端口的模型,以便对所述复合部件的通讯能力建模。
所述处理器可以被配置为对部件的类型的通讯能力建模,以便对所述应用的部件的通讯能力建模,并且所述处理器可以被配置为确定部件的类型是否是兼容的,以便确定在所述应用中所述相互链接的部件是否是兼容的以便能有效地通讯。
所述处理器可以被配置为对部件的实例的通讯能力建模,以便对所述应用的部件的通讯能力建模,并且所述处理器可以被配置为确定相互链接的部件是否是兼容的以便能有效地通讯,以便确定部件的实例是否是兼容的。
在下面的附图和描述中给出了一个或更多个实施方案的细节。从这些描述和附图以及权利要求,其他的特征将很清楚。
附图说明
图1是组成模型和确认方案可在其中被利用的智能项目基础设施的框图。
图2是设备通讯的开放系统互连(Open System Interconnection,“OSI”)模型的框图。
图3是所选择的用来从本体类别方面描述应用的物理层的通讯概念的框图。
图4是所选择的用来从本体类别方面描述应用的数据链路层的通讯概念的框图。
图5是所选择的用来从本体类别方面描述应用的网络层的通讯概念的框图。
图6是所选择的用来从本体类别方面描述应用的传输层的通讯概念的框图。
图7是在组成模型中使用的部件、端口和连接器的框图。
图8A是用于从构成部件组成合成应用的过程的流程图。
图8B是用于从构成部件组成合成应用的过程的流程图。
图9A是用于从构成部件组成合成应用的过程的流程图。
图9B是用于从构成部件组成合成应用的过程的流程图。
图10是用于从构成部件组成并验证合成模型的过程的流程图。
图11是用于从构成部件组成并验证合成模型的系统的框图。
具体实施方式
如这里所描述的,描述了一种用于在智能设备中分布的基于服务或部件的应用的组成模型。而且,描述了用于确认所提出的组成计划的确认方案。可以使用所述模型来理解是否以及如何可以将异构的部件链接在一起成为普适计算系统。
用来组装合成应用的模型的基本构建单元(building block)是代表软件服务和模块、计算设备和通讯中间件的部件。在模型中,每一个部件具有由其端口定义的接口,并且所述端口拥有关于部件所使用的通讯技术的丰富描述。端口可以是到部件的功能的接口的一部分,或者,它可以代表到另一个端口的连接。通过参考在接口本体中被建模的通讯方面(communicationaspect)的类别来描述部件,所述接口本体是模型框架的一部分。
在模型中所使用的本体中,以子类和超类组织的类别以及由本体给出的限制实现了在不同粒度层次上对网络的描述。此外,对处于不同层的通讯方面之间的语义关系建模。利用这个信息,在确认过程中可以指定和考虑关于通讯策略的应用限制,并且可以将本体扩展,以便覆盖将来的基于用来定义领域特定的本体的元模型(meta-model)的通讯技术领域。
在描述合成应用的组成计划中,部件通过其端口相互链接,并且通过在相互链接的构建单元上连续地施加组成操作,从所述计划导出合成应用的模型。在每一个步骤,组成操作取两个被链接的部件作为输入,并生成作为结果的合成部件的模型。使用被链接的部件所要求和提供的通讯技术来导出作为结果的合成部件的能力和限制。
为了检验合成部件的良好形成性(well-formedness),组成操作检验两个被链接的端口是否都定义了它们为交互作用而需要的全部通讯概念。这些通讯概念的例子是协议、无线电频率或用于错误校正的手段。依据哪些种类的部件被交互链接以及涉及到的部件的属性,可以导出需要被采用的概念。因此,通过评估所要求的通讯方面的兼容性和存在性,可以确认端口到端口的交互作用。
除了实现点到点连接的交互作用技术以外,通过描述处于通讯端点的端口的方面,也可以检验端到端通讯的方面。组成操作可以负责生成对通讯网络中的任意层通讯概念的等价限制,所述限制被添加到作为结果的、在端到端连接中涉及到的部件中的端口。
组成操作的基本输出是作为结果的合成部件的模型。此外,如果组成被充分地定义或者如果需要额外的部件来构建可工作的部件安排,则包括这样的信息。此外,如果组成无效,则组成部件可以返回关于故障原因的信息。
图1是组成模型和确认方案可在其中被利用的智能项目基础设施100的框图。智能项目基础设施100包括设备层102、设备级服务层104、商业过程桥接层106、系统连接层108和企业应用层110。设备层102可被视为包含了各种设备,所述设备使用各种不同的硬件、软件和通讯协议,跨越许多的群、局域网和/或物理位置进行通讯。同时,层106、108和110可以被视为商业数据处理系统或服务的一部分,或被视为与它们相关联。
因此,设备层102包含实际的智能项目设备,以及它们之间的任何通讯。设备层102还负责将任何被提供的硬件服务展现给相邻的较高层,即设备级服务层104。这些设备可以包括例如RFID设备112、嵌入式系统114,传感器网络116,以及将会适合的任何其他新的或正在出现的技术118。
例如,对于RFID设备(112),移动标签可以被附着于真实世界对象,然后被RFID读取器读出(并且作为选择,被写入)。在使用有源标签的实施方案中,有源标签也可以提供额外的传感器数据(例如当前值或过去值)。在RFID中,通讯一般由读取器开始,而标签与彼此可以或不可以直接通讯。按处理标签数据的程度,这样的RFID读取器可以是可配置的,例如可以被配置为执行被写入数据的验证,或者如果表面上丢失的标签实际上在给定的时间窗内再次出现,则避免报告该标签的消失。
用于和嵌入式系统114通讯的技术可以随着嵌入式系统设备的类型改变。例如,嵌入式系统可以代表从小规模、单片微型计算机一直到繁复的PC硬件的任何东西。因此,例如对于具有移动电话能力或者更多能力(例如能够运行Java虚拟机(Java Virtual MachineTM))的设备,实施方案可以在JavaTM中执行或基于OSGi。仍如这里所描述的那样,传感器网络116可以包括任意数量的传感器类型,所述传感器可以包括集成处理能力,并且可以执行对等通讯。
在另一个例子中,当设备层102包含无线传感器网络116时,它可以包括需要被管理的特征。例如,网络中的传感器节点117可以包括实现对等通讯的集成处理能力,所以传感器节点117能够执行简单的商业逻辑。为了控制节点117的行为,可以将程序逻辑从基础设施100的较高层次向下推进到它们。不同的特定于设备类型的方式实施的轻量级服务可被用来封装该程序逻辑并将其配备在传感器节点117上。每一个硬件平台提供的基本功能可以被封装在所谓的“使能服务”中,以便实现对传感器节点的统一和简化的访问,所述访问使用服务接口。在传感器节点117上可以安装和运行其他的服务(例如管理和商业服务)。一般来说,管理和商业服务在被从基础设施100的较高层次接收到节点117上以后在运行时被实例化。控制管理和商业服务的接收和实例化的服务是“使能”服务,并且一般被预先安装在节点117上。
设备级服务层104管理设备层102使用的可配备服务。因此,层104包括服务映射器140、系统监视器142以及服务贮藏库144a和设备贮藏库144b。
服务贮藏库144a和设备贮藏库144b可以存储至少两个种类的服务和设备——复合和原子服务(compound and atomic service)及设备。复合服务一般依赖于其他的服务来完成其任务,并且可以不具有其自身的直接可执行代码;再者,复合服务可以包括被存储在对应的服务描述中的可执行服务组成描述。因此,复合服务可以具有一个服务可执行内容(executable)——即服务组成描述。反之,原子服务一般不使用其他的服务,并且具有其自身的直接可执行代码。而且,因为原子服务可在不同的平台上配备,所以原子服务可以具有多于一个的服务可执行内容,例如可以具有和每一个不同的平台均相关联的服务可执行内容。类似地,原子设备一般是独立的服务,而复合设备由两个或更多个构成原子设备组成。
服务贮藏库144a和设备贮藏库144b还可以存储服务和设备元数据,其中这些服务元数据被详细地描述,并且可以包括服务或设备名称、标识符、版本或销售商,或者可以描述服务或设备的运行时要求,例如包括技术配备要求(例如要求高带宽或最小的处理功率)、语义要求(例如接收设备具有串行连接、具有用于控制正常的线功率的电池备份,和/或很多设备邻居)和空间要求(例如接收设备处于地下室中或处于指定建筑物的南侧)。
在运行时,系统监视器142监视当前系统状态。可以由服务在设计时的开发者设定是否以及如何将服务状态的任意部分暴露给系统监视器。这个状态可用性信息此后对于系统管理器和服务映射器140部件来说均可用。仍如上面所描述的那样,服务映射器140接收配备请求,然后通过例如将服务元数据和设备元数据匹配来确定对应的服务应该被配备在哪个(哪些)设备上,所述设备元数据可以包括智能项目设备和相关的本地网络的当前状态。仍旧如这里所描述的那样,服务映射器140也可以对某些事件或者条件做出反应,所述事件和条件包括网络状态上的改变(如系统监视器142发现的那样),并且此后可以决定重新映射服务还是添加或去掉服务的实例,以便更好地完成给定的配备请求/要求。
商业过程桥接层106包括被设计成汇集来自处于设备层102的设备的数据,并将所述来自设备层102的数据变换为商业相关信息的服务,所述数据被通过设备级服务层104提供。在这么做时,发送到后端企业应用系统的数据量可以被减少,并且可以针对不同的企业应用系统执行商业逻辑。
例如,可以使用一个或更多个规则处理器120解析进入的消息,支持基本操作服务(例如项目移动、关联、解除关联或设备读取/写入),并支持信息查询。规则处理器120处理用户定义的商业规则,所述规则定义或参考任何其他的应该被执行或咨询的基本操作服务。使用这样的规则和基本操作服务提供了灵活的框架,以便使系统100适应不同的商业场景。
规则处理器120可以使用数据贮藏库122用于追踪所有感兴趣的物理对象,例如追踪被跟踪的给定对象的当前状态、位置、时间标记或相关联的商业交易,以及追踪预期将来的动作是什么。例如可以每日或每月地定期报告来自数据贮藏库122的汇集信息。
层102、104和106的操作的一个例子包括“货物接收”场景。例如,将对象递送到接收者的提供者可以将例如电子产品代码(Electronic ProductCodes,EPC)的对象标识符与先进装运通知单(Advanced ShipmentNotification,ASN)一起发送,所述先进装运通知单包含货物中所有对象的列表。ASN可以被存储在数据贮藏库122中。当货物到达并通过设备层102的RFID读取器时,例如在接收码头闸门(dock door)处,EP被RFID读取器读取,并被发送到规则处理器120。规则处理器查找消息所来自的读取器的ID,确定读取器的位置和角色,然后调用适当的负责处理接收到的货物的基本操作服务。该操作服务将获得的EPC和来自先前的ASN的期望EPC比较,并且如果发现匹配,则向企业应用132报告,递送已经到达并且完成。然后,被执行的基本服务还可以更新数据贮藏库122中的数据。上面所描述的服务以及用于接收和发送涉及到的消息的服务可以由服务管理器126管理。
可以使用系统连接层108中的部件来连接不同的应用系统,并支持系统和数据集成。例如,消息和数据可以被信息交换和变换模块128路由到正确的后端系统,并且还可以被变换,从而实现语义正确的集成。在消息路由和变换服务之上,系统连接层108还可以包含外部的服务贮藏库130。当给定的SII服务被从开发环境配备到设备级服务层104的服务贮藏库144a或设备贮藏库144b时,可以向外部服务贮藏库130登记外部服务描述。贮藏库130包含基础设施100提供的可从基础设施100外部访问的所有服务的注册。
企业应用层132包括例如负责控制和管理企业商业应用的传统企业IT系统。覆盖特定商业过程的企业应用可以不是单个程序而可以由一起工作以便实现期望功能的不同服务组成。这些服务可以由同一企业系统提供,或者由企业应用层110内的另一个企业系统提供(可能位于商业伙伴的位置),或者由来自较低层的系统(例如,由设备层102的智能项目设备)提供。
最后,在图1中,开发工具134可以指用于生成企业应用132和其他应用/服务的工具。使用与基础设施100集成的开发环境可以支持以类似于企业应用空间中已知的开发工具的方式实施基本服务。此外,开发工具134可以允许生成要求的服务元数据,以及将现有服务包括在新应用中。在一个实施例中,确认过程可以被实施为可如开发工具134一样可用的设计时工具。此外,开发工具134允许开发者指定某个服务应该在哪里运行,以便配置各个服务实例,并以期望的方式配备服务。即,开发者可以使用开发工具134开发服务元数据/可执行内容136,然后可以提供服务和设备元数据/可执行内容中被期望的那些,以便存储在服务贮藏库144a和设备贮藏库144b中,和/或由服务映射器140同时或以后映射/重新映射。
在图1中所示的基础设施100中,很多不同的单个设备和服务(这里统称为“部件”)可以被链接在一起。图1示出了普适计算基础设施的一个例子,但是其他的基础设施也可以由很多异构部件组成。不同的部件可以使用不同的技术和协议通讯,对此参照图2来描述。
图2是设备通讯的开放系统互连模型200的图示,在所述模型中定义了7个通讯层。所述基础设施的部件为了在所述基础设施内交换数据,它们必须能够在图2中所示的全部7层抽象概念上通讯。
物理层202是OSI模型200中的最低层。在物理层202的层次,定义了例如电气标准和定时问题(timing issue)的通讯接口。如图3中所示,在物理层202中,部件的粗粒度属性可以按本体类别定义,例如“方向”302、“信号编码”304和“通讯媒介”306,并且可以被集成在部件的物理层模型中。部件的物理层模型可以用与部件相关联的元数据的形式存储。关于部件的物理层的属性的信息还可以按类别和子类定义。部件的类别和子类可以以树状结构排列,所以树的较高层次继承了在子类中定义的信息。因此,在一个例子中,物理文件层中关于部件的信息可以指示该部件使用无线通讯媒介并且使用了EM波来载送信号。
“方向”类别302可以是处理部件在物理层次上信息流的方向的高层次类别。部件的通讯的方向可以按本体子类定义,例如“单向”310和“双向”312,并且如果通讯的方向是单向的,则还可以按例如“进”320和“出”322的本体子类定义通讯的方向。部件方向类别的实例就与另一个部件的兼容性而言可能不是自反的(reflexive)。例如,单向的向外通讯端口不能被插入另一个相同种类的端口,因为第二端口不能从第一个接收信息,两个端口都只能发送但是不能接收。
“信号编码”类别304能够定义在传输中信号(例如二进制0)如何被编码。例如,可以基于信号的电气值是在某个阈值之上还是之下确定信号的二进制值,并且这可以在“信号编码”子类中被建模。
两个部件的兼容性可能依赖于为其“通讯媒介”类别306定义的值。例如,依赖于部件的移动性要求,具有固定电缆链接的设备可能是可接受的或不可接受的。因此,可以按“无线”314和“固定”316子类定义“通讯媒介”类别,“无线”314和“固定”316子类可以进一步分别被按子类“EM波”324、“声”326和“光”328以及按子类“电缆”330和“光缆”332定义。此外,如果要求某个用于无线通讯的频率,则可以将频率定义为“无线”和“固定”子类314和316两者中的任意一个的子类,或者被定义为两者的子类。
如图4中所示,数据链路层204的服务应对物理层202以上的数据交换。可以通过例如本体类别“流控制”402、“错误处理”404、“数据交换”406和“介质访问控制”408定义在数据链路层中处理的问题。
可选择的高层次本体类别是“流控制”402。部件的流控制机制可以按子类“基于速率”410和“基于信用”412分类。基于信用的控制系统保证不发送多于接收器准备好获得的数据。如果接收器的缓冲器非常有限,则这种策略可被优选并在应用限制中形成要求。因此,可以包括子类“基于信用”412和“基于速率”410作为类别“流控制”402的子类。但是,“流控制”类别不是强制性的,因为无需它就可以执行两个部件之间的通讯。
另一种可选择的服务类别是“错误处理”404。例如,可以用几种一般的方法在数据链路层中应对错误。比如,可以采用冗余编码来实现数据恢复机制414,或者不同的服务可以仅检测错误并将消息丢弃,以便避免被破坏的数据416,或者,如果检测到破坏,则可以明确地重新请求数据418。因为这些不同的策略影响服务的质量,所以它们可能经受非功能应用限制,并且因而被包括在模型中。
“数据交换”406类别可以是数据链路层204的强制性类别,因为它的子类定义了关于不同部件之间的通讯策略的细节。数据交换类别的主要子类是“面向连接”420和“无连接”422通讯,选择哪一个能够影响延迟、相同顺序传输和完整性的问题。可以按数据交换是“被确认的”424或“未被确认的”426将“无连接”子类420进一步定义,并且,如果是后者,则按交换是否是“广播”428进一步定义。
类别“介质访问控制”408解决了冲突检测430和冲突处理432的问题。此外,如果可以通过数据评估方案434或载波感测436实现冲突检测430,并且冲突处理432可能涉及概率性的方法438或确定性的方法440。
如图5中所示,网络层206涉及信息通过通讯网络的传输。和OSI模型200的较低层202和204相反,在网络层中,可以将连接实现为跨过多跳。即,通讯各方在彼此之间可能不具有物理链接,但是可以通过相互链接的部件的链连接。网络层206中的服务使得数据包能够通过这个链从起点传播到期望的目的地。对于接口模型,可以定义本体类别“路由”502、“错误处理”504和“端点”506。
如“路由”类别502所刻画的那样,网络层的基本任务是定义包路由。“路由”的额外子类可以包括用于指示路由方案是固定的“静态路由”512和用于指示路由方案可以改变的“自适应路由”514。虽然第一子类的机制只能在静态网络中采用,但“自适应路由”类别514代表了适应网络变化的方法。“自适应路由”类别514还可以被类别“连接改变”516、“设备迁移”518和“路由器迁移”520进一步描述。子类“连接改变”516代表了对改变同等对象(peer)之间的连接做出反应的方法,如果网络在某个链接上拥塞或者如果连接中断,则上述方法允许找到新的路由。当设备能够从一个网络移动到另一个时,例如当蜂窝电话从一个网关漫游到另一个时,使用子类“设备迁移”518的技术。类别“路由器迁移”520覆盖了允许路由器在网络中漫游的技术,所述技术在自组织网络中特别有用,在自组织网络中路由器是动态部件。
通常采用网络层的错误处理504来保证数据转移中的完整性或者保持通过网络经不同路由传播的包的顺序。这些方面由子类“被保证的完整性”522和“有序的传输”524代表。网络层的协议也可以针对破坏检验被传输的数据,因此,子类“破坏检测”526被包括在概念模型中。
在网络层中数据传输的问题由类别“数据交换”528描述。和在数据链路层204中一样,这个类别具有两个子类“面向连接”530和“无连接”532,它们代表被同样地命名的通讯策略。在这个抽象概念层次上,寻址机制(addressingmechanisms)可能对网络中的通讯可能性有重大影响,因此,包括寻址子类“单播”534、“多播”536和“广播”538作为“无连接”532的子类。
使用子类“单播”534的协议的处理能够将信息一次转移到一个特定资源。相反,可以使用子类“广播”538中的协议将信息发送到网络的所有参与者。“多播”子类536代表和广播协议类似的协议,但是多播协议可以将信息发送到全部网络成员的专门子集。
类别“端点”506存有通讯的所有可能端点。这是指在网络中使用的寻址方案,例如,对于IP协议,“端点”是所有IP地址的类别。
传输层208建立在网络层206之上,并提供从跨越网络的端到端的连接。在传输层中提供的服务也可以在网络层中被找到,但是,在这两层中抽象概念的层次是不同的。使用网络层206的功能,传输层208的服务只需要在处于连接端点的机器上运行,并且不影响路由器。如图6中所示,传输层208包括类别“端点”602、“流控制”604和“数据传输”606。
类别“端点”602存有通讯的所有可能的端点,并且类似于网络层206中被同样地命名的类别。这个类别指的是用于应用的虚拟连接端点的寻址方案,例如,对于TCP协议,“端点”是所有TCP端口的类别。和在网络层206上一样,在传输层208上的错误处理可以保证相同顺序传输和数据转移的完整性,或者检测数据破坏。
就功能来说,类别“流控制”604的概念和在数据链路层204中找到的流控制机制的概念类似,这很自然,因为两种层都处理点到点连接:数据链路层204在物理层次上处理点到点连接,而传输层206在逻辑层次上处理点到点连接。因此,和数据链路层204上的“流控制”类别402相似,传输层208中的“流控制”类别604包括子类“基于信用”和“基于规则”。
类别“数据传输”606指在传输层中可能采用的通讯策略。两个子类“面向连接”和“无连接”对应于较低层上相同名称的子类(例如数据链路层204中的子类420和422和网络层206中的子类540和542)。
尽管已经描述了几个本体类别和子类,但是很多其他的类别和子类也是可能的,并且能够被在组成和确认模型中定义和使用。
再次参考图2,很明显,通讯问题被在模型200的较低的4个OSI层202-208中解决。会话层210、表示层212和应用层214指抽象概念的较高层次,它们一般应对应用语义的事务。因此,这里描述的组成模型集中在较低层次的通讯问题上,同时对于在较高层次上的扩展是开放的。
使用这里所描述的部件(例如参考图1)和不同抽象层次上的通讯(例如参考图2到图6)概念以及用来生成接口描述的顶层本体的概念,在下面进一步的细节中描述了专用于普适计算系统(例如智能项目应用)的组成模型。
在面向部件的体系结构中,系统被建模为部件的组成。部件封装功能并在部件之间提供良好定义的接口、被调用端口。利用交互作用部件(连接器)可以实现从部件组成系统,所述交互作用部件相互链接相应部件的端口。因为部件能够跨越设备边界交互作用,所以组成受到由于软件能力所致的通讯问题以及所利用的硬件的影响。因此,各个部件和部件群的通讯能力被反映在解决这些问题的部件模型中。在模型中,所有协议层,包括物理层上的多部件系统地址通讯问题的协同工作的能力的考虑得到说明。因此,端口、连接器、部件被详细地建模(例如利用描述其方面、属性、能力和实例的元数据),以便解决智能项目领域的问题。端口、连接器和部件的这些增强的表示能够影响应用怎样被基于模型组成(即在组成过程中,模型的构建单元的语义方面怎样被实例化、包封和组合)。
因为智能项目基础设施使用很多不同的部件和交互作用机制(例如使用专用协议和专用频率的RFID芯片和实施用于无线网络的IEEE 802.11标准的PDA)并且不能假设部件、端口、连接器之间的兼容性,并且部件(即组成模型的构建单元)被建模为“信息丰富”的部件,所述部件管理和所述部件相关以及和两个或更多个部件的组成相关的硬件、软件和通讯协议。
参考图7,当连接第一设备702和第二设备752时,设备接口如图7中所示包装部件的端口。因此,设备702和752之间的连接建立在主设备上实施的通讯能力之上,所示通讯能力由设备硬件以及在设备上运行的软件确定。为了解决这些交互作用方面,在组成模型中,将部件、端口和连接器建模为具有丰富的描述部件、端口和连接器的功能和能力的细节的特征,因为其涉及智能项目基础设施。
例如,部件704可以代表软件部件712(例如服务)、处于位置706的平台(例如操作系统)、设备702、软件端口708、设备端口710或那些实体的嵌套组合。端口720能够具有所有用来组装它的部件部分的组合通讯能力,即,设备752的端口可以包括关于该设备所使用的软件端口756和设备端口758的信息。连接器730描述“端口”之间的连接,并且如下面更详细地描述的那样,在目标设定中可被理解为通讯信道的具体实例化。
端口708、710、756和758代表到部件的接口,并且可以定义很多属性来对端口建模。例如,端口756可以是软件端口并且端口758可以是设备端口,并且这些本体概念到端口属性的映射可以由函数has_type在形式上描述,该函数被定义为has_type:PRT->{“sotftware”,”device”}。在另一个例子中,端口708、710、756和758可以具有它们允许的数据流方向(例如“进”、“出”或“双向”),并且这个概念到端口的属性的映射可以由函数has_dataflow在形式上描述,该函数被定义为has_dataflow:PRT->{“in”、“out”,“bidirectional”}。可以给端口定义很多其他额外的属性,并且使用这些属性来将语义扩展绑定到端口描述,所述端口描述可以被描述通讯概念的实现的属性(例如,存储在端口的元数据中)表示。例如,端口作为移动电话网关运行的概念可以通过本体类别“通讯媒介”、“无线”和“EM波”表示,并且移动电话网关端口的模型可以用指明该端口准确地代表了所述概念的元数据属性填充。为了保证组合模型的准确性,有必要实现端口所需要的每一个概念(例如通过定义和概念对应的元数据值)。在将端口元数据直接绑定到另一个端口、部件或连接的元数据时可以要求实现,或者,连接或绑定可以发生在更高的协议层次。
从通讯概念到端口元数据的这种映射可被用来指定在连接中如何采用特定端口,即可以使用哪种技术来将端口绑定到另一个部件。例如,当对由多个嵌入式设备组成的系统建模时,系统的一个部件可能是工作于低功率、只传送模式的传感器,并且其他部件可能是分配代码给所述传感器的第一硬连线、低功率控制器和第二可配置控制器。在工作于低功率模式中时,传感器和第一控制器的端口的元数据可能指示传感器端口的通讯协议和第一控制器端口的通讯协议匹配,所以控制器可以被链接到传感器,以便从所述传感器接收数据。相反,第二控制器的端口的元数据可能指示与所述传感器的通讯根本不可能,或者指示当控制器在低功率状态中使用时不可能。因此,使用部件及其端口的元数据,在通讯和实例层次而非(或者除此以外还有)在类型层确定了传感器—控制器兼容性。在另一个例子中,在无线通讯中,可以利用例如通讯频率、调制技术、握手协议等的概念确定绑定技术。因此,涉及端口属性的元数据与保证组成中的有效绑定的概念相关联。
部件704可以是软件部件、中间件(例如操作系统)、设备或这些元件的组合。两个或更多个部件可以被合并在一起形成组合,并且提供新的接口来访问由所述组合产生的部件。例如,软件应用部件706和平台部件712可以被合并,并且作为结果的组合部件的接口可以是端口708。
当对由多个部件组成的系统或应用建模时,用来确认组成计划的部件模型存有作为被建模的系统或应用的一部分的所有类型的部件,即所有的软件部件类型(包括中间件)和所有的设备部件类型。类型自身被定义为具有相同属性的所有部件的集合。例如,相同类别的两个RFID标签或者具有相同硬件的两个PDA将是相同的设备部件类型。但是,部件的实例化和具体设备或软件被配备的副本相关,所以相同类型的两个部件在被建模的系统或应用中在实例层次上可能不同。
部件704提供了一组端口,利用所述端口,部件704能够和其他部件连接。在形式上,这可以被表示为将部件映射到端口集合。因此,当考虑被建模的系统中部件的协同工作能力时,可以按部件映射到的端口群分析部件类型。
在模型中可以使用连接器730来相互链接部件。因此,连接器代表通讯信道的抽象概念,通过在组合应用中实际使用这个信道来实例化所述通讯信道。连接器的实例指向相应连接的源头和目的地,并且这个信息可以被作为与连接器相关联的元数据存储。从与连接器链接的端口的属性可以获得连接器730额外的元数据。例如,无线连接器要求其链接到的端口具有无线通讯的能力。
部件704、端口720和连接器730包含通讯概念和子概念的较深的层次结构,因此可被用作普适计算应用的组成模型的基本构建单元,所述组成模型可被用来验证所提出的应用的可行性。除了使用每一个部件、端口和连接器的基本通讯细节的定义来对应用建模以外,也可以定义较高层次的概念来代表应用的一部分。这些较高层次的概念可以按“规范”定义,所述“规范”代表预先定义的概念以及描述那些概念的属性的值的集合。因此,可在应用的模型中使用“规范”,以便在接口描述中实现某个层次的抽象概念而不是将通讯概念分割为更详细的子概念,规范可被用来描述概念和子概念的特性。例如,可以定义规范“EPCglobal”来代表RFID标签的通讯方面,例如在智能项目基础设施中使用的RFID标签的通讯频率和信号编码。
参考图8A和图8B,可以从应用的构成部分的各个部件模型(即部件704、端口720和连接器730构建单元)构造合成应用的模型。用于组合各个部件模型的组成计划被构造,然后通过连续地组合在组成计划中被链接的部件,生成了合成应用模型。因此,如图8A中所示,第一部件802可以具有端口804。第二部件806可以具有被连接到端口804的第一端口808和第二端口810。第三部件812可以具有被连接到端口810的端口814。组成计划可以指定用于生成组成模型850的两步过程:首先,从部件802和806组成具有端口822的部件模型820;第二,从部件模型820和部件812组成组成模型850。或者,如图8B中所示,组成计划可以指定通过从部件806和810组成具有端口826的部件模型824,然后从部件824和部件802组成组成模型850来生成组成模型850。尽管在图8A和8B中被示出为存在于实例层次,但是组成计划可以存在于类型层次以及实例层次上。
使用如参考图8A和8B所描述的那样的组成计划,通过连续地从构成部件组成复合部件,能够生成复杂的组成。复合部件从多个单独的部件组成,并且作为结果的部件模型合并单独的部件被连接的端口,并获取包括单独的部件端口的属性的接口描述。因此,在作为结果的部件中,通讯概念到部件属性的映射一般和它们在单独的部件中不同。例如,未包括涉及被合并的单独部件之间的连接的属性作为单独部件的组成的组成计划的一部分。
为了确定对由单独的部件组成的部件的通讯概念建模需要的属性,必须考虑两种情况。在第一种情况中,参考图9A,具有端口902、904和906的单独部件900可以与具有端口912、914和916的部件910组合。当单独的部件的相互链接的端口902和912只能绑定一个连接时,则通过共有构成部件900和910的接口、排除用于绑定的端口来定义作为结果的合成部件920的接口端口的集合。因此,如图9A中所示,作为结果的部件由端口904、906、914和916的属性定义。在第二种情况中,如图9B中所示,被连接的端口902和912可以处理多个连接。在这种情况下,端口912仍旧是从组成产生的部件920中的接口的一部分,不被组成所改变。相反,生成了复本端口912’,并在组成920中使用。端口912’仅在其标识上和912不同,除此以外端口912’和912由相同的属性定义。
当组成合成部件时,只生成在组成过程期间检验组成兼容性规则所确定的有效的组成。组成过程的额外验证处理额外的良好形成性规则和应用限制。当将两个部件链接在一起时,所有这些规则都被检验。因此,验证是组成过程期间执行的操作的一部分。
兼容性规则确定两个端口是否能够被链接在一起。因此,为了在设备之间建立直接链接,在组成计划中被链接的部件之间通讯所需的属性必须存在于根据组成计划要被链接的端口处。对于设备端口,这些属性是较低的3层OSI层的属性。因此,如果一个端口要求某个属性的具体实现,则在其他端口这种实现也必须可用。
在组成模型中,可以用两种方法表示实现的可用性。在一种方法中,实现可以被通过关系明确地与部件相关。例如,在端口的元数据中定义的属性可以指示端口在2.4GHz的载波频率上通讯。在另一个方法中,各实现可以由部件所遵循的规范定义。例如,在端口的元数据中定义的属性可以指明端口使用802.11(g)标准通讯。
为了检验在组成计划中被链接的两个自反端口满足这些兼容性规则并且因而在组成模型中能够被链接,每一个通讯方面和被按端口需要表示的通讯方面的每一个被定义的实现必须被对应的链接端口提供。在非自反兼容方面的情况下,可以通过考虑被链接的端口是否是彼此的有效对应端口来验证端口的兼容性。例如,提供“单向”、“进”通讯的端口可以是提供“单向”、“出”通讯的端口的有效对应端口。因此,在一个实施方案中,单向广播的无线电台的端口可以是接收单向通讯的无线电接收机的端口的对应端口。
组成模型也可以要求组成中的两个逻辑端点(即在相互链接的代表端口链中两个最遥远的端口)之间的链接要满足的限制。例如,端到端链接的限制可以是保证被传送的数据包处于正确的顺序或者破坏检验发生作用。可以给对应于组成计划中的逻辑端点的部件端口设定这样的限制,可以针对存在性来检验具有被要求的语义的方面。沿着组成计划中每一个链接处的连接链,可以找到被要求的概念(例如针对数据破坏对连接进行检验)的实现。
在组成模型中使用良好形成性规则来验证合成应用中的通讯得到充分的描述。因此,如果通讯概念c由与组成计划中的部件相关联的属性定义,则通讯概念c所依赖的概念类别的其他属性也必须被定义。例如,如果端口指定了TCP连接,对于要被良好定义的合成应用,则部件为了通讯,网络协议(例如IP)将不得不发生作用。
可以使用遵循OSI层202-214的类别中的层次结构定义代表不同通讯概念的类别之间的关系。例如,可以将在OSI层204中被定义为数据链路类型的端口的属性(例如TCP连接)定义成依赖于作为较高网络OSI层206的一部分的属性(例如用于网络上的数据交换的IP协议)。然后,当组成计划的良好形成性被检验时,可以对照端口所依赖的属性(即网络的IP协议属性)来检验其TP连接属性的依赖性。
除了在类型层次验证组成模型以外,如果已知到被建模的部件的实例的具体映射,则也可以在实例层次验证模型。为了允许在实例层次的这些检验,模型应该描述关于应用被预计在其中运行的物理条件和环境的细节。例如,设备的位置和其地点可以影响设备到设备的连接。在特定例子中,如果已知使用射频通讯的两个设备被金属目标分开,则在实例层次的验证将指明两个设备由于障碍所致不能彼此通讯,尽管若非如此它们彼此很好地匹配。在另一个具体例子中,两个射频通讯设备可能被分开大到以至于通讯无法发生的物理距离。
当在实例层次对合成应用建模时,应用的被实例化的模型是其处于类型层次的模型的细化。因此,它至少代表相应的类型层次模型提供的相同信息。因此,在实例化的模型中,对于每一个映射m,在端口属性和通讯概念之间存在映射mi,它表示实例层次上相同的关系。在实例化的模型中,对于相应的类型层次组合模型中的每一个部件类型和端口,存在着实例,所述实例包括类型的全部信息加上额外的特定于实例的信息。被实例化的连接器标记了两个被选择的设备之间的具体链接。
因此,对组合模型的限制可以从应用的目标设定中的限制产生。例如,可以通过法律手段或者安全策略(例如,由于在不同的立法中关于询问信号的可允许信号强度的不同规定,某些无线RFID读取器在欧洲可以工作但是在美国不能工作)限制某个通讯信道,并且这种限制能够影响可以被确认的连接器。这意味着在一个目标设定中有效的组成计划在另一个设定中可能无效。
在实例层次上确认组成模型时,可以使用许多不同的规则来确认模型。可以使用规则来检验在连接中使用的全部通讯概念是否都被明确地定义为在目标设定中可行。例如,目标设定可以要求设备使用802.11(g)标准通讯,并且这个规则可以验证模型的部件遵守这个明确的定义。可以使用另一个规则检验针对在连接中使用的通讯概念指定的值是否被定义为在目标设定中可行。例如,目标设定可以要求设备使用特定的无线频率通讯,并且这个规则可以验证模型的部件能够在这个频率上工作。
可以使用另一个规则在实例层次上检验连接器的具体实例使用的通讯概念是否被明确地指定为对于这个连接器可行。例如,目标设定可以要求连接器是被UL_许可的,并且这个规则可以验证连接器满足这个要求。可以使用另一个规则在实例层次上验证针对连接器的具体实例使用的通讯概念定义的值是否被明确地指定为对于这个连接器可行。例如,目标设定可以要求使用某种标准线在两个设备之间载运信号,并且这个规则能够验证模型的部件被这样的标准线连接。
此外,可以使用规则检验在连接中使用的全部通讯概念是否都被明确地定义为在目标设定中不可行。例如,目标设定可以要求设备不使用802.11(g)标准通讯,并且这个规则可以验证模型的部件遵守这个明确的定义。可以使用规则检验针对在连接中使用的通讯概念指定的值是否被定义为在目标设定中不可行。例如,目标设定可以要求设备不使用特定的无线频率通讯,并且这个规则可以验证模型的部件遵守这个明确的定义。
可以使用另一个规则在实例层次上检验连接器的具体实例使用的通讯概念被明确地指定为对于这个连接器不可行。例如,目标设定可以要求连接器不被放置在地下,并且这个规则可以验证连接器满足这个要求。可以使用另一个规则在实例层次上验证针对连接器的具体实例使用的通讯概念定义的值是否被明确地指定为对于这个连接器不可行。例如,目标设定可以要求使用不小于某个规格的线在两个设备之间载运信号,并且这个规则能够验证模型的部件被这样的标准线(gauge wire)连接。
如图10中所示,用于对由单独的部件、端口和连接器组成的应用建模并验证模型的过程1000在步骤1002开始。验证和组成算法可以施加作用的部件、端口和连接器的数据模型被生成(步骤1004)。数据模型描述了部件、端口和连接器的属性,所述属性代表了描述关于在应用中需要的通讯技术的细节的通讯本体。数据模型可以在部件、端口和连接器的元数据中被公式化,并且可以使用任何一般的本体代表语言(例如RDF或者OWL)来产生元数据。
在生成数据模型之后,产生组成计划(步骤1006),并且产生组成计划的各个步骤(步骤1008)。在已经定义了组成计划以后,从两个单独的部件及其端口的模型组成复合部件(步骤1010)。对于每一个组成步骤,检验复合部件的良好形成性(步骤1012),以便验证通讯的所有方面都被充分地指定。
被链接的端口的兼容性被检验(步骤1014),并且导出作为结果的复合部件的端口描述(步骤1014)。接着,检验针对期望目标设定定义的限制(步骤1016),所述限制包括针对某个应用可能使用的通讯信道定义的限制。而且,在这个步骤中的检验期间,将设备生态系统的全局策略或限制考虑在内。如果复合部件被良好地建立,并且满足目标设定的限制(查询1018),则从单独的部件产生复合部件(步骤1020)。如果查询1018不满足,则可以输出错误和/或警告(步骤1026),并且过程结束(终点1028)。但是,如果查询1018被满足,如果组成计划的所有组成步骤没有都被处理(查询1022),则允许组成计划的下一个步骤的组成(步骤1010)。如果组成计划的所有步骤都已经被处理(查询1022),则输出作为结果的组成模型(步骤1024),并且过程结束。
如图11中所示,用于建模和验证合成应用的系统1100的部件包括应用模型1102,应用模型1102包含描述部件的元数据、关于应用目标设定的信息、应用限制以及组成计划。系统还可以包括描述在应用模型1102中使用的端口之间的关系和通讯概念的概念本体的语义模型1104。关于通讯技术的规范的知识既可以存储在应用模型1102中,也可以存储在语义模型1104中。
应用模型1102和语义模型1104可以被输入解析器1106,它可以生成输入数据的存储器中的表示。在存储器中(in-memory)的表示内,不同种类的存储器中的数据被存储在知识库1108、一个或更多个部件模型1110和一个或更多个组成计划1112中。知识库1108存有验证所需的知识的可交换部分,即交互作用本体和包括相应限制和规范的目标设定的模型。
规划器1114从组成计划1112接收输入,并确定生成和检验合成部件的顺序。规则检验器引擎1116从知识库1108、部件模型1110和规划器1114接收输入,并且检验部件模型是否满足某些一致性以及良好形成性和特定于目标的限制。
规则检验器1116生成的结果被模型生成器1118转换为期望的输出格式,该输出格式可以适于被选择的组成语言,例如和被用作模型输入的部件的描述匹配的语言。此外,可以用最适合于所需目的的格式输出验证结果1120。例如,当在开发环境中使用时,可以用人类可读的错误消息输出验证结果1120,并且当在自动组成工具中使用时,验证结果1120必须被用机器可读的格式输出。
可以在数字电子电路,或者在计算机硬件、固件、软件或其组合中实施这里所描述的各种技术的实施方案。实施方案可以被实施为计算机程序产品,即有形地具体实施在信息载体中的计算机程序,例如具体实施在机器可读的存储设备或被传播的信号中,供由数据处理装置执行,或者用于控制数据处理装置的操作,所述数据处理装置例如为可编程的处理器、计算机或多个计算机。计算机程序,例如上面描述的计算机程序,可以用任何形式的编程语言书写,包括汇编或解释语言,并且能够以任何形式配备,包括作为独立的程序或作为模块、部件、子例程,或者其他的适于在计算环境中使用的单元。计算机程序可以被配备成在一个计算机上或在处于一个位置或跨越多个地点分布并通过通讯网络互连的多个计算机上执行。
方法步骤可以由一个或更多个可编程的处理器执行,所述处理器执行计算机程序,以便通过操作输入数据并产生输出来执行功能。方法步骤也可以由专用逻辑电路执行,并且装置可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机中的一个或更多个。一般来说,处理器将从只读存储器或随机访问存储器或者两者接收指令和数据。计算机的元件可以包括至少一个用于执行指令的处理器和一个或更多个用于存储指令和数据的存储器设备。一般来说,计算机还可以包括或者被可操作地耦合成从一个或更多个用于存储数据的海量存储设备接收数据,或者将数据转移到所述海量存储设备,或者二者兼具,所述海量存储设备例如磁盘、磁光盘,或光盘。适于具体实施计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,例如包括半导体存储器设备,例如EPROM、EEPROM和快闪存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者被包含在专用逻辑电路中。
为了提供与用户的交互作用,实施方案可以被实施在具有给用户显示信息的例如阴极射线管(CRT)或液晶显示(LCD)器显示设备以及键盘和例如鼠标或轨迹球的指针设备的计算机上,通过所述键盘和指针设备,用户能够给计算机提供输入。也可以使用其他种类的设备提供与用户的交互作用,例如视觉反馈、听觉反馈或触觉反馈;并且可以用任何形式从用户接收输入,包括声音、语音或触觉输入。
实施方案可以实施在包括后端部件,或包括中间件部件,或包括前端部件,或包括这些后端、中间件、或前端部件的任意组合的计算系统中,后端部件例如数据服务器;中间件部件例如应用服务器;前端部件例如具有图形用户接口或网络浏览器的客户端计算机,用户能够通过所述接口或网络浏览器与实施方案交互作用。部件可以用数字数据通讯的任何形式或介质互连,例如通讯网络。通讯网络的例子包括局域网(LAN)和广域网(WAN),例如国际互联网。
虽然如这里所描述的那样,已经示出了所描述的实施方案的某些特征,但是熟练技术人员现在将想得到很多修改、替换、变化和等同物。因此要理解,所附权利要求旨在覆盖所有这些落入本发明的实施例的真实精神以内的修改和变化。
Claims (20)
1.一种对基于部件的应用建模的方法,所述方法包含:
对所述应用的部件(704、706、712、802、806、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模;
对用于相互链接所述应用的部件(704、706、712、802、806、810、812、900、910)的计划建模;
对由多个构成部件(704、706、712、802、806、810、812、900、910)组成的复合部件(850、920)的通讯能力建模;和
确定在所述应用中被相互连接的部件(900、910、802、806、812)是否是兼容的以便能有效地通讯。
2.如权利要求1所述的方法,其中,所述部件(704、706、712、802、806、810、812、900、910)包含软件模块。
3.如权利要求1所述的方法,其中,所述部件(704、706、712、802、806、810、812、900、910)包含异构的计算设备。
4.如权利要求3所述的方法,其中,所述异构的计算设备包含RFID设备(112)。
5.如权利要求1所述的方法,还包含确定所述复合部件(920)是否被良好地形成。
6.如权利要求1所述的方法,其中,对所述应用的部件(704、706、712、802、806、810、812、900、910)的通讯能力建模包含将通讯概念(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)映射到与所述部件相关联的属性。
7.如权利要求1所述的方法,还包含:
对处于通过相互链接的部件(900、910、802、806、812)的通讯路径端点的部件(704、706、712、802、810、812、900、910)的端到端通讯概念(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模;和
确定处于所述路径的端点的所述部件(704、706、712、802、810、812、900、910)的所述端到端通讯概念是否是兼容的。
8.如权利要求1所述的方法,其中,对所述应用的部件(704、706、712、802、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模包含产生所述部件的接口端口(708、710、720、756、758、804、808、810、814、822、826、902、904、906、912、912’、914、916)的模型。
9.如权利要求8所述的方法,其中,对由多个构成部件组成的复合部件(920)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模包含合并所述构成部件的接口端口(708、710、720、756、758、804、808、810、814、822、826、902、904、906、912、912’、914、916)的模型。
10.如权利要求1所述的方法,其中
对所述应用的部件(704、706、712、802、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模包含对部件的类型的通讯能力建模;和
其中,确定在所述应用中相互链接的部件(900、910、802、806、812)是否是兼容的以便能有效地通讯包含确定按部件的类型建模的通讯技术是否是兼容的。
11.如权利要求1所述的方法,其中
对所述应用的部件(704、706、712、802、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模包含对部件的实例的通讯能力建模;和
确定在所述应用中相互链接的部件是否是兼容的以便能有效地通讯包含确定部件的实例是否是兼容的。
12.如权利要求1所述的方法,还包含将通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)与OSI层相关联。
13.一种用于对基于部件的应用建模的系统,所述系统包含:
存储设备,包含:
所述应用的部件(704、706、712、802、806、810、812、900、910)的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)的模型;和
用于相互链接所述应用的部件的计划的模型,其中,所述处理器被配置为:
对由多个构成部件(802、806、812、900、910)组成的复合部件(850、920、820、824)的通讯能力建模,和
确定在所述应用中被相互连接的部件是否是兼容的以便能有效地通讯。
14.如权利要求13所述的系统,其中,所述部件包含异构的计算设备。
15.如权利要求14所述的系统,其中,所述异构的计算设备包含RFID设备(112)。
16.如权利要求13所述的系统,其中,所述处理器还被配置为确定所述复合部件(850、920、820、824)是否被良好地形成。
17.如权利要求13所述的系统,其中
所述存储设备还包含处于通过相互链接的部件的通讯路径的端点的部件(704、706、712、802、810、812、900、910)的端到端通讯概念(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)的模型,并且其中
所述处理器还被配置为确定处于所述路径的端点的所述部件的所述端到端通讯概念是否是兼容的。
18.如权利要求13所述的系统,
其中,所述处理器还被配置为产生所述部件的接口端口(708、710、720、756、758、804、808、810、814、822、826、902、904、906、912、912’、914、916)的模型,并且,
其中,所述处理器还被配置为合并所述构成部件的接口端口的模型,以便对所述复合部件的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模。
19.如权利要求13所述的系统,
其中,所述处理器被配置为对部件(704、706、712、802、810、812、900、910)的类型的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模,以便对所述应用的所述部件的通讯能力建模;并且
其中,所述处理器被配置为确定部件的类型是否是兼容的,以便确定在所述应用中相互链接的部件是否是兼容的以便能有效地通讯。
20.如权利要求13所述的系统,
其中,所述处理器被配置为对部件(704、706、712、802、810、812、900、910)的实例的通讯能力(310、321、314、316、320、322、324、326、328、330、332、410、412、414、416、418、420、422、424、426、428、430、432、434、436、438、440、530、532、524、526、522、512、514、516、518、520、536、534、538、602、604、606)建模,以便对所述应用的部件的通讯能力建模;并且
其中,所述处理器被配置为确定相互链接的部件是否是兼容的以便能有效地通讯,从而确定部件的所述实例是否是兼容的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/292,203 US7779383B2 (en) | 2005-12-01 | 2005-12-01 | Composition model and composition validation algorithm for ubiquitous computing applications |
US11/292,203 | 2005-12-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1975734A true CN1975734A (zh) | 2007-06-06 |
Family
ID=37781973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610162799XA Pending CN1975734A (zh) | 2005-12-01 | 2006-11-23 | 用于普适计算应用的组成模型和组成确认算法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7779383B2 (zh) |
EP (1) | EP1793559A3 (zh) |
JP (1) | JP2007157149A (zh) |
CN (1) | CN1975734A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999325A (zh) * | 2011-07-11 | 2013-03-27 | 霍尼韦尔国际公司 | 用于验证模型等价性的系统和方法 |
CN112241260A (zh) * | 2020-10-22 | 2021-01-19 | 宁波和利时智能科技有限公司 | 一种离散型行业物理实体的建模方法及系统 |
Families Citing this family (114)
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 |
US8005879B2 (en) | 2005-11-21 | 2011-08-23 | Sap Ag | 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 |
US7779383B2 (en) * | 2005-12-01 | 2010-08-17 | Sap Ag | Composition model and composition validation algorithm for ubiquitous computing applications |
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 |
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 |
US8396788B2 (en) | 2006-07-31 | 2013-03-12 | Sap Ag | Cost-based deployment of components in smart item environments |
US7853925B2 (en) * | 2006-12-13 | 2010-12-14 | Sap Ag | System and method for managing hierarchical software development |
US20080189679A1 (en) * | 2007-02-05 | 2008-08-07 | Jared Rodriguez | Method and system for creating, deploying, and utilizing a service |
US7890616B2 (en) * | 2007-03-02 | 2011-02-15 | Informed Control Inc. | System and method for validation of middleware failover behavior |
US20080229280A1 (en) * | 2007-03-12 | 2008-09-18 | Sap Ag | Systems and methods for composing custom applications from software components |
US20080306798A1 (en) * | 2007-06-05 | 2008-12-11 | Juergen Anke | Deployment planning of components in heterogeneous environments |
US8117596B2 (en) * | 2007-07-11 | 2012-02-14 | Trend Micro Incorporated | Method and system for version independent software release management |
US8522195B2 (en) * | 2007-09-14 | 2013-08-27 | Exigen Properties, Inc. | Systems and methods to generate a software framework based on semantic modeling and business rules |
US8495557B2 (en) * | 2008-04-03 | 2013-07-23 | Microsoft Corporation | Highly available large scale network and internet systems |
US8291378B2 (en) * | 2008-07-29 | 2012-10-16 | International Business Machines Corporation | Simplified deployment modeling |
US8849987B2 (en) * | 2008-07-29 | 2014-09-30 | International Business Machines Corporation | Automated discovery of a topology of a distributed computing environment |
US8417658B2 (en) | 2008-09-12 | 2013-04-09 | International Business Machines Corporation | Deployment pattern realization with models of computing environments |
US8793652B2 (en) | 2012-06-07 | 2014-07-29 | International Business Machines Corporation | Designing and cross-configuring software |
US9280335B2 (en) | 2010-09-30 | 2016-03-08 | International Business Machines Corporation | Semantically rich composable software image bundles |
US7979844B2 (en) * | 2008-10-14 | 2011-07-12 | Edss, Inc. | TICC-paradigm to build formally verified parallel software for multi-core chips |
US20100125476A1 (en) * | 2008-11-20 | 2010-05-20 | Keun-Hyuk Yeom | System having business aware framework for supporting situation awareness |
TWI374637B (en) * | 2008-12-31 | 2012-10-11 | Ind Tech Res Inst | Information transmission and service integration system and method thereof |
US8448136B2 (en) * | 2009-06-25 | 2013-05-21 | Intuit Inc. | Creating a composite program module in a computing ecosystem |
CN101957749A (zh) * | 2009-07-20 | 2011-01-26 | 华为技术有限公司 | 一种生成widget的方法及装置 |
EP2591423A4 (en) * | 2010-07-09 | 2017-05-24 | State Street Corporation | Systems and methods for private cloud computing |
US20120102406A1 (en) * | 2010-10-21 | 2012-04-26 | Hilmar Demant | Composition model for components of a user interface framework for web applications |
US8543653B2 (en) * | 2010-11-11 | 2013-09-24 | Sap Ag | Systems and methods for business network management discovery and consolidation |
US9063743B2 (en) * | 2010-11-23 | 2015-06-23 | Sap Se | Model-based programming, configuration, and integration of networked embedded devices |
US9778915B2 (en) | 2011-02-28 | 2017-10-03 | Microsoft Technology Licensing, Llc | Distributed application definition |
US9990184B2 (en) | 2011-03-25 | 2018-06-05 | Microsoft Technology Licensing, Llc | Distributed component model |
US9465589B2 (en) | 2011-04-05 | 2016-10-11 | Microsoft Technology Licensing, Llc | Stateful component authoring and execution |
JP5840786B2 (ja) * | 2011-09-19 | 2016-01-06 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | センサーデータベースのアプリケーションおよびサービスの開発および配備のための演算プラットフォーム |
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 |
US10169000B2 (en) * | 2012-05-30 | 2019-01-01 | Red Hat Israel, Ltd. | Provisioning composite applications using secure parameter access |
WO2014145084A1 (en) | 2013-03-15 | 2014-09-18 | Ptc Inc. | Methods for managing applications using semantic modeling and tagging and devices thereof |
DE102013104193A1 (de) * | 2013-04-25 | 2014-10-30 | Smiths Heimann Gmbh | CT-Röntgenprüfanlage, insbesondere zur Inspektion von Objekten |
US10740396B2 (en) | 2013-05-24 | 2020-08-11 | Sap Se | Representing enterprise data in a knowledge graph |
US9158599B2 (en) | 2013-06-27 | 2015-10-13 | Sap Se | Programming framework for applications |
EP3039888B1 (en) * | 2013-08-29 | 2021-07-21 | Convida Wireless, LLC | Internet of things event management systems and methods |
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 |
WO2015143416A1 (en) | 2014-03-21 | 2015-09-24 | Ptc Inc. | Systems and methods for developing and using real-time data applications |
US10313410B2 (en) | 2014-03-21 | 2019-06-04 | Ptc Inc. | Systems and methods using binary dynamic rest messages |
US10025942B2 (en) | 2014-03-21 | 2018-07-17 | Ptc Inc. | System and method of establishing permission for multi-tenancy storage using organization matrices |
US9467533B2 (en) | 2014-03-21 | 2016-10-11 | Ptc Inc. | System and method for developing real-time web-service objects |
US9350791B2 (en) | 2014-03-21 | 2016-05-24 | Ptc Inc. | System and method of injecting states into message routing in a distributed computing environment |
US9462085B2 (en) | 2014-03-21 | 2016-10-04 | Ptc Inc. | Chunk-based communication of binary dynamic rest messages |
US9762637B2 (en) | 2014-03-21 | 2017-09-12 | Ptc Inc. | System and method of using binary dynamic rest messages |
US9560170B2 (en) | 2014-03-21 | 2017-01-31 | Ptc Inc. | System and method of abstracting communication protocol using self-describing messages |
US9851953B2 (en) * | 2015-06-29 | 2017-12-26 | Oracle International Corporation | Cloud based editor for generation of interpreted artifacts for mobile runtime |
US11102313B2 (en) | 2015-08-10 | 2021-08-24 | Oracle International Corporation | Transactional autosave with local and remote lifecycles |
US10582001B2 (en) | 2015-08-11 | 2020-03-03 | Oracle International Corporation | Asynchronous pre-caching of synchronously loaded resources |
US9959100B2 (en) | 2015-08-12 | 2018-05-01 | Oracle International Corporation | Efficient storage and transfer of iOS binary files |
US10013668B2 (en) | 2015-08-14 | 2018-07-03 | Oracle International Corporation | Secure storage of enterprise certificates for cloud services |
US10452497B2 (en) | 2015-08-14 | 2019-10-22 | Oracle International Corporation | Restoration of UI state in transactional systems |
US10419514B2 (en) | 2015-08-14 | 2019-09-17 | Oracle International Corporation | Discovery of federated logins |
US10582012B2 (en) | 2015-10-16 | 2020-03-03 | Oracle International Corporation | Adaptive data transfer optimization |
US9733916B2 (en) | 2015-11-23 | 2017-08-15 | Business Objects Software Limited | Linking customized external widgets to dashboard data |
US9838377B1 (en) | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10516672B2 (en) | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10721237B2 (en) | 2016-08-05 | 2020-07-21 | Oracle International Corporation | Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
CN109565511B (zh) | 2016-09-16 | 2021-06-29 | 甲骨文国际公司 | 用于多租户身份和数据安全管理云服务的租户和服务管理 |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
US10831789B2 (en) | 2017-09-27 | 2020-11-10 | Oracle International Corporation | Reference attribute query processing for a multi-tenant cloud service |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
US11792226B2 (en) | 2019-02-25 | 2023-10-17 | Oracle International Corporation | Automatic api document generation from scim metadata |
US11423111B2 (en) | 2019-02-25 | 2022-08-23 | Oracle International Corporation | Client API for rest based endpoints for a multi-tenant identify cloud service |
US11687378B2 (en) | 2019-09-13 | 2023-06-27 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
CN112149109B (zh) * | 2020-09-21 | 2021-08-03 | 珠海市卓轩科技有限公司 | 模块化权限控制管理方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62267842A (ja) | 1986-05-15 | 1987-11-20 | Hitachi Ltd | プログラムチエツク方式 |
WO1999006907A1 (fr) | 1997-07-29 | 1999-02-11 | Yamatake Corporation | Appareil d'aide a la conception de systeme |
JP2001216142A (ja) | 2000-02-04 | 2001-08-10 | Hitachi Ltd | プログラム作成支援装置 |
US6934532B2 (en) * | 2000-02-09 | 2005-08-23 | Apriva, Inc. | Communication systems, components, and methods operative with programmable wireless devices |
JP2001325103A (ja) | 2000-05-16 | 2001-11-22 | Denso Corp | シミュレータ作成方法、シミュレータ作成装置およびシミュレータの作成支援方法 |
US7069204B1 (en) * | 2000-09-28 | 2006-06-27 | Cadence Design System, Inc. | Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements |
US20040220998A1 (en) * | 2002-12-26 | 2004-11-04 | Michael Shenfield | System and method of building wireless component applications |
US20050235274A1 (en) * | 2003-08-27 | 2005-10-20 | Ascential Software Corporation | Real time data integration for inventory management |
US20050060048A1 (en) * | 2003-09-12 | 2005-03-17 | Abb Research Ltd. | Object-oriented system for monitoring from the work-station to the boardroom |
US7512450B2 (en) * | 2004-03-25 | 2009-03-31 | Siemens Building Technologies, Inc. | Method and apparatus for generating a building system model |
JP2007536634A (ja) | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
US7921323B2 (en) * | 2004-05-11 | 2011-04-05 | L-3 Communications Integrated Systems, L.P. | Reconfigurable communications infrastructure for ASIC networks |
US20070239717A1 (en) * | 2005-09-01 | 2007-10-11 | International Business Machines Corporation | System and method for architecting pattern based models within a governmental framework |
US7779383B2 (en) * | 2005-12-01 | 2010-08-17 | Sap Ag | Composition model and composition validation algorithm for ubiquitous computing applications |
-
2005
- 2005-12-01 US US11/292,203 patent/US7779383B2/en active Active
-
2006
- 2006-11-07 EP EP06023168A patent/EP1793559A3/en not_active Withdrawn
- 2006-11-23 CN CNA200610162799XA patent/CN1975734A/zh active Pending
- 2006-12-01 JP JP2006325754A patent/JP2007157149A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999325A (zh) * | 2011-07-11 | 2013-03-27 | 霍尼韦尔国际公司 | 用于验证模型等价性的系统和方法 |
CN102999325B (zh) * | 2011-07-11 | 2017-04-12 | 霍尼韦尔国际公司 | 用于验证模型等价性的系统和方法 |
CN112241260A (zh) * | 2020-10-22 | 2021-01-19 | 宁波和利时智能科技有限公司 | 一种离散型行业物理实体的建模方法及系统 |
CN112241260B (zh) * | 2020-10-22 | 2022-04-26 | 宁波和利时智能科技有限公司 | 一种离散型行业物理实体的建模方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP1793559A2 (en) | 2007-06-06 |
US7779383B2 (en) | 2010-08-17 |
EP1793559A3 (en) | 2008-11-05 |
JP2007157149A (ja) | 2007-06-21 |
US20070168925A1 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1975734A (zh) | 用于普适计算应用的组成模型和组成确认算法 | |
BenSaleh et al. | Wireless sensor network design methodologies: A survey | |
Weyns et al. | FORMS: Unifying reference model for formal specification of distributed self-adaptive systems | |
EP4020266A1 (en) | Apparatus, systems, and methods to protect hardware and software | |
CN1811752B (zh) | 使用实体模式来捕捉数据模型的结构的系统和方法 | |
Lazarescu | Wireless sensor networks for the Internet of Things: barriers and synergies | |
Taherkordi et al. | Optimizing sensor network reprogramming via in situ reconfigurable components | |
US9063743B2 (en) | Model-based programming, configuration, and integration of networked embedded devices | |
US20090158237A1 (en) | Method and apparatus for the design and development of service-oriented architecture (soa) solutions | |
CN101013956A (zh) | 智能项目的分级的多层映射和监视架构 | |
CN101094151A (zh) | 将web服务策略从逻辑模型转换到物理模型的方法和装置 | |
Qian | Software architecture and design illuminated | |
Mirandola et al. | A reliability model for service component architectures | |
Zachariadis et al. | The SATIN component system-a metamodel for engineering adaptable mobile systems | |
Roxin et al. | Interoperable digital building twins through communicating materials and semantic BIM | |
CN1570860B (zh) | 用于系统设计期间的验证的方法 | |
Lumpp et al. | A design flow based on docker and kubernetes for ros-based robotic software applications | |
Achtaich et al. | Designing a framework for smart IoT adaptations | |
Subramanian et al. | A goal-oriented programming framework for grid sensor networks with reconfigurable embedded nodes | |
Bettini et al. | Formalizing properties of mobile agent systems | |
Amini et al. | Notice of Retraction: GIS software architecture based on SOA concept and OGC standards | |
Kutvonen | Relating MDA and inter-enterprise collaboration management | |
Alhaj | Automatic Derivation of Performance Models in the Context of Model-Driven SOA | |
Kumar et al. | An OO based semantic model for service oriented computing | |
Chen et al. | DRIVE: A tool for developing, deploying, and managing distributed sensor and actuator applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070606 |