Narnia: A Virtual Machine for Multimedia Communication Services



Similar documents
is knowing the car market inside out.

(404) (404)

A Formal Model for Data Flow Diagram Rules

Sun Synchronous Orbits for the Earth Solar Power Satellite System

PLUG AND PLAY SERVER LOAD BALANCING AND GLOBAL SERVER LOAD BALANCING FOR TACTICAL NETWORKS

Why An Event App... Before You Start... Try A Few Apps... Event Management Features... Generate Revenue... Vendors & Questions to Ask...

Buffer Management Method for Multiple Projects in the CCPM-MPL Representation

Traffic Information Estimation Methods Based on Cellular Network Data

by John Donald, Lecturer, School of Accounting, Economics and Finance, Deakin University, Australia

Modern Portfolio Theory (MPT) Statistics

Authenticated Encryption. Jeremy, Paul, Ken, and Mike

Who uses our services? We have a growing customer base. with institutions all around the globe.

Control of Perceived Quality of Service in Multimedia Retrieval Services: Prediction-based mechanism vs. compensation buffers

CHAPTER 4c. ROOTS OF EQUATIONS

ERLANG C FORMULA AND ITS USE IN THE CALL CENTERS

Continuity Cloud Virtual Firewall Guide

Section 7.4: Exponential Growth and Decay

The Beer-Bouguer-Lambert law. Concepts of extinction (scattering plus absorption) and emission. Schwarzschild s equation.

Online Load Balancing and Correlated Randomness

QUANTITATIVE METHODS CLASSES WEEK SEVEN

A Novel Approach For Generating Rules For SMS Spam Filtering Using Rough Sets

Traffic Flow Analysis (2)

SPECIAL VOWEL SOUNDS

Econ 371: Answer Key for Problem Set 1 (Chapter 12-13)

CPS 220 Theory of Computation REGULAR LANGUAGES. Regular expressions

FACULTY SALARIES FALL NKU CUPA Data Compared To Published National Data

Life Analysis for the Main bearing of Aircraft Engines

( c) ( t) c denotes the peak rate for the elastic flow. For stream traffic we use the utility function (see Fig. 2): c i 1 (2) T dur

5 2 index. e e. Prime numbers. Prime factors and factor trees. Powers. worked example 10. base. power

Architecture of the proposed standard

Cloud and Big Data Summer School, Stockholm, Aug., 2015 Jeffrey D. Ullman

Rural and Remote Broadband Access: Issues and Solutions in Australia

1. Online Event Registration 2. Event Marketing 3. Automated Event Progress Reports 4. Web based Point of Sale Terminal 5. Marketing System

SAN JOSE UNIFIED RETURNING VOLUNTEER DRIVER PACKET


Reputation Management for DHT-based Collaborative Environments *

A Note on Approximating. the Normal Distribution Function

Question 3: How do you find the relative extrema of a function?

Protecting E-Commerce Systems From Online Fraud

Key Management System Framework for Cloud Storage Singa Suparman, Eng Pin Kwang Temasek Polytechnic

Modelling Exogenous Variability in Cloud Deployments

Adverse Selection and Moral Hazard in a Model With 2 States of the World

Personalized Web Search by User Interest Hierarchy

Term Structure of Interest Rates: The Theories

Maintain Your F5 Solution with Fast, Reliable Support

HOW Interactive Design Conference Advanced HTML 5 / CSS 3 / jquery Chris Converse. codify kōd fī

LAB 3: VELOCITY AND ACCELERATION GRAPHS

Important Information Call Through... 8 Internet Telephony... 6 two PBX systems Internet Calls... 3 Internet Telephony... 2

Lecture 20: Emitter Follower and Differential Amplifiers

A negotiation-based Multi-agent System for Supply Chain Management

Incomplete 2-Port Vector Network Analyzer Calibration Methods

CAFA DIVERSITY JURISDICTION

ANALYSIS OF ORDER-UP-TO-LEVEL INVENTORY SYSTEMS WITH COMPOUND POISSON DEMAND

Sharp bounds for Sándor mean in terms of arithmetic, geometric and harmonic means

Dr David Dexter The Parkinson s UK Brain Bank

Category 7: Employee Commuting

VOL. 25, NÚM. 54, EDICIÓN JUNIO 2007 PP

How To Write A Recipe Card

Basis risk. When speaking about forward or futures contracts, basis risk is the market

Business rules FATCA V. 02/11/2015

Learning & Development

Logo Design/Development 1-on-1

Non-Linear and Unbalanced Three-Phase Load Static Compensation with Asymmetrical and Non Sinusoidal Supply

A Secure Web Services for Location Based Services in Wireless Networks*

Transistor is a semiconductor device with fast respond and accuracy. There are two types

Foreign Exchange Markets and Exchange Rates

Lecture 3: Diffusion: Fick s first law

5.4 Exponential Functions: Differentiation and Integration TOOTLIFTST:

Game of Platforms: Strategic Expansion into Rival (Online) Territory

The example is taken from Sect. 1.2 of Vol. 1 of the CPN book.

Cookie Policy- May 5, 2014

Free ACA SOLUTION (IRS 1094&1095 Reporting)

An RSA-based (t, n) threshold proxy signature scheme with freewill identities

Repulsive Force

The dynamics of international trade invoicing

An Broad outline of Redundant Array of Inexpensive Disks Shaifali Shrivastava 1 Department of Computer Science and Engineering AITR, Indore

C H A P T E R 1 Writing Reports with SAS

ENGINEERING COMPUTATION BY ARTIFICIAL NEURAL NETWORKS. Explaining Neural Networks

