University of Arkansas – CSCE Department RFID Agent Middleware – Final Report – Spring 2006 SNMP for RFID Agent Middleware Anil Kumar, Vangari-Balraj Abstract With the increasing usage of RFID reader agents it becomes difficult to maintain, monitor and troubleshoot. In this direction, reader agents from top vendors are providing support for industry standard management protocols like SNMP. A SNMP Management Agent can do the management tasks and can easily merge into enterprise level management software. This project provides the basic SNMP support for the RFID Agent Middleware. Problem The UARK RFID Agent middleware is lacking the agent management capabilities. A non standard way of doing is ping the device for every few minutes. This can be too tedious in case of huge number of readers. This problem is similar to the huge computer network where a lot of computers and peripherals are connected to a network and needs to be monitored. Very often the job of network management is prone to human errors. The management of reader agents in our middleware is limited in functionality. Objective To develop the SNMP agent which can communicate with the agents in RFID specific messages and translates them into SNMP messages. This agent should become a face to outside world which acts like a SNMP agent wrapping a non-SNMP RFID agent. Design Background The management of devices is never an easy task. In industry there exists several standard ways to solve this problem. Some of the network management protocols are TMN, CMIP, SNMP and TL1. A custom protocol can also be designed but many times standard protocols might do job given constraints like usability, maintenance and robustness. SNMP is the de-facto industry standard for network management. Many reader vendors like Symbol, Alien Technologies and Matrics Inc are coming up with readers that support various network management protocols like SNMP. For example, readers like AR400, SR400 from Matrics Inc. already provide support for SNMP. Page 1 – March 7, 2016 SNMP for RFID Agent Middleware The Simple Network Management protocol (SNMP) is an application layer protocol in 7 layer OSI model, which is developed from its predecessor SGMP (Simple Gateway Management Protocol). It is designed to be simple with set of few commands to manage complex networks. A message in SNMP is called as protocol data unit PDU, which is used to communicate with network nodes. SNMP is based on manager/agent model consisting of managers, agents and managed objects. The manager is the console to perform the network management functions. A typical manager can get the responses from agents set the variables in management information base (MIB) acknowledge the events from agents query the agents Agent is an interface (typically software) to the managed objects like bridges, routers, hubs, servers, printers etc. Agents store the data about the managed object within management information base (MIB). An agent can respond to the requests and send an event signal to the manager asynchronously. It can also act as a proxy to a nonSNMP manageable node. A management information base is a database which contains the properties of the managed object. The structure of the MIB is defined by the subset of Abstract Syntax Notation (ASN) language called Structure of Management Information (SMI), currently version 2 RFC 2578. MIB takes the hierarchical tree-like structure to organize its objects. Every node in the tree is identified by a number and a name which is unique within its level. An object is uniquely identified by the Object Identifier (OID), which is a sequence of numbers separated by decimal point, traversed from root to the object. For example, the object SNMPv2-MIB.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 also referred by .1.3.6.1.2.1.1.1.0 can give you the description of the system you are browsing. SNMPv1 has five basic messages GET, SET, GET NEXT, GET RESPONSE and TRAP. First four messages are used only by the manager synchronously to get and set the properties of the objects and get the response from the agents. The TRAP message is used to asynchronously alert the manager about the critical events like linkup, linkdown etc. In SNMP v2, GETBULK REQUEST and INFORM were introduced. GETBULK is used to iterate like GETNEXT in bulk whereas INFORM is used as acknowledged TRAP. Currently SNMP is under version 3 standardized by IETF as defined by RFC 3411 RFC3418. New features in version 3 are authentication, privacy, access control and administration. According to RFC 2273, there are five possible applications of SNMPv3. These applications are Command Generator, Command Responder, Notification Originator, Notification Receiver and Proxy Forwarder. 2 SNMP for RFID Agent Middleware Requirements Every agent must derive the functionality from a unique proxy agent to support SNMP features. A private enterprise management information base (MIB) must be defined to support RFID agent specific properties. This allows the manager to browse, get and set the object properties related to particular managed object like reader agent, database, printer etc. Tasks (executed) 1. Understand and gain background in RFID Agent middleware and SNMP protocol. 2. Design the architecture to fit the SNMP proxy agent into the existing architecture. 3. Extend the RFID Agent class which behaves like a SNMP proxy agent. 4. Test the SNMP agent in typical scenarios. 5. Demonstrate the application of SNMP as network management protocol in the context of RFID Agent Middleware. 6. Document the architecture details, class library and test cases. Schedule Spring 2006 1. Understanding SNMP 2. Design Architecture 3. Implement Agent 4. Test SNMP Agent 5. Demonstration 6. Documentation 3 SNMP for RFID Agent Middleware Detailed Design SNMP in RFID Architecture RFID agents can be SNMP manageable by introducing a SNMP proxy agent to each and every agent. SNMP proxy agent then reports to an external SNMP manager. A SNMP manageable RFID agent can be used directly with the SNMP manager. A SNMP Proxy Agent is also a generic RFID Agent which implements the functionality of a RFID agent as well as SNMP proxy agent. Thus it can communicate with other agents like database etc. Whenever the associated RFID agent is up proxy sends a generic trap message “coldStart”. Although the message doesn’t indicate truly a cold start, it closely resembles it. Test Plan Several tools like ManageEngine Optilus 3, iReasoning’s MIB Browser etc. are used for testing and understanding purposes. Here ManageEngine is used as Trap receiver. RFID agent middleware must be setup before testing this SNMP agent. Once the RFID application and database are up, run the reader agent. In this case, run the fake reader which registers itself in the database after it is up. Now run the proxy agent which is associated with the fake reader. It sends a trap message to the SNMP manager if it finds the fake reader running. ManageEngine will capture the trap message sent by proxy agent, which shows that proxy agent is working perfectly. Future Work 1. Add support for other SNMP commands like GET, SET, GET-NEXT etc. 2. Develop SNMP proxy agents along with their MIBs for all RFID agents which need to be SNMP manageable. 3. Develop web-based access to RFID agent management and integrate into ERP software like SAP. 4 SNMP for RFID Agent Middleware Deliverables Design Document – describes the detailed architecture and requirements of “SNMP for RFID Agent middleware”. Software and dependency libraries. PowerPoint presentation. Key Personnel Anil Kumar, Vangari-Balraj is a graduate Computer Science major in the Computer Science and Computer Engineering department at the University of Arkansas, Fayetteville. He has completed RFID Agent middleware, Bio-Nanotechnology and Formal Languages. He has got 1 year work experience in .NET and various Microsoft technologies. As an intern at Renaissance InfoTech, he worked as project lead and contributed for architecture and database design for Java based Voice-over-IP application. He is responsible for SNMP support to RFID agent middleware. References [1] SNMP Agent development, http://ezine.daemonnews.org/200112/snmp_agent_develop.html [2] Alien Technology, a reader company http://www.alientechnology.com [3] AR400 reader http://www.symbol.com/AR400/ [4] Matrics API Programmers manual v2.3, September 14, 2004 [5] SNMP resources www.snmplink.com [6] SNMP Java API www.snmp4j.org [7] SNMP tools ManageEngine OpUtils 3 [8] Free MIB Browser http://www.ireasoning.com/mibbrowser.shtml [9] IETF RFC page http://www.ietf.org/rfc.html 5