1 / 30

A P2P Collaborative System Using JXTA

A P2P Collaborative System Using JXTA. Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA. Background. In latest years, Peer to Peer (P2P) technologies have great influences on people.

serge
Download Presentation

A P2P Collaborative System Using JXTA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A P2P Collaborative System Using JXTA Hosei Graduation School ITPC 02R3315 Katsuhiro CHIBA

  2. Background • In latest years, Peer to Peer (P2P) technologies have great influences on people. • With the appearance of Napster, Gnutella and so on P2P applications grew very popular. The initial goal of P2P was file sharing. • But, nowadays, we can see new P2P applications for other purposes, such as groupware, distributed computing, and collaboration on the Internet.

  3. Objective of Research • Development and implementation of a P2P collaborative system with following features: • Sharing web information and browser’s actions with multiple users. • Sharing view of text and image files with multiple users. • Supporting collaborative work with groups on the Internet, regardless of network configuration (firewalls and NAT*). • Keywords • Peer to peer network • JXTA • Collaboration on the Internet *NAT :Network Address Translation

  4. What is Collaboration? • In recent years, the collaboration work style has permeated. A collaboration is the way a group of people do work together over the wall of a company or a section. • By practical use of P2P technology, people cooperate in the business by gathering in a virtual group exceeding the gap of time or distance. • Furthermore, JXTA enables us to collaborate on the Internet, regardless network of composition and hierarchy.

  5. Why Peer to Peer? • Merits • Decentralization • Robustness • Cost reduction • Scalability • Resource Sharing • Demerits • Uneasy of security • Maintenance of network composition

  6. Browser for Collaboration Screen Image

  7. Functions of Collaborative System • Shared browser’s view (WYSWIS) • Shared navigation (URL field, hyperlink clicks, scrollbar movements) • Shared text and picture files, etc. • Real-time communication (chat & messenger) • Synchronized drawing pad

  8. Client / Server Architecture • Nowadays, most systems are based on the client/server architecture. • Because resources and management authority are concentrating on a server, management is very easy. • At the same time, server make it difficult that clients work freely.

  9. Peer to Peer Architecture (1) • Peer to Peer architecture consists of computers/devices with equal capabilities that share resource, communicate exclusively with each other and don’t rely on a server or central database for exchanging information and sharing resource. • Representative systems • Napster, Gnutella (file sharing) • Groove, BadBlue (groupware) • SETI@HOME (distributed computing) • Kontiki (contents distribution) • ICQ, AOL Messenger (messenger)

  10. Peer to Peer Architecture (2) • Pure P2P Architecture • Pure P2P does not have any central servers. There is no authentication, and peers search for resource via a distributed-search mechanism. • Hybrid P2P Architecture • A central server authenticates all users. A peers serve as search hubs which catalog the files of peers connected to them. Then, the server responds with results that allow direct connections for file transfer.

  11. JXTA (1) • JXTA is a set of open, generalized peer-to-peer protocols that allow any connected devices on the network to communicate and collaborate as peers, with following main features: • Interoperability • Platform independence • Ubiquity

  12. Peer group Advertisement Message JXTA concepts Peer Service Pipe JXTA (2)

  13. Peers & Peer Groups • Peers • Each peer operates independently and asynchronously from all other peers, and is uniquely identified by its peer ID. • Peers voluntarily discover each other on the network to form transient or persistent relationships called peer groups. • Peer Groups • A peer group is a collection of peers that have agreed upon a common set of services. • Each peer group can establish its own membership policy from open to highly secure and protected.

  14. Service • Discovery service • Membership service (join, leave, making group) • Access service • Pipe service • Resolver service (send generic query requests) • Monitoring service

  15. All JXTA network resources are represented by advertisements. Advertisements are metadata structures represented as XML documents. The JXTA protocols define the following advertisement types. Peer Advertisement Peer Group Advertisement Pipe Advertisement Module Advertisement <?xml version="1.0"?> <!DOCTYPEjxta:PipeAdvertisement> <jxta:PipeAdvertisement xmlns:jxta= "http://jxta.org"> <Id> urn:jxta:uuid-DD6DDF43EB9044A5B8BC9725ECD3EA7448B8BBCFDDC84F5E868E9DB02F646AD204 </Id> <Type> JxtaPropagate </Type> <Name> yamada </Name> </jxta:PipeAdvertisement> Advertisement Ex. pipe advertisement

  16. Discover Animation http://platform.jxta.org/servlets/ProjectHome

  17. Pipe (1) • Pipes are asynchronous and unidirectional message transfer mechanisms used for service communications. • Pipes are indiscriminate; they support the transfer of any object, including binary code, data string, and Java technology-based objects. • The pipe endpoints are referred to as the input pipe and the output pipe.

  18. Point-to-point Pipe A point-to-point pipe connects exactly two pipe endpoints together. Propagate Pipe A propagate pipe connects one output pipe to multiple input pipes. All propagations are done within the scope of a peer group. Peer A Peer B Message Pipe (2) B A D C Input pipe Output pipe

  19. Message • A message is the basic unit of data exchange between JXTA peers. • A message is an ordered sequence of named and typed contents called message elements. • There are two representations for messages; • XML (many different kinds of protocols) • Binary (J2SE platform)

  20. Overview of Collaborative System Group Management Shared View Management Chat Management

  21. Peer name Group name Peer list Group list Make group button Join group button Leave group button System exit button Group Management

  22. URL field Browser Panel Browser Button Share Button Scroll Bar Shared View Management

  23. Send Button Output Area Input Field One-to-one chat Communication Management • Group chat • among all peers in a group • One-to-one chat • Between any two peers in a group

  24. Summary • Features • This system uses the pure P2P architecture rather than else. It enables us to share information and communicate with others, regardless of network configuration and hierarchy. Finally, it helps us to collaborate on the Internet. • Potential applications • E-education • Tele-presentation on the Internet • Virtual meeting on the Internet • Flexible information sharing • Co-navigation on the Internet

  25. Current Work Finished • Basic group management • Shared browser • Group chat • One-to-one chat • Pipe across firewalls & NAT via HTTP

  26. Future Work • Short term (by next March) • Sharing files (text, image, pdf, mp3) • Improving communication reliability • Enhancing group management • Effective memory usage • Free drawing pad • Long term • Voice/video communication based on Java & JMF • Record additional drawing on text & image file • Network security

  27. Comparison [Comparison with C/S chat] [Comparison with JINI]

  28. References (1) • Environment • JAVA : JDK 1.4.0 • JXTA : JXTA stable builds (09/24/2002) (http://download.jxta.org/easyinstall/install.html) • OS : Windows 2000, XP, Linux

  29. References (2) [1] Project JXTA, http://www.jxta.org/ [2] Project JXTA, Java programmer’s guide, http://www.jxta.org/docs/jxtaprogguide_final.pdf [3] Project JXTA, v1.0 Protocols Specification, http://spec.jxta.org/v1.0/docbook/JXTAProtocols.html [4] Groove Network, http://www.groove.net/ [5] Jnutella, http://www.jnutella.org/ [6] O’REILLY OpenP2P.com, http://www.openp2p.com [7] Napster, http://www.napster.com

  30. References (3) [8] 伊藤直樹, P2Pコンピューティング, 株式会社ソフト・リサーチ・センター [9] 大谷卓史/亀井聡/高橋寛幸 共著, P2Pがビジネスを変える, 翔泳社 [10] Joseph D. Gradecki, Mastering JXTA, Wiley Publishing, Inc. [11] Daniel Brookshier, Darren Govoni etc., JXTA: Java P2P Programming, Sams Publishing Inc. [12] Mikito Nakamura and Jianhua Ma, A Peer-to-Peer Shared Web Browser

More Related