A Graph-based Proactive Fault Identification Approach in Computer Networks

Mininum Vertex Cover in Generalized Random Graphs with Power Law Degree Distribution

1.- L a m e j o r o p c ió n e s c l o na r e l d i s co ( s e e x p li c a r á d es p u é s ).

Managing the Outsourcing of Two-Level Service Processes: Literature Review and Integration

The influence of advertising on the purchase of pharmaceutical products

CARE QUALITY COMMISSION ESSENTIAL STANDARDS OF QUALITY AND SAFETY. Outcome 10 Regulation 11 Safety and Suitability of Premises

How do US equity funds perform when it comes to risk?

Multi-State Partnership for Security in Agriculture; Center for Food Security and Pubic Health 1

Lecture notes: 160B revised 9/28/06 Lecture 1: Exchange Rates and the Foreign Exchange Market FT chapter 13

Results from the AutoLaundry News. In-Bay Automatic Survey

Precise Memory Leak Detection for Java Software Using Container Profiling

Financial Mathematics

Multimedia Over FDDI. Advanced Micro Devices. Conference Paper Reprint

The international Internet site of the geoviticulture MCC system Le site Internet international du système CCM géoviticole

Transcription:

Narna: A Vrtua Machn for Mutmda Communcaton Srvc Maurco Cort B Lab, Lucnt Tchnoog 11 Crawford Cornr Rd Homd, NJ 7733 USA +1 732 949 988 mcort@dnrc.b-ab.com J. Robrt Enor B Lab, Lucnt Tchnoog 11 Crawford Cornr Rd Homd, NJ 7733 USA +1 732 949 7533 jr@dnrc.b-ab.com Abtract Narna mddwar that hp programmr bud mutmda communcaton rvc. Th mddwar u a cocton of famar programmng abtracton ncudng vnt, vnt handr, rourc, on, and ur ro to provd both a rvc dvopmnt nvronmnt and a rvc xcuton nvronmnt. Th run-tm nvronmnt th Narna vrtua machn provd man for cratng, tranmttng, and conumng vnt a w a man for cratng, oadng, and xcutng on and vnt handr. Th Narna mddwar ha rvd a th dvopmnt and xcuton patform for a fw appcaton ncudng an audo/vdo chat appcaton and a SIP proxy muator. Th papr rport on how w th appcaton hand varou ur rqut workoad. Th ary ytm prformanc maurmnt ndcat th ffctvn of Narna n upportng dvopmnt and dpoymnt of caab ntwork mutmda rvc. Kyword Dtrbutd mutmda appcaton, vnt, on, ro, prformanc maurmnt, Son Intaton Protoco (SIP), nhancd chat room 1. Introducton Narna mddwar dgnd to ad th dvopmnt and xcuton of dtrbutd appcaton. In partcuar, t hp crat appcaton that can hand hgh rqut oad and can mt trct rabty rqurmnt. To upport uch appcaton, w gav our mddwar a dtnctv t of charactrtc: a hghy ffcnt vntbad communcaton patform, a tranport-ndpndnt vnt addrng chm, drct upport for cod updat, and famar, but xtnb programmng abtracton. To hand hgh rqut oad, a rvr mut b ab to rtrv and act upon mag qucky that, th rvr mut b but upon a hgh prformanc communcaton ytm. Narna provd an vnt-bad communcaton patform. Th vnt ar m-tructurd, wth fxd hadr format and varab body ngth, makng thm ay to wrt and rad. Furthrmor, th vnt ar dvrd to prcy pcfd vnt handr; Narna tf ha no vnt dpatchr (though appcaton can mpmnt thm). Narna nvok on vnt handr to proc ach vnt, accordng to th vnt prorty and ur ro (an acc contro mchanm). To b portab, a rvr mut b but upon a ntwork agnotc communcaton patform. Narna vnt addr ar ntwork ndpndnt; thy corrpond to rourc, whch ar mar to objct found n om programmng anguag. Thu, Narna addr can b mappd to varou undryng tranport ntwork addr. Wh t prnty u IP ntwork, Narna coud mak u of othr packt ntwork,.g., ATM. To b hghy avaab (an apct of rabty), a rvr mut rcovr from t faut and undrgo upgrad wth tt down tm. Narna hp upport rvr avaabty by aowng cod chang durng ytm runtm. Mor pcfcay, vnt handr can b oadd and unoadd durng ytm xcuton. Narna upport program dvopmnt through t prmary programmng abtracton vnt, vnt handr, rourc, on, and ur ro and t runtm nvronmnt, whch bad upon th am t of abtracton. Th abtracton ar xtnb ung C++ programmng anguag. Appcaton ar but a cocton of on. Son provd rndzvou mchanm through whch ur can har rourc. Th rourc can rprnt a wd varty of computr or ntwork ntt uch a vdo rvr, audo brdg, ntwork managmnt rvr, tc.

