From sabrina.farina at libero.it Mon Apr 5 08:21:55 2004 From: sabrina.farina at libero.it (sabrina.farina) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Pastry Message-ID: I need some informations about using pastry's classes! I must develop a simply program that connects 2 computers with this protocol!! There's anyone that can help me?!? I'm desperate. Kisses Sabrina Farina From martinla at comp.nus.edu.sg Mon Apr 5 09:01:43 2004 From: martinla at comp.nus.edu.sg (Martin LANDERS) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Pastry In-Reply-To: References: Message-ID: Hi, > I need some informations about using pastry's classes! > I must develop a simply program that connects 2 computers with this protocol!! First of all, I hope this is a demonstration or assignment, because otherwise you've chosen a very complicated protocol for the job of connecting 2 computers ;) I assume you're talking about the FreePastry Java implementation. If yes, there is a small example app in rice.pastry.testing, called DistHelloWorld. The lack of documentation sucks, but with a little patience you can figure out what the code does. To write your own FreePastry-based application, you need to subclass the rice.pastry.client.PastryAppl class, overriding the messageForAppl() and getCredentials() methods. messageForAppl is called whenever a message for your application is received. getCredentials seems "reserved for future use" (as many things in the API), as the only credentials implementation at the moment is rice.pastry.security.PermissiveCredentials - just return a PermissiveCredentials object in your overridden method, and you're fine. Note, that, unless you want to create your own implemenation of rice.pastry.Address, you must use the two-args constructor PastryAppl(PastryNode, String) in your class, passing in a String that identifies your application as the second argument. Once your PastryAppl subclass is all set, and implements your protocol (sending around rice.pastry.messaging.Message subclasses - make sure everything is serlializable!), you "only" need to create a PastryNode instance and instantiate your app, passing in the instance. And voila, you're all set. To see how the many factories are used in creating a PastryNode, check the sample app mentioned earlier - it shows how to create pastry nodes communicating via RMI. One final word: Forget about the "Common API". That's a nice idea, but not mature enough yet - the interfaces are very vague, and the whole API is terribly thin so you have to break contract -- casting objects, using things normally not visible in the Common API, etc. -- all the time. Stick to the "plain" Pastry stuff. Good luck, Martin From sam at neurogrid.com Mon Apr 5 17:26:43 2004 From: sam at neurogrid.com (Sam Joseph) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Pastry In-Reply-To: References: Message-ID: <407196D3.7000609@neurogrid.com> Hi Sabrina, There is some pastry code in the NG simulator. An MSc student wrote it last year, but I'm not sure it's in the easiet form to use, but it might be a start for you. http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerSimulation The pastry code was in the distributed email simulation: http://www.neurogrid.net/twiki/bin/view/Main/DistributedEmailSimulation CHEERS> SAM sabrina.farina wrote: >I need some informations about using pastry's classes! >I must develop a simply program that connects 2 computers with this protocol!! > >There's anyone that can help me?!? > >I'm desperate. > >Kisses >Sabrina Farina > >_______________________________________________ >p2p-hackers mailing list >p2p-hackers@zgp.org >http://zgp.org/mailman/listinfo/p2p-hackers >_______________________________________________ >Here is a web page listing P2P Conferences: >http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > > > > From sabrina.farina at libero.it Tue Apr 6 10:44:02 2004 From: sabrina.farina at libero.it (sabrina.farina) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Pastry Message-ID: somebody has a working code about FreePastry ????? Sabrina Farina From jbrj at cin.ufpe.br Tue Apr 6 12:27:20 2004 From: jbrj at cin.ufpe.br (Joao Batista Rocha Junior) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Pastry In-Reply-To: Message-ID: Hi Sabrina, I had the same problem when I started to use Pastry, it appears to be very confusing. I did a simple code that show how pastry works, maybe it will be usefull to help you understand Pastry better. The source code is at: www.cin.ufpe.br/~jbrj/files/pastry You need to import FreePastry-1.3.jar The executable class is at comm/dht/pastry/DHTPastry.java Please fill free to sending me e-mail for futher information Jo?o Rocha ------------------------------------------------------------ Jo?o B. Rocha Jr. Researcher - Networking and Telecommunication Research Group E-mail: jbrj@cin.ufpe.br Phones: +55 81 9182-7221 (Cel) / +55 81 2126 8954 (Lab) Web site: http://www.cin.ufpe.br/~jbrj ------------------------------------------------------------ On Tue, 6 Apr 2004, sabrina.farina wrote: > somebody has a working code about FreePastry ????? > > Sabrina Farina > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > > From bradneuberg at yahoo.com Fri Apr 9 19:35:17 2004 From: bradneuberg at yahoo.com (Brad Neuberg) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Strange P2P Spam Message-ID: <20040409193517.55859.qmail@web60704.mail.yahoo.com> I don't usually like forwarding spam onto the lists, but this is the strangest P2P spam I have ever received. First, there seems to be some sort of encoded message (the String.fromCharCode section) within the email, encoded as just a string of byte-code characters. I haven't tried actually running the java code to see what the message is. Second, the text of the message is silly and uninformed as well about P2P. Thought this was funny and that others might get a laugh. Has anyone else received this spam? Brad Note: forwarded message attached. -------------- next part -------------- An embedded message was scrubbed... From: "Greg Plate" Subject: How Do I Eliminate P2P On My Computer Date: Fri, 9 Apr 2004 11:16:47 -0400 Size: 5909 Url: http://zgp.org/pipermail/p2p-hackers/attachments/20040409/739754ee/attachment.mht From dm at cs.uml.edu Mon Apr 12 22:51:37 2004 From: dm at cs.uml.edu (David Martin) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] PET Registration Now Open -- Workshop on Privacy Enhancing Technologies 2004 Message-ID: <407B1D79.8030202@cs.uml.edu> Workshop on Privacy Enhancing Technologies 26 - 28 May 2004 http://petworkshop.org/ Radisson Plaza Hotel Admiral Toronto, Canada C A L L F O R A T T E N D A N C E Come join us at the waterfront in Toronto for three stimulating days of paper presentations, panel discussions, hallway discussions, and social activities. See the Web page http://petworkshop.org/ for registration details. This workshop immediately follows the 6th Information Hiding Workshop, held at the same site. A stipend pool is also available to assist some of those with limited financial resources. The deadline for stipend applications is coming up quickly -- April 16, 2004. Non-authors may apply also. Again, see the Web page for details. The 2004 Award for Outstanding Research in Privacy Enhancing Technologies will also be presented during the workshop. The papers and panels to be presented include: "An Improved Construction for Universal Re-encryption" Peter Fairbrother "Anonymity and Covert Channels in Simple Timed Mix-firewalls" Richard E. Newman, Vipan R Nalla, Ira S. Moskowitz "FLASCHE: a Mechanism Providing Anonymity for Mobile Users" Alf Zugenmaier "Protecting User Data in Ubiquitous Computing: Towards Trustworthy Environments" Yitao Duan "Reputable Mix Networks" Philippe Golle "Measuring Anonymity in a Passive, Real-time System" Gergely Toth, Zoltan Hornak "Privacy-Preserving Trust Negotiation" Elisa Bertino, Elena Ferrari, Anna C. Squicciarini "Secure Outsourcing of Sequence Comparisons" Mikhail J. Atallah, Jiangtao Li "The Traffic Analysis of Continuous-Time Mixes" George Danezis "Searching for Privacy: Design and Implementation of a P3P-Enabled Search Engine" Lorrie Cranor, Patrick McDaniel, Simon Byers, David Kormann "On the Anonymity of Banknotes" Dennis K?gler "Mix Cascades vs. Peer-to-Peer: Is One Concept Superior?" Panel proposal submitted by Stefan K?psell "Electromagnetic Eavesdropping Risks of Flat-Panel Displays" Markus G. Kuhn "Privacy Systems" Carl A. Gunter, Michael May, Stuart Stubblebine "Practical Traffic Analysis: Extending and Resisting Statistical Disclosure" Nick Mathewson, Roger Dingledine "On Flow Correlation Attacks and Countermeasures in Mix Networks" Ye Zhu, Xinwen Fu, Bryan Graham, Riccardo Bettati, Wei Zhao "Synchronous Batching: From Cascades to Free Routes" Roger Dingledine, Vitaly Shmatikov, Paul Syverson "Cryptographically Protected Prefixes for Location Privacy in IPv6" Jonathan Trostle, Bretmoor Way, Hosei Matsuoka, Mukarram Muhammed Bin Tariq, James Kempf, Toshiro Kawahara, Ravi Jain "Contextualized Communication of Privacy Practices and Personalization Benefits: Impacts on Users' Data Sharing Behavior" Alfred Kobsa, Maximilian Teltzrow "Language-Based Enforcement of Privacy Policies" Katia Hayati, Martin Abadi Hope to see some of you there! From ervalerio at tiscali.it Wed Apr 14 08:41:11 2004 From: ervalerio at tiscali.it (Valerio Schiavoni) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology Message-ID: <200404141041.14135.ervalerio@tiscali.it> Hello all it's my first post the ML. I'm going to build a tool/crawler (no matter how you call it) which aims to retrive somehow the actual topology of the overlay network (i'm still thinking about the underalying protocol, pastry/can/kademlia are candidates) what i need is simply to obtain neighbour table of each nodes joining the overlay network, so that i could possibly "draw" a graph..or this is the ideal world. I have some background about theoretical aspects about p2p networks (unstructured and structured, mostly based on dht). Do you have any suggestion about this work? Suggestions about choise of the protocols, implementation language, every relevant aspect is more than welcome. For any explication, just ask, i'll try to as precise as possible _______________________________________________ Valerio Schiavoni http://schiavoni.altervista.org My public PGP key can be found at: hpk://subkeys.pgp.net From sameh at sics.se Thu Apr 15 09:54:57 2004 From: sameh at sics.se (Sameh El-Ansary) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Re:dht-based overlay topology (Sameh El-Ansary) References: <20040414190004.E44423FD33@capsicum.zgp.org> Message-ID: <000c01c422cf$b597dde0$66410ac1@ad.sics.se> For crawling a DHT, you can try our broadcast algorithms in : Ali Ghodsi, Luc Onana Alima, Sameh El-Ansary, Per Brand and Seif Haridi, Self-Correcting Broadcast in Distributed Hash Tables, In the 15th IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2003) (Marina del Rey, CA, USA), November 3-5, 2003 Luc Onana Alima, Sameh El-Ansary, Per Brand and Seif Haridi, DKS(n; k; f;) A family of Low-Communication, Scalable and Fault-tolerant Infrastructures for P2P applications, The 3rd International workshop on Global and P2P Computing on Large Scale Distributed Systems ,(CCGRID 2003) (Tokyo, Japan), May 2003. One of the applications in mind while designing those algorithms was the collection of global state and drawing the graph of the overaly is a fine example of global state. The goal of those algorithms is to traverse the overlay graph nodes without visiting a node twice and covering all the nodes. The first one is designed for Chord and does not discuss the dynamic membership. The second is based on DKS and has more discussion on dynamic membership. ==================================== Sameh El-Ansary, Ph. Lic. Researcher, Distributed Systems Lab. Swedish Institute of Computer Science(SICS) Box 1263, SE-164 29 Kista, Sweden Phone : +46 8 633 1583 Mobile: +46 73 0452197 Fax : +46 8 751 7230 http://www.sics.se/~sameh > Message: 1 > Date: Wed, 14 Apr 2004 10:41:11 +0200 > From: Valerio Schiavoni > Subject: [p2p-hackers] dht-based overlay topology > To: p2p-hackers@zgp.org > Message-ID: <200404141041.14135.ervalerio@tiscali.it> > Content-Type: Text/Plain; charset="iso-8859-1" > > Hello all > it's my first post the ML. > > I'm going to build a tool/crawler (no matter how you call it) which aims to > retrive somehow the actual topology of the overlay network (i'm still > thinking about the underalying protocol, pastry/can/kademlia are candidates) > > what i need is simply to obtain neighbour table of each nodes joining the > overlay network, so that i could possibly "draw" a graph..or this is the > ideal world. > > I have some background about theoretical aspects about p2p networks > (unstructured and structured, mostly based on dht). > > Do you have any suggestion about this work? Suggestions about choise of the > protocols, implementation language, every relevant aspect is more than > welcome. > > For any explication, just ask, i'll try to as precise as possible > > > _______________________________________________ > Valerio Schiavoni > http://schiavoni.altervista.org > > My public PGP key can be found at: > hpk://subkeys.pgp.net > > > > ------------------------------ > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > > > End of p2p-hackers Digest, Vol 9, Issue 5 > ***************************************** > From sameh at sics.se Thu Apr 15 19:39:50 2004 From: sameh at sics.se (Sameh El-Ansary) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Re:dht-based overlay topology References: <20040415190006.78AC43FD33@capsicum.zgp.org> Message-ID: <000c01c42321$6aef7f30$66410ac1@ad.sics.se> Oh sorry, what I meant are the following two papers: Sameh El-Ansary, Luc Onana Alima, Per Brand and Seif Haridi, Efficient Broadcast in Structured P2P Networks, The 2nd International Workshop On Peer-To-Peer Systems (IPTPS'03), (Berkeley, CA, USA), February 2003 Ali Ghodsi, Luc Onana Alima, Sameh El-Ansary, Per Brand and Seif Haridi, Self-Correcting Broadcast in Distributed Hash Tables, In the 15th IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2003) (Marina del Rey, CA, USA), November 3-5, 2003 Both available at: http://www.sics.se/~sameh/pub.php -- From martinla at comp.nus.edu.sg Fri Apr 16 04:21:59 2004 From: martinla at comp.nus.edu.sg (Martin LANDERS) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Overview of P2P network topologies Message-ID: Hi Folks, this might be of interest for you. As part of my research on P2P backup (some of you might remember the survey I was trying to get participants for - in vein so far), I've written a short paper giving an overview of P2P network topologies. I hope it gives an easy to undertand, yet technically correct introduction to the different ways of organizing a P2P network. You can find the paper at: http://p2psurvey.ddns.comp.nus.edu.sg/paper/ I'd welcome any feedback on it. Cheers, Martin From coderman at peertech.org Fri Apr 16 04:50:42 2004 From: coderman at peertech.org (coderman) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Overview of P2P network topologies In-Reply-To: References: Message-ID: <407F6622.5030409@peertech.org> Martin LANDERS wrote: >... > http://p2psurvey.ddns.comp.nus.edu.sg/paper/ > >I'd welcome any feedback on it. > > One thing I might add is the "iterative deepening" or "directed linear walk" approach to search which remain useful in fully decentralized networks (no super nodes) while avoiding the excessive inefficiencies of a broadcast & forward. If you couple one of these iterative methods with peer grouping and direction based on affinity / reputation / historical capability the efficiency can be improved further. From behnel_ml at gkec.informatik.tu-darmstadt.de Fri Apr 16 15:38:03 2004 From: behnel_ml at gkec.informatik.tu-darmstadt.de (Stefan Behnel) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ Message-ID: <407FFDDB.1030008@gkec.tu-darmstadt.de> Hi everyone! For the implementation of a P2P project I am in need of an event-driven network library. I found SEDA for Java and Twisted for Python, but I didn't really find anything for C++. I know about the ST (state-threads) library, but it doesn't work together with pthreads or any GUI-framework, so it's of no use to me. Does anyone know about an ED network framework written in C/C++ that cooperates with or supports GUI event-loops (e.g. in GTK+ or QT) or pthreads? Thanks for any hints, Stefan From bryan.turner at pobox.com Fri Apr 16 17:38:19 2004 From: bryan.turner at pobox.com (Bryan Turner) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ References: <407FFDDB.1030008@gkec.tu-darmstadt.de> Message-ID: <004801c423d9$9bad5580$6601a8c0@aspen> Stefan, You might try ACE (http://www.cs.wustl.edu/~schmidt/ACE.html). It is a mature, object-oriented, pattern-based communications framework. They have done a very nice job with the design of the system, including thread specific storage, memory management, OS-abstraction, etc. You'll find a number of useful tools including message/event based architecture patterns in the toolkit. The only two issues I've had with it are; 1) It's very large and cumbersome. Executables are > 1Meg, even when you're not using all the features. 2) It's a LOT of code, and requires climbing a mountain of documentation to learn about it. --Bryan bryan.turner@pobox.com ----- Original Message ----- From: "Stefan Behnel" To: "Peer-to-peer development." Sent: Friday, April 16, 2004 11:38 AM Subject: [p2p-hackers] Searching for an event-driven network framework in C++ > Hi everyone! > > For the implementation of a P2P project I am in need of an event-driven network library. I found SEDA for Java and Twisted for Python, but I didn't really find anything for C++. I know about the ST (state-threads) library, but it doesn't work together with pthreads or any GUI-framework, so it's of no use to me. > > Does anyone know about an ED network framework written in C/C++ that cooperates with or supports GUI event-loops (e.g. in GTK+ or QT) or pthreads? > > Thanks for any hints, > Stefan > From davidopp at cs.berkeley.edu Fri Apr 16 17:28:14 2004 From: davidopp at cs.berkeley.edu (David L. Oppenheimer) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ In-Reply-To: <407FFDDB.1030008@gkec.tu-darmstadt.de> Message-ID: <200404161728.KAA09433@mindbender.davido.com> You might want to check out libasync, which is part of SFS http://www.fs.net/sfswww/ There's a tutorial for it at http://www.pdos.lcs.mit.edu/6.824/async/ David > For the implementation of a P2P project I am in need of an > event-driven network library. I found SEDA for Java and > Twisted for Python, but I didn't really find anything for > C++. I know about the ST (state-threads) library, but it > doesn't work together with pthreads or any GUI-framework, so > it's of no use to me. > > Does anyone know about an ED network framework written in > C/C++ that cooperates with or supports GUI event-loops (e.g. > in GTK+ or QT) or pthreads? > > Thanks for any hints, > Stefan From lloyd at randombit.net Fri Apr 16 17:29:18 2004 From: lloyd at randombit.net (Jack Lloyd) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ In-Reply-To: <004801c423d9$9bad5580$6601a8c0@aspen> References: <407FFDDB.1030008@gkec.tu-darmstadt.de> <004801c423d9$9bad5580$6601a8c0@aspen> Message-ID: <20040416172918.GC20531@acm.jhu.edu> Also, the build sucks. At least the same time I looked at it (~6 months ago (?)), there was no `make install`; it expected you to use it directly out of it's build directory. Not a big deal, just a pet peeve of mine. That aside, I basically agree with Bryan's assesment. Well designed, tons of features, and a fairly steep learning curve. If you've got the time to spend, check it out. -Jack On Fri, Apr 16, 2004 at 01:38:19PM -0400, Bryan Turner wrote: > Stefan, > > You might try ACE (http://www.cs.wustl.edu/~schmidt/ACE.html). It is a > mature, object-oriented, pattern-based communications framework. They have > done a very nice job with the design of the system, including thread > specific storage, memory management, OS-abstraction, etc. You'll find a > number of useful tools including message/event based architecture patterns > in the toolkit. > > The only two issues I've had with it are; 1) It's very large and > cumbersome. Executables are > 1Meg, even when you're not using all the > features. 2) It's a LOT of code, and requires climbing a mountain of > documentation to learn about it. > > --Bryan > bryan.turner@pobox.com > > ----- Original Message ----- > From: "Stefan Behnel" > To: "Peer-to-peer development." > Sent: Friday, April 16, 2004 11:38 AM > Subject: [p2p-hackers] Searching for an event-driven network framework in > C++ > > > > Hi everyone! > > > > For the implementation of a P2P project I am in need of an event-driven > network library. I found SEDA for Java and Twisted for Python, but I didn't > really find anything for C++. I know about the ST (state-threads) library, > but it doesn't work together with pthreads or any GUI-framework, so it's of > no use to me. > > > > Does anyone know about an ED network framework written in C/C++ that > cooperates with or supports GUI event-loops (e.g. in GTK+ or QT) or > pthreads? > > > > Thanks for any hints, > > Stefan > > > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From coderman at peertech.org Fri Apr 16 19:58:16 2004 From: coderman at peertech.org (coderman) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ In-Reply-To: <407FFDDB.1030008@gkec.tu-darmstadt.de> References: <407FFDDB.1030008@gkec.tu-darmstadt.de> Message-ID: <40803AD8.4040906@peertech.org> See also: libevent: http://monkey.org/~provos/libevent/ liboop: http://liboop.org/ Stefan Behnel wrote: > ... > > Does anyone know about an ED network framework written in C/C++ that > cooperates with or supports GUI event-loops (e.g. in GTK+ or QT) or > pthreads? From sandos at home.se Fri Apr 16 20:20:05 2004 From: sandos at home.se (=?iso-8859-1?Q?John_B=E4ckstrand?=) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network frameworkin C++ In-Reply-To: <40803AD8.4040906@peertech.org> Message-ID: <005801c423f0$34dbcdc0$034d210a@sandos> >libevent: http://monkey.org/~provos/libevent/ >liboop: http://liboop.org/ Also: http://sourceforge.net/projects/libivykis/ --- John B?ckstrand From hopper at omnifarious.org Sun Apr 18 05:12:22 2004 From: hopper at omnifarious.org (Eric Mathew Hopper) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ In-Reply-To: <407FFDDB.1030008@gkec.tu-darmstadt.de> References: <407FFDDB.1030008@gkec.tu-darmstadt.de> Message-ID: <20040418051222.GC4594@omnifarious.org> On Fri, Apr 16, 2004 at 05:38:03PM +0200, Stefan Behnel wrote: > Hi everyone! > > For the implementation of a P2P project I am in need of an event-driven > network library. I found SEDA for Java and Twisted for Python, but I didn't > really find anything for C++. I know about the ST (state-threads) library, > but it doesn't work together with pthreads or any GUI-framework, so it's of > no use to me. > > Does anyone know about an ED network framework written in C/C++ that > cooperates with or supports GUI event-loops (e.g. in GTK+ or QT) or > pthreads? I have one I've written myself called StreamModule (http://www.omnifarious.org/StrMod/), but it doesn't have any thread support, and it doesn't explicitly support any particular GUI event loops. The way the event loop works is pretty flexible though. It does have a zero-copy library for moving data around the system though. :-) I've also written a commercial application with it. The library is pretty old (older than ACE), but I've been working on it and revising it all that time. Someone else is using it for their P2P app research project right now, adding UDP support. Have fun (if at all possible), -- "It does me no injury for my neighbor to say there are twenty gods or no God. It neither picks my pocket nor breaks my leg." --- Thomas Jefferson "Go to Heaven for the climate, Hell for the company." -- Mark Twain -- Eric Hopper (hopper@omnifarious.org http://www.omnifarious.org/~hopper) -- -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://zgp.org/pipermail/p2p-hackers/attachments/20040417/842332a2/attachment.pgp From behnel_ml at gkec.informatik.tu-darmstadt.de Mon Apr 19 11:25:17 2004 From: behnel_ml at gkec.informatik.tu-darmstadt.de (Stefan Behnel) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Searching for an event-driven network framework in C++ In-Reply-To: <407FFDDB.1030008@gkec.tu-darmstadt.de> References: <407FFDDB.1030008@gkec.tu-darmstadt.de> Message-ID: <4083B71D.8020101@gkec.tu-darmstadt.de> Thanks everyone for the links! I guess I'll take a closer look at libevent, GNet and maybe ACE. Since there were some comments on the question itself, I was asking especially about C++ as we're about to run a student project in different languages (one of which will also be Twisted Python), so we need a framework for each language in order to reach a simliar level of complexity. From what I've seen so far, I'd expect the C++ project to become more work than the others, though... Thanks again, Stefan From ervalerio at tiscali.it Mon Apr 19 20:13:27 2004 From: ervalerio at tiscali.it (Valerio Schiavoni) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology In-Reply-To: <407D6417.7040104@sun.com> References: <200404141041.14135.ervalerio@tiscali.it> <407D6417.7040104@sun.com> Message-ID: <200404192213.28630.ervalerio@tiscali.it> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi i already knew the jxta framework. What i need infact could be a real-life application, with hundreds/thousands of users, so that a non-trivial topology could be used for experiments. Is there something around? The only thing i could find is Circle, http://thecircle.org.au/ , but apart the fact that it doesn't work behind a natted network, it doesn't look a killer-application for dht environments. If no real-life (or similar) applications can be found, i should switch to a simulated environment, using for example NetKit (www.netkit.org) and running virtual nodes of a given dht applications on each virtual machine. i found also this index: http://www.etse.urv.es/~cpairot/dhts.html where some applications are shown, but i'm not really satisfied. I rember that what i'd like to do is to obtain a MAP of the dht-based overlay network. Having to develop something, languages of choices would be Java or Python, because of more experience with these ones compared to C++ or others. Thanks for help, Valerio On Wednesday 14 April 2004 18:17, you wrote: > You may want to look at the JXTA P2P platform (www.jxta.org). JXTA is > providing a number of interfaces > to extract topology information such as physical route information > (sequence of IP addresses), > and peer addresses. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAhDLn2Bc6lV3TyKwRAoqhAJ9JU+JEpar6CWLpeqJWKi8H+flJZQCfU8vQ rjcF9LXNico0jfrfHE8QQtU= =Y1Tf -----END PGP SIGNATURE----- From em at em.no-ip.com Tue Apr 20 01:06:28 2004 From: em at em.no-ip.com (Enzo Michelangeli) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology References: <200404141041.14135.ervalerio@tiscali.it><407D6417.7040104@sun.com> <200404192213.28630.ervalerio@tiscali.it> Message-ID: <06b301c42673$c50748e0$0200a8c0@em.noip.com> Valerio, Overnet is a real-life file swapping application using the Kademlia algorithm, but it is closed-source (although the protocol has been partially reverse-engineered by the mldonkey team: see the file docs/overnet.txt in http://savannah.nongnu.org/download/mldonkey/mldonkey-2.5.18.tar.gz . Unfortunately, mldonkey is written in Ocaml, a language that looks interesting but not one I'm fluent in. There are two opensource file-swapping applications also using Kademlia, but their implementations are incompatible with Overnet's and with each other: eMule's KAD subsystem, which diverged for Overnet several releases ago, and ReverseConnect. Both are well established (probably eMule has a much larger users base) and both are written in C++: http://www.emule-project.net/ http://www.revconnect.com/ I'm planning to build (or extract from an existing application) a general-purpose library to access one of those networks (probably eMule's KAD) for other purposes, and I would prefer C for reason of compactness. Unfortunately, the docs in both cases are not that detailed... Please keep me posted about your decisions. Cheers -- Enzo ----- Original Message ----- From: "Valerio Schiavoni" To: Sent: Tuesday, April 20, 2004 4:13 AM Subject: Re: [p2p-hackers] dht-based overlay topology > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi > i already knew the jxta framework. > What i need infact could be a real-life application, with hundreds/thousands > of users, so that a non-trivial topology could be used for experiments. > Is there something around? > The only thing i could find is Circle, http://thecircle.org.au/ , but apart > the fact that it doesn't work behind a natted network, it doesn't look > a killer-application for dht environments. > > If no real-life (or similar) applications can be found, i should switch to a > simulated environment, using for example NetKit (www.netkit.org) and running > virtual nodes of a given dht applications on each virtual machine. > > i found also this index: > http://www.etse.urv.es/~cpairot/dhts.html > > where some applications are shown, but i'm not really satisfied. > > I rember that what i'd like to do is to obtain a MAP of the dht-based overlay > network. Having to develop something, languages of choices would be Java or > Python, because of more experience with these ones compared to C++ or others. > > Thanks for help, > > Valerio > On Wednesday 14 April 2004 18:17, you wrote: > > You may want to look at the JXTA P2P platform (www.jxta.org). JXTA is > > providing a number of interfaces > > to extract topology information such as physical route information > > (sequence of IP addresses), > > and peer addresses. > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.4 (GNU/Linux) > > iD8DBQFAhDLn2Bc6lV3TyKwRAoqhAJ9JU+JEpar6CWLpeqJWKi8H+flJZQCfU8vQ > rjcF9LXNico0jfrfHE8QQtU= > =Y1Tf > -----END PGP SIGNATURE----- > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > From mgp at ucla.edu Tue Apr 20 04:14:32 2004 From: mgp at ucla.edu (Michael Parker) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology In-Reply-To: <06b301c42673$c50748e0$0200a8c0@em.noip.com> References: <200404141041.14135.ervalerio@tiscali.it><407D6417.7040104@sun.com> <200404192213.28630.ervalerio@tiscali.it> <06b301c42673$c50748e0$0200a8c0@em.noip.com> Message-ID: <4084A3A8.6010102@ucla.edu> I'd also suggest looking at Pastry for your DHT needs, available at http://research.microsoft.com/~antr/Pastry/. It sounds like it'd be attractive for your purposes for several reasons: First, it's open source, so you're free to use/extend it as you wish. Second, it's already written in Java. Third, I've written a version of the routing table in Python, available at www.bol.ucla.edu/~mgp (note that it hasn't been fully tested, but I plan to get around to that soon). Fourth, it has exceptional performance -- messages are routed in log N time, where N is the number of nodes on the network and the base of the logarithm is scalable (typically, the base is 16, meaning for 4096 nodes a message is usually delivered in 3 hops, for 65536 nodes a message is delivered in 4 hops, etc...). Keep us updated, Michael Enzo Michelangeli wrote: >Valerio, > >Overnet is a real-life file swapping application using the Kademlia >algorithm, but it is closed-source (although the protocol has been >partially reverse-engineered by the mldonkey team: see the file >docs/overnet.txt in >http://savannah.nongnu.org/download/mldonkey/mldonkey-2.5.18.tar.gz . >Unfortunately, mldonkey is written in Ocaml, a language that looks >interesting but not one I'm fluent in. > >There are two opensource file-swapping applications also using Kademlia, >but their implementations are incompatible with Overnet's and with each >other: eMule's KAD subsystem, which diverged for Overnet several releases >ago, and ReverseConnect. Both are well established (probably eMule has a >much larger users base) and both are written in C++: > >http://www.emule-project.net/ >http://www.revconnect.com/ > >I'm planning to build (or extract from an existing application) a >general-purpose library to access one of those networks (probably eMule's >KAD) for other purposes, and I would prefer C for reason of compactness. >Unfortunately, the docs in both cases are not that detailed... Please keep >me posted about your decisions. > >Cheers -- > >Enzo > >----- Original Message ----- >From: "Valerio Schiavoni" >To: >Sent: Tuesday, April 20, 2004 4:13 AM >Subject: Re: [p2p-hackers] dht-based overlay topology > > > > >>-----BEGIN PGP SIGNED MESSAGE----- >>Hash: SHA1 >> >>Hi >>i already knew the jxta framework. >> What i need infact could be a real-life application, with >> >> >hundreds/thousands > > >>of users, so that a non-trivial topology could be used for experiments. >>Is there something around? >>The only thing i could find is Circle, http://thecircle.org.au/ , but >> >> >apart > > >>the fact that it doesn't work behind a natted network, it doesn't look >>a killer-application for dht environments. >> >>If no real-life (or similar) applications can be found, i should switch >> >> >to a > > >>simulated environment, using for example NetKit (www.netkit.org) and >> >> >running > > >>virtual nodes of a given dht applications on each virtual machine. >> >>i found also this index: >>http://www.etse.urv.es/~cpairot/dhts.html >> >>where some applications are shown, but i'm not really satisfied. >> >>I rember that what i'd like to do is to obtain a MAP of the dht-based >> >> >overlay > > >>network. Having to develop something, languages of choices would be Java >> >> >or > > >>Python, because of more experience with these ones compared to C++ or >> >> >others. > > >>Thanks for help, >> >>Valerio >>On Wednesday 14 April 2004 18:17, you wrote: >> >> >>>You may want to look at the JXTA P2P platform (www.jxta.org). JXTA is >>>providing a number of interfaces >>>to extract topology information such as physical route information >>>(sequence of IP addresses), >>>and peer addresses. >>> >>> >>-----BEGIN PGP SIGNATURE----- >>Version: GnuPG v1.2.4 (GNU/Linux) >> >>iD8DBQFAhDLn2Bc6lV3TyKwRAoqhAJ9JU+JEpar6CWLpeqJWKi8H+flJZQCfU8vQ >>rjcF9LXNico0jfrfHE8QQtU= >>=Y1Tf >>-----END PGP SIGNATURE----- >>_______________________________________________ >>p2p-hackers mailing list >>p2p-hackers@zgp.org >>http://zgp.org/mailman/listinfo/p2p-hackers >>_______________________________________________ >>Here is a web page listing P2P Conferences: >>http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences >> >> >> > >_______________________________________________ >p2p-hackers mailing list >p2p-hackers@zgp.org >http://zgp.org/mailman/listinfo/p2p-hackers >_______________________________________________ >Here is a web page listing P2P Conferences: >http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > > > From fis at wiwi.hu-berlin.de Tue Apr 20 07:47:14 2004 From: fis at wiwi.hu-berlin.de (fis@wiwi.hu-berlin.de) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology In-Reply-To: <06b301c42673$c50748e0$0200a8c0@em.noip.com> References: <200404141041.14135.ervalerio@tiscali.it> <407D6417.7040104@sun.com> <200404192213.28630.ervalerio@tiscali.it> <06b301c42673$c50748e0$0200a8c0@em.noip.com> Message-ID: <16516.54658.376739.40566@gargle.gargle.HOWL> this might be off-topic: on choosing the best SE tools... Enzo Michelangeli writes: > From: "Enzo Michelangeli" > Date: Tue, 20 Apr 2004 09:06:28 +0800 > Subject: Re: [p2p-hackers] dht-based overlay topology > > http://www.emule-project.net/ > http://www.revconnect.com/ interesting links, thanks! > I'm planning to build (or extract from an existing application) a > general-purpose library to access one of those networks (probably eMule's > KAD) for other purposes, and I would prefer C for reason of compactness. > Unfortunately, the docs in both cases are not that detailed... Please keep > me posted about your decisions. I haven't looked into mldonkey much yet, but I do have had a look at ocaml and I am really amazed how easy it is to learn and use. Unlike in other functional languages, the ocaml team has weighted usability for hackers way over purity of calculus, and achieved both to a large extent. I only had a very brief look at the C interface, but it seems rather straight-forward to reuse ocaml libraries with gcc. If you decide to cannibalize mldonkey and get stuck, count on my extensive comments and hints! matthias From em at em.no-ip.com Tue Apr 20 08:49:54 2004 From: em at em.no-ip.com (Enzo Michelangeli) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology References: <200404141041.14135.ervalerio@tiscali.it><407D6417.7040104@sun.com><200404192213.28630.ervalerio@tiscali.it><06b301c42673$c50748e0$0200a8c0@em.noip.com> <16516.54658.376739.40566@gargle.gargle.HOWL> Message-ID: <004d01c426b4$c3b36820$0200a8c0@em.noip.com> ----- Original Message ----- From: To: Sent: Tuesday, April 20, 2004 3:47 PM Subject: Re: [p2p-hackers] dht-based overlay topology [...] > I haven't looked into mldonkey much yet, but I do have had a look at > ocaml and I am really amazed how easy it is to learn and use. Unlike > in other functional languages, the ocaml team has weighted usability > for hackers way over purity of calculus, and achieved both to a large > extent. I only had a very brief look at the C interface, but it seems > rather straight-forward to reuse ocaml libraries with gcc. > > If you decide to cannibalize mldonkey and get stuck, count on my > extensive comments and hints! Thanks! But the reason why I'm not enthusiastic about using mldonkey is not so much the Ocaml language, which seems to join data safety and other nice features to to amazing efficiency (see e.g. the benchmarks at http://www.bagley.org/~doug/shootout/index2.shtml), but the fact that the Overnet protocol is proprietary, and might be extended (in Microsoft's sense ;-)) at any time without warning or documentation. Besides, from the statistics reported by mldonkey it would appear that eMule is way more popular than eDonkey2000/Overnet, so the eMule/KAD network is likely to be much larger than Overnet. Cheers -- Enzo From p2p-hackers at strufe.de Fri Apr 23 13:23:02 2004 From: p2p-hackers at strufe.de (Thorsten Strufe) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems Message-ID: <408918B6.2060508@strufe.de> I have a very simple question: from our uni-courses and from quite some literature (coulouris, dollimore, kindberg!) I have learnt, that we know quite a few models to describe the properties of distributed systems. However, searching and looking around I cannot find ONE good selection of models (architecture-; interaction-, failure-, security-, [data-?, organisation-?, Functional-?, role-?, time-?, lifecycle-?, naming-?] model???) nor can I find ONE good definition (formal would be nice...) of at least one of all of these models!? Can anybody come to help and give me hint as to where in literature or the holy world wide web I can find any good information? Thanks a lot in advance! thorsten From zooko at zooko.com Fri Apr 23 16:31:59 2004 From: zooko at zooko.com (zooko@zooko.com) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: Your message of "Fri, 23 Apr 2004 15:23:02 +0200." <408918B6.2060508@strufe.de> References: <408918B6.2060508@strufe.de> Message-ID: I really don't know if this is what you asking for, but I like this comparison of different DHT structures: "The Impact of DHT Routing Geometry on Resilience and Proximity" Gummadi, Gummadi, Gribble, Ratnasamy, Shenker, Stoica http://www.acm.org/sigcomm/sigcomm2003/papers/p381-gummadi.pdf Regards, Zooko > I have a very simple question: > > from our uni-courses and from quite some literature (coulouris, > dollimore, kindberg!) I have learnt, that we know quite a few models to > describe the properties of distributed systems. > However, searching and looking around I cannot find ONE good selection > of models (architecture-; interaction-, failure-, security-, [data-?, > organisation-?, Functional-?, role-?, time-?, lifecycle-?, naming-?] > model???) nor can I find ONE good definition (formal would be nice...) > of at least one of all of these models!? > Can anybody come to help and give me hint as to where in literature or > the holy world wide web I can find any good information? > > Thanks a lot in advance! > > thorsten From p2p-hackers at strufe.de Sat Apr 24 13:51:54 2004 From: p2p-hackers at strufe.de (Thorsten Strufe) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: References: <408918B6.2060508@strufe.de> Message-ID: <408A70FA.5040809@strufe.de> Thanks, I think that > "The Impact of DHT Routing Geometry on Resilience and Proximity" > http://www.acm.org/sigcomm/sigcomm2003/papers/p381-gummadi.pdf this is a very good paper, but what I am looking for is more like definitions for models for distributed systems. I'm trying to do a step back and define the exact differences between P2P and Client/Server and I find that very hard to do, as most of the P2P-properties are covered by the dynamic-c/s-model. Still, we are all very sure, that P2P must be something else. Now, to define P2P I was looking for desciptive models, like the architectural model, interaction model, failure model, security model and so on (from Coulouris, Dollimore, Kindberg: Distributed Systems). On that way I found whole truckloads of models, but again no good definitions for at least one of them, nor any source telling which models to use in which circumstances. This lead me to the question here, if anybody had came across a good source or even *knew* about that, I must admit, a little theoretical topic... May be somebody can come to help! Thanks in advance! :-) Best, Thorsten From ervalerio at tiscali.it Sat Apr 24 14:09:09 2004 From: ervalerio at tiscali.it (Valerio Schiavoni) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology In-Reply-To: <200404192213.28630.ervalerio@tiscali.it> References: <200404141041.14135.ervalerio@tiscali.it> <407D6417.7040104@sun.com> <200404192213.28630.ervalerio@tiscali.it> Message-ID: <200404241609.09997.ervalerio@tiscali.it> Hi again, after some time spent browsing and googling, i ended my research about possible candidates. Above there's a list of what i found. If anyone is aware of some other stuff, please fell free to add it. Given this list as reference, considering that i don't have so much time to spend with this, which platform (appl/lang) would you eventually suggest me? DHT Application Lang Complexity URL Pastry FreePastry Java http://research.microsoft.com/~antr/Pastry/ RoutingTable Python 2 files http://www.bol.ucla.edu/~mgp/ Tapestry ReferenceImpl Java http://www.cs.berkeley.edu/~ravenben/tapestry/ OceanStore Java http://oceanstore.sourceforge.net/ Chord CFS C++ 7k files http://www.pdos.lcs.mit.edu/chord/ Can None ?? Kademlia eMule 0.42 C++ 658 files http://www.emule-project.net/ Khashmir Python 16 files http://khashmir.sourceforge.net/ MLDonkey Ocaml/C hard http://www.nongnu.org/mldonkey/ SharkyPy Python 36 files http://www.heim-d.uni-sb.de/~heikowu/SharkyPy/ ReverseConnect C++ http://www.revconnect.com/ GISP Java/JxTA http://gisp.jxta.org/ Viceroy Applet Java http://www.ece.cmu.edu/~atalmy/viceroy/ > i found also this index: > http://www.etse.urv.es/~cpairot/dhts.html > _______________________________________________ From Mathieu.Jan at irisa.fr Sat Apr 24 19:22:25 2004 From: Mathieu.Jan at irisa.fr (Mathieu Jan) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] dht-based overlay topology Message-ID: <408ABE71.5010307@irisa.fr> Hi, See http://www.mozart-oz.org/mogul/info/cetic_ucl/p2ps.html for another dht-based overlay -- Mathieu Jan - PhD student - PARIS group - Office E217 IRISA/INRIA - Campus de Beaulieu - 35042 RENNES Cedex - FRANCE Email : mailto:Mathieu.Jan@irisa.fr Web : http://www.irisa.fr/paris/pages-perso/Mathieu-Jan/ From verdimar at comp.nus.edu.sg Mon Apr 26 00:33:15 2004 From: verdimar at comp.nus.edu.sg (Verdi March) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: <408A70FA.5040809@strufe.de> References: <408918B6.2060508@strufe.de> <408A70FA.5040809@strufe.de> Message-ID: <200404260833.15810.verdimar@comp.nus.edu.sg> On Saturday April 24 2004 pm 21:51, Thorsten Strufe wrote: > I'm trying to do a step back and define the exact differences between > P2P and Client/Server and I find that very hard to do, as most of the > P2P-properties are covered by the dynamic-c/s-model. Still, we are > all very sure, that P2P must be something else. In P2P, nodes (users) are involved in the overlay-network routing. Regards, Verdi From rsagula at yahoo.com Mon Apr 26 02:07:30 2004 From: rsagula at yahoo.com (Rafael Sagula) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: <200404260833.15810.verdimar@comp.nus.edu.sg> Message-ID: <20040426020730.47597.qmail@web12401.mail.yahoo.com> Correct me if I'm wrong, but I think the main difference is that, in c/s, any given node is either client or server, but in p2p a node can be both client and server at the same time... --- Verdi March wrote: > On Saturday April 24 2004 pm 21:51, Thorsten Strufe > wrote: > > I'm trying to do a step back and define the exact > differences between > > P2P and Client/Server and I find that very hard to > do, as most of the > > P2P-properties are covered by the > dynamic-c/s-model. Still, we are > > all very sure, that P2P must be something else. > > In P2P, nodes (users) are involved in the > overlay-network routing. > > > Regards, > Verdi > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From verdimar at comp.nus.edu.sg Mon Apr 26 02:44:31 2004 From: verdimar at comp.nus.edu.sg (Verdi March) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: <20040426020730.47597.qmail@web12401.mail.yahoo.com> References: <20040426020730.47597.qmail@web12401.mail.yahoo.com> Message-ID: <200404261044.31607.verdimar@comp.nus.edu.sg> On Monday April 26 2004 am 10:07, Rafael Sagula wrote: > Correct me if I'm wrong, but I think the main > difference is that, in c/s, any given node is either > client or server, but in p2p a node can be both client > and server at the same time... Yes, correct. But Thorsten asked more specific differences, and imho, routing is one specific feature of P2P (file-sharing -- Gnutella/Kazza, DHT, ad-hoc wireless network, etc.). Rgds, Verdi From p2p-hackers at strufe.de Mon Apr 26 09:05:58 2004 From: p2p-hackers at strufe.de (Thorsten Strufe) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Models for distributed systems In-Reply-To: <200404261044.31607.verdimar@comp.nus.edu.sg> References: <20040426020730.47597.qmail@web12401.mail.yahoo.com> <200404261044.31607.verdimar@comp.nus.edu.sg> Message-ID: <408CD0F6.6080705@strufe.de> Thanks for the hints! |>Correct me if I'm wrong, but I think the main |>difference is that, in c/s, any given node is either |>client or server, but in p2p a node can be both client |>and server at the same time... Well, if you consider the dynamic client/server model (client server with delegation) you get the same behaviour. Servers delegate subtasks to other servers, and hence become clients for a certain amount of time, in many c/s-systems. I suppose the difference is, that in P2P every node can be the originating source of a request, while in dynamic c/s the source is always a /client/. | But Thorsten asked more specific differences, and imho, | routing is one specific feature of P2P (file-sharing -- Gnutella/Kazza, | DHT, ad-hoc wireless network, etc.). I thought about this fact as well, but if that is the defining characteristic of P2P we had to call any routing system P2P, hadn't we? The problems solved in the system domain seem to be the same then. I've got as far as defining P2P as a system architecture (here comes the first question: does anybody know a good and formal definition of system architectures?). The system architecture can be best described with three different models. ~ * In the role model (formal definitions?): P2P knows of only one role, the servent. Every servent performs, or at least is able to perform the same tasks (symmetric roles), which usually consist of searching its local or locally registered ressources, forwarding search requests and serving an offered ressource. * In the interaction model (formal definitions?): Similar to the client/server model interaction in P2P architectures is done asynchronous via request-response message pairs. Any node can be the originating source for a request. * In the organisational model (fd?): No context knowledge other than a bootstrapping point to one occurence of a specific P2P system is needed to take part in it. There is no central naming system (anyway, it is possible to introduce an distributedly implemented algorithmic naming system as is done with Hashvalues in DHT-Systems). 'Pure' P2P systems are not structured at all (anyway, it again is possible to introduce a distributedly implemented structure as the supernodes in gnutella v0.6). Following this definition, a better word for P2P would probably be decentral distributed systems or collaborative systems (if this term wasn't already occupied by the cscw-world). I'm perfectly aware of the fact that this definition does not cover seti@home, napster and a fair share of other (file-sharing) systems, but it's still the best definition that I can come up with at the moment. And I would be highly interested in other views! :-) Thanks for comments in advance! thorsten From p2p at garethwestern.com Thu Apr 29 11:45:15 2004 From: p2p at garethwestern.com (Gareth Western) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Reclaiming space with FreePastry 1.3.2? In-Reply-To: <408CD0F6.6080705@strufe.de> References: <20040426020730.47597.qmail@web12401.mail.yahoo.com> <200404261044.31607.verdimar@comp.nus.edu.sg> <408CD0F6.6080705@strufe.de> Message-ID: <4090EACB.7070803@garethwestern.com> Hi, I've been looking through the FreePastry API for the Pastry (FreePastry v1.3.2) and playing with the PAST application. I've noticed that the old method for reclaiming space from a PAST node (rice.past.messaging.MessageReclaim) has been deprecated, with a message saying to use the version in the rice.p2p.past package, however there does not seem to be any such message there. So how does one send out a reclaim message now? Many thanks, Gareth From jeffh at cs.rice.edu Thu Apr 29 19:59:42 2004 From: jeffh at cs.rice.edu (Jeff Hoye) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] Reclaiming space with FreePastry 1.3.2? In-Reply-To: <4090EACB.7070803@garethwestern.com> References: <20040426020730.47597.qmail@web12401.mail.yahoo.com> <200404261044.31607.verdimar@comp.nus.edu.sg> <408CD0F6.6080705@strufe.de> <4090EACB.7070803@garethwestern.com> Message-ID: <40915EAE.9000600@cs.rice.edu> Gareth, I forwarded your message to one of the original authors. His response is included below: -Jeff Jeff Hoye jeffh@cs.rice.edu Programmer III FreePastry Team Systems Group Computer Science Department Rice University Gareth, I was one of the graduate students who works on FreePastry. The method for reclaiming space in PAST was deprecated when we went to a new design. In order to maintain security the MessageReclaim did not make it into the newest release. It would be entirely feasible to add it yourself and would be completely straight forward. You would simply add a MessageReclaim which when received by PAST call delete on the keys PAST is currently storing ( see the StorageManager) in rice.persistence. All of this should be on the order of 10 lines of code. If you have any questions feel free to email me ( abpost@rice.edu) or the freepastry developers mailing list freepastry@rice.edu. Ansley Post Gareth Western wrote: > Hi, > > I've been looking through the FreePastry API for the Pastry > (FreePastry v1.3.2) and playing with the PAST application. I've > noticed that the old method for reclaiming space from a PAST node > (rice.past.messaging.MessageReclaim) has been deprecated, with a > message saying to use the version in the rice.p2p.past package, > however there does not seem to be any such message there. So how does > one send out a reclaim message now? > > Many thanks, > > Gareth > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From eric at aquameta.com Thu Apr 29 20:19:30 2004 From: eric at aquameta.com (Eric Hanson) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p Message-ID: <20040429201930.F62427@aquameta.com> Hi all, I'm an XML geek thinking of designing a p2p application based on WebDAV/DASL. WebDAV for those who don't know is an extension of HTTP that adds new operations for editing, copying and moving resources. It also adds a layer of arbitrary XML metadata via WebDAV dead properties. One of the little-appreciated facts about the WebDAV spec is that it allows a resource and it's metadata to be copied from one server to another with a single COPY operation -- essentially the basis for a standards-based p2p application with structured XML metadata. DASL provides a query mechanism by which you can SEARCH a server for resource metadata matching a query. It seems to me that WebDAV/DASL provides a nice base-level functionality for what could be a test-bed for experimentation with different p2p approaches. WebDAV/DASL doesn't solve either the search problem or the bootstrapping problem but it does get the basics done, and in a way that I think is pretty elegant and fully standards-based. On top of WebDAV, developers could write a centralized server spider, or try other techniques. What do you think about using WebDAV and p2p? Also, are there some existing APIs that might work well for something like this? Thanks, Eric From bradneuberg at yahoo.com Thu Apr 29 20:38:15 2004 From: bradneuberg at yahoo.com (Brad Neuberg) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p In-Reply-To: <20040429201930.F62427@aquameta.com> Message-ID: <20040429203815.54214.qmail@web60709.mail.yahoo.com> Eric, a few things. First, this is an interesting insight you've provided. One issue that WebDAV/HTTP would have is that it doesn't solve the issue that Firewalls and NATs pose to accessing edge peers; you need to either layer something on top or on bottom to solve these issues. One possibility is to use the P2P Sockets project (http://p2psockets.jxta.org), a project I help maintain, to solve some of these issues for you. P2P sockets has ported standard Java sockets onto the JXTA P2P system. What this means is that sockets and server sockets can be opened between peers even if they couldn't ordinarilly contact each other, because JXTA provides an underlying overlay network. We have also ported a complete JSP and servlet engine onto P2P Sockets, which means porting an existing WebDAV library would be straightforward. You could then use the WebDAV semantics you talked about to implement a P2P system. I will be giving a presentation at JavaOne on P2P Sockets; the presentation is already online in OpenOffice format at http://p2psockets.jxta.org/unbranded-source/browse/~checkout~/p2psockets/www/docs/tutorials/1176neuberg.sxi?rev=1.1 and steps you through how to use the system. Thanks, Brad Neuberg --- Eric Hanson wrote: > Hi all, > > I'm an XML geek thinking of designing a p2p > application based on > WebDAV/DASL. WebDAV for those who don't know is an > extension of > HTTP that adds new operations for editing, copying > and moving > resources. It also adds a layer of arbitrary XML > metadata via > WebDAV dead properties. > > One of the little-appreciated facts about the WebDAV > spec is > that it allows a resource and it's metadata to be > copied from > one server to another with a single COPY operation > -- > essentially the basis for a standards-based p2p > application with > structured XML metadata. > > DASL provides a query mechanism by which you can > SEARCH a server > for resource metadata matching a query. > > It seems to me that WebDAV/DASL provides a nice > base-level > functionality for what could be a test-bed for > experimentation > with different p2p approaches. WebDAV/DASL doesn't > solve either > the search problem or the bootstrapping problem but > it does get > the basics done, and in a way that I think is pretty > elegant and > fully standards-based. On top of WebDAV, developers > could write > a centralized server spider, or try other > techniques. > > What do you think about using WebDAV and p2p? Also, > are there > some existing APIs that might work well for > something like this? > > Thanks, > Eric > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From billy.corgan at tiscali.it Thu Apr 29 21:03:04 2004 From: billy.corgan at tiscali.it (Alessio Pace) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] FreePastry: an application that sends and receives RoutingTable and LeafSet Message-ID: <1083272583.1544.33.camel@notepuks> Hi all, I am doing some work with a friend of mine on FreePastry. We started from the 2 classes DistHelloWorldMultiThread and HelloWorldAppMultiThread to do something bigger and more useful. I try to be as much clear as possible now :-) What we would like is to have a simple PastryAppl (the HelloWorlAppMultiThread has been taken as an example) that sends "sometimes" requests for routing tables and leaf sets to others nodes (taken at random or selected, it does not matter now) and handles the replies (I expect them to be BrodcastRouteRow and BroadcastLeafSet, right??). All of this is done to analyze the overlay net. The issue that arises after some hours of coding is that it seems to me that a PastryAppl can be aware only of "high level" types of messages: if I pass to the methods routeMsg() an HelloMsg, then destination node will finally invoke the messageForAppl() method with that message as parameter, while instead if I send a RequestRouteRow or RequestLeafSet type of message, the destination node's messageForAppl() is not invoked... I suspect that in a way those 2 latter messages are considered RouteMessage and not passed to the applicaton the stands upon the pastry node that receives the message itself... I hope I have been clear enough.. :-( I know that this is a very technical question, but I don't know where I can ask otherwise, I hope someone with good understanding of FreePatry can help me. Thanks and greetings, Alessio Pace. From eric at aquameta.com Thu Apr 29 23:00:55 2004 From: eric at aquameta.com (Eric Hanson) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p In-Reply-To: <20040429203815.54214.qmail@web60709.mail.yahoo.com>; from bradneuberg@yahoo.com on Thu, Apr 29, 2004 at 01:38:15PM -0700 References: <20040429201930.F62427@aquameta.com> <20040429203815.54214.qmail@web60709.mail.yahoo.com> Message-ID: <20040429230055.A80257@aquameta.com> Brad Neuberg (bradneuberg@yahoo.com) wrote: > Eric, a few things. First, this is an interesting > insight you've provided. One issue that WebDAV/HTTP > would have is that it doesn't solve the issue that > Firewalls and NATs pose to accessing edge peers; you > need to either layer something on top or on bottom to > solve these issues. One possibility is to use the P2P > Sockets project (http://p2psockets.jxta.org), a > project I help maintain, to solve some of these issues > for you. P2P sockets has ported standard Java sockets > onto the JXTA P2P system. What this means is that > sockets and server sockets can be opened between peers > even if they couldn't ordinarilly contact each other, > because JXTA provides an underlying overlay network. > We have also ported a complete JSP and servlet engine > onto P2P Sockets, which means porting an existing > WebDAV library would be straightforward. You could > then use the WebDAV semantics you talked about to > implement a P2P system. Interesting. I'm using the eXist XML database (http://exist-db.org/) which IMHO is developing into the most badass XML database out there, and it's totally free/open source. It's based on Jetty as well, so P2P Sockets might be a good fit. Though it raises the question of where to draw the line between what is a base functionality and what should be part of the plugin API. I think functioning over NATs is probably something that every peer should be capable of. I've had a quick read over the docs but have a couple questions. P2P Sockets addresses the NAT problem, but for peers which aren't behind a NAT, would it modify their behavior? Would a regular non-natted peer still be accessible in the usual way with a WebDAV client or HTTP client? At any rate, JXTA seems to solve many of the problems at hand. I'm thinking about partitioning the information space by data-type. Each resource is "typified" by its metadata, and each peer would join a virtual network for each type of data they're hosting. If they serve a "song", a "movie" and a "photo of natalie portman" the peer would join the three sub-groups for resources of these types. When someone searches for a type of data, they'd only search peers in that data-type's network. might JXTA's sub-groups facilities might work here? Thanks, Eric From bkn3 at columbia.edu Thu Apr 29 23:07:10 2004 From: bkn3 at columbia.edu (Brad Neuberg) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p In-Reply-To: <20040429230055.A80257@aquameta.com> References: <20040429201930.F62427@aquameta.com> <20040429203815.54214.qmail@web60709.mail.yahoo.com> <20040429230055.A80257@aquameta.com> Message-ID: <6.0.1.1.2.20040429160351.02045bf8@pop.mail.yahoo.com> At 04:00 PM 4/29/2004, you wrote: >Brad Neuberg (bradneuberg@yahoo.com) wrote: > > Eric, a few things. First, this is an interesting > > insight you've provided. One issue that WebDAV/HTTP > > would have is that it doesn't solve the issue that > > Firewalls and NATs pose to accessing edge peers; you > > need to either layer something on top or on bottom to > > solve these issues. One possibility is to use the P2P > > Sockets project (http://p2psockets.jxta.org), a > > project I help maintain, to solve some of these issues > > for you. P2P sockets has ported standard Java sockets > > onto the JXTA P2P system. What this means is that > > sockets and server sockets can be opened between peers > > even if they couldn't ordinarilly contact each other, > > because JXTA provides an underlying overlay network. > > We have also ported a complete JSP and servlet engine > > onto P2P Sockets, which means porting an existing > > WebDAV library would be straightforward. You could > > then use the WebDAV semantics you talked about to > > implement a P2P system. > >Interesting. > >I'm using the eXist XML database (http://exist-db.org/) which >IMHO is developing into the most badass XML database out there, >and it's totally free/open source. It's based on Jetty as well, >so P2P Sockets might be a good fit. I'll have to check out that project; I haven't looked at it. >Though it raises the question of where to draw the line between >what is a base functionality and what should be part of the >plugin API. I think functioning over NATs is probably something >that every peer should be capable of. > >I've had a quick read over the docs but have a couple questions. >P2P Sockets addresses the NAT problem, but for peers which >aren't behind a NAT, would it modify their behavior? Would a >regular non-natted peer still be accessible in the usual way >with a WebDAV client or HTTP client? Well, all communication in JXTA is done through an overlay network that abstracts out the exact way in which two peers communicate. I think that if two peers are non-NATed and non-firewalled that they make direct TCP connections to one another; above the JXTA abstraction, however, it all looks the same. These two peers just get better performance since they don't need a third peer to do HTTP relaying for them (which is necessary for NATed peers). >At any rate, JXTA seems to solve many of the problems at hand. >I'm thinking about partitioning the information space by >data-type. Each resource is "typified" by its metadata, and >each peer would join a virtual network for each type of data >they're hosting. If they serve a "song", a "movie" and a "photo >of natalie portman" the peer would join the three sub-groups for >resources of these types. When someone searches for a type of >data, they'd only search peers in that data-type's network. >might JXTA's sub-groups facilities might work here? You could also use P2P Sockets distributed domain names here. Each peer could start up a P2P server socket with a domain name that has to do with their type, such as "www.song.share" or "www.movie.share". I forgot to mention that there is also an article that can help you get started with P2P Sockets on O'Reilly; check out http://www.onjava.com/pub/a/onjava/2003/12/03/p2psockets.html. Brad >Thanks, >Eric >_______________________________________________ >p2p-hackers mailing list >p2p-hackers@zgp.org >http://zgp.org/mailman/listinfo/p2p-hackers >_______________________________________________ >Here is a web page listing P2P Conferences: >http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From Bernard.Traversat at Sun.COM Thu Apr 29 23:15:28 2004 From: Bernard.Traversat at Sun.COM (Bernard Traversat) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p In-Reply-To: <6.0.1.1.2.20040429160351.02045bf8@pop.mail.yahoo.com> References: <20040429201930.F62427@aquameta.com> <20040429203815.54214.qmail@web60709.mail.yahoo.com> <20040429230055.A80257@aquameta.com> <6.0.1.1.2.20040429160351.02045bf8@pop.mail.yahoo.com> Message-ID: <40918C90.5070202@sun.com> Brad Neuberg wrote: >> Though it raises the question of where to draw the line between >> what is a base functionality and what should be part of the >> plugin API. I think functioning over NATs is probably something >> that every peer should be capable of. >> >> I've had a quick read over the docs but have a couple questions. >> P2P Sockets addresses the NAT problem, but for peers which >> aren't behind a NAT, would it modify their behavior? Would a >> regular non-natted peer still be accessible in the usual way >> with a WebDAV client or HTTP client? > > > Well, all communication in JXTA is done through an overlay network > that abstracts out the exact way in which two peers communicate. I > think that if two peers are non-NATed and non-firewalled that they > make direct TCP connections to one another; above the JXTA > abstraction, however, it all looks the same. These two peers just get > better performance since they don't need a third peer to do HTTP > relaying for them (which is necessary for NATed peers). Brad, You are correct. B. -- "As Java implies platform independence, and XML implies language independence, then JXTA implies network independence." From bert at web2peer.com Fri Apr 30 02:36:48 2004 From: bert at web2peer.com (Bert) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p Message-ID: <20040429193649.10298.h014.c001.wm@mail.web2peer.com.criticalpath.net> Brad -- is there any way you can connect to a p2p server socket with a regular TCP/IP socket? I ask because otherwise all the benefits of using a standard protocol (such as WebDAV) sort of go out the window, seeing as the standard clients that implement that protocol become inoperable with the network (barring any modifications). This is one of the issues we struggled with in YouServ (http://www.almaden.ibm.com/cs/people/bayardo/userv/) where the goal was to maintain compatability with standard browsers, while still allowing NAT'd peers to publish websites. Bert On Thu, 29 Apr 2004 13:38:15 -0700 (PDT), Brad Neuberg wrote: > > Eric, a few things. First, this is an interesting > insight you've provided. One issue that WebDAV/HTTP > would have is that it doesn't solve the issue that > Firewalls and NATs pose to accessing edge peers; you > need to either layer something on top or on bottom to > solve these issues. One possibility is to use the P2P > Sockets project (http://p2psockets.jxta.org), a > project I help maintain, to solve some of these issues > for you. P2P sockets has ported standard Java sockets > onto the JXTA P2P system. What this means is that > sockets and server sockets can be opened between peers > even if they couldn't ordinarilly contact each other, > because JXTA provides an underlying overlay network. > We have also ported a complete JSP and servlet engine > onto P2P Sockets, which means porting an existing > WebDAV library would be straightforward. You could > then use the WebDAV semantics you talked about to > implement a P2P system. > > I will be giving a presentation at JavaOne on P2P > Sockets; the presentation is already online in > OpenOffice format at > http://p2psockets.jxta.org/unbranded-source/browse/~checkout~/p2psockets/www/docs/tutorials/1176neuberg.sxi?rev=1.1 > and steps you through how to use the system. > > Thanks, > Brad Neuberg > > > --- Eric Hanson wrote: > > Hi all, > > > > I'm an XML geek thinking of designing a p2p > > application based on > > WebDAV/DASL. WebDAV for those who don't know is an > > extension of > > HTTP that adds new operations for editing, copying > > and moving > > resources. It also adds a layer of arbitrary XML > > metadata via > > WebDAV dead properties. > > > > One of the little-appreciated facts about the WebDAV > > spec is > > that it allows a resource and it's metadata to be > > copied from > > one server to another with a single COPY operation > > -- > > essentially the basis for a standards-based p2p > > application with > > structured XML metadata. > > > > DASL provides a query mechanism by which you can > > SEARCH a server > > for resource metadata matching a query. > > > > It seems to me that WebDAV/DASL provides a nice > > base-level > > functionality for what could be a test-bed for > > experimentation > > with different p2p approaches. WebDAV/DASL doesn't > > solve either > > the search problem or the bootstrapping problem but > > it does get > > the basics done, and in a way that I think is pretty > > elegant and > > fully standards-based. On top of WebDAV, developers > > could write > > a centralized server spider, or try other > > techniques. > > > > What do you think about using WebDAV and p2p? Also, > > are there > > some existing APIs that might work well for > > something like this? > > > > Thanks, > > Eric > > _______________________________________________ > > p2p-hackers mailing list > > p2p-hackers@zgp.org > > http://zgp.org/mailman/listinfo/p2p-hackers > > _______________________________________________ > > Here is a web page listing P2P Conferences: > > > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From em at em.no-ip.com Fri Apr 30 03:03:20 2004 From: em at em.no-ip.com (Enzo Michelangeli) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] "Distributed BTree" algorithms anyone? Message-ID: <065601c42e5f$bb5e3260$0200a8c0@em.noip.com> We all know of Distributed Hash Tables, which provide hash-based indexing. Are there algorithms for distributed indexing providing primitives similar to the ones available with binary trees, such as sorted access or search on truncated key? That could be useful for, e.g., distributed processing: "Find the number crunching server with the highest value of the keyword 'idle'". Enzo From bert at web2peer.com Fri Apr 30 03:43:08 2004 From: bert at web2peer.com (Bert) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] "Distributed BTree" algorithms anyone? Message-ID: <20040429204308.29112.h014.c001.wm@mail.web2peer.com.criticalpath.net> SkipGraphs provide this sort of function: http://www.cs.yale.edu/homes/shah/html/pubs/skip-graphs.html as do P-trees: http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2004-1926 Bert On Fri, 30 Apr 2004 11:03:20 +0800, "Enzo Michelangeli" wrote: > > We all know of Distributed Hash Tables, which provide hash-based > indexing. > Are there algorithms for distributed indexing providing primitives > similar > to the ones available with binary trees, such as sorted access or > search > on truncated key? That could be useful for, e.g., distributed > processing: > "Find the number crunching server with the highest value of the keyword > 'idle'". > > Enzo > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From bert at web2peer.com Fri Apr 30 03:43:08 2004 From: bert at web2peer.com (Bert) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] "Distributed BTree" algorithms anyone? Message-ID: <20040429204308.29112.h014.c001.wm@mail.web2peer.com.criticalpath.net> SkipGraphs provide this sort of function: http://www.cs.yale.edu/homes/shah/html/pubs/skip-graphs.html as do P-trees: http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2004-1926 Bert On Fri, 30 Apr 2004 11:03:20 +0800, "Enzo Michelangeli" wrote: > > We all know of Distributed Hash Tables, which provide hash-based > indexing. > Are there algorithms for distributed indexing providing primitives > similar > to the ones available with binary trees, such as sorted access or > search > on truncated key? That could be useful for, e.g., distributed > processing: > "Find the number crunching server with the highest value of the keyword > 'idle'". > > Enzo > > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences From bradneuberg at yahoo.com Fri Apr 30 05:46:37 2004 From: bradneuberg at yahoo.com (Brad Neuberg) Date: Sat Dec 9 22:12:39 2006 Subject: [p2p-hackers] webdav p2p In-Reply-To: <20040429193649.10298.h014.c001.wm@mail.web2peer.com.criticalpath.net> Message-ID: <20040430054637.74275.qmail@web60705.mail.yahoo.com> Bert, right now we have a P2PToWebProxy that gateways normal HTTP requests from web browsers into the P2P Sockets network to P2P web sites, and back out as normal HTTP responses; this makes it possible to browse P2P web sites without needing to modify the browser (except for setting a local proxy). If someone implemented WebDAV above P2P Sockets it would probably work using the existing P2PToWebProxy. Someone could also run this proxy on a machine out on the Internet to act as a universal proxy into the P2P network and back out. Brad --- Bert wrote: > Brad -- is there any way you can connect to a p2p > server socket with a > regular TCP/IP socket? I ask because otherwise all > the benefits of > using a standard protocol (such as WebDAV) sort of > go out the window, > seeing as the standard clients that implement that > protocol become > inoperable with the network (barring any > modifications). > > This is one of the issues we struggled with in > YouServ > (http://www.almaden.ibm.com/cs/people/bayardo/userv/) > where the goal > was to maintain compatability with standard > browsers, while still > allowing NAT'd peers to publish websites. > > Bert > > > On Thu, 29 Apr 2004 13:38:15 -0700 (PDT), Brad > Neuberg wrote: > > > > > Eric, a few things. First, this is an interesting > > insight you've provided. One issue that > WebDAV/HTTP > > would have is that it doesn't solve the issue that > > Firewalls and NATs pose to accessing edge peers; > you > > need to either layer something on top or on bottom > to > > solve these issues. One possibility is to use the > P2P > > Sockets project (http://p2psockets.jxta.org), a > > project I help maintain, to solve some of these > issues > > for you. P2P sockets has ported standard Java > sockets > > onto the JXTA P2P system. What this means is that > > sockets and server sockets can be opened between > peers > > even if they couldn't ordinarilly contact each > other, > > because JXTA provides an underlying overlay > network. > > We have also ported a complete JSP and servlet > engine > > onto P2P Sockets, which means porting an existing > > WebDAV library would be straightforward. You > could > > then use the WebDAV semantics you talked about to > > implement a P2P system. > > > > I will be giving a presentation at JavaOne on P2P > > Sockets; the presentation is already online in > > OpenOffice format at > > > http://p2psockets.jxta.org/unbranded-source/browse/~checkout~/p2psockets/www/docs/tutorials/1176neuberg.sxi?rev=1.1 > > and steps you through how to use the system. > > > > Thanks, > > Brad Neuberg > > > > > > --- Eric Hanson wrote: > > > Hi all, > > > > > > I'm an XML geek thinking of designing a p2p > > > application based on > > > WebDAV/DASL. WebDAV for those who don't know is > an > > > extension of > > > HTTP that adds new operations for editing, > copying > > > and moving > > > resources. It also adds a layer of arbitrary > XML > > > metadata via > > > WebDAV dead properties. > > > > > > One of the little-appreciated facts about the > WebDAV > > > spec is > > > that it allows a resource and it's metadata to > be > > > copied from > > > one server to another with a single COPY > operation > > > -- > > > essentially the basis for a standards-based p2p > > > application with > > > structured XML metadata. > > > > > > DASL provides a query mechanism by which you can > > > SEARCH a server > > > for resource metadata matching a query. > > > > > > It seems to me that WebDAV/DASL provides a nice > > > base-level > > > functionality for what could be a test-bed for > > > experimentation > > > with different p2p approaches. WebDAV/DASL > doesn't > > > solve either > > > the search problem or the bootstrapping problem > but > > > it does get > > > the basics done, and in a way that I think is > pretty > > > elegant and > > > fully standards-based. On top of WebDAV, > developers > > > could write > > > a centralized server spider, or try other > > > techniques. > > > > > > What do you think about using WebDAV and p2p? > Also, > > > are there > > > some existing APIs that might work well for > > > something like this? > > > > > > Thanks, > > > Eric > > > _______________________________________________ > > > p2p-hackers mailing list > > > p2p-hackers@zgp.org > > > http://zgp.org/mailman/listinfo/p2p-hackers > > > _______________________________________________ > > > Here is a web page listing P2P Conferences: > > > > > > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > > > > _______________________________________________ > > p2p-hackers mailing list > > p2p-hackers@zgp.org > > http://zgp.org/mailman/listinfo/p2p-hackers > > _______________________________________________ > > Here is a web page listing P2P Conferences: > > > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences > _______________________________________________ > p2p-hackers mailing list > p2p-hackers@zgp.org > http://zgp.org/mailman/listinfo/p2p-hackers > _______________________________________________ > Here is a web page listing P2P Conferences: > http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences