读取器应用程序标记语言模式的制作方法

文档序号:7621553阅读:132来源:国知局
专利名称:读取器应用程序标记语言模式的制作方法
技术领域
本发明一般涉及射频标识(RFID),尤其涉及便于执行与RFID系统和/或方法相关联的RFID处理的语言模式。
相关申请本申请声明对序列号为60/606,281于2004年9月1日提交的题为“Systems andMethods that Facilitate RFID Server Programming Model and API’s”(“便于RFID服务器编程模型和API的系统和方法”)的美国临时专利申请,以及序列号为60/606,577于2004年9月2日提交的题为“Facilitate RFID Server ProgrammingModel and API’s”(“便于RFID服务器编程的模型和API”)的美国临时专利申请的权利。这些申请在此全部引入作为参考。
背景技术
许多零售、制造和销售公司正在应用不同的创新操作方法来增加效率。这些公司监视存货目录以最优化与消费者相关的供需关系。利润最大化的一方面取决于适当的存货使补充随货物和/或产品的穷尽而发生。例如,零售计算机和VCR的零售商必须相对其客户销售库存计算机,并相对其客户销售库存VCR。因而,如果计算机比VCR的需求更旺(例如售出更多单元),零售商可更频繁地库存计算机以便优化供需以及利润。监视存货及相关销售是复杂的任务,其中产品活动就像是黑盒子,因为其内部运作是不知道的;因而监视产品在存货/产品效率中是关键因素。
一类与产品相关的监视系统和/或方法是在制造业、服务业和包装运输业广泛使用的便携式图像收集装置(例如条形码读取器)。这种装置可执行各种现场数据收集活动。便携式数据收集装置常常包括适于在仓库、零售店、货运中心中读取附在产品、产品包装和/或集装箱上的条形码数据形式的集成式条形码读取器,用于库存控制、跟踪、产品控制和发送、质量保证和其它目的。
唯一的条形码可被置于产品上,其中该条形码可与产品相关的信息相关联。例如,条形码扫描仪可被用来扫描产品上的条形码,而信息可基于扫描得到检索。然而,这种标识信息是令人不舒服的,因为这样的信息可使产品变得杂乱。此外,泪迹、污迹、标注或其它对条形码的物理损坏/改变可使得这种常规系统和/或方法基本无用。如果从产品上撕下部分条形码,则条形码扫描仪将不能正确读取该条形码。类似地,产品上的污迹将使这种条形码不可读。
此外,使用条形码读取器和通用产品代码(UPC)监视的系统和/或方法更使用户(例如零售商、批发商、制造商)面对其它复杂因素。条形码读取器需要一瞄准线以便适当地监视产品。例如,典型的条形码系统需要扫描仪在条形码和/或UPC的4-8英寸之内以便于适当读取。不仅条形码系统需要瞄准线,而且为了标识产品对每个产品的手工扫描也是必须的。此外,单个条形码和/或UPC必须表示产品的所有实例(例如,一瓶品牌为Tomato的番茄酱被标明一个UPC和/或条形码用于表示产品)。此外,与单个条形码和/或UPC相关联的信息量是有限的。因而,对品牌Tomato番茄酱的扫描可给出产品标识和价格。该信息不仅是脆弱的,而且不利于实时产品监视。
自动标识和数据捕捉(AIDC)技术,特别是射频标识(RFID)已经至少基于解决上述监视系统和/或方法(例如条形码读取器、条形码、和/或UPC)的缺乏的需要得到了开发。RFID是一种利用RFID标签远程存储和检索数据的方法。由于RFID系统基于射频及相关联信号,许多益处和/或优点超越了监视产品的传统技术。RFID技术不需瞄准线来从RFID标签监视产品和/或接收信号。因而,不需要进行扫描仪需要接近目标物(例如产品)的手工扫描。然则范围在RFID中基于射频、RFID目标大小、及相关联电源而受到限制。此外,RFID系统允许在几秒内多次读取,从而提供快速扫描和标识。换言之,当标签在RFID读取器范围之内时,RFID系统允许读取和/或标识多个标签。RFID系统中多个读取的能力还被辅以对每个产品提供包含唯一标识码的信息标签的能力。因此,与条形码系统不同,品牌Tomato的每瓶番茄酱将具有一相关联标识码。例如,品牌Tomato的两瓶番茄酱具有与其相关联的RFID系统内的两个不同标识码;而在条形码系统中,品牌Tomato的两瓶番茄酱只具有同一条形码和/或UPC。在另一示例中,RFID系统和/或方法可在水中实现,诸如跟踪和/或监视水下管道,而条形码监视系统在这种条件下呈现许多复杂因素。
此外,RFID系统和/或方法提供与加标签物相关联的实时数据。实时数据流使得零售商、批发商和/或制造商具有用精确优化供需来监视库存和/或产品。利用RFID还可便于在前端销售(例如零售商对客户)和后端销售(例如批发商/制造商对零售商)上提供产品、零售商和/或制造商可监视商品、质量、数量、运送时间等。此外,零售商可跟踪接收的存货数量、存货的地点、质量、保存限期等。所示优点显示;RFID技术的灵活性以在多个领域上发挥作用,诸如前端供货、后端供货、销售链、制造、零售、自动化等。
RFID系统至少由RFID标签和RFID收发器组成。RFID标签可包含提供收发来自RFID收发器的射频查询的天线。RFID标签可以是一小物体,比如粘性标签、柔软的极薄标签等。RFID标签通常可采用4种不同频率低频标签(125-134千赫兹)、高频标签(13.56兆赫兹)、UHF标签(868-956兆赫兹)和微波标签(2.45千兆赫兹)。
在各种频率范围内,RFID标签可以是无源或有源的。无源RFID标签不包含电源,但通过接收RFID收发的射频在天线中感应出小电流为标签的响应提供足够的电源。至少基于电源的缺乏,只包括ID号(例如全球唯一标识符(GUID))的无源RFID标签响应很短暂。GUID是唯一的伪随机码,并可由16进制的16字节号码的标准通用唯一标识符(UUID)来实现。然而,RFID系统和/或方法集中于以例如称为电子产品码(EPC)的64比特或96比特格式存储信息。无源RFID标签中缺少电源使得装置变得较小并具有较高性价比。一些无源RFID标签被测为0.4毫米×0.4毫米,其厚度比一张纸厚一些。但是,电源的缺少使无源RFID标签的实际读取范围被限制在10毫米到约5米。
有源RFID标签包含允许更大读取范围的电源。有源RFID标签的尺寸约是美元硬币大小,提供约为几十米的实际读取范围同时包含高达若干年的电池寿命。此外,可读写有源RFID标签。例如,RFID标签可提供一附加保护层以阻止窃贼写有源RFID标签。安全比特可至少基于RFID收发器确定安全状态。例如,在一安全系统中,有源RFID标签可具有设置/写入为1的安全比特,指示该产品尚未获准不触发警报/警告而离开安全区域。一旦适当情况存在,RFID系统和/或方法可将标签上的比特写为0,指示加标签产品获准后才可离开安全区域。
RFID系统可由多个组件组成标签、标签读取器(例如标签收发器)、标签编程站、流通读取器、排序装置、标签存货棒等。此外,各种制作、模型、类型、和应用可与每个组件(例如标签、标签读取器、标签编程站、流通读取器、排序装置、标签存货棒等)相关联,从而使发现、配置、设置、通信、维护、安全和/或RFID系统内及与其它RFID系统的兼容性变得复杂化。根据上述内容,需要对制作者提供发现、配置、设置RFID装置并与之通信的统一方法及其相关联规范。