W hav but vra Narna-bad appcaton ncudng a on drctory rvr, a mutmda chat room, a computr oad-montorng rvr, and a SIP proxy muator. Th papr brfy dcrb th chat room appcaton and th SIP proxy muator, and prnt maurmnt of thr prformanc undr varou workoad. 2. Programmng abtracton Svra famar programmng abtracton ar coctd togthr n th Narna mddwar. Th Narna abtracton provd a ba for th dvopmnt of contro appcaton runnng on NVM- our xcuton nvronmnt. A dcrpton of th abtracton foow. 2.1 Evnt Informay, w ay that Narna-bad appcaton communcat through xchang of vnt. Mor prcy pakng, Narna-bad appcaton nd and rcv Narna mag. A Narna mag a razd rprntaton of part of a Narna vnt objct, and th Narna vrtua machn raz and draz ach mag at t ndng and rcvng t, rpctvy. A hown n th Fgur 1, a Narna mag compod of a hadr and a payoad. Th hadr ha a fxd ngth of 48 byt. It contan a ndr addr, whch dntf th rourc that gnratd th vnt, and a dtnaton addr, whch dntf th rourc that houd proc or conum th vnt. Th ourc and dtnaton addr occupy haf of th vnt hadr pac. Narna rourc addr pac upport mor than 2 96 (or 1 28 ) ourc and dtnaton addr. (By way of comparon, th IP Vron 4 addr pac 2 32.) A Narna addr compod of an appcaton dntfr, a vron numbr, an ntanc dntfr, a on dntfr, and a rourc dntfr. Th addr unquy dfn a Narna rourc. On pcazd Narna appcaton th on and rourc drctory (SRD). Th appcaton kp track of on and rourc addr for a cocton of appcaton. Whn an appcaton crat a pubc 8 12 12 2 1 rourc, t rgtr th rourc addr wth t rvng SRD o that othr appcaton can fnd and pot vnt to th nw rourc. Th SRD mantan corrpondnc btwn ach on/rourc and t IP addr and port numbr. Whn an appcaton nd to nd an vnt to (a on or rourc wthn) an appcaton ntanc, t qur th approprat SRD to rtrv th appcaton ntanc IP addr and port. Th ndng appcaton can thn crat a conncton to th othr appcaton. Th nw conncton w aow th appcaton to xchang on or mor vnt. Snc an appcaton can contan many on and rourc, th SRD mantan a manyon mappng btwn on/rourc addr and IP addr: port numbr (of an appcaton). In addton to th ourc and dtnaton addr, th Narna mag hadr contan th foowng attrbut: a dvc dntfr, an vnt dntfr, an vnt procng prorty, a craton tmtamp, and th ngth of th mag payoad. Th dvc dntfr currnty drvd from th MAC addr of th machn on whch th mag orgnat. It unquy dntf th phyca machn that orgnatd th mag. Th vnt typ fd contan a numbr that unqu wthn a rourc abtracton. Thrfor, th concatnaton of th dtnaton addr (12 byt) and th vnt typ (2 byt) form an appcaton unqu vnt dntfr. Th 14 byt dtrmn th vnt handr that w b nvokd to proc a partcuar vnt. An vnt mag ncud a uggtd procng prorty, whch th dtnaton appcaton can tak nto account f t rcv two or mor vnt at about th am tm. Our vrtua machn mantan an vnt prorty quu for ach on, but do not prmpt th xcuton of ow prorty vnt on bhaf of a hgh prorty vnt. Th payoad ngth ndcat th numbr of byt ncudd n th mag payoad. Th payoad an appcaton-v byt tram; t not ntrprtd by any Narna ntrna componnt. Currnty, Narna mag ar tranmttd ung TCP. W ar currnty workng on a nw vron that ncud upport for othr tranport protoco uch a UDP or SCTP. 8 3 2 654 max. Dvc Idntfr Sourc Rourc Idntfr Dtnaton Rourc Idntfr Evnt Typ Prorty Tmtamp Unud Payoad Lngth Payoad ÿþýüûúùø ùöõûôþõùóúòòõýúùñðûóõïù

