Академический Документы
Профессиональный Документы
Культура Документы
INFORME DE PROYECTO
INFORME DE PROYECTO
Caracterizacin del proyecto ANLISIS DE SERVICIOS DE IDENTIFICACINTtulo: LOCALIZACIN BASADOS EN RFID Departamento: Dpto. de Ingeniera de Sistemas Telemticos Juan C. Dueas Responsable: Pablo Pancardo Autores: Jos Vicente Espinosa Jos L. Ruiz Jos L. Arciniegas Rodrigo Cern
Historial de versiones: 1 de enero de 2004. Versin 0.1 Primer borrador. 1 de marzo de 2004. Versin 0.8 Segundo borrador. 8 de marzo de 2004. Versin 1.0 Versin final.
ndice de contenidos
1. Enfoque del trabajo ................................................................................................................ 5 2. Introduccin a la tecnologa RFID y la identificacin ........................................................... 7 2.1. La historia de los sistemas RFID................................................................................... 11 2.2. Actores en la estandarizacin de RFID ......................................................................... 16 2.3. Despliegues de RFID en curso ...................................................................................... 19 2.3.1. La cadena de venta Wal-Mart ................................................................................ 19 2.3.2. El Departamento de Defensa de los EE.UU........................................................... 20 2.3.3. El Banco Central Europeo...................................................................................... 21 2.3.4. La Web de las cosas de SUN.............................................................................. 22 2.3.5. Otras iniciativas...................................................................................................... 27 3. Elementos de nivel fsico ..................................................................................................... 29 3.1. Etiquetas RFID.............................................................................................................. 29 3.2. Muestra de mercado de etiquetas RFID ........................................................................ 33 3.3. Lectores RFID ............................................................................................................... 35 3.4. Muestra de mercado de lectores RFID.......................................................................... 39 4. Arquitectura de estandarizacin de identificacin RFID ..................................................... 46 4.1. Escenario de referencia Auto-ID................................................................................... 46 4.2. Arquitectura de referencia Auto-ID .............................................................................. 48 5. Cdigos EPC ........................................................................................................................ 52 5.1. Elementos generales del cdigo EPC............................................................................ 52 5.2. Elementos del cdigo EPC............................................................................................ 53 5.3. Actualizaciones a la norma ........................................................................................... 55 6. Arquitectura de los lectores (Reader)................................................................................... 57 6.1. Estructura general del nivel de lector (Reader)............................................................. 57 6.2. Visin operativa de la capa de lectura........................................................................... 60 6.3. Subsistemas de la capa de lectura (Readers)................................................................. 61 7. Arquitectura de Savant ......................................................................................................... 64 7.1. Mdulos de proceso estndar de Savant ....................................................................... 67 7.1.1. MPE autoid.core..................................................................................................... 67 7.1.2. MPE autoid.readerproxy ........................................................................................ 70 7.2. Implementacin de referencia de Savant Auto-ID........................................................ 72 7.2.1. Sistema de gestin de eventos (EMS) .................................................................... 74 7.2.2. Base de datos en memoria de eventos en tiempo real (RIED) ............................... 76 7.2.3. Sistema de gestin de tareas (TMS)....................................................................... 80 8. Object Name Server (ONS).................................................................................................. 82 8.1. Arquitectura del ONS.................................................................................................... 82 8.2. Operacin del ONS ....................................................................................................... 84 9. Servidor de informacin EPC y Physical Mark-up Language (PML) ................................. 88 10. Evaluacin de la tecnologa................................................................................................ 93 10.1. Coste............................................................................................................................ 93 10.2. Escalabilidad y rendimiento ........................................................................................ 94 10.3. Viabilidad del uso........................................................................................................ 95 10.4. Privacidad y propiedad de la informacin................................................................... 96 10.5. Riesgos para la salud ................................................................................................... 97
Anlisis de servicios de identificacin-localizacin basados en RFID 10.6. Evolucin previsible de la tecnologa ......................................................................... 98 11. Conclusiones .................................................................................................................... 100 12. Bibliografa....................................................................................................................... 104 Apndice 1: Un prototipo de Savant ...................................................................................... 107 Apndice 2: Diseo detallado del prototipo de Savant .......................................................... 111 Package reader.................................................................................................................... 112 Package reader.autoid......................................................................................................... 116 Package reader.ess.............................................................................................................. 124 Package reader.mtb ............................................................................................................ 132 Package reader.rss .............................................................................................................. 137
Anlisis de servicios de identificacin-localizacin basados en RFID 1. descripcin de la historia previa de los sistemas de identificacin automtica, y actores fundamentales del dominio; 2. anlisis de mercado de terminales; 3. previsiones de implantacin en casos de estudio de dominios especficos; 4. descripcin de los estndares de arquitectura de los sistemas de identificacin (fundamentalmente los emitidos por la entidad Auto-ID); 5. anlisis arquitectnico con respecto a diferentes caractersticas de calidad; 6. descripcin de un prototipo de sistema de recogida de datos RFID. En la elaboracin del presente estudio han participado el responsable (Juan C. Dueas), cuatro estudiantes de doctorado del Departamento de Ingeniera de Sistemas Telemticos (Pablo Pancardo, Jos L. Arciniegas, Jos L. Ruiz, Rodrigo Cern), y un estudiante de proyecto fin de carrera del mismo departamento (Jos Vicente Espinosa).
Anlisis de servicios de identificacin-localizacin basados en RFID cdigos de barra tienen otra desventaja: si una etiqueta se rompe, ensucia, borra o desprende no hay manera de identificar el artculo. Adems, un cdigo de barras estndar identifica slamente al fabricante y el tipo de producto. El cdigo de barras en un cartn de leche es el mismo que cualquier otro de las mismas caractersticas, hacindose imposible identificar, por ejemplo, cual de ellos podra alcanzar su fecha de caducidad primero. Con etiquetas RFID suficientemente baratas, ser posible identificar cada producto individualmente, con una mejora del control sobre stos. La existencia de una tecnologa barata, capaz de identificar cada producto de forma individual y sin necesidad de visin directa, permitira una mejora sustancial de la gestin de los productos. La conexin de dicha tecnologa a redes de datos proporcionara el potencial de dar a las empresas una visibilidad muy cercana y perfecta a la cadena de valor. Esto es, las organizaciones sern capaces de conocer de modo exacto donde se encuentra en cada momento en el tiempo un artculo en sus cadenas de valor. En una situacin para la industrial mundial en la que la globalizacin y virtualizacin son necesarias y cada vez ms reales, se cree que la habilidad de poder dar seguimiento individual a los artculos cuando estos se muevan desde las fbricas hasta las tiendas har a las empresas ms eficientes. Las empresas, de hecho, se han dado cuenta que capturar los datos acerca de sus bienes de forma automtica y exacta podra ser una gran mejora en su negocio. Muchas empresas se encuentran ya invirtiendo en sistemas RFID para obtener las ventajas que estos ofrecen. Estas inversiones se aplican normalmente en sistemas de ciclo cerrado esto es, una empresa da seguimiento a sus bienes de los cuales nunca pierde el control. De esta forma, no hay posibilidad de que stas sean ledas por otra empresa. Pero la mayora de las empresas no tiene sistemas de ciclo cerrado. Puesto que la mayora de la tecnologa RFID desarrollada hasta mediados de los aos 90 del siglo pasado es propietaria (no hay estndares), si una empresa A etiqueta un producto y lo enva a la empresa B, la empresa B no puede identificar el producto a menos que haya invertido en la misma tecnologa proporcionada por el mismo proveedor que se la suministr a la empresa A.
Anlisis de servicios de identificacin-localizacin basados en RFID Respecto a la idea de que las etiquetas RFID puedan tratarse como terminales de las redes de datos (Internet), hay que indicar que la mayor necesidad en este sentido es desarrollar un conjunto ampliamente aceptado de estndares sobre los protocolos, tipos de datos e integracin de sistemas para que todos los sitios con capacidad de identificacin y localizacin RFID puedan integrarse a las redes. Existen iniciativas recientes en este sentido que llaman a esta idea la Internet de las cosas. La gran disparidad de aplicaciones (y de tipos de cosas que identificar), a la vez que los intereses de los diferentes fabricantes de equipamiento en este mbito, sin embargo, pueden suponer una barrera para la creacin de esta red de cosas; frente a ello, el uso de estndares abiertos (e incluso de implementaciones abiertas) puede suponer una garanta de que el proceso de despliegue se realiza de forma consensuada, sin actores dominantes. Por otra parte, tambin hay que resear otro de los problemas de la Internet de las cosas, cada vez ms real: la existencia de etiquetas RFID, ms una infraestructura de red capaz de identificar y localizar stas, sin control de la privacidad y la informacin que se genera, puede convertir en realidad una vez ms- la idea del Gran Hermano. No se trata de una presuncin balad: mltiples organizaciones de usuarios y defensores de los derechos civiles en EE.UU. se han agrupado y enviado cartas al Congreso y Senado pidiendo la ilegalizacin de esta tecnologa por el riesgo que supone para la privacidad individual (empresas como Benetton que inicialmente desplegaron etiquetas RFID en sus tiendas, tuvieron que retirarlas ante la presin del pblico; esta situacin data de noviembre de 2003). Otro gran problema de la implantacin de este tipo de sistemas es el coste. Los lectores RFID tpicamente cuestan 1000$1 o ms. Las empresas necesitaran miles de lectores para cubrir todas sus fbricas, bodegas y tiendas. Los lectores de modo comn operan en una frecuencia de radio, si las etiquetas de tres productores diferentes usan tres diferentes frecuencias, una tienda puede tener que contar con tres diferentes lectores en la misma localizacin, incrementndose el coste. Las etiquetas RFID tambin son un tanto caras 50 centavos de dlar o ms lo cual las hace imprcticas para identificar millones de artculos que cuestan slo unos pocos dlares. En virtud de lo anterior, uno de los objetivos para que esta tecnologa sea ampliamente aceptada es que los costes en etiquetado disminuyan drsticamente. Otra no
Anlisis de servicios de identificacin-localizacin basados en RFID menos importante es el establecimiento de estndares que permitan que los lectores y etiquetas de distintos fabricantes puedan ser compatibles entre s.
10
11
Anlisis de servicios de identificacin-localizacin basados en RFID otras como Knogo, desarrollaron equipos para vigilancia electrnica de artculos (EAS, por sus siglas en ingls) frente a robos. Estos sistemas se usan con etiquetas de 1-bit slo se puede detectar la presencia o ausencia de una etiqueta, aunque la fabricacin de estas etiquetas es muy barata y proporcionan medidas antirrobo muy efectivas; la tecnologa radio es de microondas o inductiva. La vigilancia electrnica de artculos sigue siendo el dominio de aplicacin ms importante en el que se puede aplicar la tecnologa RFID actual. 4. Explosin del desarrollo de RFID (1970-1980). En los aos setenta del siglo pasado, y con la teora bsica ya creada y los primeros xitos en las aplicaciones, surgen nuevas implementaciones, pruebas, compaas, instituciones acadmicas y laboratorios de investigacin pblica que elaboran activamente la parte tecnolgica de RFID y que realizan avances notables. Por ejemplo, Los Alamos Scientific Laboratory de la Northwestern University y la Microwave Institute Foundation en Suecia entre otros. Un desarrollo importante y pionero fue el trabajo en Los Alamos que fue presentado por Alfred Koelle, Steven Depp y Robert Freyman, titulado: "Short-range radiotelemetry for electronic identification using modulated backscatter" en 1975. Las grandes empresas estaban desarrollando tambin la tecnologa RFID, tal como "Raytag" de Raytheon en 1973. RCA y Fairchild desarrollaron varios prototipos junto con Richard Klensch de RCA para el desarrollo de un "Sistema de Identificacin Electrnica" en 1975 y F. Sterzer de RCA con el desarrollo de "Electronic license plate for motor vehicles" en 1977. Thomas Meyers y Ashley Leigh de Fairchild desarrollaron tambin un "Passive encoding microwave transponder" en 1978. La autoridad del puerto de New York y New Jersey estuvo evaluando sistemas construidos por General Electric, Westinghouse, Philips y Glenayre. Los resultados fueron favorables, pero el primer xito comercial de una aplicacin RFID, el cobro de peaje electrnico, no estaba listo para esos primeros tiempos. Los aos setenta estuvieron caracterizados principalmente por trabajos de desarrollo. Las aplicaciones que se intentaron fueron el rastreo de animales, rastreo de vehculos y automatizacin de la fabricacin. Los sistemas de microondas en Los Alamos y los sistemas inductivos en Europa son ejemplos de esfuerzos de etiquetas para animales. El inters del etiquetado de animales era alto en Europa. Alfa Laval, Nedap y otras empresas tambin desarrollaron sistemas RFID. Los esfuerzos en el rea del Transporte incluyen
12
Anlisis de servicios de identificacin-localizacin basados en RFID los trabajos en Los Alamos, la International Bridge Turnpike and Tunnel Association (IBTTA) y la the United States Federal Highway Administration. 5. Las primeras aplicaciones comerciales RFID (1980-1990). Los aos ochenta llegaron a ser la dcada de la implementacin total de la tecnologa RFID, aunque el inters de desarrollo era diferente en varias partes del mundo. Los intereses ms grandes en los Estados Unidos eran el transporte, acceso del personal y aunque no muy extendido, el de los animales. En Europa, los intereses ms importantes eran sistemas de corto alcance para animales, aplicaciones industriales y de negocios, y de hecho, en Italia, Francia, Espaa, Portugal y Noruega algunas autopistas de peaje fueron equipadas con RFID. Las evaluaciones de RFID para cobro de peaje estuvieron presentes por muchos aos y la primera aplicacin comercial se inici en Europa en 1987, en Noruega y fue seguido rpidamente en los Estados Unidos por el Dallas North Turnpike en 1989. Tambin durante este tiempo, las autoridades del puerto de Nueva York y New Jersey iniciaron la operacin comercial de RFID para autobuses que se movan a travs del Tunel Lincoln. RFID estaba encontrando cabida con el cobro de peaje electrnico y tena nuevos seguidores cada da. 6. Estndares y despliegue masivo (1990-2000). Los noventa fueron una dcada significativa para RFID puesto que se observ un amplio despliegue del cobro de peaje electrnico en los Estados Unidos, a la vez que la integracin de las innovaciones en pago electrnico. La primera autopista en el mundo con sistema de cobro electrnico fue abierta en Oklahoma en 1991, donde los vehculos podan pasar por los puntos de cobro de peaje a altas velocidades sin impedimentos de plazas o barreras y con vdeo cmaras como refuerzo de seguridad. El primer sistema de gestin de trfico y cobro de peaje combinados en el mundo fue instalado en el rea de Houston por las autoridades del condado de Harris en 1992. Tambin se instal un primer sistema en la autopista de Kansas usando un sistema basado en el estndar Ttulo 21 con lectores que podan operar tambin con las etiquetas de sus vecinos del sur, Oklahoma. El Georgia 400 seguira actualizando sus equipos con lectores que pudiesen comunicarse con las nuevas etiquetas Ttulo 21 as como con las etiquetas existentes. De hecho, estas dos instalaciones fueron las primeras en implementar una capacidad de multiprotocolo en las aplicaciones de cobro de peaje electrnico. En 1990 en el noreste de los Estados Unidos, siete agencias de peaje regional formaron el
13
Anlisis de servicios de identificacin-localizacin basados en RFID Grupo de Interagencias de Paso E-Z para desarrollar un sistema de cobro de peaje electrnico regional. Este sistema es el modelo para usar una sola etiqueta y una sola cuenta de pago por vehculo para acceder a varias autopistas con diferentes autoridades. Tambin existi gran inters por las aplicaciones RFID en Europa durante los aos 90. Tanto la tecnologa inductiva como la de microondas se estudiaron para usarlas en el cobro de peaje, control de acceso y una amplia variedad de aplicaciones para comercio. Un esfuerzo nuevo fue el desarrollo del sistema TIRIS por Texas Instruments, usado en muchos automviles para el control del encendido del motor del vehculo. El sistema Tiris (y otros de Mikron, ahora parte de Philips) desarrollaron nuevas aplicaciones para repostar gasolina, chips de juegos, pases de esqu, accesos de vehculos, etc. Adicionalmente, las empresas en Europa llegaron a participar de forma activa en la carrera de RFID con desarrollos, algunas de stas son Microdesign, CGA, Alcatel, Bosch y Philips. Era necesario un estndar europeo para las aplicaciones de cobro y muchas de estas y otras empresas estuvieron trabajando en el estndar CEN para pago electrnico. Las aplicaciones de pago fueron apareciendo tambin en muchos pases como Australia, China, Hong Kong, Filipinas, Argentina, Brasil, Mxico, Canad, Japn, Malasia, Singapur, Tailandia, Corea del Sur y Sudfrica. Con el xito del cobro de peaje electrnico otros avances siguieron como es el uso de etiquetas a travs de diferentes segmentos del negocio. Ahora, una sola etiqueta podra ser usada para pago de peaje electrnico, acceso a un parking, acceso a un campus, etc. 7. La integracin de sistemas RFID con las redes (actualidad). La investigacin y el desarrollo no se detuvo durante los 90s puesto que nuevos desarrollos tecnolgicos expandieron la funcionalidad de RFID. En un primer tiempo, se fabricaron diodos Schottky para microondas sobre un circuito integrado CMOS regular. Este desarrollo permiti la construccin de etiquetas RFID de microondas que contienen slamente un circuito simple integrado, una capacidad antes limitada a los transponders RFID acoplados inductivamente. Las empresas participantes en esta actividad fueron IBM (la tecnologa fue adquirida despus por Intermec), Micron y Single Chip Systems (SCS). Con el crecimiento del inters en RFID para la gestin de los artculos y la oportunidad de RFID de trabajar junto con el cdigo de barras, es difcil determinar el nmero de empresas que se encuentran interesadas, aunque es grande. En Espaa, y
14
Anlisis de servicios de identificacin-localizacin basados en RFID con informacin obtenida de contactos informales, la empresa El Corte Ingls parece haber desarrollado un sistema RFID, aunque desconocemos el alcance de sus implantaciones (el sistema de vigilancia de 1 bit est implantado hace muchos aos en el comercio de gran superficie). Se esperan multitud de innovaciones en la aplicacin de RFID, con un impacto en el mundo de la empresa que se estima muy alto y con la integracin de las facilidades de identificacin y localizacin con la inteligencia ambiental o inteligencia ubicua, o la red de las cosas (todos estos trminos forman parte de descripciones de proyectos de innovacin en marcha), en todos los mbitos de la vida social y productiva. Recientemente, la Comisin Federal de Comunicaciones ha asignado el espectro de banda de los 5.9 GHz propuesta para la expansin de los sistemas de transportacin inteligentes con muchas aplicaciones y servicios nuevos. El equipamiento requerido para colocar estas aplicaciones y servicios nuevos necesitar ms avances en RFID y en la integracin de la informacin que se obtenga de ste tipo de sistemas.
15
16
Anlisis de servicios de identificacin-localizacin basados en RFID existencia del cdigo de barras. Haberman vi entonces el potencial de la idea, y junto con Sarma crearon el marco para un nuevo centro en el MIT: el Auto-ID Center. El 1 de octubre de 1999 el Auto-ID Center inici oficialmente su existencia en el Departamento de Ingeniera Mecnica del MIT. El Centro fue presentado en sociedad la noche previa a la celebracin del 25 aniversario del Uniform Code Council. Tres entidades, junto con el MIT, contribuyeron a la fundacin inicial del Centro: el Uniform Code Council junto con EAN (su contraparte internacional), la compaa Guillette y Procter&Gamble. El jefe del Departamento de Ingeniera Mecnica del MIT, Nam Suh, tambin reconoci la importancia de la conexin del mundo fsico y de red, y contribuy con 100.000$ para el establecimiento del Centro en su departamento en el MIT. El profesor Sunny Siu ejerci como el primer Director de Investigacin. Kevin Ashton se uni como Director Ejecutivo. Alan Haberman fue elegido como Presidente del comit de jefes. En el ao 2000, Sanjay Sarma lleg a ser el Director de Investigacin. Ms tarde, durante ese ao, los patrocinadores del centro reconocieron que con el exitoso crecimiento de la organizacin, era necesario expandir tanto el alcance tecnolgico como la diversidad geogrfica de las actividades del Centro. Entonces, el Centro evolucion de su situacin centralizada en el MIT a una entidad de cobertura mundial con oficina central en el MIT. Ese ao, se abri un Auto-ID Center en la Universidad de Cambridge en Inglaterra con Duncan McFarlane como Director de Investigacin. Ms tarde en 2001, Richard Cantwell de Gillette tom el control como Presidente del Comit. A principios de 2002, se abri un Auto-ID Center en la Universidad de Adelaide en Australia, con el profesor Peter Cole como Director de Investigacin. Dirk Heyman de Sun se hizo cargo de la presidencia del comit de tecnologa. Ms tarde, en 2002, se abri un Centro en la Universidad de St. Gallen en Suiza, con el profesor Elgar Fleisch a la cabeza. En 2003, se abrieron centros en la Universidad de Keio, Japn y la Universidad Fudan en Shanghai con los profesores Jun Murai y Hao Min como directores de investigacin, respectivamente. Para 2003, el Centro tena ms de 100 patrocinadores de los cuatro continentes. Los investigadores del Centro y de las empresas patrocinadoras obtienen logros significativos. Se han implementado y demostrado importantes componentes de software, incluyendo el ONS
17
Anlisis de servicios de identificacin-localizacin basados en RFID (Object Name Server) y el Savant (un concepto desarrollado por Jim Waldrop en su tesis con Sarma). Los comits en el Centro han desarrollado protocolos RFID ligeros para UHF y HF, as como estndares para el software. Se han establecido alianzas y tecnologas para manejar pequeos ICs y se han entregado paquetes de bajo coste. Se proponen nuevas metodologas de diagnstico y control. Se llevan a cabo estudios para asegurar el impacto de estas tecnologas en la cadena de valor, y se realizan gran cantidad de pruebas, en las que llegan a participar 40 empresas distribuidas en 10 ciudades del mundo (fundamentalmente en los Estados Unidos). El Centro oficialmente cerr, tal como se haba planificado, el 26 de octubre de 2003 con su reunin directiva final en Tokio, Japn. En dicha reunin se hizo pblico el anuncio de que el Auto-ID Center haba completado sus trabajos y que transfera toda su tecnologa al EPC global, asimismo el Auto-ID Center se converta en laboratorios de Universidad y pasaba a formar los Auto-ID Labs. El anuncio de prensa oficial cita: The Auto-ID Center officially closed on October 26th, 2003. The final board meeting was held in Tokyo, Japan. The Center has completed its work and transferred its technology to EPC Global (www.epcglobalinc.org), which will administer and develop EPC standards going forward. The university labs of the former Auto-ID Center will now be referred to as Auto-ID Labs (www.autoidlabs.org). Professor Elgar Fleisch of the University of St. Gallen and Professor Jun Murai of Keio University will co-chair the Research Council. Dr. Dan Engels will take over as Director of the MIT Auto-ID Lab. The leadership of the other labs will remain the same. Professor Sanjay Sarma has stepped aside as Chairman of Research. Mr. Kevin Ashton's term as Executive Director of the Auto-ID Center also draws to a close. "Kevin has been an extraordinary partner in this endeavor," Professor Sarma said. "We wish him all the very best. It has been a long and tiring run for Kevin and me, but a very rewarding one. It is time for new leadership." EPC Global ha prometido continuar las investigaciones en el Auto-ID Center dentro de nuevas facetas de la tecnologa y las aplicaciones. Independientemente, hay gran inters tanto por los proveedores de tecnologas y las empresas usuarias en patrocinar las investigaciones en todas las reas que avancen sus intereses individuales como en aquellas de la industria de
18
Anlisis de servicios de identificacin-localizacin basados en RFID RFID. La meta de RFID a bajo coste est ms cerca que nunca. Un grupo comprometido de empresas patrocinadoras, tanto corporaciones usuarias finales como proveedores de tecnologa, se encuentran unidas para lograr este objetivo. Una nueva organizacin de estndares, soportada por un amplio grupo de empresas y por investigadores dedicados en todo el mundo, estn llevando la visin EPC hacia esa idea. EPC Global es una actividad conjunta de EAN International y el Uniform Code Council (UCC). Es una organizacin no lucrativa avalada por la industria para establecer y dar soporte a la Red EPC (Electronic Product Code) como el estndar global para la identificacin inmediata, automtica y exacta de cualquier artculo en la cadena de valor de una empresa, en cualquier industria y en cualquier parte del mundo. Su objetivo es dirigir la adopcin global de la red. EPC Global, toma la misin de trabajar con usuarios finales y proveedores de hardware, software y soluciones integradoras para construir la infraestructura de la red EPC, as como la implementacin de soporte.
19
Anlisis de servicios de identificacin-localizacin basados en RFID expectativas: penalizaciones econmicas al principio y rechazo a distribuir los productos en una segunda instancia. Segn sus gestores, con esta iniciativa pretenden disminuir costes, prevenir los robos, liderar el desarrollo de la tecnologa y dirigir la creacin de una masa crtica de usuarios. En cualquier caso, se reconoce en esta iniciativa que la transformacin o la adopcin de la tecnologa es un proceso lento que slo culminar despus de aos. La estimacin que se maneja en el sector es que, empezando de cero y para una empresa grande de comercializacin al detalle, la realizacin de proyectos piloto y el despliegue llevan al menos dos aos. La secuencia de adopcin de la tecnologa comenzar con el uso de etiquetas RFID en contenedores y pallets preparados para el almacenaje, conteniendo las etiquetas informacin por categoras de productos. Las etiquetas deben de ser proporcionadas por los suministradores de los productos y se leern en los muelles de operacin y distribucin para, a partir de ah, realizar el seguimiento de los productos mientras se mantengan bajo el control de la empresa de distribucin. La actitud de la mayora de los actores en el dominio de la distribucin es, todava, de espera y anlisis de la tecnologa; en general, se considera que la tecnologa RFID es an muy cara y poco eficiente en trminos de negocio (es necesario hacer compras de millones de tarjetas como para que el coste por unidad sea competitivo). Una encuesta realizada por la firma de consultora BearingPoint a los distribuidores al detalle de los EE.UU. con ingresos superiores a los 200 millones de dlares encontr que slo el 23% consideraba el estudio e implantacin de RFID como una prioridad para 2004.
20
Por ahora, el DoD ha realizado estudios internos para determinar cmo proceder con la implementacin de etiquetas RFID, y el prximo paso ser ampliar los estudios con los proveedores de la tecnologa y los propios proveedores del Departamento para establecer acuerdos y planear un calendario. Inicialmente se exigir el etiquetado de contenedores (pallets). Adicionalmente, los bienes valiosos recibirn etiquetas para la realizacin del inventario fsico. El Departamento de la Defensa usar tanto etiquetas activas como pasivas. Las etiquetas pasivas son a menudo alimentadas por micro-ondas de baja potencia; convierten la energa transmitida en potencia y responden con una seal de radio. Inicialmente, cada etiqueta activa costar cerca de 100$, aunque el DoD est trabajando con sus proveedores en reducir los costes. Las etiquetas pasivas costarn a la agencia menos de 1$. Segn un portavoz del Departamento: Cuando se est dando seguimiento a vehculos en movimiento o a contenedores de productos desde 100 metros de distancia, con prdida de datos en la etiqueta, el coste de la etiqueta activa es razonable para muchas aplicaciones. Las etiquetas pasivas que se pueden leer de 2 a 10 metros de distancia con datos limitados en la etiqueta, tienen una aplicacin diferente y darn valor agregado por un dlar americano o menos, e incluso existirn ms aplicaciones cuando los costes disminuyan. El trabajo del DoD es encontrar el equilibrio en una poca de madurez y cambios constantes en la tecnologa RFID. Inicialmente las etiquetas activas se usarn para identificar los artculos ms grandes o valiosos, o en cargamentos compactos (contenedores ocenicos o pallets areos). La implementacin inicial de las etiquetas RFID pasivas ser en contenedores de arsenal donde las etiquetas facilitarn los procesos de distribucin y tal vez proporcionen granularidad adicional a nivel de visibilidad de los artculos en algunos casos.
21
Anlisis de servicios de identificacin-localizacin basados en RFID Existen informaciones que no hemos podido confirmar completamente acerca de las conversaciones del Banco Central Europeo con la empresa Hitachi, cuyo objetivo sera la implantacin de etiquetas RFID de tamao mnimo en los billetes de Euros. El Banco Central Europeo intentara de esta forma reducir las falsificaciones y el lavado de dinero; las noticias mencionan la situacin de las autoridades griegas, que en el ao 2003 tuvieron que hacer frente a 2411 casos de falsificaciones y 4776 billetes falsificados, tambin que las autoridades en Polonia capturaron a una banda sospechosa de elaborar ms de un milln de Euros falsos y ponerlos en circulacin. Con la adopcin de la tecnologa RFID en el papel moneda el principal objetivo es determinar la autenticidad de la moneda y detener las falsificaciones. Las etiquetas RFID tienen tambin la habilidad de registrar informacin como los detalles de las transacciones en que ha estado involucrado el billete. Esto podra prevenir el lavado de dinero, dar seguimiento a transacciones ilegales y prevenir que los secuestradores demanden billetes sin marcar. Aparte de actuar como una marca de agua digital, el uso de RFID podra acelerar la rutina de los procesos bancarios como los recuentos. Con tales etiquetas, se puede pasar una pila de billetes a travs de un lector y obtener la suma en menos de un segundo, de modo similar a como se manipula el inventario con un sistema basado en RFID. En un billete de euro, la antena RFID podra contener un cdigo de serie, as como detalles del lugar de origen y denominacin. De acuerdo a Hitachi, los datos slo podran ser escritos durante la produccin, y no despus durante la circulacin. Se estn haciendo pruebas preliminares en el diseo de los billetes de admisin en la Exposicin Internacional de Japn con vistas al ao 2005.
22
Anlisis de servicios de identificacin-localizacin basados en RFID de productos y servicios ofrecidos por la empresa. Recientemente ha abierto un pequeo centro de investigacin en Escocia, UK alrededor de RFID. La forma en la cual la empresa presenta la tecnologa merece especial atencin, porque encuadran a RFID en un marco conceptual complejo, a ms largo plazo, y que contina la tradicin para esta empresa de profundizar en la integracin entre cmputo y comunicaciones. La siguiente figura muestra el esquema tecnolgico general en el que se encuadra la visin del tema por SUN.
Hay que entender que a este nivel de desarrollo de la tecnologa, y ante la previsin de que antes o despus dar lugar a un gran segmento de negocio sobre el cual el primero de los puntos de influencia tiene que ver con la velocidad de adopcin, los canales de la empresa para dar visibilidad de sus desarrollos e innovaciones no son los cientficos, sino los canales de difusin de ingeniera y de mercado. Por decirlo claramente: apenas hay trabajos publicados en el circuito cientfico, pero hay multitud de presentaciones en ferias de negocios, impartidas por evangelistas del tema. Segn estas presentaciones, las bases de la innovacin en la web de las cosas (lema que SUN da a esta iniciativa) son las leyes: de Moore, que indica que la potencia de cmputo se duplica cada 18 meses; ley de Gilder, menos conocida que la anterior y que indica que la capacidad de ancho de banda de red se duplica cada 12 meses2; y la ley de Metcalfe o efectored, que dice que el valor de la red se incrementa exponencialmente con el nmero de
En la participacin de los autores de este informe en los foros de planificacin de la investigacin en Europa (concretamente, en la revisin del ITEA Roadmap de la oficina ITEA/EUREKA) se comenta que la situacin actual en Europa puede no haber seguido esta ley en los ltimos dos aos.
2
23
Anlisis de servicios de identificacin-localizacin basados en RFID integrantes-nodos. Fruto de este anlisis es la previsin de evolucin que se muestra en la siguiente figura. Como se puede observar, indican la presencia futura de la tecnologa que permita integrar la red de las cosas, predicen su punto lgido para los aos 2004/2007, pero no proporcionan ms informacin sobre si ser necesario aadir tipos nuevos de protocolos, tipos de directorios, mecanismos de sesin en cualquier caso, y como veremos en breve SUN parece haberse comprometido a utilizar y desarrollar los estndares de Auto-ID Center.
La iniciativa EPC de SUN tiene como caractersticas principales: Ir ms all de lectores y etiquetas para realizar la integracin con los sistemas de informacin corporativos. La arquitectura se disea alrededor de los estndares de Auto-ID como EPC, la interfaz del sistema Savant, Object Name Service (ONS) y PML. Ofrece soluciones de fiabilidad, disponibilidad, escalabilidad y manejabilidad. Proporciona una arquitectura abierta que permite la integracin de soluciones de terceros. Ofrece servicios empaquetados incluyendo arquitectura, implementacin, soporte y formacin. La arquitectura que proponen, y que se encuentra basada en los trabajos del Auto-ID Center es la que se muestra en la siguiente figura.
24
En la capa ms baja se encuentra el lector que ser responsable de leer los artculos etiquetados que pueden estar situados fijos o en movimiento a travs de un marco de una puerta como un muelle de carga. Normalmente, el lector estar leyendo muchos artculos de forma continua y enviando los datos al servidor Savant para su procesamiento. Tpicamente la capacidad efectiva (throughput) sera de 100 lecturas por segundo. La prxima capa en la arquitectura es el servidor Savant, tal como viene definido por los estndares Auto-ID, y basado en tecnologa Java. El rol del servidor Savant es procesar rpidamente todos los datos de las etiquetas que provienen de uno o ms lectores. ste almacena en memoria las lecturas y, por medio de filtros, conserva las lecturas pertinentes. Por ejemplo, en el caso de un lector de estantes, la mayora de las lecturas son de artculos que no se han movido. Puesto que el artculo habra sido almacenado en una base de datos previamente, las lecturas redundantes necesitan ser eliminadas. Una vez filtrados se necesita almacenar los datos de forma persistente para que puedan ser usados por otras capas de la arquitectura. Tpicamente, una empresa tendr numerosos servidores Savant ubicados dentro de su cadena de valor para tener controlado el trfico de los lectores. Una tienda tpica tendr numerosos lectores en los distintos estantes. Dada la cantidad de trfico de red de los lectores, es importante determinar los datos teniendo los servidores Savant filtrando los datos de las etiquetas en cada sitio en vez de estar enviando datos de etiquetas sobre la Internet. Por otra parte, es una buena prctica aislar los lectores de Internet por razones de seguridad.
25
Anlisis de servicios de identificacin-localizacin basados en RFID El Savant de SUN implementa una arquitectura de servicio federado que permite la carga dinmica de componentes software durante la ejecucin; es adems un sistema escalable, distribuido, flexible y tolerante a fallos. Si un lector u otro recurso de cmputo est fsicamente daado o deshabilitado, el software Savant continuar trabajando mediante la provisin dinmica y relocalizacin de cualquier servicio de software perteneciente al recurso de cmputo deshabilitado hacia otro recurso de cmputo sobre la red. Esta funcionalidad es llamada auto-reparacin y la tecnologa para ofrecer esta facilidad en el nivel de software intermediario (middleware) y con propsito general forma parte del esfuerzo de investigacin europeo actual. La tercera capa en la arquitectura es la capa de integracin SUN Open Net Environment (SUN ONE). Se propone usar tecnologas de integracin para conectar la capa Savant con los sistemas de informacin corporativos, como sistemas legacy, ERP (Enterprise Resource Planning), gestin de la cadena de valor, gestin de las relaciones con el cliente, y otras aplicaciones. En el soporte a estas piezas de la arquitectura, SUN introduce todo su arsenal de tecnologas software (Java Message Service JMS, Java 2 Enterprise Edition J2EE, Java Management Extensions JMX y muchas otras). El traslado de los datos y la gestin de procesos de negocio son necesarios para que los sistemas de informacin corporativos reciban la informacin en tiempo real de la cadena de valor que est contenida en el Savant. Los sistemas de informacin corporativos se encuentran en la cima de la arquitectura. Como ya hemos comentado, esta empresa tambin ofrece paquetes de servicios, implantacin, consultora, etc. Indican que el procedimiento que debera de seguirse para implementar la tecnologa RFID en una empresa son: 1. Crear un equipo multidisciplinar con alta dedicacin a la implantacin del sistema. 2. Definir los requisitos de negocio simples y medibles (mediante mtricas si fuera posible). 3. Determinar de forma cuidadosa los datos y procesos del negocio. 4. Seleccionar las empresas externas colaboradoras definiendo sus roles. 5. Definir la arquitectura de red y la integracin del negocio.
26
Anlisis de servicios de identificacin-localizacin basados en RFID 6. Seleccionar del mercado los lectores y etiquetas ms adecuados. 7. Realizar un prototipo y evaluarlo. 8. Efectuar la implementacin real.
27
Anlisis de servicios de identificacin-localizacin basados en RFID (fabricacin de productos de limpieza), incluyendo varios subsistemas, desde las etiquetas hasta los protocolos. PARCELCALL (An open architecture for intelligent tracing solutions in transport and logistics, IST-1999-10700). Este proyecto ha desarrollado una arquitectura abierta para el seguimiento y trazado inteligente en el transporte y la logstica, integrando desde los sensores avanzados hasta la ingeniera de servicios y redes GPRS y UMTS. El resultado es una plataforma genrica de servicio, capaz de adaptarse a otras reas como la atencin hospitalaria, servicios de emergencia, etc. Los socios principales fueron los europeos Siemens y Philips. Por otra parte, tambin indicaremos que existen en la actualidad varias iniciativas en las comunidades de cdigo abierto. El grado de madurez y soporte en estos proyectos es muy variable. En dos de ellos hemos encontrado cdigo fuente para los elementos software del sistema RFID: Java RFID Project, desarrollado por Chiara Oriani, Etnoteam S.p.A. Labs (Milano - Italy) como proyecto de Universidad. El proyecto consiste en libreras y aplicaciones Java para la comunicacin con lectores RFID. El sistema ejecuta sobre Linux Suse 8.1. rfid library, de Loic Dachary, INRIA, que consiste en un conjunto de libreras C para conexin con lectores RFID, bajo licencia GPL. Siendo unas bibliotecas amplias y probadas, el objetivo para el que se han construido es el de proteger la privacidad de los individuos.
28
29
Anlisis de servicios de identificacin-localizacin basados en RFID con respecto a las capacidades de comunicacin: inductivas / back-scatter (de reflejo) / bidireccionales, con respecto a la capacidad de almacenamiento: lectura-escritura / slo lectura. Con respecto a la gestin de la energa: Las etiquetas activas tienen una batera interna, que se usa para alimentar los circuitos del microchip y enviar una seal al lector. La batera suele estar integrada en el propio paquete de la etiqueta (no se puede extraer y sustituir) por lo que la vida de la batera determina la vida til de la etiqueta (10 aos en el mejor de los casos). Proporcionan funcionalidades de gama alta: lecturaescritura, gran capacidad de almacenamiento (sobrepasando 1 Mega Byte), distancia mayor de lectura con respecto al lector, bidireccionalidad de la comunicacin. Entre sus inconvenientes a la hora de elegirlas para una aplicacin concreta, mencionar su coste mayor, su tamao tambin mayor. Las etiquetas pasivas no disponen de fuente interna de energa, lo que hace que sean ms baratas y su vida media no viene determinada por la de la batera; a cambio poseen menores capacidades de comunicacin y almacenamiento. Convierten la energa del campo electromagntico del lector en corriente para excitar la antena de la etiqueta mediante induccin. La capacidad de transmisin y la distancia que alcanzan es, por tanto, mucho menor que en el caso de las etiquetas activas. Sin embargo, el menor tamao, abaratamiento y su tiempo de vida ilimitado hace que se hayan convertido en la opcin ms adecuada para la identificacin y localizacin a gran escala. Existen tambin etiquetas semi-pasivas, que usan una batera para alimentar los circuitos del chip, pero se comunican utilizando energa del lector. Con respecto a la capacidad de almacenamiento de datos: Las etiquetas de slo lectura: suele tratarse de etiquetas pasivas en las que durante el proceso de fabricacin de la propia etiqueta, se proporciona un nmero (o identificador) nico, que no se puede modificar. El rango de datos con el que se trabaja en la actualidad va desde los 32 a los 128 bits. Las etiquetas de slo lectura en su mayora operan como una clave en una base de datos, de la
30
Anlisis de servicios de identificacin-localizacin basados en RFID misma manera que un cdigo de barras acta como clave de bsqueda sobre una base de datos de productos. La asignacin de identificadores se convierte en un problema de numeracin (en el sentido de redes de comunicacin), en el que es preciso establecer normas rigurosas y aceptadas por todos los agentes para que no aparezcan duplicaciones de identificacin, y se gestione eficazmente el espacio de direcciones (identificadores). Este problema puede hacerse ms grave ante la aparicin en el mercado de impresoras de antenas, capaces de crear etiquetas pasivas con un equipamiento muy barato al alcance de cualquier agente, que puede seguir un plan de numeracin propio (o ningn plan). Otro gran problema de la tecnologa RFID, que se plantea desde el nivel fsico, es el de la privacidad. Si las etiquetas pasivas no llevan ningn sistema de inhibicin, estaran proporcionando informacin donde quiera que fueran, mientras hubiera lectores compatibles. En la actualidad se est trabajando en dotar incluso a estas tarjetas de medios de inhibicin que permitan la destruccin del cdigo o la inhibicin definitiva de la tarjeta una vez que sale fuera del mbito administrativo adecuado. El problema todava no planteado, pero claramente previsible, es que se inhiba la tarjeta fraudulentamente. Las etiquetas de lectura/escritura. Con los sistemas de lectura/escritura se puede adicionar o sobrescribir informacin a la etiqueta cuando sta se encuentra dentro del rango del lector. Las etiquetas de lectura/escritura son tiles en algunas aplicaciones especializadas, pero puesto que son ms caras que las etiquetas de slo lectura, resultan poco prcticas para dar seguimiento a productos baratos. Tienen un claro potencial de uso en aplicaciones complejas en las que la propia etiqueta almacene informacin histrica. Este uso y tipo de etiquetas ha derivado al dominio denominado tarjeta inteligente en el que se han realizado investigaciones activas en los ltimos aos y ha dado paso a un floreciente mercado de aplicaciones actualmente en despliegue (la tarjeta asistencial o historial mdico que algunas administraciones estn implantando). Con respecto a las capacidades de comunicacin: Las etiquetas inductivas. Se cargan al pasar a travs de un campo electromagntico generado por el lector. La etiqueta resuena en la frecuencia del
31
Anlisis de servicios de identificacin-localizacin basados en RFID campo causando una disrupcin del campo. Normalmente se construyen de esta forma para poder funcionar como etiquetas pasivas y por lo tanto, son etiquetas de slo lectura. Al no llevar batera ni procesador (o ser ste mnimo), su coste es muy reducido. Las etiquetas inductivas de 1 bit (etiquetas de presencia) son las que se encuentran habitualmente en los sistemas de vigilancia electrnica de artculos (Electronic Article Surveillance, EAS) y pueden costar menos de un cntimo de Euro por etiqueta, mientras que las de mayor capacidad pueden llegar a costar 6 Euros. Los rangos de lectura tpicos son menores de 3 metros. An a pesar de sus limitaciones, se han descrito aplicaciones de estas etiquetas en los mbitos de: EAS, sistemas antirrobo, controles de acceso, identificacin personal, gestin de animales salvajes, identificacin de mascotas, identificacin de productos, acceso y seguridad para vehculos. La siguiente figura muestra el esquema de funcionamiento bsico de las etiquetas inductivas.
Las etiquetas de reflejo (back-scatter): estas etiquetas operan bajo el principio de difusin, en el que el lector crea un campo electromagntico que es reflejado por la etiqueta tras ser modulada o codificada su seal con una seal de reloj y la informacin interna de la etiqueta. Pueden ser etiquetas activas o pasivas, y su coste vara entre los 3 y los 30 Euros. Existen en el mercado etiquetas de reflejo de lectura y escritura y de slo lectura. Se han descrito aplicaciones de este tipo de etiquetas en: cobros de peajes, sistemas de gestin de trfico, gestin de contenedores en puertos y estaciones, trazabilidad de productos, identificacin de automviles y sistemas de control ferroviario, entre otros. La siguiente figura representa el funcionamiento de la etiqueta de reflejo.
32
Las etiquetas bidireccionales. Son etiquetas con dos sentidos de comunicacin, activas y casi siempre con capacidades de lectura y escritura. Incorporan un transmisor y/o receptor miniaturizado. La etiqueta puede ser interrogada o transmitir libremente. Los datos pueden ser ledos o programados solamente por el interrogador. El coste medio puede variar entre los 69 y los 140 Euros. Entre las aplicaciones ms relevantes en las que se han utilizado, se pueden mencionar: cobros de peajes, control de procesos de fabricacin, gestin de basuras, control de productos de alto valor. La figura muestra el esquema de funcionamiento de este tipo de etiquetas.
33
Especificaciones
Tag Type: ePC class 1 compliant Operating frequency: 915 MHz (902-928 MHz) Read Range: up to 4 meters Simultaneous Identification of Tags: Up to 200 tags per second (reader/antenna dependent) Tag Power: RF Beam Powered (Passive) Tag to Reader Communication: Backscatter Memory Capacity: 96 bits Memory Type: Write Once, Read Many Antenna Dimensions: 44x99mm Orientation Sensitivity: Best of ePC Class 1 Tags. Aplicaciones: Propsito general.
Precio US74.99
100
Tag Type: ePC class 1 compliant Operating frequency: 915 MHz (902-928 MHz
)
US74.99
100
3 7/8" by 1/2" EPC Class 1 compliant Walmart mandate compliant 915 MHz operating frequency Strong adhesive Tamper evident
US74.99
100
Tag Type: ePC class 1 compliant Operating frequency: 915 MHz (902-928 MHz Read Range: up to 5 meters Simultaneous Identification of Tags: Up to 200
tags per second (reader/antenna dependent) Tag Power: RF Beam Powered (Passive) Tag to Reader Communication: Backscatter Memory Capacity: 96 bits Memory Type: Write Once, Read Many Antenna Dimensions: 13x134mm Orientation Sensitivity: Good Applications: General Purpose )
US74.99
34
US271.99
250
915 MHz Matrics smart labels in 4"x4" form factor an be attached to products, boxes, pallets, trays and/or totes to produce a wireless system that uniquely identifies and tracks items as they travel through the supply chain. Works with Matrics reader. Price includes 250 tags. Discounts applied for orders of 10,000 or more.
US271.99
35
Anlisis de servicios de identificacin-localizacin basados en RFID constantemente cuando se esperan mltiples etiquetas de forma incesante. Si no se requiere interrogacin constante, el campo puede ser activado por un dispositivo sensor (as funcionan algunas antenas en marcos de puertas, por ejemplo). A menudo, la antena se encuentra asociada al transceptor y al decodificador, que de esta manera conforman un lector (interrogador), el cual, a su vez, puede ser configurado como un dispositivo mvil o fijo. El lector emite ondas de radio en rangos que van desde una 2 cm hasta 3 metros o ms, dependiendo de la potencia de la antena y la frecuencia de radio que use. Cuando una etiqueta RFID pasa a travs de la zona electromagntica, sta detecta la seal de activacin del lector. El lector decodifica los datos codificados en el circuito integrado de la etiqueta y los datos se pasan al ordenador para su procesamiento. El Auto-ID Reader Protocol Specification 1.0 define un protocolo estndar por medio del cual los lectores se comunican con los sistemas de adquisicin de datos (Savants) y otros ordenadores. La especificacin de los sistemas de adquisicin de datos tiene tambin previsto un adaptador para lograr una interfaz con lectores antiguos que no implementan el Auto-ID Reader Protocol. Los sistemas de baja frecuencia (30 KHz a 500 KHz) tienen rangos de lectura cortos y costes bajos. Son los ms usados en aplicaciones de seguridad en el acceso, rastreo e identificacin de animales. Los sistemas de alta frecuencia (850 Mhz a 950 MHz y de 2.4 GHz a 2.5 GHz) ofrecen rangos de lectura amplios (mayores de 3 m) y velocidades de lectura altas y son usados para aplicaciones como seguimiento de vagones de tren y cobro de peaje automtico. Como ya se ha mencionado en este estudio, la gran ventaja significativa de todos los tipos de sistemas RFID es la ausencia de contacto y la naturaleza de la tecnologa en cuanto a que no es necesaria la visin directa. Las etiquetas pueden leerse a travs de una gran variedad de sustancias como nieve, niebla, hielo, pintura, suciedad incrustada y otras condiciones ambientales y visuales adversas en donde los cdigos de barra y otras tecnologas de lectura ptica no seran tiles. Las etiquetas RFID tambin pueden ser ledas en circunstancias adversas a altas velocidades, en la mayora de los casos respondiendo en menos de 100 milisegundos. La capacidad de lectura/escritura de un sistema RFID activo es tambin una
36
Anlisis de servicios de identificacin-localizacin basados en RFID ventaja significativa en aplicaciones interactivas tales como trabajo-en-proceso y seguimiento del mantenimiento. Aunque es una tecnologa costosa (comparada con cdigo de barras), RFID ha llegado a ser indispensable para un amplio rango de captura de datos automatizada y aplicaciones de identificacin que no seran posibles de otra manera. Los desarrollos en la tecnologa RFID continan en campos para incrementar las capacidades de memoria, rangos de lectura ms amplios y procesamientos ms rpidos. Es altamente improbable que la tecnologa remplace a los cdigos de barra incluso con la inevitable reduccin de los materiales en conjuncin con las economas de escala, el circuito integrado de una etiqueta RFID nunca tendr una mejor relacin coste-beneficio que la etiqueta de cdigo de barras. Sin embargo, RFID continuar creciendo en algunos dominios donde el cdigo de barras u otras tecnologas pticas no son efectivas. Si los intentos de estandarizacin de etiquetas, lectores, protocolos entre ambos e interfaces de los lectores llegan a buen puerto, se espera un gran crecimiento del mercado. Algunas caractersticas de los lectores RFID que puede ser interesante observar, aparte del precio de compra, tienen que ver con los rangos de frecuencia que se usan, la compatibilidad con las tarjetas, los mecanismos anticolisiones y el rango de lectura. En primer lugar, comentemos que es posible que, desde el punto de vista del lector, aparezcan dos tipos de colisiones: 1. colisin de lectores, por solapamiento de la zona de cobertura de dos o ms lectores. As, el Auto-ID Center ha emitido recomendaciones acerca de la sincronizacin de lectores, basadas en el uso de TDMA (acceso mltiple al medio por divisin en el tiempo). Los lectores debern de coordinarse para realizar un reparto del tiempo disponible de forma que no emitan a la vez si pudieran colisionar. En cualquier caso, las etiquetas situadas en la zona de solapamiento respondern con el mismo cdigo a todos los lectores en cuya cobertura se encuentren, en momentos diferentes. La deteccin de las etiquetas identificadas simultneamente por varios lectores al estar en la zona de colisin es una funcin que queda fuera del alcance de los lectores: el sistema de recogida de datos (denominado Savant en la terminologa Auto-ID Center).
37
Anlisis de servicios de identificacin-localizacin basados en RFID 2. colisin de etiquetas que se produce cuando en la zona de cobertura de un lector se encuentran simultneamente varias etiquetas que responden a la vez a la excitacin del lector, enmascarando la seal de vuelta. De entre los mltiples mtodos que se han investigado e informado en la literatura del tema, el Auto-ID Center ha seleccionado y estandarizado un mtodo de sondeo selectivo: cuando el lector recibe una seal que le indica que hay colisin de etiquetas, comienza un procedimiento de bsqueda binaria de etiquetas (bsicamente, usa prefijos crecientes binarios de cdigo para pedir respuesta a un subconjunto de las etiquetas posibles en la zona de cobertura), hasta que recibe respuesta de una nica etiqueta. Segn las implementaciones de referencia documentadas por el Auto-ID Center, han sido capaces de obtener una velocidad neta de lectura de 50 etiquetas por segundo incluyendo la sobrecarga que impone este mecanismo de seleccin de etiquetas. Por otra parte, el rango (la distancia) de lectura de un lector, depende de la potencia de emisin de su antena y de la frecuencia que usen la tarjeta y la antena para comunicarse; en general las etiquetas de ms alta frecuencia ofrecen mayores rangos de lectura, pero necesitan tambin mayor potencia del lector. Un caso tpico es el de las etiquetas de HF, cuyos lectores tienen un rango de lectura medio de 30 cm, o el caso de los lectores UHF que pueden leerse hasta los 6 metros. En la situacin actual, en la que la localizacin de un tem se basa nicamente en el conocimiento de la posicin del lector que lo identifica, existe un punto de equilibrio entre el nmero de lectores, el rango de lectura de stos, y la precisin de la localizacin, en virtud del cual puede ser mejor usar ms lectores de menor rango, por ejemplo. Este punto de equilibrio depende de la aplicacin para la que se utilicen los lectores, y de la topologa de red de stos, y se trata de un problema todava en estudio. La realizacin del clculo de este punto de equilibrio en un contexto concreto es hoy da objeto de consultora; conseguir un mtodo general, automatizado y barato para el clculo del punto de equilibrio es, en nuestra opinin, uno de los requisitos determinantes para que la tecnologa se adopte masivamente, y podra ser un perfecto motivo de estudios posteriores a este trabajo.
38
COSTE US499.99
US499.99
US199.99
US369.99
US474.99
COSTE US699.99
US2,799.99
US3,999.99
US2,199.99
39
Anlisis de servicios de identificacin-localizacin basados en RFID Lectores de rango largo (3.3 metros)
IMAGEN DEL PRODUCTO
NOMBRE DEL PRODUCTO Alien Technology 915 MHz RFID Reader w/Antenna
COSTE US3,999.99
US4,999.99
US3,549.99
US2,999.99
US2,799.99
US3,999.99
RI-ANT-G04E (Series 2000 Gate Antenna Large) The Large Series 2000 Gate Antenna is a fullypackaged antenna for applications like vehicle access to parking lots in an outdoor environment. It can be mounted on a pole or a wall. The antenna is optimized for cable lengths between 0.5 and 4 meters. Recommended connecting cable type: 2.5 mm 2 (14 AWG) flexible conductor.
COSTE US 220.32
40
RI-ANT-GO2E (Series 2000 Gate Antenna Small) The small gate antenna is designed for use beside conveyers, or in any small defined location.
US 139.05
RI-ANT-S02C (Series 2000 Stick Antenna) The ferrite rod antenna is a short cylindrical device used in stationary applications where space is limited. An additional benefit of the stick antenna is that it allows a precise discrimination between RFID tags in close proximity to one another through a highly directed field. RI-ANT-P02A-00 (Series 2000 Stick Antenna for Series 2000 Mini RFM) This stick antenna is specially designed for use with the Mini-RFM. The ferrite rod antenna is a short cylindrical device used in stationary applications where space is limited. An additional benefit of the stick antenna is that it allows a precise discrimination between RFID tags in close proximity to one another through a highly directed field.
US 90.09
US 84.21
41
RI-STU-MRD1 (Series 2000 Micro Reader) The Micro-reader is an intelligent module which provides the RF and Control functions to communicate with TI-RFID Transponders. It is equipped with a serial communications interface which may be directly connected to commonly used system controllers. The use of low-Q antennas eliminates the need to tune the system to resonance. RI-STU-251B (Series 2000 Reader S251B) The Series 2000 Reader S251B provides all the RF and control functions to communicate with TI*RFID LF Transponders. It includes a Dynamic Auto Tuning (DAT) function that automatically tunes a standard antenna to resonance and keeps it tuned during operation. The reader performs all the tasks necessary according to the commands from the host to send signals to and receive data from a TI RFID Transponder. It decodes the received RF signals into the transponders identification number, checks the validity and handles the conversion to a standard serial interface protocol. RI-STU-MB6A (Series 2000 Standard Reader RS422/485 Interface) The Series 2000 Control Module (CTL) is the interface between a TI RFID Radio Frequency Module and a controlling host. The CTL controls the transmitting and receiving functions of the RFM according to the commands from the host to send signals to and receive data from a TI-RFid transponder. It decodes the received RF signals into the transponders identification number, checks the validity and handles the conversion to a standard serial interface protocol.
COSTE US 63.97
US 748.54
US 511.36
42
RI-STU-TRDC-02 (S6350 Midrange Reader Module) The S6350 HF reader is a low profile, low power device that is designed to be easily integrated or imbedded into almost any system. Operating at a frequency of 13.56 MHz and compatible with ISO/IEC 15693 inlays and tags, the S6350 Reader allows for the interoperability of inlays and tags from multiple manufacturers. RI-STU-650A-00 (S6500 Long Range Reader Module) The S6500 Long Range Reader Module handles all RF and digital functions required in order to communicate with Tag-it HF, Tag-it HF-I (ISO 15693 compliant) and all other ISO 15693 compliant transponder from various suppliers. The module has two digital inputs, two digital outputs, a relay output and an asynchronous interface which can be configured as RS232 or RS485. The configurability of the interfaces also allows the module to be operated on an RS485 data bus. The address can be assigned either through software or hardware (3 DIP switches). Software Available Through Free Downloads on TI-RFid Product Page.
COSTE US 178.50
US 2,082.50
43
US 9.65
US 3.38
44
45
1
Lector RFID
2
Middleware Savant. Filtrado, agregacin y contabilidad de los datos de lectura de las etiquetas Servicio de Informacin EPC. Se encarga que de todos los datos sean presentados en formato PML
3
Cach ONS local. Se mantiene un registro de las consultas hechas de modo frecuente o ltimamente realizadas.
4
Servidor ONS (Servicio de nombres de objetos). El servicio puede ser esttico o dinmico.
Aplicaciones empresariales
PML Server
Aunque mencionaremos otras propuestas de arquitectura de aplicaciones de identificacinestandarizacin RFID, hemos encontrado una alineacin muy clara de todas las propuestas con la arquitectura de referencia Auto-ID, por lo que ceiremos el estudio al anlisis de dicha arquitectura de referencia.
46
Anlisis de servicios de identificacin-localizacin basados en RFID El escenario de uso de la tecnologa RFID para la identificacin: 1. Los lectores detectan cuando una etiqueta entra en su rango de lectura y obtienen el cdigo EPC (cdigo electrnico del producto). 2. El lector enva la lectura (EPC) a un ordenador que ejecuta el sistema de recogida de informacin, denominado Savant, encargado de filtrar, agregar y contabilizar los datos obtenidos de los lectores. 3. Savant consulta su base de datos local en la cual se asocia un cdigo EPC del producto a una URL donde se encontrar la informacin descriptiva del producto. La base de datos se denomina ONS (Object Name Server) y es una base de datos jerrquica distribuida al estilo del DNS (Domain Name Server) de Internet. 4. Si los datos del URL no se encuentran en la base de datos local, entonces se utiliza un servicio de ONS global. Esta base de datos ONS global permitir obtener la URL en la cual obtener la descripcin del producto al cual va asociada la etiqueta con el EPC ledo, tomando la informacin del producto del fabricante de ste (el que le incorpor la etiqueta). 5. De acuerdo al URL obtenido (ya sea local o global), se puede acceder a la base de datos del servidor que contiene la informacin descriptiva del producto, expresada en el lenguaje PML (product markup language, un dialecto derivado de XML) que contiene la informacin del producto. 6. Las aplicaciones empresariales y corporativas utilizan una interfaz proporcionada por Savant para acceder a la informacin que ste puede proporcionar, incluyendo identificacin, localizacin y medidas de otros tipos. Aun siendo un escenario especfico, centrado fundamentalmente en la funcin de identificacin de producto, y que deja al margen la problemtica de asociacin de cdigos a productos, descripcin de productos, ciclo de vida de etiquetas, seguridad, etc. tomaremos el escenario como bsico para la descripcin de la arquitectura. En una situacin de operacin estable, este escenario es el ms comn y el absolutamente crucial para observar las ventajas de la introduccin de la tecnologa.
47
La figura muestra en ms detalle la arquitectura de referencia propuesta por el Auto-ID Center para el desarrollo y despliegue de sistemas de identificacin-localizacin basados en RFID. En dicho grfico se muestran las entidades fundamentales en el despliegue de la tecnologa RFID en el mbito interno de la empresa. Los elementos del sistema de identificacinlocalizacin son los marcados en amarillo (Etiquetas, sensores, EPC, Reader, Savant, EPC information servcie, ONS (cach). La integracin del sistema hacia el exterior se produce: Por la conexin entre subsistemas ONS, Por la integracin entre el sistema Auto-ID y las aplicaciones de la empresa (Enterprise Applications), e indirectamente en este punto por las transacciones de negocio, que debern ser controladas por las aplicaciones de la empresa.
48
En esta primera aproximacin a la arquitectura de referencia propuesta por el Auto-ID Center, que vamos a seguir a lo largo de este estudio, aparecen algunos conceptos sobre los que profundizaremos ms adelante y cuyo estudio constituir el ncleo de este trabajo. Merece la pena dar una breve descripcin de todos ellos de forma que sea entendible el esquema general de funcionamiento de los sistemas de identificacin-localizacin basados en RFID: Tarjeta: se refiere a las tarjetas RFID ya comentadas en la seccin correspondiente a elementos de nivel fsico. En el caso del trabajo de Auto-ID Center, las tarjetas sern, fundamentalmente, tarjetas pasivas, de slo lectura, y capaces de proporcionar bajo la excitacin del lector un cdigo electrnico de producto (EPC) segn los estndares (64 o 96 bits). Lector (Reader): el lector debe ser capaz de consultar o sondear su zona de cobertura y de obtener informacin correspondiente a los cdigos EPC de las tarjetas que se encuentren en este rango. Para ello, el lector implementa un mecanismo de resolucin de la colisin de las etiquetas. El lector (o mejor los lectores) estarn asociados a uno o varios ordenadores a travs de una red de rea local o inalmbrica, de forma que los lectores puedan recibir las rdenes de estos ordenadores para guiar su ejecucin, y los lectores dar informacin del inventario o conjunto de identificadores EPC de las tarjetas en el rango. Cdigo electrnico EPC: se trata de un conjunto de bits organizados de acuerdo a diferentes patrones o mscaras. Una tarjeta debe ser capaz de devolver un cdigo al lector que le ha sondeado. Los estndares propuestos por Auto-ID Center y en uso actualmente permiten identificar de forma unvoca a un tem (producto) en una organizacin segn un esquema jerrquico; Auto-ID Center propone conjuntos de 64 y 96 bits.
49
Anlisis de servicios de identificacin-localizacin basados en RFID Savant: es el subsistema de recogida de datos a partir de los lectores a su cargo, y efectuar operaciones bsicas de tratamiento de los datos obtenidos (eliminacin de EPC duplicados en varios lectores por colisin de lectores, por ejemplo). Igualmente, este subsistema debe mantener una base de datos de tiempo real de forma que los datos se recojan, filtren, y enven eficientemente. Savant pueden entenderse tambin como un sistema jerrquico de recogida y almacenamiento temporal de datos en el que las hojas de la jerarqua recogen los datos de campo y stos son agregados en la jerarqua dentro de los servidores de la empresa. Product Markup Language (PML): la descripcin de un producto debe de realizarse de manera estandarizada. El PML usa esquemas XML para describir los productos que tpicamente sern puestos bajo el control del sistema RFID. Al utilizarse estos esquemas comunes, se fomenta la interoperabilidad de sistemas RFID entre empresas, a la vez que se agrupa al mercado. Servidor de informacin de producto (EPC information service): es cualquier servidor que contiene descripciones en lenguaje PML al que atacar proporcionando un cdigo EPC para obtener una descripcin del producto asociado al cdigo EPC en este lenguaje, capaz de ser procesada o leda por humanos. Object Name Server: se trata de un subsistema que introduce un nivel de indireccin entre el cdigo EPC que es capaz de recoger el Savant a partir de los lectores que los obtienen de las tarjetas en su rango de lectura-, al lugar de Internet (descrito con un Universal Resource Locator o URL) en el que se podr encontrar una descripcin del producto al que el cdigo EPC ha sido asociado. La estructura de ONS es una rplica de la estructura del Domain Name Server DNS de Internet; parece que se ha elegido sta por la capacidad de crecimiento, normalizacin, nivel de replicacin y esquema de cachs, y por aprovechar la experiencia que ya existe en el uso de DNS para almacenar informacin fuera del uso convencional dominio Internet-direccn IP (por ejemplo, los estndares ENUM utilizan igualmente el DNS como base de datos de informacin de usuarios a partir de un dato de entrada que en este caso resulta ser un nmero de telfono).
50
Anlisis de servicios de identificacin-localizacin basados en RFID El siguiente grfico muestra un esquema muy similar, en el cual la descripcin de los productos se mantiene fuera del control de la empresa o del dominio administrativo en el que se encontrar una determinada etiqueta. En las siguientes secciones de este trabajo, detallaremos los resultados de nuestras investigaciones acerca de cada uno de los elementos de la arquitectura. Describiremos sus funciones, normas estandarizadas e implementaciones de las que hemos tenido informacin. Seguiremos en cada uno de ellos el estndar correspondiente emitido o recomendado por Auto-ID center.
51
5. Cdigos EPC
La descripcin que se incluye hace referencia al estndar EPC Tag Data Specification 1.0 de Auto-ID Center.
52
Especficamente el encabezado EPC: 1. determina la estructura para la identificacin nica de un objeto, 2. establece el nmero y formato del nmero de particiones, incluyendo la longitud total y la longitud de cada particin, 3. indica las particiones adicionales para contenido o datos asociados con un EPC (si es necesario). La longitud de bits totales y la longitud de bits de cada particin estn establecidas por un valor de encabezado dado, como se refleja en la siguiente tabla.
Binary Value 96-bit Universal Identifier 96-bit Domain Identifier (EAN.UCC System) 64-bit Universal Identifier 64-bit Domain Identifier (EAN.UCC System) 0000 0001 0000 0010 01 10
53
Anlisis de servicios de identificacin-localizacin basados en RFID De modo adicional a un encabezado, los Identificadores Universales estn compuestos de particiones de tres bits: el nmero de Gestor de Dominio, el nmero de Clase de Objeto y el Nmero de Serie. Las asignaciones de bits para los tipos de 96 y 64 bits se muestran en la siguiente tabla.
Bit Allocations Per Partition Header Domain Manager 96-bit Universal Identifier 64-bit Universal Identifier 2 21 17 24 8 28 Object Class 24 Serial Number 36
El componente Gestor de Dominio identifica el Gestor EPC; esto es, la compaa o entidad responsable del mantenimiento de los nmeros en las particiones subsecuentes (Clase Objeto y Nmero de Serie). Un nmero de Gestor de Dominio representa la misma entidad en todas las versiones. El nmero de Gestor de Dominio es asignado por EPCglobal a una compaa y asegura que cada nmero de Gestor de Dominio es nico. El tercer componente es la clase de objeto, y es usada por el Gestor EPC para identificar una clase de objetos. La clase objeto representa un grupo o clase de objetos. La entidad o compaa que se encuentra administrando el nmero de Gestor de Dominio asigna los nmeros de clase de objetos de modo que cada clase de objetos dentro de un nmero de Gestor de Dominio sea nica. El cuarto componente, el Nmero de Serie, codifica la identificacin nica de la instancia. La entidad o compaa administrando el nmero de Gestor de Dominio asigna el nmero de serie de modo que cada instancia dentro de un nmero de clase de objeto tenga un nmero de serie distinto. Este nmero necesita ser nico para identificar a una instancia del objeto.
54
El tipo de Identificacin de Dominio definido soporta el EAN.UCC Global Trade Item Number (GTIN). En adicin al encabezado, los identificadores estn compuestos de particiones de cuatro bits: el tipo de objeto, un prefijo de compaa, una referencia al artculo y un nmero de serie. El tipo de 96 bits contiene tambin una quinta particin para establecer la divisin entre prefijo de compaa y referencia al artculo. El prefijo de la compaa y las particiones de referencia de artculo varan en relacin a cada otro y la particin sirve para establecer la divisin exacta en cada caso. La particin existe solamente en la versin de 96 bits. Los valores de la particin se describen en la tabla siguiente.
Partition 1 2 3 4 5 6 Company Prefix Bits 37 34 30 27 24 20 Digits 11 10 9 8 7 6 Address 128 Billion 16 Billion 1 Billion 128 Million 16 Million 1 Million Item Reference Bits 7 10 14 17 20 24 Digit 2 3 4 5 6 7 Address 128 1024 16,384 131,072 1 Million 16 Million
55
Anlisis de servicios de identificacin-localizacin basados en RFID Ms all del contenido nuevo de la versin 1.1 (tal como la adicin de nuevos formatos de codificacin) los cambios ms significativos a las versiones anteriores son: 1. Redefinicin y clarificacin de las reglas para la asignacin de los valores de encabezado: (i) permitir varias longitudes de encabezado para una etiqueta de una longitud dada para soportar ms opciones de codificacin en una etiqueta especfica, y (ii) indicar la longitud de la etiqueta va la parte izquierda ms significativa del encabezado; esto es para soportar una eficiencia de lectura mxima. 2. Retiro de los identificadores universales de 64 bits en los formatos tipos I y III, previamente identificados por encabezados de 2 bits. El encabezado asignado al Identificador Universal tipo II es ahora asignado a la codificacin SGTIN de 64 bits. Los encabezados tipo I y III no han sido reasignados a otras codificaciones, y estn simplemente designados como reservados. Los encabezados asociados con los tipos I y III se mantendrn como re-reservados por un periodo de tiempo an no determinado para poder soportar las etiquetas que los han usado previamente. A menos que aparezca una clara necesidad (como fue el caso con el SGTIN) en donde estos pueden ser considerados para ser reasignados. 3. Renumeracin de los encabezados de los Identificadores Universales de 96 bits para encajarlos dentro de las reglas de encabezados revisadas y renombrar este cdigo Identificador General para evitar confusin con el identificador nico (UID) que ser introducido por el Departamento de la Defensa de los Estados Unidos y sus proveedores.
56
57
Capa de lectura: Esta capa especifica el contenido y formato del intercambio de mensajes entre el lector y la aplicacin host. Esta capa es el corazn del protocolo de lectura, definiendo las operaciones que pueden efectuar los lectores y lo que stas significan. Capa de mensajes: Especifica cmo se estructuran, transforman y transportan los mensajes definidos en la capa de lectura, sobre un transporte de red especfico. Si existen servicios de seguridad, estos son proporcionados por esta capa (los servicios de seguridad incluyen autenticacin, autorizacin, confidencialidad de mensajes e integridad de mensajes). Para cada mensaje, la capa de mensajes especifica cmo se establece una conexin de red subyacente, cmo debe ser cualquier mensaje de inicializacin requerido para establecer la sincronizacin o para inicializar los servicios de seguridad y, adems, cualquier otro tipo de proceso efectuado (por ejemplo, encriptacin). Capa de transporte. Esta capa corresponde a la especificacin de las facilidades de red proporcionadas por el sistema operativo o equivalente. La especificacin del protocolo de lectura proporciona mltiples alternativas de implementacin de la capa de mensajes. Cada implementacin se llama binding de mensaje/transporte, y hay varios tipos de transporte, por ejemplo, TCP-IP, Bluetooth o lnea serie. Cada uno de ellos proporciona diferentes tipos de servicios de seguridad, formas de establecimiento de las conexiones (inicio por el lector o por la aplicacin host) y formas de ofrecer la informacin de configuracin. Al margen del MTB (message transport binding) que se use en una sesin, un lector slo se puede enlazar a una aplicacin host simultneamente.
58
Anlisis de servicios de identificacin-localizacin basados en RFID La interfaz entre la capa de lectura y la capa de mensajes se define en trminos de canales de mensajes, cada uno representando una comunicacin independiente entre el lector y la aplicacin host. En particular, se definen: El canal de control. El canal de control transporta las solicitudes de la aplicacin host al lector, y las respuestas de ste, en modo sncrono (solicitud-respuesta). La mayora de las interacciones lector-host usan este canal. El canal de notificacin. El canal de notificacin transporta los mensajes producidos por el lector hacia la aplicacin host, de forma asncrona. Este canal se usa para soportar un modo de operacin en el cual el lector entrega lecturas de etiquetas a la aplicacin host sin necesidad de que esta realice ninguna consulta, de forma asncrona. El uso de estos dos canales de comunicacin separados soporta el siguiente escenario de operacin: 1. La aplicacin host produce una peticin (en el canal de control) al lector para que entre en el modo de lectura automtica. 2. El lector responde con un asentimiento (acknowledgement) sobre el canal de control. 3. Posteriormente, el lector produce mensajes sobre el canal de notificacin de forma asncrona, por ejemplo, sobre un temporizador o una respuesta a eventos externos. 4. En algn momento despus, la aplicacin host produce una nueva peticin (sobre el canal de control) para terminar con la lectura automtica. 5. El lector responde (usando el canal de control) con un asentimiento. Corresponde a la capa de mensajes determinar cmo se implementan los dos canales. En la prctica, la mayora de los MTB no crean dos conexiones independientes en la capa de transporte, sino que la capa de mensajes puede usar una sola conexin a la capa de transporte y etiquetar cada mensaje con un identificador de canal. La razn para introducir la nocin de canales de mensajes es dar ms libertad a la capa de mensajes para tratar la asincrona de diferentes maneras. Por ejemplo, si un MTB usa HTTP como la capa de transporte, ste tendr que tratar con la semntica estricta de peticin/respuesta de HTTP. Los pares peticin/respuesta del canal de control encajan de modo natural en HTTP pero hay que hacer algo ms complicado para manejar los mensajes
59
Anlisis de servicios de identificacin-localizacin basados en RFID del canal de notificacin del lector hacia la aplicacin host. En este caso, el MTB no deber usar una sola conexin HTTP para transportar tanto el trfico de los dos canales (control y notificacin), sino que el de notificacin deber implementarse de otra forma.
Raw Tag Reads Tag Event State Data Acquisition Sources Trigger
ReadCyclesPerTrigger ReadTimeout ReadDutyCycle Add/Remove ReadFilter SoftReadExpireTime FirmReadCount FirmReadExpireTime PurgeTime Add/Remove ReportFilter
Read Filter
Event Filter
Report Buffer
Event Report
Read Subsystem
Internal Data Flow Reader-to-Host Communication of Tag Data Host-settable Parameter
Event Subsystem
60
Este diagrama modela las funciones de lectura de etiqueta de un lector mediante la definicin de varios estados de procesamiento distintos (fuentes de datos, adquisicin de datos, filtro de lectura, eliminacin de errores y generacin de eventos, filtro de eventos, almacn de informes). Existirn otras funciones, como las de escritura y gestin de etiquetas se encuentran fuera del alcance de este diagrama. La informacin leda de la etiqueta fluye de izquierda a derecha y en algunos de los estados puede ser visible para la aplicacin host. En algunos casos, esta informacin est disponible para la aplicacin host como una respuesta a una orden sobre el canal de rdenes (entrega de informacin sncrona); en otros casos, la informacin se enva de forma asncrona desde el lector a la aplicacin host utilizando el canal de notificacin. Cada estado tiene parmetros que controlan sus operaciones y que pueden ser consultados y configurados por la aplicacin host a travs del canal de rdenes. Un ejemplo de parmetro que puede ser conocido y manejado por la aplicacin host y que controla la operacin del lector es el nmero de filtros (ilimitado, nico, ninguno). Los lectores deben de proporcionar mecanismos para que las aplicaciones host puedan conocer estos parmetros. De los seis estados en el diagrama, slo la funcionalidad de los tres primeros es obligatoria y por lo tanto deben ser implementados por un lector compatible, mientras que la funcionalidad de los otros estados no es obligatoria para la conformidad con la norma.
61
Anlisis de servicios de identificacin-localizacin basados en RFID significativa. Por ejemplo, el subsistema de eventos puede ser configurado para producir resultados slo cuando una etiqueta no vista previamente entra al campo de lectura o cuando una etiqueta ya vista con anterioridad no ha sido detectada durante un intervalo de tiempo especfico. Conceptualmente, el subsistema de lectura no tiene estados, mientras que el subsistema de eventos debe mantener un estado por cada etiqueta. El subsistema de lectura se divide en los tres estados siguientes: 1. Fuentes. Una fuente lee etiquetas y presenta sus datos al lector. Una sola antena de un lector de etiqueta RFID es un ejemplo simple de una fuente. Sin embargo, existen otros tipos de fuentes: por ejemplo, una pistola para leer cdigos de barras, o una agregacin de antenas (podran verse grupos de antenas como si fueran una sola fuente). El protocolo de lectura proporciona rdenes para descubrir la cantidad y nombres de las fuentes disponibles, de forma que el nombre de la fuente se pueda incluir en el resultado de la lectura de la etiqueta. Los diferentes lectores pueden variar ampliamente en cuanto a las fuentes que tienen disponibles. 2. Adquisicin de los datos. El estado adquisicin de datos es responsable de tomar datos de etiquetas desde fuentes en un punto especfico en el tiempo. El protocolo de lectura proporciona parmetros por medio de los cuales las aplicaciones host pueden especificar la frecuencia de adquisicin de datos, cuntos intentos se deben realizar, condiciones de activacin, etc. Cada intervalo atmico en el cual el estado de adquisicin de datos toma datos de una o ms etiquetas de una sola fuente se llama ciclo de lectura. 3. Filtrado de lecturas. El estado de filtrado de lecturas mantiene una lista de patrones configurados por la aplicacin host, y usa esos patrones para eliminar los datos de ciertas lecturas de etiquetas en el estado de adquisicin de datos. El propsito de este estado es reducir el volumen de datos al incluir solamente etiquetas de inters para la aplicacin. Los filtros se construyen usando los campos del tipo de cdigo electrnico EPC descritos en secciones anteriores de este documento. Por su parte, el subsistema de eventos conceptualmente consiste de tres estados: 1. Generacin de eventos y smoothing. Este estado reduce el volumen de datos en el tiempo. Cuando una etiqueta se encuentra presente en el campo de una fuente
62
Anlisis de servicios de identificacin-localizacin basados en RFID particular, el subsistema de lectura incluye informacin sobre dicha etiqueta a su salida cada vez que se completa un ciclo de lectura. As que cuando una etiqueta se encuentra dentro del rango de una fuente particular durante muchos ciclos de lectura, se generan muchos datos. El estado de generacin de eventos reduce este volumen de datos al producir un evento slo cuando sucede algo de inters: por ejemplo, cuando la etiqueta aparece por primera vez, y ms tarde cuando la etiqueta desaparece. Algunas fuentes, especialmente las RFID, no son completamente fiables, significando que una etiqueta que est dentro del campo de lectura de una fuente puede no ser detectada en todos y cada uno de los ciclos de lectura. El protocolo de lectura define un filtro de smoothing (la traduccin al castellano es aplanamiento, aunque usaremos el trmino en ingls) de propsito general, que puede ser controlado por la aplicacin host a travs de la configuracin de parmetros. Por ejemplo, la aplicacin host puede requerir que una etiqueta se encuentre presente durante un cierto nmero de ciclos de lectura dentro de un cierto intervalo de tiempo antes de generar un evento de presencia. El estado que describimos debe mantener informacin por cada combinacin fuente-etiqueta, y esta informacin puede ser la entrada al siguiente estado, o ser leda por la aplicacin host 2. Filtro de eventos. El estado de generacin de eventos y smoothing genera un evento cada vez que una etiqueta particular efecta una transicin de estado, por ejemplo, de estar presente a no estar presente. El estado de filtro de eventos permite que las aplicaciones host especifiquen los eventos en los que estn interesadas; por ejemplo, una aplicacin que slo desea saber cundo desaparece una etiqueta del campo de lectura. 3. Almacn de informes. Los eventos generados por el estado anterior se van almacenando en este almacn de informes. La aplicacin host puede solicitar de forma asncrona la entrega de todos los eventos almacenados durante un intervalo de tiempo (y borrar posteriormente el almacn); tambin puede ocurrir que los eventos se pueden ir entregando en forma asncrona en respuesta a varias activaciones.
63
7. Arquitectura de Savant
A lo largo del desarrollo del estudio se ha identificado el Savant como elemento ms importante de la arquitectura de referencia Auto-ID. Las razones para considerarlo como el elemento fundamental son dos: 1. realiza y oculta todos los elementos de filtrado de la informacin sobre las EPC de forma que esta pieza de la arquitectura es la ltima y ms alta en la cadena de ejecucin que determina si una determinada tarjeta RFID est o no presente en un rea y durante un cierto tiempo, 2. implementa las conexiones con los servidores ONS y con el resto de sistemas de informacin en la empresa. El Savant es un sistema de software intermediario (middleware) que se ubica entre los lectores de etiquetas y las aplicaciones empresariales. Pretende cubrir los requisitos especiales que presentan las aplicaciones de las EPC. Muchos de estos requisitos especiales derivan de la gran cantidad de datos finamente granulados que se originan de los lectores de etiquetas, comparados con la granularidad de los datos que las aplicaciones empresariales consumen o necesitan. As, se puede considerar el Savant como un adaptador entre ambos tipos de sistemas, que realiza funciones de reduccin de datos tales como filtrado, agregacin y contabilidad. La especificacin Auto-ID Savant Specification 1.0 define el funcionamiento de este elemento y la interfaz para las aplicaciones empresariales. Algunas caractersticas relevantes del Savant son: Arquitectura distribuida. Savant es diferente de la mayora de los sistemas de software corporativo en el sentido de que no es una aplicacin centralizada. En vez de ello, usa una arquitectura distribuida y est organizado en una jerarqua que maneja los flujos de datos. As, podr haber Savants ejecutndose en tiendas, centros de distribucin, oficinas regionales, fbricas, incluso quizs en camiones y aviones de carga. En cada nivel, obtendr, almacenar y actuar sobre la informacin, en interaccin con otros Savants. Por ejemplo, un Savant en un tienda podra informar a un centro de distribucin que se necesita ms de un producto. Un Savant en el centro de distribucin podra informar al Savant en una tienda que un envo fue despachado en un tiempo especfico.
64
Anlisis de servicios de identificacin-localizacin basados en RFID Correccin de los datos. Los Savants en los extremos de la red aquellos adjuntos a los lectores- corregirn los datos. No siempre las etiquetas son ledas correctamente. La correccin de las lecturas de las etiquetas es una de las funciones de los Savant. Coordinacin de los lectores. Si las seales de dos lectores se solapan (la situacin de colisin de lectores descrita con anterioridad), stos pueden leer la misma etiqueta, producindose una duplicidad en los EPC ledos. Una de las funciones de Savant es analizar las lecturas y eliminar los cdigos duplicados. Envo de los datos. En cada nivel, el Savant tiene que decidir qu informacin se enva hacia arriba o abajo en la cadena. Por ejemplo, un Savant en un almacn para productos en fro podra enviar datos slo si se producen cambios en la temperatura de los artculos almacenados. Almacenamiento de los datos. Las bases de datos existentes no pueden manipular ms de unos pocos de cientos de transacciones por segundo, de modo que otro de los objetivos de los Savants es mantener en memoria una base de datos de eventos en tiempo real (RIED). En esencia, el sistema tomar los datos EPC que se generan en tiempo real y los almacenar inteligentemente, de forma que otras aplicaciones empresariales tengan acceso a la informacin, pero las bases de datos no se encuentren sobrecargadas. Gestin de tareas. Todos los Savants, sin importar su nivel de jerarqua, poseen un sistema de gestin de tareas (TMS), que los habilita para efectuar la gestin y monitorizacin de datos utilizando tareas establecidas. Por ejemplo, un Savant ejecutndose en una tienda podra ser programado para alertar al gestor del almacn cuando las existencias de un producto bajen de cierto nivel establecido. La siguientes figuras muestran la caracterstica de distribucin de la red de Savant, siendo la primera la imagen de distribucin fsica: habr una jerarqua de Savant distribuidos conforme la estructura de la empresa en la que se usan, y estando los de ms abajo en los lugares fsicos de recoleccin de los datos EPC, y agrupando datos hacia los Savant de niveles superiores. La figura de la derecha muestra adems esa caracterstica con respecto al tiempo o a la volatilidad de los datos: los datos se recogen en tiempo real y se mantienen un tiempo corto (3 horas), y van fluyendo en la jerarqua hacia el almacn de datos de ms alto nivel que mantiene datos sobre los tems durante 2 meses. Recordemos que se trata simplemente de propuestas en la implementacin de referencia y no son normativas.
65
En lo que sigue, y habiendo identificado la comunidad de desarrollo como prioritario el avanzar en los Savant de recogida de datos, haremos referencia fundamentalmente a stos.
ONS
Another Savant
Other Service
Savant
Enterprise Application Enterprise Application
Reader Reader
Reader Interface
Processing Module
Processing Module
Application Interface
Processing Module
Processing Module
El Savant est definido en trminos de mdulos de procesamiento o servicios, cada uno de los cuales proporciona un conjunto especfico de caractersticas, que pueden ser combinados por los usuarios para cubrir las necesidades de su aplicacin. La estructura modular est diseada para promover la innovacin de grupos de desarrollo independientes, evitando de esta forma la creacin de una especificacin monoltica que intente satisfacer las necesidades de todos.
66
Anlisis de servicios de identificacin-localizacin basados en RFID Savant puede considerarse tambin como un contenedor para los mdulos de procesamiento. La figura anterior ilustra los mdulos contenidos en Savant. Los mdulos de procesamiento vienen definidos por los estndares de Auto-ID, aunque puede haber ms definidos por los usuarios u otras terceras partes. Los definidos por Auto-ID son los mdulos de procesamiento estndares, de obligatorio cumplimiento por las implementaciones de Savant. Existe una implementacin de referencia del Savant 1.0, realizada por Auto-ID (pero que no es pblica), que proporciona los mdulos obligatorios por la especificacin y otros mdulos opcionales. En particular, proporciona un sistema de gestin de eventos (Event Management System, EMS), un sistema de gestin de tareas (Task Management System, TMS), una base de datos de eventos en memoria en tiempo real (Real-time In-memory Event Database, RIED), un mecanismo para la definicin de mdulos externos (plug-ins) para asociar al EMS y TMS, y un sistema de configuracin para especificar la configuracin e interconexin de estos mdulos al EMS y TMS.
67
Mensaje GetCapabilities Una aplicacin enva un mensaje autoid.core.GetCapabilities para pedir a un Savant la lista de todos los mdulos de procesamiento configurados que gestiona. Los sistemas compatibles deben implementar esta orden. En la versin actual del estndar, no se exige que la respuesta contenga la lista de rdenes que soporta un mdulo; pero en versiones siguientes el valor que devuelve esta orden ser una estructura que contenga el nombre del mdulo, el nombre de la orden y la versin. Si el Savant no es capaz de devolver un array vlido, devuelve el error.
Orden GetCapabilities Field None Respuesta normal GetCapabilities Field Capabilities Type String array Respuesta error GetCapabilities Field ErrorCode ErrorString Type Int String Descripcin Cdigo del error Descripcin del error Descripcin Un array de cadenas representando los nombres de los mdulos de proceso configurados (como mnimo, los obligados por el estndar) Type Descripcin Esta funcin no toma parmetros.
Mensaje Shutdown
68
Una aplicacin externa enva un mensaje autoid.core.Shutdown para informar al Savant que notifique a todos los subsistemas que finalicen y entonces el mdulo de procesamiento principal tambin acabar su operacin. Los sistemas compatibles deben implementar esta orden. Se devuelve un error si el Savant es incapaz de informar a todos sus subsistemas que acaben la operacin.
Orden Shutdown Field Respuesta normal Shutdown Field Shutdown Type boolean Descripcin Se obtiene valor verdadero si todos los subsistemas fueron notificados y falso en caso contrario Respuesta error Shutdown Field ErrorCode ErrorString Type Int String Descripcin Error code Descripcin del error Type Descripcin Esta funcin no toma parmetros
Mensaje ResetAll Una aplicacin externa enva un mensaje autoid.core.ResetAll para informar al Savant que notifique a todos sus subsistemas que se reinicen con sus ltimas configuraciones conocidas y entonces el mdulo de procesamiento principal tambin se reiniciar. Esta orden iniciar un proceso similar al de arranque en caliente. Los sistemas compatibles deben implementar esta orden. Se devuelve error si Savant es incapaz de informar a todos los subsistemas que se reinicien.
Orden ResetAll Field Respuesta normal ResetAll Field ResetAll Type boolean Descripcin Verdadero si todos los subsistemas fueron notificados o Type Descripcin Esta funcin no toma parmetros
69
70
Mensaje RunCommand Una aplicacin externa enva un mensaje autoid.readerproxy.RunCommand a Savant como un mecanismo de paso estndar por medio del cual las aplicaciones pueden hacer uso de todas las rdenes que cualquier lector RFID puede hacer pblicos. Los sistemas compatibles deben implementar esta orden. Se devuelve error si Savant no puede comunicarse con el lector.
Orden RunCommand Field ReaderID Command Arguments Type String String String Descripcin El ID del lector a quien se destina la orden El nombre de la orden El conjunto de argumentos necesarios para ejecutar la orden en el lector. Podra ser una cadena de longitud variable separada con comas y con un carcter UTF8 nulo como terminacin. La estructura detallada de los argumentos se encuentra definida en el binding de Mensaje/Transporte y la especificacin Reader Protocol 1.0. Respuesta normal RunCommand Field RunCommand Type String Descripcin La salida del lector con base en la ejecucin de la orden. La respuesta puede ser vaca indicando que no hay respuesta del lector Respuesta error RunCommand Field ErrorCode Type int Descripcin Error code
71
72
Anlisis de servicios de identificacin-localizacin basados en RFID Se puede observar que en dicha implementacin, Savant est compuesto por cuatro mdulos principales: Sistema de gestin de eventos (event management system EMS). Base de datos en memoria de eventos en tiempo real (real-time in-memory database RIED). Sistema de gestin de tareas (task management system TMS). Base de datos relacional. En posteriores documentos acerca de la implementacin de referencia, sin embargo, no se hace mencin explcita de la base de datos relacional, por lo que no detallaremos esta pieza de la arquitectura. El sistema de gestin de eventos (EMS) permite a Savant reaccionar ante eventos de tiempo real como por ejemplo una lectura de un EPC, mediciones de un sensor, lectura de un cdigo de barras, etc. Tan pronto como se recibe un evento, se procesa por el sistema de gestin de eventos, y se puede almacenar en la base de datos en memoria de tiempo real (RIED) del Savant. Esta puede dar acceso a los datos basndose en SQL soportado por un esquema relacional. Por lo tanto, este almacn de datos se actualiza con cada evento gestionado por el sistema. De acuerdo a la informacin obtenida por el sistema de gestin de eventos se pueden configurar operaciones por lotes utilizando el sistema de gestin de tareas (TMS). Por ejemplo, se pueden configurar como tareas del TMS las operaciones de bsquedas peridicas de datos PML o el intercambio de datos con sistemas corporativos (ERP Enterprise Resource Planning). La siguiente figura muestra una forma de configuracin de un servidor Savant que utiliza los mdulos EMS, RIED y TMS. Como se ilustra, los eventos capturados desde un lector son procesados por colas, filtros y registros de eventos. Despus, los eventos se registran por el sistema de almacenamiento en memoria RIED. Mientras tanto, las tareas gestionadas por el TMS monitorizan los datos EPC.
73
74
Anlisis de servicios de identificacin-localizacin basados en RFID una base de datos, otra almacena los eventos en una estructura de datos en memoria y otra ms, puede distribuir los eventos a servidores remotos sobre protocolos HTTP, JMS o SOAP. Los registros de eventos pueden llamarse tambin consumidores de eventos, puesto que estos consumen el flujo de eventos.
Colas de eventos. La cola de eventos es un sistema de colas asncrono que maneja mltiples registros de eventos de lectura con implementaciones sncronas. El sistema de colas captura los eventos ledos por varios adaptadores de lectura y los distribuye a todos las entidades de registro de eventos de lectura registrados en el sistema. Las entidades de registro de eventos pueden registrar y eliminar registros de la cola de eventos en tiempo real. El sistema de colas incrementar la capacidad del sistema usando procesamiento mltiple. Por ejemplo, una entidad de registros de eventos en una base de datos, que podra consumir la mayora de su tiempo en lecturas y escrituras a disco, no reducir la velocidad de una entidad de registros de red que enva eventos para lectura a un servidor remoto. Puesto que las colas de eventos no son productoras ni consumidoras de eventos, tambin se les llama reenviadoras de eventos.
Filtros de eventos. Obtienen los datos de uno o varios flujos de entrada de eventos y despus del filtrado los envan a mltiples flujos de salida. Los filtros de eventos son usualmente implementaciones sncronas. Pueden aadirse filtros de eventos de forma intermedia entre los productores de eventos y los consumidores, para efectuar tareas de
75
Anlisis de servicios de identificacin-localizacin basados en RFID eliminacin de errores, coordinacin y reenvo. La figura 11 esquematiza un filtro de eventos.
Respecto al rendimiento de la implementacin de referencia, es preciso indicar que la sobrecarga del adaptador de lectura, los filtros de eventos y los entes de registro de eventos depende fuertemente de sus implementaciones. Por ejemplo, el rendimiento de la base de datos de una entidad de registro de eventos depender del esquema de la base de datos, el sistema de gestin de bases de datos relacionales usado y de las operaciones realizadas para registrar cada evento. El manual tcnico de Savant se describe el siguiente escenario de prueba para la prueba de rendimiento realizada sobre el sistema de gestin de eventos: Servidor DELL PowerEdge 2500 con un procesador Intel Pentium III a 1133 MHz, 512 KB de memoria cach, 512 MB de RAM y ejecutando Blackdown release Java 1.3.1 (http://www.blackdown.org). La prueba involucraba enviar un milln de eventos por medio de la cola de eventos con eventos de 100K de tamao. El ente de registro de eventos simplemente mantuvo el nmero de eventos recibidos. La media de ejecucin fue de 10.3 microsegundos por evento procesado.
76
Anlisis de servicios de identificacin-localizacin basados en RFID Los requisitos que debe satisfacer RIED son: 1. Ser una base de datos en memoria de alta velocidad. 2. Ser una base de datos multi-versin, por ejemplo, ser capaz de mantener mltiples vistas. RIED proporciona la misma interfaz que una base de datos pero ofrece mucho mejor rendimiento (velocidad). RIED mantiene una o ms vistas de la base de datos. La ltima vista es la imagen actualizada de la base de datos. Otras vistas son imgenes de slo-lectura de la base de datos. El mantenimiento de vistas anteriores puede ser til en aplicaciones tales como la realizacin de inventarios. Estas aplicaciones pueden ejecutarse con vista de slo-lectura sin afectar al rendimiento de las actualizaciones de los eventos. En la implementacin de referencia se ha hecho uso de la interfaz Java Data Base Connectivity (JDBC) para presentar informacin contenida en la RIED con el aspecto de ser una base de datos relacional. Esta interfaz estndar permite a una mquina remota acceder a una base de datos utilizando consultas SQL estndar y localizar la base de datos utilizando URL estndares. La implementacin de referencia de RIED soporta operaciones SQL tales como SELECT, UPDATE, INSERT y DELETE. La implementacin de referencia de RIED soporta un subconjunto de operaciones de manipulacin de datos definido en SQL92. Sin embargo, y debido al requisito de velocidad que debe de cumplir el RIED, se han realizado algunas simplificaciones: 1. Reduccin de la complejidad del lenguaje de manipulacin de datos. Los sistemas de gestin de bases de datos basados en disco cargan una cantidad significativa de lgica para proporcionar compatibilidad con versiones previas de SQL. El modelo RIED no implementa estas caractersticas obsoletas. 2. Reduccin de la complejidad del lenguaje de definicin de datos. Los sistemas de gestin de bases de datos relacionales tpicos permiten cambios a la base de datos durante la ejecucin. Para simplificar el diseo, RIED no permite operaciones ALTER sobre la base de datos durante su ejecucin. Las estructuras de las tablas se cargan de de un fichero DDL (Data Definition Language) durante su arranque.
77
Anlisis de servicios de identificacin-localizacin basados en RFID 3. Soporte eficiente slo para uniones simples. Los ndices basados en rboles B soportan la bsqueda y operaciones de unin basados en operaciones < y >. RIED slo efecta de forma eficiente las bsquedas = y las uniones simples. 4. Optimizacin de consulta simple. Las bases de datos tpicas tienen rutinas complicadas de optimizacin de consultas. Determinar el orden en el cual las uniones tienen que efectuarse es el problema ms difcil en la optimizacin de consultas. Algunas bases de datos, como PostgreSQL, usan algoritmos genricos para optimizar las consultas. RIED espera que el usuario determine el orden de unin explcitamente en la clusula FROM de las consultas, y no realiza optimizaciones. 5. No se mantienen las restricciones. Las restricciones, como por ejemplo la verificacin de claves forneas, deben ser evaluadas para cada operacin de actualizacin. RIED no soporta el mantenimiento de las restricciones por encontrarse un mecanismo que impone una gran sobrecarga en ejecucin. RIED mantiene varias copias de los datos recibidos de los lectores; cada operacin de actualizacin a la base de datos (INSERT, DELETE, UPDATE) incrementa el nmero de secuencia y crea una nueva copia de los datos en la base de datos. Respecto al rendimiento de la implementacin de referencia, de nuevo hay que recordar que la sobrecarga del modelo de memoria RIED depende del tipo de esquema y las operaciones efectuadas para registrar cada evento. Se han documentado pruebas con el mismo escenario mencionado en el caso del EMS, ms una base de datos persistente PostgreSQL 7.0.2. La prueba a la base de datos involucraba el envo de eventos de 100K al ente de registro de la base de datos, con sta previamente cargara con eventos de 200K. El sistema tom 10.0 milisegundos para registrar cada evento. Todos los eventos fueron registrados en la tabla de observaciones. Como gua en la construccin de las tablas de la base de datos, se incluyen los esquemas utilizados en dicha prueba.
78
Anlisis de servicios de identificacin-localizacin basados en RFID CREATE TABLE object ( epc VARCHAR(500), last_observation_id NUMERIC(10), PRIMARY KEY (epc) ); CREATE TABLE observation ( observation_id NUMERIC(10), reader_epc VARCHAR(500), timestamp NUMERIC(20), epc VARCHAR(500), PRIMARY KEY (observation_id), FOREIGN KEY (epc) REFERENCES object(epc) ); Una segunda prueba de la base de datos en memoria se realiz con el envo de un milln de eventos a un ente de registro de base de datos en memoria. El sistema tom 66.5 microsegundos para registrar cada evento. Todos los eventos fueron registrados en la tabla latest_epc_observation. Este ente de registro funciona eliminando errores por medio de la asociacin de cada objeto EPC a exactamente un lector EPC. Cualquier lectura de un lector diferente se registra slamente si la ltima entrada de tiempo para ese EPC difiere en ms de 2 segundos. El esquema para la base de datos RIED se lista a continuacin: CREATE TABLE latest_epc_observation ( epc VARCHAR(100) PRIMARY KEY, reader_epc VARCHAR(100) INDEX, timestamp NUMERIC(20) ); La base de datos en memoria mejora el rendimiento de Savant en un orden de 2 a 3 incluso despus de la eliminacin de errores de las lecturas recibidas.
79
Las principales componentes del sistema son: 1. Gestor de tareas. El gestor de tareas es el responsable de ejecutar y mantener ejecutndose las tareas de un Savant. Cada tarea dada al sistema consiste de un controlador de programa, que determina el patrn de ejecucin de la tarea. Dependiendo del programa, el gestor de tareas intenta determinar cual tarea ejecutar en cada momento. Conforme a los requisitos del gestor de tareas y basndose en el tipo y programa asociado con la tarea, el gestor se comporta como sigue: 1. Tarea de una sola vez, en las que el gestor de tareas inicia la tarea de consulta y devuelve el resultado. 2. Tarea recurrente, en la que el gestor de tareas enva el programa a almacenamiento persistente y entonces ejecuta la tarea de acuerdo al programa. 3. Tarea permanente. Es una tarea que debe estar ejecutndose continuamente, bajo monitorizacin peridica del gestor de tareas. Si ocurre un fallo, el gestor de tareas simplemente reinicia la tarea. 2. Interfaz SOAP. La funcin del servidor SOAP es hacer pblica la funcionalidad e interfaz del gestor de tareas como un servicio SOAP que puede ser accedido
80
Anlisis de servicios de identificacin-localizacin basados en RFID uniformemente por todos los sistemas externos, basndose en un descriptor de despliegue pblico que detalla los mtodos a los que se puede acceder externamente. 3. Servidor de clases. Para habilitar la carga dinmica de tareas al sistema, el gestor de tareas apunta a un servidor de clases para cargar nuevas clases bajo demanda en cuanto se encuentran disponibles. Esto permite una fcil actualizacin y modificacin de las tareas del sistema sin necesidad de reiniciar. En este punto, indicar que tecnologas en reciente desarrollo y normalizacin como OSGi pueden proporcionar un buen soporte al proceso de carga dinmica y evolucin del sistema durante su ejecucin. 4. Base de datos. Esta base de datos especializada proporciona un almacenamiento persistente al gestor de tareas, en la cual se almacenan los detalles acerca de las tareas iniciadas y sus respectivos programas. En caso de fallo del gestor, es posible reiniciar el sistema en una situacin muy parecida a la que tena cuando fall y continuar su operacin. En cada ciclo, el gestor de tareas consulta la base de datos acerca de las tareas y actualiza los registros asociados que correspondan. Indicar de nuevo que este tipo de problemas se vera resuelto con entornos de operacin como los mencionados anteriormente (OSGi). El sistema de gestin de tareas proporciona dos interfaces: la interfaz administrativa. Se trata de un conjunto de pginas que permiten la administracin y monitorizacin remota del gestor. Usando esta interfaz, un administrador puede iniciar o detener el gestor, y aadir, borrar u observar las tareas existentes. la interfaz del sistema. Esta interfaz permite que terceras partes interacten con el sistema va mensajes SOAP. Toda entidad externa que desee comunicarse con el sistema debe registrar un adaptador (o servidor) que procese las peticiones que vengan de la entidad y los enve al gestor de tareas. De nuevo, la comunicacin se realiza va mensajes SOAP.
81
82
El espacio de nombres EPC se asigna jerrquicamente para una fcil gestin, como ya se ha descrito en la seccin correspondiente. En general, un EPC contiene campos para el nmero de versin, identificacin del fabricante, identificacin del producto (ste cdigo lo asigna el fabricante) e identificacin de la serie (nmero de serie del producto, tambin asignado por el fabricante). Cada versin de EPC define las longitudes en bits del identificador del fabricante, identificador del producto y nmero de serie. La autoridad del espacio de nombres (posiblemente una organizacin de soporte de estndares como el Auto-ID Center) asignar a los fabricantes un identificador nico. Los fabricantes pueden, de forma independiente, asignar identificador nicos a sus productos para que luego los departamentos relacionados con aspectos especficos de los productos asignen nmeros de serie nicos a los objetos-productos. La informacin de correspondencia cdigo EPC-direccin del servidor de descripcin en el ONS debe de organizarse tambin de forma jerrquica involucrando a las autoridades de espacio de nombres, los fabricantes y los departamentos especficos de los productos. As se obtienen los siguientes requisitos: 1. La estructura de referencia ONS debe permitir la gestin jerrquica de la informacin de correspondencia. 2. La estructura de referencia ONS debe permitir que se mantenga en cach la informacin de correspondencia que guardan los servidores ONS. 3. Se debe permitir la existencia de servidores ONS redundantes que almacenen informacin de correspondencia.
83
Anlisis de servicios de identificacin-localizacin basados en RFID 4. Se debe permitir que los EPCs sean asociados a servidores PML redundantes. 5. La estructura de referencia ONS debe permitir la adicin de versiones nuevas de EPC sin cambios a sus componentes software o hardware. La arquitectura del ONS es una estructura distribuida sobre Internet, que consta de: Informacin de correspondencia. Esta informacin est distribuida jerrquicamente a travs de los servidores ONS. La informacin est almacenada en registros que expresan la correspondencia entre un rango de EPCs y un servidor PML. Servidores ONS. Estos son los servidores que responden a las consultas que piden la direccin IP de los servidores PML asociados con un EPC. Cada servidor mantiene su informacin de correspondencia completa para rangos de EPCs, e informacin en cach que pertenece a otros EPCs. Resolutor o resolver ONS. Un resolutor enva peticiones a los servidores ONS para obtener la localizacin de red de los servidores PML.
Dado el supuesto de que la arquitectura puede hacer uso de los estndares e infraestructura existente en Internet, el ONS usa el Sistema de Nombres de Dominio (DNS) para la bsqueda (resolucin) de informacin acerca de un EPC. Esto significa que los formatos de consulta y respuesta deben adherirse a los estndares del DNS, significando esto que el EPC debe ser convertido en un nombre de dominio y que los resultados deben de poderse almacenar en algn registro DNS vlido. La secuencia de operaciones de uso del ONS puede observarse en el siguiente ejemplo: 1. Se lee una secuencia de bits conteniendo un EPC de una etiqueta RFID
84
Anlisis de servicios de identificacin-localizacin basados en RFID 01 000000000000000000010 00000000000011000 000000000000000110010000 2. El lector de etiquetas enva la secuencia de bits a un servidor local 01 000000000000000000010 00000000000011000 000000000000000110010000 3. Dicho servidor local convierte la secuencia de bits en la forma URI y la enva al resolutor resolver ONS local urn:epc:1.2.24.400 4. El resolver convierte el URI a un nombre de dominio e inicia una consulta DNS para los registros NAPTR para ese dominio 24.2.1.onsroot.org 5. La infraestructura DNS devuelve una serie de respuestas que contienen URLs que apuntan a uno o ms servicios. El resolver local elige el URL del registro DNS y lo presenta de retorno al servidor local http://pml.example.com/pml-wsdl.xml 6. El servidor local contacta con el servidor PML encontrado en el URL conforme al EPC. El ONS, tal como se especifica en este ejemplo, toma un EPC como entrada. Se asume que el EPC est en formato URI (por ejemplo, urn:epc:1.2.24.400), que es el utilizado por casi todo los elementos de la arquitectura del Auto-ID Center. Para consultar al DNS con un EPC, la forma del URI especificado debe convertirse a la forma nombre de dominio, lo que se consigue mediante estos pasos: 1. Eliminar el encabezado 'urn:epc:' (quedando 1.2.24.400). 2. Eliminar el campo nmero de serie (quedando 1.2.24). 3. Invertir el orden de los campos resultantes (quedando 24.2.1). 4. Aadir '.onsroot.org' (finalizando como 24.2.1.onsroot.org) El resolver DNS de la aplicacin cliente consulta los registros DNS tipo cdigo 35 (NAPTR). No hay un API resolver DNS estndar, as que el mtodo exacto para esta consulta depende de la biblioteca de resolucin DNS que se use.
85
Anlisis de servicios de identificacin-localizacin basados en RFID Los resultados de la consulta vendrn en forma de uno o ms registros NAPTR. Los contenidos actuales de los registros DNS tienen el siguiente formato:
El campo orden se usa para asegurar que los registros NAPTR se interpretan en el orden correcto puesto que el DNS no garantiza el orden de los resultados si hay varios. Puesto que todos los registros de un conjunto de resultados son vlidos para el EPC en cuestin, el nico efecto que tiene un valor de orden es indicar la equivalencia de algunos subgrupos de los registros, de forma que la aplicacin puede elegir el que desee; se logra as un mecanismo primitivo de equilibrado de carga. Por ejemplo, si hay 4 registros y los tres primeros registros tienen un orden de 0 mientras el ltimo tiene un orden de 1, entonces los tres primeros son considerados equivalentes. Si aquellos tres registros tienen tambin los mismos valores de pref y Service entonces es vlido escoger al azar entre los tres. Si los valores pref son diferentes pero los Services son los mismos, entonces el valor pref se usa para indicar preferencia. Los registros con un nmero menor deben ser procesados antes que aquellos con nmeros mayores. El campo Services es importante en este proceso puesto que las aplicaciones necesitarn considerar slamente aquellos registros que tengan servicios en los que estn interesados. El campo flags contiene un valor u para indicar que el campo regexp contiene un URI. El campo service contiene un indicador del tipo de servicio que se encontrar en el URI en cuestin. Esta caracterstica permite al servicio ONS indicar mltiples puntos de servicio para mltiples clases de servicio. El campo replacement no se usa por el Auto-ID pero ya que es un campo DNS especial su valor es .. Services es particularmente importante ya que se usa para crear clases de servidores, registrados ante alguna autoridad. Pueden utilizarse para especificar servicios muy ligeros tal como un obtener informacin elemental acerca de este producto, o servicios mucho ms
86
Anlisis de servicios de identificacin-localizacin basados en RFID complejos. En el ejemplo, la parte EPC se usa para diferenciar este registro de otros posibles registros NAPTR. La porcin pml se usa para designar la clase de servicio. El campo regexp es una Expresin Regular Extendida Posix. Esta forma establece que el primer carcter encontrado es el delimitador de campo entre la expresin regular y la porcin de reemplazo de la expresin entera re-escrita. En el ejemplo de arriba el delimitador es !. La porcin de expresin regular es '^.*$' que corresponde a cualquier cosa. La porcin de reemplazo es 'http://company.com/cgi-bin/pmlservice'. La eleccin de '!' como el delimitador en lugar de uno ms tradicional como '/' hace que la lnea entera sea mucho ms fcil de leer y menos propensa a errores. El campo regexp se usa para especificar un URI para el servicio. En los primeros prototipos del ONS se realizaron experiencias con direcciones IP directas, pero pronto se mostr insuficiente debido a las necesidades de protocolos como SOAP, que se despliegan sobre HTTP. La razn por la cual el campo est en forma de una expresin regular es que los registros NAPTR tambin los usan otras aplicaciones que necesitan reescribir condicionalmente el URI para incluir otra informacin. El ejemplo no hace uso de esta caracterstica, pero no est claro si siempre va a ser as. En el futuro podra ser necesario permitir expresiones regulares completas y funciones de sustitucin dentro de este campo. Es importante notar que la versin 1.0 de la especificacin ONS no consulta el EPC por completo: la consulta se detiene al nivel de producto. Se deben resolver posteriormente las consultas acerca de un nmero de serie, utilizando para ello el servidor de aplicaciones designado por los resultados del ONS. La capacidad para realizar consultas al ONS con el nmero de serie, as como la arquitectura y el impacto econmico de esa capacidad es un aspecto abierto que debe solucionarse en las siguientes versiones, por ahora, queda fuera de la especificacin y ser resolver de forma particular en cada caso y por cada fabricante.
87
El lenguaje de marcado fsico (PML) es una coleccin de vocabularios XML estandarizados para representar y distribuir informacin relacionada con los objetos en la red EPC. PML proporciona un formato estandarizado para el intercambio de los datos capturados por los
88
Anlisis de servicios de identificacin-localizacin basados en RFID sensores en la infraestructura Auto-ID (los lectores RFID), y tambin formato para el contenido de los dems mensajes intercambiados dentro de la red. La Auto-ID PML Core Specification 1.0 define la sintaxis y semntica fundamental del PML. Existen varios trabajos de extensin de PML para alinearse con otros estndares conocidos, como el Bur Internacional de Pesos y Medidas (Le Sistme International dUnits SI) y el Instituto Nacional de Estndares y Tecnologa en los Estados Unidos. El ncleo del PML PML-core consiste en un conjunto de esquemas que definen el formato de intercambio para la transmisin de los valores de los datos capturados. Estas entidades de datos pueden ser accedidas directamente desde el sensor o desde el Savant o el servicio de informacin EPC que distribuye los datos capturados. PML-core permite manejar propiedades fsicas y entidades que son capaces de ser observadas o medidas por un sensor. Adems de la informacin invariable del producto (como el material de composicin), PML permite incluir datos que cambian constantemente (datos dinmicos) y datos que cambian en el tiempo (datos temporales). Ejemplos de datos dinmicos PML pueden ser la temperatura de un envo de frutas, o los niveles de vibracin de una mquina. Los datos temporales cambian discretamente e intermitentemente durante la vida de un objeto; un ejemplo es la localizacin de un objeto. Al estar disponible toda esta informacin en una descripcin PML de formato estndar y abierto, es posible pensar en nuevas formas de utilizar la informacin; por ejemplo, bajar automticamente el precio de un producto segn se acerque la fecha de caducidad; o terceras partes, como proveedores de logstica, podran ofrecer contratos a nivel de servicio indicando que los bienes sern almacenados a cierta temperatura en el transporte. El vocabulario PML-Core proporciona los tipos de datos para las comunicaciones entre: Un Savant o un servidor (o servicio) de informacin EPC y una aplicacin externa. Savants de recogida de informacin de lectores y Savants de agregacin. Un sensor (como los lectores RFID) y un Savant. Como PML-core es un subconjunto de PML, sus esquemas siguen la metodologa de diseo de PML. Las especificaciones proporcionan la nomenclatura, los principios de diseo y las buenas prcticas para el desarrollo del esquema PML-core. PML usa el lenguaje de esquemas
89
Anlisis de servicios de identificacin-localizacin basados en RFID W3C XML (XSD) como meta lenguaje para la definicin de su esquema. En vez de reinventar una nueva metodologa de diseo XML propia, PML hace uso para su diseo de una metodologa de diseo existente y bien definida por RosettaNet y definida en las siguientes especificaciones: 1. Estructuras Universales (UST). 2. Gua de diseo XML (XMLDG). 3. Gestin y especificacin de espacio de nombres (NSSM). El diseo de PML-Core ha seguido varias lneas de trabajo que merece la pena mencionar: Reutilizacin de estndares ya emitidos para entidades individuales como fechas y tiempo, y tambin para la eleccin de nombres y reglas de diseo. Con ello se intenta aumentar la velocidad de adopcin, fomentar la interoperabilidad y facilitar el mantenimiento a largo plazo. Formalidad de manera que el lenguaje est definido y pueda ser comprobado y validado. Simplicidad para facilitar la introduccin del lenguaje, rehuyendo de caractersticas complicadas y que resuelven pocos casos. Independencia del protocolo de transporte. Legibilidad por humanos para mejorar la curva de aprendizaje y simplificar los procesos de depuracin. Disponibilidad de herramientas para validacin frente al esquema y facilidades de autor. Una parte del PML-Core es el PML-Core-modelo de datos de sensores, que describimos con ms detalle a continuacin. Los componentes bsicos de PML-Core-modelo de datos son: los sensores, capaces de tomar medidas de entidades y propiedades fsicas (un lector RFID es un ejemplo de sensor); las observaciones que representan las medidas de los sensores; y las propiedades observables, que son las propiedades fsicas y entidades capaces de ser observadas.
90
La figura anterior muestra las entidades fundamentales, que mencionamos brevemente a continuacin: Sensor: contiene un identificador y uno o ms elementos Observacin. Este elemento representa un dispositivo que captura informacin. El tipo de identificador por defecto es el EPC. Observacin: contiene datos resultado de una medida por un sensor particular. Cada observacin debe venir etiquetada con su fecha y hora, pudiendo adems llevar un identificador nico y una referencia al tipo de orden que se envi para realizar la observacin. Cada observacin consta de: un elemento identificador opcional, un elemento orden opcional, fecha y hora, cero o ms elementos de datos, y cero o ms elementos etiqueta. Dato: representa la medida de un sensor sobre una propiedad o entidad, excepto que pueda ser representada como etiqueta. Permite representar datos no estructurados o datos con estructura XML. Es una eleccin entre elementos de texto, binario o XML.
91
Anlisis de servicios de identificacin-localizacin basados en RFID Etiqueta: es un valor de observacin especial, cualquier dispositivo capaz de ser detectado por un sensor (una etiqueta RFID, por ejemplo). Contiene un valor identificador, un elemento opcional de datos, y cero o ms sensores. Identificador: contiene un identificador de esquema (EPC por defecto) opcional, un identificador de la agencia del esquema opcional, identificador de versin del esquema opcional, y opcional esquema URI.
El siguente ejemplo muestra el fichero PML correspondiente al caso de varias etiquetas ledas por un lector RFID.
<?xml version="1.0" encoding="UTF-8"?> <pmlcore:Sensor xmlns:pmlcore="urn:autoid:specification:interchange:PMLCore:xml:schema:1" xmlns:pmluid="urn:autoid:specification:universal:Identifier:xml:schema:1" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="urn:autoid:specification:interchange:PMLCore:xml:schema:1 ../SchemaFiles/Interchange/PMLCore.xsd"> <pmluid:ID>urn:epc:1:4.16.36</pmluid:ID> <pmlcore:Observation> <pmluid:ID>00000001</pmluid:ID> <pmlcore:DateTime>2002-11-06T13:04:34-06:00</pmlcore:DateTime> <pmlcore:Command>READ_PALLET_TAGS_ONLY</pmlcore:Command> <pmlcore:Tag> <pmluid:ID>urn:epc:1:2.24.400</pmluid:ID> </pmlcore:Tag> <pmlcore:Tag> <pmluid:ID>urn:epc:1:2.24.401</pmluid:ID> </pmlcore:Tag> <pmlcore:Tag> <pmluid:ID>urn:epc:1:2.24.402</pmluid:ID> </pmlcore:Tag> </pmlcore:Observation> </pmlcore:Sensor>
92
10.1. Coste
La estimacin de costes es una pieza fundamental para la adopcin de la tecnologa. En principio podramos distinguir dos tipos de costes: los de despliegue de las instalaciones y los de operacin. Dado que los primeros parecen ser muy superiores a los segundos, y que obviamente slo se incurre en costes de operacin una vez desplegada la tecnologa, la atencin de los analistas va en la primera direccin. Para tener una idea del coste que representa desplegar una red global EPC se puede tomar como referencia el anlisis hecho en el artculo El retorno de la inversin de la invasin de la privacidad de la AIM global Network en donde se hacen las siguientes deducciones sobre un escenario hipottico (basado en la seguridad, y en escenarios de ventas, fundamentalmente): Conforme al censo del ao 2000 en los EE.UU. haba 45,115 plazas y centros comerciales, bajo el supuesto de que cada plaza o centro comercial tiene 6 entradas con cuatro puertas dobles por entrada, hay un total de 24 puertas por plaza o centro comercial. Suponiendo que se colocan lectores slo en las entradas los costes seran: Antenas: 2 por cada puerta doble, 1,500$ por antena implica 3,000$ por puerta. Lectores: Estos tendran que leer mltiples frecuencias incluso con altos volmenes de etiquetas, 400$ cada lector, con 4 antenas por lector, pero corregido por las posiciones de las puertas da como resultado un coste de 200$ por puerta. La estimacin por puerta es de 3,200$. El clculo final es: 45,115 lugares, donde cada lugar tiene 24 puertas y cada puerta tiene un coste de 3,200$ es igual a 3,464,832,000$, un coste exhorbitado para tan solo colocar lectores en todas las entradas de las plazas y centros
93
Anlisis de servicios de identificacin-localizacin basados en RFID comerciales. No se incluyen los costes de red, ordenadores, bases de datos, hardware de red inalmbrica, comunicaciones, costes de instalacin ni programacin. Los autores del estudio aaden que, tratndose de una red global, se tendran que cablear los aeropuertos, estaciones de trenes y autobuses, oficinas gubernamentales, oficinas postales, bibliotecas, escuelas, centros de recreacin, parques, tiendas, bares, iglesias, etc. Los autores indican que el coste de crear una red de espionaje nacional junto con sus costes asociados podra ser un nmero que ni siquiera Carl Sagan podra pronunciar, pero slo por poner un nmero, podra ser ms de 1,000,000,000,000$. Con dicho estudio en la mano, la conclusin con respecto a la implantacin de RFID sera claramente negativa. El estudio es incompleto: no menciona los costes de las etiquetas, aunque da una buena indicacin de que para que la tecnologa sea implantable no slo stas deben de mejorarse y abaratarse, tambin las antenas. Por otra parte, la implantacin no tiene por qu producirse instantneamente, y se prev la aparicin de islas RFID para los artculos o elementos en los que su coste sea aceptable frente al coste del producto.
94
Anlisis de servicios de identificacin-localizacin basados en RFID Velocidad. La tasa a la cual un lector captura los identificadores de las etiquetas. Las tasas de lectura rpidas (1) incrementan la confianza en las lecturas de etiquetas, y (2) se espera que den menos problemas a los procesos del negocio. Las etiquetas RFID disponibles hoy en da tienen tasas de lectura que van desde 20 etiquetas por segundo hasta 1000 etiquetas por segundo. Apilado de las etiquetas. Cuando la densidad de etiquetas es muy alta, pueden interferir unas con otras. Hay una variacin muy amplia en el rendimiento de las etiquetas en ambientes muy densos. La mejor efectividad de las etiquetas a la fecha es cuando se encuentran alejadas al menos un centmetro una de otra. Interferencia. Los lectores y las etiquetas bien diseadas funcionan efectivamente en ambientes de radio frecuencia ruidosos. Empaquetado. La forma en que las etiquetas se empaquetan y unen a los productos tiene influencia sobre los rangos de lectura y durabilidad. Ejemplos de empaquetado de etiquetas incluyen: envolturas de plstico, formas delgadas y alargadas, superficies metalizadas, etc.
95
96
Anlisis de servicios de identificacin-localizacin basados en RFID Mientras esto pueda ser visto como una concesin a la defensa de la privacidad, tambin puede ser una necesidad en los estados actuales de la implementacin. Ms adelante, con tecnologa ms madura, las etiquetas podran dejarse activas en los productos donde se espere se perciba un beneficio no slo para el fabricante o vendedor sino tambin para el consumidor.
97
Anlisis de servicios de identificacin-localizacin basados en RFID ser ms importantes, dependiendo de otras condiciones de exposicin (por ejemplo, modalidad de pulso). La gua internacional (ICNIRP, 1998) en esta regin est basada en la extrapolacin de clulas neuronales identificadas en la regin de baja frecuencia y de acuerdo a las respuestas de las clulas nerviosas en esa frecuencuia conocida y a los efectos de calentamiento identificados a frecuencias mayores a 10 MHz. En la regin de altas frecuencias (10 MHz 300 GHz), los efectos de calentamiento se encuentran bien establecidos en experimentos a voluntarios y animales. La gua internacional sobre la limitacin de exposicin a campos electromagnticos (ICNIRP, 1998), busca prevenir efectos adversos de calentamiento localizado y del cuerpo entero excesivos. Adems, la gua previene de evitar la percepcin auditiva de frecuencias electromagnticas de pulso. No hay efectos de salud adversos establecidos bajo estos niveles de exposicin, aunque la posibilidad ha sido considerada en conexin con la radiacin del telfono mvil que puede tener efectos transitorios importantes en la funcin del sistema nervioso y el comportamiento.
98
Despliegue de las tecnologas de localizacin-sensado Bajo Medio Alto Labs.Invest. A medida Uusuarios finales
GPS TV
Telfonos mviles
RFID
Bluetooth
Wi-Fi
Ultrasnico
Visin
1cm
10cm
100m
En la evaluacin que los autores del trabajo mencionado hacen, se mencionan los siguientes aspectos de mejora de la tecnologa RFID en los prximos aos: El perfeccionamiento de las tareas que realiza Savant. La integracin de la informacin producida por la red EPC con las otras aplicaciones de la organizacin. El manejo de grandes volmenes de informacin generados por la nueva tecnologa. La creacin de middleware reflectivo para la red EPC ya que el manejo y generacin de la informacin es en tiempo real.
99
11. Conclusiones
Segn se enunciaba en la propuesta de este proyecto exploratorio, el objetivo general del proyecto ha sido el anlisis de los servicios de localizacin e identificacin basados en RFID. Radio Frequency IDentification (RFID) es una tecnologa de deteccin automtica, inalmbrica, de corto alcance, que opera en la banda de UHF, y para la que existen etiquetas y lectores en el mercado a coste razonable. Las etiquetas almacenan y proporcionan a los lectores un identificador nico que permite la identificacin unvoca del objeto (o persona) que la porta. El anlisis de la arquitectura de red y servicios basados en RFID se puede realizar desde varios puntos de vista, la mayora de los cuales se han tenido en cuenta a la hora de revisar el marco tecnolgico: posibilidades de implantacin y seguimiento de la tecnologa: coste, fabricantes. exigencias de interconexin e interoperacin: cmo asociar RFID a otras redes de forma que se explote su potencial econmico. necesidades de comunicaciones: el impacto que el uso de RFID puede provocar en el trfico soportado por una operadora de telecomunicacin. arquitectura general de servidores: la estructura de despliegue, los nodos de servicio, los protocolos entre elementos de red. Los objetivos especficos propuestos en su da para el proyecto han sido: realizar una evaluacin del estado del arte sobre servicios de localizacin-identificacin basados en RFID (captulo 2 de este documento) , estudiar las propuestas existentes y definir una arquitectura de red vlida para los propsitos de un operador (captulos 4, 5, 6,7, 8 y 9 de este documento), analizarla frente a varios aspectos: viabilidad, escalabilidad, rendimiento, coste, trfico, etc, (captulos 3 y 10 de este documento), evaluar varios escenarios de aplicacin (captulos 2 y 10 de este documento). Otro resultado importante de este proyecto exploratorio, ha sido la recogida y elaboracin de la informacin que se encuentra actualmente dispersa acerca de fabricantes, estndares,
100
Anlisis de servicios de identificacin-localizacin basados en RFID propuestas de arquitectura, escenarios de servicio, etctera. La bibliografa que aparece en este documento incluye numerosos puntos de informacin, no slo publicaciones, sino tambin de sitios Web, donde se puede encontrar informacin con la cual profundizar en los diferentes aspectos de la tecnologa. Con el presente, se cubre el primero de los documentos de entrega del proyecto, descrito en la propuesta de proyecto como: memoria del trabajo, conteniendo estado del arte, revisin de estndares, bibliografa, proyectos y productos, descripcin de la arquitectura propuesta del sistema, anlisis y evaluacin sobre el prototipo cuyo cdigo se entregar en el proyecto; escenarios de aplicacin e impacto en la arquitectura; conclusiones y propuesta de trabajo futuro. Tambin se ha considerado de inters, de cara a futuros trabajos, contar con una plataforma software mnima sobre la que realizar experimentos y mejoras (la que hemos denominado prototipo). Los apndices de este documento contienen la informacin textual correspondiente a este prototipo que hemos realizado durante la ejecucin del proyecto. Pretendemos continuar el desarrollo de dicho prototipo para dotarle de mayores capacidades. Respecto a las conclusiones del trabajo con respecto a la tecnologa RFID para el soporte de los servicios de identificacin-localizacin, nuestra visin puede resumirse en los siguientes puntos: se trata de una tecnologa que es todava hoy cara para su despliegue masivo. En las publicaciones sobre RFID se habla de la etiqueta de 5 cntimos como un objetivo a partir del cual las condiciones de economa de escala hacen posible el despliegue masivo. Como hemos sealado a lo largo del estudio, existen otros costes determinantes para el xito y que normalmente no se tienen en cuenta, como son los costes de las antenas, de la instalacin del sistema, y los costes de operacin. Mientras no exista un modelo de costes y un modelo de negocio asociado claros no va a ser posible que la tecnologa llegue al gran pblico y por lo tanto emergern islas RFID normalmente asociadas a una instalacin fsica o como mucho a un mbito corporativo. Este es el escenario ms probable para los prximos 3 aos.
101
Anlisis de servicios de identificacin-localizacin basados en RFID los aspectos tecnolgicos en cuanto a la captura y gestin de los datos parecen por el momento bien resueltos con la arquitectura propuesta por Auto-ID Center, al menos en lo relativo a los Savant y su jerarqua. El mayor xito de la propuesta, desde nuestro punto de vista, es el de proporcionar un modelo claro y fcilmente entendible, capaz de sacar partido de la tecnologa software existente (plataformas de componentes para clientes, servidores y sistemas empotrados, basadas en la tecnologa Java), y que refleja las caractersticas especficas de este tipo de sistemas (necesidad de manejar cantidades masivas de datos, establecimiento de filtros para la seleccin de los datos ms apropiados, almacenamiento rpido y temporal en memoria, uso del patrn observador para reducir la carga del sistema, etc.). La mayor dificultad para el despliegue de la tecnologa, desde el punto de vista de la tecnologa de tratamiento de datos, puede ser que existan pocas implementaciones y cerradas, lo que otorgara un gran poder a los fabricantes de software para dirigir el despliegue, sin forzarles a mayores mejoras en este aspecto. La existencia de estndares abiertos y an ms, de implementaciones abiertas es una garanta de que esta situacin no ocurrir. En este sentido, el trabajo que hemos comenzado tendr continuacin en la mejora del rendimiento del prototipo de implementacin de Savant. Entendemos que estos problemas tendrn en cualquier caso un plazo de resolucin corto, de entre uno y dos aos. en los aspectos de inter-operacin de la red EPC o red de aplicaciones alrededor de la identificacin y localizacin usando RFID (y otros mtodos) es donde aparecern en el futuro cercano mayores problemas. Las propuestas realizadas por Auto-ID Center tratan de dirigir la implantacin de la tecnologa y su integracin con las aplicaciones corporativas, y en este punto encontramos las propuestas factibles de ser llevadas a cabo con xito. En cuanto a la creacin de una red de aplicaciones fuera del mbito corporativo, e incluyendo stas, nos encontramos con un problema similar al de otras tecnologas del mbito de las telecomunicaciones y la telemtica: exigen una infraestructura pblica o de acuerdos, que se plasmara en la existencia y operacin de los nodos raz de la jerarqua ONS. Siendo este punto de crucial importancia para el despliegue masivo, aparecen de forma clara los aspectos administrativos y polticos del problema: quin proveer y mantendr estos nodos raz Se trata de un problema que apenas alcanza a vislumbrarse y para
102
Anlisis de servicios de identificacin-localizacin basados en RFID el que existen varias posibles soluciones: infraestructura pblica, operadores de telecomunicacin, asociaciones empresariales, etc. No prevemos solucin clara en los prximos tres aos, lo que refuerza la visin de las islas RFID sin conexin. en otro mbito, es preciso mencionar que con los elementos tecnolgicos resueltos, la atencin de los agentes de este mbito se enfoca a cuestiones extra-funcionales. Entre ellas, los aspectos de privacidad de la informacin, seguridad de sta, y efectos sobre los seres vivos. Estos aspectos quedan fuera del mbito de nuestra exploracin, pero van a resultar determinantes para que la tecnologa se acepte por el gran pblico (y por lo tanto pueda ser desplegada con xito en lugares de afluencia masiva como supermercados, campos de deporte, escuelas y campus). Comentar en este sentido que con la disponibilidad de etiquetas, lectores y Savants es posible la realizacin de proyectos piloto en los cuales comprobar el impacto de las medidas de seguridad en la informacin. otra visin de la ingeniera de servicios de telecomunicacin o telemticos y que tiene gran influencia y seguir tenindola en la implantacin de la tecnologa RFID y otras, tiene que ver con los aspectos de provisin del diseo; bsicamente cmo entender el desarrollo y explotacin de servicios de forma integrada (tanto la parte de red como la de aplicacin). La pregunta es si las empresas que podran implantar la tecnologa estn preparadas para hacerlo en trminos de personal disponible y potencialmente productivo. Nuestra visin particular de esta parte del problema es que el conocimiento de la ingeniera de servicios que tiene un profesional tcnico en el mbito de las empresas operadoras de red (en el mbito nacional), o el conocimiento que obtiene un ingeniero recin graduado, no son suficientes para abordar los problemas tcnicos-administrativos que plantea la tecnologa. En este punto, y a riesgo de que parezca que se mezclan los problemas, es preciso mencionar que la mejora de la formacin de postgrado y universitaria ser determinante en los prximos cinco aos.
103
12. Bibliografa
Las fuentes de informacin para el desarrollo de este estudio han sido mltiples y cambiantes, lo que refleja el estado actual de la tecnologa. A continuacin, y sin nimo de ser exhaustivos, se mencionan algunas de las fuentes utilizadas. Especificaciones Auto-ID Center: Auto-ID Reader Protocol Specification 1.0. Auto-ID Center. Auto-ID Savant Specification 1.0. Auto-ID Center. Auto-ID EPC Information Service Specification 1.0. Auto-ID Center. Auto-ID Electronic Product Code Data Specification 1.0. Auto-ID Center. EPC Tag Data Standards version 1.1 rev. 1.23. Auto-ID Center. Technical Report, 13.56 MHz ISM Band Class1 Radio Frequency Identification Tag Interface Specification. 2003. Auto-ID Center. Draft protocol specification for a 900 MHz class 0 radio frequency identification tag, 2003. Auto-ID Center. Technical Report, 860MHz-930MHz Class1 Radio Frequency Identification Tag Radio Frequency and logical Communication Interface Specification, candidate recommendation. 2002. Auto-ID Center. Auto-ID Object Name Service (ONS) 1.0, 2003. Auto-ID Center. Documentos generales y presentaciones: Java Everywhere, Simon Ritter, Sun Microsystems, Inc. Auto-ID Center Software Framework, Auto-ID Center. White paper, multiband, low cost EPC tag reader, M. Reinolds, Auto-ID Center, 2002. White paper, multiband, PML server developments, M. Harrison, Auto-ID Center, 2003. White paper, Suns Auto-ID Architecture, SUN, 2003. The SUN Electronic Product Code (EPC) Inititative, SUN, 2003.
104
Anlisis de servicios de identificacin-localizacin basados en RFID EC Projects on Smart Cards, IST Projects Compendium. Fifth Framework Programme, Information Society Technology Programme. 2002. Possible Health Risks to the General Public from the Use of Security and Similar Devices. Concerted Action QLK4-1999-01214 Development of advice to the European Commission on the risk to health of the general public from the use of security and similar devices employing pulsed and continuous electromagnetic fields. Fifth Framework Programme of the European Commission, Quality of Life, Key Action 4: Environment and Health, Health impact of electromagnetic fields. Location-Aware Computing Comes of Age, Mike Hazas, James Scout, John Krumm, IEEE Computer IEEE Computer Society, febrero de 2004. Noticias y sitios web: Shrouds of Time. Jeremy Landt. http://www.aimglobal.org/technologies/rfid/what_is_rfid.htm http://home.att.net/~randall.j.jackson/rfid-overview.html Auto-ID Center. http://www.autoidlabs.org/ U.S. retailers give Wal-Mart a head start on RFID. Emily Kaiser, Reuters. http://www.usatoday.com/tech/news/techinnovations/2004-01-27-walmartpioneers-rfid_x.htm Wal-Mart Pulls RFID Trigger: The Race Is On. John Fontanella, Junio 2003, http://www.amrresearch.com/Content/printversion.asp?pmillid=16268&historyi d=1820539&print=1 DOD Details its RFID Plans. Mark Hachman, Octubre, 2003. http://www.eweek.com/print_article/0,3048,a=110899,00.asp Radio ID chips may track banknotes. http://news.com.com/2100-1017-1009155.html RFID and the Mainstream Supply Chain, Tom Coyle, Septiembre 2003. http://developer.net.au/features/articles/rfid+for+the+supply+chain.asp http://www.aimglobal.org/technologies/rfid/resources/articles/jan04/0401roispy.htm Winston Chai. Mayo 2003.
105
Anlisis de servicios de identificacin-localizacin basados en RFID http://www.aimglobal.org/technologies/rfid/resources/articles/july03/rfidandpriv acy.htm CASPIAN -- Consumers Against Supermarket Privacy Invasion And Numbering -- (http://www.nocards.org) www.buyrfid.com
106
Timer
(from rss)
ReadQueue
(from rss)
AutoIDAntenna
(from rss)
DataAcquisition
(from rss)
ReadFilter
(from rss)
EventGeneration
(from ess)
TagStatusAutomation
(from ess)
DataAcquisitionInterface
(from autoid)
ReadFilterInterface
(from autoid)
Reader
(from reader)
SavantAdapter
(from mtb)
ReaderInterface
(from autoid)
SavantAdapterInterface
(from mtb)
Las clases se han organizado en los siguientes paquetes, cuya descripcin completa se incluir ms adelante en este documento.
107
autoid
ess
mtb
rss
Las dos siguientes figuras muestran el flujo de operacin normal en la lectura de las etiquetas RFID por un lector e informacin al Savant, de forma que se realice el inventario (listado de etiquetas en el rea de cobertura en un momento del tiempo).
7: filter()
3: tag reading AutoIDAnt enna 1: inventary() 2: read() 6: tag reading 4: push(tag reading) 5: pull() 8: push(filtered tag reading) 13: updat... TagStatusAut omation 11: new() 12: notifyInField() EventGen eration 9: pull() ReadQu eue DataAcqu isition ReadFilt er
14: notifyEPCEvent(eve...
SavantAdapte rInterface
Como se puede observar, la clase que inicia la adquisicin de datos indica el comienzo de la simulacin a la antena, va recogiendo las lecturas de etiquetas con los EPC y las va almacenando en una cola de lectura. De ah son ledas por un filtro, que tras seleccionar las lecturas las pasa a una segunda cola de lectura. El generador de eventos, y la interfaz de adaptacin a Savant recogen diferentes situaciones de la ejecucin. TagStatusAutomation representa el autmata de identificacin de etiquetas.
108
inventary()
read() tag reading push(tag reading) pull() tag reading filter() push(filtered tag reading)
La siguiente figura es un volcado de pantalla del simulador, mostrando informacin sobre una de las tarjetas encontradas en el radio de accin simulado de un lector. Las rdenes que aparecen en la esquina superior izquierda son: creacin de una tarjeta, movimiento en el rea de simulacin, y eliminacin de la tarjeta. Hemos realizado este simulador para obtener una primera realimentacin sobre el comportamiento de las tarjetas, el lector y el Savant asociado. No se ha optimizado para el rendimiento, pero puede dar lugar a futuras mejoras que permitan la utilizacin de este simulador para el clculo de coberturas con conjuntos de antenas y lectores RFID en espacios cerrados.
109
110
Class Hierarchy
o
class java.lang.Object o class reader.rss.AutoIDAntenna o class java.util.Observable o class reader.ess.TagStatusAutomation (implements java.lang.Runnable) o class reader.Reader (implements reader.autoid.ReaderInterface) o class reader.rss.ReadQueue o class java.lang.Thread (implements java.lang.Runnable) o class reader.rss.DataAcquisition (implements reader.autoid.DataAcquisitionInterface) o class reader.ess.EventGeneration (implements java.util.Observer) o class reader.rss.ReadFilter (implements reader.autoid.ReadFilterInterface) o class reader.mtb.SavantAdapter (implements reader.mtb.SavantAdapterInterface) o class reader.rss.Timer
Interface Hierarchy
o o o o
111
Package reader
Class Summary
Reader Reader class represents an Auto ID Reader device.
Class Hierarchy
o
112
reader
Class Reader
java.lang.Object | +--reader.Reader
All Implemented Interfaces: ReaderInterface public class Reader extends java.lang.Object implements ReaderInterface Reader class represents an Auto ID Reader device. A Reader is a device capable of detecting when tags enter their read range. Its funtion is to provide information of what tags in their read range are. To do this, a Reader has two subsystems. On the one hand, a read subsystem allows to do tag readings and to establish a first read filter. On the other, a event subsystem allows to try these tag readings and to communicate to Savant events that occurs with tags in its read range. Since: 1.4 See Also:
ReaderInterface
Constructor Summary
Reader()
Method Summary
java.lang.String GetMfrDescription()
113
Constructor Detail
Reader
public Reader()
Method Detail
GetReaderID
public java.lang.String GetReaderID()
Returns Reader identificator. Specified by: GetReaderID in interface ReaderInterface Returns: Reader identificator. See Also:
ReaderInterface.GetReaderID()
GetReaderName
public java.lang.String GetReaderName()
Returns Reader name. Specified by: GetReaderName in interface ReaderInterface Returns: Reader name. See Also: SetReaderName(String), ReaderInterface.GetReaderName()
SetReaderName
public boolean SetReaderName(java.lang.String ReaderName)
Sets Reader name. Specified by: SetReaderName in interface ReaderInterface Parameters: ReaderName - Reader name Returns:
114
Anlisis de servicios de identificacin-localizacin basados en RFID true if operation has been successful; false otherwise. See Also: GetReaderName(), ReaderInterface.SetReaderName(String)
GetMfrDescription
public java.lang.String GetMfrDescription()
Returns Reader manufacturer description. Specified by: GetMfrDescription in interface ReaderInterface Returns: Reader manufacturer description. See Also:
ReaderInterface.GetMfrDescription()
GetReaderConfiguration
public java.lang.String GetReaderConfiguration()
Returns a complete description of Reader configuration. It is a summary of the configuration of each modules of the Reader device. Specified by: GetReaderConfiguration in interface ReaderInterface Returns: Reader configuration. See Also:
ReaderInterface.GetReaderConfiguration()
main
public static void main(java.lang.String[] args)
115
Package reader.autoid
Interface Summary
DataAcquisitionInterface interface represents the Reader layer DataAcquisitionInterface operations over Data Acquisition module of the Reader read subsystem. ReaderInterface ReadFilterInterface ReaderInterface interface represents the Reader layer operations over Reader device. ReadFilterInterface interface represents the Reader layer operations over Read Filter module of the Reader read subsystem.
Interface Hierarchy
o o o
116
Interface DataAcquisitionInterface
All Known Implementing Classes: DataAcquisition public interface DataAcquisitionInterface DataAcquisitionInterface interface represents the Reader layer operations over Data Acquisition module of the Reader read subsystem. The operations are basically based on getting/setting parameters. Defined parameters on Data Acquisition module are:
Method Summary
int GetReadTime()
Force a reading of the Data Acquisition subsystem when current read trigger is ON_REQUEST.
boolean SetReadTime(int ReadTime)
Method Detail
117
GetReadTrigger
public java.lang.String GetReadTrigger()
Returns current read trigger. Returns: current read trigger. See Also:
SetReadTrigger(String)
SetReadTrigger
public boolean SetReadTrigger(java.lang.String ReadTrigger)
Sets a new read trigger. Returns: true if operation has been successful; false otherwise. See Also:
GetReadTrigger()
GetReadTimerInterval
public int GetReadTimerInterval()
Returns current read timer interval. Returns: current read timer interval. See Also:
SetReadTimerInterval(int)
SetReadTimerInterval
public boolean SetReadTimerInterval(int ReadTimerInterval)
Sets read timer interval. Returns: true if operation has been successful; false otherwise. See Also:
GetReadTimerInterval()
GetReadTime
public int GetReadTime()
Returns current read time. Returns: current read time. See Also:
SetReadTime(int)
SetReadTime
public boolean SetReadTime(int ReadTime)
118
Anlisis de servicios de identificacin-localizacin basados en RFID Returns: true if operation has been successful; false otherwise. See Also:
GetReadTime()
ReadTags
public boolean ReadTags()
Force a reading of the Data Acquisition subsystem when current read trigger is ON_REQUEST. Returns: true if operation has been successful; false otherwise.
119
Interface ReaderInterface
All Known Implementing Classes: Reader public interface ReaderInterface ReaderInterface interface represents the Reader layer operations over Reader device. The operations are basically based on getting parameters. Defined parameters on Reader are:
Method Summary
java.lang.String GetMfrDescription()
Method Detail
GetReaderID
public java.lang.String GetReaderID()
GetReaderName
public java.lang.String GetReaderName()
120
Anlisis de servicios de identificacin-localizacin basados en RFID Returns Reader name. Returns: Reader name. See Also:
SetReaderName(String)
SetReaderName
public boolean SetReaderName(java.lang.String ReaderName)
Sets Reader name. Parameters: ReaderName - Reader name. Returns: true if operation has been successful; false otherwise. See Also:
GetReaderName()
GetMfrDescription
public java.lang.String GetMfrDescription()
GetReaderConfiguration
public java.lang.String GetReaderConfiguration()
121
Interface ReadFilterInterface
All Known Implementing Classes: ReadFilter public interface ReadFilterInterface ReadFilterInterface interface represents the Reader layer operations over Read Filter module of the Reader read subsystem. The operations are basically based on getting/setting parameters. Defined parameters on Read Filter module are:
ReaderMaxReadFilters
Method Summary
int GetMaxReadFilters()
Method Detail
GetMaxReadFilters
public int GetMaxReadFilters()
Returns maximun number of read filters supported. Returns: maximun number of read filters supported.
GetReadFilters
public java.lang.String[] GetReadFilters()
Returns current read filters. Returns: a list containing current read filters. See Also:
SetReadFilters(String)
122
SetReadFilters
public boolean SetReadFilters(java.lang.String ReadFilter)
Sets a new read filter. Parameters: ReadFilter - a new read filter Returns: true if the operation has been successful; false otherwise. See Also:
GetReadFilters()
123
Package reader.ess
Class Summary
EventGeneration TagStatusAutomation EventGeneration class represents the first step of the Reader event subsystem. TagStatusAutomation class represents a per-tag automation that maintains tag status information.
Class Hierarchy
o
class java.lang.Object o class java.util.Observable o class reader.ess.TagStatusAutomation (implements java.lang.Runnable) o class java.lang.Thread (implements java.lang.Runnable) o class reader.ess.EventGeneration (implements java.util.Observer)
124
Class TagStatusAutomation
java.lang.Object | +--java.util.Observable | +--reader.ess.TagStatusAutomation
All Implemented Interfaces: java.lang.Runnable public class TagStatusAutomation extends java.util.Observable implements java.lang.Runnable TagStatusAutomation class represents a per-tag automation that maintains tag status information. The lifecycle of a tag is defining with an undefined set of status transitions. The possible status and their transitions are:
UNKNOWN status o Tag situation: tag has never been seen or during a large time. o Status transitions: to SOFTREAD status if it is received a tag reading of its. SOFTREAD status o Tag situation: tag has only been seen one time. o Status transitions: to UNKNOWN status if there is a time interval longer than ReaderSoftReadExpireTimeout without receiving a tag reading of its or to FIRMREAD status if it is seen for at least ReaderFirmReadCount times without existing a time interval longer than ReaderSoftReadExpireTimeout between two readings. FIRMREAD status o Tag situation: tag is continuously seen. o Status transitions: to EXPIRED status if there is a time interval longer than ReaderFirmReadExpireTimeout without receiving a tag reading of its EXPIRED status o Tag situation: tag has not been seen for a time. o Status transitions: to UNKNOWN status if there is a time interval longer than ReaderPurgeTime without receiving a tag reading of its or to SOFTREAD status if it is received a tag reading of its.
Field Summary
static int EXPIRED_STATUS
125
Anlisis de servicios de identificacin-localizacin basados en RFID A constant represents the FIRMREAD status
static int SOFTREAD_STATUS
Constructor Summary
TagStatusAutomation(java.lang.String tag_epc)
Method Summary
void notifyInField()
This method is called by Event Generation module to notify a new tag reading.
void run()
Runs the lifecycle automation according to defined status and the possible transitions.
void setCurrentStatus(int status)
Field Detail
SOFTREAD_STATUS
public static final int SOFTREAD_STATUS
A constant represents the SOFTREAD status See Also: Constant Field Values
126
FIRMREAD_STATUS
public static final int FIRMREAD_STATUS
A constant represents the FIRMREAD status See Also: Constant Field Values
EXPIRED_STATUS
public static final int EXPIRED_STATUS
A constant represents the EXPIRED status See Also: Constant Field Values
Constructor Detail
TagStatusAutomation
public TagStatusAutomation(java.lang.String tag_epc)
Method Detail
run
public void run()
Runs the lifecycle automation according to defined status and the possible transitions. Specified by: run in interface java.lang.Runnable See Also: Thread.run()
notifyInField
public void notifyInField()
This method is called by Event Generation module to notify a new tag reading.
setCurrentStatus
public void setCurrentStatus(int status)
127
Class EventGeneration
java.lang.Object | +--java.lang.Thread | +--reader.ess.EventGeneration
All Implemented Interfaces: java.util.Observer, java.lang.Runnable public class EventGeneration extends java.lang.Thread implements java.util.Observer EventGeneration class represents the first step of the Reader event subsystem. Despite it receives filtered readings from Read Filter module and because it is condidered not necessary and not efficient to report all tag readings to Savant, this module is reponsible for reducing this volume of data by generating "events" when the status of each tag changes and communicates them to Savant. The possible tag status are:
Although for more information about them and status changes, see TagStatusAutomation class. It is clear that to do event generation, Event Generation module must maintain status information on a per-tag basis. So, each time a tag is firstly seen this module registries it and runs a Tag Status Automation to which reports of each new tag reading received and from which receives status changes that it converts into events. When a tag pass to UNKNOWN status it is unregistered. The possible generated events are:
NEW, when status changes from SOFTREAD to FIRMREAD. DELETE, when status changes from FIRMREAD to EXPIRED.
Parameters specified into reader_config.txt for default configuration of Tag Status Automation are:
ReaderSoftReadExpireTimeout, time in milliseconds without receiving a new tag reading to change from SOFTREAD to UNKNOWN status. ReaderFirmReadCount, number of tag reading being into SOFTREAD status to pass to FIRMREAD status. ReaderFirmReadExpireTimeout, time in milliseconds without receiving a new tag reading to change from FIRMREAD to EXPIRED status.
128
ReaderPurgeTime, time in milliseconds without receiving a new tag reading to change from EXPIRED to SOFTREAD status.
Field Summary
Constructor Summary
EventGeneration(reader.rss.ReadQueue input)
Creates a Event Generation module which the specified ReadQueue from which reads tag readings coming from Read Filter mudule with default configuration.
Method Summary
java.lang.String getConfiguration()
Waits for tag readings to registry it and runs its automation. Sets the interface that allow to notify events to Savant.
void update(java.util.Observable o, java.lang.Object arg)
129
Constructor Detail
EventGeneration
public EventGeneration(reader.rss.ReadQueue input)
Creates a Event Generation module which the specified ReadQueue from which reads tag readings coming from Read Filter mudule with default configuration. This ReadQueue is the Read Filter output queue. See Also: ReadQueue, ReadFilter
Method Detail
run
public void run()
Waits for tag readings to registry it and runs its automation. Specified by: run in interface java.lang.Runnable Overrides: run in class java.lang.Thread See Also: Thread.run()
update
public void update(java.util.Observable o, java.lang.Object arg)
This method is called whenever an automation wants to notify a status change. Specified by:
130
setListener
public void setListener(reader.mtb.SavantAdapterInterface savant_adapter_interface)
Sets the interface that allow to notify events to Savant. See Also:
SavantAdapterInterface
getSoftReadExpireTimeout
public static long getSoftReadExpireTimeout()
getFirmReadExpireTimeout
public static long getFirmReadExpireTimeout()
getPurgeTime
public static long getPurgeTime()
getFirmReadCount
public static int getFirmReadCount()
getConfiguration
public java.lang.String getConfiguration()
Returns Event Generation module configuration. Returns: Event Generation module configuration.
131
Package reader.mtb
Interface Summary
SavantAdapterInterface SavantAdapterInterface interface represents the connection with the Savant that allows to notify the generated events.
Class Summary
SavantAdapter class represents the Reader-Savant communication support to SavantAdapter interact with Reader layer that specifies the operations that Reader performs and what they mean.
Class Hierarchy
o
class java.lang.Object o class java.lang.Thread (implements java.lang.Runnable) o class reader.mtb.SavantAdapter (implements reader.mtb.SavantAdapterInterface)
Interface Hierarchy
o
interface reader.mtb.SavantAdapterInterface
132
Class SavantAdapter
java.lang.Object | +--java.lang.Thread | +--reader.mtb.SavantAdapter
All Implemented Interfaces: java.lang.Runnable, SavantAdapterInterface public class SavantAdapter extends java.lang.Thread implements SavantAdapterInterface SavantAdapter class represents the Reader-Savant communication support to interact with Reader layer that specifies the operations that Reader performs and what they mean. This support consists of a Messaging layer that defines the format of the requests and responses and how Reader layer information is carried and a Transport layer that corresponds to the networking facilities provided by the operating system or equivalent. A concrete implementation is called Messaging/Transport Biding (MTB). This implementation defines a HTTP/1.1 based Messaging layer and a TCP/IP based Transport layer. On the one hand, this MTB supports a control channel that allows Savant to request Reader layer operations defined by autoid package interfaces and, on the other, a notify channel that allows Reader to notify events to Savant. Parameters specified into reader_config.txt for its default configuration are:
SavantAddress, the IP address of Host on which Savant is running. SavantListenPort, the TCP port on which Savant is listening. ReaderListenPort, the TCP port on which Reader is listening.
Field Summary
133
Constructor Summary
SavantAdapter(reader.autoid.ReadFilterInterface read_filter_interface, reader.autoid.ReaderInterface reader_interface, reader.autoid.DataAcquisitionInterface data_acquisition_interface)
Creates a Savant Adapter with the Reader layer specified by read_filter_interface, reader_interface and data_acquisition_interface with the default configuration.
Method Summary
java.lang.String getConfiguration()
Constructor Detail
SavantAdapter
public SavantAdapter(reader.autoid.ReadFilterInterface read_filter_interface, reader.autoid.ReaderInterface reader_interface, reader.autoid.DataAcquisitionInterface data_acquisition_interface)
Creates a Savant Adapter with the Reader layer specified by read_filter_interface, reader_interface and data_acquisition_interface with the default configuration.
134
Method Detail
run
public void run()
Listens on control channel to the Savant requests. Specified by: run in interface java.lang.Runnable Overrides: run in class java.lang.Thread See Also: Thread.run()
notifyEPCEvent
public void notifyEPCEvent(java.lang.String event)
Notify an EPC event to Savant using the adapter defined. Specified by: notifyEPCEvent in interface SavantAdapterInterface See Also:
SavantAdapterInterface.notifyEPCEvent(String)
getConfiguration
public java.lang.String getConfiguration()
135
Interface SavantAdapterInterface
All Known Implementing Classes: SavantAdapter public interface SavantAdapterInterface SavantAdapterInterface interface represents the connection with the Savant that allows to notify the generated events. Since: 1.4 See Also:
SavantAdapter
Method Summary
void notifyEPCEvent(java.lang.String event)
Method Detail
notifyEPCEvent
public void notifyEPCEvent(java.lang.String event)
136
Package reader.rss
Class Summary
AutoIDAntenna AutoIDAntenna class represents the first step of the Reader read subsystem. DataAcquisition ReadFilter ReadQueue Timer DataAcquisition class represents the second step of the Reader read subsystem after Auto ID Antenna module. ReadFilter class represents the third step on the Reader read subsystem after Data Acquisition module and inmediatly before Event Generation module. ReadQueue class represents a simple fifo data buffer. Timer class represents a timer that allow to notify timeouts.
Class Hierarchy
o
class java.lang.Object o class reader.rss.AutoIDAntenna o class reader.rss.ReadQueue o class java.lang.Thread (implements java.lang.Runnable) o class reader.rss.DataAcquisition (implements reader.autoid.DataAcquisitionInterface) o class reader.rss.ReadFilter (implements reader.autoid.ReadFilterInterface) o class reader.rss.Timer
137
Class AutoIDAntenna
java.lang.Object | +--reader.rss.AutoIDAntenna
public class AutoIDAntenna extends java.lang.Object AutoIDAntenna class represents the first step of the Reader read subsystem. It must allow Data Acquisition module to communicate with auto ID tags. Because it simulates a radio frecuency antenna by mean of a multisending through a multicast channel in which may be listening auto ID tags, its configuration is specified into reader_config.txt with an unique parameter:
Althougth ISO15693 standard specified a large set of commands to interact with auto ID tags, this implementation only allow to send inventary requests. Since: 1.4 See Also: DataAcquisition, MulticastSocket
Constructor Summary
AutoIDAntenna()
Method Summary
java.lang.String getConfiguration()
Multisend an inventary request to all auto ID tags that are listening on the same RadioFrecuencyChannelID.
java.lang.String read()
Returns a response from auto ID tags in its covering area to a previous request.
138
Constructor Detail
AutoIDAntenna
public AutoIDAntenna()
Method Detail
inventary
public void inventary()
Multisend an inventary request to all auto ID tags that are listening on the same RadioFrecuencyChannelID.
read
public java.lang.String read()
Returns a response from auto ID tags in its covering area to a previous request. Returns: a response which consists of tag identificator; null if there isn't an available reponse.
getConfiguration
public java.lang.String getConfiguration()
139
Class DataAcquisition
java.lang.Object | +--java.lang.Thread | +--reader.rss.DataAcquisition
All Implemented Interfaces: DataAcquisitionInterface, java.lang.Runnable public class DataAcquisition extends java.lang.Thread implements DataAcquisitionInterface DataAcquisition class represents the second step of the Reader read subsystem after Auto ID Antenna module. It is in charge of controlling reading activity. This activity includes a periodic inventary request to auto ID tags and to deliver responses to the next module. The start of the read activity is marked by a read trigger specified by ReaderReadTrigger parameter. There are three types of read triggers:
CONTINUOUS, read activity is periodic and constant. INTERVAL, read activity is periodic but not constant, there is a quiet interval on each period. ON_REQUEST, read activity is over demand.
Parameters specified into reader_config.txt file for its default configuration are:
ReaderReadTrigger, one of CONTINUOUS, INTERVAL and ON_REQUEST. ReaderReadCycle, in millisecond. ReaderReadDutyCycle, in multiples of ReaderReadCycle ReaderReadTime, in multiples of ReaderReadCycle ReaderReadTimerInterval, only with INTERVAL read trigger, in multiples of ReaderReadCycle
Each time a read trigger occurs, a new read activity is initiated during ReaderReadTime * ReaderReadCycl milliseconds. Read activity consists of a read cycle, that is ReaderReadCyclee milliseconds long, followed by a read duty cycle with a duration of ReaderReadDutyCycle * ReaderReadCycle milliseconds, time interval between the end of one read cycle and the start of the next one. Because some operations could be temporally blocking, in each read activity exists a timer that fixs a timeout count. In the case of INTERVAL read trigger, ReaderReadTimerInterval * ReaderReadCycle marks, in milliseconds, how long quiet interval on read activity is. Since: 1.4 See Also: AutoIDAntenna, DataAcquisitionInterface, Timer, Thread
140
Field Summary
Constructor Summary
DataAcquisition(reader.rss.AutoIDAntenna antenna, reader.rss.ReadQueue output)
Creates a Data Acquisition module with the specified AutoIDAntenna and a ReadQueue that acts as data buffer with Read Filter module.
Method Summary
java.lang.String getConfiguration()
141
Constructor Detail
DataAcquisition
public DataAcquisition(reader.rss.AutoIDAntenna antenna, reader.rss.ReadQueue output)
Creates a Data Acquisition module with the specified AutoIDAntenna and a ReadQueue that acts as data buffer with Read Filter module. Parameters: antenna - Auto ID Antenna module. output - data buffer with the following module. See Also: AutoIDAntenna, ReadQueue, ReadFilter
Method Detail
run
public void run()
Runs read activity depends on the read trigger selected. Specified by: run in interface java.lang.Runnable Overrides: run in class java.lang.Thread See Also: Thread.run()
GetReadTrigger
public java.lang.String GetReadTrigger()
Returns current read trigger. Specified by: GetReadTrigger in interface DataAcquisitionInterface Returns: current read trigger.
142
SetReadTrigger
public boolean SetReadTrigger(java.lang.String ReadTrigger)
Parameters:
ReadTrigger - one of the possible values of read trigger.
Returns: true if the operation has been successful; false otherwise. See Also: GetReadTrigger(), DataAcquisitionInterface.SetReadTrigger(String)
GetReadTimerInterval
public int GetReadTimerInterval()
Returns current read timer interval. Specified by: GetReadTimerInterval in interface DataAcquisitionInterface Returns: a number expressing the current read timer interval in multiples of ReadCycle. See Also: SetReadTimerInterval(int),
DataAcquisitionInterface.GetReadTimerInterval()
SetReadTimerInterval
public boolean SetReadTimerInterval(int ReadTimerInterval)
Parameters:
ReadTimerInterval - the read timer interval expressed in multiples of ReadCycles.
Returns: true if the operation has been successful; false otherwise. See Also: GetReadTimerInterval(),
DataAcquisitionInterface.SetReadTimerInterval(int)
GetReadTime
public int GetReadTime()
143
Anlisis de servicios de identificacin-localizacin basados en RFID Returns: a number expressing the current read time in multiples of ReadCycle. See Also: SetReadTime(int), DataAcquisitionInterface.GetReadTime()
SetReadTime
public boolean SetReadTime(int ReadTime)
Sets read time. Specified by: SetReadTime in interface DataAcquisitionInterface Parameters: ReadTime - the read time expressed in multiples of ReadCycle. Returns: true if the operation has been successful; false otherwise. See Also: GetReadTime(), DataAcquisitionInterface.SetReadTime(int)
ReadTags
public boolean ReadTags()
Forces a new read activity when read trigger is ON_REQUEST. Specified by: ReadTags in interface DataAcquisitionInterface Returns: true if the operation has been successful; false otherwise. See Also:
DataAcquisitionInterface.ReadTags()
getConfiguration
public java.lang.String getConfiguration()
Returns Data Acquisition module configuration. Returns: Data Acquisition module configuration.
144
Class ReadFilter
java.lang.Object | +--java.lang.Thread | +--reader.rss.ReadFilter
All Implemented Interfaces: ReadFilterInterface, java.lang.Runnable public class ReadFilter extends java.lang.Thread implements ReadFilterInterface ReadFilter class represents the third step on the Reader read subsystem after Data Acquisition module and inmediatly before Event Generation module. It corresponds to logic that removes certain tag reads, coming from Data Acquisition module, according to their identificator called epc. The logic provides a way to describe a simple filtering scheme based on bitwise patterns called read filters. This implementation works with 64-bit identificators so a read filter is a string of 0, 1, and X characters like this: 000111000XX11X00... A tag epc is said to match a read filter if:
The tag epc's bit string and the read filter are of equal length. For every bit position in which read filter contains a 0/1, the tag identificator's bit string contains a 0/1.
Note that those read filter's bit position that contains a X character are ignored. So a tag read pass Read Filter module when matchs at least one of the read filters. Parameter specified into reader_config.txt file for its default configuration is:
Initially, there isn't any read filter established. Since: 1.4 See Also: ReadFilterInterface, Thread
Field Summary
145
Anlisis de servicios de identificacin-localizacin basados en RFID Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Constructor Summary
ReadFilter(reader.rss.ReadQueue input, reader.rss.ReadQueue output)
Creates a Read Filter module that gets tag reads from input queue and puts those successfully filtered to output queue with default configuration.
Method Summary
java.lang.String EPCBinaryString(java.lang.String epc)
Check if tag identificator matchs at least one of the established read filters.
java.lang.String getBits(int value, int nbits)
Returns a list of the read filters supported in its bit string representation.
void run()
146
Anlisis de servicios de identificacin-localizacin basados en RFID Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Constructor Detail
ReadFilter
public ReadFilter(reader.rss.ReadQueue input, reader.rss.ReadQueue output)
Creates a Read Filter module that gets tag reads from input queue and puts those successfully filtered to output queue with default configuration. See Also:
ReadQueue
Method Detail
run
public void run()
Filters continuously tag reads. Specified by: run in interface java.lang.Runnable Overrides: run in class java.lang.Thread See Also: Thread.run()
filter
public boolean filter(java.lang.String epc)
Check if tag identificator matchs at least one of the established read filters. Parameters: epc - the tag identificator. Returns: true if it matchs at least one of the established read filters.
EPCBinaryString
public java.lang.String EPCBinaryString(java.lang.String epc)
Returns a 64-bit string representation of the tag identificator. Parameters: epc - the tag identificator. Returns: a 64-bit string representation of the tag identificator.
147
getBits
public java.lang.String getBits(int value, int nbits)
Returns a nbits-bit string representation of the number value. Parameters: value - the numeric value in base 10. nbits - the number of bit string representation. Returns: the bit string representation.
GetMaxReadFilters
public int GetMaxReadFilters()
Returns the maximun number of read filters supported. Specified by: GetMaxReadFilters in interface ReadFilterInterface Returns: the maximun number of read filters supported. See Also:
ReadFilterInterface.GetMaxReadFilters()
GetReadFilters
public java.lang.String[] GetReadFilters()
Returns a list of the read filters supported in its bit string representation. Specified by: GetReadFilters in interface ReadFilterInterface Returns: a list with the read filters supported. See Also: SetReadFilters(String), ReadFilterInterface.GetReadFilters()
SetReadFilters
public boolean SetReadFilters(java.lang.String ReadFilter)
Sets a new read filter. Specified by: SetReadFilters in interface ReadFilterInterface Parameters: ReadFilter - a read filter's bit string representation. Returns: true if there are less than maximun read filters established; false otherwise. See Also: GetReadFilters(), ReadFilterInterface.SetReadFilters(String)
getConfiguration
public java.lang.String getConfiguration()
148
Anlisis de servicios de identificacin-localizacin basados en RFID Returns Read Filter module configuration. Returns: Read Filter module configuration.
149
Class ReadQueue
java.lang.Object | +--reader.rss.ReadQueue
public class ReadQueue extends java.lang.Object ReadQueue class represents a simple fifo data buffer. In the Reader read subsystem is used to buffer the output of one module with the input of following one. This system allow to establish an asychronous communication channel between two modules avoiding blocking calls. Since: 1.4
Constructor Summary
ReadQueue()
Method Summary
boolean available()
Returns the first read elements of this Read Queue, decreasing its size by one.
void push(java.lang.String read)
Adds the specified read element to the end of this Read Queue, increasing its size by one.
150
Constructor Detail
ReadQueue
public ReadQueue()
ReadQueue
public ReadQueue(int initial_size)
Method Detail
push
public void push(java.lang.String read)
Adds the specified read element to the end of this Read Queue, increasing its size by one. Parameters: read - the read element to add.
pull
public java.lang.String pull()
Returns the first read elements of this Read Queue, decreasing its size by one. Returns: the first read element.
available
public boolean available()
Test if this Read Queue has read elements. Returns: true if there is at least a read element; false otherwise.
151
Class Timer
java.lang.Object | +--java.lang.Thread | +--reader.rss.Timer
All Implemented Interfaces: java.lang.Runnable public class Timer extends java.lang.Thread Timer class represents a timer that allow to notify timeouts. Since: 1.4 See Also: Thread
Field Summary
Constructor Summary
Timer(long time, java.lang.Boolean trigger)
Creates a Timer that establishs a timeout of time milliseconds and notify timeout by mean of trigger boolean variable.
Method Summary
void run()
152
Constructor Detail
Timer
public Timer(long time, java.lang.Boolean trigger)
Creates a Timer that establishs a timeout of time milliseconds and notify timeout by mean of trigger boolean variable. See Also: Boolean
Method Detail
run
public void run()
Runs the timer up to the timeout. Specified by: run in interface java.lang.Runnable Overrides: run in class java.lang.Thread See Also: Thread.run()
153