体系结构、编程模型和api的制作方法

文档序号:7622050阅读:203来源:国知局
专利名称:体系结构、编程模型和api的制作方法
技术领域
本发明一般涉及射频识别(RFID),尤其涉及一种生成创建和/或执行RFID应用程序的框架的系统和/或方法。
背景技术
许多零售、制造和分配机构正在应用不同的、创新的操作方法,以提高效率。这些机构可以监视监视商店存货,以便于优化涉及消费者的供给和需求。使利润最大化的一个方面取决于适当地备有存货,以便结合货物和/或产品的耗尽来进行补给。例如,出售计算机和/或VCR的零售商必须根据其消费者销售额来供应计算机,并根据其消费者销售额来供应VCR。这样,如果计算机比VCR的销路更好(例如,被出售更多单位),那么,该零售商可以更频繁地供应计算机,以便优化供给和需求,且进而可优化利润。监视监视存货和相关联的销售额会是一项复杂的任务,其中,产品活动类似黑匣子,因为内部工作是未知的;然而,监视监视产品是存货/产品效率中的具有决定性的要素。
自动识别与数据捕捉(AIDC)技术,尤其是射频识别(RFID)至少已基于消除监视监视系统和/或方法(例如,条形码阅读器、条形码和/或UPC)的以上各个不足之处的需要来加以开发。RFID是利用RFID标签来远程地存储和检索数据的技术。由于RFID系统基于无线电频率和相关联的信号,因此,在监视监视产品方面,有众多好处和/或优点领先于传统技术。RFID技术不要求瞄准线来监视监视产品和/或从RFID标签那里接收信号。这样,不必要进行要求扫描仪很接近目标(例如,产品)的手动扫描。然而,根据无线电频率、RFID标签尺寸和相关联的电源,在RFID中,范围受到限制。此外,RFID系统允许在几秒钟内进行多次读取,从而提供迅速的扫描和识别。换言之,当这些标签在RFID阅读器的范围内时,RFID系统允许多个标签被读取和/或被识别。RFID系统中的多次读取的能力由于为每个单独的产品提供包含唯一识别码的信息标签的能力而受到称赞。
而且,RFID系统和/或方法提供与所标记的项目相关联的实时数据。实时数据流允许零售商、批发商和/或制造商有能力精确地监视监视存货和/或产品。通过利用RFID,可以进一步便于在前端分配(例如,零售商至消费者)和后端分配(例如,批发商/制造商至零售商)方面供给产品。批发商和/或制造商可以监视监视货物发货、质量、数量、发货时间等。此外,零售商可以跟踪被接收的存货数量、这类存货的位置、质量、货架期等。这些所描述的好处表明RFID技术跨越多个领域(例如,前端供给、后端供给、分配链、制造、零售、自动化等)来发挥作用的灵活性。
RFID系统至少包括RFID标签和RFID收发器。RFID标签可以包含天线,该天线为来自RFID收发器的射频查询提供接收和/或传输。RFID标签可以是小物体(例如,胶粘标签、灵活标签与集成芯片等)。这些RFID标签通常利用四种不同的频率低频标签(125与134千赫之间)、高频标签(13.56兆赫)、UHF标签(868~956兆赫)和微波标签(2.45千兆赫)。
一般而言,RFID系统可以包括多个组件标签、标签阅读器(例如,标签收发器)、标签编程站、循环阅读器、分类设备、标签存货条形码读入器等。而且,各种构造、模型、类型和/或应用可以与相应的组件(例如,标签、标签阅读器、标签编程站、循环阅读器、分类设备、标签存货条形码读入器、……)相关联,这会使RFID系统内和其他RFID系统内的发现、配置、设置、通信、维护、安全和/或兼容性复杂化。鉴于以上内容,需要提供一种根据制造者和相关联的规格来发现、配置、设置和与RFID设备通信的统一方法。

发明内容
以下呈现了本发明的简化概述,以便提供对本发明的一些方面的基本理解。这个概述不是本发明的广泛纵览。它既不意在标识本发明的关键或紧要的要素,也不意在描绘本发明的范围。其唯一的目的是以简化的形式来呈现本发明的一些概念,作为以后更详细的说明的序言。
本发明涉及便于实现可用来在设计时创建RFID过程并在运行时执行该RFID过程的模型的系统和/或方法。接收器组件可以接收数据,其中,模型组件可以至少部分地根据所被接收的数据来创建模型,该模型便于在设计时创建RFID应用程序并在运行时执行该RFID应用程序。该接收器组件可以获得诸如(但不局限于)外部输入(例如,最终用户输入、应用程序开发者输入等)、设备相关数据(例如,天线数据、配置数据、标识、地址、版本、……)、供应者相关数据、标签数据、设备收集、过滤器策略、报警策略、逻辑源(例如,其中,逻辑源可以包括设备收集、可任选的过滤器和/或报警策略、和/或可任选的事件处理程序)、事件处理程序、事件……等数据。由该模型组件创建的模型可以用来便于创建、部署、执行和/或者维持RFID过程。另外,该模型组件可以利用事件处理管道,其中,管道事件可以利用处理节点。这些管道事件处理节点可以是过滤器(例如,无效标签、重复标签、已移除的标签等)、报警(例如,盗窃检测、空白标签等)、以及事件处理程序(例如,内部运动、商业环境等)中的至少一项。随着事件行进通过管道,它可以用数据来丰富和/或填充。
根据本发明的一个方面,该模型组件可以利用便于创建和执行RFID过程的框架(它可以是(但不局限于)实体(例如,设备、逻辑源、过滤器策略、报警策略、事件处理程序、跟踪器、写处理程序、RFID过程对象、存储等)、框架类、至少一个类的分层框架、接口、异常、组件体系结构、模式、对象模型、应用程序编程接口(API)、……)。逻辑源可以表示来自服务器上将实体集合在一起的物理设备的读取流,并可以表示在该RFID过程内处理标签数据。将会理解,该模型组件可以包含以下的设备管理、供应者管理、存储管理、健康监视、过程设计、过程部署和运行时环境中的至少一项。
根据本发明的另一个方面,该模型组件可以创建和/或执行各种RFID应用程序,例如(但不局限于),制造过程(例如,写到离开制造的产品上的标签、等等)、出站过程(例如,明确标记的产品的选择、明确标记的产品的组合选择、明确标记的产品的选择的发货、接收明确标记的产品、等等)、商业关联过程、类属操作、……。
根据本发明的另一个方面,该模型组件可以包括一对象模型组件,它创建对象模型和/或应用程序编程接口(API),以便于利用基于框架的模型。该模型组件可以调用该对象模型,它可以是(但不局限于)RFID过程OM、RFID过程执行OM、服务器管理器OM、发现OM、存储OM和授权OM。将会认识和理解,该模型组件可以包含以下的设备管理、供应者管理、存储器管理、健康监视、过程设计、过程部署和运行时环境中的至少一项。所创建的OM可以用来分别促进设计时和运行时期间的RFID过程的创建和/或执行。
根据本发明的另一个方面,一种方法提供框架的例示,以允许在设计时创建RFID过程并在运行时执行该RFID过程。这样,可以利用该模型来实现RFID过程的例示、创建和执行。此外,本发明使用一种方法来便于按统一方式创建、部署和管理逻辑RFID过程以及物理设备。而且,本申请提供的了包含RFID过程生命周期的方法和/或系统。
以下描述和附图详细地陈述本发明的某些说明性方面。但是,这些方面只表现出可以使用本发明的原理的各种方法中的一些;并且,本发明意在包括所有这类方面及其等效技术方案。通过结合这些附图来考虑本发明的以下详细描述,本发明的其他优点和新颖特征将变得一目了然。


