270 likes | 366 Views
Yechiam Yemini, Danilo Florissi Computer Science Dept Columbia University New York, NY10027 USA {yemini,df}@cs.columbia.edu. Phil Wang Nortel Networks 3500 Carling Avenue Ottawa, ON K1Y 4H7 Canada pywang@nortelnetworks.com. John Zinky BBN Technologies 10 Moulton Street
E N D
Yechiam Yemini, Danilo Florissi Computer Science Dept Columbia University New York, NY10027 USA {yemini,df}@cs.columbia.edu Phil Wang Nortel Networks 3500 Carling Avenue Ottawa, ON K1Y 4H7 Canada pywang@nortelnetworks.com John Zinky BBN Technologies 10 Moulton Street Cambridge, MA 02138 USA jzinky@bbn.com A Distributed Resource Controller for QoS Applications
Contents • Key Challenges in Providing QoS to Applications • State of Application QoS • Key Challenges • Related Work • The DRC (Distributed Resource Control) • Goals • Architecture • User Interfaces • The CRC CORBA-based DRC Implementation • System Overview • Prototype system description • IDL Interfaces • Status • Summary and Future Work Distributed Resource Controller for QoS Applications, P. Wang et al
Key Challenges in Providing QoS to Applications • State of Application QoS • Key Challenges • Related Work
State of the Art in Application QoS Provisioning • Significant diversity in QoS provisioning paradigms • ATM: resource allocation for virtual paths/circuits via UNI • DiffServ: priority classification for packets via BB • Intserv/RSVP: flow-based resource reservation via RAPI • Significant diversity in application requirements • Guarantees: bandwidth, delay, jitter, loss, etc. • Custom specification for given QoS provisioning service Distributed Resource Controller for QoS Applications, P. Wang et al
Example: Provisioning with IntServ/RSVP • Custom set of APIs for UDP application • RAPI: RSVP API for signaling • SAPI: Socket API for data transfer Distributed Resource Controller for QoS Applications, P. Wang et al
Key Challenges • Complex customization of QoS specification • Portability is sacrificed • Varied QoS paradigms with inconsistent resource uses • Legacy applications need to acquire QoS delivery • Need QoS control and management for adaptation • QoS APIs available for a few platforms/languages • QoS control from systems that do not support QoS Distributed Resource Controller for QoS Applications, P. Wang et al
Related Work • Work on integration efforts • Intserv and RSVP over ATM, RFC 2382, 98 • Intserv Operation Over Diffserv, Internet Draft, 99 • Diffserv Bandwidth Broker (BB), Internet2 BBAC, 99 • QoS Broker (for ATM service), Nahrstedt et al, 95 • WinSock2 (for ATM and Intsev), WinSock Group, 96 • A QoS API Proposal, Riddle et al, 98 • Previous work from the authors • QoS performances of TCP and UDP applications using Intserv, Wang et al, 99 • QoSockets (for ATM and Intserv), Florrisi et al, 96 Distributed Resource Controller for QoS Applications, P. Wang et al
A Distributed Resource Controller for QoS Applications • Goals • Architecture • User Interfaces
DRC Goals • Uniform interface for QoS requests • Eases development of applications • Platform independent • QoS-based resource control in a distributed model • Portability across • Platforms, services, languages, and applications Distributed Resource Controller for QoS Applications, P. Wang et al
DRC Functionality • Distributed middleware system • Main components • Distributed service managers • Distributed Resource agents • Main mechanisms • Delivery of application QoS requests to networks • Control for utilization of network services/resources • Utilities • Generic APIs and QoS specifications • Utility to request QoS off-line for legacy applications Distributed Resource Controller for QoS Applications, P. Wang et al
DRC Architecture Overview Domain 1 Domain 1 Domain 2 Domain 2 IS: Intserv DS: Diffsev DA: DRC Agent DM: DRC Manager r DRC DRC - - Based Based Non Non - - DRC DRC Console Console App 1 App 1 App 2 App 2 QoS Mgmt QoS Mgmt User Middleware Middleware DM 1 DM 1 DM 2 DM 2 DRC Manager DRC Manager DRC Agent DRC Agent DSDA1 DSDA1 ISDA1 ISDA1 DSDA2 DSDA2 ISDA2 ISDA2 ATMDA ATMDA Resource Resource RSVPD RSVPD BB BB RSVPD RSVPD ATM Signal ATM Signal Policy Server Policy Server Manager Manager Carrier Carrier Router Router Host Host Router Router Host Host Switch Switch Network Network Distributed Resource Controller for QoS Applications, P. Wang et al
DRC User Layer • Components • QoS demanding applications • DRC user-end utilities • Off-line QoS allocation (Console) • QoS control and management (QoS Mgmt) • Applications can be • DRC-based (App1) • Non-DRC-based (App2) Domain 1 Domain 1 Domain 2 Domain 2 DRC DRC - - Based Based Non Non - - DRC DRC Console Console App 1 App 1 App 2 App 2 QoS Mgmt QoS Mgmt User Distributed Resource Controller for QoS Applications, P. Wang et al
DRC Middleware Layer • Goal: to bridge • Applications needs • Underlying resource provisioning mechanisms • Main components • DRC Managers (DM): services • DRC Agents (DA): resources Middleware Middleware DM 1 DM 1 DM 2 DM 2 DRC Manager DRC Manager DRC Agent DRC Agent DSDA1 DSDA1 ISDA1 ISDA1 DSDA2 DSDA2 ISDA2 ISDA2 ATMDA ATMDA Distributed Resource Controller for QoS Applications, P. Wang et al
DRC DMs and DAs • DRC service Manager (DM) • Distributed in network domains • Accepts application QoS requests and queries • Selects provisioning services • Generates QoS requirements for specific services • Locates DAs to request QoS and query info • DRC resource Agent (DA) • Maps QoS requirements to service-specific QoS • Interacts with DMs • Monitors utilization of network resources and services Distributed Resource Controller for QoS Applications, P. Wang et al
DRC Resource Layer • Includes underlying network resources and services • Resource carriers: hosts, switches and routers • Services: Diffserv, Intserv and ATM • Resource managers • DiffServ • Bandwidth Broker (BB) • Policy Server (PS) • IntServ • RSVP signaling Daemon (RSVPD) • ATM • ATM signaling (manager) Resource Resource RSVPD RSVPD BB BB RSVPD RSVPD ATM Signal ATM Signal Policy Server Policy Server Manager Manager Carrier Carrier Router Router Host Host Router Router Host Host Switch Switch Network Network Distributed Resource Controller for QoS Applications, P. Wang et al
QoS Specification in DRC (I) • Traffic Profile: QoS description • Stream characteristics Common for both QoS-demanding and non-QoS communications • Source address (e.g., an IP address and a port number) • Destination address • Transport protocol (e.g., TCP or UDP) • Network performance requirements Quantitatively QoS of the traffic stream or session • Throughput, e.g., transmitting rates and message size • Latency, e.g., packet or message delay • Jitter, e.g., packet or message delay variance • Reliability, e.g., message loss and connection fail Distributed Resource Controller for QoS Applications, P. Wang et al
QoS Specification in DRC (II) • User Expectation: QoS Mapping • Service type (e.g., Intserv or Intserv/Controlled-Load) • Service period • Service priority • Traffic conditioning(shaping traffic ?) • Authentication and payment • Extra information from a service contract • E.g., the service level agreement (SLA) in Diffserv Distributed Resource Controller for QoS Applications, P. Wang et al
DRC QoS APIs • Five functional abstractions • Open and close a DRC connection • Drc_Handler open(Drc_Name): create or open a new DRC handler • Drc_Status close(Drc_Handler): close a DRC handler • Resource query • Drc_Infoquery(Drc_Src, Drc_Dst): available service and resource • QoS specification • Drc_Status specify(Drc_Handler, Drc_QSpec): assign or modify • QoS request • Drc_Status request(Drc_Handler): commit or re-commit • Error and status • Drc_Status status(Drc_Handler): check the status • Drc_Error error(Drc_Handler): process an error Distributed Resource Controller for QoS Applications, P. Wang et al
CRC: A CORBA-based DRC • System Overview • Prototype system description • IDL Interfaces • Status
CRC System Overview CRC Agent CRC Agent CRC Agent ORB ORB ORB System Administrator Diffserv DRC-based User CRC Console Intserv App 1 CORBA RTP/UDP CRC IDL CRC Manager Socket ORB ORB Intserv Intserv Diffserv Non-DRC User Rsvpd Rsvpd App 2 BB BB BB Distributed Resource Controller for QoS Applications, P. Wang et al
CRC Prototype System … App 1 App N ORB Server … … Resource Agents ORB Server … RSVPD M RSVPD M … Host M Host M Console ORB Client RMgr 1 RMgr 2 Reservation Managers RAgt 1 RAgt 2 RAgt M Underlying RSVPD 1 RSVPD 1 RSVPD 2 RSVPD 2 Host 1 Host 1 Host 2 Host 2 Distributed Resource Controller for QoS Applications, P. Wang et al
CRC CORBA IDL Interfaces Reservation Manager Module module RMM { enum STATUS { UNKNOWN, // No such a flow ? INITOK, … RESVOK, }; enum ERROR { NOFLOW, // No such a flow … RSVPRESVERR // Caused by a // RAPI_RESV_ERROR event // from rsvpd }; Rmanager Object interface Rmgr { STATUS specify(…); // assign // or modify the QoS // specification STATUS request(…); // // commit or update a QoS // request STATUS status(…); // return // the status of a flow ERROR error(…); // return // the error of a flow }; Rmanager Factory interface Rfct { long init(…); // init a flow, return a // flow ID Rmgr create(…); // create an // Rmgr object STATUS stop(…); // stop an // Rmgr service }; Distributed Resource Controller for QoS Applications, P. Wang et al
CRC: Status • CRC 1.0 released • Written in C++ under Linux 2.2 • Uses the TAO real-time CORBA ORB • Uses the Linux RSVP package • Available at http://www.cs.columbia.edu/dcc/crc • Developed several CRC applications • In C, C++, and Java • On Solaris and Linux • Used for the bandwidth management of QuO 2.0 Distributed Resource Controller for QoS Applications, P. Wang et al
Future Work • Mulit-service integration in CRC • Diffserv: DSDA to incorporate SLA and/or SLS • ATM: ATMDA to incorporate UNI • Application adaptation to effective QoS delivery • Monitoring of network resource usage • Dynamic adaptation according to application semantics • Extension for policy-based services • Need DAs and DMs extended Distributed Resource Controller for QoS Applications, P. Wang et al
Summary • New unified distributed resource control framework • Middleware system with user interfaces and utility • Prototype system implemented using CORBA • Allows application QoS specification on or off-line • Uses generic QoS specifications and APIs • Independent of • platform, provisioning service, language, or application. • Available for downloading at • http://www.cs.columbia.edu/dcc/crc Distributed Resource Controller for QoS Applications, P. Wang et al
Thank You ! A Distributed Resource Controller for QoS Applications Distributed Resource Controller for QoS Applications, P. Wang et al