Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005
Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server Gemensamma funktioner för applikationer som utbyter information över ett nätverk Återanvändbara och utökningsbara funktioner som många applikationer behöver för att fungera bra i ett nätverk
Olika definitioner beroende på perspektiv Uppifrån: allt under API (allt under gränssnittet till applikationslagret) Nerifrån: allt över nätlagret Från sidan: mellan transportlagret och API Vanlig definition Middleware gör det enklare att implementera ett distribuerat system, jämför OS HW
Kategorier Dataorienterade: databaser, SQL, Open Database Connectivity (ODBC) Transaktionsorienterade: Transaction processing (TP) monitors Meddelandeorienterade: Message-Oriented Middleware (MOM) Funktionsorienterade: Remote Procedure Call (RPC), anropa funktioner på annan maskin Objektorienterade: Object Request Broker (ORB)
Sun RPC; XDR, namnservice (portmapper), NFS,...
Interface Definition Language (IDL) Deklarativ språkgrupp Definierar funktioners gränssnitt Programspråksoberoende IDL-kompilator genererar stub-funktioner för visst programspråk
Objektorienterad middleware Utökad mekanism för objekt Objekt består av data (tillstånd) och metoder Metoder åtkomliga via gränssnitt (interface) Anropa metoder på en annan maskin (remote method invocation jmf remote procedure call) Fjärrobjekt (distribuerat objekt): objekt och interface på olika maskiner Exempel: Java RMI, Jini, Corba, DCOM,.NET,...
Fjärrobjekt
CORBA referensmodell Applikationsobjekt Hello Karlstad, Calculator Domains Tillverkning, medicin, finans, telekom,... Facilities Användargränssnitt, systemhantering,... Services Namntjänst, transaktionshantering, säkerhet, licenshantering,...
CORBA ORB Architecture
P2P Repetition Allmänt Internet var p2p från början, men blev mer och mer C/S inriktat: dns, mail, web, ftp, spel, databas, dhcp, news, fil, tid, backup... servrar... men p2p kan erbjuda lösningar på C/S svagheter; skalbarhet, flexibilitet / utveckling, säkerhet / pålitlighet,...
Egenskaper hos P2P Interaktion direkt mellan noderna Samutnyttjande av resurser i nodsystemen Ingen central styrning eller användande av centrala tjänster Jämlika och självständiga deltagare Själv-organiserande system?! Utnyttjar ofta overlaynät / virtuella nät
Typer av P2P system Client/server <-> Hybrid C/S <-> Ren P2P Ostrukturerade Gnutella; Query flooding, ingen kunskap om underlaynätet KaZaA; Supernoder grupperer vanliga noder Strukturerade Distribuerade hashtabller (DHT); sökning efter givet mönster. Hash av data mappas till nod, hittas med O(log n) sökningar
Internet QoS Repetition (1) Multimediaappl. Streaming lagrad Streaming live Interaktiv realtid Krav på nätet Fördröjningskänsliga Förlusttoleranta Streaming Fil med mediabeskrivn. Buffring UDP vs TCP? Användarstyrning IP-telefoni Fördröjningar, jitter Statisk vs. dynamisk uppspelningsfördröjning
Internet QoS Repetition (2) Transport RTP över UDP RTCP Hantera paketförluster Felrättning med XOR Skicka med tidigare media i lägre kvalité Interleaving QoS grundpelare Klassificering/Märkning Isolering Effektivt utnyttjande Neka samtal
Internet QoS Repetition (3) Förbättra Best Effort IntServ reservera väg i nätet virtuell krets, uppkoppl Skalbarhetsproblem DiffServ Klassindela trafik Prioritera per klass i operatörsnätet DSCP, PHB Schemaläggning Välj vilket paket som ska skickas FIFO, Round robin, WFQ Policing Begränsa missbruk Average/Peak rates Token bucket
Internet QoS Repetition (4) Distribution till många one-to-all unicast appl. level multicast explicit multicast Class D adresser 224.0.0.0 / 3 En adress utgör en kanal dit man kan sända och ta emot IGMP membership query membership report leave group RED och ECN Upptäcka stockning innan den uppstår Signallera till sändaren att sänka takten