Home

MITATE User Manual

image

Contents

1. 22 4 Appendix 4 1 Configuring a MITATE Experiment to Send an HTTP GET Packet on Port 80 of a Web Server lt xml version 1 0 encoding ISO 8859 1 lt entry gt lt defines gt lt transferdefine gt lt transfers gt lt transfer gt lt id gt transfer1 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt mitate cs montana edu lt destinationip gt lt packetdelay gt 0 lt packetdelay gt lt type gt TCP lt type gt lt portnumber gt 8 lt portnumber gt lt response gt 8 lt response gt lt bytes gt lt explicit gt 1 lt explicit gt lt contentid gt content1 lt contentid gt lt bytes gt lt noofpackets gt 1 lt noofpackets gt lt transfer gt lt transfers gt lt transferdefine gt lt contentdefine gt lt content gt lt contentid gt content1 lt contentid gt 23 lt protocol gt HTTP lt protocol gt lt data gt lt CDATA GET images cdn jpg HTTP 1 1 r nHost mitate cs montana edu r nUser Agent Mozilla 5 Windows NT 6 1 WOW64 rv 20 0 Gecko 20100101 Firefox 20 0 r nAccept text html application xhtml xml application xml q 9 q 0 8 r nAccept Language en us en q 5 r nAccept Encoding gzip deflate r nConnection keep alive r n gt lt data gt lt contenttype gt ASCII lt contenttype gt lt content gt lt contentdefine gt lt criteriadefine gt lt criteria gt lt id gt criterial lt id gt lt latitude gt 45 66962856799364 lt latitude gt
2. lt longitude gt 111 06049848720431 lt longitude gt radius 50000 radius networktype cellular networktype criteria criteriadefine defines transactions transaction count 1 gt transfers transfer repeat 1 delay 0 gt lt transferid gt transfer1 lt transferid gt lt transfer gt lt transfers gt 24 lt criteria gt lt criteriaid gt criterial lt criteriaid gt lt criteria gt lt transaction gt lt transactions gt lt entry gt 25 4 2 Configuring a MITATE Experiment to Perform DNS Lookup and get a Response Back For configuring a MITATE experiment as a DNS lookup the XML file containing traffic definitions should look similar to lt xml version 1 0 encoding ISO 8859 1 lt entry gt lt defines gt lt transferdefine gt lt transfers gt lt transfer gt lt id gt transfer1 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 8 8 8 8 lt destinationip gt lt packetdelay gt 0 lt packetdelay gt lt type gt UDP lt type gt lt portnumber gt 53 lt portnumber gt lt response gt 1 lt response gt lt bytes gt lt explicit gt 1 lt explicit gt lt contentid gt content1 lt contentid gt lt bytes gt lt noofpackets gt 1 lt noofpackets gt lt transfer gt lt transfers gt lt transferdefine gt lt contentdefine gt lt content gt lt contentid gt content1 lt contentid gt lt protocol gt DNSLookup lt protocol
3. consisting of the total transfers in the XML configuration file the user is required to run the following command mitate sh getExpStatus lt experiment_ID gt There are two possible outcomes of executing this command 1 Success In this case the command will return the total number of transfer in the experiment and the total number of transfers that have been executed 2 Permission denied If in case user queries the current status for an experiment that is either not uploaded by the user or does not exist the user will get a permission denied error 20 3 10 Query Experiment Data In order to retrieve all the data associated with a completed experiment the user is required to issue the following command mitate sh query user_experiment_list txt lt output_filename gt This command requires two command line parameters an input file containing list of experiment IDs and an output file for SQL statements that contain experiment data The experiment IDs of all experiments that were uploaded successfully are stored in user_experiment_list txt file where each experiment ID is stored in one separate line To query for data for a particular experiment only a user can pass in a file that contains only one experiment ID When a user issues a request to query data associated with all the experiments in the user_experiment_list txt the API can generate two following outcomes 1 Error in Retrieving Data The API th
4. Check available credit upload Uploads an XML file makePublic Make the experiment public getExpStatus Get current experiment status query Retrieve data for an executed experiment delete Deletes the experiment with specified ID logout Logs out the user 11 3 1 Help To see the list of supported options mitate sh help Lists the set of supported options each option is detailed in sections 3 2 to 3 10 12 3 2 Login and Logout to the API If you are a first time user please create your login credentials at http mitate cs montana edu mitate signup php You will be asked for these credentials when interacting with MITATE s command line API mitate sh To login into MITATE use the following command mitate sh login Following a successful login mitate sh will save an authentication key for subsequent commands until you log out You can remove that key by calling mitate sh logout A failed login will generate an error message 13 3 3 Download Script to Initialize Local MySQL Instance Since the output of any experiment is returned to the user in form of SQL Insert Statements this initialization command is required to set up all the tables in the user s local MySQL instance for MITATE data The following command will generate script required to setup the local database mitate sh init lt output_file gt This command requires two command line parameters initialization operation and output filename Afte
5. gt 26 lt data gt lt CDATA 1b3 0100000100000000000006736561726368096a6170616 e706f7374026a700000010001 gt lt data gt lt contenttype gt HEX lt contenttype gt lt content gt lt contentdefine gt lt criteriadefine gt lt criteria gt lt id gt criterial lt id gt lt latitude gt 45 66962856799364 lt latitude gt lt longitude gt 111 06049848720431 lt longitude gt radius 50000 radius networktype cellular networktype criteria criteriadefine defines transactions transaction count 1 gt transfers transfer repeat 1 delay 0 gt lt transferid gt transfer1 lt transferid gt lt transfer gt lt transfers gt lt criteria gt lt criteriaid gt criterial lt criteriaid gt lt criteria gt lt transaction gt lt transactions gt 27 lt entry gt 28 4 3 Configuring a MITATE Experiment to Send Packets of Different Message Size lt xml version 1 0 encoding ISO 8859 1 lt entry gt lt defines gt lt transferdefine gt lt transfers gt lt transfer gt lt id gt transfer1 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 1 2 3 4 lt destinationip gt lt packetdelay gt lt packetdelay gt lt type gt UDP lt type gt lt portnumber gt 1234 lt portnumber gt lt response gt 8 lt response gt lt bytes gt explicit 0 explicit noofbytes 256 noofbytes lt bytes gt lt noofpackets gt 1 lt noofpa
6. points 2 Configuring MITATE Experiments This section will elaborate the steps required in creating traffic definitions These traffic definitions will serve as an input to the MITATE system In order to submit these definitions to the MITATE backend servers and to start the experiments from your mobile device you will be required to form a well defined XML file This section contains explanations for defining an experiment which consists of transaction transfer content and criteria definitions Below are a few examples which could help to get started immediately if you are new to MITATE These examples contains traffic definitions for executing experiments such as sending a well formed HTTP GET DNS lookup request 2 1 Traffic Definitions transaction count 10 gt lt criteria gt lt criteriaid gt criterial lt criteriaid gt lt criteria gt lt transfers gt lt transfer repeat 1 delay 10 gt lt transferid gt transfer1 lt transferid gt lt transfer gt lt transfer repeat 2 delay 20 gt lt transferid gt transfer2 lt transferid gt lt transfer gt lt transfer repeat 1 delay 10 gt lt transferid gt transferi lt transferid gt lt transfer gt lt transfers gt lt transaction gt where transaction To define a transaction within an experiment count Attribute of transaction refers to number of different clients on which this transaction is executed repeat Attribute of transfer
7. MITATE Mobile Internet Testbed for Application Traffic Experimentation mitate cs montana edu http mitate cs montana edu User Manual V 1 0 Content 1 MITATE Overview 2 Configuring MITATE Experiments 2 1 Traffic Definitions 2 2 Defining a Transfer 2 3 Defining an Explicit Content 2 4 Defining a Criteria 3 MITATE Command Line API 3 1 Help 3 2 Login and Logout 3 8 Download Script to Initialize Local MySQL Instance 3 4 Validate XML Configuration File 3 5 Get Experiment Cost 3 6 Check User s Available Credits 3 7 Upload an Experiment as XML 3 8 Make Experiment Public 3 9 Get Experiment Status 3 10 Query Experiment Data 3 11 Delete an Uploaded Experiment 4 Appendix 4 1 Configuring a MITATE Experiment to Send an HTTP GET Packet on Port 80 of a Web Server 4 2 Configuring a MITATE Experiment to Perform DNS Lookup and Get a Response Back 2 4 3 Configuring a MITATE Experiment to Send Packets of Different Message Sizes 4 4 Configuring a MITATE Experiment to Send Packets with Transmission Rates Transmission Intervals 4 5 Database Schema 1 MITATE Overview The technical problem we address is a lack of a programmable testbed for mobile application prototyping in production cellular networks We have identified two challenges to building such a testbed First the personal nature of mobile devices creates user concerns over privacy accountability for actions of foreign code being prototyped and abuse
8. a credits that the given XML file will require the user to have available in his account if this experiment were to be executed 16 3 6 Check User s Available Credits This command allows users to check their available cellular and Wi Fi data credit The following command is required to be executed to check the available credits mitate sh checkAvailableCredits The command will return the available cellular and WiFi data credit as well as the amount of credit earned 17 3 7 Upload an Experiment as XML To upload an experiment users need to execute the upload command mitate sh upload lt XML_Filename gt This command requires a valid XML experiment configuration file There can be three outcomes of this query which are as follows 1 XML Validation Error Before uploading any experiment the API first validates the input XML file against MITATE s XML Schema Definition File which can be found at http mitate cs montana edu sample Mitate Sample Configuration File XML Form at xsd 2 Insufficient Available Measurement Credit If the total volume of data in an experiment that needs to be exchanged between mobile devices and MITATE backend servers exceed the available credit balance of the user the API will generate an error message asking the user to either reduce the number of transfers from the XML file or increase the mobile and Wi Fi credit for his account 3 Experiment Uploaded Successfully If none of th
9. c for a particular transfer executed by a device transfermetrics contains the latencies and throughput s per packet as base64 encoded string for udp and tcp packetmetrics contains the latencies and throughputs calculated for each packet in a particulaar transfer 36 Device tables userdevice contains the device related information like device model name and the network carrier used by the device Log tables logs contains the errors that are generated while executing transfers on a particular device 37
10. ckets gt lt transfer gt lt transfer gt lt id gt transfer2 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 1 2 3 4 lt destinationip gt lt packetdelay gt lt packetdelay gt lt type gt UDP lt type gt lt portnumber gt 1234 lt portnumber gt lt response gt lt response gt 29 lt bytes gt explicit 0 explicit lt noofbytes gt 512 lt noofbytes gt lt bytes gt lt noofpackets gt 1 lt noofpackets gt lt transfer gt lt transfers gt lt transferdefine gt lt criteriadefine gt lt criteria gt lt id gt criterial lt id gt lt latitude gt 45 66962856799364 lt latitude gt lt longitude gt 111 06049848720431 lt longitude gt radius 50000 radius networktype cellular networktype criteria criteriadefine defines transactions transaction count 1 gt transfers transfer repeat 1 delay 0 gt lt transferid gt transfer1 lt transferid gt lt transfer gt transfer repeat 1 delay 0 gt lt transferid gt transfer2 lt transferid gt lt transfer gt lt transfers gt lt criteria gt 30 lt criteriaid gt criterial lt criteriaid gt lt criteria gt lt transaction gt lt transactions gt lt entry gt 31 4 4 Configuring a MITATE Experiment to Send Packets with Transmission Rates Transmission Intervals lt xml version 1 0 encoding ISO 8859 1 lt entry gt lt defines gt lt transferdefin
11. e above three cases are true the API will process and upload the XML file and finally output the success message with a unique experiment ID 18 3 8 Make Experiment Public Since by default all the experiments can be accessed by the user who uploaded them this command will enable the owner of the experiment to set its permissions as public with a confirmation in which case its execution as well as the data associated with it can then be accessed by anyone In general an experiment whose permissions are set as private would allow the owner of the experiment to execute delete and fetch any data associated with it An experiment whose permissions are set as public would allow all the users to execute and fetch the data associated with it To delete a public experiment the user who uploaded the experiment needs to issue a delete experiment request as described above and cannot be deleted by any other user The following command needs to be executed to update the permissions of an experiment mitate sh makePublic lt experiment_ID gt This command requires two command line parameters an update operation and experiment ID After this command is issued the API will check if the user is the owner of the experiment and will ask for a final confirmation to set the experiment as public Once the experiment is set public it can be made private 19 3 9 Get Experiment Status To get the current status of an uploaded experiment
12. e gt lt transfers gt lt transfer gt lt id gt transfer1 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 1 2 3 4 lt destinationip gt packetdelay 100 packetdelay type UDP type lt portnumber gt 1234 lt portnumber gt lt response gt 8 lt response gt lt bytes gt explicit 0 explicit noofbytes 256 noofbytes bytes noofpackets 1 noofpackets transfer transfer lt id gt transfer2 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 1 2 3 4 lt destinationip gt packetdelay 200 packetdelay type UDP type lt portnumber gt 1234 lt portnumber gt lt response gt lt response gt 32 lt bytes gt explicit 0 explicit noofbytes 512 noofbytes lt bytes gt lt noofpackets gt 1 lt noofpackets gt lt transfer gt lt transfers gt lt transferdefine gt lt criteriadefine gt lt criteria gt lt id gt criterial lt id gt lt latitude gt 45 66962856799364 lt latitude gt lt longitude gt 111 06049848720431 lt longitude gt radius 50000 radius networktype cellular networktype criteria criteriadefine defines transactions transaction count 1 gt transfers transfer repeat 1 delay 0 gt lt transferid gt transfer1 lt transferid gt lt transfer gt transfer repeat 1 delay 0 gt lt transferid gt transfer2 lt transferid gt lt transfer gt l
13. ia VARCHAR 612 latency DECIMAL 10 2 teppacketmetrics LONGTEXT Figure 1 MITATE Database ER Diagram 35 Experiment tables contains experiment related information like id user who uploaded experiment the experiment permissions on the experiment which is either public or private and cellular data wifi data used by the experiment contains transactions related information like transactionid user transactions who uploaded the transaction and the number of times transaction to be executed and is actually executed contains transfer related information like transferid transfer specifications like sourceip destinationip portnumber number of transfer bytes of data to be transferred packetdelay between successive packets content if explicit content to be sent and the number of packets contains criteria related information like criteriaid specification of criteria criteria containing the start time endtime network type battery power signal strength and the device that can execute the transfer Link tables Miscellaneous trans criteria links the transactions and criteria tables link trans transfer links the transactions and transfer table and also it depicts the order link in which transfers are executed in a particular transaction Metric tables metric contains all the metric names there are currently 23 different metrics collected metricdata contains the values corresponding to each metri
14. id refer to number of times transfer repeated delay Attribute of transferid refers to delay after which this transfer is executed refers to an optional field 2 2 Defining a Transfer lt transfer gt lt id gt transfer1 lt id gt lt sourceip gt client lt sourceip gt lt destinationip gt 1 2 3 4 lt destinationip gt lt type gt 2 lt type gt lt portnumber gt 5060 lt portnumber gt lt response gt lt response gt lt packetdelay gt lt packetdelay gt lt bytes gt lt explicit gt 1 lt explicit gt lt contentid gt content1 lt contentid gt lt noofbytes gt lt noofbytes gt lt bytes gt lt noofpackets gt 1 lt noofpackets gt lt transfer gt where id Unique identifier for a transfer within an experiment sourceip Source ip address of the flow If source is device then client else a server ip address like xxx xxx xxx xxx destinationip Destination ip address of the flow If destination is device then client else a server ip address like xxx xxx xxx xxx type Type of transport protocol 1 for UDP or 2 for TCP portnumber Port number at source and destination response gt Response if any expected from destination 0 No Response 1 Response expected packetdelay Expected delay in milliseconds between two successive packets bytes Data that needs to be transferred as described in contentid or noofbytes tag explicit Content if explicitly defined
15. iteria To define criteria when transaction need to be executed id Unique id for the defined criteria within an experiment latitude Latitude of the reference location longitude Longitude of the reference location radius Maximum distance in Km from the reference location networktype Type of the network Wi Fi or Cellular starttime Time after which transfer can be started HH24MMSS endtime Time before which transfer can be started HH24MMSS deviceid Unique identifier of the device on which transaction is executed client for any device matching criteria or a device id minimumbatterypower Minimum battery power required on the device minimumsignalstregnth Minimum signal strength required on the device networkcarrier Cellular Service Provider devicemodelname Device model name refers to an optional field 10 3 MITATE Command Line API This section will elaborate various functionalities of the command line API required to interact with MITATE s database servers This API will help you uploading deleting querying data for experiments from the database server With respect to cellular and Wi Fi credit this API will help you retrieve the cost of experiments your available credit An overview of the basic API functionality is as follows login Logs in the user init Setup local MySQL instance validate Validate configuration file getExpCost Get experiment cost checkAvailableCredits
16. of limited data plan and battery resources Striking a balance between a flexible application prototyping environment and the safe execution of foreign code has been a difficult problem even in the more permissive wired environment Second because mobile battery and data plan resources are limited testbed participants need adequate incentives to share them Difficulty in enlisting mobile users has limited measurement studies to small samples high cost of testbeds based on dedicated hardware and collection of only high level network performance metrics MITATE is a Mobile Internet Testbed for Application Traffic Experimentation made possible by novel solutions to the problems of security and mobile resource sharing MITATE is unique in that it allows programmable application traffic experiments between mobile hosts and backend server infrastructure MITATE provides strong client security by separating application code execution from traffic generation MITATE also provides incentives and protections for mobile resource sharing through tit for tat mechanisms MITATE s specialized traffic experiments can help developers answer questions crucial to mobile application design such as What is the largest game state update message that can be reliably delivered under 100 ms Does my application traffic need to contend with traffic shaping mechanisms or Which CDN provides fastest downloads through a particular mobile service provider s network peering
17. or use default content 0 Use default content 1 Use explicit content contentid Id of the explicit content that needs to transferred noofbytes Number of bytes of random content to be transferred noofpackets Number of packets to be sent Note Size of a packet noofbytes noofpackets 2 3 Defining Explicit Content lt content gt lt contentid gt content1 lt contentid gt lt protocol gt Skype lt protocol gt lt data gt 1 CDATA 0x0100be07de55 data lt contenttype gt HEX lt contenttype gt lt content gt where content To define an explicit content contentid Unique identifier for the defined explicit content protocol Name of the content as a user label only data Actual content either in ASCII HEX contenttype Type of the content defined ASCII or HEX 2 4 Defining a Criteria lt criteria gt lt id gt criterial lt id gt lt latitude gt 45 66962856799364 lt latitude gt lt longitude gt 111 06049848720431 lt longitude gt radius 5000 radius networktype cellular networktype starttime 143001 starttime endtime 205959 endtime lt deviceid gt client lt deviceid gt lt minimumbatterypower gt lt minimumbatterypower gt lt minimumsignalstrength gt 1000 lt minimumsignalstrength gt lt networkcarrier gt Verizon Wireless lt networkcarrier gt lt devicemodelname gt Galaxy Nexus lt devicemodelname gt lt criteria gt where cr
18. r the above command is issued the scripts required to set up a local MySQL instance with MITATE data will be stored in output_file The SQL commands saved in output_file can then executed using MySQL Query Engine or any other SQL compatible database front end For example for a database schema m_schema and user m_user and output file of the init command localdb sql a user can create a local instance of MITATE database using mysql u m_user p m_schema lt localdb sql 14 3 4 Validate XML Configuration File This command allows users to compare their Configuration file in the form of XML against the MITATE XML Schema Definition file as required before uploading experiments Although the upload command will validate the input XML file before uploading the experiment the validate command will help users to validate their XML file without actually issuing an upload experiment request The following is the syntax to validate an XML file mitate sh validate lt XML_Filename gt The return of the command is either a confirmation of the experiment being validated or an error describing how the experiment XML does not comply with the MITATE experiment definition schema 15 3 5 Get Experiment Cost This command allows users to check the total amount of Cellular data credit and Wi Fi data credit required by an experiment mitate sh getExpCost lt XML_Filename gt The result of this command will be the total cellular and Wi Fi dat
19. rows an error if it finds an experiment ID in the user_exeriment_list txt file that is not owned by the user requesting its data or the user does not have permissions to access its data or the experiment no longer exists in the database 2 Data Retrieved Successfully For all those experiments for which there were no errors the data is appended in the output file in form of SQL Insert Statements that can be used to insert data into user s local MySQL instance 21 3 11 Delete an Uploaded Experiment To delete an uploaded experiment you will need to execute the following command from your terminal mitate sh delete lt experiment_ID gt This command requires two command line parameters delete operation and experiment ID Once the above command is executed the user will asked to give a confirmation to issue a delete experiment request If the user responded with y as in yes there can be two outcomes of issuing the command which are as follows 1 Invalid Experiment ID The API will throw an invalid experiment ID error if either the experiment ID does not belong to the user requesting its deletion or has already been deleted before by the user who uploaded that experiment 2 Experiment Deleted Successfully If the user requesting the deletion of an experiment ID is the owner of that experiment and the experiment still exists the API will delete the experiment and all the data collected associated with that experiment
20. t transfers gt lt criteria gt 33 lt criteriaid gt criterial lt criteriaid gt lt criteria gt lt transaction gt lt transactions gt lt entry gt 34 4 5 Database Schema This section describes the MITATE database schema that is provided to users to query and analyse the data stored in their local MySQL instance 4 criteriaid INT 10 4 transferid INT 10 4 logid INT 5 ue T usemame VARCHAR 20 transactionid INT 20 transactionid INT 10 in O transferid INT 10 orderno INT 2 deviceid VARCHAR 10 Q logmessage MEDIUMTEXT O transferfinished VARCHAR 50 4 transferid INT 10 experiment id INT 10 sourceip VARCHAR 100 usemame VARCHAR 20 9 destinationip VARCHAR 100 permission VARCHAR 7 bytes INT 10 cellulardata DECIMAL 10 2 type INT 1 wifidata DECIMAL 10 2 O transferadded VARCHAR 50 o packetdelay INT 10 explicit INT 1 content MEDIUMTEXT noofpackets INT 4 protocoltype VARCHAR 10 portnumber INT 5 contenttype VARCHAR 10 response INT 1 4 transactionid INT 10 usemame VARCHAR 20 count INT 3 original count INT 3 experiment_id INT 13 metricid INT 5 transterid INT 10 transactionid INT 10 value DECIMAL 18 10 f tranctodd INTQI0 O transierfinished VARCHAR SO packetid INT 10 transferid INT 10 deviceld VARCHAR 200 throughput DECIMAL 10 2 udppacketmetrics LONGTEXT Oresponsedat

Download Pdf Manuals

image

Related Search

Related Contents

Open Field Network CC-Link/LT Compatible Product Catalog  Manual Importação da Conquest  StarTech.com 3 ft USB Y Cable for External Hard Drive - Dual USB-A to Micro-B  Abit G740A Computer Hardware User Manual  エンジン取扱説明書 - OS Engines    TS 190320 User Manual  Arquivo 1  TPIP(ティーピップ)ユーザーコミュニティに関する規約  index 1 - Collections  

Copyright © All rights reserved.
Failed to retrieve file