发明内容
以下显示了本发明的简化归纳,以便提供对本发明一些方面的基本理解。该归纳不是本发明的广泛纵览。它并非旨在标识本发明的关键/重要元素或描绘本发明的范围。其唯一目的是用简化形式表示本发明的一些概念,作为后面呈现的更详细描述的序幕。
本发明涉及通过采用提供一便携式格式以设置和/或配置RFID过程的读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行该RFID过程的系统和/或方法。一模式组件可接收与RFID配置相关的RFID数据并创建RAML模式。RFID数据(例如过程相关数据)可以是,但不限于是由RFID体系结构内的RFID读取器发现和/或配置的。此外,RFID数据是过程相关数据。一旦接收,模式组件至少基于RFID数据(例如过程相关数据)来创建RAML模式,以提供便于执行RFID过程的便携式格式。RAML模式指定一逻辑读取器集合、用于过滤器和/或警报的事件策略、事件处理器、写处理器、和/或包括RFID过程的跟踪信息。
根据本发明一方面,模式组件还包括至少基于所接收的RFID数据来创建RAML模式的发生器组件。该RAML模式可创建成使其还包含一子系统定义(例如服务器中全部发现和配置读取器的集)和一过程定义。子系统定义包含对服务器中独立于过程的实体的定义。此外,子系统定义对服务器状态和在其上建立过程的实体进行定义。另一方面,过程定义包含过程相关联实体和相互间关系。通过创建RAML模式以包含子系统定义和/或过程定义,RFID过程的执行通过提供用于该被定义RFID过程的设置和使用的一便携式格式来促成。
根据本发明另一方面,RAML模式可存储于存储器和/或数据存储器,以便于通过提供在形式和可用性上多样化的便携式格式来促成执行RFID过程。该模式组件可创建RAML模式并将其存储于数据存储器和/或存储器中,从而可动态地或在后来利用该RAML模式。用于RAML模式的存储器和/或数据存储器可以是易失性和/或非易失性存储器。
根据本发明又一方面,可包括设置组件,以便于通过分析从RFID体系结构和/或RFID配置接收的RFID数据来向模式组件提供RFID数据(例如过程相关数据)的子集。RFID体系结构可包括多个RFID读取器集合,其中读取器集合还包括至少一个能读取RFID标签的RFID读取器。该设置组件可分析RFID体系结构来发现RFID读取器及相关联数据,诸如但不限于配置、特殊设置、授权等。设置组件在允许模式组件创建RAML模式,以便于执行RFID过程的RFID体系结构中确定RFID读取器及其相关联数据,其中RAML模式包括例如子系统定义(例如RFID网络定义)和/或过程定义。该RAML模式指定一逻辑读取器集合、用于过滤器和/或警报的事件策略、事件处理器、写处理器、和/或包括RFID过程的跟踪信息。
以下说明书和附图详细陈述本发明的某些说明性方面。然而,这些方面是说明性的,仅仅示出了本发明诸原理可在其中采用的各种方式的几种,且本发明旨在包括所有这些方面及其等效方案。参阅附图时,本发明的其它优点和新特征在本发明的以下详细说明中会变得显而易见。


