180 likes | 194 Views
Explore the integration of peer-to-peer grids, classic grid architecture, and database resources to create dynamic, efficient collaboration platforms. Learn about the hierarchical data structures for optimal performance and scalable event routing in Education Grid implementations. Discover advanced Java middleware and JMS services for seamless real-time communication and information dissemination. Dive into the future of distributed operating systems and fault-tolerant event delivery services on P2P networks.
E N D
Remarks onPeer to Peer Grids Global Grid Forum July 17 2001 Geoffrey Fox IPCRES Laboratory for Community Grids Computer Science, Informatics, Physics Indiana University Bloomington IN gcf@indiana.edu p2pgridjgjuly01
Classic Grid Architecture Database Database Resources Neos Composition Middle TierBrokers Service Providers Netsolve Security Portal Portal Typically separate Clients Servers Resources Clients Users and Devices p2pgridjgjuly01
Peer to Peer Network User User User Service Service Service User User User Resource Resource Resource Service Service Service Routing Routing Routing Resource Resource Resource Routing Routing Routing Peers Peers are Jacks of all Trades linked to “all” peers in community Typically Integrated Clients Servers and Resources p2pgridjgjuly01
Peer to Peer Grid User User User Service Service Service User User User Resource Resource Resource Service Service Service Routing Routing Routing Resource Resource Resource Routing Routing Routing GMS Routing Services DynamicMessage or EventRouting fromPeers orServers GMS or GES is Grid Message/Event Service p2pgridjgjuly01
My Experience Base • Garnet is a collaborative portal built around • Java Middleware using Enterprise Javabeans • XML Messages with a publish-subscribe paradigm and Schema GXOS supporting hierarchical data structures (compatible with DoD ADL SCORM for learning objects) • XML for all metadata (Users, documents, computers) and object changes -- from text chats to display changes etc.) • Production system uses JMS (Java Message Service) to implement publish-subscribe • JMS does Synchronous and Asynchronous Messaging • MyXoS manages XML information nuggets • Supports universal access (hand-held ..) • Designed to implement the Education Grid p2pgridjgjuly01
JMS (Java Message Service) Structure in Garnet Basic primitive is a topic/property labeled queue = JXTA Pipe Pipes are collections of either messages or other pipes and just “nodes” in information hierarchy labeled by a URI JMS Global (distributed) Event Receptor (Queue) Subscribe Subscribe Publish HHMS Convert Eventsto JMS HHMS (Hand Held Message Service) Optimized for Performance. JavaScript Java C++ ….. p2pgridjgjuly01
Overall Structure of GXOS for a MegaMeeting Any level (except lowest) can be a pipe EventArchive Capabilities Global Root Users Devices Documents Admin Multimedia Have a hierarchy of MegaMeetings(any collection of meetings)Course, Degree .. Are MegaMeetings MegaMeeting Meeting Meeting Meeting gxos://Education/University/FSU/CS/PhD/Course/Lecture p2pgridjgjuly01
Single Server P2P Illusion Data base JMS/GMSServer Traditional Collaboration Architecturee.g. commercial WebEx and old Syracusesystem Tango p2pgridjgjuly01
Performance of Commercial JMS I One millisecond latency is fine for Synchronous Collaboration and fine for Grid Implementation Non-persistent asWe do databasebackup outside JMS p2pgridjgjuly01
Peer to Peer P2P Networks • Publish/Subscribe is mechanism we use to establish who gets what information for Collaboration and P2P and may be ALL Grid and ALL Web Services? • Gnutella and JXTA are different implementations (from JMS) of P2P information propagation • GMS can be built on top of JXTA or JMS architecture • JXTA like MyXoS identifies the implicit distributed operating (control messages/metadata) system • Both have message queues as primitives • Both have Shell • Both use XML based messages • JXTA Advertisements are similar to GXOS metadata for objects Message (or event) services underlie P2P Grids p2pgridjgjuly01
P2P Grid Event Service • Dynamic Collection of some billion computers each of which can either generate, route or consume events • Publisher labels events by an (XML) object which is at simplest a URI but in general a collection of tag-values or instance of XML Schema • Subscribers issue some sort of XML Query e.g. deliver all p2pgrid://garnet/Education/Graduate/ComputerScience/Syracuse/Spring2001/CPS616/Lecture3/* • Need Secure, High Performance, Efficient (don’t propagate events further than they need), Fault Tolerant delivery service • Shrideep Pallickara PhD June 1 2001 p2pgridjgjuly01
Proposed GMS Model for Messages Database • All message publication labels and subscription profiles are defined in XML Subscribes to all events to getpersistence SubscriberProfile Objects Specify Query to Event Label Message Queue Labeled by (XML)Topic Object Subscribers Publishers p2pgridjgjuly01
Multiple Server P2P Illusion Data base JMS Server JMS Server Generate “Automatically” JMS Server We are moving from client – server – resource model with Clearly defined components to a Heterogeneous Dynamic Grid of service providers and Service consumers which are not necessarily distinct p2pgridjgjuly01
Some Results – 22 Servers Servers arelogically butnot necessarilyphysically distinct from clients p2pgridjgjuly01
Match Rates of 10% & Server Hop to client = 1 p2pgridjgjuly01
Interface of XML and Java I • How will we teach computing? • K-4: Internet Access • Middle School: (Simple) XML Schema interfaced to some scripting language • High School: Java as the programming model with Java classes (for external data) generated • Probably don’t want to specify objects twice • Start in Java; generate Schema • Or Start with Schema and generate Java • Need a natural API of computer code to real or virtual XML • Current mechanisms seem quaint (JDBC) inefficient (parsers) or non standard (Castor) p2pgridjgjuly01
Interface of XML and Java II Database Choose And Convert Software • Suppose we have a quadrillion (1015) XML objects as say produced by a physics accelerator per year (Enterprise GXOS) • Need to combine: • Search Interface to select nodes of XML Tree • Specify URI • JDBC or Google like Interfaces • Castor like Interface to map XML into Java but need to control depth of conversion from XML into Java XML p2pgridjgjuly01
Current GXOS API Architecture • Initially implement “PersonalGXOS” – Information Repository small enough that we can afford to read all possibly relevant information into memory and refine this • E.g. Support course data for individual faculty • File.xml XML Object Java Object and vice versa • Use Castor to automate XML Schema to Java Object • Primitives Supported Initially • Get a “leaf Object” • Get a Collection (Internal Node) – “handle” and self.xml (the GXOS properties associated with this node) • List Contents of a collection (recursively) • Get Contents of a collection (recursively) p2pgridjgjuly01