2.2 Evnt handr An vnt handr pcf how an ncomng vnt procd. Each vnt handr aocatd wth a ng vnt typ. Whn an vnt arrv to a Narna appcaton, th NVM w nvok th vnt handr aocatd wth th typ,.., th dtnaton addr and th vnt dntfr fd, of th ncomng vnt. Programmr can crat nw vnt handr by xtndng th Narna vnt handr ca. Each nw vnt handr ca houd ncud a nw xcuthandr mthod. Th mthod rcv th ncomng vnt a on of t paramtr. Th xcuthandr mthod can acc th vnt hadr and payoad. In partcuar, th mthod houd chck for th payoad yntax, and mpmnt th mantc of th ncomng vnt. Programmr can dvop on or mor vnt handr to proc a partcuar vnt typ. Howvr, on and ony on vnt handr pr vnt typ can b actv wthn a rourc of an appcaton ntanc. Evnt handr can b rpacd at any tm n a Narna appcaton. Programmr can bud confguraton appcaton that can rqut to a Narna appcaton to rpac t vnt handr. Th fatur nab th contructon of hghy avaab appcaton that can b upgradd wthout rvc ntrrupton. For xamp, om tcommuncaton appcaton ar rqurd to hav 5.25 mnut or of downtm a yar (.. 99.999% avaab). Intad of toppng and rtartng a crtca appcaton, oprator can rpac th vnt handr at runtm. 2.3. Shard Rourc Narna hard rourc mpmnt th contro mchanm to manag nformaton n mut-ur nvronmnt. On or mor ur can crat, acc, updat, and dtroy hard rourc. Narna aow programmr to dfn th mchanm that contro how th nformaton bng hard. Th contro mchanm ar mpmntd by on or mor vnt handr. For xamp, th programmng chdu of a TV chann can b controd by a Narna hard rourc. A ur har th chann chdu. Wh a ur can brow th programmng chdu, ony a ma numbr of prvgd ur can chang t contnt. A Narna hard rourc pcf th ru to har th chann chdu. A Narna hard rourc compr a unqu dntfr, (contro) tat, and a t of mthod rprntd by vnt handr. Th contro tat tord n a t of nam-vau par. Th rourc tat avaab to a vnt handr dfnd n th hard rourc. Acc to th t thrad-af. Thu, two or mor vnt handr ntanc can updat th hard rourc tat wthout compromng t ntgrty. Evry vnt handr ntanc aocatd wth xacty on vnt dntfr,.. dtnaton addr + vnt typ. Thu, ach ncomng vnt trggr on and ony on vnt handr. 2.4. Son Concptuay, a on a rndzvou pont whr two or mor ur can xchang nformaton n a hard contxt. Thu, w trat a on a a pcazd hard rourc on that ha bn augmntd wth on tat and contro mchanm to coordnat th xchang of nformaton btwn on ur. Our on ca xtnd th rourc ca dcrbd abov. In addton to th ba rourc attrbut,.g., th t of nam-vau par and vnt handr, th on abtracton contan a t of hard rourc, a t of partcpant, and t of ur ro. Thrfor, a on objct rqur addtona vnt handr to admntr th nw t. Programmr can dvop handr to contro how ur can jon, qury, and av th on, ur can add and dt rourc to a on, and ur can add, modfy, and dt ur ro. Anaogou to proc runnng n an opratng ytm, a on objct ndpndnt of othr on objct. For xamp, th vnt handr oadd n a on cannot updat nformaton tord n othr on. Smary, vnt provd th ntr-proc communcaton mchanm to xchang nformaton bwtn two Narna on. Narna upport both ntrand ntra-on communcaton. Th formr aow two on runnng n dffrnt machn or proc to nd vnt ung a TCP ockt. Intra on communcaton aow th xchang of vnt btwn two on runnng n th am proc. Narna ha bn optmzd for ntra-on communcaton bypang th TCP tack and potng th vnt drcty to th dtnaton rourc. A on tat can b avd n tab torag. Th nformaton can b ud to rtart th on atr. Th dfaut prtnc agorthm to tor a th on nformaton ncudng th t of dvc, vnt handr, hard rourc, and t of nam-vau par. Howvr, om on do nd to tor a th nformaton. Programmr can ovrrd th dfaut bhavor and tor a ubt of on nformaton. 2.5. Ur ro Th ro abtracton provd an acc contro mchanm to dfn ur prvg n mut-ur

appcaton. In th appcaton, a group of ur mght hav rtrctd acc to om hard nformaton, wh anothr group of ur mght hav fu acc to a nformaton. Formay, a ro dfnd a a t of vnt dntfr. A ur agnd to a ro can nd vnt wth any vnt dntfr ncudd n th ro dfnton. Ur can aum mor than on ro. Narna cacuat a nw t of vnt dntfr for th ur by takng th unon of ach ro. Th ro abtracton hp programmr dfn th ur ro n th contxt of a Narna on. Each on can upport up to 16 dffrnt ur ro. Onc th ro dfnton ar oadd n th on, th NVM chck vry ncomng vnt bfor trggrng th corrpondng vnt handr. 3. NARNIA Vrtua Machn Th Narna vrtua machn th runtm nvronmnt that upport Narna appcaton. Th vrtua machn ncud th foowng ow-v abtracton: vnt radr, a on managr, a conncton managr, a mmory managr, an vnt handr oadr, and a modu oadr. It provd ach on wth an vnt prorty quu and a poo of xcuton thrad. 3.1. Evnt radr Th vnt radr rponb for gttng ncomng vnt from a rmot appcaton to th approprat on n th oca appcaton. Each radr rtrv vnt from on or mor ockt. Th xpctd vnt rat dtrmn th numbr of vnt radr for ach appcaton. Our xprnc wth Sun Soar machn ha bn to hav on vnt radr for vry 4 vnt pr cond. EH (N,V) Evnt Rourc Handr Evnt Radr Son 1 Ur (Nam, Vau) Son Managr... EH (N,V) Evnt Rourc Handr Son N Ur (Nam, Vau) 3.2. Son managr Th on managr rponb for cratng and dtroyng on. Th managr mantan contro nformaton about vry on runnng n an appcaton ntanc. A ng on managr prnt n an appcaton ntanc. Th on managr mpmntd a a pca on. Lk othr on, th on managr ha a t of vnt handr. Th t ncud vnt handr to crat and dtroy on. Thrfor, th craton of nw on can b rqutd by any Narna appcaton. Loca or rmot appcaton ntanc can nd a Narna vnt to crat a on. It w b up to th on craton vnt handr to authntcat, authorz, and crat th on. W hav dvopd dfaut vnt handr that crat and dtroy on upon rcvng th corrpondng vnt. Programmr can ovrrd th vnt handr to mpmnt th rqurd on managmnt pocy. 3.3. Conncton managr Th conncton managr hand a th ncomng and outgong conncton. A ng conncton managr prnt n an appcaton ntanc. Th managr wat for cnt to connct to a contro port. Currnty, th NVM ony upport TCP port, thu th managr wat to accpt a nw ockt conncton. Currnty, w ar dvopng a outon to upport othr tranport protoco uch a UDP. Th managr mantan nformaton of a th opnd conncton. Th managr gt rport from othr Narna ntt whnvr any conncton brokn. In th ca, th conncton managr fr th rourc agnd to th conncton. Th appcaton ntanc bcom pubc whn th contro port rgtrd n SRD. Appcaton can qury and rtrv from th SRD, th IP addr and contro port of anothr appcaton ntanc. Thn, th program can rqut th conncton managr to opn a conncton wth th othr Narna appcaton. Th conncton managr w opn a nw conncton ony f no ockt actv btwn th two appcaton. If a ockt btwn th two appcaton do xt, th conncton managr w not crat a nw conncton. Conncton Managr Mmory Managr XML b Orac b 1 Ur b M 3.4. Mmory managr Evnt Handr Loadr Modu Loadr Bac ÿþýüûúù ùöõûôþõù þûïüõùóõ þôú Extnon Th managr contro th aocaton and daocaton of mmory ndd for ncomng and outgong vnt and othr data tructur. Th mmory managr optmz mmory uag by aocatng a arg mmory bock from th hap. Th mmory parttond nto thr mmory