图1示出了便于使用模型来创建和/或执行RFID应用程序的示例性系统的框图。
图2示出了便于利用模型来实现RFID过程的示例性系统的框图。
图3示出了便于利用逻辑源的示例性系统的框图。
图4示出了便于开发和创建RFID过程的示例性系统的框图。
图5示出了便于利用对象模型来创建RFID应用程序的示例性系统的框图。
图6示出了便于使用利用接口、服务API、异常和安全性的模型的示例性系统的框图。
图7示出了便于使用模型来创建和利用RFID过程的示例性系统的框图。
图8示出了便于在设计时期间利用模型的示例性系统的框图。
图9示出了便于在运行时期间利用模型的示例性系统的框图。
图10示出了便于基于模型来实现类的分层框架,以创建RFID应用程序的示例性系统的框图。
图11示出了便于基于模型来实现类的分层框架,以创建RFID应用程序的示例性系统的框图。
图12示出了用于使用模型框架来开发和创建RFID过程的示例性流程图。
图13示出了用于创建RFID过程的示例性流程图。
图14示出了其中可以使用本发明的这些新颖的方面的示例性联网环境。
图15示出了可以根据本发明来加以使用的示例性操作环境。
具体实施例方式
如本申请中所利用的,术语“组件”、“系统”等意在指计算机相关实体,或者是硬件、软件(例如,在执行中)和/或固件。例如,组件可以是在处理器上运行的进程、处理器、对象、可执行码、程序和/或计算机。举例说明来讲,在服务器上运行的应用程序和该服务器都可以是组件。一个或多个组件可以驻留在进程内,组件可以被定位在一台计算机上和/或被分布在两台或更多的计算机之间。
参照这些附图来描述本发明;贯穿附图,相同的参考标号指相同的元件。在下文中,出于解释的目的,陈述众多具体细节,以便提供对本发明的彻底的理解。但是,显而易见的是,可以在不具备这些具体细节的条件下实践本发明。在其他实例中,以框图形式来示出众所周知的结构和设备,以便于描述本发明。
现在参考这些附图,图1示出了便于至少基于可用于构建RFID应用程序的框架来使用模型的系统100。接收器组件102可以接收数据,并将该数据传达给模型组件104,它可以至少部分地基于该数据来创建模型106。模型106可以用来便于创建RFID应用程序。接收器组件102可以获得诸如(但不局限于)外部输入(例如,最终用户输入、应用程序开发者输入等)、设备相关数据(例如,天线数据、配置数据、标识、地址、版本、……)、供应者相关数据、标签数据、设备收集、过滤器策略、报警策略、逻辑源(例如,其中逻辑源可以包括设备收集、可任选的过滤器和/或报警策略、和/或可任选的事件处理程序)、事件处理程序、事件、……等数据。虽然所描绘的接收器组件102被示作单独的组件,但是,将会理解,接收器组件102可以被并入模型组件104,并且,这类举例说明(例如,虽然被并入另一个组件或独立组件)不应该被视作限制。
模型106可以用来创建提供类属操作和/或商业特定情景的RFID应用程序。例如,可以至少基于模型106来创建各种RFID应用程序,例如(但不局限于),制造过程(例如,写到离开制造的产品上的标签、等等)、出站过程(例如,明确标记的产品的选择、明确标记的产品的组合选择、明确标记的产品的选择的发货、接收明确标记的产品、等等)、商业关联过程、……。将会理解,模型组件104可以创建具有涉及所接收的数据的各种特征和/或规格的多个RFID应用程序。另外,模型组件104可以在该OM上面构建这些RFID应用程序(例如,利用该框架所展示的OM),以满足其功能。
另外,模型组件104可以创建模型106(例如,至少一个框架),它可以用来构建至少一个RFID应用程序。将会理解,该框架可以包括(但不局限于)实体(例如,设备、逻辑源(例如,其中逻辑源可以包括设备收集、任选的过滤器和/或报警策略、和/或可任选的事件处理程序)、过滤器策略、报警策略、事件处理程序、跟踪器、写处理程序、RFID过程对象、存储器等)、框架类、至少一个类的分层框架、接口、异常、组件结构、模式、对象模型、应用程序编程接口(API)、……。例如,接收器组件102可以接收涉及至少一个设备的数据。这个设备可以是RFID阅读器、RFID书写器、RFID触发器、RFID接收器、传感器、实时事件、RFID信号、……。换言之,设备可以是能够接收实时事件的任何合适的组件,其中,该设备不需要是RFID相关的实体。接收器组件102可以将数据提供给模型组件104。模型组件102可以至少部分地基于所接收的数据来生成模型106。将会理解,模型106可以用来创建至少一个RFID过程,它可以与至少一个设备结合来提供类属操作和/或商业特定情景。换言之,模型组件104至少部分地基于设备信息来创建模型106。在另一个例子中,RFID应用程序可以是制造过程应用程序。设备(例如,RFID阅读器/书写器)可以写到货盘(准备好发货给消费者)上的标签。通过利用模型106,例如,一检测到标签阅读事件、外部事件刺激等,RFID应用程序就写到货盘上的标签。将会认识和理解,该框架可以提供处理可表示逻辑过程的逻辑布局的定义,其中,该逻辑过程可以在运行时被绑定到物理设备,以提供逻辑模型和物理模型的清晰分离。换言之,开发者和/或用户可以写一次,并在任何地方部署。
另外,模型组件104可以利用事件处理管道,其中,管道事件可以利用处理节点。这些管道事件处理节点可以是过滤器(例如,无效标签、重复标签、已移除的标签等)、报警(例如,盗窃检测、空白标签等)和事件处理程序(例如,内部运动、商业上下文等)中的至少一项。随着事件行进通过管道,它可以用数据来丰富和/或填充。例如,可以由规则引擎(RE)(未示出)来接收来源,其中,RE可以执行过滤器和/或报警策略。然后,RE可以将该来源交给N个数量的组件(例如,EventHandler 1、EventHandler 2、…EventHandler N),其中N是比1大的整数。事件处理管道中的最后一个组件可以提供被填充和/或丰富的输出。
将会理解,模型组件104可以是利用RFID过程生命周期的模型。首先,创建具有设备收集、事件策略和事件处理程序中的至少一项的逻辑源。接下来,可以实现诸如策略和/或事件处理程序等自定义组件。然后,逻辑源可以被连接起来,以便利用跟踪器和/或安全选项来创建过程。设备可以被加以配置,阅读器收集可以在该过程中被绑定到物理设备,然后被加以部署。可以从这个/这些执行过程、被管理的设备和/或过程中检索该信息。而且,可以利用动态策略变形(morph)来重新配置这些过程(例如,在过程的运行期间)。
图2示出了便于利用模型来创建和执行RFID应用程序的系统200。可以使用模型组件202,该模型组件202创建便于构建RFID应用程序来提供类属操作和/或商业专用情景的模型(未示出)。模型组件202可以包括便于构建和执行RFID应用程序/过程的至少一个实体。将会理解,模型组件202可以实质上类似于如图1中所描绘的模型组件102。而且,接收器组件(未示出)可以接收可协助创建RFID应用程序/过程的数据。虽然未描绘,但是,接收器组件可以是(但不局限于),模型组件202内的并入组件、独立单元和/或其组合。
模型组件202可以包括设备组件204。设备组件204可以是(但不局限于)RFID阅读器、RFID书写器、RFID发送器、RFID接收器、RFID打印机、发送应答器、收发器……。将会理解,多个设备组件204可以被并入模型组件202中,但为简洁起见,只示出了一个设备组件。设备组件204可以经由无线电波来与标签进行通信,和/或将数字形式的信息传递到主机。另外,设备组件204可以编写和/或编程至少一个标签(例如,如果标签与这类功能兼容)。设备组件204可以被发现和/或被配置,以便联合RFID应用程序/过程来执行功能。此外,通过设置设备标识、以参考命名、读触发和/或其他执行专用参数、写触发和/或其他执行专用参数、……中的一项,来配置设备组件204。
根据本发明的一个方面,设备组件204可以是从该主机那里获得命令以便在标签上执行的RFID打印机。对比而言,典型的技术从标签那里获得信息,并将该信息传递到主机。例如,打印机可以获得标签标识以及条形码,并将它打印在该标签上。
而且,设备组件204的选择可以至少根据物理位置而彼此相关联。彼此相关联的设备组件204的选择可以形成逻辑设备集合,和/或可以被指定为逻辑书写器。将会理解,可以在一个或多个设备组件204上定义公共操作(例如,读触发、写触发、发送触发等)。例如,设备组件可以是对接门(dock door)A、对接门B和对接门C处的RFID阅读器。RFID阅读器(例如,设备组件204)可以关联起来,作为设备集合,它可以由“发货设备集合”来引用。
模型组件202还可以包括逻辑源组件206,它结合设备集合(例如,该设备集合包含一个或多个设备组件204)、过滤器、报警、事件处理程序(以下所讨论的)和附加逻辑源中的至少一项。逻辑源组件206可以表示标签数据和/或在被传递到汇点(sink)(以下所定义的)之前该标签数据如何在RFID过程中加以处理。将会理解,逻辑源组件206的基本形式是设备集合,其中,来自该设备集合的所有读/写都被直接发送到汇点。
逻辑源组件206可以利用以下至少一项来利用执行语义集用于产生标签读事件和/或平台事件的设备集合和/或逻辑源;可以消耗标签读/写事件和/或过滤出不需要的读/写的可任选过滤器;可以消耗标签读/写事件和/或事件以便评估报警并执行一个或多个动作的可任选报警;可以消耗标签读/写事件并处理实质上类似的标签读事件的可任选事件处理程序。将会理解,过滤器、报警和事件处理程序按由来自RFID过程的输入(例如,经由用户、应用程序开发者等)所指定的顺序来执行。例如,用户可以指定逻辑源组件206内的组件的以下顺序和/或定义,其中,“→”表示“由……来定义”改变政策1(alertpolicy1)→如果在X与Y之间读取标签,则将消息(例如,短消息服务(SMS))发送给管理员,其中X与日期和/或时间相关联,Y与除X以外的后续日期和/或时间相关联;过滤政策1(filterpolicy1)→利用重复消除技术来除去重复标签读取;事件处理程序(eventhandler1)→如果物品满足条件(例如,灰色的外套),那么,经由写到该标签来使丰富该数据;过滤政策2(filterpolicy2)→忽视价格小于$500的外套(例如,这个过滤基于由事件处理程序1增加的数据);改变政策2(alertpolicy2)→检验新外套存货并警告管理员存货级别(例如,高或低存货);等等。在前一个例子之后,按由输入和/或用户指定的顺序来执行报警、过滤和事件处理程序。将会理解,事件处理程序中的最后一个组件的输出被定义为逻辑源组件206的输出。
简要地参考图3,示出了可以用来创建用于构建RFID应用程序的模型的逻辑源302。具体地,逻辑源302是标签读取和/或写入流。读取流可以被处理,并导致不同的读取流。将会理解,逻辑源302可以递归地嵌入至少一个其他逻辑源。一组事件和/或标签读304可以被发送到规则引擎306,其中可以执行可任选的过滤和/或报警。该组事件和/或标签读取304可以是N个逻辑源(其中的N大于或等于一)和/或M个设备集合(其中的M大于或等于一)。在规则引擎306之后,该组事件和/或标签读取304可以被传递到组件308。可以有N个数量的组件308,其中N大于或等于一。此外,组件308可以是事件处理程序。
回头参考图2,模型组件202可以包括策略组件208,策略组件208可以提供可任选的过滤器策略和/或可任选的报警策略。过滤器通常是逻辑构造,它在传入的原始数据流上执行,并可以经由一组可被组合成策略的逻辑规则(例如,关于传入标签读事件)而在逻辑源组件206上指定。过滤器策略允许有效标签清单通过,其中,该策略中的规则是不被违反的约束。如果被违反,那么,从该标签清单中除去违反过该约束的标签(例如,被称作“欺诈标签”)。该结果是已被允许通过该过滤器策略的有效标签的列表。例如,货盘/箱子/物品可以是允许某种类型的标签被设备读取和/或者除去不需要处理的某些类型的标签读取的过滤器。
报警是用于表达用来评估数据流的规则的另一个机制。报警可以被表达为一组组合成策略的逻辑规则,它们对照可以包括该标签读/写事件的多个事件来评估。与这些规则相关联的动作可以是一个或多个用户定义/报警。例如,可以建立报警,以便如果逻辑源组件206在下午6点钟与上午6点钟之间注册标签读取,那么激活该报警,并可以警告以下之一监督者、安全代理等。而且,报警可以是以下的至少一项可听信号、文本消息、建筑物上的锁、电子邮件、灯、视频、运动、……。将会理解,模型组件202所创建的模型允许用户经由即插即用技术来将过滤器和/或报警实现到系统中。例如,系统可以利用能够评估规则/条件和/或根据该评估来对事件采取行动的规则引擎(RE)。
事件处理程序组件210另外还可以被包括在模型组件202内,以管理来自逻辑源组件206的事件。事件处理程序组件210可以用于以下的至少一项在标签读事件上实时地应用逻辑,和/或按特定方式来丰富事件;由较高等级的应用程序来消耗事件;当检测到空白标签读事件时写回标签;等等。事件处理程序组件210可以指定发生异常(例如(但不局限于),读错误和写错误)时的动作。将要理解,在执行(例如,管理过程专用事件)期间,这些异常可以来自逻辑源组件206。
根据本发明的一个方面,模型组件202所创建的模型允许定义和使用事件处理程序组件210的自定义实现。例如,如果规则引擎(RE)不允许过滤器和/或报警的实现,那么,事件处理程序组件210可以提供这类功能。而且,事件处理程序组件210可以被实现为实质上可以类似于过滤器和/或报警来利用的“捕捉所有(catch-all)”组件。仍然参考图2,模型组件202可以包括写处理程序组件212,它允许RFID过程至少根据外部输入和/或来自逻辑源组件206的事件来将命令发送到设备组件204,其中,事件是标签读事件、标签写事件和阅读器健康事件。事件处理程序也可以用来生成具有商业上下文的事件(例如,基于传入事件流以及外部数据源的自定义逻辑/评估的内部运动、发货事件)。
模型组件202可以包括RFID过程组件214,它是为模型提供有意义的执行单元的超级(unber)和/或高级对象。例如,RFID过程组件214可以是发货过程,该发货过程表示各种对接门处的多个设备,它们一起运作,以执行标签读取、过滤、读丰富、报警评估、以及汇点中的数据存储,以供主机应用程序检索/处理。在另一个例子中,RFID过程组件214可以执行制造过程,其中,设备被配置成根据位置来读、写。而且,可以在该位置处实现额外的功能,例如,过滤、丰富等。在另一个例子中,RFID过程组件214可以写到标签过程,其中,写处理程序组件212至少根据输入来实时地写到标签。写过程也可以通过读取数据并将其传回到主机检验写入是否获得成功。
模型组件202可以包括存储并检索框架实体(例如,设备、设备配置、RFID过程、从RFID过程中的逻辑实体到物理设备的映射)的数据存储器216。将会理解,数据存储216对于用户而言可以是可插的。另外,数据存储器216可以是(例如)易失性存储器或非易失性存储器,或者可以包括易失性和非易失性存储器。举例说明来讲(不作限制),非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、或闪存。易失性存储器可以包括随机存取存储器(RAM),它担当外部高速缓冲存储器。举例说明来讲(不作限制),RAM可以通过许多形式可用,例如,静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、存储器总线直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。本系统和方法的数据存储器216意在包括(而不局限于)这些和任何其他合适类型的存储器。此外,将会理解,数据存储216可以是服务器和/或数据库。具体地,数据存储216可以是为客户机计算机提供对数据库文件的高效率访问的计算机。
图4示出了便于RFID过程的创建和执行的系统400。可以使用模型组件402,它开发编程模型(未示出),从而允许RFID过程的创建和/或执行。将会理解,编程模型可以是基于事件的编程模型。例如,基于事件的编程模型可以创建至少一个逻辑RFID过程,它可以具有事件处理管道的声明性规范的核心(以上所讨论的)。基于事件的编程模型可以利用设计时支持,用于与逻辑设备交互。而且,编程模型可以经由规则(例如(但不局限于),过滤器规则、报警规则、变换规则、……)来支持商业逻辑。此外,基于事件的编程模型可以提供过程终点的声明性规范和/或用于与物理设备绑定和交互的部署时支持。模型组件402实质上可以类似于图2中的模型组件202和图1中的104,其中,可以在整个模型组件402中实现先前组件的以前所描述的功能。将会理解,模型组件402可以被用来创建编程模型,以便于构建与类属操作和/或商业专用情景相关联的RFID应用程序/过程。
模型组件402可以包括设置组件404,它设置和/或配置RFID过程,和/或RFID过程定义被加以设置和/或配置。设置组件404启动设备,设备可以是(但不局限于)RFID设备、RFID阅读器、RFID书写器、……。设置组件404通过发现至少一个设备来设置设备。将会理解,这类发现可以是(但不局限于)自动发现、手动发现(例如,利用配置文件)、其组合、……。另外,利用设置组件404的设备发现可以独立于RFID过程开发。根据本发明的一个方面,设置组件404可以对设备配置自定义属性。换言之,如果默认属性与该设备相关联,那么,直到该设备被映射到设备集合,才应用这一属性。
设置组件404可以在RFID过程的上下文中创建逻辑设备集合和/或逻辑书写器。设备集合可以被组合成逻辑源,它可以具有可任选的构造,例如(但不局限于),过滤器、报警、事件处理程序、……。将会理解,可以对逻辑源指定和/或配置这些可任选构造。然后,通过将设备和顶层逻辑源与这类设备相关联,设置组件404可创建RFID过程。此外,可以指定用于该过程的跟踪级别和/或执行跟踪选项/日志级别。
模型组件402也可以包括部署和/或维护至少一个RFID过程的部署/执行组件406。将会理解,部署可以包括读标签数据和/或写标签数据。通过利用过程中的逻辑实体到网络中的物理实体的用户定义的映射,部署/执行组件406部署该RFID过程。逻辑实体可以是(但不局限于)设备集合、逻辑书写器、书写器集合、阅读器集合、……。网络中的物理实体可以是(但不局限于)设备、阅读器、书写器、RFID设备、打印机、……。
根据本发明的一个方面,映射可以是RFID过程内的逻辑设备集合到物理阅读器设备的映射。例如,映射可以是以下的一项特定阅读器网际协议(IP)(例如,168.192.38.21、168.192.38.22、168.192.38.23);通配符集合(例如,168.192.38.*),其中*是指定任何合适的匹配字符的通配符;特定ID和通配符的组合(例如,168.192.38.21、168.38.22、168.192.39.*)。将会理解,通配符集合的实现在物理设备的扩展中会更加通用。例如,通过利用通配符,用户可以分配通配符集合范围内的IP地址,其中,该映射地址与该现有RFID过程兼容。如果使用特定IP地址,那么,这种新分配的IP将需要被并入该映射。
根据本发明的另一个方面,映射可以是RFID过程内的逻辑书写器到物理书写器设备的映射。将会理解,单个逻辑书写器可以映射到单个物理书写器。一与逻辑实体(例如,设备集合和/或逻辑书写器)匹配,就配置不具备自定义属性的设备。对于具有自定义属性的设备,应用默认的概况,随后应用自定义概况。
部署/执行组件406还可以执行RFID过程。RFID过程可以包括被配置成读取的阅读器(例如,数据搜集和评估/丰富;数据存储、以及事件处理)和书写器(例如,写入标签信息和验证)。部署/执行组件406对RFID过程的执行需要处理来自设备集合(例如,属于该设备集合的设备)的信息。例如,处理可以是,通过逻辑源中的各种和/或可任选组件(例如,过滤器、报警、事件处理程序、……)来传递事件(例如,实际的RFID标签、或阅读器向上/向下事件、……)。将会理解,事件处理程序可以经由对外部来源的查找来丰富和/或变换具有额外字段/自定义字段的传入数据,并且生成额外的实时事件。事件处理程序也可以被配置成当检测到标签时写入标签信息。而且,所处理的事件被存储到一汇点中。将会理解,RFID过程的执行会需要向书写器组件(未示出)发送独立于标签读事件将一些数据写到标签的命令。通过分离RFID过程的创建和部署,模型组件402可以创建允许用户/企业按模块化的、灵活的方式来构建和部署RFID过程的编程模型。
另外,维护组件408提供至少一个RFID过程的管理。RFID过程管理可以集中于在这类过程的使用寿命期间的在RFID过程执行(以上所讨论的)中所定义的过程。可以利用过程管理器(未示出)来开始和停止RFID过程。在一个例子中,RFID过程的使用寿命可以与操作系统服务的开始和/或停止有关。如果RFID过程正在运行,那么,在服务器正运行的同时,它可以被停止、更改和重新开始。
图5示出了便于利用对象模型来创建RFID应用程序的系统500。模型组件502可以用来通过利用对象模型和/或应用程序编程接口(API)创建和/或执行RFID应用程序。将会理解,模型组件502实质上可以分别类似于图4、2和1中的模型组件402、202和104。另外,模型组件502可以创建与RFID过程有关的对象模型和/或API,以提供类属操作和/或商业专用情景。
模型组件502可以包括允许用户、最终用户和/或工具创建和/或存储RFID过程的RFID过程对象模型(OM)组件504。RFID过程可以包括(但不局限于)以下内容至少一个逻辑源(例如,逻辑源是设备的逻辑合成和/或组合);可以用来在执行期间进行跟踪的;用于与具有写能力的设备交互(例如,将自定义写和/或自定义命令发送到设备)的写处理程序;等等。
模型组件502可以包括获得设备(不管设备类型如何)的元数据的发现OM组件506。而且,发现OM组件506可以获得以属性元数据形式的供应者。将会理解,发现OM组件506可以允许用户验证该设备是否有效(例如,可用于连通性、响应于轮询、通讯联络的、等等)。一般而言,发现OM组件506利用设备处理程序web服务接口。设备处理程序可以允许用户接收特定设备所支持的属性,其中,这些属性是可以在设备属性概况中的有效属性。也将会理解,设备处理程序可以检验给定设备是否有效。
RFID过程执行组件508可以允许最终用户和/或工具部署RFID过程。RFID过程执行OM组件508可以具有诸如(但不局限于)过程管理器的web服务接口。过程管理器可以管理和/或控制多个RFID过程,其中,管理与每个RFID过程相关联的过程引擎。这些RFID过程的管理可以包括(但不局限于)RFID过程的开始和/或停止。另外,RFID过程的执行顺序和/或序列可以由RFID过程执行OM组件508来确定。
模型组件502还可以包括为用户提供一组统一的API,以存储、检索和删除RFID框架实体(例如,RFID过程、设备、……)的存储OM组件510。该组统一的API可以允许最终用户工具按统一和/或一致的方式来访问、存储和/或修改持久存储中的RFID框架实体(例如,RFID过程、书写器、阅读器、打印机、……)。将会理解,这些API通过存储web服务接口来展示。根据本发明的一个方面,服务器可以由可包含该RFID过程的存储OM组件510以及RFID数据库内的适当表格中的设备来实现。
模型组件502可以包括能够操作RFID服务器的服务器管理器OM组件512。服务器管理器OM组件512可以允许外部应用程序配置和/或操作(例如,扭转(tweak))RFID服务器的行为。换言之,服务器管理器OM组件512允许设置RFID服务器的属性。将要理解,服务器管理器组件OM 512可以管理至少一个设备服务供应者,其中,设备服务供应者实质上可以类似于用于RFID设备的驱动程序。设备服务供应者可以为设备提供统一接口,以便RFID服务器可以与设备服务供应者(而不是特定设备)交互。服务器管理器OM组件512可以包括诸如(但不局限于)服务器管理器和供应者管理器的各种web服务接口。
授权OM组件514可以由模型组件502用来授权对RFID过程和/或设备实体中的至少一项的可访问性。对RFID过程和/或设备实体的访问可以至少基于与该特定RFID过程相关联的授权组的列表。授权组可以包括授权组的用户定义名称、指定读执行/修改删除/两者的访问级别的标志、以及用户/组列表。一般而言,授权组可以是命名对象,当与RFID过程和设备人工制品(artifact)相关联时,该命名对象为这些用户指定RFID商店用户列表和对人工制品的访问级别。授权组通常可以根据用户在组织中的角色(和/或对于各种人工制品的相关联的观点),例如(但不局限于),仓库经理、仓库雇员、DC经理、商店雇员等来配置。
例如,如果当在存储中创建RFID过程或设备的实例时启用授权,那么,只有创建过它的用户具有对该人工制品的读执行和修改删除访问。授权OM组件514可以提供API,以便将授权组列表与可以覆盖该人工制品上的默认许可的RFID过程或设备相关联。将会理解,独立于人工制品上的授权设置,所有者和/或管理用户可以具有对该人工制品的无限制访问。另外,授权组可以在存储级处与RFID过程相关联(例如,除用于支持在存储级处保存授权组的方法以外,也可以有相关联的API,以便将这类组与该RFID过程相关联)。
图6示出了便于使用可用来创建和/或执行RFID过程的模型的系统600。模型组件602可以用来创建该模型(未示出),其中,用户和/或最终用户可以根据这种模型在类属操作和/或商业特定情景中创建RFID过程。将会认识和/或理解,模型组件602可以实质上类似于图5中的模型组件502、图4中的402、图2中的202和图1中的104。
模型组件602可以包括可以处理来自逻辑源的事件和/或根据逻辑源将命令发送到设备的事件/写处理程序接口组件604。具体地,事件/写处理程序接口组件604可以利用至少一个接口来处理来自逻辑源的事件,和/或根据逻辑源来发送命令。例如,通过利用以下代码,可以用称为“ParameterMetaData”和“ParameterData”的结构来例示由“IEventHandler”引用的接口public struct ParameterMetaData{private string name;private System.Type type;
private IComparable lowerRange;private IComparable higherRange;}public struct ParameterData{private string name;private object data;}public interface IEventHandler{ParameterMetaData[]GetParmameterMetaData();void Init(ParameterData[]data,IContainer container);GenericEvent[]HandleGenericEvent(GenericEvent genericEvent);GenericEvent[]HandleTagReadEvent(TagReadEvent tagReadEvent);GenericEvent[]HandleTagListReadEvent(TagListReadEvent tagListReadEvent);GenericEvent[]HandleReaderUpEvent(ReaderUpEvent readerUpEvent);GenericEvent[]HandleReaderDownEvent(ReaderDownEvent readerDownEvent);}将会理解,“ParameterMetaData”和“ParameterData”可以是构造函数,其中,“ParameterData”包含只读属性。构造函数“ParameterData”也可以对照“ParameterMetaData”内的元数据来确认数据。参考“IEventHandler”,叔祖顺序将实质上等同于由函数“GetParameterMetaData()”所返回的顺序。也将会理解,“IEventHandler”可以是作用于来自设备集合的标签读取和/或事件的接口。
具体地,以上代码将“tagReadEvent”用作输入参数。可以修改标签列表中的标签数量,以确保由下一个组件处理更少和/或更多的标签。而且,“GenericEvent[]”叔祖(例如,表示内部运动的事件)由至少一个后续组件来处理。根据事件的导出类型,它被传递到下一个组件中的适当函数。例如,如果“GenericEvent”是“TagReadEvent”,那么,它可以被传递到下一个组件中的“HandleTagReadEvent()”函数。
可以利用由“EventBase”引用的类,以便包含用于访问事件专用数据的技术。例如,可以连同利用以下代码,以定义“IEventHandler”接口的例示内的参数和/或引用,来访问事件专用数据public class EventBase{
private EventContext context;private object data;//event enhancements go here}public class GenerieEventEventBase{}public class TagReadEventEventBase{private Tag tag;}public class TagListReadEventEventBase{private TagList tagList;}public class PlatformManagementEvent{}public class ReaderUpEventPlatformManagementEvent{private string readerName;}public class ReaderDownEventPlatformManagementEvent{private string readerName;}另外,事件/写处理程序接口组件可以利用以下代码来实现写处理程序接口public interface IWriteHandler{ParameterMetaData[]GetParmameterMetaData();void Init(ParameterData[]data,IContainer container);}模型组件602可以包括606提供用于应用程序组件的异常和/或超时中的至少一项的异常组件606。例如,通过调用该特定组件上的“IDisposable”接口内的“Dispose()”方法,可以处理这些异常和/或超时。将会理解,实现以上所讨论的这些接口的组件所定义的异常应该得自“RfidException”。例如,可以利用以下代码,以便提供与RFID过程相关联的异常和/或超时public class RfidExceptionApplicationException{public RfidException(string desc)base(desc){}
public RfidException(Exception e)base(″Rfid Exception″,e){}}public class InitFailedExceptionRfidException{...}可以理解,以上异常和/或超时可以对以上所讨论的一个以上的接口是公共的。此外,这些异常和/或超时可以由支持以下至少一项的组件来抛出过滤器(例如,IFilter)、报警(例如,IAlert)、动作(例如,IAction)、诸如“ITagDataSource”的标签数据源(例如,当调用初始方法时)、……另外,模型组件602可以包括提供安全模型的安全组件608。安全组件608可以提供可以连同操作系统服务来执行的用户帐户。该用户帐户可以利用特权,以便访问至少一个资源,其中,资源可以是(但不局限于)注册表、文件系统、存储、汇点数据库等。在一个例子中,与安全组件608相关联的特权不允许外部组件(例如,事件处理程序、写处理程序、规则引擎(RE)、……)继承与该用户帐户相关联的特权。在这个例子中,可以对该外部组件提供最小的特权,来执行代码。例如,将不会给出以下许可执行非受管代码的许可;对文件系统和/或注册表的访问;对设备的直接访问;等等。将会认识和理解,如果该外部组件要求特殊的特权来访问资源,那么,可以在个别的基础上获得这些特权。例如,用户的用户名和/或密码可以与允许访问这类资源的特权相关联。
仍然参考图6,模型组件602可以提供服务API组件610,以实现用于被展示为web服务的RFID框架中的至少一个API的类定义。服务API组件610可以使用(但不局限于)存储(例如,存储设备对象、设备对象列表、设备属性、绑定信息、设备名称、……)、设备处理程序(例如,检查设备信息是否表示有效设备)、过程管理器(例如,过程和/或有关的过程的开始和/或停止)、服务器管理器(例如,管理RFID服务器和/或设置阅读器属性)、供应者管理器(例如,识别所装载的供应者;提供所支持的元数据、默认属性概况、默认概况的覆盖、具有最新设置的属性概况、……中的一项)、组件管理器(例如,返回所公布和/或部署的策略名称列表、写处理程序汇编列表中的至少一项;注册事件处理程序汇编、写处理程序汇编、……中的至少一项)、等等。
图7示出了便于使用可以在设计时和/或运行时期间用来创建和/或执行RFID过程/应用程序的模型的系统700。设备服务供应者接口(DSPI)704可以提供到和/或来自物理/技术体系结构702的统一通信。物理/技术体系结构702可以是利用RFID和/或标签的至少一个物理设备的配置。DSPI 704可以经由设备-主机协议来接收数据和/或将数据传送到物理/技术体系结构702。将会理解,DSPI 704可以利用(但不局限于)有线和/或无线网络(例如,局域网(LAN)和广域网(WAN))。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括(但不局限于)点对点链路、电路交换网络(比如综合业务数字网(ISDN)及其变体)、分组交换网络、以及数字订户线(DSL)。
模型设计时组件706可以与DSPI 704交互,以创建和/或存储连同物理/技术体系结构702来加以利用的RFID过程。模型设计时组件706可以创建可以用来构建RFID过程/应用程序的编程模型和/或框架。将会理解,设计时组件706可以创建和/或存储至少一个RFID过程,其中,RFID过程被存储在存储OM组件708中。存储OM组件708可以进一步用来发送这一RFID过程,它由模型运行时组件710来实现。模型运行时组件710可以执行由模型设计时组件706创建的RFID过程。而且,可以在整个的该设计时和/或运行时期间利用实质上类似的编程模型和/或框架,以便创建和执行将要与物理/技术体系结构702相关联的特定RFID过程。如所描绘的,模型运行时组件710可以利用DSPI 704来传达和/或接收数据,从而允许RFID过程在物理/技术体系结构702内的至少一个物理设备上的执行。
图8示出了便于在设计时期间利用模型的系统800。模型设计时组件802可以利用这里所描述的体系结构来创建该模型。系统800描绘用于将要被创建和/或存储的RFID过程的框架的组件体系结构,其中,至少一个组件是以下的至少一项由该框架来实现、由该框架来提供、和/或被插入该框架。具体地,以下内容(以上已加以讨论)逻辑源组件804、事件处理程序806、策略808、汇点组件810、设备812和设备处理程序814,可以用于该框架的实现。RFID过程定义OM组件816、设备OM组件818和存储OM组件820(以上都加以讨论)可以由该框架来提供。然而,RFID过程创作组件822可以是插入该框架的插件组件。
图9示出了便于在运行时期间利用模型的系统900。模型运行时组件902可以利用这里所描述的体系结构来创建该模型。系统900示出了用于将要被检索和/或被执行的RFID过程的组件体系结构框架,其中,至少一个组件是以下的至少一项由该框架来实现、由该框架来提供、和/或被插入该框架。具体地,以下内容(以上都已被讨论)汇点904、事件906、装载器908、RFID引擎高速缓存910和授权组件912,可以用于该框架的实现。RFID过程创作组件914、过程管理器组件916和存储OM组件918(以上都加以讨论)可以由该框架来提供。然而,商业应用组件920可以是插入该框架的插件组件。
图10和图11示出了RFID框架类的类关系和/或分层表示。图10和图11中的RFID框架类的类关系和/或分层表示可以包括(但不局限于)如以下表格中可见的类关系

