Jini – Scalablility CCIC-Seminar ETH Zürich Jini™ - Scalability Januar 2001 Hanspeter Rötheli Java™ Intelligent Network Infrastructure wurde verschiedentlich mit dem Sun Microsystems Trademark Jini assoziiert. Im ersten Teil dieser Scalability Consideration wird daran erinnert, dass globalisierte Erwartungen an Jini – Connection Technology based on Java – zusätzlich zu Comprehensive Services Awareness zwingend applikatorische Performanz voraussetzen. Jede performant operierende Jini Federation wird von angemessen dotierter Netzwerk-, Vermittlungs- und Transport-Infrastruktur getragen. Zwischen Lokationen verteilte Workgroups beobachten zusätzliche Network Latency. Mit zunehmender Entfernung und Netzauslastung steigen Delays an. Verluste zwischen Leasing-Partners sind mit geeigneten Vorkehrungen situativ zu behandeln. Diese Skalierbarkeitsüberlegung greift neben Intra-Federation Komplikationen auch Fragen auf, welche performant skalierbare Enterprise Connection Relays entweder in eigener Regie regeln, vernachlässigen oder erfolgreich delegieren. Inter-Federation Coupling, Application Mapping, Service Wrapping, Datastream Conversion oder Protocol Gateways stehen überzeugten Jiniologists [1] beim Umsetzen des Proxified Administration Paradise zur Verfügung. Performanz und Stabilität bei Referenzinstallationen in Midsized Workgroups vorausgesetzt, kann Jini aus der Kategorie vielversprechende, periphere Vision aufsteigen ins Global Networking Business. Jini – Connection Technology based on Java Java™ Intelligent Network Infrastructure wurde verschiedentlich mit Jini [2] [3] [4] assoziiert. Im Sun Microsystems Dictionary of Terms [5] findet sich unter Jini eine Erklärung - “Connection Technology based on Java” -, welche mit dem OSI Schichtenmodell in Einklang steht. Jini Technology ist oberhalb des OSI Transport Layer 4 angesiedelt und setzt Java 2 Standard Edition voraus. Reduzierte Clients für J2ME sind zu erwarten. Performante Peripherie [6], [7] Beim Rollout von Jini im Umfeld leistungsstarker Agent Technology [8] profitiert die Applikationsumgebung von grosser Akzeptanz der Java 2 Platform. Unter der Voraussetzung, dass Anbieter und Administratoren in Fluten neuer Acronyms der Kategorie Jabc(TM) die Übersicht behalten, wird der Benutzer in den Genuss von Zero Configuration Services kommen. Derzeit sind für Jini entwickelte Lösungen Mangelware. Aufwand und Komplexität beim Entwickeln von Control Units mit nonblocking, multithreded Agents führen dazu, dass weniger adaptive Driver Plug-ins Eingang finden in neue, wie auch bestehende Märkte. Performante Server [9], [10] Auf der Ebene Service Provider und System Integration stellen Highend Clusters eine nach oben offene Kapazitätsreserve für Entwicklungen, Implementation und Integration bereit. Service- und Anwendungs-Entwickler profitieren von der Portabilität in Java 2 Enterprise Edition - Ausnahme JNI nicht vergessen. Grossanwender verfügen bereits über Erfahrung mit produktiven Enterprise Lookup Services JNDI/JNDS, JAAS, JDBC/SQLJ, Transaction Management. Eine glaubwürdige Basis für Jini Connection Infratrukturen auf Enterprise Java Umgebungen steht bereit. Verfeinerungen im Early Stage Packaging (J2EE => J2ME) und Synergie mit proprietären Active Workgroup + Seite 1 von 3 Jini – Scalablility CCIC-Seminar ETH Zürich Directory Technologies in Form von JVM/Agent Bundles schaffen Brücken und damit den Kontext zwischen native Jini Services und bestehenden Domänenkonzepten. Effiziente Workgroups [11] Workgroups föderieren sich typischerweise zwischen 3 und 1000 End-points. Die Limite scheint erreichbar auf multicast-fähiger Logistik, innerhalb geographisch topologischer Grenzen und bei relativ homogenen [12] Transportverhältnissen. Überblickbare Workgroups bilden für die Performanz verteilt skalierbarer Jini Federations eine erste Herausforderung. Von Entrylevel Federations (Jini Surrogate) über Anwendungen in Home-, Hobby-, Consumer-Märkten zur global verbundenen Jini Integration Infrastructure steigen einerseits Sicherheitsanforderungen, andererseits nimmt der Vernetzungsgrad zu. Zunehmende Komplexität vermindert den Grenznutzen von Jini dynamisch, flexibel und konfigurationsfreundlich föderierende JVM Connectivity hat einen Preis. Aus dem vergangenen Jahrtausend erinnerlich sind Zugeständnisse an den Wirkungsgrad ressourcenintensiver Pure IPX/SPX/RIP/SAP Umgebungen oder auch Kompromisse mit NetBIOS/LAN-Manager. Thresholds zwischen Normalbetrieb und Überlastung vermindern sich bei gegebenem Workload, über Jini Overhead Leasing, Discovery, Announcement Pakets - marginal. Stille Reserven einerseits und Monitoring andererseits scheinen angebracht. Abnehmende Transparenz IETF Informational Memo RFC 2775 vom Februar 2000, Brian Carpenter IBM [13], beschreibt strukturelle Zusammenhänge, welche in zunehmendem Mass Intransparenz zwischen Internet-, Intranet- und Extranet-Infrastruktur schaffen. Java kann über Next Generation Internet zusätzliche Wachstumspotenziale erschliessen, sollten Jini bzw. RMI der Umstieg von IP Version 4 auf IP Version 6 antizipieren. Wenig Zweifel bestehen, dass der von Java gegenwärtig praktizierte Umgang mit Security und transparenter Rollout über clear text TCP/IP, eine tickende Zeitbombe nicht entschärft. Auch dieser Aspekt muss, gemeinsam mit Wirtschaftlichkeitsüberlegungen, in die praktisch umsetzbare Skalierbarkeit von Jini einfliessen. Netzwerk, Logistik und Transport Infrastruktur Verteilt interoperierende Jini Infrastrukturen, welche über das lokale Campus LAN hinaus organisatorischen und sicherheitsrelevanten Anforderungen genügen, werden über das Wirtschaftlichkeitsgefüge an Limiten stossen. Die Praxis zeigt, dass Mehrkosten für zusätzliche Übertragungskapazität – Discover, Lookup und Leasing als Ersatz für manuelle Konfiguration – in der Praxis auf drei Arten zu begründen sind – zusätzliche Kostenträger (neue Kunden) – höhere Tarife für bestehende Nutzer – quantifizierbare Einsparungen in Administration und Support. Wirtschaftliche Sachzwänge übersteigen den Umfang dieser Skalierbarkeitsbetrachtung und würden typischerweise im Rahmen von Feasibility Studies fallbezogen durchgeführt. Positives Fazit Auch nach dem 5th Jini Community Meeting in Amsterdam Dezember 2000 sind bis zum Application Layer 7 wenig greifbare Erkenntnisse aus Jini Referenzen offengelegt. Konservative Projektion zur Skalierbarkeit von Jini wäre abzustützen auf Seite 2 von 3 Jini – Scalablility CCIC-Seminar ETH Zürich Benchmarks mit geographisch signifikant verteilten Föderationen. Eine Ursache für das Fehlen entsprechender Publikationen ist, dass die von konfigurationsfreundlichen Java Connection Brokers benötigten Ubiquitous Networking Infrastructures noch im Aufbau stehen. Verglichen mit einer respektablen Audience anlässlich von Early Stage Jini Community Meetings, z.B. Mai 1999, reflektiert die 5th Jini Community Conference, Amsterdam Dezember 2000 eine markante Abnahme der Aufmerksamkeit. Zu bedauern wäre, wenn - in einer Phase zunehmender Akzeptanz gegenüber Distributed Agent Technology [14], [15] - das unbestrittende Potenzial von Java 2 bei Decision Makers unberechtigt in Misskredit geriete. Literatur [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] The Jini Technology Vision - Bill Venners The Inaugural Jiniology Column Javaworld August 1999 Jini Technology Core Platform Specification Version 1.1 - Sun Microsystems October 2000 Jini Architecture Specification - Version 1.1 - Sun Microsystems October 2000 Jini Device Architecture Specification - Version 1.1 - Sun Microsystems October 2000 Sun Microsystems Dictionary of Terms - Jini February 2001 Jini in A Nutshell Scott Oaks Henry Wong O'Reilly October 2000 5th Jini Community Meeting Amsterdam Network Integration with Jini Amanda Thornewell December 2000 Foundation for Intelligent Physical Agents Abstract Architecture Specification - Preliminary Spec 2000 Data Structures and Algorithm Analysis in Java Chapter 2 Checking Your Analysis Mark Allen Weiss www.javaworld.com/javaworld/jw-06-1999/ jw-06-jiniology.html www.sun.com/jini/specs/core1_1.pdf www.sun.com/jini/specs/jini1_1.pdf www.sun.com/jini/specs/devicearch1_1.pdf www.sun.com/smrc/writing/dictionary.html#J ISBN 3-89721-194-7 http://www.oreilly.de/catalog/jininutger/ www.jini.org/jini5/slides/Network/Network.ppt www.fipa.org/repository/specs/fipa00001/ PC00001H.pdf ISBN 0-201-35754-2 Addison Wesley Longman, Inc 1999 [ 10 ] Engineering Approach to Computer Networking Chapter 5 Protocol Layering - Srinivasan Keshav ISBN 0-201-16442-2 Addison-Wesley www.cs.cornell.edu/skeshav/book/slides/ protocol_layering/protocol_layering.pdf [ 11 ] 5th Jini Community Meeting Amsterdam - Sun's Technology Group's Plans - December 2000 www.jini.org/jini5/slides/Roadmap/img7.htm Towards a Resource-safe Java for Services Guarantees in Uncooperative Environments IETF RFC Internet Transparency - B.Carpenter [ 13 ] IBM - Informational Memo - February 2000 Nortel Technology Center: White Paper - Accelar [ 14 ] Programmable Networking and Active Networks Openetlab - Team June 2000 Fachseminar ETHZ Ubiquitous Computing [ 15 ] Spontane Vernetzung Dienstbeschreibung und Service Discovery Roland Kurmann: SS2000 [ 12 ] www.openetlab.org/docs/openetlab/plrtia98.pdf ftp.isi.edu/in-notes/rfc2775.txt www.openetlab.org/docs/openetlab/ AN_whitepaper.htm n.ethz.ch/student/rkurmann/UC/ubi_spontan/ ccic-jini-scale.doc (V1.01 Feb.13, 2001) hpr Seite 3 von 3