poo. Evnt objct, nam-vau par, and trng ar aocatd from thr own poo. Each poo admntr mmory chunk of th am z. Rca that vnt hav varab z wth a maxmum of 65448 byt. It can b argud that th vat majorty of th (contro) vnt ar ma (.g. <128 byt). W hav dfnd a dfaut z of 128 byt for vnt objct. Howvr, ach Narna appcaton dctat th z of thr ncomng and outgong vnt. Narna ncud a runtm confguraton mchanm that aow programmr pcfy th numbr of vnt objct and thr z. 3.5. Evnt and modu oadr Th vnt and modu oadr ar ud to ncud nw vnt handr and programmng modu, rpctvy. Thr rponbty to rtrv, ntantat, and nk dynamc brar at runtm. Th vnt oadr chck that th nwy oadd ca a vad vnt handr ca. Th oadr xtnd th ca to oad vnt handr factor. Th ca ha a ng mthod, oadevnthandr that tak on URL a t o paramtr. Th URL pont to th ocaton (.. protoco + machn addr + path) whr th modu to b rtrvd. Th modu w b oadd and nkd to th oca appcaton by th mthod. Smary, programmr can xtnd th vrtua machn by oadng nw modu at runtm. On or mor vnt handr can ca th nwy oadd modu. 4. Prformanc maurmnt Narna th ba for vra appcaton. W ar conductng prformanc maurmnt on a ctd group of th appcaton. Th cton bow rport om of our ary prformanc rut. Th prformanc maurmnt n th papr focu on rvr oad. Th appcaton dcrbd ar a Narna ban xamp, a mutmda chat room appcaton, and a SIP proxy muator. In a thr appcaton, w rport th rpon tm maurd at th cnt t. Th rpon tm maurd from th tm whn th cnt nd th nta vnt and unt th fna rpon arrv to th cnt. Thu, th rpon tm ncud th tm an vnt pnd n th opratng ytm buffr, th ntwork card, and othr ntwork mnt. Th appcaton wr ttd n oca ara ntwork wth on Rvrton RS2 routr. Narna rvr appcaton and thr cnt xcutd on dua-procor Sun Entrpr 45 machn. 4.1. Examp 1: Narna ban Th ban xamp mpmnt a png appcaton whr thouand of cnt nd vnt to a rvr. In turn, th rvr trggr an vnt handr that nd a rpy back to th orgna ndr. Our cnt appcaton an vnt oad gnrator that can muat thouand ur. Th oad gnrator opn a TCP ockt wth th rvr for ach muatd ur. Thu, th rvr mut rad ncomng vnt from a th opnd ockt and pot th vnt to th corrpondng on. Th xcuton thrad n ach on w xcut th png vnt handr that nd back a rpy to th ndr. 4.1.1. Impmntaton W confgurd th rvr appcaton to run on vnt radr and ach on to run on xcuton thrad. W ran vra confguraton to how how Narna ca n trm of th numbr of on, ur, and vnt. W ctd four dffrnt on oad: 7, 1, 5, and 1 on. For ach on oad, w ran mutp vnt oad from 1 vnt pr cond (p) to 8 p, wth ntrva of 1 p. Th oad gnrator pot and tor vry mag nt to th Narna appcaton rvr. Th rvr w proc th mag by ndng a rpy back to th oad gnrator. Whn th gnrator rad th rpy vnt, t rtrv th orgna tord vnt and cacuat t roundtrp tm. 4.1.2. Prformanc Fgur 3 how th prformanc rut of 28 on and vnt oad confguraton. For ach on oad, w ony pot th vnt oad wth roundtrp tm undr on cond. For ntanc, th appcaton rvr wth 7 on can run a 8 vnt oad wth a rpon tm of 45 mcond or. Howvr, th appcaton can m c o n d 5 45 4 35 3 25 2 15 1 5 Ban Prformanc 1 2 3 4 5 6 7 8 Evnt/cond ÿþýüûúù ùöõûôþõù õòú þôúù úûñðûóõô úù ú ù 7 on 1 5 1

