<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12150771</id><updated>2011-12-01T02:09:12.560-08:00</updated><title type='text'>Developing with JXTA</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12150771.post-111462669041786757</id><published>2005-04-27T11:31:00.000-07:00</published><updated>2005-04-27T13:10:12.560-07:00</updated><title type='text'>What does the PSE Membership do for you</title><content type='html'>It makes no doubts that the pse membership is a great improvement compared to the "old" password membership, as for instance, the encryption used in the PSE membership is much stronger that the Password membership one.&lt;br /&gt;However, my experience with the PSE membership is that I've only be able to manage a system where knowing the PSE Group's keystore password it the only required field to be able to be granted peer group membership.&lt;br /&gt;&lt;br /&gt;The PSE effort is really a step forward in more secure peer to peer communication. But in my opinion its use for Peer Group Membership could be improved, by making a better use of its underlying X509Certificate / private keys technology. &lt;br /&gt;For instance, instead of sharing the peergroup keystore password among the peers authorized to join the PSE Peer Group, we could instead base authentication and peer group membership authorization on whether the edge peer X509 Certificate has been signed by a "trusted Source" (e.g: the Peer Group X509Cert/private key).&lt;br /&gt;In addition to be providing individual distinct authentication tokens, it would remove the need to have the peer Group private key embedded into the peer group advertisement.  I feel that publishing the private key, even strongly encrypted, could be a liability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111462669041786757?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111462669041786757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111462669041786757' title='60 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111462669041786757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111462669041786757'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/what-does-pse-membership-do-for-you.html' title='What does the PSE Membership do for you'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>60</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111455219237702217</id><published>2005-04-26T14:49:00.000-07:00</published><updated>2005-04-26T15:45:17.196-07:00</updated><title type='text'>Joining a Peer Group with PSE Membership</title><content type='html'>This posting deals with the comments I have regarding Joining the SAXTA Peer group (using PSEMembership).&lt;br /&gt;To manage to join the saxta group, i reused extensively the code provided in the JXTA plaform, especially the &lt;span style="font-size:85%;"&gt;net.jxta.impl.membership.pse.pseMembershipTest&lt;/span&gt; class. I want to thank JXTA for providing it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;"&gt;Comment 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first step into joining the SAXTA group is getting a instance of &lt;span style="font-size:85%;"&gt;AuthenticationCredential &lt;/span&gt;using the following constructor:&lt;br /&gt;AuthenticationCredential(PeerGroup peerGroup, String method, Element indentityInfo)&lt;br /&gt;Let's discuss about the parameters of this constructor:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;The "peerGroup" parameter is self explanatory, it refers to the peer group that we are trying to join.&lt;/li&gt;   &lt;li&gt;The "method" parameter is more confusing, the java doc says: "The authentication method which will be requested when the AuthentiationCredential is provided to the peergroup Membership Service." Valids for the "method" parameters are undocumented and to find out what they are you have to look into the source code of the AuthenticationCredential and PSEMembershipService classes. The String "StringAuthentication" for the method parameters makes the constructor return a non-interactive AuthenticatorCredential instance, which is what I wanted.&lt;/li&gt;      &lt;li&gt;Last The Element "indentitityInfo" parameter is described as "Optional additional information about the identity being requested which is used by the authentication method. This information is passed to the authentication method during the apply operation of the Membership Service". I'm still unsure of what it is, but tt works when you pass the AuthenticatorCredential  constructor the value null. Cf comment 2 and 3 previously posted on this Blog (April 25th).&lt;/li&gt; &lt;/ul&gt;So, finally here is what worked for me:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;            AuthenticationCredential authCred =new AuthenticationCredential( saxtaGroup, "StringAuthentication", null);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111455219237702217?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111455219237702217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111455219237702217' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111455219237702217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111455219237702217'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/joining-peer-group-with-pse-membership.html' title='Joining a Peer Group with PSE Membership'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111453349531104831</id><published>2005-04-26T09:36:00.000-07:00</published><updated>2005-04-26T13:30:15.173-07:00</updated><title type='text'>More about my experience in PSEMembership</title><content type='html'>I am resuming today the blog I was writing yesterday about my experience the JXTA's PSEMembership&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 51, 153);"&gt;Comment 4:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the PSEMembershipService class, the "join (Authenticator authenticator)" method (see code snipplet below) not only makes sure that the Authenticator provided is "completed correctly" (isReadyForJoin() method), :&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;    public Credential join( Authenticator authenticated ) throws PeerGroupException {&lt;br /&gt;&lt;br /&gt; if( this != authenticated.getSourceService() ) {&lt;br /&gt;     throw new ClassCastException( "This is not my authenticator!" );&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; if( !authenticated.isReadyForJoin() ) {&lt;br /&gt;     throw new PeerGroupException( "Authenticator not ready to join!" );&lt;br /&gt; }&lt;/blockquote&gt;&lt;/span&gt;                &lt;br /&gt;but also that the but also that the Authenticator passed to the PSEMembershipService is the same as the one that was provided initially:&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;if( this != authenticated.getSourceService() ) {&lt;br /&gt;     throw new ClassCastException( "This is not my authenticator!" );&lt;br /&gt; }&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;    Such may prevent "Authenticator" spoofing to some extent.&lt;br /&gt;&lt;br /&gt;However since the Membership class to be used in a given peergroup is only described by it class name in the  Module Impl Adv&lt;br /&gt;(See XML Element extracted from Membership Module Impl Advertisement below)&lt;br /&gt;&lt;span style="font-size:85%;"&gt; &lt;blockquote&gt;&lt;br /&gt;       &amp;lt;svc&amp;gt;&lt;br /&gt;                &amp;lt;jxta:mia jxta="http://jxta.org"&amp;gt;&lt;br /&gt;                        &amp;lt;msid&amp;gt;&lt;br /&gt;                                urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE000000050306&lt;br /&gt;                        &amp;lt;/msid&amp;gt;&lt;br /&gt;                        &amp;lt;comp&amp;gt;&lt;br /&gt;                                &amp;lt;efmt&amp;gt;&lt;br /&gt;                                        JDK1.4.1&lt;br /&gt;                                &amp;lt;/efmt&amp;gt;&lt;br /&gt;                                &amp;lt;bind&amp;gt;&lt;br /&gt;&lt;br /&gt;                                        V2.0 Ref Impl&lt;br /&gt;                                &amp;lt;/bind&amp;gt;&lt;br /&gt;                        &amp;lt;/comp&amp;gt;&lt;br /&gt;                        &amp;lt;code&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;                                       net.jxta.impl.membership.pse.PSEMembershipService&lt;/span&gt;&lt;br /&gt;                        &amp;lt;/code&amp;gt;&lt;br /&gt;                        &amp;lt;puri&amp;gt;&lt;br /&gt;                                http://www.jxta.org/download/jxta.jar&lt;br /&gt;                        &amp;lt;/puri&amp;gt;&lt;br /&gt;                        &amp;lt;prov&amp;gt;&lt;br /&gt;                                sun.com&lt;br /&gt;                        &amp;lt;/prov&amp;gt;&lt;br /&gt;                        &amp;lt;desc&amp;gt;&lt;br /&gt;                                Module Impl Advertisement for the Certificate Based Services&lt;br /&gt;                        &amp;lt;/desc&amp;gt;&lt;br /&gt;                &amp;lt;/jxta:mia&amp;gt;&lt;br /&gt;        &amp;lt;/svc&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;Nothing prevents me to write a rogue net.jxta.impl.membership.pse.PSEMembershipService Class, and replacing the orginal one with the rogue one on my local peer.&lt;br /&gt;This would allow my local rogue peer to join a PSEMembership managed peer group.&lt;br /&gt;http://www.jxta.org/download/jxta.jar file could be signed, preventing tempering, but my experience is that you can "custom" the jxta.jar file without any consequences. So should be signed, the code does not check for tempering.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 51, 153);"&gt;Comment 5:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I used a PSEConfigAdv instance to put together the Peer Group Advertisement parameters needed for the PSE Membership. It works well if you specify only the following PSEConfigAdv Parameter the Certificate Chain or Certficate ; e.g: &lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;pseConfigAdv.setCertificateChain(x509CertificateChain);&lt;/blockquote&gt;&lt;/span&gt; and the Private Key; e.g:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;pseConfigAdv.setPrivateKey(nodeGroupPrivateKey,saxtaGroupPSEMembershipPassword);&lt;/span&gt;&lt;br /&gt;Now should you provide other parameters such as the "KeyStore Type" and "KeyStoreProvider" the Peer Group advertisement would look like:&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;       &amp;lt;svc&amp;gt;&lt;br /&gt;           &amp;lt;mcid&amp;gt;&lt;br /&gt;                   urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000505&lt;br /&gt;           &amp;lt;/mcid&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt; &amp;lt;parm type="jxta:PSEConfig" jxta="http://jxta.org" keystoretype="jks" keystoreprovider="SUN version 1.5"&amp;gt;&lt;/span&gt;&lt;br /&gt;                   &amp;lt;rootcert&amp;gt;&lt;br /&gt;                           &amp;lt;certificate&amp;gt;&lt;/blockquote&gt;&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;The 2 added attributes will actually make the JXTA throw and exception:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;Exception in thread "main" java.lang.reflect.UndeclaredThrowableException&lt;br /&gt;    at net.jxta.impl.peergroup.GenericPeerGroup.loadModule(GenericPeerGroup.java:818)&lt;br /&gt;    at net.jxta.impl.peergroup.GenericPeerGroup.newGroup(GenericPeerGroup.java:1304)&lt;br /&gt;    at net.jxta.impl.peergroup.PeerGroupInterface.newGroup(PeerGroupInterface.java:290)&lt;/blockquote&gt;&lt;/span&gt;This error took me a [very] long time to find out as the error message make you think that the ModuleImplementation Advertisement is the problematic one, not the peer group advertisement.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 51, 153);"&gt;Comment 6:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Below is the valid PSEConfig Advertisement part of the Saxta Peer Group. This PSEConfig Advertisement what created with the following commands:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt; PSEConfigAdv pseConfigAdv = (PSEConfigAdv) AdvertisementFactory.newAdvertisement(PSEConfigAdv.getAdvertisementType());&lt;br /&gt;pseConfigAdv.setPrivateKey(nodeGroupPrivateKey,saxtaGroupPSEMembershipPassword) ;&lt;br /&gt;pseConfigAdv&lt;span style="color: rgb(255, 102, 0);"&gt;.setCertificateChain(x509CertificateChain);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Note that what was passed to the pseConfigAdvertisement was a CertificateChain (an Array of certificates) containing the Certificate Authority's X509Certificate (at index 1) as well as the signed PeerGroup X509Certificate (index 0).&lt;br /&gt;&lt;br /&gt;The correspond advertisement Element is as followed:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;Svc&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;MCID&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                       urn:jxta:uuid-DEADBEEFDEAFBABAFEEDBABE0000000505&lt;br /&gt;               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/MCID&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;Parm type="jxta:PSEConfig" xmlns:jxta="http://jxta.org"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;RootCert&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;Certificate&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                                       MIICJjCCAY+gAwIBAgIBATANBgkqhkiG9w0BAQUFADBJMRUwEwYDVQQKEwx3d3cuanh0YS5vcmcx&lt;br /&gt;ETAPBgNVBAMTCFNheHRhLUNBMR0wGwYDVQQLExRFQzgwREE5RDdCNkI4Mjk1MkU2NjAeFw0wNTA0&lt;br /&gt;MDQxOTAxMTJaFw0wNTA4MDIxOTAxMTJaMGkxFTATBgNVBAoTDHd3dy5qeHRhLm9yZzExMC8GA1UE&lt;br /&gt;AxMoVU1EIFNheHRhQ29tbXVuaXR5IE5vZGUgR3JvdXAgTWFuYWdlci1DQTEdMBsGA1UECxMUNTBD&lt;br /&gt;OUIyRDg3Rjk4NzhGNkI3ODIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKJS038q+gmKGjff&lt;br /&gt;&lt;br /&gt;kv22pt8AuMIzqkU5ciofp0ZgavgNSLBmCwbuEq+Z2LvguBMU2zzHlVGH2xBjjFs9ZaO5chEqztyd&lt;br /&gt;X4lrGj6r1aiY07JhTrKehQ/sIzk4ZK7KZ7ZvzAQECcIfuz/leBVeRh0pVGtvXRr8f8Km393cuPb2&lt;br /&gt;vqRHAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEALZPcRiYf4BBaZYBn0oltKNWiHKgSgHcxnWUL2S+K&lt;br /&gt;hrGpjeDXbUH9MbUPPrMZ39EjsIL/qU8lTt05SDMK05Y18JdX3lXQZ1Q+E9hm/MB8pFHYX8AGLCMh&lt;br /&gt;YwmnjCUV0uv/oxwOR7+a2v+JKL+GoGT/C/OHQ2rJfDJ/pwoZVNd7CbM=&lt;br /&gt;                               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/Certificate&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;EncryptedPrivateKey algorithm="RSA"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                                       MIICoTAbBgkqhkiG9w0BBQMwDgQI8XQZohplhAECAgH0BIICgGiECYe6x10txBR7Zf6vHsG5O5q1&lt;br /&gt;8+4OO4ns7f0RpYPqHGYW6snPZrg4DoZ2lbZajGz5xXaboS0W+EzGWzFFTzSL4RfTjvQIx7+uyWV8&lt;br /&gt;In9CLO0Spq2AdQV1tqAEB1lPmCe/sAuFZGeVQzaJrmut2ibyNZvGSLFjQXJ1rs/8jgOUmerK/JMg&lt;br /&gt;5ksIwm0TsNMiEDbE+CAwhWfdgqHbBA+dmqV+E7KWJrbhMMqnUM6a6m42b5ZoMjDQlpC95fsZtpE6&lt;br /&gt;gMY1oTOubYPHgs+p9cSDe+pcQDV19+mjXPqsbVtqWrPezn1+xMpj2INLM2STnemVXD4CQb4c+tXc&lt;br /&gt;viRNlYr1gyQQ/A262wPx3kI9sh7HXN2ZBO2xrlWCBxf8/AedoMpba0bw/Y6LkxcSvCEDTM4WtVFT&lt;br /&gt;d2Dh4W3jqRt62rXqpq+vzjLL0aemQygBUku/WAUHn+qk7HRTJamRdiOPYKd4ZDxkyMedXlkwIocQ&lt;br /&gt;d35yfQ5fvNbOe0PLkRXnjid7Af2S7XNfs8eTZSCXhzxV1wuEH6jRiMgW9uzpp2EJjdugrboe8gty&lt;br /&gt;C00HoP0U02usUVKqoJtMS0dX/PJHbIMLXvXPqJnZ+3TKpWpxxNC2I3qurhw2k4RH6LGSqK6Qsc3Q&lt;br /&gt;HSQBvoJxNaN0AG60916giLwSIRJIgKIAtyxNvhuBkZuEHN5po1bT62zQ2tGQjU0/cLvuJ/6eH6Jz&lt;br /&gt;G17L1tRSWmjtLLMIdbQ90iqBMJQf0YSs5hJ8UJGW6ST3aMnOP9Rf0Ge+QK1GRjuGoI0KEo9xSom6&lt;br /&gt;iUqEIzutFQYiCCm3P2M/R/FQZd0KsigsaiIA0YnHNy3pZKrrzZOsoSczyhyIGnHX/gA=&lt;br /&gt;                               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/EncryptedPrivateKey&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;                       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/RootCert&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;               &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/Parm&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;br /&gt;       &lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &amp;lt;/Svc&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The certificate chain has been truncated to the Peer Group X509Certificate (the CA X509 Certificate has been discarded), which confirms the comments in the JXTA code that the PSE Membership does not support certificate chains.&lt;br /&gt;&lt;br /&gt;It actually is an issue for me as I rely on a "self signed" certificate authority to identify potential rogue/unauthorized super peers: Valid Super Peers have their Certificates signed by the CA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111453349531104831?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111453349531104831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111453349531104831' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111453349531104831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111453349531104831'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/more-about-my-experience-in.html' title='More about my experience in PSEMembership'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111447591476494459</id><published>2005-04-25T16:41:00.000-07:00</published><updated>2005-04-25T18:59:45.780-07:00</updated><title type='text'>Sharing my experience in working with the PSEMembership</title><content type='html'>&lt;span style="color: rgb(51, 51, 153);font-size:130%;" &gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This posting is an ad hoc set of personal comments about the experience I've had so far in using the PSE Membership. It refers to the previous posting as for the goals and steps that I am trying to follow.&lt;br /&gt;&lt;br /&gt;All right, let's start, readers, please don't be too upset by what below. I'm not an expert SW engineer, so It may be inappropriate for me to post these comment, but I just hope it helps ...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;font-size:100%;" &gt;Comment 0.0: &lt;/span&gt;&lt;br /&gt;It may have changed, but the building of the JXTA platform is a little funky. There is no way to compile the platform with Eclipse for instance as some java files (for monitoring if I recall) are generated by the JXTA build.xml ant file. The only way to build the platform is to use the JXTA ant file. So I need to use the jxta.jar library when developing my application. That is fine until I need to look into the JXTA platform source code. I can't do it from eclipse, I need to use another editor for editing the platform source code.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;font-size:100%;" &gt;Comment 0.1 &lt;/span&gt;&lt;br /&gt;Again, it may have changed, but on the www.jxta.org web site front page there is no link to download.jxta.org which was confusing when I first tried to get the binaries of the latest stable release. If you want the latest platform "you've got" (again not really, but a link to "download.jxta.org" is hard to find) to get it through CVS which could discourage some users.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);font-size:130%;" &gt;My Experience with PSE&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold;font-size:100%;" &gt;&lt;br /&gt;Generating and signing certificates.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 1 through Step 2.2 were no problem. Creating a Self signed Certificate Authority, certificate Signing Request, and actually signing them, checking signatures is actually fun !&lt;br /&gt;I used JXTA FileKeyStoreManager, and PSEUtils classes to manage my CA as well as my "Super Peer" keys and certificate chain. I got a big help by looking at the pse.* command of the JXTA Shell. It really helped. Thanks to the JXTA community for suggesting it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;font-size:100%;" &gt;Comment 1: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I would just regret that JXTA does not follow any standard as to the use on the X509 Distinguish Name. At least JXTA should document its use of the Certificate fields such as its use of JXTA ID within the DN, or the forced appending of "-CA" .&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold;font-size:100%;" &gt;Generating and the SAXTA Peer Group and Peer group Advertisement. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I actually under evaluated the time I would spend on that task. Since I had experience with "custom" peer groups and ModuleImplementation, I though I had an advantage. I'll have the following comment on my experience in doing so:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;font-size:100%;" &gt;Comment 2: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;My vision of the JXTA platform is that it provides some JAVA Abstraction to the JXTA XML protocols. Specifically, the platform is a layered application which upper layer provides fully object oriented and abstracted view of the JXTA concepts. I actually would consider the JAVA platform to have about 4 different abstraction layers (From higher to lower):&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;The Concept / Abstracted layer. E.g: A Peer Group&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;The Advertisement Layer. E.g: A Peer Group Advertisement&lt;/li&gt;   &lt;li&gt;The Document Layer (or XML Layer): E.g: The StructuredDocument corresponding to the Peer Group Adv&lt;/li&gt;   &lt;li&gt;The Transport Layer. E.g: http, tcp ...&lt;/li&gt; &lt;/ul&gt; Each layer is "self contained" and provide a specific representation of the JXTA protocols. The higher the level, the most abstraction and ease of use. The lower level, the most thing that is left to be managed, but also the more flexibility. Naturally there are some junction points between 2 consecutive layers. For instance, you can switch from Peer Group and Peer Group Advertisement there is peerGroup.getPeerGroupAdvertisement() and a newGroup (peerGroupAdvertisement). I understand that JXTA would not consider a good practice to the mix of layer such as newGroup (peerGroupStructuredDocument).&lt;br /&gt;&lt;br /&gt;However I have not been able to do otherwise while assembling a MembershipModuleImplAdvertisement. I have not seen a work around to the following syntax:&lt;br /&gt;&lt;br /&gt;certificateMembershipModuleImplAdv.setParam((Element) certificateGroupParamAdv.getDocument(MimeMediaType.XMLUTF8));&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153); font-weight: bold; font-style: italic;font-size:100%;" &gt;Comment 3: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I personally am not found of having a "null" value being a valid in a method. For instance, I am not found of the following type of syntax: peerGroupDiscoSvc.getRemoteAdvertisements(null,DiscoveryService.GROUP,null,null,1000);&lt;br /&gt;or&lt;br /&gt;peerGroupDiscoSvc.getLocalAdvertisements(DiscoveryService.GROUP,null,null);&lt;br /&gt;For the least it forces the user to look into the javadoc to try to figure out what are these parameters to learn that a null value is acceptable as default. More often that not, it also makes the user look into the source code itself to try to get an answer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111447591476494459?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111447591476494459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111447591476494459' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111447591476494459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111447591476494459'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/sharing-my-experience-in-working-with.html' title='Sharing my experience in working with the PSEMembership'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111446714988528096</id><published>2005-04-25T15:08:00.000-07:00</published><updated>2005-04-25T16:40:26.296-07:00</updated><title type='text'>Looking into the PSE Membership</title><content type='html'>&lt;span style="color: rgb(51, 51, 153);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;OriginalGoals and Expectations from the PSE Membership.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;As described on a Email Sent to the JXTA user mailing list on March 23rd 2005, what I was trying to achieve with the JXTA security is to create a certificate based authentication peer group. This peer group would allow or deny peers based on whether their X509 Certificates were signed by Trusted Peers. Also the super peers would also have their certificates signed by a self signed "Certificate Authority". This would prevent "rogue" Super Peers.&lt;br /&gt;&lt;br /&gt;To make it easier, these trusted peers would assume the following charges:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Super Peers&lt;/li&gt;       &lt;li&gt;Advertising the "Certificate" peer group &lt;/li&gt;       &lt;li&gt;Rendez vous and relay services for both netPeerGroup and the "Certificate" Peer Group &lt;/li&gt;&lt;/ul&gt;For the rest of today's posting I'll call this Certificate Peer Group,  the "SAXTA peer group".&lt;br /&gt;&lt;br /&gt;In short, the Certificate Trust Chain would be:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Certificate Authority (CA) &lt;span style="color: rgb(51, 51, 153);"&gt;--Signing--&gt;&lt;/span&gt; Super Peers &lt;span style="color: rgb(51, 51, 153);"&gt;--Signing--&gt;&lt;/span&gt; edge peers.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 51, 153);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Envisioned Steps to Achieve these goals &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Steps I was planning to go through to get there were:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Create a self sign CA.&lt;/li&gt;&lt;li&gt;Create a certificate based authentication peer group whose certificate is signed by the CA. That includes:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Generate a X509 + Private Key Pair for the peer group.&lt;/li&gt;&lt;li&gt; Have the CA sign the X509 (by emailing a cert request for instance). I saw that being an "off line" process. &lt;/li&gt;&lt;li&gt; Build a Membership Service based on the signed X509 + Private Key Pair. I was expecting the PSE Membership to do so.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Having edge peers joining the peer group via a certificate Base authentication&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Having the Edge Peer generate a X509 + Private Key Pair for peer group membership.&lt;/li&gt;&lt;li&gt;Having the Peer Proup manager sign the edge peer certificate. Again, I saw that being an "off line" process.&lt;/li&gt;&lt;li&gt;Have the edge peer contact a super peer, exchange certificates:&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Having the edge peer verify that the super peer certificate is valid using the CA's X509 (The CA X509 is bundled into the application).&lt;/li&gt;&lt;li&gt;Having the super peer verify that the edge peer membership application is valid by looking at its certificate and see if is it signed by an authorized super peer (again by making sure the super peer's certificate has been signed by the CA).&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;Finally, having the Edge Peer join the peer group&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Getting Started&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was very happy to receive a reply to my March 23rd Email from the JXTA user list saying that this approach could make sense. Yes ! Let's get to work !!!&lt;br /&gt;I was actually expecting the PSEMembership to provide pretty much to all these functionalities. Otherwise I told myself, what would have been the point of using X509 Certificate, key stores, root certificates, etc. in the PSE Membership?&lt;br /&gt;I could not wait to finish a prototype, then come up with a "good" design and re-implementation. I would then turn it into a "tutorial" and propose it to replace the "Secure Peer Group" example in the JXTA Programmer's Manual I wrote years ago. This stuff is really old and given the encryption method, it does not provide actually much added security.&lt;br /&gt;&lt;br /&gt;A month later, I am still in the prototyping phase. Even though, I don't have the opportunity to actually work on the coding part more than 30-40% of the time, it is still much more frustrating that I though...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111446714988528096?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111446714988528096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111446714988528096' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111446714988528096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111446714988528096'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/looking-into-pse-membership.html' title='Looking into the PSE Membership'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111410271257062423</id><published>2005-04-21T09:57:00.000-07:00</published><updated>2005-04-21T13:56:39.273-07:00</updated><title type='text'>Presentation of the SAXTA project</title><content type='html'>&lt;span style="COLOR: rgb(51,51,153);font-size:130%;" &gt;Project SAXTA&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#333399;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;A new, loosely coupled network dedicated to the open sharing of high resolution earth observation data sets.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Mission and Objective&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;The mission of the SAXTA development project is to establish a new distributed system for the sharing of high-resolution (~30m) satellite datasets, such as Landsat and ASTER data. The objective is to dramatically improve access to and distribution of non-copyrighted high-resolution satellite data sets to the science, applied science, and education communities.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Basis: NASA's Open Data Policy&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;NASA’s Open Data Policy provides the foundation for the system’s distribution model: &lt;i&gt;NASA is committed to the full and open sharing of Earth Science data obtained from U.S. Government-funded and -owned systems with all users as soon as such data become available. All Earth System Enterprise missions, projects, and grant proposals shall include data management plans to facilitate implementation of this principle&lt;/i&gt; [1]. As a result of this, NASA’s Earth Observation data are not copyrighted or otherwise restricted in distribution whether the data is purchased or distributed for free. The SAXTA system will greatly extend access to and distribution of these data and is completely aligned with NASA’s Open Data Policy.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Statment of the Challenge&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;NASA currently sponsors a large number of projects that acquire and utilize high-resolution non-copyrighted datasets such as Landsat and ASTER. Other agencies and organizations also sponsor a significant number of projects. These distributed archives cannot currently be discovered or their inventory searched in any practical way, despite the fact that these datasets hold substantial potential value within the larger scientific and education community. The “owners” of the data would welcome more extensive usage of their holdings, as well as the ability to obtain data from others. Some of the larger projects such as Landsat.org (MSU), a University ESIP and Mid West RESAC partner and the Global Land Cover Facility (UMD), an ESIP Partner, have developed large data archives with online inventory-level search engines. There is a very large number of scientists that have between 1 and 10 satellite scenes. Most projects lack time and resources to place their holdings online and allow for discovery, search, and download in some manner. SAXTA aims to facilitate projects to make their data available to the community.&lt;br /&gt;Within these communities, there is a need for improved discovery of data collections and search and order of data. Based on peer-to-peer technology, the SAXTA system will extend the utilization of these data sets, which represent government investments of billions of dollars in systems and hardware development and many millions of dollars in data purchases. These purchases include Landsat Pathfinder (Landsat-5), Landsat-7 for regional LCLUC programs and EOS validation, and the Landsat Data buy 1990 and 2000. Widespread user adoption of SAXTA will massively extend the societal benefits of all of these investments.&lt;br /&gt;We believe that, if the cost in time and resources is low, and security is insured, many community members would be willing to federate into a loosely coupled network such as SAXTA. To address this need, Michigan State University and the University of Maryland have partnered with SSAI to develop and deploy such a system. This project is NASA-sponsored cross cutting application that is intended to substantially improve access to high-resolution satellite datasets. The operations concept is that users will simply download free software that will allow them to register their data sets into the system and discover, search, and order datasets for free from other providers within the distributed, loosely coupled, interoperable network.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Empowering a New Approach to Satellite Data Access&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;Any user can participate in the SAXTA network by downloading, installing and configuring the SAXTA data node.&lt;br /&gt;The user then joins the SAXTA network and is ready to place a search query to the super nodes which will identify the data nodes having data matching the query. The searching data node will then directly contact the relevant provider data nodes and initiate data download. A key feature of the system is that all metadata is visible globally within the network and, once discovered, the data itself can be downloaded directly from provider to user. Since all the data within the SAXTA network are online, the complex process of data ordering and delivery can be eliminated. SAXTA allows for directly jumping from search to free download of data.&lt;br /&gt;The data nodes also provide the user with a data sharing mechanism and allow each user to select precisely the datasets to be shared. From this selection, the SAXTA Software automatically retrieves, extracts and publishes metadata as a collection of records to a set of SAXTA super nodes. Once in the system, the SAXTA software will allow for the maintenance of the metadata records. This includes publishing new metadata data in to the system, as well as un-publishing (removing) old or erroneously registered records. A critical feature of the system is that the data can remain locally hosted and managed. Also, the shared data and metadata are only visible from within the SAXTA community whose access and participation are strictly controlled.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;" &gt;Technology&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;SAXTA leverages the open source Grid and Peer to Peer JXTA™ [2] technology for providing its core network infrastructure. Sponsored by Sun Microsystems®, Project JXTA provides a standard XML-based set of protocols as well as a JAVA™ reference implementation for the foundations of Peer to Peer and Grid Computing.&lt;br /&gt;JXTA™ was selected because it has the following characteristics:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Generalizes the P2P problem. &lt;/li&gt; &lt;li&gt;Provides for Dynamic Resource Discovery.&lt;/li&gt; &lt;li&gt;Allows Interoperability and ubiquity. &lt;/li&gt; &lt;li&gt;Includes Platform Independence. &lt;/li&gt; &lt;li&gt;Manages network Security, node groups, Stability, Scalability and node communication.&lt;/li&gt; &lt;li&gt;Allows Virtual Network Overlay.&lt;/li&gt;&lt;/ul&gt; This allows SAXTA to provide data protection by data replication, scalability by allowing user demand to drive replication, and dynamic maintenance of the network – new nodes are constantly appearing while other nodes drop off. The most recent version of JXTA has a scalability target of 1.5 million peers, 300,000 simultaneously connected peers, 1000 elements or more per peer (Landsat images), and 120 peers/minute “churn” rate for peers joining and leaving the network.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;Access to data remains the single greatest barrier to the expanded utilization of Landsat-7 and ASTER data. Widespread user adoption of SAXTA will tear down this barrier. The decentralized architecture of SAXTA will minimizes cost and maximize system scalability and responsiveness. By radically improving access to Landsat and ASTER data, SAXTA will serve as a crosscutting application for the Land Processes and Land Use and Land Cover Change research communities as well as most of the 12 National Applications.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;Project Team&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;The SAXTA software is currently in development. The project is being sponsored by NASA through a grant to Dr. Dave Skole of the Michigan State University Center for Global Change and Landsat.org The SAXTA Principal Investigator is Chris Justice of the University of Maryland Department of Geography. The Lead Software Engineer is Bruno Margerin (SSAI). Dr. Timothy Gubbels (SSAI) serves as the outreach coordinator.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-size:100%;color:#333399;"  &gt;References:&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:100%;" &gt;[1]: NASA Open Data Policy: http://globalchange.gov/policies/agency/nasa.html&lt;br /&gt;[2] Project JXTA http://www.jxta.org&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111410271257062423?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111410271257062423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111410271257062423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111410271257062423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111410271257062423'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/presentation-of-saxta-project.html' title='Presentation of the SAXTA project'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12150771.post-111340878228863726</id><published>2005-04-13T09:04:00.000-07:00</published><updated>2005-04-13T09:13:02.286-07:00</updated><title type='text'>My First Blog</title><content type='html'>After much encouragement from friends and collegues, I finally decided to start a blog for sharing my experience in Developing with the JXTA (www.jxta.org). JXTA is a set of P2P Protocols. Among others programming languages, this protocols have been implemented in Java. Such implementation is called the "JXTA plateform".&lt;br /&gt;&lt;br /&gt;Using JXTA, I am trying to write a "Distributed High Resolution Satellite Data Distribution System". For the rest of us, it is a file sharing system for earth satellite images.&lt;br /&gt;&lt;br /&gt;The project's name  so far is "SAXTA", but it may change as SAXTA may conflict with the JXTA tm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12150771-111340878228863726?l=p2pdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://p2pdev.blogspot.com/feeds/111340878228863726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12150771&amp;postID=111340878228863726' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111340878228863726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12150771/posts/default/111340878228863726'/><link rel='alternate' type='text/html' href='http://p2pdev.blogspot.com/2005/04/my-first-blog.html' title='My First Blog'/><author><name>Happy Geek</name><uri>http://www.blogger.com/profile/08181458785783769731</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