图1示出通过创建和/或采用一模式便于执行RFID过程的示例性系统的框图。
图2示出通过创建和/或采用一模式并将该模式存储于数据存储器中而便于执行RFID过程的示例性系统的框图。
图3示出通过创建和/或采用包含一子系统定义(例如RFID网络定义)和一过程定义的一模式而便于执行RFID过程的示例性系统的框图。
图4示出通过创建和/或采用一模式便于执行RFID过程的示例性系统的框图。
图5示出通过创建和/或采用一模式便于执行RFID过程的示例性系统的框图。
图6示出通过采用一读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行一RFID过程的示例性方法的流程图。
图7示出通过采用一读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行一RFID过程的示例性方法的流程图。
图8示出通过采用一读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行一RFID过程的示例性方法的流程图。
图9示出一示例性网络化环境,其中可采用本发明的新方面。
图10示出一示例性网络化环境,其中可采用本发明的新方面。
具体实施例方式
当用于本发明时,术语“组件”、“系统”等旨在指向计算机相关实体硬件、软件(例如执行中的)、和/或固件。例如,组件可以是,但不限于是,运行于处理器的过程、处理器、对象、可执行组件、执行线程、程序和/或计算机。作为说明,运行于服务器上的应用程序和服务器都可以是组件。一个或多个组件可驻留于执行的过程和/或线程中,且组件可在一台计算机上本地化和/或分布在两台或多台计算机之间。
本发明参照附图进行说明,其中贯穿所有附图相同数字代表相同元件。在以下说明中为作解释,陈述有很多具体细节以便提供对本发明的全面理解。然而没有这些具体细节也可实践本发明是显然的。在另外的实例中,为便于描述本发明,众所周知的结构和设备以框图形式示出。
图1示出利用一模式便于在RFID体系结构中执行至少一个射频标识(RFID)过程的系统100。作为与RFID体系结构相关联的过程相关数据的RFID数据可通过模式组件102接收,其中读取器应用标记语言(RAML)模式被用来包含对服务器中所有实体的定义以及对与实体相关的所有过程及相互关系的定义。模式组件102生成RAML模式从而定义服务器状态及在其上建立过程的实体,并定义相关联的RFID过程。此外,模式组件102利用RAML模式来表示服务器的状态及被开发由运行时使用的过程。一旦RFID数据已被模式组件102获取,例如RAML的被用来向RFID体系结构提供RFID服务104的模式可被实现,来为过程/服务提供便携式格式(例如RAML模式)。可以理解,RAML模式是表示单个RFID过程的可扩展标记语言(XML)模式(例如XML的声明性过程定义)。此外,RAML模式指定一逻辑读取器集合、用于过滤器和/或警报的事件策略、事件处理器、写处理器、和/或包括RFID过程的跟踪信息。
根据本发明一方面,由模式组件102接收的RFID数据允许包含子系统定义(例如RFID网络定义)和过程定义的RAML模式生成。RFID数据可包含由至少一个逻辑读取器组合组成的至少一个子系统读取器组合的集,其中逻辑读取器组合具有在RFID服务104中利用的至少一个读取器。在一示例中,至少一个逻辑读取器组合可包含子系统读取器组合中的多个RFID读取器,其中每个标签读取器具有一相关联引用(例如名字、地址等)、读取器设置(例如对物理读取器的设置)、传输设置(例如TCPIP、串行、HTTP、无线等)、属性(例如,可应用于读取器的属性及相关联属性引用)、以及过程(例如,封装允许商业逻辑运行的必需信息及相关联过程引用)。可以注意和理解,与每个标记读取器相关的关联可在绑定和使用时发生,而这种关联可用RAML模式封装。此外,可以理解,引用可区分/鉴别一子系统读取器集合(例如读取器的RFID网络集合)与另一集合(例如读取器集合1、读取器集合2、等)。注意第一读取器集合和第二读取器集合可包含同一物理读取器,其中各自的绑定可不同(例如逻辑读取器集合以RAML指定并在运行时绑定于一个或多个物理读取器)。
例如,包含5个仓门的仓库可具有与每个门相关联的RFID读取器。整个仓库的子系统读取器集合(例如调用读取器集合、读取器的RFID网络集合等)可用例如warehouse_readercollection1引用,其中每个仓门上的RFID读取器可被组合到一读取器集合中从而产生5个读取器集合(例如readerdockdoor1、readerdockdoor2、等)。仓门上的每个读取器可具有,例如,一引用(例如readerdockdoor1、readerdockdoor2、等)、读取器设置(设置到0.5米的RFID范围)、传输设置(例如TCPIP)、属性(例如带有引用property1_readerdockdoor1的超时属性)、以及过程(例如由诸如RAML的便携式格式模式创建)。
此外,由模式组件102获取的RFID数据采用一读取器应用标记语言(RAML)模式,它由包含子系统定义内(例如RFID网络定义、装置配置定义、服务器中所有发现和配置读取器的集的定义等)所有过程相关实体及相互关系的过程定义组成,比如逻辑源(例如逻辑源、读取器集合、和/或事件处理器的至少之一的集合)、跟踪器日志(例如跟踪至少一个RFID读取器的活动)、参数集合、安全(例如被授权创建、更新和/或执行的RFID读取器)、过滤器、警报、事件处理器、和数据信宿(例如数据集合)。因而,由上述可知,整个仓库的子系统读取器集合(例如通用读取器集合、读取器的RFID网络集合)具有可由模式组件102接收的过程相关实体及相互关系,从而使得为RFID服务/过程提供便携式格式的RAML模式能应用于RFID体系结构。
在一示例中,模式组件102可获取RFID数据以创建并利用一模式来实现RFID服务104,其中RFID服务104是表示在各个仓门上的多个读取器一起工作以执行标签读取、过滤标签读取、强化标签读取、评估警报、并将相关数据存储到主应用的信宿中的一个“运送过程”。仓门可包含其中可提供源标签的多次阅读的多个标签读取器。这样的多次读取可进行读取和过滤,其中例如同一ID的多次读取被过滤掉(例如丢弃)。此外,警报可与这样的标签读取相关联,比如警告一源标签的抵达和离开。这种RFID数据可由模式组件102利用以便生成一种在RFID体系结构中允许用于RFID过程的便携式格式的模式。
在又一示例中,模式组件102可接收RFID数据以创建并利用一模式来实现RFID服务104,诸如读取器被配置成至少基于货物的特定位置来读写的“制造过程”。可以理解,该“制造过程”可执行类似于“运送过程”功能的各个功能,诸如但不限于,在相应位置过滤、强化、警报、存储等,其中这种RFID数据便于创建由模式组件102创建的模式,它提供用于RFID体系结构中RFID过程的便携式格式。
图2示出通过提供用于一过程的便携式格式创建和/或采用一模式以便于在RFID体系结构中执行一RFID过程的系统200。模式组件202可接收RFID数据,从中可利用一模式(例如读取器应用标记语言(RAML)模式)以便于表示服务器的状态和由执行RFID过程的RFID运行时开发和使用的过程。所获取的RFID数据可以是子系统相关数据(例如RFID网络、全域)和/或过程相关数据。为便于模式组件202创建和/或采用模式,所接收的RFID数据提供RFID服务器(例如RFID体系结构)实体数据。例如,RFID数据可以是服务器状态的定义,其中这种定义提供RFID读取器、各个RFID读取器集合、RFID读取器关联数据等。所接收的与RFID体系结构相关联的RFID数据使得模式组件202能创建和/或采用读取器应用标记语言(RAML)模式,该模式便于在包含至少一个实体的经定义服务器状态中执行RFID过程。换言之,RAML模式提供用于各过程的便携式格式,这些过程可被用于应用于RFID体系结构的RFID运行时服务206。可以理解,RAML模式可以是例如表示RFID过程的XML(可扩展标记语言)模式。此外,任何适当的标签或标记语言可表示RAML模式。
可以理解,RAML模式可表示服务器的状态(例如装置定义、子系统定义、RFID网络定义)以及由执行RFID过程(例如过程定义)的RFID运行时开发和利用的过程。对象模型(OM)和/或应用程序接口(API)使开发者从不得不创建这些实例(例如通过利用RAML模式而创建和/或采用的实例)上转移注意力。但可用的RFID网络和/或RFID子系统的环境(例如RFID体系结构内被授权参与RFID服务的实体)由RFID数据提供以便于建立RFID过程。换言之,RFID过程定义利用一特定的RFID网络实例(例如RFID子系统、全域实例)以便于设计一过程,其中RAML模式提供一便携式格式用于RFID网络实例中的这些过程。
例如,RFID数据可由模式组件202接收,其中RFID数据至少提供RFID子系统数据(例如服务器状态、装置数据、RFID网络数据)。该RFID可包括但不限于服务器中的读取器、服务器内读取器的逻辑组合或集合(例如Acme仓库RFID读取器)、对各个读取器的引用(例如指定/鉴别读取器的名字和/或引用,例如Acme_Warehouse_reader1_dockdoor1)、在已建RFID网络(例如RFID子系统、服务器、等)中每个读取器的相关联设置/配置/规范等。
在接收RFID数据后,模式组件202可采用一RAML模式以便于传送包含与特定RFID子系统(例如RFID服务器、RFID网络)相关的RFID过程的格式。根据本发明一方面,RAML模式可被存储/保存在数据存储器204中以便由RFID运行时服务206利用。数据存储器204提供对RAML模式的存储和/或检索,这使得开发者能设置一RFID过程并动态地或在后来将其用于一特定RFID配置(例如RFID服务器)。
数据存储器204还可用于至少部分地基于RFID数据保留由模式组件202生成的RAML模式,从而向RFID体系结构提供用于RFID过程的便于实现该过程的一便携式格式。此外,数据存储器204可以是,例如易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器。作为说明,而非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器可包括作为外部高速缓存的随机存取存储器(RAM)。作为说明而非限制,可用的RAM有很多形式,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强式SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。本系统和方法的数据存储器204旨在包括,但不限于,这些和任何其它适当类型的存储器。
RFID运行时服务206可在RFID体系结构上实现,其中RFID运行时服务可以是例如一RFID过程。可以理解,RFID过程是将各个实体组合在一起以创建一有意义的执行单元的高层或高级对象。此外,模式组件202提供一RAML模式使得RFID过程以便携式/可传输的格式在RFID体系结构中实现。例如,RFID过程可以是外流过程(例如挑选、包装、运送情形)、制造过程、运送过程、接收过程、跟踪、数据表示/处理/可应用、安全等。
图3示出通过创建和/或采用提供一便携式格式以实现RFID过程的读取器应用标记语言(RAML)模式而便于实现RFID过程的系统300。模式组件302至少部分地基于RFID数据采用读取器应用标记语言(RAML)模式312。此外,模式组件302还包括获取RFID数据的接收器组件304,使模式组件302能创建便于在RFID体系结构内执行RFID过程的RAML模式312。
模式组件302还包括生成RAML模式312的一发生器组件306。该发生器组件306生成RAML模式312,其中RAML模式312可包含子系统定义308和/或过程定义310。可以理解,子系统定义308是对其上要运行一过程的服务器状态的定义。换言之,子系统定义308包含服务器中不依赖于任何过程的所有实体的定义(例如定义服务器状态和在其上建立过程的实体)。此外,可以理解,过程定义310定义一RFID过程使得一特定子系统实例被用来设计该过程。因而,过程定义310包含所有的过程相关实体及相互关系(例如RFID过程指定在子系统上建立的一过程)。还可以理解,RAML模式是包含至少一RFID过程的便携式数据格式,其中RAML模式可包含子系统定义308和/或过程定义310。
发生器组件306生成包含子系统定义308的RAML模式312。可以理解,对于简单的代码,“服务器”可用于子系统定义308。例如,包含子系统定义308的RAML模式312可用带有目标名字空间位置和相关联引用“DeviceConfiguration.xsd”的“DeviceConfiguration”标识。此外,定义XML版本和相关联的编码。上述内容可用以下代码示出<?xml version=″1.0″encoding=″utf-8″?>
<xsschema id=″DeviceConfiguration″elementFormDefault=″qualified″xmlnsxs=″http//www.w3.org/2001/XMLSchema″targetNamespace=″http//tempuri.org/DeviceConfiguration.xsd″xmlns=″http//tempuri.org/DeviceConfiguration.xsd″>
称为“targetNamespace”的目标名字空间可以是一签发URI,因而本发明并不限于这种名字空间。
子系统定义308定义类型“Device”的一元件“device”。复杂类型“Device”包含一系列元素名称和类型,如以下代码所示<xscomplexType name=″Device″>
<xssequence><xselement minOccurs=″0″maxOccurs=″1″name=″deviceInformation″type=″DeviceInformation″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″name″type=″xsstring″/><xselementminOccurs=″0″maxOccurs=″1″name=″settings″type=″DeviceSettings″/>
</xssequence></xscomplexType>
以上代码示出名为“DeviceReader”的复杂类型的初始例示,其中元素“DeviceInformation”、“Name”和“PropertyProfile”都是成员。一旦成员被定义为“Device”的元素,可进一步定义成员(例如“DeviceInformation”、“Name”和“PropertyProfile”等)。子系统定义308可用以下代码定义“DeviceInformation”<xscomplexType name=″DeviceInformation″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=deviceId″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″providerId″type=″xsstring″/>
<xselement minOccurs=″1″maxOccurs=″1″name=″Transport″type=″Transport″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″transportSettings″type=″TransportSettings″/><xselement minOccurs=″0″maxOccurs=″1″name=″providerData″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″TransportSettings″abstract=″true″/>
<xscomplexType name=″SerialTransportSettings″>
<xscomplexContent mixed=″false″>
<xsextension base=″TransportSettings″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″port″type=″xsstring″/>
<xselement minOccurs=″1″maxOccurs=″1″name=″baudRate″type=″xsint″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
<xscomplexType name=″TcpTransportSettings″>
<xscomplexContent mixed=″false″>
<xsextension base=″TransportSettings″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″host″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″port″type=″xsstring″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
此外,定义了“PropertyProfile”,其中确定物理读取器的设置。可以理解,“PropertyProfile”独立于一过程。此外,“PropertyProfile”包含配置(例如读取器的属性列表)。上述内容可用以下代码示出<xscomplexType name=″PropertyProfile″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″Name″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″Properties″type=″ArrayOfProperty″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″ArrayOfProperty″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″Property″nillable=″true″type=″Property″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″Property″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″name″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″value″type=″xsanyType″/>
</xssequence>
</xscomplexType>
一旦在“DeviceConfiguration.xsd”中被定义,“Transport”还可进一步用以下代码定义<xsdelement name=″transport″type=″Transport″/>
<xsdsimpleType name=″Transport″>
<xsdrestriction base=″xsdstring″>
<xsdenumeration value=″TCPIP″/>
<xsdenumeration value=″SERIAL″/>
<xsdenumeration value=″HTTP″/>
<xsdenumeration value=″WIRELESS″/>
</xsdrestriction>
</xsdsimpleType>
“ArrayOfProperty”是可应用于读取器的一个属性集。它包含一列属性。上述内容可用以下代码示出<xscomplexType name=″ArrayOfProperty″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″property″nillable=″true″type=″Property″/>
</xssequence>
</xscomplexType>
<xsdcomplexType name=″Property″>
<xsdsequence>
<xsdelement name=″name″type=″xsdstring″/>
<xsdelement name=″value″type=″xsdanyType″minOccurs=″0″/>
</xsdsequence>
</xsdcomplexType>
此外,子系统定义308可定义如果使用串行通信定义“TransportSettings”的“SerialTransportSettings”。它可由以下代码定义<xscomplexType name=″SerialTransportSettings″>
<xscomplexContent mixed=″false″>
<xsextension base=″TransportSettings″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″port″type=″xsstring″/>
<xselement minOccurs=″1″maxOccurs=″1″name=″baudRate″type=″xsint″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
类似地,“TcpTransportSettings”可被定义成处理用于TCP通信的“TransportSettings”。它可由以下代码描述<xscomplexType name=″TcpTransportSettings″>
<xscomplexContent mixed=″false″>
<xsextension base=″TransportSettings″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″host″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″port″type=″xsstring″/>
</xssequence>
</xsextension>
</xscomplexContent>
</xscomplexType>
子系统定义308由发生器组件306生成,该组件被包括在用来便于提供一便携式格式用于RFID过程的RAML模式312中。发生器组件306可生成过程定义310以便于指定结合子系统定义308建立的一过程。
发生器组件306可利用子系统定义308来标识服务器的状态,而过程定义310可被用来标识由运行时开发和使用的RFID过程。例如,包含过程定义310的RAML模式312可用带有目标名字空间位置和相关联的引用“ProcessDefinition.xsd”的“ProcessDefinition”来标识。此外,定义了XML版本和相关联编码。上述内容如下所述<?xml version=″1.0″encoding=″utf-8″?>
<xsschema id=″Process″elementFormDefault=″qualified″xmlnsxs=″http//www.w3.org/2001/XMLSchema″targetNamespace=″http//tempuri.org/ProcessDefinition.xsd″xmlns=″http//tempuri.org/ProcessDefinition.xsd″>
如在代码中所述,“deviceCollectionList”包含元素“deviceCollection”。装置集合是特定子系统设置内(例如RFID网络)的RFID读取器集合。例如,仓库可被示为一特定子系统(例如RFID网络),其中装置集合可以是在接收仓门上的读取器集合。此外,“deviceCollection”经配置时间上的绑定过程通过物理读取器的相关联名字来映射下层实体。从以上示例可见,对在“deviceCollection”内可引用的单个读取器的引用可以是,但限于,reader1_receiving_dock_door、readerA_dockdoor_receiving、receivingREADER1、等。“deviceCollection”包含字段名字(例如集合的名字)和配置(例如组合的属性轮廓文件)。
过程定义310定义类型“Process”的一元素“process”从而使其包含一系列字段,诸如但不限于,名字(例如RFID过程的名字)、跟踪器(例如用来跟踪Process执行的跟踪器)、logicalSource(例如过程的顶层逻辑源)、writeHandler(例如处理写到Rfid装置的组件)。“Process”是标识一RFID过程的顶层过程类。可以理解,“Process”是在RFID服务器中的基本配置单元。上述内容可由以下代码示出<xscomplexType name=″Process″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″name″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″tracker″type=″Tracker″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″logicalSource″type=″LogicalSource″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″writeHandler″type=″WriteHandler″/>
</xssequence>
以上代码示出名为“Process”的复杂类型的初始例示,其中元素“Tracker”、“LogicalSource”和“WriteHandler”都是成员。此外,代码定义与其相关联的具有相关联“.xsd”字符串的元素名字和类型。一旦成员被定义为“Process”的元素,可进一步定义成员(例如“Tracker”、“LogicalSource”和“WriteHandler”等)。过程系统定义310可用以下代码定义允许跟踪和创建与运行时执行踪迹相关的日志的“Tracker”<xscomplexType name=″Tracker″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″level″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″option″type=″xsstring″/>
</xssequence>
</xscomplexType>
如上所述,元素“Tracker”是一跟踪器定义,其中定义了字段程度(例如跟踪的程度)和选项(例如用于跟踪的选项集合)。
过程定义310定义了包含“ParameterData”的元素“ArrayOfParameterData”,其中“ParameterData”包含一名字(例如参数名字)和值(例如XML可连续对象)。“ArrayOfParameterData”是一过程组件的参数集合,其中参数是RFID组件的参数。例如,“ParameterData”将RFID组件的参数标识为[名字,值]对。“ParameterData”具有已定义的名字(例如参数名字)和值(例如XML可连续对象)。上述内容用以下代码示例实现<xscomplexType name=″ArrayOfParameterData″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″parameter″type=″ParameterData″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″ParameterData″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″name″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″data″/>
</xssequence>
</xscomplexType>
过程定义310提供了带有复杂类型名字“LogicalSource”的读取源的迭代定义,其中“LogicalSource”从所有读取源和读取器中读取以提供一组合。可以理解,“LogicalSource”是过程的顶层逻辑源,其中该过程由树状结构的逻辑源组成。换言之,“LogicalSource”是标识一过程的逻辑源树中的一节点。“LogicalSource”是该树的根,且输出可发送给该过程的数据信宿。
“LogicalSource”是过程中的活动实体,包装其它组件并使它们逻辑相连。“LogicalSource”包含诸如装置集合的一个组件集(例如由诸如读取器的装置组成)、包含用于过滤器和警报的规则的可任选事件策略、可任选的事件处理器、以及附加逻辑源。此外,它包含一源集用于将标签读取事件置入逻辑源。另外,它具有可定义为最后组件输出的单个输出点。以下代码描述以上各方面<xscomplexType name=″LogicalSource″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″logicalSourceList″type=″ArrayOfLogicalSource″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″deviceCollectionList″type=″ArrayOfReaderCollection″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″componentList″type=″ArrayOfChoice1″/>
</xssequence>
</xscomplexType>
以上代码用成员“logicalSourceList”(例如作为其输入的逻辑源列表)、“deviceCollectionList”(例如作为其输入的读取器列表)、以及“ComponentList”(组件列表)来定义“LogicalSource”,其中每一个在后面的代码段中进一步定义。
过程定义310定义一读取器集合的集使得“deviceCollectionList”成为“deviceCollections”的数组。而“deviceReaderCollection”是一字符串数组。应当理解,每个字符串是一装置或读取器名字。以下代码对此说明<xscomplexType name=″ArrayOfDeviceCollection″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″devicereaderCollection″nillable=″true″type=″deviceCollection″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″deviceCollection″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″readers″type=″ArrayOfString″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″ArrayOfString″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″id″nillable=″true″type=″xsstring″/>
</xssequence>
</xscomplexType>
“ArrayOfDeviceCollection”可由“LogicalSource”利用。
继续便于生成RAML模式312以提供一便携式格式用于RFID过程的过程定义310,定义“ComponentList”。该“ComponentList”是可用于过滤器或警报的事件策略,或事件处理器的一组件集合。此外,过滤器和警报策略可在逻辑源上实现。例如,对逻辑源的警报可以是用于Tag Read Events(标签读取事件)的事件条件动作(ECA)类规则。在另一示例中,用于逻辑源的过滤器丢弃或承认标签读取事件流。以下代码是“ComponentList”的一个示例<xscomplexType name=″ArrayOfChoice1″>
<xschoice minOccurs=″0″maxOccurs=″unbounded″>
<xselement minOccurs=″1″maxOccurs=″1″name=″eventHandler″nillable=″true″type=″EventHandler″/>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″eventPolicy″nillable=″true″type=″EventPolicy″/>
</xschoice>
<xscomplexType name=″EventHandler″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″assembly″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″className″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″parameterList″type=″ArrayOfParameterData″/>
</xssequence>
</xscomplexType>
过程定义310还定义可用于逻辑源的事件处理器的“EventHandler”。换言之,“EventHandler”可用来处理源自一逻辑源的事件。“EventHandler”包含以下字段汇编(例如事件处理器的.NET汇编)、类名className(例如事件处理器的类名)、以及参数列表(例如事件处理器的参数列表)。上述内容由以下代码示出<xscomplexType name=″EventHandler″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″assembly″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″className″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″parameterList″type=″ArrayOfParameterData″/>
</xssequence>
</xscomplexType过程定义310还定义处理向装置发送命令(通常这涉及写入标签)的“WriteHandler”。可以理解,“WriteHandler”在逻辑层上处理装置称为“LogicalWriter”。由于它处理一个或多个“LogicalWriter”,我们具有“ArrayofLogicalWriter”。这通过以下代码示出<xscomplexType name=″WriteHandler″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″assembly″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″className″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″parameterList″type=″ArrayOfParameterData″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″writerList″type=″ArrayOfLogicalWriter″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″ArrayOfLogicalWriter″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″unbounded″name=″writer″nillable=″true″type=″LogicalWriter″/>
</xssequence>
</xscomplexType>
<xscomplexType name=″LogicalWriter″>
<xssequence>
<xselement minOccurs=″0″maxOccurs=″1″name=″name″type=″xsstring″/>
<xselement minOccurs=″0″maxOccurs=″1″name=″physicalWriter″type=″xsstring″/>
</xssequence>
</xscomplexType>
通过生成子系统定义308和过程定义310,发生器组件306创建并采用读取器应用标记语言(RAML)312。该RAML模式312可被用来在RFID体系结构内执行RFID过程时减少错误。该RAML模式312标识服务器(例如RFID网络、子系统)的状态,以及由执行RFID过程的运行时开发和利用的过程。此外,RAML模式312是便于至少一RFID过程的设置和/或使用的用于过程的便携式格式。可以理解,RAML模式312包含子系统定义308和/或过程定义310。
图4示出通过创建和/或采用提供一便携式格式用于RFID过程的读取器应用标记语言(RAML)模式而便于实现RFID过程的系统400。一RFID体系结构402可包括至少一个RFID读取器和至少一个RFID标签。该RFID体系结构402是一物理系统,其中RFID读取器接收RFID标签信号以便于标识包含RFID标签的项和/或对象。例如,一制造厂可包含由接收仓门、运送仓门上的多个读取器组成的,利用器件制造过程的一RFID体系结构。这些RFID读取器可接收来自RFID标签的信号,其中RFID标签提供对这种加标签物品的唯一标识。
系统400还包括与确定环境内实体的RFID体系结构通信的一设置组件404,从而使模式组件406能采用提供一便携式格式以设置和配置RFID过程的读取器应用标记语言(RAML)模式。设置组件404提供,例如,发现读取器及相关联数据、读取器的配置、保存RFID过程特定读取器设置、读取器关联数据等。通过分析RFID体系结构402(例如确定服务器内的RFID读取器,并配置这些读取器),模式组件406可创建并采用包含子系统定义和/或过程定义的RAML模式,它便于基于经分析的RFID数据来执行RFID过程。
例如,设置组件404可在被用作RFID过程定义的一部分之前发现RFID读取器。通过发现服务器内的RFID读取器,RAML模式可用来标识服务器的状态。此外,当服务器的状态被示出时,RAML模式可进一步用来标识由运行时开发和利用的过程。例如,RFID读取器可通过以下代码示例来发现Device[]myReaderIds=serverStore.GetMultipleDevices(GetDeviceOptions.ALL);一旦发现了读取器,设置组件404可至少基于特定RFID读取器设置来配置并保存所发现的RFID读取器。该设置组件404可在例如数据存储器408中存储所发现的RFID读取器及相关联配置。可以理解,RFID读取器被配置为与PC兼容的读取器并与基本类似的读取器集合相关联。例如,可实现以下代码以便配置和存储所发现的RFID读取器Device writer=myReaderIds
;serverStore.SaveDevice(writer);以上示例代码在服务器网络中(例如全域、子系统)创建并添加一个物理读取器的列表。一旦生成列表,就可配置物理RFID读取器。在以上示例中,用于‘writer’装置的隐式属性轮廓文件可应用并存储于数据存储器408(例如以上示例代码将数据存储器引用为serverStore)。
设置组件404还可创建一逻辑读取器集合。可以理解,在RFID读取器上调用的属性至少基于由模式组件406采用的RAML模式。一旦已经创建,设置组件404可将物理RFID读取器添加到逻辑迭代器集合中并指定与其相关联的属性。
ReaderCollection epcReaderAndWriter=new ReaderCollection(“WRITERS”);LogicalSource source=new LogicalSource();//使得读取器集合与源相关联source.readerCollectionList=new ReaderCollectionList();source.readerCollectionList.Add(epcReaderAndWriter);此外,设置组件404用其它配置信息(例如滤波、数据获取参数等)来配置逻辑读取器集合中的物理RFID读取器。可以理解,配置中利用的属性名字和数值依赖于特定的读取器类型(例如随后的属性是读取器相关的)。设置组件404将逻辑读取器集合和相关联属性存储在数据存储器408中。以上内容可由以下示例代码来实现PropertyProfile writerPropertyList=new PropertyProfile();//事件模式失败-属性Property eventModeProperty=new Property(″EVENT MODE″,″false″);writerPropertyList.Add(eventModeProperty);//同步超时-属性Property timeoutProperty=new Property(″SYNCHRONOUS TIMEOUT″,″1000″);writerPropertyList.Add(timeoutProperty);writer.settings.properties=writerPropertyList;//将已配置的物理读取器存储到存储器中Store serverStore=new Store();serverStore.SaveDevice(writer);模式组件406可通过设置组件404和/或数据存储器408来接收所发现的读取器和配置设置。模式组件406可采用一读取器应用标记语言(RAML)模式,其中RFID过程是便于RFID运行时服务410的采用和设置的便携式格式的。RAML模式由子系统定义(例如RFID网络定义)和/或过程定义组成。子系统定义包含对服务器中独立于过程的所有实体的定义。换言之,子系统定义(例如RFID网络定义、全域)定义服务器状态和在其上建立过程的实体。此外,过程定义是RFID过程的定义。该过程定义包含过程相关实体和相互关系。RAML模式可用来标识服务器的状态和由RFID运行时服务410开发及使用的过程。
RAML模式还可被用来执行至少一个RFID过程。可以理解,多个过程可被引用为RFID运行时服务410。例如,“运送过程”是可通过RAML模式表示的一个过程。“运送过程”表示在各个仓门上多个读取器一起工作以执行标签读取、强化标签读取、并将相关数据存储到主应用的信宿中。仓门可包含其中可提供一源标签的多次读取的多个标签读取器。这种多次读取可进行读取和过滤,其中例如相同ID的多次读取可被过滤掉(例如丢弃)。此外,警报可与这样的标签读取相关联,诸如警告源标签的抵达或离去。来自设置组件404的确定可由模式组件406使用以便生成允许一便携式格式用于RFID体系结构402中的RFID过程的RAML模式。
在又一示例中,在其中读取器被配置成至少基于一位置进行读写的“制造过程”可由RAML模式来表示。可以理解,“制造过程”可执行类似于“运送过程”功能的各个功能,诸如但不限于,在相应位置过滤、强化、警报、存储等,其中由模式组件406创建的模式提供用于在RFID体系结构中实现的RFID过程的便携式格式。
图5示出通过采用提供一便携式格式用于在RFID体系结构内实现的RFID过程的读取器应用标记语言(RAML)模式而便于实现RFID过程的系统500。一RFID体系结构502可包括多个服务器(例如子系统、RFID网络),其中服务器是在其中被发现和配置的读取器集。为了简便起见,RFID体系结构502示出包含两个读取器集合的一个全域,其中显示了第一集合504。例如,RFID子系统可以是所涉及实体与基本类似过程相关的一个位置。在一示例中,子系统可以是包含带有相关联RFID读取器的多个接收和/或运送仓门。因而,第一位置504可以是指定子系统内的一个读取器集合。可以理解,可实现多个读取器集合。在一个RFID读取器集合中,RFID读取器506可从包含至少一个RFID标签508的一货架货物510中接收一个RFID信号512。可以理解,货架和/或货物可至少基于用户指定来贴上标签(例如,货架贴标签、货物贴标签、货架和货物贴标签等)。
系统500还包括分析RFID体系结构512以便于发现服务器内的RFID读取器的一设置组件514。一旦被发现,设置组件514还配置所发现的RFID读取器并将经配置的RFID读取器保存到存储器中(未示出)。可以理解,设置组件514提供对读取器及相关联数据的发现、配置这种读取器、保存RFID过程特定读取器设置、读取器相关联数据等。通过确定服务器内的RFID读取器并配置这种读取器,RAML组件516可创建并采用包含全域定义和/或过程定义的便于执行RFID过程的RAML模式。在分析RFID体系结构502之后,RAML组件516至少部分地基于RFID体系结构502的分析来创建RAML模式。由RAML组件516创建的RAML模式便于表示服务器(例如RFID子系统、RFID网络)的状态以及由运行时开发和利用的过程。该RAML模式可存储在数据存储器518中,从而提供用于RFID过程的一便携式和可访问格式。可以理解,数据存储器518存储RAML模式直到RFID运行时组件520利用该模式来实现RFID过程。RFID运行时组件520将RAML模式用作一便携式格式使得在RFID体系结构中RFID过程得以简便使用和设置。
图6-8根据本发明示出各方法。为简单解释起见,各方法被示为和描述为一系列动作。可以理解和认为,本发明并不受所示动作和/或动作的顺序限制,例如各动作可以各种顺序和/或同时发生,并具有在此未呈现和描述的其它动作。此外,并非需要所有示出动作来根据本发明实现各方法。此外,本领域技术人员将理解和认为各方法可通过状态图或事件有选择地被呈现为一系列相互关联状态。
图6示出通过采用提供一便携式格式的读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行RFID过程的方法600。例如,RFID体系结构可以是包含至少一RFID读取器和相关联RFID标签的系统。在602,可接收与RFID体系结构相关的RFID数据。RFID数据可以是,但不限于是,服务器内的RFID读取器、与其相关联的配置设置、和/或RFID体系结构相关数据。在604,读取器应用标记语言(RAML)模式可至少基于所接收的RFID数据生成。包括创建子集定义(例如包含服务器状态和服务器中实体的定义)和过程定义(例如包含过程相关实体和相互关系)的RAML模式以提供RFID过程可用来进行设置和使用的便携式格式。然后在606,RAML模式被用来执行RFID过程。可以理解,RAML模式在生成后可被存储用于在后来或动态使用。然而,RAML模式包含全域定义和过程定义,这可便于至少部分地基于便携式格式来执行RFID过程。
现在参见图7,示出通过利用提供一便携式格式的读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行RFID过程的方法700。在702,可接收来自RFID体系结构的RFID数据。可以理解,这种RFID数据可以是,但不限于是,被发现的读取器和/或相关联数据、读取器的配置、保存的RFID过程特定读取器设置、读取器关联数据等。可以理解,RFID数据可从但不限于从因特网连接、LAN、和/或RFID读取器和主协议中接收。
然后在704,子系统定义至少基于所接收的来自RFID体系结构的RFID数据而生成。该子系统定义包含服务器中与任何过程无关的实体的定义。该子系统定义定义服务器状态和在其上建立过程的实体。例如,子系统定义可包含具有成员名字、ReaderCollectionList、readerList、以及processList的“deviceConfigration”。可以理解,“deviceConfigration”内的每个成员可进一步定义以便向字系统定义提供适当的结构。因而,子系统(例如RFID网络、服务器中被发现的和/或被配置的读取器集)关联数据(例如读取器集合、配置、名字等)、RFID读取器数据(例如传输、配置、名字、引用、读取器例行、读取器设置)、属性(例如要应用于RFID读取器的属性、属性名字、属性列表)、以及过程(例如包含数据以利用商业逻辑、过程列表、过程的引用)可被进一步定义并与各元素相关联。
在706,过程定义至少基于来自RFID体系结构的RFID数据生成。该过程定义包含所有过程相关实体和相互关系。该过程定义指定建立在字系统上的一过程。例如,过程定义可包含具有成员名字、跟踪器、安全、logicalSource、以及dataSinkList的“Process”。可以理解“Process”内每个成员可进一步定义以便向过程定义提供适当结构。因而,例如,logicalSource可用例如逻辑源列表、读取器集合列表、过滤器列表(及相关联过滤器)、警报列表(及相关联警报)、以及事件处理器来进一步填充和/或定义。
一旦生成了子系统定义和过程定义,在708读取器应用标记语言(RAML)模式可被用来通过提供一便携式格式而便于在RFID体系结构中执行一RFID过程。可以理解,RAML模式可包括子系统定义和/或过程定义。一旦包含子系统定义和/或过程定义的RAML模式被配置/生成,在710它可被存储在数据存储器中以便提供一便携式格式用于RFID过程和/或服务的设置和使用。RAML模式可被存储于存储器中,其中该存储器是利用RFID过程和/或服务的系统可访问的。
图8示出通过利用提供一便携式格式的读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行RFID过程的方法800。在802,RFID读取器被发现、配置和存储。RFID读取器可与包括读取RFID标签的至少一RFID读取器的RFID体系结构相关。所发现和配置的RFID读取器可存储在例如存储器中。该信息可被称为RFID数据。此外,可以理解存储器可以是易失性或非易失性存储器,并可包括易失性和非易失性存储器。然后在804,所存储的信息(例如RFID数据)可被访问以使读取器应用标记语言(RAML)模式至少基于所存储的RFID数据在806生成。该RAML模式可包括子系统定义和/或过程定义。此外,RAML模式可被存储在数据存储器(例如存储器)中,提供用它可设置和配置RFID过程的便携式格式。然后在810,RAML模式可用来(例如传送、上载、访问、执行、下载等)设置和/或配置RFID过程。
为了提供实现本发明各方面的其它上下文环境,图9-10和以下论述旨在对本发明诸方面可在其中实现的适当计算环境700提供简要、一般的说明。尽管本发明已经在运行于本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般上下文环境中进行了描述,本领域技术人员将认识到本发明也可结合其它程序模块实现。通常,程序模块包括执行具体任务或实现具体抽象数据结构的例程、程序、组件、数据结构等等。
另外,本领域技术人员将理解本发明的方法也可通过其它计算机系统配置来实践,包括单处理器或多处理器计算机系统、微型计算机、大型计算机、以及个人计算机、手持式计算装置、基于微处理器的或可编程的消费电器等等,其中每个装置都可有效地与一个或多个相关联装置通信。本发明所说明的诸方面也可在任务由经通信网络连接的远程处理设备执行的分布式计算环境中实践。然而,本发明的某些(如果不是全部)方面可在单机计算机上实践。在分布式计算环境中,程序模块可置于本地和远程存储设备。
图9是本发明可与之交互的示例计算环境900的示意框图。系统900包括一台或多台客户机910。客户机910可以是硬件和/或软件(例如线程、过程、计算装置)。系统900还可包括一台或多台服务器920。服务器920也可以是硬件和/或软件(例如线程、过程、计算装置)。服务器920可包含采用例如本发明来执行变换的线程。
在客户机910和服务器920间的一可能通信可能是以适于在两个或多个计算机过程间传送的数据包形式进行。系统900包括可用来便于客户机910和服务器920间通信的通信框架940。客户机910可与用来存储客户机910本地信息的一个或多个客户数据存储器950作可操作连接。类似地,服务器920可与用来存储服务器920本地信息的一个或多个客户数据存储930作可操作连接。
参照图10,用于实现本发明各方面的示例性环境1000具有计算机1012。计算机1012具有处理单元1014、系统存储器1016、及系统总线1018。系统总线1018将包括但不限于系统存储器1016的系统组件耦合到处理单元1014。处理单元1014可以是各种可用处理器的任一种。双微处理器和其它多处理器架构也可被用作处理单元1014。
系统总线1018可以是若干类总线结构的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用总线结构任一种的本地总线,这些总线结构包括,但不限于,工业标准结构(ISA)、微信道结构(MSA)、扩展ISA(EISA)、智能磁盘设备(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE 1394)和小型计算机系统接口(SCSI)。
系统存储器1016具有易失性存储器1020和非易失性存储器1022。包含在计算机1012元件间如起动时传送信息的基本例程的基本输入/输出系统(BIOS),存储在非易失性存储器1022上。作为说明且无限制,非易失性存储器1022可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器1020包括作为外部高速缓存的随机存取存储器(RAM)。作为说明且非限制,RAM有多种形式可用,如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、和直接Rambus RAM(DRRAM)。
计算机1012还具有可移动/不可移动、易失性/非易失性计算机存储介质。图10示出了例如磁盘存储器1024。磁盘存储器1024包括,但不限于,象磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或存储棒。另外,磁盘存储器1024可具有单独存储介质或结合其它存储介质包括,但不限于,诸如光盘ROM设备(CD-ROM)、可记录光盘驱动器(CD-R驱动器)、可重写光盘驱动器(CD-RW驱动器)、或数字化通用盘ROM驱动器(DVD-ROM)的光盘驱动器。为便于磁盘存储器1024与系统总线1018的连接,通常可使用诸如接口1026的可移动或不可移动接口。
应当理解,图10描述了作为用户和在适当操作环境1000中描述的基本计算机资源间中间体的软件。这种软件包括操作系统1028。可存储在磁盘存储器1024中的操作系统1028,其作用是控制和分配计算机系统1012的资源。系统应用程序1030得益于操作系统1028通过存储在系统存储器1016或磁盘存储器1024中的程序模块1032和程序数据1034对资源的管理。可以理解本发明可用各种操作系统或操作系统组合来实现。
用户通过输入设备1036将命令或信息输入到计算机1012中。输入设备1036包括,但不限于,诸如鼠标、跟踪球、笔、触板、键盘、话筒、操纵杆、游戏垫、卫星接收器、扫描仪、电视调谐器卡、数码相机、数字摄像机、网络相机等定点设备。这些和其它输入设备经系统总线1018通过接口端口1038与处理单元1014相连。接口端口1038包括例如串行端口、并行端口、游戏端口、和通用串行总线(USB)。输出设备1040使用象输入设备1036的某些相同类型端口。因此,例如USB端口可用来为计算机1012提供输入,并将信息从计算机1012输出到输出设备1040。输出适配器1042被提供用来说明有某些输出设备1040象监视器、扬声器、和打印机等等需要特殊适配器。输出适配器1042包括,作为说明且非限制,在输出设备1040和系统总线1018间提供了连接方法的视频卡和声卡。应该注意的是诸如远程计算机1044的其它设备和/或设备系统提供输入和输出功能。
计算机1012使用与一台或多台远程计算机如远程计算机1044的逻辑连接在网络化环境中操作。远程计算机1044可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电气设备、对等设备或其它公共网络节点等等,而且通常包括所述与计算机1012相关的许多或全部元件。为简化起见,仅存储器存储装置1046与远程计算机1044一起图示。远程计算机1044经网络接口1048与计算机1012逻辑连接,然后通过网络连接1050进行物理连接。网络接口1048包括诸如局域网(LAN)和广域网(WAN)的有线和/或无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环等等。WAN技术包括,但不限于,点对点链接、象综合服务数字网(ISDN)及其各变种的电路交换网络、分组交换网络、和数字用户线路(DSL)。
通信连接1050指向被用来将网络接口1048连接到总线1018的硬件/软件。尽管为了清晰地说明,通信连接1050被示为位于计算机1012内,但它也可在计算机1012之外。与网络接口1048连接所必需的硬件/软件具有,仅作为示例,诸如包括常用电话连线的调制解调器、电缆调制解调器和DSL调制解调器的调制解调器、ISDN适配器、和以太网卡等内部和外部技术。
以上所述包括本发明的诸多示例。当然,为描述本发明而对每一能想到的组件或方法组合进行描述是不可能的,但本领域普通技术人员明白本发明的更多排列和组合是可能的。因此,本发明旨在包含所有这样的在所附权利要求书精神和范围内的变更、修改、和变化。
特别地并对于由上述组件、装置、电路、系统等执行的各种功能,用于描述这种组件的术语(包括对“装置”的引用)旨在对应于执行所述组件(例如功能对等体)的特定功能、执行在此所述本发明示例性方面中的功能的任何组件(除非另有指示),即使在结构上并不等同于所揭示结构。这样,将理解本发明包括一系统以及用于执行本发明各方法的动作和/或事件的计算机可执行指令的一计算机可读介质。
另外,尽管本发明的特定特征仅对若干实现之一揭示,这种特征可与可能对任何给定或特定应用有利或所需的其它实现的一个或多个特征组合。此外,就用于具体实施方式
或权利要求书的术语“包含”而言,这种术语意在以类似于术语“包括”的方式作包括意义解。
权利要求
1.一种便于执行RFID过程的RFID组件,其特征在于,包括一接收器组件,它接收与RFID体系结构相关的RFID数据;以及一模式组件,它至少基于所述已接收的RFID数据创建一读取器应用标记语言(RAML)模式,并安装和/或配置RFID过程。
2.如权利要求1所述的组件,其特征在于,所述RFID体系结构包括形成一子系统的RFID读取器集合,它包括一RFID读取器,它接收一RFID信号;以及一RFID标签,它传送到至少一个RFID读取器。
3.如权利要求2所述的组件,其特征在于,所述RFID集合的子集与所述子系统内一特定位置相关联。
4.如权利要求1所述的组件,其特征在于,所述RFID数据是RFID读取器、已发现的RFID读取器、经配置的RFID读取器、以及RFID读取器的集合的至少之一。
5.如权利要求1所述的组件,其特征在于,所述接收器组件经因特网、LAN、WAN、串行线、以及TCP/IP的至少之一接收所述RFID数据。
6.如权利要求1所述的组件,其特征在于,还包括一设置组件,它分析所述RFID体系结构以确定在生成所述RAML模式中要利用的所述已接收RFID数据的子集。
7.如权利要求2所述的组件,其特征在于,所述RAML数据定义可用来采用一特定的基于RFID过程的所述子系统的物理组件。
8.如权利要求7所述的组件,其特征在于,所述RAML模式包括一子系统定义,它定义指定服务器的状态以及将由所述RFID过程采用的所述子系统中至少一实体。
9.如权利要求7所述的组件,其特征在于,所述RAML模式包括一过程定义,它包含具有以下至少之一的逻辑源装置集合、附加逻辑源、事件策略、事件处理器、写处理器、以及跟踪器。
10.如权利要求9所述的组件,其特征在于,所述过程定义对包含至少一RFID过程相关实体和相关联相互关系的所述RFID过程进行定义。
11.如权利要求7所述的组件,其特征在于,所述过程定义指定在所述子系统上建立的RFID过程。
12.一种具有存储其上的如权利要求1所述的RAML模式的计算机可读介质。
13.一种具有存储其上的如权利要求1所述的各组件的计算机可读介质。
14.一种便于执行RFID过程的计算机实现方法,其特征在于,包括接收来自RFID体系结构的RFID数据;至少基于所述已接收的RFID数据来创建一读取器应用标记语言(RAML)模式;以及利用所述RAML模式来设置和/或配置RFID过程。
15.如权利要求14所述的计算机实现方法,其特征在于,还包括将所述RAML模式存储于一计算机可读介质;通过所述计算机可读介质采用所述RAML模式。
16.一种在所述接收器组件和所述模式组件之间通信的数据包,其特征在于,所述数据包便于如权利要求14所述的方法。
17.如权利要求14所述的计算机实现方法,其特征在于,所述RAML模式包括具有所述服务器状态及相关联实体的RFID网络定义。
18.如权利要求14所述的计算机实现方法,其特征在于,所述RAML模式包含具有过程相关实体和相互关系的过程定义。
19.如权利要求14所述的计算机实现方法,其特征在于,还包括分析所述已接收RFID来确定RFID数据的子集。
20.一种便于执行RFID过程的计算机实现方系统,其特征在于,包括一装置,用于接收来自RFID体系结构的RFID数据;一装置,用于至少基于所述已接收的RFID数据来创建一读取器应用标记语言(RAML)模式;以及一装置,用于利用所述RAML模式来设置和/或配置RFID过程。
全文摘要
本发明提供一系统和/或方法,它通过采用提供一便携式格式以设置和/或配置RFID过程的读取器应用标记语言(RAML)模式而便于在RFID体系结构内执行该RFID过程。一模式组件可接收与RFID体系结构相关的RFID数据,其中RAML模式至少基于该RFID数据来创建(例如,包括设置和/或配置所发现读取器)。该RAML模式可包括子系统定义(例如,包含服务器状态和该服务器中实体的定义)和过程定义(例如,包含过程相关实体和相互关系)。
文档编号H04L29/06GK1744103SQ200510088519
公开日2006年3月8日 申请日期2005年7月29日 优先权日2004年9月1日
发明者A·库马尔, M·F·A·哎哈迈德, J·R·戈特蒂, V·G·R·莱迪, V·阿南塔拉曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1