Home
User Guide for End-user Application Toolkit
Contents
1. LI Mac brien laua H Figure 2 8 The Regular Reservation GUI The Advanced Reservation GUI displays a full list of the reservation request parameters that have to be filled in directly by the advanced user see Figure 2 7 The displayed form es sentially presents all the contents of the reservation request message to be sent from the EAT to the ACA D1201 The construction of the Web page therefore directly depends on the AQUILA implementation e g the specific parameters of the Traffic Spec The user has to fill in the following info e Application identifiers the application identifiers are not used internally by the EAT so they have only meaning for the user They are used at the Release GUI to inform the user about the active reservations that can be released The application identifiers are Page 22 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit o Application Name The indicative name of the application The user can choose whatever name for the reservation even this does not correspond to the real one o Service Component The user has to select one of the choices in the provided list box This parameter is used to identify different components within the same ap plication again for illustration purposes only Network Service This part of the page is constructed dynamically according to the serv ice offered by the net
2. LLL SessionCharacteristicSpecification CodecTrafficSpecification SessionCharacteristic 1 1 Le 4 QoSRequirementSpecification SessionCharacteristicParameter 0 1 QoSRequest AQUILANS AQUILATrafficSpecification Figure 2 13 Analysis UML class diagram of the application at application and network level The produced complex traffic flows do not depend on general application types but on the concrete implementation issues and strategies The implementation of the codecs used is rele vant for the description of the traffic produced Table 2 2 depicts parameters at different levels like traffic type connection rate living time bit rate micro flows and packet size that can vary from stream traffic to elastic traffic or from bursty traffic to constant traffic and describe traffic flows Factor Alternative 1 Alternative 2 Traffic type Stream time integrity preservation Elastic loose time requirements Burstiness Bursty constant Connection rate High rate Low rate Living time Long Short Bit rate Constant bit rate Variable bit rate Microflows Multiple Single Packet size large small Table 2 2 Traffic descriptor and possible values To be competitive and usable codecs have to cope with the actual best effort network and re spect as much as they can the QoS requirements like delay latency control bandwidth Page 32 of 85 SL IST 1999
3. User Guide for End user Application Toolkit After successful authentication the user can perform all the other operations offered by the EAT Moreover in order to forbid the direct loading of a GUI page without the user to be authenticated the EAT always checks whether the user is logged in or not In case the user has not logged in the portal notifies the user and proposes to load the login page If the authentication fails the portal loads a similar page with the Login and Password fields notifying the user that the authentication has failed The login page is the first page to be displayed when a user connects to the AQUILA Portal and is shown in i Pm mee 33 Jra hye en IDE TRE cT 1 1 re eae Welcome to the ACGTTLA Portal UILA ease lege en Lige Figure 2 5 The Login GUI 2 3 2 Advanced and Regular Reservation Requests It was mentioned before that the portal supports both regular users as well as advanced ones by providing the reservation GUI in two modes a regular one and an advanced one These modes are discussed below 2 3 2 1 Regular Reservation GUI The Regular Reservation mode facilitates the placement of a reservation request by exploiting the existence of some technical developments within the EAT that are the Application Pro Page 19 of 85 IST 1999 10077 WP2 2 TUD 2203
4. dealers Arpiar Here LL ati iragan 590 Sarara A Pema Ub enar Biden 0 tirnar gin C rim ares Level Sparificaiiun Paina Pare iiey Pot te Mam T amm Fire fiers hoidis Dei Eciam n hu Herida pam aal o Miker STF fF o 2 o ET amp periby a Mury Hanger uz Specific Pasi E arg tai let bed EEG Wacker ira O eee eed eee ERR letter Figure 2 7 The Advanced Reservation GUI zi 2 3 2 2 Advanced Reservation GUI Gate pame pe Reservation pple aiam Maer fidem cil pplication Type MULTA Appin seen Corpor Auc heat ey Pha chan r Dmm Verso Een Caprera We ITUR kias irii Harani are eed ina Pura all 2 reium V gon d Remeron Faranempr Tea imi P er ee 118 Twang H8 diderie 0 Xerairs E du wel Teed Toran
5. Legacy Applications D1201 that are in fact QoS unaware and that cannot be modified in order to directly access the EAT or any other QoS infrastructure The most of existing Internet applications are legacy ones The EAT prototype for the first trial already sup ported a set of them QoS aware Applications D1201 that can themselves request for QoS by using an API for example EAT based Applications use the EAT API or by using signalling protocols such as RSVP and SIP Internet applications however have also to be distinguished with regard to their complexity In AQUILA we make a distinction between Basic Internet Applications and Complex Internet Services D1202 They have to be supported in different ways Whereas Basic Internet Ap plications are often legacy ones which cannot directly use the EAT Complex Internet Services can be QoS aware or even EAT based although they consist of basic applications It is one of the aims of the second trial to demonstrate this feature as it is described in this document Generally the EAT provides at the control plane a set of application interfaces in order to support the wide range of different applications Figure 2 1 Legacy applications do not interact with the EAT QoS reservations must therefore be made manually see below For some specific legacy applications that dynamically negotiate data port numbers a spe cial Proxy Protocol Gateway e g for H 323 detects the for
6. Mediazine expert Mediazine novice On the inquiry on the connection addi tional details 28 8 kBit modem 10 MBit LAN can be asked for in order to generate a better profile for the QoS support Settings O Mediazine novice Mediazine expert Connection nre s Gs Suppor Mobile Modem ISDN Bronze DSL Cable LAN s 2 MBit 27 21727 LAN 2 MBIT 2 2010 Details Figure 3 2 Settings connection expert It is recommended to detect the kind of con nection automatically Should it not be pos sible it is advisable to use general descrip tive terms like e g slow connection modem ISDN medium fast connection DSL cable mo dem fast connection LAN AQUILA Mediazine Settings Mediazine novice O Mediazine expert Connection e 205 Suppor Bronze medium Silver fast Use slow if you have a mobile modem or ISDN Sred connection etais Figure 3 3 Settings connection novice Table 3 1 Mediazine connection settings b Ask about the QoS category Mediazine expert Mediazine novice The user has the possibility to adjust the QoS support settings based on the present profiles of the various Basic Internet Appli cations or to use the standard user settings see right side Depending on the connection different lev els of QoS support should be available for example QoS support on off Bronze on off by
7. The feedback on the status of the connection for the selected QoS category should be deliv ered by the necessary measurement tools However as this part is not a feature of the EAT the application itself has to care of it Page 53 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 4 Configuration Guide for EAT The configuration of the EAT is based on XML files which are stored in a central LDAP data base Due to the fact that the EAT and the application Proxies run in different processes there are two kinds of settings to be taken 4 1 EAT Settings The EAT Settings are mainly for the configuration of the Application Profiles the EAT refers The Application Profiles themselves however are separately stored within the LDAP data base The EAT configuration file just contains the path to the profiles as well as a list of their unique names see Appendix eat dresden xml as an example The following scenario gives a guideline on how to store an Application Profile within the database and how to configure it for the EAT 1 Write a new XML file ie the Application Profile for a new application e g NetMeeting xml Make sure that it is based on the grammar which is specified in ApplicationProfile dtd see Appendix 2 Store this new profile within the LDAP database java cp aquila classes gt lt jaxb rt 1 0 ea jar gt aquila uil main StoreXml cn NetMeeting cn ap
8. PCDATA gt lt P oes 2 value unspecified yes no lt ELEMENT description PCDATA gt lt ELEMENT ApplicationProfile CodecImplementation protocol lt ATTLIST ApplicationProfile name CDATA REQUIRED version CDATA REQUIRED build CDATA IMPLIED type VoIP MULTIMEDIA STREAMINGVIDEO STREAMINGAUDIO GAME OTHER REQUIRED scope unidirectional bidirectional p2p xdirectional REQUIRED gt Concerning the preparation of the Codec Profiles Some parts are predefined and prepared like session characteristics QoS requirements codecs other have to be manually investi gated and filled in like traffic information carefully 2 5 Proxies Applications especially multimedia ones usually open data connections with the use of con nection setup protocols Example protocols are the Session Initiation Protocol SIP SIP and the H 323 protocol suite H 323 for the establishment of IP telephony calls For the Multi Field MF classification and marking of those user flows at the edge router the source and destination IP addresses and TCP UDP port numbers of the connection are required However the port numbers are always not well known and are usually negotiated during the call setup 2 5 1 Use of the Proxies The main goal of the Proxies or Protocol Gateways is to interfere in the connection setup
9. Project Number Project Title Deliverable Type Deliverable Number Contractual Date of Delivery to the CEC Actual Date of Delivery to the CEC Title of Deliverable Workpackage contributing to the Deliverable Nature of the Deliverable Editor Author s Abstract Keyword List IST 1999 10077 Su Adaptive Resource Control for QoS Using IP based Layered Architecture PU public IST 1999 10077 WP2 2 TUD 2203 PU R b0 December 31 2001 December 21 2001 User Guide for End user Application Toolkit WP 2 2 R Report Falk F nfst ck TUD Andreas K nig BAG Sotiris Maniatis Haris Tsetsekas NTU John Karadimas QSY Falk F nfst ck Anne Thomas TUD This deliverable D2203 reports on the application and user interfaces which the EAT provides for the second AQUILA trial These are the QoS API the QoS GUI Portal the Application Profiles and the Application Level Gateways The deliverable describes in detail their functionality and shows usage scenarios AQUILA IST User Guide Developer Guide Appli cation Interfaces QoS API User Interfaces GUI QoS Portal Application Profiles Legacy Applica tions Basic Internet Applications Application Level Gateways Complex Internet Services IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Executive Summary This deliverable describes the interfaces of the End
10. lt Profile gt WinSip xml lt Profile gt lt ApplicationProfiles gt lt EATSettings gt ProxySettings xml lt ELEMENT ProxySettings ProxyID FullName ControlPort gt lt ATTLIST ProxySettings EATName CDATA REQUIRED gt lt ELEMENT ProxyID PCDATA gt lt ELEMENT FullName PCDATA gt lt ELEMENT ControlPort PCDATA gt Page 84 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Example sip_dresden xml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE ProxySettings SYSTEM ProxySettings dtd gt lt ProxySettings EATName eat_dresden gt lt ProxyID gt 1 lt ProxyID gt lt FullName gt SIP Proxy lt FullName gt lt ControlPort gt 5004 lt ControlPort gt lt ProxySettings gt Page 85 of 85
11. By offering all these different interfaces towards various legacy and new applications serv ices as well as real end users the EAT aims to be a powerful and flexible QoS portal towards the Resource Control Layer For legacy applications this has already been proved in the first trial The second trial moreover will show how the EAT can be applied by QoS offering Complex Internet Services for example The deliverable is structured as follows After the description of the overall approach useful for getting familiar with the EAT the fol lowing chapter 2 describes the several above mentioned application interfaces in more detail The reader may select only one chapter he she is interested in Note that the chapters focus mainly on the functionality the interfaces offer More impressive scenarios on how to use them are given in chapter 3 which is split into two parts one for the usage of Basic Internet Applications and the other showing how Complex Internet Services can benefit from QoS After that a short installation and configuration guide of the EAT is given in chapter 4 The document ends with an Appendix containing detailed interface specifications examples etc Page 7 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 2 Application Interfaces 2 1 Approach The End user Application Toolkit for the second trial supports two major kinds of Internet applications
12. In the case of an proxy initiated request it is 1 The EAT Manager then returns the newly created session id param sessionInfo The identified session information for this Session param isBirectional Indicates whether a reservation has to be requested for both directions or not return Is true if the reservation has been successfully established boolean establishQoS inout long sessionId in Session sessionInfo in boolean isBidirectional raises ManagerException void releaseQoS in long sessionId raises ManagerException endif eatManager_idl During startup the Proxy should register with the Proxy Manager provide a reference to itself as well as its description to the PM using the registerProxy call 2 6 EAT Script The following chapter contains a short description of the EAT Script useful for a batch processing of automatic logins reservation requests reservation releases and logouts A Page 38 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit command line tool has been realised that is able to parse the script and to perform the related actions at the EAT The aim of such a mechanism is to support automatic test scenarios Also the measurement people may use it for their purposes 2 6 1 Script Specification XML is used for the specification of the script due to the following reasons
13. e Specification at application level in term of a DTD of o End user oriented information session characteristics QoS requirements e Specification of legacy application at network level in term of a DTD of Network and technical oriented information technical characteristics Page 29 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit o Codecs e Concrete legacy application information in term of XML files Predefinition of session characteristics sets in order to keep the offer at end user level consistent Each application component is only described once Predefinition of QoS requirement sets All applications of a same type have the same QoS requirements Technical characteristic sets 2 4 2 Specification of Application Profiles at Application Level At application level it is possible to find common descriptors that can be specified Concrete applications for example NetMeeting from Microsoft at high level can be assigned to an ap plication type for example video conferencing tool As suggested by the accountability knowledge level pattern it is possible for the description of applications to differentiate be tween a knowledge level the specification level and an operational level concrete applica tion An application type itself can be as well described at high level by so called service com ponent types for example video voice data etc
14. respectively These reservation groups may correspond to the same meeting among three participants and that s why these groups have been grouped into the NetMeeting Group Moreover the group Download contains two reservations one for Music download and one for a Video download Finally there are two reservation units with the name VoIP and FTP The VoIP unit could be a bundle of two bi directional reservations In the left panel also the NetMeeting and Download groups exist because they can be joined in another group NetMeeting and NetMeeting are already part of a group and therefore they cannot be associated with some other group That s why they are not listed in the left panel Page 25 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Active Reservations J VoIP pe Create NetMeeting ari Group name J NetMeeting Audio a Download Video a Delete NetMeeting B Audio b Release Video b ns Download Music J Video Figure 2 9 The Active Reservations GUI The operations that can be performed having this instance of the Active Reservations GUI in mind are the following Select the VoIP or FTP reservation unit and Join it to any of the four groups Select the D
15. 1 3 ORB In order to get access to it you have to do the following first 1 If available read the property file e g aquila rc including the basic ORB parameters ORBInitialHost and ORBlInitialPort Otherwise these parameters are required at the command prompt when your start your client 2 Initialise the ORB with these parameters 3 Narrow the naming service called NameService and get the reference to it 4 Create the initial name context aquila rcl and retrieve the reference to it 5 Get the name of the EAT from command line 6 Narrow the following singleton objects and get references to them Login ServiceDistributor ApplicationManager B How to use the API After getting the reference to the Login object a typical scenario is the following Step Operation 1 Login iogin loginClient la Get the reference to your QoSSession Login getQSRequestMeansSessionId Request agent either directly or via 2 Retrieve information on the existing ServiceDistributor getNetworkServices network services Page 16 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 4a 4b Ac 10a 10b 10a on the installed Proxies and on the available apps Get the SLAs Request in the advanced reservation mode for a single reservation unit fora multiple reservation unit or for a reser
16. 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit minimisation of application types Therefore they implement different mechanisms For ex ample for bandwidth minimisation Codecs a solution in employing a variable bit rate transmission corresponding to a non constant representation of the data in the case of voice this can be silence suppression or optimisation of the compression bit stream These solu tions are an obstacle when it comes to describe or specify the out coming traffic The Application Profiles concentrate in a first step on non adaptive codecs The Application Profiles refer to codec Profiles mainly because many different applications implement the same codecs 2 4 4 Utilisation The Application Profiles are specified with DTDs XML schemas see Appendix In a first step the developer creating the Application Profile has to collect the information concerning the application itself namely name version build type and scope In a second step he she has to collect the information concerning the implementation namely the codecs involved the transport protocol and the other protocols If the codecs involved are not already analysed we recommend doing so and creating a profile Concerning the implemented protocols the de veloper has to find out information concerning the port used upper port number lower port number control port etc The developer has to provide the info
17. EAT like a single one Reservation units cannot be separated after creation and they can be deleted all at once As an example consider an IP telephony VoIP application Usually for such applications a bi directional reservation has to be established both from the source to the destination and back from the destination to the source These two reservations will form a single reservation unit Reservation Groups refer to multiple reservations that are logically gathered under one group Groups are structures that give the possibility to the user to treat a set of reservations together The difference from the reservations units is that in the groups the individual reservations can be de associated from the group or released one by one Considering a multimedia application with one audio and one video session the reservation group concept provides the user with the capability to treat these reservations as one logical entity This facilitates the reservation and release of the grouped reservations in one movement and adds user friendliness to the approach it is easier than having to reserve and release each one separately However it also provides the possibility to perform for example the release in one movement Page 42 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 3 1 1 User initiated Approach The user can take advantage of the EAT capabilities through the use of the AQUILA P
18. Each service component type has common QoS requirements toward the network function of throughput delay jitter loss and error that can be specified In the same way a service component has common user friendly descriptions the session characteristics Page 30 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Fd Accountability N knowledge 3 gt level 2 i Accountability type eS eed iP arty Party 0 1 7 type ServiceComponent ServiceComponentType O71 1 1Q 1Q qu qu QoSRequirement QoSRequirementSpecification SessionCharacteristic 1 SessionCharacteristicSpecification Operational Knowledge level level Figure 2 12 Application analysis diagram and the accountability knowledge level pattern 2 4 3 Specification of Application Profiles at Network Level The description and specification of application features is at network level not a trivial task and cannot be systematically achieved The following UML diagram opposes the systematic description of application in white to the unsystematic in grey one Page 31 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit produces 1 mE Application 0 1 4 ApplicationType 0 implements v Usi ServiceComponentType QU QoSRequirement 0
19. Object Request Broker see CORBA Peak Rate Quality of Service Resource Control Layer Resource Reservation Protocol Session Description Protocol Session Initiation Protocol Service Level Agreement Service Level Specification Sustainable Rate Transmission Control Protocol Page 57 of 85 p IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit U UDP User Datagram Protocol UML Unified Modelling Language URL Uniform Resource Locator V VBR Variable Bit Rate VoIP Voice over IP X XML eXtensible Markup Language Page 58 of 85 p IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 6 References D1201 D1202 D2201 D2202 Codecs H 323 Harold98 JAXP Jelliffe98 SIP XML IST 1999 10077 WP1 2 SAG 1201 PU O b0 System architecture and specifi cation for the first trial IST 1999 10077 WP1 2 SAG 1202 PU O b1 System architecture and specifi cation for the second trial IST 1999 10077 WP2 2 TUD 2201 RE O bO Specification of End user Ap plication Toolkit IST 1999 10077 WP2 2 TUD 2202 PU O b0 Description of user applications for the first trial PacketCable Audio Video Codecs Specifications PKT SP CODEC I02 010620 Cable Television Laboratories Inc 2001 International Telecommunication Union Visual telephone systems and equipment for local area networks which provide a non guaranteed qu
20. PU R b0 User Guide for End user Application Toolkit Complex Internet Service Basic Internet Gul Applications QoS e A EAT Manager Protocol Gateways RCL Figure 2 11 Example of the architecture in the complex Internet service scenario showing the combination of non QoS aware Basic Internet Applications and Application Profiles The Application Profiles provide the whole necessary data about legacy application for these mechanisms to work properly The aim of the Application Profile is to specify as much as possible an application at network application and end user level An Application Profile should provide a universal description of applications at these three levels independently from network operations An Application Profile should provide a general description of the QoS request toward a network at applica tion level how does the produced traffic looks like traffic specification how are the QoS requirements QoS Specification what can an end user sets up that have an implication on the QoS request Session characteristic specification NS Specification The converter is able to convert a neutral application QoS request based on the profile into a proprietary AQUILA for example QoS request The EAT provides a neutral QoS API for Internet services or future application developers based on the Application Profiles Application Profiles provide
21. Technical UserFriendly UserFriendly gt lt ELEMENT description PCDATA gt lt ELEMENT TrafficSpecification typet duration adaptivity burstiness packetSize bitRate flow gt lt type type of the traffic duration living time of the traffic adaptivity adaptivity of the traffic to the capacity of the connection application level QoS adaptation burstiness burstiness of the traffic packetSize size ofthe packet bitRate bit rate flow greediness of the flow gt lt ELEMENT type EMPTY gt lt ATTLIST type type unspecified realTime nonRealTime stream elastic unspecified gt lt ELEMENT duration EMPTY gt lt ATTLIST duration value unspecified shortLiving longLiving unspecified gt lt ELEMENT adaptivity EMPTY gt lt ATTLIST adaptivity value unspecified yes no unspecified gt lt ELEMENT burstiness EMPTY gt lt ATTLIST burstiness value unspecified yes no unspecified gt lt ELEMENT packetSiz averagePacketSize maximumPacketSize minimumPolicedUnit gt Page 76 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt ATTLIST pa
22. XML isa well established flexible easy to understand language for structuring data and documents XML Harold98 Jelliffe98 e There are some free tools existing for the creation and modification of XML files XML and Web Services DE XML Notepad http msdn microsoft com xml notepad intro asp Visual XML o xmloperator See also e Java APIs exist for the parsing of XML documents e g JAXP e The Application Profiles are also based on XML 2 6 1 1 Document Type Definition The DTD EATScript dtd see Appendix specifies the permissible elements and their struc ture within each EAT script It has to be installed in the same directory as the XML scripts themselves It is not useful to modify it but only to use it for syntax and semantic checks The root element is called EATScript The script can optionally start with an Import ele ment in order to import identifiers LoginName Request Id of previous scripts But gen erally the EATScript consists of Login Request Release and Logout elements Their order and the number is free in terms of the syntax However it makes no sense to release a reservation before requesting it Note also that a logout also releases all reservations of the belonging user A Login requires two attributes an identifier LoginName and a Password Request and Logout elements have to refer to the above LoginName A Request requires its own identifier Request 1d t
23. an AQUILA reservation re quest necessary information from the application s data flow D2201 For applications that rely on signalling protocols Protocol Gateways Proxies are pro vided that interpret protocol messages and map them to AQUILA reservation requests For the second trial a SIP Proxy will be realised However the Proxy Framework is flexible and extensible in order to include additional Proxies e g for RSVP later on More de tails can be found in chapter 5 For EAT based applications a special Application Programming Interface API provides interfaces and methods for login reservation requests and releases etc This proprietary API is accessible via CORBA and provides the full AQUILA functionality More details can be found in chapter 2 Page 8 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Applications Data plane RSVP SIP Legacy EAT based 4 Edge Application Application Application Application Router Control 4 plane Base Legacy App e g H 323 Proxy Figure 2 1 The different application interfaces of the EAT Due to the fact that the EAT is fully transparent for legacy applications even if they are sup ported by a Proxy QoS reservations must be performed in a different way For that reason the EAT provides a set of graphical user interfaces in form of Web pages in which an end user can
24. groups QoSSessionUnitSeq getQoSSessionUnits Retrives the list of all former and actual reservations of this user return Sequence of ReservationData incl reservation parameters and accounting data atPersistence ReservationDataSeq retrieveReservationHistory Closes explicitely a client session without logout removes the client session id from the list param clientSessionId Web servers session id included in the URL void close in string clientSessionId raises APIException Logs the end user out releases all reservations g Page 66 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit void logout raises APIException QoS Session SessionStatus indicates whether a requested and by the EAT accepted reservation is still provisional waiting for Proxy response or already accepted by the ACA and therefore activ Rejected reservations are immediately released and the client is informed enum SessionStatus Provisional Waiting for the answer from the Proxy Active Requested and admitted by the ACA Enabled Enabled at the edge router A QoSSession can be session group or unit interface QoSSession The unique session id of this session group or unit readonly
25. have to be treated as a Reservation Unit In the Advanced Reservation mode the scenario is somehow different because the user is not able to specify all reservations at once but one at a time So reservations created in the Ad vanced Reservation mode are always submitted as individual reservations units The user can however later create a new group and join any of those reservations into it The Advanced Reservation GUI contains however a bi directional reservation check box which has the same usage and effect as that of the Regular Reservation GUI The Active Reservations GUI will display in two panels the active reservation units and groups The user is able to select a reservation unit or group from the left panel and join it to a selected group selected in the right panel by pressing the Join button Furthermore the user can select a group and release or delete it by pressing the Delete button Finally the user can press the Create button to create a new group In this case the user has to enter a name for the group in the Group Name edit box As an example an instance of the Active Reservation GUI could be that of We can see that the user has created two groups with names NetMeeting A and NetMeeting which have been grouped under the NetMeeting Group NetMeeting A and NetMeeting B each has two reservations Audio a and Video a Audio b and Video b
26. he she has to re login The concept of logging out without releasing the active reservations can be understood in the following scenarios Suppose that the reservation is placed from a third person an adminis trator on behalf of the actual users for a videoconference The third person after making the reservation can logout from the portal but still enable the participants to continue with the QoS provisioned session Another scenario is when a user has made a reservation for a big file download If the user wants to leave the PC for a while during the download he she can log out without releasing to make sure that no other user will release accidentally or not the res ervation 2 3 5 Navigation Appearance Although the design and development of the portal focus on the functionality and its correct operation we also followed some basic rules that contribute to the navigability and appear ance of the portal Navigation is supported by the existence of two frames one for the menu and the other for the actual GUIs The upper frame contains the main menu from which the user can navigate through the various GUIs which open in the lower frame For example the main menu and the Regular Reservation GUI are as shown in Page 27 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Aquila QoS Portal Microsoft Internet Explorer Oy x Datei Bearbeiten Ansicht Favoriten Extra
27. low bandwidth Page 47 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Bronze Silver on off by medium width Bronze Silver Gold bandwidth on off by high Depending on the selected category the QoS settings should be adjusted with the help of the Basic Internet Applications pro files AQUILA Mediazine AQUILA Mediazine Settings Settings Mediazine novice Mediazine novice O Mediazine expert Mediazine expert Connection slow QoS Support Off Connection DSL Cable LAN 2 MBit QoS Support Off O Bronze sae SET DANS A Bronze Time critical services with a smal amount of transferred data e g action games services with speech input and output e g Internet telephony and audio streaming services e g Internet radio will be supported No video support Silver Time critical services with a small amount of transferred data e g action games services with speech input and output e g Internet telephony audio streaming services e g Internet radio and video live streaming services with a small or medium size of the pictures e g Internet by a resolution of 320x240 pixels will be supported Figure 3 5 Settings QoS category novice Figure 3 4 Settings QoS category expert Table 3 2 Mediazine QoS category settings The relationship between the Complex I
28. manually request for QoS reservations Figure 2 2 Moreover the so called AQUILA Portal offers among other things two different reservation modes an advanced one for end users that have knowledge about the technical details of an AQUILA request and a regular one for end users that are not familiar with AQUILA More details can be found in the chapter 2 3 In order to support the regular reservation mode an additional application interface is pro vided the so called Application Profile methodology D2202 Application Profiles contain reservation schemes with technical parameters mapped to well understandable QoS meta phors More details can be found in the chapter 2 4 Note that the regular reservation mode is not necessarily part of the AQUILA Portal In fact Application Profiles are usable via the EAT API and can therefore be called by every Com plex Internet Service that wants to make use of the AQUILA s QoS capabilities In that way such an Internet service may offer its own regular reservation mode by showing the QoS metaphors from the proper Application Profiles of its basic applications plug ins Page 9 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 3 User Guide for End user Application Toolkit Applications Data plane RSVP SIP Legacy EAT based Edge Application Application Application Application 1 Router qa Control plane aa Base Proxy Legacy App e g H 323 EA
29. network services and which ones are included in the current SLA interface ServiceDistributor const string SERVER_NAME ServiceDistributor const string SERVER KIND EAT service distributor object Gets all available network services return Sequence of NetworkService objects NetworkServiceSeq getNetworkServices dif api SampleClient java Title AQUILA RCL EAT p Description Sample API Client lt p gt Copyright Copyright c Falk Ftinfsttick lt p gt Company TUD lt p gt author Falk F nfst ck version 140 package aquila rcl eat gui imp ort aquila rcl aca Page 70 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit impor impor impor impor impor impor impor impor impor impor impor impor impor impor impor impor impor impor GF FE ET ptt GF Gt CF GT EE Fr EE ee Ft aquila rcl eat api aquila rcl eat api QoSSessionRequestPackage aquila rcl service aquila rcl subscriber LoginInfo aquila rcl tc TrafficSpec java io File java io FileInputStream java io IOException org omg CORBA ORB org omg CORBA SystemException org omg CORBA UserException org omg CosNaming NameComponent org omg CosNaming NamingContext org omg CosNaming NamingContextHelper org omg Cos
30. of the interface type QoSSessionUnit containing one single reservation session element e g for a unidirec tional reservation Otherwise an APIException is raised The advancedMultipleRequest operation Instead of requesting a single unidirec tional reservation a multiple e g a bi directional reservation is requested The request parameters can only differ from the requested services and the service level specifications An inseparable QoSSessionUnit is created and returned containing as many single elements as requested e g two for a bi directional reservation The advancedGroupRequest operation for different reservation requests within a group for example for several service components per application or for several applica tions per Complex Internet Service A QoSSessionGroup is created and returned The group may get its own group name Page 12 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit e The prepareSessionCharacteristicsOptions requests for the available options for a reservation in the regular mode in order to present them to the end user The only pa rameter indicates which Application Profile is to be used for that see interface ApplicationManager e The regularRequest operation with again two parameters one of the type RegularSpec including for example the Application Profile one service component and the chosen QoS option and
31. one for the requester QoSSessionUnit is created and re turned The regularMultipleRequest operation like above but for multiple reservations see advancedMultipleRequest The single reservation elements can only differ from the flow specs and scopes for example regarding the source and destination ad dresses e The regularGroupRequest operation for multiple groups for example for the dif ferent service components of one application e The createEmptyGroup operation to establish an empty QoSSessionGroup op tionally with a meaningful name e The getActiveQoSSessions operation to return all active sessions groups and units of this client end user e The getQoSSessionUnits operation to get all active session units of this client user in a uni dimensional array e The retrieveReservationHistory operation to have a full list of all accepted former and actual reservations including their parameters and accounting information e The close operation with the client session id as the only parameter in order to de associate a client web session from this object e The logout operation to log off the end user and to release all of his her reservations in contrast to Login close The interface QoSSession will not directly be implemented but is to abstract from its chil dren QoSSessionGroup and QoSSessionUnit and to have a common return type Never theless it provides the following attrib
32. page The user has also to fill in two important sets of information about the application which are the Connection Parameters and the Service Schedule The Connection Parameters refer to the networking parameters of the application such as the IP addresses and ports that are going to be used for the sessions more details in the next section about the Advanced GUI The EAT may know a priori these parameters specified explicitly within the Application Profile or may depend on the use of a Proxy see section 2 5 for details So most probably the user will not have to manually provide these parameters Otherwise the user has to be aware or able to find them out The parameters of the Service Schedule are explained in D1201 and are optional The user after selecting the desired options and filling in the necessary parameters submits the reservation to the EAT The result of the reservation is presented in the user In case of an un successful reservation the EAT notifies the user about the error saying explicitly which is are the false parameter s The GUI also contains some fields and selections that correspond to the Reservation Groups These are described later in the Active Reservations GUI section Page 21 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit demie he Resereation Call Pul Pe ta
33. user Application Toolkit EAT towards the applications and users of the second AQUILA trial The modular End user Application Toolkit will be made available in time to be used in the development of the applications for the second trial As a working document for the develop ment of the end user applications for the second trial this deliverable will provide a detailed guide of how to apply the End user Application Toolkit including a full explanation of the software architecture used for application services Target audience for this deliverable are the developers of end user applications Technical Annex This deliverable therefore focuses on the detailed description of the functionalities offered by the EAT This includes also some scenarios on how to use the functionalities for so called Ba sic Internet Applications as well as for Complex Internet Services One of the outcomes of the first trial is that Basic Internet Applications here also called leg acy applications can be supported by the AQUILA architecture by providing different mechanisms such as Graphical User Interfaces GUIs Application Profiles and Protocol Gateways her also called Application Level Proxies However this support needs the in volvement of human customers end users because legacy applications cannot be modified in order to be QoS aware Consequently this deliverable also includes the explanation of the user interfaces the EAT offers Moreover
34. 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt SessionCharacteristic gt lt TrafficSpecification gt lt type type realTime gt lt type gt duration value longLiving gt lt duration gt lt adaptivity value unspecified gt lt adaptivity gt lt burstiness value no gt lt burstiness gt lt packetSize variability constant qualifier medium gt lt averagePacketSize unit bytes qualifier medium gt lt averagePacketSize gt lt maximumPacketSize unit bytes qualifier medium gt lt maximumPacketSize gt lt minimumPolicedUnit unit bytes qualifier medium gt lt minimumPolicedUnit gt lt packetSize gt lt bitRate variability constant qualifier medium gt lt peakRate unit bit s qualifier medium gt lt peakRate gt lt averageRate unit bit s qualifier medium gt lt averageRate gt lt bitRate gt lt flow value unspecified gt lt flow gt lt TrafficSpecification gt lt AQUILASpecification gt lt serviceID value PCBR gt lt BSP unit bytes gt 2000 lt BSP gt lt BSS unit bytes BSS lt minPU unit bytes gt 78 lt minPU gt maxPS unit bytes maxPS PR unit bit s gt 60000 lt PR gt SR unit 2 bit s SR EAR unit bit s gt 20000 lt EAR gt P x R1 unit bit s gt lt PR1 gt PR2 unit bit s PR2 lt AQUILASpecification gt lt Option gt l
35. AdvancedMultipleSpec requestSpec in QoSRequester requester raises APIException Advanced Group Request For the specification of a group request typedef sequence lt AdvancedMultipleSpec gt AdvancedSpecSeq Advanced request for a group of QoS sessions param groupName The optional name of the new group can be param requestSpecs An array of multiple request specifications iparam requester The requester object that has to be notified when something happens with the reservation Ed Can be null return An new QoSSessionGroup object containing one QoSSessionUnit object for each multiple request QoSSessionGroup advancedGroupRequest in string groupName in AdvancedSpecSeq requestSpecs in QoSRequester requester raises APIException Regular Request Page 63 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Prepares the Regula r App GUI with the options from the profile gets the ids for the session characteristics options to be displayed param application return Profile ID of the associated application profile An array of option ids of the profiles converter OptionIDSeq prepareSessionCharacteristicsOptions OR Ok OX F OX 0X o o o X Xo FF F HF Sox in appProfile Pro rai
36. IXED bit s gt lt ELEME BSP PCDATA gt A LIST BSP Unit CDATA FIXED bytes gt lt ELEME SR PCDATA gt lt ATTLIST SR Unit CDATA FIXED bit s gt lt ELEME BSS PCDATA gt lt ATTLIST BSS Unit CDATA FIXED bytes gt lt ELEME m PCDATA gt lt ATTLIST m Unit CDATA FIXED bytes gt lt ELEME PCDATA gt lt ATTLIS Unit CDATA FIXED bytes gt lt ELEME EAR PCDATA gt A 115 EAR Unit CDATA FIXED bit s gt lt ELEME PRI PCDATA gt lt ATTLIS PR Unit CDATA FIXED bit s gt lt ELEME PR2 PCDATA gt lt ATTLIS PR2 Unit CDATA FIXED bit s gt lt ELEME DateTime PCDATA gt lt ELEME Duration PCDATA gt lt ELEME Idle PCDATA gt lt ELEME Cycles PCDATA gt lt ELEME Release EMPTY gt lt ATTLIST Release RequestId IDREF REQUIRED gt lt ELEMEN EMPTY gt lt A 115 LoginName IDREF REQUIRED gt Example xml lt xml version 1 0 lt DOCTYPE EATScript lt EATScript gt ncoding UTF 8 gt SYSTEM EATScript dtd lt lt Login user wi gt Login LoginName wi Password geheim gt Page 81 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt First request is for PMC gt Request LoginName wi RequestId 2 wi01 RequestS
37. Naming NamingContextPackage AlreadyBound java util Properties javax naming Context javax naming directory DirContext This class provides a very simple sample scenario on how to use the EAT API ay public class SampleClient private static SampleClient sc private ORB orb null private NamingContext nctx null public SampleClient String argv Properties props new Properties System getProperties try String filename filename props getProperty aquila rcl propertyFile aquila rc filename new File filename getAbsolutePath props load new FileInputStream filename catch java io IOException ioex just ignore orb argv props if orb null System err println Could not get the ORB System exit 1 try NamingContext nameService NamingContextHelper narrow orb resolve_initial_references NameService NameComponent ncAQUILA new NameComponent aquila directory NameComponent ncRCL new NameComponent rcl directory NameComponent nameAQUILA try nameService bind new context nameAQUILA ncAQUILA catch AlreadyBound ab NameComponent name ncAQUILA ncRCL try nameService bind_new_context name Page 71 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit cat
38. PU R b0 User Guide for End user Application Toolkit files and the Converter The fundamental point is that the Regular Reservation has the know ledge about specific session characteristics that are comprehensible by a regular user The EAT has defined these technical mechanisms in such a way that an Application Profile can be constructed and stored in the persistence layer of the EAT The stored Application Pro files give a clue to the EAT about which applications are currently available in this mode So the first operation to be performed when the user selects the Regular Reservation GUI is to display the menu of the available applications see Figure 2 6 alti xl fio Gee Cu Coe ub memes 4 Loco 0 patapi 2 wars k a amp Usual Reservation GAME Utimecnire ok MULTIMEDIA Yalp jn ex STREAMIMGVIDEO Seatiystem Corre Dore 1 dme zig DE Figure 2 6 The menu of the available applications After the user has selected the desired application the specific GUI is constructed and dis Eb presenting to the user the available Options for the selected application see 2 The application may consist of more than one component e g a multimedia application usu ally has an audio session a video session and more th
39. Profiles of the services see also chapter 2 4 The correlation between the QoS categories and the Application Profiles will be described in chapter3 2 3 In each category the user encounters the following restrictions depending on the bandwidth of his her connection e Ata low bandwidth only Bronze QoS support can be guaranteed At a medium bandwidth the user can choose the warrantee of the Bronze or Silver cate gory e Ata high bandwidth the user has free choice of all categories Page 45 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit The user should be clearly informed that the higher the category is the higher the costs will be Indeed the costs increase with the growth of offered and guaranteed bandwidth The user will have to bear the additional costs either directly higher fee or indirectly more adver tisement release of personal information etc The nomenclature of the categories was se lected to make them easily recognisable and to help the user to create relations between them and the emerging costs 3 2 2 Recommendations for the Creation of a Set up Menu for the QoS Service The users of Internet services can be divided into two groups according to their knowledge and experience in the use of computers and the Internet A Technically experienced user B Novice Both users correspond to regular user which is described in chapter 2 3 A
40. RAFFIC DESCRIPTOR AND POSSIBLE VALUES ABLE 3 1 MEDIAZINE CONNECTION SETTINGS ABLE 3 2 MEDIAZINE QOS CATEGORY SETTINGS ABLE 3 3 RECOMMENDATIONS FOR MEDIAZINE USERS Page 6 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 1 Introduction This deliverable gives an overview of the application and end user interfaces the EAT offers in the second AQUILA trial The purpose of these interfaces is e To support the developers of new QoS aware applications and services by providing an Application Programming Interface API on the top of the EAT which is a QoS middle ware between applications and the AQUILA network e To support the users of existing QoS unaware legacy applications by providing Graphical User Interfaces GUIs for manual QoS requests in different usage modes Since the most users might be not familiar with AQUILA the flexible approach of predefined Applica tion Profiles is used to allow a mapping between user s QoS understanding and the techni cal details of AQUILA QoS reservation requests e To support some special applications based on dynamic signalling protocols by providing transparent Proxies Gateways which collect important information directly from appli cation s traffic in order to use them for reservation requests e To support also automatic tests and measurements by providing a script interface for the batch processing of QoS requests
41. SSessionUnit getAccountingInformation QoSSessionGroup leaveAll QoSSessionGroup release QoSSession release QoSSession suspend QoSSessionRequest close Page 17 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 10b Or hardly logout with releasing all QoSSessionRequest logout your reservations Table 2 1 Typical scenario for the usage of the EAT API Note that many of the operations above can raise exceptions of the type APIException You have to catch them For more details please see the example in the Appendix of this docu ment 2 3 Graphical User Interfaces The AQUILA Portal Taking into account the classification of the applications supported by the EAT see chapter 2 1 the AQUILA Portal portal provides a set of graphical user interfaces GUI to allow the end users to interact with the EAT in order to ask for QoS reservations on behalf of legacy applications In other words the end user is responsible to manually set up and release reser vations for such an application asynchronously to the application The GUI has the form of Web pages so the only software program the user has to install is one of the standard Web browsers The user has also to be provided with the URL of the por tal s first page which will be something like nttp lt portal host gt AQUILA jsp Navigation among the portal s GUI pages is perfo
42. T the EAT provided API We can think of the following classification of Basic Internet Applications according to their QoS awareness QoS unaware applications Such applications have no means to express their QoS re quirements The user is responsible to set up reservations for such applications in two modes advanced and regular So the support offered by the EAT is user initiated e QoS aware applications Such applications can express their QoS requirements through signalling protocols like SIP and RSVP but they cannot be modified to use the EAT API These applications are supported transparently for the user through the internal EAT mod ules and the use of the concept of User Profiles So the support offered by the EAT is EAT initiated However the user may select by defining the User Profile appropriately to not let the EAT make the reservations transparently So even for such applications the user initiated approach may be used Apart from the QoS awareness the Basic Internet Applications can have single or multiple sessions In the former case the user or the EAT has to make one reservation for the single session of the application while in the latter case the user or the EAT may perform more than one reservation one for each session The EAT therefore introduces the concept of the reser vation units and reservation groups Reservation Units refer to single reservations or even multiple reservations that are treated by the
43. T API Proxy RSVP SIP Proxy Proxy EAT AQUILA Portal Advanced Reservation Mode Usual Reservation Mode Figure 2 2 Application and user interfaces of the EAT 2 2 EAT API 2 2 1 Description of Functionality The EAT API in general provides as set of CORBA interfaces and supporting data types to wards applications and services in order to allow them the access to the AQUILA s network services and reservations This chapter gives an overview on the available interfaces operations structure types and attributes Moreover instructions are given on how to use them The full interface specifica tion is given in IDL in the Appendix The following first UML class diagram depicts the API model with the most important inter faces and classes that belongs to users and reservations A detailed description follows l For all types and interfaces please see the api idl in the Appendix Page 10 of 85 Sul IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit interface Login loginClientQoSSessionRequest getQSRequestMeansSessionid QoSSessionRequest aquila rcl eat converter SL A aquifa uti event GeneralE vent Factory interface QoS SessionRequest accountName String clientSessionids String interface advancedRequest QoS SessionUnit advanceaMultipleRequest QoSSessionUnit t advancedGroupRequest QoS SessionGr
44. The session id of the reservation return The QoSSession object with the specified id Null if none x QoSSession getSession in long sessionId Adds joins an already established QoSSession to this group param sessionId The session to be added to this group void join in QoSSession session raises APIException Removes a QoSSession object from this group without releasing it param sessionId The session to be removed from this group iA void leave in QoSSession session raises APIException Reamoves all QoSSession objects from this group without releasing them void leaveAll raises APIException The QoSSessionUnit interface belongs to an actual reservation unit in terms of the ACA a reservation bundle While such a unit may consist of more than one reservation element it must be handled as only one multiple reservation for example a bi directional one interface QoSSessionUnit QoSSession 1 readonly attribute short numberOfElements e g 1 for an uni directional reservation 2 for a bidirectional one readonly attribute SessionStatus status Content of the advanced regular request readonly attribute appProfile ProfileID applicationProfile if none readonly attribute string applicationId readonly attribute converter OptionID selection if none readonly attribute str
45. ager idl tion string proxyName string proxyDes long controlP ort typedef sequence lt ProxyDescription gt ProxyDescriptionSeq exception ProxyExce string reason interface Applicati ption onProxy readonly attribute ProxyDescription proxyDescr void registerAp in long in long in string in aca Add in aca Add in boolean raises Pro interface plication sessionId proxyld sCompName ress sourceAddress ress destinationAddress isBidirectional xyException ger ApplicationProxy const string SE RVER_NAME const string SE ProxyManager RVER_KIND Proxy manager object To register an app proxy at the Proxy Manager xf void registerPr oxy in ApplicationProxy appProxy eatManager SessionStarter Page 36 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit To provide the information only for the EAT Manager and the GUIs xf ProxyDescriptionSeq getApplicationProxies endif proxy idl When a new connection is detected the establishQoS function is called notifying the Proxy Manager The Proxy should wait for the outcome of the reservation process success or fail ure that is given by the function return code In the same way a reservation may be released if the Pro
46. ality of service Recommendation H 323 Telecommunication Standardization Sector of ITU Geneva Switzerland May 1996 E H Harold XML Extensible Markup Language IDG Books 1998 Java API for XML Parsing http java sun com xml R Jelliffe The XML and SGML Cookbook Prentice Hall 1998 Handley H Schulzrinne E Schooler J Rosenberg SIP Session Initia tion Protocol IETF RFC 2543 March 1999 Extensible Markup Language XML http www w3 org XML Page 59 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Appendix The Application Programming Interface api idl Package aquila rcl eat api File api idl Version 3 7 12 12 2001 Dresden University of Technology TUD National Technical University of Athens NTUA This file contains the specification of the internal api of the End user Application Toolkit EAT for the 2nd trial It is intended for the use by the applications as well as the Reservation GUI etc ifndef api idl define api idl include service idl include subscriber idl include aca idl include appProfile idl include converter idl include eatPersistence idl module api include proxy idl include event idl Forward declarations interfac interface interface interface QoSSessionRequest QoSSession QoSSessionGroup QoSSessionUnit quence Q
47. an one data sessions The GUI page will contain all the available options for each component separately This enables the users to perform reservations only for one some or all the components according to their require ments Figure 2 8 presents an example page for the NetMeeting application which gives op tions for two components Audio and Video There are actually three options for the Audio components and four options for Video 2 The Converter is a logical component of the EAT that calculates QoS reservation parameters by using the Ap plication Profiles Page 20 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit All options are constructed of session characteristics that are comprehensible to the regular user As an example the session characteristics for Video are Video Quality Window Size and Network Speed Each session characteristic is described by a qualifier that identi fies the actual offering of this session characteristic for each option The qualifiers for the Video Quality session description are low medium and high The potential combinations of session characteristics and the defined qualifiers could form an arbitrary large number of options However the EAT supports only the options that are de fined within the Application Profile and only these options are actually presented in the Regular Reservation GUI
48. as established all application s sessions Anyway the duration of an active reservation incl accounting charging etc is always determined by the EAT and not by the application The release of the active reservations can be performed independently of the continuation of the application The release can be performed either by explicitly using the Release GUI or implicitly by performing a logout 3 1 2 EAT initiated Support The EAT takes advantage of the Proxy Framework to make reservations and releases on be half of the user based on the User Profile The Proxy Framework is actually responsible for detecting new QoS aware sessions and providing the EAT with all the necessary information to actually perform the reservations or releases For this purpose internal intelligent mecha nisms are used to map the QoS requirements expressed in some formation e g in RSVP Flowspec or SDP session info to the AQUILA based reservation formation within the Con verter The users are however able to see the EAT initiated active reservations through the normal use of the portal Again after a successful login they can go to the Active Reservations GUI page and have a look at the performed reservations or choose to release them Page 43 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 3 1 3 Reservation Units and Groups The support of reservation units and groups provide the user with th
49. ated The previously entered parameters are not lost but displayed again in order for the user to be able to correct or delete them or add new ones according to the error message 2 3 3 Active Reservations The Active Reservations GUI provides the opportunity to the user to see and manipulate the active reservations In a few words the user can release reservations or organise them in groups The EAT supports the concept of Reservation Units and Reservation Groups Reser vation units refer to single reservations or to a set of reservations that will be treated as a sin gle reservation e g a bi directional reservation The reservation groups are used to collect a set of units or groups under one logical group The Active Reservations GUI presents in two parallel panels the active reservation units and groups In the left panel all the units and some of the groups i e their identifiers are shown In the right panel the internal units groups of all reservation groups are presented The GUI provides functionality for a user to e Release a reservation unit or a reservation group The user can select one more or all units groups and release them Releasing a group means that all aggregated members i e the reservation elements of the units and the units and groups of the groups resp are re leased e Create delete a group The user can create a new group to later join units or other groups into it The user can delete a group By d
50. ation gt lt AQUILASpecification gt lt BSP unit bytes gt 2000 lt BSP gt lt BSS unit bytes gt lt BSS gt lt minPU unit bytes gt 78 lt minPU gt maxPS unit bytes maxPS PR unit bit s gt 90000 lt PR gt SR unit bit s gt lt SR gt lt EAR unit bit s gt 400000 lt EAR gt lt PR1 unit bit s gt lt PR1 gt lt PR2 unit bit s gt lt PR2 gt lt AQUILASpecification gt lt Option gt lt CodecSpecification gt EAT Script EATScript dtd lt ELEMENT EATScript Import Login Request Release Logout gt lt ELEMENT Import ImportLogin ImportRequest gt lt ELEMENT ImportLogin EMPTY gt lt ATTLIST ImportLogin LoginName ID REQUIRED Password CDATA REQUIRED gt lt ELEMENT ImportRequest EMPTY gt lt ATTLIST ImportRequest LoginName IDREF REQUIRED RequestId ID REQUIRED tR tR gt lt ogin EMPTY gt lt ATTLIST Login LoginName ID REQUIRED Password CDATA REQUIRED gt lt ELEME Reques lt ATTLIST Reques LoginName IDREF REQUIRED RequestId ID REQUIRED ProxyId CDATA IMPLIED RequestSpect gt pt cr gt lt ELEME RequestSpec NetworkService 515 gt lt ELEME NetworkService EMPTY gt
51. attribute long sessionId Is this a session group or unit x readonly attribute boolean isGroup The aggregating group Can be null readonly attribute QoSSessionGroup group The requester of this session can be null x readonly attribute QoSRequester requester Releases the associated reservation unit and all of its elements or the whole group all aggregated units and groups are also released Automatically retrieves and stores the accounting data from the ACA for each unit and all of its elements void release raises APIException Suspends the associated reservation unit or the whole group i e all reservation units are released but without retrieving any accounting information void suspend raises APIException The QoSSessionGroup interface belongs to a reservation group e g reservations units for several service components per application Page 67 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit interface QoSSessionGroup QoSSession The optional name of this group attribute string groupName The QoS sessions Can b ither other essions groups or units or even both readonly attribute QoSSessionSeq sessions Returns one specific QoSSession object of this group param sessionId
52. ch AlreadyBound ab NamingContextHelper narrow nameService resolve name catch UserException exc System err printin UserException could not resolve aquila rcl System exit 1 catch SystemException exc System err printin SystemException could not resolve aquila rcl exc System exit 1 protected void start String eatName try Local EAT Login theLogin null ApplicationManager theAppManager null ServiceDistributor theServiceDistributor null NameComponent nameLogin new NameComponent eatName directory new NameComponent theLogin SERVER_NAME theLogin SERVER_KIND theLogin LoginHelper narrow nctx resolve nameLogin System out println Got the login object NameComponent nameAppManager new NameComponent eatName directory new NameComponent theAppManager SERVER_NAME theAppManager SERVER_KIND theAppManager ApplicationManagerHelper narrow nctx resolve nameAppManager System out println Got the app manager NameComponent nameServiceDistributor new NameComponent eatName directory new NameComponent theServiceDistributor SERVER NAME theServiceDistributor SERVER KIND theServiceDistributor ServiceDistributorHelper narrow nctx resolve nameServiceDistribu
53. cketSize variability unspecified constant variable constant qualifier unspecified verySmall small medium big veryBig medium gt lt ELEMENT averagePacketSiz PCDATA gt lt ATTLIST averagePacketSiz unit CDATA FIXED bytes qualifier unspecified verySmall small medium big veryBig medium gt lt ELEMENT maximumPacketSize PCDATA gt lt ATTLIST maximumPacketSize unit CDATA FIXED bytes qualifier unspecified verySmall small medium big veryBig medium gt lt ELEMENT minimumPolicedUnit PCDATA gt lt ATTLIST minimumPolicedUnit unit CDATA FIXED bytes qualifier unspecified verySmall small medium big veryBig medium gt lt ELEMENT bitRat peakRate averageRate gt lt ATTLIST bitRate variability constant variable constant qualifier unspecified verySmall small medium big veryBig medium gt lt ELEMENT peakRate PCDATA gt lt ATTLIST peakRate unit CDATA FIXED bit s qualifier unspecified veryLow low medium high veryHigh medium gt lt ELEMENT averageRate PCDATA gt lt ATTLIST averageRate unit CDATA FIXED bit s qualifier unspecified veryLow low medium high veryHigh medium gt lt ELEMENT flow EMPTY gt lt ATTLIST flow value unspecified greedy non greedy unspecified gt lt ELEMENT AQUILASpecification serviceID BSP BSS minPU maxPS PR SR EAR PR1 PR2 gt lt 1 serv
54. correct reservation request struct Session long sessionId long proxyld aca Address sourceAddress aca Address destinationAddress Page 37 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit aca ProtocolID protocol string serviceComponent audio or video string payloadType long payloadNumber long bandwidth string requesterName Session Starter The SessionStarter interface is implemented by the EAT in order to be informed when the network session information for an application is available and the reservation request at the ACA can be startet interface SessionStarter const string SERVER_NAME SessionStarter const string SERVER_KIND EAT Manager session starter object A proxy or the ProxyManager calls this function to send return the session information to the Proxy EAT Manager in order to allow a reservation request Send means that the request is initiated by the Proxy itself Return means that the request is initiated by the end user but without knowledge of the session details So the Proxy helps by responding the registerApplication message from the EAT Manager param sessionId The Id of the session In the case of an user initiated request the id is choosen by the EATManager as index
55. e ProfileID applicationProfile string applicationName string versionNo string buildNo typedef sequence lt ApplicationInformation gt ApplicationInformationSeq The ApplicationManager interface provides information about installed available application profiles application proxies etc interface ApplicationManager const string SERVER_NAME ApplicationManager const string SERVER_KIND EAT application manager object Page 69 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Gets all available apps for the Legacy App GUI Qreturn Sequence of ApplicationInformation objects y ApplicationInformationSeq getAvailableApps Gets all installed proxies for the Reservation GUI return Sequence of ApplicationProxy objects proxy ProxyDescriptionSeq getApplicationProxies Network Service Distributor NetworkService is an mirror of the Network Service Profile accessible via CORBA An Application does not have access to the LDAP DB struct NetworkService Sservice ServiceID servId string fullName Service QoSSpec defaultQoS Service ReservationStyleSeq styles typedef sequence lt NetworkService gt NetworkServiceSeq The ServiceDistributor interface provides information about available
56. e following functionality e Make two or more reservations to be treated as one reservation unit implying always si multaneous establishment or release of the reservation unit e Group together session s reservations that physically belong to the same application e Group together session s reservations that logically belong to the same type of applica tions This also implies that groups of reservation may be grouped together to form a higher level group e Reservations belonging to the same group can then be treated as a unit but also as indi vidual reservations The existence of reservation groups provides easier manipulation of a bundle of reservations that physically or logically belong to the same group Moreover it provides a more efficient support towards applications Taking as an example an application with two or more reser vations the user is able to specify all of them and submit them as a group for the actual reser vation to take place This ensures that the reservations will be performed almost at the same time preventing the user from being charged for a reservation for one session before the rest reservations are actually accomplished More details about the actual use of reservation units and groups can be found in Section 2 3 3 2 Complex Internet Service Support A Complex Internet Service CIS consists of several Basic Internet Applications services like email chat video audio streaming etc The quality
57. e rest should be silently not given QoS 2 5 2 Implementation of a new Proxy Although the Proxies are part of the End User Application Toolkit they do not run in the same process as the rest of the EAT but in their own processes This is due to the distributed nature of the EAT and the need for the Proxies to be flexible and located in various sites for example a Packet Filter should be placed in the border of the access network Therefore a new Proxy must be implemented as an independent program Page 35 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit The Proxies communicate with the Proxy Manager through a well defined CORBA interface ProxyManager interface A new Proxy can be created or an existing Proxy may be modi fied to use the ProxyManager interface in order to signal to the Proxy Manager that a new connection was detected and to provide the corresponding parameters Package aquila rcl File proxy idl Version 3 7 11 12 National Technical Dresden University This file contains eat proxy 2001 University of Athens of Technology TUD the interfac NTU of the Application Proxies IMPORTANT The ProxyManager within the proxy package also uses implements ntities defined in ifndef proxy_idl define proxy_idl include aca idl include eatManager idl module proxy struct ProxyDescrip long proxyld atMan
58. e session The GUI initiated approach was used during 1 trial 2 5 1 2 Proxy initiated Reservation On the Proxy initiated reservation the Proxy detects the start of a new connection by inspect ing the messages that pass through it It then initiates the resource reservation request by noti fying the Proxy Manager This notification contains all the information that the specific Proxy can supply and consists of some or all of the following parameters source and destination IP addresses e destination TCP UDP port number also the source port number if available the type of the service component audio video codec if one is used for media encoding expected bandwidth name or SIP address of the requester The EAT Manager decides whether to continue with this resource request or not depending on whether the supplied information is sufficient in terms of user authentication and requested resources This means that the information furnished by the Proxy is sufficient for the calcu lation of the reservation request parameters by the Converter module It also means that the requesting user should be registered in the EAT and that his her preferences allow for auto matic reservation setup by the EAT A user may prefer that all her SIP calls be automatically accepted by the EAT and that a reservation request be sent to the RCL Another one may de fine a limited set of destinations for SIP calls that should be accepted while th
59. e specification of a single advanced request applicationId Name that th nd user uses to identify the application serviceComponent Service component that this reservation corresponds Lo networkServic Network service id reqSLS Requested SLS incl scope flow traffic spec QoS Spec and schedule proxyId Id of the proxy to be used see ApplicationProxy 0 for none enabled Indicates whether the reservation shall be immediately established in the edge router or not struct AdvancedSpec 1 string applicationId One application string serviceComponent One service component service ServiceID networkService One service aca SLS reqsLS One SLSpec long proxyld One proxy boolean enabled Requests for a single QoSSession on advanced level It is foreseen for reservation requests that are based on the content of the ACA s reservation request interface the so called Advanced Reservation Mode param requestSpec The requested parameters param requester The requester object that has to be notified when something happens with the reservation m Can be null return Reference to a new QoSSessionUnit object with one singl lement QoSSessionUnit advancedRequest in AdvancedSpec requestSpec in QoSRequester requester raises APIException Advanced Multiple Request For the specification of a multiple e g bi directiona
60. eleting the group the aggregated members within units and groups are not released Join reservation units or groups into a group The user can select a unit or a group and join it into another group A group can be a sub group of only one group Having in mind the two reservation request modes of the portal regular and advanced the Regular Reservation mode can inherently support reservation units and groups because the user selects the desired QoS for all sessions of this application The Regular Reservation GUI contains a Create Group check box which when selected means that the EAT will automati cally create a group join all these sessions into it and submit the grouped reservation to the ACA Otherwise the reservations are treated as individual reservations In the Regular Reser vation GUI there is also a bi directional reservation check box which will make both reser vations from the source to the destination and from the destination to the source with the same QoS parameters In this case the two reservations are considered as one reservation unit 4 It will be explained below which group identifiers are presented in the left panel Page 24 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Moreover the Regular Reservation GUI contains a Complete Group Needed check box which indicates that all reservations for the service components of the application
61. ess 1 1 0 0 short 0 short 0 TrafficSpec ts PR BSP 10000 2048 QoSSpec gos ServiceSchedul new TrafficSpec SR 8500 2048 40 512 1 1 1 BSS m M EAR PR2 new QoSSpec 100 10 0 50 false ss new ServiceSchedule 0 0 0 SLS slspec new SLS s f ts qos 55 AdvancedSpec as new AdvancedSpec app com ns Slspec 0 true System out println Try to request QoSSession session null Session request advancedRequest as null if session null System out println Got session session sessionId for NS ns session release t println Session released System ou else System ou request logou else catch System out prin t println Couldn t get session t0 APIException apiExc System out println apil tln Couldn t get request Xc reason Page 73 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit catch Exception exc System out println Catched exception exc System exit 0 public static void main String argv if argv length lt 1 System out println System out println Usage SampleClient eat name System exit 1 sc new SampleClient argv Sc start argv argv length 11 Application Profi
62. first reservation gt Release RequestId wi01 lt EATScript gt Example1 xml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE EATScript SYSTEM EATScript dtd gt lt EATScript gt lt Re login and re identify the second request gt lt Import gt lt ImportLogin LoginName wi Password geheim gt lt ImportRequest LoginName wi RequestId wi02 gt lt Import gt lt Release the second reservation gt Release RequestId wi02 gt lt May be logout the user gt lt Logout LoginName wi gt lt EATScript gt EAT amp Proxy configuration EATSettings dtd lt ELEMENT EATSettings ApplicationProfiles gt lt ATTLIST EATSettings ACAName CDATA REQUIRED gt lt ELEMENT ApplicationProfiles Profile gt lt ATTLIST ApplicationProfiles Path CDATA REQUIRED lt ELEMENT Profile PCDATA gt Example eat_dresden xml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE EATSettings SYSTEM EATSettings dtd gt lt EATSettings ACAName aca_dresden gt lt ApplicationProfiles Path cn appProfile cn eat cn rcl Profile NetMeeting xml Profile Profile RealSystem xml Profile lt Profile gt UltimaOnline xml lt Profile gt lt Profile gt UnrealTournament xml lt Profile gt
63. g for different service components per application Page 65 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit param groupName The optional name of the new group can be param requestSpecs An array of multiple request specifications param requester The requester object that has to be notified when something happens with the reservation be null return An new QoSSessionGroup object containing one QoSSessionUnit object for each multiple request A QoSSessionGroup regularGroupRequest in string groupName in RegularSpecSeq requestSpecs in QoSRequester requester raises APIException Common Creates an empty QoSSessionGroup param groupName The optional name of the new group can be param requester The requester object that has to be notified when something happens with the reservation ud Can be null return An new empty QoSSessionGroup object QoSSessionGroup createEmptyGroup in string groupName in QoSRequester requester raises APIException Returns all active reservations return Sequence of QoSSession objects both groups and units x QoSSessionSeq getActiveQoSSessions Returns all active session units also those which are in goups return Sequence of QoSSessionUnit objects no
64. hat is referred by Release Moreover Request consists of one or more RequestSpec elements that require a list of elements Page 39 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit NetworkService SLS that is related to the actual advanced request interface as it is speci fied in api idl If more than one Request Spec elements are defined in a Request a multiple reservation unit is automatically built However reservation groups are not supported For the TrafficSpec elements the units of the values are given as attributes However these units are at the moment fixed because they mainly support the script editors by speci fying the values 2 6 1 2 XML Examples In the Appendix two sample XML files are given The first script Example xml includes one login two requests and the release of the first request The requests are for two different network services and are filled by some reasonable values The second request consists of two reservation Request Spec elements that form a bi directional reservation The second script Examplel xml then contains the release for the second of the above mentioned reser vations 2 6 2 Command Line Tool A command line tool has been realised that allows the parsing and execution of an XML file s content This tool is implemented by the Java class EATScript java To parse an EAT script file type aquila rcl eat scr
65. iceID Name of the AQUILA NS BSP bucket size for PR bytes BSS bucket size for SR bytes minPU minimum policed unit bytes maxPS maximum allowed packet size bytes PR peak rate bit s SR sustainable rate bit s EAR Expected Average Rate bit s Not used PRI first threshold for bilevel bit s Not used PR2 second threshold for bilevel bit s Not used gt lt ELEMENT gt lt ATTLIST serviceID value PCBR PVBR PMM PMC STD CUSTOM STD gt lt ELEMENT BSP PCDATA gt lt ATTLIST BSP unit CDATA FIXED bytes Page 77 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit gt lt ELEMENT BSS PCDATA gt lt ATTLIST BSS unit CDATA FIXED bytes gt lt ELEMENT minPU PCDATA gt lt ATTLIST minPU unit CDATA FIXED bytes gt lt ELEMENT maxPS PCDATA gt lt ATTLIST maxPS unit CDATA FIXED bytes gt lt ELEMENT PR PCDATA gt lt ATTLIST PR unit CDATA FIXED bit s gt lt ELEMENT SR PCDATA gt lt ATTLIST SR unit CDATA FIXED bit s gt lt ELEMEN EAR PCDATA gt lt 115 uni
66. imensional groups can be built e The 1eave operation with the same parameter in order to quit the membership of the belonging session unit or group in this higher level group e The leaveA11 operation to quit the membership of all session units or groups of this higher level group After that this group can be released without releasing its members The interface QoSSessionUnit provides access to an inseparable reservation unit consisting of one ore more reservation elements Therefore the features are e The attributes isMultiple and numberOfElements The first flag indicates whether the session unit is a multiple one the second attribute gives the number of the reservation elements e The attribute status containing the session status It can be Provisional waiting for the Proxy information Active established in the ACA but not in the edge router or Enabled established also in the edge router e A list of attributes that belong to this session unit e g the requested services and SLS e The getAccountingInformation operation to explicitly ask for the last accounting status Note that the accounting data are automatically requested and stored when the res ervation is released e The enable operation to establish an already activated session also in the edge router reservation The interface EventObserver should be implemented by a client that wants to be informed when something happens with the reserva
67. ing serviceComponent readonly attribute ServiceIDSeq networkServices readonly attribute slsSeq reqSLSs Page 68 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit readonly attribute long proxyld Gets the accounting data of this session return Accounting information array of this session unit containing on ntry per requested reservation element AccountingDataSeq getAccountingInformation Enables an already active but not in the edge router installed reservation A void enable raises APIException RequestEvent for QoSRequester RequestKind describes what with a reservation request ca be happen A provisional reservation can be accepted or rejected An already established reservation can be released g when it brokes or when the schedule finishes enum RequestKind Accepted Rejected Released RequestEvent contains the QoSSession id the kind of the occuring event and a optional reason s valuetype RequestEvent event GeneralEvent public long sessionId public RequestKind kind public string reason Application Manager ApplicationInformation contains the ID of the associated app profile the app s name the version and the build no struct ApplicationInformation appProfil
68. ipt EATScript ORBOptions v xml file The optional parameter v switches the verbose mode on so that additional parsing messages are printed For example java aquila rcl eat script EATScript Example xml The EAT script parser is based on the Sun s Java API for XML Parsing JAXP version 1 1 Download this API install it and add jaxp jar as well as and xalan jar to the CLASSPATH The parser communicates with the EAT via CORBA the EAT must be running when the script starts EATScript java itself is stateless but the EAT Manager keeps all information about active end users and reservations So it is possible to refer to previous executed scripts by using the import elements For example a request that has been executed by the first script can be re leased by the second one java aquila rcl eat script EATScript Examplel xml 6 Note that EATScript java uses validating parser Therefore the XML script should fulfil the DTD grammar Page 40 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Page 41 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 3 Application Scenarios 3 1 Basic Internet Application Support This section discusses about the way the EAT supports Basic Internet Applications The latter are often legacy applications that cannot directly use the EA
69. kService ServiceId PMM gt lt SLS gt lt Scope ReservationStyle p2p gt lt Flow gt lt Source gt lt Address gt lt IPAddress gt 192 168 94 0 lt IPAddress gt lt NetMask gt 255 255 255 0 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt lt Address gt lt Source gt lt Destination gt lt Address gt lt IPAddress gt 192 168 95 0 lt IPAddress gt lt NetMask gt 255 255 255 0 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt Page 82 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt Address gt lt Destination gt ProtocolId 0 ProtocollId lt DSCP gt 0 lt DSCP gt lt Flow gt lt TrafficSpec gt PR Unit bit s gt 1 lt PR gt lt BSP Unit bytes gt 1 lt BSP gt lt SR Unit bit s gt 1000 lt SR gt lt 55 Unit bytes gt 1 lt BSS gt lt m Unit bytes gt 40 lt m gt lt M Unit bytes gt 512 lt M gt EAR Unit bit s gt 1 lt EAR gt lt PR1 Unit bit s gt 1 lt PRI1 gt lt PR2 Unit bit s gt 1 lt PR2 gt lt TrafficSpec gt lt Schedule gt lt DateTime gt 0 lt DateTime gt lt Duration gt 0 lt Duration gt lt Idle gt 0 lt Idle gt lt Cycles gt 0 lt Cycles gt lt Schedule gt lt SLS gt lt RequestSpec gt lt Reque
70. ket Size for PR Sustainable Rate SR Bucket Size for SR Mini mum policed unit Maximum Packet size Expected average rate 1 threshold for Bilevel 2nd threshold for Bileveh The units for each parameter are also pre sented to facilitate the user to fill in the field with the correct value Service Schedule the schedule has to do with the timing schedule for this reser vation and is included in the GUI mainly to facilitate the placement of a reserva tion much before the actual service time It consists of the Start Time Duration Idle and Cycles fields These fields are only optionally filled in and in case they are empty the reservation is accomplished with the notion from now on until explicitly released 3 Some of these parameters are not really used within the EAT but are left in the GUI for illustration purposes Page 23 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit The user after filling in all the appropriate parameters can submit the reservation The pa rameters are going to be validated at two levels the EAT and the ACA and if the reservation is successful the portal will indicate it to the user In case of false validation the portal will display the same Reservation page with the system provided error message on the top of the page as well as some specific error messages on top of each field where the error s is are loc
71. l advanced request applicationId Name that th nd user uses to identify the Page 62 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit application serviceComponent Service component that this reservation corresponds Eos networkServices Network service ids reqSLSs Requested SLSs incl scoped flows traffic specs QoS specs and schedules proxyId Id of the proxy to be used see ApplicationProxy 0 for none enabled Indicates whether the reservation shall be immediately established in the edge router or not struct AdvancedMultipleSpec string applicationId One application string serviceComponent One service component ServiceIDSeq networkServices Several services slsSeq reqSLSs Several SLSpecs long proxyId One proxy boolean enabled Advanced request for a multiple e g a bi directional reservation building an inseperable unit of session elements the session unit param requestSpec The requested parameters param requester The requester object that has to be notified when something happens with the reservation be null return Reference to a new QoSSessionUnit object with as many elements as requested In the case of a bi directional session there are two request elements x QoSSessionUnit advancedMultipleRequest in
72. le ApplicationProfile dtd 1 The ApplicationProfile gives the possibility to describe an application in detail in the scope of QoS mechanisms QoS offer and request towards a QoS enabled network An ApplicationProfile collects protocol information to know which ports are used etc and implementation information especially codec information The implementation information describes the QoSRequirements of the codec service components the traffic produced by the codec and gives user friendly descriptions of the different possible quality levels This information enables the presentation towards the end user of the application quality levels 2 the request for QoS QoS requirements and produced traffic behaviour 3 the connection to the network layer of the QoS enables network gt lt ELEMENT ApplicationProfile CodecImplementation protocol lt ATTLIST ApplicationProfile name CDATA REQUIRED version CDATA REQUIRED build CDATA IMPLIED type VoIP ULTIMEDIA STREAMINGVIDEO STREAMINGAUDIO GAM OTHER REQUIRED scope unspecified unidirectional bidirectional p2p xdirectional REQUIRED EH lt ELEMENT CodecImplementation Codec TransportProtocol 1 As many applications implement the same codecs the application profile refer to them A transpo
73. lt ATTLIST NetworkService Serviceld PCBR PVBR PMC STD CUSTOM STD lt ELEMENT SLS Scope Flow TrafficSpec Schedule lt ELEMENT Scope EMPTY gt lt ATTLIST Scope ReservationStyle p2p p2a p2m a2p p2p lt ELEMENT Flow Source Destination ProtocollId DSCP gt lt ELEMEN TrafficSpec PR BSP SR BSS m M EAR PR1 PR2 gt lt ELEMENT Schedule DateTime Duration Idle Cycles gt Page 80 of 85 Se IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit ELEME Source Address ELEME Destination Address ELEME ProtocolId PCDATA gt lt ELEME DSCP PCDATA gt lt ELEME Address IPAddress NetMask LowerPortNumber UpperPortNumber gt lt ELEME IPAddress PCDATA gt lt ELEME NetMask PCDATA gt lt ELEME sowerPortNumber PCDATA gt lt ELEME UpperPortNumber PCDATA gt lt ELEME PR PCDATA gt A LIS PR Unit CDATA F
74. nternet Service and the EAT i e the Application Pro files regarding the choice of the different QoS categories will be explained in a more detailed way in chapter For a better understanding of the selection possibilities in the set up menu a help menu with extensive commentary should be available in addition to the MouseOver functions shown in the above figures Especially the selection of the QoS category by the standard user requires further information This will enhance the usability of the Complex Internet Service Furthermore it is recommended to allow the user to change the settings of the QoS service and his her Internet connection on his her own This enables him to define his her standard set tings but also to have fast and uncomplicated access to special settings for special services Page 48 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit One of these services could be an Internet Live Concert that he she wishes to see in category Gold whilst his her normal category is only Bronze 3 2 3 Recommendations for the Interaction of the CIS and the EAT During the phase of conception and development of a Complex Internet Service basic condi tions will have to be made e g functions of the service used Basic Internet Applications lay out etc These conditions will influence the parameters that are necessary for the QoS support e g the choice of the QoS ca
75. oSSession QoSSessionSeq quence QoSSessionUnit QoSSessionUnitSeq The QoSRequester interface should be implemented by the QoS requesting client in or der to have the chance to inform it about some events concerning the requested reservation e g when a provisional reservation has b n accepted rejected by the ACA or when a reservation brokes etc typedef V nt EventObserver QoSRequester APIException containing a message string exception APIException string reason Page 60 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Common typedef service ServiceIDSeq ServiceIDSeq typedef sequence lt aca SLS gt slsSeq typedef sequence lt aca Scope gt ScopeSeq typedef sequence lt aca Flow gt FlowSeq Might become obsolete when new service idl is available typedef sequence lt service AccountingData gt AccountingDataSeq Login The Login interface allows the authentication of an end user against the EAT Manager It is implemented by the EAT The login information is also forwarded to the ACA interface Login const string SERVER_NAME Login const string SERVER_KIND EAT login object Login at the EAT Manager s API param loginInfo Acco
76. ons as they are pro vided and used by the EAT In case of the EAT the necessary QoS parameters of the Basic Internet Applications can be extracted from the respective Application Profiles see also chapter 2 4 goael For it the EAT API offers an interface named ApplicationManager nction getAvailableApps ApplicationInformation look at chapter 2 the usage of the EAT API for the creation of a QoS session see chapter pane you will find a usage scenario in section 4 Figure 3 8 Application Profile RealPlayer The relationships between the QoS profiles and the Application Profiles are defined by the parameter Option with the OptionID For the description of this parameter see also the Codec Specification DTD Codec Profile in the illustrates relation ship between the Mediazine QoS profile and an EAT Applic for the Basic Internet Application RealPlayer Page 51 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Example of QoS Profile Example of Application Profile Gog Category Hirer Appie ation ame EealPlaues Figure 3 9 Correlation between QoS Profile and Application Profile It is not possible to define exactly which data will have to be saved in which way and in which profile Whether for the development of a Complex Internet Service or for the creation of Ap plication Profiles with the EAT the developer can imagine and design
77. optional session id of the client usually a web session id loginClient returns if successful the reference to an object of the interface type QoSSessionRequest which belongs to the now logged end user If an end user severally logs in at the same time he she always gets the same reference If something goes wrong with the login an APIException is raised including a string with the reason The getQSRequestMeansSessionId operation with one parameter the client ses sion id of a previous call of the 1oginClient operation By using this id it is possible to associate and return the reference to the belonging QoSSessionRequest object with out to login once again That is useful if a web client is not able to store the reference it gets from the previous call The interface QoSSessionRequest is the main user agent for a QoS requesting client For each logged end user exactly one object exists that implements this interface It offers the following Three readable attributes The account name of the logged user its contracts namely its SLAs and the associated client session ids at most five The advancedRequest operation with two parameters the request spec of the type AdvancedSpec including for example network service id and SLS and the optional re quester see interface EventObserver usually the requesting client If a reservation can be established the operation returns the reference to a new object
78. ortal see section 2 3 In order to start using the portal the user must first login providing his her username and password After successful authentication the user can mainly perform reserva tions release of active reservations manipulation of the reservation groups and finally to log out There are two main modes of reservation requests the advanced mode and the regular one The main difference is that for the former the user is supposed to know the general Internet QoS concept some more specific AQUILA issues as well as the exact QoS requirements of the application that is going to be used On the other hand the usual mode implies that all this knowledge is inherently provided by the EAT through the use of some technical developments like the Application Profiles and the Converter In both cases the user after specifying the re quired QoS by filling in the actual reservation parameters or by selecting the desired prepared options respectively will have to manually tune the application options in order to be con sistent with the requested QoS Independently of the reservation mode the EAT may need to make use of the Proxy Frame work to find out network connection parameters In a few words in order for the Proxy Framework to be able to identify these parameters the application must be already launched and its sessions should be established This fact implies that the reservations will actually be performed only after the user h
79. oup Pe O prepareSessionCharacieristicsOptions String NUNG regularRequestQoSSessionUnit reguiamMutipleRequest QoSSessionUnit 0 1 A requester regularGroupRequest QoS SessionGroup createEmptyGroup QoSSessionGroup getActiveQoSSessions QoSSessioni getQoSSessionUnits QoSSessionU nit interface retrieveReservationHistory ReservationDatal QoS Session close void logout void isGroup boolean sessionld int Factory Factory accountName String networkServiceld String sessionld int m kind RequestkKind reason String Requestkind can be IN Accepted Rejected Released release void sessions suspend void Product interface QoS SessionGroup groupName String numberOfElements int status SessionStatus getSession QoSSession applicationProfile String join void applicationld String leave void selection String leaveAli void sCompName String networkServices String reqSLSs SLS proxyld int getAccountinginformation AccountingDataf enable void Figure 2 3 The EAT API 1 Page 11 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Description The interface Login is implemented by a singleton object to be used by all clients of this EAT see paragraph 2 2 2 It provides The 1oginClient operation with two parameters the login information including user account and password and an
80. ownload Group and Join it to the NetMeeting group or vice versa The NetMeeting A and NetMeeting groups cannot be joined to any other group Select any of the units or groups and Release them Releasing the NetMeeting group would result in the release of the NetMeeting A and NetMeeting groups as well as the release of the contained reservations Audio a Video a Audio b Video b Select any of the groups and Delete them Deleting the NetMeeting group would result in the de association of the NetMeeting A and NetMeeting B groups from it they would not be deleted Subsequently NetMeeting A and NetMeeting B will be listed in the left panel Create a new empty Group by filling in the Group Name edit box with the wanted name for the new group and then pressing Create 2 3 4 Logout The user may perform the logout operation at any time The Logout GUI contains a check box that asks the user whether he she wants to release all reservations first Then the user ei ther confirms the logout operation by pressing the Logout button or cancels the operation Page 26 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit by pressing the Cancel button If the user does not release the reservations and later wants to perform some actions with them
81. pProfile cn eat cn rcl NetMeeting xml aquila rcl eat appProfile ApplicationProfile 3 Add he entry lt Profile gt NetMeeting xml lt Profile gt to the EAT configuration file of your EAT within the ApplicationProfiles tag 4 Make sure that the Path attribute of ApplicationProfiles corresponds to the basic path in 2 e g cn appProfile cn eat cn rel 5 Make sure that the ACAName attribute of EATSettings contains the correct name of the ACA that belongs to this EAT e g aca dresden 6 Store the EAT settings in the LDAP database as well java cp aquila classes gt lt jaxb rt 1 0 ea jar gt aquila uil main StoreXml cn eat_dresden cn eat cn rcl eat dresden xml aquila rcl eat eatManager EATSettings 7 Start the EAT java cp aquila classes aquila rcl eat eatManager EAT eat dresden Page 54 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 4 2 Proxy Settings Each application Proxy has to have its own configuration file which contains some basic in formation for the Proxy such as its id and optionally its full name or description and the control port it uses see Appendix sip_dresden xml Guideline for configuration 1 Create a new Proxy configuration file based on ProxySettings dtd Make sure that the EATName attribute of ProxySettings contains the correct name of the EAT that belongs to this Proxy e g eat_dresden 2 Store
82. pec NetworkService ServiceId PMC lt SLS gt lt Scope ReservationStyle p2a gt lt Flow gt lt Source gt lt Address gt lt IPAddress gt 192 168 94 0 lt IPAddress gt lt NetMask gt 255 255 255 0 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt lt Address gt lt Source gt lt Destination gt lt Address gt lt IPAddress gt 1 lt IPAddress gt lt NetMask gt 1 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt lt Address gt lt Destination gt ProtocolId 0 ProtocollId lt DSCP gt 0 lt DSCP gt lt Flow gt lt TrafficSpec gt lt PR Unit bit s gt 100 lt PR gt lt BSP Unit bytes gt 1024 lt BSP gt lt SR Unit bit s gt 50 lt SR gt lt BSS Unit bytes gt 1000 lt BSS gt lt m Unit bytes gt 40 lt m gt lt M Unit bytes gt 512 lt M gt EAR Unit bit s gt 1 lt EAR gt lt PR1 Unit bit s gt 1 lt PRI1 gt lt PR2 Unit bit s gt 1 lt PR2 gt lt TrafficSpec gt lt Schedule gt lt DateTime gt 0 lt DateTime gt lt Duration gt 0 lt Duration gt lt Idle gt 0 lt Idle gt lt Cycles gt 0 lt Cycles gt lt Schedule gt lt SLS gt lt RequestSpec gt lt Request gt lt Second request is for bidirectional gt Request LoginName wi RequestId wi02 ProxyId 1 lt RequestSpec gt lt Networ
83. pec ession on regular level applications which are not QoS aware y application profiles for manual servations The end user has to ask for the able Session Charactersitics options and requests S session param requester return The requested parameters The requester object that has to be notified when something happens with the reservation Can be null Reference to a new QoSSessionUnit object containing one element for the reservation of the specified service component For several service components use regularGroupRequest QoSSessionUnit regularRequest in RegularSpec requestSpec in QoSRequester r quester Page 64 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit raises APIException Regular Multiple Request For the specification of multiple request 4 bi di applicationProfile ID of the associated applic applicationId The application name within profile selection Selected session characteri profile serviceComponent The service component that corresponds to Ob Ok OX F FF o Ro Xo Xo Xo Xo rectional regular ation profile the application stic option from the the selection reqScopes Scopes reservation styles regFlows Source and dest addresses ports protocol DSCP Schedule Service
84. protocol exchange In this way they are able to intercept and translate the exchanged mes sages They can extract their content find the required parameters and to pass them to the EAT The Proxy Framework of the EAT provides a set of Application level Proxies or Protocol Gateways There is one Proxy for each popular connection setup protocol The Proxies are administered by an entity called the Proxy Manager The Proxy Manager has the following roles To locate the available Proxies and to mediate between them and the EAT There are two modes of reservation requests and respectively two modes of Proxy operation 2 5 1 1 GUI initiated Reservation In the first case the user initiates a reservation request through one of the GUIs Advanced or Usual Reservation GUI In the case that the port numbers of the legacy application are not known beforehand and a Proxy is available for this application the Proxy Manager is con Page 34 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit tacted by the EAT The Proxy Manager should then find the appropriate Proxy communicate with it with CORBA and request for the port numbers When this information is retrieved by the Proxy it asynchronously notifies the Proxy Man ager who in turn notifies the EAT The Proxy may forward as much information as it can re trieve such as information about the required bandwidth or the codecs used for th
85. requirements on the Basic Internet Appli cations are different from user to user depending on their technical knowledge on their know how of broadband media services and on their subjective impressions To guarantee these very individual requirements a corresponding QoS support must be set up The CIS may use the interfaces of the EAT e g the API and the Application Profiles to provide user friendly QoS options at different levels towards its users First of all a lot of technical preferences have to be selected in order to create a Complex Internet Service These are for example the choice of the Basic Internet Applications the in teraction of the required components and the specifications of layout e g screen size of a video They have a direct or an indirect influence on the possible QoS parameters e g the screen size of a video defines how much data has to be transferred in order to show the video in the selected quality The following sub chapters make recommendations for the QoS support of a Complex Inter net Service AQUILA Mediazine will be used as an example of CIS Page 44 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 3 2 1 Recommendations for the Creation of QoS Level Creating three categories of Internet connections is appropriate for Mediazine This is a man ageable number for the user if he she wants to specify his her Internet connection in a more de
86. ring controlPortint NetworkService serviD String fullName String defaultQoS Q0SSpec styles ReservationStyle Figure 2 4 The EAT API 2 Description The interface ServiceDistributor implemented by a singleton object provides access to the existing network services The getNetworkServices operation returns an array of the available network serv ices including their specific values for QoS reservation styles etc The interface ApplicationManager also implemented by a singleton object is for the re trieval of the existing Application Profiles and the installed Proxies e The getAvailableApps operation returns an array of ApplicationInformation namely the identifiers of the profiles as well as the names the versions and optionally the Page 15 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit build numbers of the applications for which profiles exist It is for the regular reservation mode The getApplicationProxies operation returns an array of the installed application Proxies containing in ProxyDescription their ids names etc It is mainly for the ad vanced reservation mode in order to select a Proxy but also for the regular mode in or der to check the availability of the Proxy specified in the Application Profile 2 2 2 Usage Scenario A How to access the CORBA API The EAT API is a CORBA one specified in IDL and using the JDK
87. rmation marked in grey lt ELEMENT ApplicationProfil CodecImplementation protocol lt ATTLIST ApplicationProfile name CDATA REQUIRED version CDATA REQUIRED build CDATA IMPLIED type VoIP MULTIMEDIA STREAMINGVIDEO STREAMINGAUDIO GAM OTHER REQUIRED scope unspecified unidirectional bidirectional p2p xdirectional REQUIRED Gl lt ELEMENT CodecImplementation Codec TransportProtocol gt lt ELEMENT Codec PCDATA gt lt ATTLIST Codec xlink form CDATA FIXED simple href CDATA REQUIRED gt lt ELEMEN ransportProtocol EMPTY gt lt ATTLIS ransportProtocol name TCP UDP TCP gt lt ELEMENT protocol lowerPortNo upperPortNo isControlPort gt lt name Unspecified RTP RTSP RSVP SIP SDP H320 321 2685520 gt lt ELEMENT lowerPortNo PCDATA gt lt ATTLIST lowerPortNo value unspecified fixed configurable fixed gt lt ELEMENT upperPortNo PCDATA gt lt ATTLIST upperPortNo value unspecified fixed configurable fixed Page 33 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit EMENT isControlPort
88. rmed automatically so the user does not have to know any other URLs In a few words the following scenario is foreseen the user first performs a login operation so that the EAT can authenticate the user If the login operation is successful the user can inter act with the portal to perform reservations and releases of established reservations or to ma nipulate the active reservations into groups At the end the user can perform a logout opera tion The actual intended application could be launched just after or before the user has placed a reservation The portal is intended for people that are regular users AQUILA inexperienced users without knowledge of technical QoS issues as well as for computer or network professionals AQUILA experienced users that may have deep knowledge of the QoS requirements of the application they use develop and test as well as of the corresponding network mechanisms So the portal offers two basic reservation modes a Regular one for the former kind of users and an Advanced one for the latter 2 3 1 Login The first operation to be performed before a user can use the portal is the login operation This operation performs user authentication with parameters the user s login name and the password So the portal s first page offers two fields that the user has to fill in the Login field and the Password field Page 18 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0
89. rt protocol is associated to each implemented codec lt ELEMENT Codec PCDATA gt lt ATTLIST Codec xlink form CDATA FIXED simple href CDATA REQUIRED gt lt ELEMENT TransportProtocol EMPTY gt Page 74 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt ATTLIST TransportProtocol name TCP UDP TCP gt lt ELEMENT protocol lowerPortNo upperPortNo isControlPort gt lt ATTLIST protocol name unspecified RTP RTSP RSVP SIP SDP 320 321 H322 H323 H324 unspecified gt lt ELEMENT lowerPortNo PCDATA gt lt ATTLIST lowerPortNo value unspecified fixed configurable fixed gt lt ELEMENT upperPortNo PCDATA gt lt ATTLIST upperPortNo value unspecified fixed configurable fixed gt lt ELEMENT isControlPort PCDATA gt lt ATTLIST isControlPort valu unspecified yes no no gt lt ELEMENT description PCDATA gt CodecSpecification dtd Codec Profile lt ELEMENT CodecSpecification QoSRequirement gt lt ATTLIST CodecSpecification name CDATA REQUIRED gt lt 1 QoSRequirement par
90. s o gt al Gg d Ey E B Zur ck Variance Abbrechen Aktualisieren Startseite Suchen Favoriten Verlauf E Mail Drucken Bearbeiten Welcome to the AR Portal UILA orta NEW RESERVATION ACTIVE RESERVATIONS NORMAL ADVANCED Supported Applications GAME UltimaOnline 71 MULTIMEDIA NetMeeting 71 STREAMINGVIDEO RealSystem 71 Figure 2 10 The AQUILA Portal the main menu and the Regular Reservation GUIP 2 4 Application Profiles 2 4 1 Definition Application Profiles As application development is out of the scope of the AQUILA project we need a mechanism to support existing legacy application Legacy applications are not QoS aware They are nei ther able to offer QoS to end users nor to request for QoS on their own The EAT and the converter provide mechanisms for offering and requesting QoS for legacy applications and therefore use the Application Profiles Application Profiles are the mean to QoS enable legacy applications With Application Profiles and their specifications it is possible in a first step to offer QoS and to request for QoS from a QoS portal independently from the legacy applica tions In the future it is conceivable to use Application Profiles to specify new QoS aware ap plications where the QoS offer and request are integrated in the application itself 5 Normal in the picture means the Regular Reservation mode Page 28 of 85 IST 1999 10077 WP2 2 TUD 2203
91. s far as the ex ample of a Complex Internet Service AQUILA Mediazine is concerned the technical ex perienced user will be referred to as Mediazine expert and the novice will be referred to as Mediazine novice The Mediazine expert can be asked for detailed information and technical terms such as the kind of connection the bandwidth etc He she can also deal with the corresponding informa tion like latency packet loss etc On the other hand for the inexperienced user such infor 29 66 mation should be described in general terms like fast CD quality etc The afore descriptions result in particular specification criteria for the QoS support of a Com plex Internet Service necessary for a set up menu aiming at helping the user configure QoS based applications The CIS set up menu should start by testing the user s knowledge of com puters and Internet example see Figure 3 1 You will find notes to the following figures at the end of this sub chapter AQUILA Mediazine Settings ANP novice Mediazine expert Use Mediazine novice if you do not know following terms packet loss delay jitter Bronze Q uo 0 te Gold Details Figure 3 1 Settings user selection Page 46 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Thereafter the following proceedings can be recommended a Ask about the connection
92. schedul reservation time proxyName Name of the proxy to be used see application profile the EAT Manager can look into the rc file in order to get the id of the proxy if no proxy is needed enabled Indicates whether the reservation shall be immediately established in the edge router or not struct RegularMultipleSpec appProfile ProfileID applicationProfile One string applicationId application converter OptionID selection One string serviceComponent service component ScopeSeq reqScopes Several scopes FlowSeq regFlows Several flow specs aca ServiceSchedul schedule One schedule string proxyName One proxy boolean enabled Regular request for a multiple e g a bi directional reservation building an inseperable unit of session elements the session unit param requestSpec The requested parameters iparam requester The requester object that has to be notified when something happens with the reservation be null return Reference to a new QoSSessionUnit object with as many elements as requested In the case of a bi directional session there are two request elements x QoSSessionUnit regularMultipleRequest in RegularMultipleSpec requestSpec in QoSRequester requester raises APIException Regular Group Request typedef sequence lt RegularMultipleSpec gt RegularSpecSeq Regular request for a group of QoS sessions e
93. ses APIExcepti For the specificati Note that for each applicationProfile applicationId selection serviceComponent fileID applicationProfile on on of a single regular request service component one request is needed ID of the associated application profile The application name within the application profile Selected session characteristic option from the profile The service component that the selection corresponds to reqScope Scope reservation style regFlow Source and dest addresses ports protocol DSCP schedule Service schedule reservation time proxyName Name of the proxy to be used see application profile the EAT Manager can look into the rc file in order to get the id of the proxy if no proxy is needed enabled Indicates whether the reservation shall be immediately established in the edge router or not struct RegularSpec appProfile ProfileID applicationProfile One string applicationId application converter OptionID selection One string serviceComponent service component 5 5 One scope aca Flow reqF low One flow spec ServiceSchedul schedule One schedule string proxyName One proxy boolean enabled OR OX oo X X Xo FF HF ox Requests for QoSS It is foreseen for but are supported b non professional re preparation of suit then for such as Qo param requestS
94. stSpec gt lt NetworkService ServiceId PMM gt lt SLS gt lt Scope ReservationStyle p2p gt lt Flow gt lt Source gt lt Address gt lt IPAddress gt 192 168 95 0 lt IPAddress gt lt NetMask gt 255 255 255 0 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt lt Address gt lt Source gt lt Destination gt lt Address gt lt IPAddress gt 192 168 94 0 lt IPAddress gt lt NetMask gt 255 255 255 0 lt NetMask gt lt LowerPortNumber gt 0 lt LowerPortNumber gt lt UpperPortNumber gt 0 lt UpperPortNumber gt lt Address gt lt Destination gt ProtocolId 0 ProtocollId lt DSCP gt 0 lt DSCP gt lt Flow gt lt TrafficSpec gt PR Unit bit s gt 1 lt PR gt lt BSP Unit bytes 1 BSP lt SR Unit bit s gt 1000 lt SR gt lt BSS Unit bytes gt 1 lt BSS gt lt m Unit bytes gt 40 lt m gt lt M Unit bytes gt 512 lt M gt EAR Unit bit s gt 1 lt EAR gt lt PR1 Unit bit s gt 1 lt PRI1 gt lt PR2 Unit bit s gt 1 lt PR2 gt lt TrafficSpec gt lt Schedule gt lt DateTime gt 0 lt DateTime gt lt Duration gt 0 lt Duration gt lt Idle gt 0 lt Idle gt lt Cycles gt 0 lt Cycles gt lt Schedule gt lt SLS gt lt RequestSpec gt Page 83 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt Request gt lt Release the
95. t CDATA FIXED bit s gt lt ELEMENT PR1 PCDATA gt lt ATTLIST unit CDATA FIXED bit s gt lt ELEMENT PR2 PCDATA gt lt ATTLIST PR2 unit CDATA FIXED bit s gt lt ELEMENT value PCDATA gt lt ELEMENT unit PCDATA gt lt ELEMENT requirement PCDATA gt lt ELEMENT qualifier PCDATA gt Example Codec G_723_1 xml lt xml version 1 0 encoding UTF 8 gt lt DOCTYPE CodecSpecification PUBLIC G 723 1 file D ProfileAQUILAv8 CodecSpecificationVl dtd gt CodecSpecification name G6 723 1 gt lt QoSRequirement gt lt maxDelay value low unit ms gt 250 lt maxDelay gt lt maxJitter value veryLow unit ms gt 30 lt maxJitter gt lt maxLoss value unspecified unit gt 10 lt maxLoss gt lt bwGuarant unit 2 requirement low gt lt ordering value true gt lt QoSRequirement gt lt Option serviceComponent SP component lt SessionCharacteristic gt lt name gt Speaking mode lt name gt lt semanticalGroup type UserFriendly gt lt qualifier gt One speaker speaks at a time Simultaneous speaking of more than one spaeker is not possible Speakers have to speak one after the other lt qualifier gt lt semanticalGroup gt lt semanticalGroup type Technical gt qualifier Half duplex qualifier lt semanticalGroup gt ECH optionID 1 description Speech Page 78 of 85 SL IST 1999 10077 WP2
96. t Option serviceComponent SP lt SessionCharacteristic gt lt name gt Speaking mode lt name gt lt semanticalGroup type UserFriendly gt lt qualifier gt The speakers can speak simutaneously during the communication lt qualifier gt lt semanticalGroup gt lt semanticalGroup type Technical gt qualifier full duplex qualifier lt semanticalGroup gt lt SessionCharacteristic gt lt TrafficSpecification gt lt type type realTime gt lt type gt duration value longLiving gt lt duration gt lt adaptivity value unspecified gt lt adaptivity gt lt burstiness value no gt lt burstiness gt lt packetSize variability constant qualifier medium gt lt averagePacketSize unit bytes qualifier medium gt lt averagePacketSize gt maximumPacketSize unit bytes qualifier small lt maximumPacketSize gt minimumPolicedUnit unit bytes qualifier medium gt lt minimumPolicedUnit gt optionID 2 gt Page 79 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit lt packetSize gt lt bitRate variability constant qualifier medium gt lt peakRate unit bit s qualifier medium gt lt peakRate gt lt averageRate unit bit s qualifier medium gt lt averageRate gt lt bitRate gt lt flow value unspecified gt lt flow gt lt TrafficSpecific
97. t of the CodecSpecification corresponds to the general QoS requirements of the implemented codec under whose the codec service component can work properly gt lt ELEMENT QoSRequirement maxDelay maxJitter maxLoss bwGuarantee ordering gt 1 maxDelay one way latency as unit milliseconds maxJitter delay variation as unit milliseconds maxLoss packet loss probability as unit percent bwGuarant percentage of bandwidth that should be guaranteed ordering Must the packets be ordered gt lt ELEMENT maxDelay PCDATA gt lt ATTLIST maxDelay unit CDATA FIXED ms value unspecified veryLow low medium high veryHigh notRelevant unspecified lt EMENT maxJitter PCDATA gt lt ATTLIST maxJitter unit CDATA FIXED ms value unspecified veryLow low medium high veryHigh notRelevant unspecified lt EMENT maxLoss PCDATA gt lt ATTLIST maxLoss unit CDATA FIXED 5 value unspecified veryLow low medium high veryHigh notRelevant unspecified lt ELEMENT bwGuarantee PCDATA gt lt ATTLIST bwGuarantee unit CDATA FIXED requirement unspecified veryLow low medium high veryHigh notRelevant unspecified Page 75 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 Avis User Guide for End user Applica
98. tailed way and it mirrors the up to date technical possibilities Of course there are other pos sibilities of classification The consequences of a classification modification are stated in chapter The three categories to classify today s existing Internet connections are 1 Low bandwidth connection up to 128 kBit e g modem ISDN connection 2 Medium bandwidth connection 128 kBit 2 MBit e g DSL cable modem connection 3 High bandwidth connection more than 2 MBit e g LAN connection The kind of connection influences quality features which are dependent on the limitation of the amount of transferred data per time interval e g the size of the pictures of a video stream at a certain compression To each connection category corresponds a category of services QoS category where a specific quality can be guaranteed Bronze time critical applications with a small amount of transferred data e g action games services with speech input and output e g Internet telephony audio streams e g Internet radio Silver same applications as under Bronze video live streams with small or medium size of the pictures e g Internet TV by a resolution of 320x240 pixels Gold same applications as under Silver video live streams in TV quality 720x576 pixels The exact allocation of the Basic Internet Application to one of the above mentioned catego ries should result from the technical features in combination with the respective Application
99. tegory In this context the following questions have to be an swered Which and how many categories are needed In which way can a surplus value for the service provider be created by the usage of these categories And in which way can this sur plus value be quantified It is not the subject of this report to deal with billing systems or accounting systems or with questions of security and warranty that always occur in the usage of such a system The busi ness models will be dealt with in AQUILA document D3302 But the above mentioned ques tions are crucial for the assignment of the Basic Internet Applications and their relationship to the QoS categories for further information see chapter B21 The Basic Internet Applications can only be assigned by the development of a Complex Inter net Service because the conditions can only be defined there It is recommended to use ap propriate correlation profiles to allow better usage and easy modification These profiles will be referred to as QoS Category Profiles Example of a QoS Category Profile for AQUILA Mediazine Figure 3 6 QoS Profile Mediazine This profile describes the correlation between a special QoS category and the options of a Ba sic Internet Application Profile by using the Application Name and the Service Compo Page 49 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit nent For each Basic In
100. ternet Application and its service components one of the options will be used as default option see also prn The Mediazine expert has to have the possibility to change the QoS parameters within the CIS set up menu in detail AQUILA Mediazine Settings Mediazine novice Mediazine expert Connection LAN gt 2 MBIT QoS Support Off Bronze Silver Gold O O Details Figure 3 7 Settings all QoS cat exp user Example Typical values of such QoS parameters used for the service WinAmp an applica tion to play audio and video files ApplicationName WinAmp Version 2 77 Location C Programme Winamp Winamp exe SupportedMediaTypes mp3 mp2 wav QoS Category Bronze Quality medium quality Bandwidth KB s 64 Sampling rate KHz 44 QoS Category Silver Quality CD quality Bandwidth KB s 256 Page 50 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Sampling rate KHz 44 As can easily be seen a part of the data depends on the characteristics of the service used by WinAmp or of WinAmp itself e g the programme version the location of the application and the assignment of the categories This data should be available within the Complex Internet Service Other parts are QoS specific containing the bandwidth and quality of the transmis sion This data can be set in the profiles of the Basic Internet Applicati
101. the Proxy settings in the LDAP database java cp aquila classes jaxb rt 1 0 ea jar aquila uil main StoreXml cn sip dresden cn proxy cn eat cn rcl sip dresden xml aquila rcl eat proxy ProxySettings 3 Run the Proxy java cp aquila classes aquila rcl eat proxy SIPProxy sip dresden 4 The Proxy registers itself at the already running EAT Page 55 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit 5 Abbreviations A ACA API AQUILA B BIA C CBR CIS Codec CORBA DSL DTD EAT FTP GUI IDL IP ISDN Admission Control Agent Application Programming Interface Adaptive Resource Control for QoS Using an IP based Layered Architecture Basic Internet Application Legacy Application Constant Bit Rate Complex Internet Service COmpression DECompression Common Object Request Broker Architecture see ORB Digital Subscriber Line Document Type Definition End user Application Toolkit File Transfer Protocol Graphical User Interface Interface Definition Language Internet Protocol Integrated Services Digital Network Page 56 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit JDK LAN LDAP MF NS ORB PR QoS RCL RSVP SDP SIP SLA SLS SR TCP Java Development Kit Local Area Network Lightweight Directory Access Protocol Multi Field Network Service
102. the way the service can be used in the future by the end user It is important that the design of the service enable the user to easily grasp how to handle the settings of the QoS parameters 3 2 4 Recommendations for the Feedback on the Status of the Connection of the QoS Categories Another essential aspect of the availability of a QoS supported Complex Internet Service 1s the feedback on the status of the connection of the QoS categories chosen by the user The user will not be willing to bear the additional costs for QoS support if there is no obvious service in return It is crucial to visualise the effects of the QoS support because the differ ence between an enabled and a disabled QoS service is not always easy to seize for the user The format of the feedback should be adapted to the needs of the user that is to say to his her profile Page 52 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Mediazine expert Mediazine novice To verify whether the user settings work properly the user should be given the pos sibility to inquire on detailed information on the connection such as e g currently transferred amount of data packet loss la tency etc or to use the feedback of the stan dard user The user should be informed of the correct functioning of the settings by an obvious symbol showing the selected QoS category Table 3 3 Recommendations for Mediazine users
103. tion For example a reservation request that relies Page 14 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit on the support of a Proxy results in a session which is still provisional until the Proxy notifies the EAT that the reservation can really be activated The notity operation in this case informs the requesting client about this event which is of the type RequestEvent And due to the fact that the reservation request towards the network can fail even if it is provisionally established within the EAT the requester is in formed about the success of the request Accepted or Rejected Another important event occurs when an already established reservation is automatically Released if the connection to the network fails For that reason RequestEvent contains one of these three kinds of events as well as the id of the belonging QoSSession and an optional string for more details on the reason The following second part of the API model depicts other supporting classes and interfaces interface interface ServiceDistributor ApplicationiManager getNetwork Services Network Servicel getAvallabledpps ApplicationInformation getApplicationProxies ProxyDescriptioni ApplicationInformation aquila rcl eat proxy ProxyDescription applicationProfile String proxyld int applicationName String proxyName String versionNo String proxyDescription String buildNo St
104. tion Toolkit gt lt ELEMENT ordering EMPTY gt lt ATTLIST ordering value unspecified true false true gt lt An Option corresponds to a quality level that is proposed by the implementation of the codec e g picture size sound quality An Option consists of the generic so called SessionCharacteristics the characteristics in the end user language and TrafficSpecification describing the traffic produced by the application in qualitative and quantitative terms and the AQUILA dependent AQUILASpecification technical information related to the NSs gt lt ELEMENT Option SessionCharacteristic TrafficSpecification AQUILASpecification gt lt ATTLIST Option optionID CDATA REQUIRED serviceComponent AUDIO SPEECH VIDEO DATA REQUIRED description CDATA IMPLIED gt lt ELEMENT SessionCharacteristic name semanticalGroup gt lt name of the service component e g picture size qualifier adjective terms describing the service component e g medium 4 gt lt ELEMENT name PCDATA gt lt ELEMENT semanticalGroup description qualifier gt lt ATTLIST semanticalGroup type
105. tor System out println Got the service distributor Tests Network services NetworkService services new NetworkService 0 System out println Available network services services theServiceDistributor getNetworkServices for int i 0 i lt services length i System out println services i servId System out println services i fullName Page 72 of 85 Avis IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Available Apps ApplicationInformation apps new ApplicationInformation 0 System out println Available Applications apps theAppManager getAvailableApps for int i 0 i apps length i System out println apps i applicationProfile System out println apps i applicationName Login System out println Try to login wi QoSSessionRequest request theLogin loginClient Request LE ig new LoginInfo wi request null System out println Got the request object 1 try PMC geheim 0815 Structs which contains object references have to b initialized because their default constructor is empty String app String com String ns Scope s new Scop Flow f new Flow new Address 10 0 5 2 255 255 255 0 0 0 appl A componenti 2 new Addr
106. unt name and password param clientSessionId Created by a Web server providing the Login GUI return Reference to a new QoSSessionRequest object ay QoSSessionRequest loginClient in subscriber LoginInfo logInfo in string clientSessionId raises APIException Gets the reference to the QoSSessionRequest object created at the login Called by the Reservation GUI the Regular Reservation GUI etc param clientSessionId Web servers session id included in the URL return Reference to th xisting QoSSessionRequest object x QoSSessionRequest getQSRequestMeansSessionld in string clientSessionId QoS Session Request typedef sequence lt string gt ClientSessionIdSeg The QoSSessionRequest interface is the user agent for QoS session requests and SLA retrieval Requests can be made on an advanced and on a regular level interface QoSSessionRequest 1 The subscriber readonly attribute string accountName Page 61 of 85 SL IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit All current client session ids readonly attribute ClientSessionIdSeq clientSessionIds SLAs The SLAs readonly attribute converter SLASeq contracts Advanced Request A For th
107. user interfaces are an essential part of modern complex Internet services that provide multimedia services towards Internet users In that way the application and user interfaces developed for the first trial can with some modifications be reused for the applications of the second trial More specifically the appli cation and user support will be based on the following main pillars e An Application Programming Interface API for QoS aware applications e Graphical User Interface for manual reservation in different modes e Application Profiles to allow QoS mapping from a technical to a user friendly level and e Application Level Proxies to support some special application signalling protocols The one responsible middleware that offers all these interface is the EAT which acts as the only QoS portal to the AQUILA s RCL controlled network Page 2 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Table of Contents Page 3 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Page 4 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Page 5 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit Table of Tables ABLE 2 1 TYPICAL SCENARIO FOR THE USAGE OF THE EAT API ABLE 2 2 T
108. utes and abstract operations e Four attributes sessionId as the unique session identifier isGroup to indicate whether the session is a group or a unit group to refer to the aggregating group if one exists and requester to refer to the optional requesting client e The release operation to release this session unit or group including all of its ele ments groups units and or single elements Accounting data are automatically requested and stored within the EAT Page 13 of 85 IST 1999 10077 WP2 2 TUD 2203 PU R b0 User Guide for End user Application Toolkit The suspend operation to cancel either this session unit or group without storing any accounting data The interface QoSSessionGroup as specialisation of QoSSession It is for reservation groups which have the purpose to be better manageable than many separate reservations e g to suspend the whole group The interface provides the following features e The attribute groupName to show the purpose of the group e The attribute sessions to refer to the member QoSSessions of this group Thus these can either be QoSSessionUnits or again QoSSessionsGroups e The getSession operation with one parameter the id of a member session It returns the reference to this object e The join operation with one parameter the reference to an already established session unit or group in order to include it into this group By using this multid
109. vation group Prepare the options for the regular res ervation mode Request for a single reservation for one service component of the app fora multiple reservation unit or for a reservation group Get the reference to the established res ervation session s either directly or via If a Proxy is required for the above res ervation request be prepared to receive an accepted or rejected event Create an empty reservation group Perhaps join an already established ses sion to a group or leave from it Perhaps retrieve the accounting data of a single reservation unit Release a reservation group without releasing its members Release a reservation unit or group Or just suspend cancel it Close the client s session without re leasing any reservations ApplicationManager getApplicationProxies ApplicationManager getAvailableApps QoSSessionRequest contracts QoSSessionRequest advancedRequest QoSSessionRequest advancedMultipleRequest QoSSessionRequest advancedGroupRequest QoSSessionRequest prepareSessionCharacteristicsOptions QoSSessionRequest regularRequest QoSSessionRequest regularMultipleRequest QoSSessionRequest regularGroupRequest QoSSessionRequest getActiveQoSSessions EventObserver notify QoSSessionGroup creatyEmpt yGroup QoSSessionGroup join QoSSessionGroup leave Qo
110. work The figure shows the currently defined network services which are Premium CBR Premium VBR Premium Multimedia and Premium Mission Critical The user is allowed to select only one of them The Service Level Specification this is defined in D1201 and consists of the following parameters o Scope Point to point point to any point to many any to point The selected Scope has to match with the selected Network Service checked upon submission of the request Flow identifiers These are the network connection parameters similar to the Regular reservation case and consist of the fields for the Address the Net Mask the Lower Port and Upper Port numbers for both the Source and Desti nation sides The Lower Port is mandatory to be specified If the user specifies also the Upper Port the EAT will make the reservation for all ports greater than or equal to the lower port up to the upper port included Alternatively the user can select one of the available Proxies from the Proxy list box to let the system de tect these parameters There is also a Bi directional reservation check box which has the meaning that when ticked selected the EAT will perform the res ervation in both directions from source to destination as well from destination to source with the same reservation parameters Traffic Specification It consists of the traffic conditioning parameters like Peak Rate PR Buc
111. xy detects that the call was released too So far the Proxy initiated reservation scenario has been dealt with A Proxy however should also be prepared to answer questions from the EAT about a reservation GUl initiated sce nario For this purpose it must implement the ApplicationProxy interface also presented in the previous listing The Proxy Manager calls the registerApplication function in order to ask the specific Proxy for the port numbers of a connection providing its IP addresses source and destination When this information is detected the Proxy will reply asynchronously us ing again the establishQoS call of the ProxyManager interface Please note that the ProxyManager interface is an extension of two interfaces Application Proxy and SessionStarter The latter is presented in the following listing Package aquila rcl eat eatManager File eatManager idl Version 3 6 11 12 2001 Dresden University of Technology TUD National Technical University of Athens NTU This file contains the specification of the internal interface of the EAT anager towards the Proxy and the Converter ifndef eatManager_idl define eatManager_idl include aca idl include service idl module eatManager ManagerException containing a message string exception ManagerException string reason The session information consits of data detected by the Proxy in order to allow a
Download Pdf Manuals
Related Search
Related Contents
CapTel® 800 Guía Rápida Operating Instructions - Tecnica Industriale S.r.l. ペツル 取扱説明書 バーテックスST A12 Dahua HDCVI Standalone DVR User's Manual PSP R Super plastificante de fraguado retardado. Copyright © All rights reserved.
Failed to retrieve file