ony upport 4 p for 5 and 1 on wth an avrag roundtrp tm of 1 cond or. Th maxmum vnt oad upportd by th Narna appcaton rvr 8 p wh runnng 7 on. Th maxmum numbr of on that a Narna appcaton ntanc can upport currnty 1 on. Notc that th rpon tm n a ca undr 45 mcond. Th numbr of on ha a gnfcant mpact on th rvr prformanc. A w ncra th numbr of on, th tota numbr of thrad ncra. Th ovrhad of wtchng among th thrad ha an mportant mpact on th appcaton prformanc. Th roundtrp tm undr th am vnt oad gnfcanty hghr a w ncra th numbr of on. For xamp, th roundtrp tm rang from 2 to 38 mcond for a 4 p oad a th numbr of on ncra from 7 to 1 on. 4.2. Examp 2: Chat room appcaton Th mutmda chat room ytm a cnt/rvr appcaton that u Narna abtracton to upport thouand of actv chat room and tn of thouand of ur mutanouy. Th cnt appcaton a Java appcaton that u th Narna protoco to jon, ntract, and av chat room on. Th chat room rvr a Narna appcaton that contro and coordnat acton nt by a th cnt appcaton. Cnt appcaton can ntr chat room, xchang mag wth othr room partcpant, and av th chat room. Th rvr appcaton notfy a th room partcpant of any nwcomr. It ao notf th rmanng partcpant of any ur avng th chat room. Cnt appcaton can nd prvat mag to on partcpant and pubc mag to a chat room partcpant. Fgur 4 dpct th chat room appcaton archtctur ncudng a on drctory, a chat rvr, and on or mor chat cnt. Th on drctory appcaton tor addr of pubc on for appcaton to rtrv. Th chat rvr th rndzvou pont for ur to mt and xchang nformaton. Each chat cnt connctd to a chat rvr a w a th on drctory. Intay, Chat Cnt Chat Srvr ÿþýüûúù ù õïûððóùõû þïú ïüûúù... Son Drctory Chat Cnt th chat cnt rtrv from th on drctory th addr of th ntry on runnng n th chat rvr. Each cnt opn a conncton wth chat rvr and can jon on or mor chat room. Th chat room rvr ao a Narna appcaton that upport th craton of thouand of on. Chat room ar mpmntd a Narna on. Each on kp track of th t of oggd ur and th t of pubc mag. Whn a ur ntr a chat room, an vnt handr w notfy a th ongong ur n th on of th nwcomr. Lkw, whn a ur av a on th corrpondng vnt handr w notfy a th ongong ur of th vnt. W hav ncudd vnt handr to aow ur xchang ntant and butn board mag wth othr ur n th am on. Th mag ar away nt to th chat rvr, whch n turn forward th mag to th approprat cnt. An ntant mag nt by a chat cnt to anothr chat cnt. In contrat, a butn board mag nt by on chat cnt, and broadcatd to a cnt n th am chat room. Th chat room rvr kp a quu of th at 2 butn board mag. Th mag quu nab nw ur to hav background nformaton of th ongong convraton. 4.2.1. Impmntaton Durng th oad tt, w confgurd our oad gnrator to muat thouand of chat cnt. Th oad gnrator opn on ockt wth th chat room rvr for ach muatd cnt. Thn, th cnt og n to on chat room and tart ndng at a rat of 1 vnt vry 4.5 cond. Th chat room rvr ha bn confgurd to crat up to 1 on. Each nw on w tart on xcuton thrad to proc ncomng vnt. Gvn that th vnt rat ow, a ng vnt radr uffcnt to hand th ncomng oad. 4.2.2. Prformanc W w prnt prformanc rut for butn board mag ony. Th rut ar a trct owr bound compard to th prformanc of ntant mag bcau of th numbr of vnt and ur nvovd n ach nw ncomng mag. Fgur 5 how x confguraton of th chat room appcaton. Th bar how th confguraton n trm of th numbr of on, ur, and nput and output vnt. For ach confguraton, w prformd thr run. W add 166 chat room on on ach nw confguraton. Th vnt rat pr ur and th numbr of ur pr on ar contant n a confguraton. Thrfor, a w ncrad th numbr of on, th tota numbr of ur n th ytm ncra. Th mp that th tota numbr of ncomng vnt pr cond n th ytm ao ncra.

N u m b r 8 7 6 5 4 3 2 1 Chatroom Prformanc 2 3 4 5 6 7 8 9 Evnt pr cond (p) ÿþýüûúù ù õïûððóù úûñðûóõô úù ú Each ncomng vnt broadcatd by th on to a th on partcpant. Snc ach chat room ha 4 ur, th chat rvr gnrat 4 outgong vnt for vry ncomng butn board mag. In addton, th chat room rvr gnrat addtona contro vnt to kp th numbr of mag at ach cnt at 2. In avrag, th chat room rvr gnratng 7.5 mag for ach ncomng butn board mag. W prformd thr run for ach confguraton. Th avrag th rpon tm for th run pottd n th Fgur 5. Ur can xpct to nd a mag to a h/hr pr n 12 mcond wh 4 othr ur ar ndng 9 butn board mag a cond to 1 chat room. 4.3. Examp 3: SIP proxy muator Th SIP proxy muator rproduc th mag fow upportd by a SIP proxy a found n Hnnng [[13]]. Th muator prformanc ha bn maurd n an nvronmnt but from Narna-bad rvr and cnt. Son Intaton Protoco (SIP) ud to dcovr th IP addr and port numbr of a on ndpont. Th protoco aow ndpont to dcrb th mutmda ncodng of th traffc that w fow btwn ndpont. Th ncodng dcrpton not ntrprtd by any SIP ntty. Thrfor, w dcdd not to ncud th dcrpton n our Narna vnt. Cnt appcaton w xchang SIP mag wth on or mor of th foowng SIP ntt: a rgtrar, a proxy rvr, and ur agnt. Cnt appcaton ncud a ur agnt componnt. Th componnt can rgtr th appcaton wth a rgtrar for othr appcaton to fnd thm. Th car ur agnt can dcovr th IP addr of th ca ur agnt by ndng a rqut to a proxy rvr. Th proxy rvr w fnd th ca IP addr and port, forward th car rqut to on or mor prox or contact th ca drcty. ù 14 12 1 8 6 4 2 m c o n d Input (p) Son Ur Output (p) Rpon tm W hav muatd th mag fow btwn two ur agnt through a proxy rvr to tabh and tardown a SIP conncton. A pcfd by th SIPSton bnchmark, w hav maurd th prformanc of th proxy rvr from th nta INVITE mag to th fna OK mag. A proxy rvr nd to proc at at 7 mag and gnrat at at 8 mag to tabh and tardown a SIP conncton. Th numbr of ca attmpt pr cond (cap) that commrcay avaab SIP prox can hand var from 4 cap to 15 cap. A rportd by Mrcom[[5]], th attr numbr of conncton pr cond wa achvd wth a cutr of four Sun SPARC taton. 4.3.1. Impmntaton Our muaton mmc th mag fow dcrbd n SIPSton bnchmark ung Narna vnt for th 2 OK tt. Thu, four proc (proxy, rgtrar, car ur agnt, ca ur agnt) ar xcutd n ach run. Each proc ran n a parat machn. W dvop a oad gnrator that muat car ur agnt by ndng INVITE, ACK, and BYE vnt to th proxy. A Narna rvr muat a SIP proxy rvr ung ght vnt handr to proc a th ncomng vnt. W ud our rourc drctory a th SIP rgtrar. Th ca ur agnt muator wa dvopd to tor nformaton of 1, ur n th SIP rgtrar a th potnta numbr of ca. Th oad gnrator crat twc th numbr of car ur agnt than th targt cap for ach run, o that haf of th car can ntat a ca vry cond. Each muatd car ur agnt tabh and tar down a ca vry two cond. 4.3.2. Prformanc W xamnd th bhavor of th SIP proxy undr dffrnt ca oad from 5 to 7 cap at ntrva of 5 cap. For ach oad, w ran th muaton thr tm. C P U U a g 1 9 8 7 6 5 4 3 2 1 SIP Prformanc 5 1 15 2 25 3 35 4 45 5 55 6 65 7 ca attmpt pr cond ÿþýüûúù ù ù úûñðûóõô úùùóúõòüûúóúôïù ù 1,4 1,2 1, 8 6 4 2 m I c o n d