图12-13示出了根据本发明的方法。为解释简单起见,这些方法被描绘和描述为一系列动作。将会理解和认识,本发明不被所示出的动作和/或动作顺序限制,例如,动作可以按各种顺序和/或与这里没有呈现和描述的其他动作同时发生。另外,并不是所有被示出的动作都是实现根据本发明的方法所必须的。此外,本领域的技术人员将会理解和认识,作为选择,这些方法可以经由状态图或事件而被表示为一系列互相联系的状态。
图12示出了便于利用框架来提供创建和/或执行RFID过程的编程模型的方法1200。可以在设计时期间利用该编程模型,从中可以创建和存储RFID过程。当将要执行RFID过程时,该RFID过程可以从存储器(例如,磁盘)那里被上传,和/或在创建时直接实现。这样,分别在设计时和运行时期间利用该编程模型来创建和执行RFID过程。
在参考标号1202处,至少利用所接收的数据来例示模型框架。所接收的数据可以是(但不局限于)外部输入(例如,最终用户输入、应用程序开发者输入等)、设备相关数据(例如,天线数据、配置数据、标识、地址、版本、……)、供应者相关数据、标签数据、设备集合、过滤器策略、报警策略、逻辑源、事件处理程序、事件、……。此外,将会理解,该框架可以包括(但不局限于)实体(例如,设备、逻辑源、过滤器策略、报警策略、事件处理程序、跟踪器、写处理程序、RFID过程对象、存储等)、框架类、至少一个类的分层框架、接口、异常、组件结构、模式、对象模型、应用程序编程接口(API)、……。根据本发明的一个方面,该模型框架可以包括提供以下至少一项的组件结构由该框架实现的组件;由该框架提供的组件;以及被插入该框架的组件(例如,被展示为接口并可以按需要来实现以便适合应用专用情景的组件)。将会认识和理解,该模型框架不局限于以上所描述的组件体系结构。
在参考标号1204处,生成RFID过程。该RFID过程开发涉及设备设置和/或配置,其中,设备可以由自动、手动和/或其组合的过程来发现。此外,在该RFID过程的上下文中创建逻辑设备集合(例如,逻辑阅读器集合、逻辑书写器收集、逻辑书写器、……)。例如,可以在设计时期间对该逻辑设备集合进行用户定义。接下来,在RFID过程的开发中,设备集合(例如,阅读器集合、书写器收集、打印机集合、……)被组合成逻辑源,它具有额外的可任选构造,例如(但不局限于),过滤器、报警、事件处理程序。然后,通过将设备和顶层逻辑源与该RFID过程相关联,来创建该RFID过程。根据本发明的一个方面,可以指定跟踪级别,和/或可以为该RFID过程来执行跟踪选项/日志级别。
在参考标号1206处,部署和维护该RFID过程。通过利用该RFID过程中的逻辑实体到物理实体的映射,来部署该RFID过程。将会理解,逻辑实体可以是(但不局限于)设备集合、阅读器集合、逻辑书写器、……。而且,将会理解,物理实体可以是(但不局限于)设备、阅读器、书写器、打印机、……。逻辑实体到物理实体的映射可以包括以下的一项RFID过程内的逻辑设备集合映射到物理设备、;RFID过程内的逻辑阅读器集合映射到物理阅读器设备;RFID过程内的逻辑书写器映射到物理记录器设备;等等。另外,通过在整个使用寿命期间管理这些过程,来为该RFID过程提供维护。可以使用管理器来开始和/或停止RFID过程。将会理解,如果RFID过程正在运行,那么,在服务器正运行的同时,它可以被停止、更改和重新开始。
在参考标号1208处,通过利用该模型框架来执行RFID过程。这样,在RFID过程的设计时创建以及RFID过程的运行时执行的期间,利用该模型框架。RFID过程的执行需要处理来自设备集合内的物理设备的信息。处理可以是通过逻辑源中的组件来传递事件。将会理解,事件处理程序可以用附加字段/自定义字段来丰富和/或变换传入数据,以生成额外的实时事件。而且,当检测到标签时,事件处理程序可以写入标签信息。
将会理解,本发明可以提供RFID过程生命周期。首先,创建具有设备集合、事件策略和事件处理程序中的至少一项的逻辑源。接下来,可以实现诸如策略和/或事件处理程序的自定义组件。然后,逻辑源可以被连接起来,以创建具有跟踪器和/或安全选项的过程。设备可以被配置,阅读器集合可以在过程中与物理设备绑定,然后加以部署。可以从这个/这些执行过程、所管理的设备和/或过程中来检索信息。而且,可以利用动态策略变形来重新配置这些过程(例如,在过程的运行期间)。
图13示出了便于利用并入至少一个框架概念的模型框架来创建RFID过程的方法1300。在参考数字1302处,从服务器那里获得有关的设备。该有关的设备可以是(但不局限于)具有自定义属性概况的设备。根据本发明的一个方面,可以通过自动发现来获得和/或发现设备。例如,设备可以传送表示它可用的信号。这样,服务器可以接收该信号,并可以被通知该设备可用。根据本发明的另一个方面,发现可以是手动配置。例如,配置文件可以用来装载设备配置,并在RFID过程定义中利用该设备。作为选择,可以利用存储机制来将设备个别地载入服务器存储(例如,假设在运行时间,存在反映出设备配置的设备的物理部署)。不管是使用自动发现还是手动配置,一旦被发现,RFID应用程序就可以接收它感兴趣的设备信息。在1304处,配置各自的手动发现的设备(将要为其设置定制的属性概况)。这种配置可以包括(但不局限于)阅读器身份(例如,名称/ID、位置)、读/写设置、数据获取参数、基本读过滤器位模式、平滑/事件生成参数、和/或自定义属性。将会理解,这些操作可以通过用编程方式利用如以上所讨论的设备OM组件来实现。接下来,在参考标号1306处,从设备映射出数据集合。这样,来自设备的数据集合被映射出,并通过(例如)逻辑设备集合、逻辑阅读器集合、逻辑书写器集合、……来加以处理。一旦处理了数据集合的映射,就在逻辑源中表示它。接下来,在参考标号1308处,使用可任选的配置和/或关联。过滤器可以经由过滤器策略而被可任选地配置并与逻辑源相关联。此外,报警可以经由报警策略而被配置并关联。至少一个可用的事件处理程序可以被配置并与逻辑源相关联。
在参考标号1310处,创建和/或存储RFID过程。通过集合逻辑源和设备来表示单个实体,可以创建该RFID过程。将会认识和理解,可用跟踪器可以被用来指定用于该RFID过程的跟踪选项。一旦被创建,该RFID过程就可以被存储和/或被保存到存储器。而且,将会理解,通过利用以上所讨论的RFID过程定义OM组件,可以实现参考标号1306、1308、1310。接下来,参考标号1312执行和/或部署该RFID过程。执行和/或部署可以包括根据模型框架来创建的一个或多个RFID过程。另外,执行和/或部署需要设置从RFID过程中的逻辑实体到物理设备的映射。在1314处,可以测试和/或监视该RFID过程的执行。例如,测试可以提供模拟的数据输入,并观察输出执行流。在另一个实例中,可以监视执行结果,例如(但不局限于),RFID过程执行踪迹、错误、异常、设备健康事件、……。
为了提供用于实现本发明的各个方面的附加环境,图14-15和下文意在简要、概括地描述可以在其中实现本发明的各个方面的合适的计算环境。尽管上文已在运行于本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文中描述本发明,但本领域的技术人员将会认识到,也可以结合其他程序模块来实现本发明。通常,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。
而且,本领域的技术人员将会理解,本发明的方法可以利用其他计算机系统配置,来实现,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、以及个人计算机、手持计算设备、基于微处理器的和/或可编程的消费电子设备等,其每一个都可以操作上与一个或多个相关联的设备进行通信。所示出的本发明的各方面也可以在分布式计算环境中实践;在分布式计算环境中,某些任务由通过通信网络而被连接的远程处理设备来执行。但是,本发明的某些(如果不是全部)方面可以在独立计算机上实践。在分布式计算环境中,程序模块可以位于本地和/或远程记忆存储设备中。
图14是可以与本发明交互的示例计算环境1400的示意框图。系统1400包括一个或多个客户机1410。客户机1410可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1400也包括一个或多个服务器1420。服务器1420可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,通过使用本发明,这些服务器1420可以容纳线程,来执行变换。
客户机1410与服务器1420之间的一个可能的通信可以采取适合于在两个或更多的计算机进程之间传送的数据包的形式。系统1400包括通信框架1440,该通信框架1440可以用来促进客户机1410与服务器1420之间的通信。客户机1410操作上连接到可以用来存储对客户机1410本地的信息的一个或多个客户机数据存储1450。同样,服务器1420操作上连接到可以用来存储对服务器1440本地的信息的一个或多个服务器数据存储器1430。
参照图15,用于实现本发明的各个方面的示例性环境1500包括计算机1512。计算机1512包括处理单元1514、系统存储器1516和系统总线1518。系统总线1518将包括(但不局限于)系统存储器1516的各个系统组件耦合到处理单元1514。处理单元1514可以是各种可用处理器中的任何一种。双微处理器和其他多处理器体系结构也可以用作处理单元1514。
系统总线1518可以是几种类型的总线结构中的任何一种,包括存储总线或存储控制器、外围总线或外部总线、和/或使用任何各种可用总线体系结构的任一种的局部总线,这些总线体系结构包括(但不局限于)工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展的ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、插件总线(Card Bus)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE 1394)、以及小型计算机系统接口(SCSI)。
系统存储器1516包括易失性存储器1520和非易失性存储器1522。基本输入/输出系统(BIOS)被存储在非易失性存储器1522中,它包含用于(例如,在启动期间)在计算机1512内的各个元件之间传送信息的基本例程。举例说明来讲(不作限制),非易失性存储器1522可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器1450包括随机存取存储器(RAM),它担当外部高速缓冲存储器。举例说明来讲(不作限制),RAM可采取许多形式,例如,静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、存储器总线直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
计算机1512也包括可移动/不可移动的易失性/非易失性计算机存储介质。图15示出了(例如)盘存储1524。盘存储1524包括(但不局限于)比如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒等设备。此外,盘存储1524可以单独包括存储介质或与其他存储介质结合,存储介质包括(但不局限于)光盘驱动器,例如,光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为了便于盘存储设备1524与系统总线1518的连接,通常使用可移动或不可移动的接口(例如,接口1526)。
将会理解,图15描述了担当用户与合适的操作环境1500中所描述的基本计算机资源之间的中介物的软件。这种软件包括操作系统1528。操作系统1528(它可以被存储在盘存储1524上)用于控制和分配计算机系统1512的资源。系统应用程序1530通过存储在系统存储器1516中或盘存储1524上的程序模块1532和程序数据1534,来利用操作系统1528所执行的资源管理。将会理解,可以利用各种操作系统或操作系统的组合来实现本发明。
用户通过输入设备1536来将命令或信息输入计算机1512。输入设备1536包括(但不局限于)定点设备(例如,鼠标、跟踪球、触针、触摸垫)、键盘、话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪、TV调谐卡、数码照相机、数码摄像机、web照相机等。这些和其他输入设备经由接口端口1538并通过系统总线1518而连接到处理单元1514。接口端口1538包括(例如)串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备1540将某种类型的端口中的一些用作输入设备1536。这样,例如,USB端口可以被用来将输入提供给计算机1512,并将信息从计算机1512输出到输出设备1540。提供输出适配器1542,以说明有一些输出设备1540,比如监视器、扬声器和打印机等其他输出设备1540,它们要求特殊的适配器。举例说明来讲(不作限制),输出适配器1542包括在输出设备1540与系统总线1518之间提供连接手段的视频卡和声卡。应该注意,其他设备和/或设备的系统既提供输入能力,又提供输出能力(例如,远程计算机1544)。
计算机1512可以使用与一台或多台远程计算机(例如,远程计算机1544)的逻辑连接而在联网环境中进行操作。远程计算机1544可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的设备、对等设备或其他普通网络节点等,它通常包括相对于计算机1512而描述的许多或所有元件。出于简洁的目的,对远程计算机1544仅示出记忆存储设备1546。远程计算机1544通过网络接口1548而在逻辑上被连接到计算机1512,然后经由通信连接1550而在物理上被加以连接。网络接口1548包含有线和/或无线通信网络,例如,局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括(但不局限于)点对点链路、电路交换网络(比如综合业务数字网(ISDN)及其变体)、分组交换网络以及数字订户线(DSL)。
通信连接1550指的是用来将网络接口1548连接到总线1518的硬件/软件。为说明清楚起见而在计算机1512内部示出通信连接1550,但它也可以在计算机1512的外部。仅仅出于示范的目的,连接到网络接口1548所需的硬件/软件包括内部和外部技术,例如,包括常见电话级调制解调器、电缆调制解调器和DSL调制解调器的调制解调器;ISDN适配器;以及以太网卡。
以上所描述的包括本发明的例子。当然,不可能为描述本发明而描述组件或方法的每个想得到的组合,但本领域的技术人员可以认识到,可能存在本发明的许多其他组合和排列。因此,本发明意在包含落入所附权利要求书的精神和范围以内的所有这类改变、修改和变更。
特别是,关于上述组件、设备、电路、系统等所执行的各种功能,用来描述这类组件的术语(包括对“装置”的参考)意在对应于(除非另有指示)执行所描述的组件(例如,功能等效物)的规定功能的任何组件,即使在结构上不等同于所揭示的执行本发明的此处所示出的示例性方面中的功能的结构,也是如此。在这方面,也将会认识到,本发明包括系统以及计算机可读介质,该计算机可读介质具有用于执行本发明的各种方法的动作和/或事件的计算机可执行指令。
此外,尽管只相对于几项实现中的一项来揭示本发明的具体特征,但这种特征可以与其他实现的一个或多个其他特征相结合,对于任何给定或特定的应用程序而言,这可能是想要的和有利的。另外,就术语“包括”及其变体用于详细描述或权利要求书中来说,这些术语意在按类似于术语“包含”的方式来起包含的作用。
权利要求
1.一种便于利用RFID过程的系统,包括一接收与设备、可编程输入中的至少一项有关的数据的组件;以及一模型组件,它利用所接收的数据来创建一在设计时构建所述RFID过程并在运行时执行所述RFID过程的框架,所述框架包括实体、对象模型、类分层结构和API中的至少一项。
2.如权利要求1所述的系统,其特征在于,所述实体是以下的至少一项逻辑源;包括设备的逻辑源;设备;过滤器策略;报警策略;事件处理程序;写处理程序;存储;以及所述RFID过程。
3.如权利要求2所述的系统,其特征在于,所述设备是以下的至少一项RFID阅读器;RFID书写器;RFID打印机;打印机;阅读器;书写器;RFID兼容设备;RFID发送器;天线;传感器;实时设备;以及RFID接收器。
4.如权利要求2所述的系统,其特征在于,所述逻辑源结合设备集合、过滤器、报警、事件处理程序和附加逻辑源中的至少一项。
5.如权利要求2所述的系统,其特征在于,所述逻辑源表示以下的至少一项来自对所述至少一个实体公用的服务器上的物理设备的数据流;以及所述RFID过程内的标签数据的处理。
6.如权利要求2所述的系统,其特征在于,所述过滤器策略是一组逻辑构造,该组逻辑构造经由可以允许有效标签列表的一组逻辑规则而在所述逻辑源上所指定的传入原始数据流上执行。
7.如权利要求2所述的系统,其特征在于,所述报警策略是一组逻辑规则,该组逻辑规则对照数据流来评估,以制定至少一个动作,其中,所述动作是以下的至少一项执行报警;警告合适的授权机构;锁定位置;执行可听报警器;执行文本消息;执行电子邮件;执行灯;执行运动;以及执行视频。
8.如权利要求1所述的系统,其特征在于,所述框架提供表示逻辑过程的处理的逻辑布局的定义,其中,所述逻辑过程可以在运行时与物理设备绑定,以提供逻辑模型和物理模型的清晰分离。
9.如权利要求2所述的系统,其特征在于,所述事件处理程序处理来自所述逻辑源的事件,以提供以下的至少一项丰富事件流;以及生成具有商业上下文的附加事件。
10.如权利要求2所述的系统,其特征在于,所述写处理程序提供所述RFID过程,以便根据以下的一项将命令发送到设备外部输入和来自所述逻辑源的事件。
11.如权利要求2所述的系统,其特征在于,所述存储表示用于包含所述实体、所述RFID过程、以及从所述RFID过程中的实体到所述设备的映射的机制。
12.如权利要求1所述的系统,其特征在于,所述对象模型是以下的至少一项允许RFID过程的创建和存储的RFID过程定义对象模型(OM);获得属性元数据形式的供应者的各种类型的设备的元数据并验证设备有效性的发现OM;允许RFID过程的部署的RFID过程执行OM;提供统一的API来存储、检索和删除所存储的实体的存储OM;为服务器的至少一个设置提供修改的服务器管理器OM;以及提供与RFID过程和设备之一的访问有关的授权的授权OM。
13.如权利要求1所述的系统,其特征在于,所述模型还包括以下的至少一项异常;超时;根据用户帐户和操作系统服务的相关联特权来提供安全服务的安全组件;使用可以用来实现将命令发送到设备来进行写入和处理来自逻辑源的事件中的一项的接口的处理程序接口;以及服务API组件。
14.如权利要求13所述的系统,其特征在于,所述服务API组件定义将要被展示为web服务的模型中的以下API中的至少一项存储;设备处理程序;过程管理器;服务器管理器;供应者管理器;以及组件管理器。
15.一种计算机可读介质,其上存储如权利要求1所述的系统的组件。
16.一种便于利用RFID过程的计算机实现的方法,包括利用所接收的数据和框架概念来例示一框架;在设计时利用所述框架来开发所述RFID过程;经由所述框架来部署和维持所述RFID过程;以及在运行时利用所述框架来执行所述RFID过程。
17.如权利要求16所述的方法,其特征在于,还包括获得设备;配置所述设备;映射来自所述设备的数据集合;通过结合逻辑源和所述设备来表示单个实体,创建所述RFID过程;以及设置从所述RFID过程中的实体到物理设备的映射。
18.如权利要求17所述的方法,其特征在于,还包括通过自动发现和手动发现之一来发现感兴趣的设备;配置过滤器、报警、事件处理程序和写处理程序中的一项;以及保存所述RFID过程。
19.一种在接收器组件与模型组件之间进行通信的数据包,,所述数据包促进如权利要求16所述的方法。
20.一种便于实现RFID过程的计算机实现的系统,包括用于接收与设备、供应者、可编程输入中的一项有关的数据的装置;用于根据所接收的数据来创建模型的装置,所述模型可以用来在设计时构建RFID过程;以及用于利用所述模型在运行时执行所述RFID过程的装置。
全文摘要
本发明提供了一种便于至少根据框架来使用模型的系统和/或方法,其中,该模型可以用来构建RFID应用程序。接收器组件可以接收数据,其中,模型组件可以至少部分地根据所接收的数据来创建便于创建和/或执行RFID应用程序的模型。该框架可以是(但不局限于)实体、框架类、至少一个类的分层结构框架、接口、异常、组件结构、模式、对象模型和/或API。该模型可以用来创建、部署、管理和/或执行RFID应用程序,以提供类属操作和/或商业专用情景。
文档编号H04L29/06GK1804853SQ200510091090
公开日2006年7月19日 申请日期2005年8月1日 优先权日2004年9月1日
发明者A·库玛, M·F·A·阿罕默德, J·R·古特蒂, V·G·R·雷迪, V·阿楠萨哈拉曼, A·阿贾瓦尔, B·斯瑞拉姆, R·凡卡特史 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1