Beruflich Dokumente
Kultur Dokumente
Report: Seminar II Topic: On the architecture of robot services over the Internet
Table of Contents 1. Introduction 2. Scientific and practical basis of the topic 3. Plan 4. Implementation 4.1 RSNP Architecture 4.1 .1 Introduction 4.1.1.1. 4.1.1.2. 4.1.1.3. 4.1. 2. RSNP RSNP Architecture Structure of RSNP What is RSNP? What is RSi? Concept of RSNP
4.1.3. Deployment environment of RSNP 4.1.4. Service Examples of RSNP (Application service profiles) 4.2 Web Services Architecture 4.3 Tool 4.4 Setup environment 4.5 Experiment and find performance with AIIT. 4.6 Experiment and find performance bottlenecks. 4.7 Work on an improvement of the architecture, write report/paper
1. Introduction Purpose Research RSNP Architecture of robot services created using RSNP of Advanced Institute of Industrial Technology (AIIT) KATO Lab Perform the experiment to measure service response time for these robot services. Experiment and find performance bottlenecks? Evaluate the efficiency and improve RSNP architecture? 2. Scientific and practical basis of the topic RSNP (Robot Service Network Protocol) library system is used to control robots over internets. Model client-server applications, a socket is one end-point of a two-way communication link between two programs running on the network. Web services architecture is Web application development model which allows building full system from many different services The Eclipse Test & Performance Tools Platform (TPTP) Profiling tool to profile a Java application in order to identify performance hot spots, and fix and validate performance problems.
3. Plan Time to implement the subject (from May 2012 to August 2014) details as follows:
Task Name 1 2 3 4 5 Study literature on RSNP Study Web Services Architecture Setting up a robot service application Experiment and find performance with AIIT Experiment and find performance bottlenecks Work on an improvement of the architecture, write 6 report/paper Implementation
Start End Date Date May-12 Jul-12 Aug-12 Sep-12 Oct-12 Nov-12 Dec-12 Apr-13 Dec-12 May-14 May-13 Aug-14
4.
4.1 RSNP Architecture 4.1.1. Introduction 4.1.1.1 What is RSNP (Robot Service Network Protocol)
The RSNP 1.0 (AIIT- Japan) specification was published in October 2006 to provide basic functions such as communicating, instructing robots, using multimedia, and providing information, based on the idea of "robot services over the Internet" Approach on RSNP o RSNP1.0 (2006) o RSNP2.0 (2008) o RSNP2.1 (2009)
The functions:
o Communication, authentication, and security o Upload of image data, robot events, and sensor data o Framework for robot behavior
Figure 2: Outline of the system 4.1.1.2. What is RSi (Robot Service initiative) ?
Data from various robots can be uploaded onto the Internet to standardize services Specifications can be created as a Robot Service Network Protocol (RSNP) 4.1.1.3. Concept of RSNP The protocol specification (RSNP specification) used for RSi robot services is intended for procedures, communication, and control of the robot services, and is characterized by being an open specification and being able to be applied for various robots and services
Figure 3: Concept model for the RSNP specification 4.1. 2. 4.1. 2.1 RSNP RSNP Architecture
The RSi services consist of (1) RSi common service, which provides common functionality necessary for robots to be connected to a network and establish communication, and (2) profiles, which are provided for various robot functions to support each of them
Figure 4: Architecture of RSi services RSNP = RSi Common Service + Profiles. RSi Common Service Communication platform Using Web service technologies (on HTTP) Communication model push/pull synchronous/asynchronous Common functions of robot services are determined as communication protocol
Profiles Application service profiles Information services, such as disaster and weather information services, and remote control and monitoring services Basic service profiles Multimedia and sensor support, behavioral patterns and movements
4.1. 2.3
Structure of RSNP
Figure 5: Connecting the robot and the server via RSNP communication
The user program of the robot providing services connects the robot to the server via RSNP communication just by calling a library API, and the user program of the corresponding server performs processing (and vice versa)
Figure 6: Structure of RSi services Protocol layers :SOAP The RSNP is positioned in the protocol layer as shown below and is bound to a lower communication protocol, SOAP. Communication protocols lower than SOAP are supposed to be any protocol that can send SOAP messages.
Axis2
Tomcat
J VM
OS
Figure 10: Deployment environment of RSNP OS: Unix,Window. JVM: JavaSE Development Kit 6.x of later Axis2: Apache Axis2 1.4.1 Tomcat :Apache Tomcat 6.0.xx or later RSNP:FJLIB (Libraries for RSNP server)
4.1.4. Service Examples of RSNP (Application service profiles) Disaster Information Service Disaster information from Japan Weather Association is analyzed and then distributed as disaster information comments The following six types of information are provided: rainfall, lightning, earthquake, tsunami, volcano information, other warnings
Once a new piece of disaster information arrives at the server, it is distributed to the robot Selects necessary information according to the region where the robot has been deployed to notify the people around
4.2 Web Service Architecture Whats Web Service? o Programmable application logic accessible using Standard Internet Web Service Model
Platform that hosts access to the service o Service requestor Business that requires certain functions to be satisfied Application looking for and invoking an interaction with a service o Service registry Searchable registry of service descriptions where service providers publish their service descriptions Operations in a Web Service Architecture o Publish Service descriptions need to be published in order for service requestor to find them o Find Service requestor retrieves a service description directly or queries the service registry for the service required o Bind Service requestor invokes or initiates an interaction with the service at runtime Architecture Overview o SOAP: Simple Object Access Protocol: SOAP is based on XML o WSDL: WSDL is written in XML o UDDI: communicates via SOAP
4.3 Tool Java SDK, Tomcat server, Eclipse, JMeter. 4.4Setup environment 4.4.1 Install Java SDK 4.4.2 Download Eclipse 4.4.3 Download Eclipse plug-in for NXT(Robot) 4.4.4 Download Eclipse Test and Performance Tools Platform (TPTP) plug-in, Yourkit 4.4.5 JMeter
4.5 Experiment procedure for RSNP service with AIIT. An experiment performed to test quality of experience of robot services created using RSNP. Advanced Institute of Industrial Technology (AIIT) KATO Lab. would like to request Vietnam National University to perform the experiment from Vietnam to measure service response time for these robot services. Result from this research will be taken into account for our robot service development and contribute to our research. Detail procedure for this experiment is stated in step by step in following sections The goal of this experiment is to measure the service response time for Robot services using RSNP. Diagram 1 depict a response time which we are aimed to measure in this research.
4.5.1 Service to be measured Contentsupload Robotcamera Robotcontrol with NXT (if possible) 4.5.2 Experiment items RSNP service response time measurement using JMeter. Round trip delay measurement using ICMP Ping test. Route trace between VNU and AIIT traceroute (tracert) command 4.5.3 Deliverable RSNP service response time result paper. ICMP Ping test result paper. Tracerout test result paper. Questioner for network environment at VNU 4.5.4 Requirement for the test environment Internet connectivity.
Personal computer with browser Eclipse environment for RSNP service would be able to run on . Apache JMeter (distributed form AIIT)
4.6Experiment and find performance bottlenecks Deadlock: (RobotMain.java MessageDispatcher-17 <--- Frozen for at least 16m 22s lejos.pc.comm.NXTCommFantom.jfantom_send_data(long, byte[], int, int) lejos.pc.comm.NXTCommFantom.devWrite(long, byte[], int, int) lejos.pc.comm.NXTCommUSB.rawWrite(byte[], int, int, boolean) lejos.pc.comm.NXTCommUSB.flushBuffer() lejos.pc.comm.NXTCommUSB.write(byte[]) lejos.pc.comm.NXTCommOutputStream.flush() java.io.DataOutputStream.flush() blueTooth.BTSend.selectFunc(int, double) rsnp.acceptor.Motion_profile_impl.forward(long, double, String) com.fujitsu.rsi.client.callback.MotionCallback.do_forward(long, String, String) com.fujitsu.rsi.client.callback.MotionCallback.execMethod(String, OperationParam, String, String) com.fujitsu.rsi.client.ClientProxy$SVtoCLMessageHandler.doAccept( MessageContents) com.fujitsu.rsi.client.ClientProxy$MessageDispatcher.run() 4.7Work on an improvement of the architecture, write report/paper