Fgur 6 pot th avrag rpon tm (od n) for ach ca oad. Th proxy rvr ca nary up to a oad of 55 cap. Th rpon tm approxmaty qua to (.5*cap) + 575. Th rpon tm to tabh a nw ca w bow th 2-cond mt pcfd n th SIPton propoa. Evn at hgh oad, our SIP mag fow muaton ha a rpon tm undr 1.2 cond. CPU utzaton (dah n) how th prcntag of th CPU uag to proc ach workoad. CPU utzaton grow nary wth th oad up to 55 cap. 5. Ratd work Th Narna mddwar ha a unqu combnaton of proprt: a hghy ffcnt vnt-bad communcaton patform, a tranport-ndpndnt vnt addrng chm, drct upport for cod updat, and famar, but xtnb programmng abtracton. Cary, othr mddwar patform po om attrbut n common wth Narna. In th cton, w xamn othr ytm and thr ratonhp to Narna. Mot of th comparon ar bad on patform that rprnt ca of mddwar. W focu on ytm that upport on, vnt, and tphony ca mod. Snc Narna dgnd for hgh prformanc, w ao maur t agant prformanc of a w-known on protoco. Th Tourng machn[1] wa a oftwar contro nfratructur provdng abtracton for on contro, rourc aocaton, and ntwork managmnt. It ncudd rvc uch a drctory and curty. Narna ncud on and rourc abtracton a w a th drctory rvc. In contrat wth th Tourng Machn, Narna a hgh prformanc vrtua machnin th nar futur w ntnd to addr ntwork managmnt u for IP ntwork. DCWPL[4] a coordnaton programmng anguag that aow programmr to dvop contro program to manag computatona rourc. Both DCWPL and Narna har that contro appcaton can b upgradd at runtm. Unk DCWPL, Narna upport hgh workoad. Svra mddwar patform for th upport of mutmda rvc hav bn dcrbd n th tratur. Som of th patform ncud communcaton prmtv mar to tho provdd by Narna, and w hav ctd rprntatv of th patform for comparon to our prnt work. CINEMA[11] dfn on a th ba for acc to rmot rvc. A on rprnt th cocton of rourc ndd to provd a rvc. To provd a rvc, a CINEMA on ocat and rrv th rvc rqurd rourc. Thn t tabh th ndd fow of data among th rourc. Narna on, n contrat, do not hav nhrnt fow-budng capabt (th ar programmd a part of th vnt handr n th appcaton) and ar not mtd to a ng ur ntracton (thy can prt wthout actv ur). Svra vnt-bad mddwar patform, uch a JEDI[5], Sna[3], SIP[9], and CORBA vnt[6], dcoup vnt producr and conumr. Th SIP Evnt notfcaton propoa and th CORBA rvc rqurd th ntrtd party to rgtr wth an vnt dpatchr, pcfyng th vnt typ thy ar ntrtd n procng. In SIP, an agnt nd on or mor vnt to th dpatchr, whch n turn forward thm to a th conumr rgtrd for that vnt typ. Narna do not ncud uch an vnt dpatchr. Rathr, programmr can bud uch nfratructur ung Narna prmtv. On woud mpy dvop an appcaton wth th dpatchr functonaty. Othr appcaton can rgtr thr ntrt n t of vnt wth th nw dpatch contror. Narna do not provd a pcfcaton anguag to dcrb how an vnt handr houd forward vnt. JAIN[15] a cocton of Java API to hp dvopr bud appcaton for mut-ntwork (.. IP, ATM, and PSTN), mut-protoco and mut-party nvronmnt. JAIN bad on th JTAPI[14] ca mod. In contrat, our contro appcaton ar bad on on that hav no knowdg of th undryng ntwork and typ of ndpont dvc. It pob to dvop a Narna appcaton to u JAIN-bad appcaton a rourc. SIP an appcaton ayr protoco that hp an appcaton ntanc to dcovr th IP addr and port of anothr ndpont. Ronbrg, t.a.[11] dcrb how appcaton ar upportd by rvc appcaton k SIP rgtrar, prox, and rdrctor to fnd an ndpont addr. In Examp 2, w dcrb a Narna appcaton quvant to a tatfu SIP proxy. Furthrmor, Narna SRD wa ud to muat th SIP rgtrar functonaty. In addton to SIP dcovry mchanm, Narna provd a on abtracton to upport th ntracton of a group of ur. Th abtracton compmntd by th vnt handr abtracton that aow programmr mpmnt poc to manag computatona and ntwork rourc. Lk Narna, SIP ndpont [1] can rprnt an nd ur appcaton, a rvr appcaton (.g. audo mxr), or mutcat on. SIP pcf a trct ordr how th appcaton can xchang mag. In contrat, Narna do not mpo a mag fow btwn appcaton ntanc. It up to ach ntanc to tabh th ordr of th ncomng Narna mag. 6. Concuon Narna mddwar dgnd to upport appcaton rvr that mut rpond to hgh rqut oad. Narna upport cratd by t programmng abtracton and by

t run-tm xcuton nvronmnt, th Narna vrtua machn. Our xprnc budng appcaton wth Narna uggt that Narna cocton of famar programmng abtracton provd ffctv upport for th craton of communcaton rvc. Our maurmnt of th prformanc of th appcaton ndcat that th Narna vrtua machn provd an ffcnt xcuton nvronmnt for ntwork bad appcaton. In partcuar, our prformanc maurmnt how that th Narna communcaton ubytm capab, on on CPU, of pacng vra thouand vnt pr cond nto prorty quu for procng by vnt handr. Th prformanc capab of upportng th hgh rvr oad found n cor tphony rvc mnt and n arg Wb rvr. For ntanc, th prformanc of our mutmda chat room rvr aow on rvr ntanc to upport thouand of ur. Th prformanc of our SIP proxy muator an ordr of magntud bttr than commrcay avaab SIP prox. Son Intaton Protoco, <draft-tf-p-rfc2543b- 9.txt>, IETF, Fb. 22. [12] Rothrm, K., Barth, I., and Hbg, T. CINEMA: An Archtctur for Confgurab Mutmda Appcaton. n Span, O., Danthn, A., and Effbrg, W. (d.). Archtctur and Protoco for Hgh-Spd Ntwork, 253-271 Kuwr Acadmc Pubhr, 1994. [13] Schuzrnn, H., Narayanan, S., Lnnox, J., Doy, M., SIPSton - Bnchmarkng SIP Srvr Prformanc, http://www.pton.com/f/pton_42.pdf [14] Sun Mcroytm, Java Tphony Spcfcaton (JTAPI), vr. 1.3, Jun 1999. [15] Tat, D., d Kjzr, J., Godman, R., JAIN: A Nw Approach to Srvc n Communcaton Ntwork IEEE Communcaton Magazn, pag 94-99, Jan. 2. 7. Rfrnc [1] Arango, M., t. a., Th Tourng Machn Sytm, Communcaton of ACM, Vo 36 Iu 1, pp. 69-77, January 1993. [2] Du, L., Muntz, R., COCA: coaboratv objct coordnaton archtctur, Procdng of ACM CSCW 98, pp. 179-188, Satt, 1998. [3] Carzanga, A., Ronbum, D., Wof, A., Chang for Dtrbutd Evnt Srvc: Scaabty v. Exprvn, Engnrng Dtrbutd Objct '99, Lo Ang CA, USA, May 1999 [4] Cort, M., Mhra, P., DCWPL: a programmng anguag for dcrbng coaboratv work, Procdng of ACM CSCW 96, pp: 21 29, Boton, 1996 [5] Cugoa, G., D Ntto, E., Fuggtta, A., Expotng an vntbad nfratructur to dvop compx dtrbutd ytm, Procdng of th 1998 Intrnatona Confrnc on Softwar Engnrng, pp. 261-27, 1998 [6] Objct Managmnt Group. CORBArvc: Common objct rvc pcfcaton. Tchnca rport, Objct Managmnt Group, Juy 1998 [7] Mahy, R., Campb, B., Johnton, A., Ptr, D., Ronbrg, J., Spark, R., A Mut-party Appcaton Framwork for SIP, Intrnt Draft <draft-tf-ppng-ccframwork-.txt>, IETF; Fb. 22 [8] Mrcom, Lab ttng ummary rport: Fatur/Appcaton Srvr wth SIP Proxy, http://www.ongboard.com/brary/ downoad/longboard_mrcom_rport.pdf [9] Roach, A., SIP-Spcfc Evnt Notfcaton, Intrnt Draft <draft-tf-p-vnt-5.txt>, IETF; Fb. 22 [1] Ronbrg, J., Schuzrnn, H., Mod for Mut Party Confrncng n SIP, Intrnt Draft <draft-ronbrg-pconfrncng-mod-.txt>, IETF; Nov. 2 [11] Ronbrg, J., Schuzrnn, H., Camaro, G., Johnton, A., Ptron, J., Spark, R., Handy, M., Schoor, E., SIP: