You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(123) |
Dec
(100) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(12) |
Feb
(80) |
Mar
(35) |
Apr
|
May
|
Jun
(28) |
Jul
(10) |
Aug
(6) |
Sep
|
Oct
|
Nov
(16) |
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
(6) |
| 2009 |
Jan
(20) |
Feb
(1) |
Mar
(19) |
Apr
(12) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
|
From: Jonathan L. <le...@us...> - 2006-12-05 15:48:01
|
Update of /cvsroot/pyxida/Pyxida/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32507/bin Modified Files: query.pl Log Message: ping failure causes crash Index: query.pl =================================================================== RCS file: /cvsroot/pyxida/Pyxida/bin/query.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** query.pl 4 Dec 2006 16:32:44 -0000 1.5 --- query.pl 5 Dec 2006 15:47:56 -0000 1.6 *************** *** 6,9 **** --- 6,11 ---- use Data::Dumper; + my $DEFAULT_PYXIDA_PORT=55504; + my $DEFAULT_PYXIDA_API_PORT=55501; my $USE_HEIGHT = 1; *************** *** 14,19 **** $usage .= "\n"; ! $usage .= "query.pl -l http://righthand.eecs.harvard.edu:55501\n"; ! $usage .= "query.pl -a sb02.eecs.harvard.edu:55500 -b sb03.eecs.harvard.edu:55500 http://sb01.eecs.harvard.edu:55501\n"; my %para = (); getopts('lr:a:b:', \%para); --- 16,22 ---- $usage .= "\n"; ! $usage .= "query.pl -l http://righthand.eecs.harvard.edu:$DEFAULT_PYXIDA_API_PORT\n"; ! $usage .= "query.pl -a sb02.eecs.harvard.edu:$DEFAULT_PYXIDA_PORT -b sb03.eecs.harvard.edu:$DEFAULT_PYXIDA_PORT http://sb01.eecs.harvard.edu:$DEFAULT_PYXIDA_API_PORT\n"; ! $usage .= "If port numbers are not supplied, defaults are used\n"; my %para = (); getopts('lr:a:b:', \%para); |
|
From: Peter P. <pr...@us...> - 2006-12-05 10:35:48
|
Update of /cvsroot/pyxida/Pyxida In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11276 Modified Files: TODO Log Message: Added another todo Index: TODO =================================================================== RCS file: /cvsroot/pyxida/Pyxida/TODO,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TODO 5 Dec 2006 03:19:06 -0000 1.8 --- TODO 5 Dec 2006 10:35:47 -0000 1.9 *************** *** 9,13 **** - add Rohan's 3D visualisation applet to webpage (we already have the code) ! - add to web interface ###################################################################### --- 9,14 ---- - add Rohan's 3D visualisation applet to webpage (we already have the code) ! - add a web interface (ideally, it should work when a web browser is pointed ! to the xmlrpc port) ###################################################################### |
|
From: Peter P. <pr...@us...> - 2006-12-05 10:34:13
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10848/src/edu/harvard/syrah/pyxida/nc Modified Files: ProxyPingResponseMsg.java Log Message: Added new users mailing list Jon, fix NCManger -- it doesn' compile. Index: ProxyPingResponseMsg.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/ProxyPingResponseMsg.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ProxyPingResponseMsg.java 5 Dec 2006 03:21:28 -0000 1.1 --- ProxyPingResponseMsg.java 5 Dec 2006 10:34:12 -0000 1.2 *************** *** 2,6 **** import edu.harvard.syrah.pyxida.nc.lib.Coordinate; - import edu.harvard.syrah.sbon.comm.AddressIF; import edu.harvard.syrah.sbon.comm.obj.ObjMessage; --- 2,5 ---- |
|
From: Peter P. <pr...@us...> - 2006-12-05 10:34:13
|
Update of /cvsroot/pyxida/Pyxida/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10848/web Modified Files: index.html Log Message: Added new users mailing list Jon, fix NCManger -- it doesn' compile. Index: index.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/index.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** index.html 5 Dec 2006 03:19:06 -0000 1.11 --- index.html 5 Dec 2006 10:34:12 -0000 1.12 *************** *** 35,39 **** project</a><br/> <font size="-1">(for bugs, etc.)</font><br/> ! <a href="mailto:hou...@ee...">Contact</a><br/> <!-- we need a proper email alias here --> <br/></td> --- 35,39 ---- project</a><br/> <font size="-1">(for bugs, etc.)</font><br/> ! <a href="mailto:pyx...@li...">Contact</a><br/> <!-- we need a proper email alias here --> <br/></td> *************** *** 85,89 **** <p>We are open to new developers; if you are interested, ! please send us an email.</p> <table width="100%" bgcolor="#9EB0FF" valign="top"> --- 85,89 ---- <p>We are open to new developers; if you are interested, ! please send us an <a href="mailto:pyx...@li...">email</a>.</p> <table width="100%" bgcolor="#9EB0FF" valign="top"> *************** *** 204,207 **** --- 204,215 ---- </ul> + <table width="100%" bgcolor="#9EB0FF" valign="top"> + <tr> + <td><a name="doc"><font color= + "#FFFFFF"><b>Bugs</b></font></a></td> + </tr> + </table> + + <p><b>Known bugs with 0.1.2</b> <ul> |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:59:28
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25217/src/edu/harvard/syrah/pyxida/nc Modified Files: NCManager.java Log Message: untested proxy code compiles Index: NCManager.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/NCManager.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** NCManager.java 5 Dec 2006 03:19:06 -0000 1.20 --- NCManager.java 5 Dec 2006 03:59:26 -0000 1.21 *************** *** 84,88 **** comm.registerMessageCB(GossipRequestMsg.class, new GossipHandler()); comm.registerMessageCB(CoordRequestMsg.class, new CoordHandler()); ! comm.registerMessageCB(PingRequestMsg.class, new PingHandler()); upNeighbors = new HashSet<AddressIF>(); --- 84,88 ---- comm.registerMessageCB(GossipRequestMsg.class, new GossipHandler()); comm.registerMessageCB(CoordRequestMsg.class, new CoordHandler()); ! comm.registerMessageCB(ProxyPingRequestMsg.class, new ProxyPingHandler()); upNeighbors = new HashSet<AddressIF>(); *************** *** 141,144 **** --- 141,154 ---- } + public boolean renewLeaseOnProxyCoord(AddressIF remoteNode, long lease) { + ProxyClient proxyCoord = addr2proxyClient.get(remoteNode); + if (proxyCoord == null) { + log.debug("No proxy coord for "+remoteNode+" found"); + return false; + } + proxyCoord.renewLease(lease); + return true; + } + /** * @return Coordinate for this remoteNode if we are *************** *** 335,341 **** case OK: { log.debug("latency to "+msg.target+"="+latency); sendResponseMessage ("Ping", remoteAddr, ! new ProxyPingResponseMsg(latency), msg.getMsgId(), null, cbHandled); break; --- 345,354 ---- case OK: { log.debug("latency to "+msg.target+"="+latency); + long curr_time = System.currentTimeMillis(); sendResponseMessage ("Ping", remoteAddr, ! new ProxyPingResponseMsg ! (localNC.nc.getSystemCoords(), localNC.nc.getSystemError(), ! localNC.nc.getAge(curr_time),latency), msg.getMsgId(), null, cbHandled); break; *************** *** 610,616 **** switch (result.state) { case OK: { ! log.debug("proxyping response from "+neighbor); nc.processSample(neighbor, responseMsg.remoteCoordinate, ! responseMsg.remoteError, latency, responseMsg.remoteAge, curr_time, true); --- 623,631 ---- switch (result.state) { case OK: { ! log.debug("proxyping response from "+neighbor+ ! " lat to "+addr+" "+responseMsg.latency); ! long curr_time = System.currentTimeMillis(); nc.processSample(neighbor, responseMsg.remoteCoordinate, ! responseMsg.remoteError, responseMsg.latency, responseMsg.remoteAge, curr_time, true); |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:59:28
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25217/src/edu/harvard/syrah/pyxida/api Modified Files: ExternalAPI.java ExternalAPIIF.java Log Message: untested proxy code compiles Index: ExternalAPIIF.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api/ExternalAPIIF.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExternalAPIIF.java 1 Dec 2006 18:10:54 -0000 1.6 --- ExternalAPIIF.java 5 Dec 2006 03:59:26 -0000 1.7 *************** *** 24,33 **** // lease is given in ms // lease of 0 will expire in one hour ! public void createProxyCoord(String remoteNode, long lease, CB1<Object> cbResult); // Renew proxy coord lease ! public void renewProxyCoord(String remoteNode, long lease, CB1<Object> cbResult); ! public void destroyProxyCoord(String remoteNode, CB1<Object> cbResult); // TODO Add routing methods --- 24,35 ---- // lease is given in ms // lease of 0 will expire in one hour ! public void createProxyCoord(String remoteNode, long lease, CB1<Boolean> cbResult); ! ! public void getProxyCoord(String remoteNode, CB1<Vector<Double>> cbProxyCoord); // Renew proxy coord lease ! public void renewProxyCoord(String remoteNode, long lease, CB1<Boolean> cbResult); ! public void destroyProxyCoord(String remoteNode, CB1<Boolean> cbResult); // TODO Add routing methods Index: ExternalAPI.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api/ExternalAPI.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ExternalAPI.java 4 Dec 2006 17:15:48 -0000 1.7 --- ExternalAPI.java 5 Dec 2006 03:59:26 -0000 1.8 *************** *** 21,33 **** this.ncManager = ncManager; } ! ! public void createProxyCoord(String remoteNode, long lease, CB1<Object> cbResult) { ! // TODO Auto-generated method stub ! } ! public void destroyProxyCoord(String remoteNode, CB1<Object> cbResult) { ! // TODO Auto-generated method stub ! } --- 21,90 ---- this.ncManager = ncManager; } ! ! public void createProxyCoord(String remoteNodeStr, final long lease, ! final CB1<Boolean> cbResult) { ! AddressFactory.createResolved(remoteNodeStr, new CB1<AddressIF>() { ! protected void cb(CBResult nsResult, AddressIF remoteNode) { ! switch (nsResult.state) { ! case OK: { ! log.debug("resolved node="+remoteNode); ! boolean res = ncManager.createProxyCoord(remoteNode, lease); ! cbResult.call(CBResult.OK(),res); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(nsResult.toString()); ! cbResult.call(nsResult,false); ! break; ! } ! } ! } ! }); } ! public void getProxyCoord(String remoteNodeStr, ! final CB1<Vector<Double>> cbProxyCoord) { ! AddressFactory.createResolved(remoteNodeStr, new CB1<AddressIF>() { ! protected void cb(CBResult nsResult, AddressIF remoteNode) { ! switch (nsResult.state) { ! case OK: { ! log.debug("resolved node="+remoteNode); ! Coordinate coord = ncManager.getProxyCoord(remoteNode); ! Vector<Double> listCoord = getVectorFromCoord(coord); ! cbProxyCoord.call(CBResult.OK(),listCoord); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(nsResult.toString()); ! cbProxyCoord.call(nsResult,null); ! break; ! } ! } ! } ! }); ! } ! ! public void destroyProxyCoord(String remoteNodeStr, ! final CB1<Boolean> cbResult) { ! AddressFactory.createResolved(remoteNodeStr, new CB1<AddressIF>() { ! protected void cb(CBResult nsResult, AddressIF remoteNode) { ! switch (nsResult.state) { ! case OK: { ! log.debug("resolved node="+remoteNode); ! boolean res = ncManager.destroyProxyCoord(remoteNode); ! cbResult.call(CBResult.OK(),res); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(nsResult.toString()); ! cbResult.call(nsResult,false); ! break; ! } ! } ! } ! }); } *************** *** 108,114 **** } ! public void renewProxyCoord(String remoteNode, long lease, CB1<Object> cbResult) { ! // TODO Auto-generated method stub ! } --- 165,188 ---- } ! public void renewProxyCoord(String remoteNodeStr, final long lease, ! final CB1<Boolean> cbResult) { ! AddressFactory.createResolved(remoteNodeStr, new CB1<AddressIF>() { ! protected void cb(CBResult nsResult, AddressIF remoteNode) { ! switch (nsResult.state) { ! case OK: { ! log.debug("resolved node="+remoteNode); ! boolean res = ncManager.renewLeaseOnProxyCoord(remoteNode, lease); ! cbResult.call(CBResult.OK(),res); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(nsResult.toString()); ! cbResult.call(nsResult,false); ! break; ! } ! } ! } ! }); } |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:59:28
|
Update of /cvsroot/pyxida/Pyxida/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25217/bin Added Files: proxy.pl Log Message: untested proxy code compiles --- NEW FILE: proxy.pl --- #!/usr/bin/perl use strict; use Getopt::Std; use Frontier::Client; use Data::Dumper; my $usage = "proxy.pl [options] url\n"; $usage .= " -c remote-node -l lease: create proxy coord for remote node with lease\n"; $usage .= " -d remote-node: destroy proxy coord for remote node\n"; $usage .= " -r remote-node -l lease: renew lease for this proxy coord\n"; $usage .= "\n"; $usage .= "proxy.pl -c www.google.com -l 3600000 http://righthand.eecs.harvard.edu:55501\n"; my %para = (); getopts('c:d:r:l:', \%para); ############################################################ if ($#ARGV < 0) { die ("Missing arguments\n$usage"); } my $url = $ARGV[0]; if ($url !~ /^http:\/\/.*?:\d+$/) { die ("bad url: $url\n$usage\n"); } ############################################################ my $server = Frontier::Client->new(url=>"$url"); my $lease = 3600000; if (defined($para{'l'})) { $lease = $para{'l'}; } if (defined($para{'c'})) { my $res = $server->call("pyxida.createProxyCoord",$para{'c'},$lease); #print Dumper($hash); #&Aux::printHash($hash); print "$res\n"; } else { die ("Missing arguments\n$usage"); } # TODO put in shared file sub parse_coord { my ($coord) = @_; my $out = '['; for (my $i = 0; $i <= $#$coord; $i++) { my $element = sprintf ("%.3f", $coord->[$i]); # if ($i == $#$coord && $USE_HEIGHT) { # $out .= 'h'; # } $out .= $element; if ($i != $#$coord) { $out .= ' '; } } $out .= ']'; return $out; } |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:21:29
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11869/src/edu/harvard/syrah/pyxida/nc Added Files: ProxyPingRequestMsg.java ProxyPingResponseMsg.java Removed Files: PingRequestMsg.java PingResponseMsg.java Log Message: moved ping to proxyping --- NEW FILE: ProxyPingRequestMsg.java --- package edu.harvard.syrah.pyxida.nc; import edu.harvard.syrah.sbon.comm.obj.ObjMessage; import edu.harvard.syrah.sbon.comm.AddressIF; /** * Requests the receiving node's current coordinate, confidence * and last update time. */ public class ProxyPingRequestMsg extends ObjMessage { static final long serialVersionUID = 1000000001L; final AddressIF target; /** * Creates a ProxyPingRequestMsg */ public ProxyPingRequestMsg (AddressIF _target) { target = _target; } } --- PingResponseMsg.java DELETED --- --- PingRequestMsg.java DELETED --- --- NEW FILE: ProxyPingResponseMsg.java --- package edu.harvard.syrah.pyxida.nc; import edu.harvard.syrah.pyxida.nc.lib.Coordinate; import edu.harvard.syrah.sbon.comm.AddressIF; import edu.harvard.syrah.sbon.comm.obj.ObjMessage; /** * Response to ProxyPingRequestMsg. */ public class ProxyPingResponseMsg extends ObjMessage { static final long serialVersionUID = 1000000001L; final Coordinate remoteCoordinate; final double remoteError; final long remoteAge; final double latency; public ProxyPingResponseMsg (Coordinate _remoteCoordinate, double _remoteError, long _remoteAge, double _latency) { remoteCoordinate = _remoteCoordinate; remoteError = _remoteError; remoteAge = _remoteAge; latency = _latency; } } |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:09
|
Update of /cvsroot/pyxida/Pyxida/web/javadoc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918/web/javadoc Modified Files: allclasses-frame.html allclasses-noframe.html constant-values.html deprecated-list.html help-doc.html index.html overview-frame.html overview-summary.html overview-tree.html Log Message: moving ping to proxyping Index: index.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 1 Dec 2006 18:30:24 -0000 1.3 --- index.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc on Fri Dec 01 12:43:21 EST 2006--> <TITLE> Generated Documentation (Untitled) --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc on Mon Dec 04 15:49:00 EST 2006--> <TITLE> Generated Documentation (Untitled) Index: overview-frame.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/overview-frame.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** overview-frame.html 1 Dec 2006 18:30:24 -0000 1.3 --- overview-frame.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> Overview --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> Overview Index: constant-values.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/constant-values.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** constant-values.html 1 Dec 2006 18:30:24 -0000 1.3 --- constant-values.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> Constant Field Values --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> Constant Field Values Index: overview-summary.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/overview-summary.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** overview-summary.html 1 Dec 2006 18:30:24 -0000 1.3 --- overview-summary.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> Overview --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> Overview Index: help-doc.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/help-doc.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** help-doc.html 1 Dec 2006 18:30:24 -0000 1.3 --- help-doc.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> API Help --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> API Help Index: overview-tree.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/overview-tree.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** overview-tree.html 1 Dec 2006 18:30:24 -0000 1.3 --- overview-tree.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> Class Hierarchy --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> Class Hierarchy Index: deprecated-list.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/deprecated-list.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** deprecated-list.html 1 Dec 2006 18:30:24 -0000 1.3 --- deprecated-list.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> Deprecated List --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> Deprecated List Index: allclasses-noframe.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/allclasses-noframe.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** allclasses-noframe.html 1 Dec 2006 18:30:24 -0000 1.3 --- allclasses-noframe.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> All Classes --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> All Classes Index: allclasses-frame.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/allclasses-frame.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** allclasses-frame.html 1 Dec 2006 18:30:24 -0000 1.3 --- allclasses-frame.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> All Classes --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> All Classes |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:08
|
Update of /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918/web/javadoc/edu/harvard/syrah/pyxida/nc Modified Files: package-frame.html package-summary.html package-tree.html Log Message: moving ping to proxyping Index: package-frame.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/nc/package-frame.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-frame.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-frame.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc Index: package-summary.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/nc/package-summary.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-summary.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-summary.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc Index: package-tree.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/nc/package-tree.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-tree.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-tree.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc Class Hierarchy --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida.nc Class Hierarchy |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:08
|
Update of /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918/web/javadoc/edu/harvard/syrah/pyxida Modified Files: Pyxida.html package-frame.html package-summary.html package-tree.html Log Message: moving ping to proxyping Index: Pyxida.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/Pyxida.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Pyxida.html 1 Dec 2006 18:30:24 -0000 1.3 --- Pyxida.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:20 EST 2006 --> <TITLE> Pyxida --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:48:59 EST 2006 --> <TITLE> Pyxida Index: package-frame.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/package-frame.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-frame.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-frame.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida Index: package-summary.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/package-summary.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-summary.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-summary.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida Index: package-tree.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/javadoc/edu/harvard/syrah/pyxida/package-tree.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** package-tree.html 1 Dec 2006 18:30:24 -0000 1.3 --- package-tree.html 5 Dec 2006 03:19:06 -0000 1.4 *************** *** 3,7 **** <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Fri Dec 01 12:43:21 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida Class Hierarchy --- 3,7 ---- <HTML> <HEAD> ! <!-- Generated by javadoc (build 1.5.0_07) on Mon Dec 04 15:49:00 EST 2006 --> <TITLE> edu.harvard.syrah.pyxida Class Hierarchy |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:08
|
Update of /cvsroot/pyxida/Pyxida/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918/web Modified Files: index.html Log Message: moving ping to proxyping Index: index.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/index.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** index.html 4 Dec 2006 13:14:19 -0000 1.10 --- index.html 5 Dec 2006 03:19:06 -0000 1.11 *************** *** 144,147 **** --- 144,165 ---- </table> + <p> + Pyxida can be used in two ways: as a "standalone" application + and as a library that you build into your distributed application. + + <p> + Our reasoning behind creating two artifacts instead of just + one is that some users want to incorporate network coordinates + directly into their application: they want to control the + network, when messages are sent, the wire format, and have + more control in general. These people will use the library. + Other people want a distinct network measurement substrate, a + tool that performs measurements of its own accord and simply + provides quick estimates of network latencies. These people + will use the standalone application. In addition, because the + standalone application is one of the simplest uses of the + library, its code provides library users with a starting point + to help them incorporate the library into their application. + <p><b>For users of the standalone version:</b></p> <ul> *************** *** 186,189 **** --- 204,212 ---- </ul> + <p><b>Known bugs with 0.1.2</b> + <ul> + <li>XML/RPC interface is fragile (invalid ports may cause crashes). + </ul> + <p><b>Known bugs with 0.1.1</b> <ul> *************** *** 201,205 **** <ul> ! <li><a href="dist/libpyxida-0.1.1.jar">libpyxida-0.1.1.jar</a></li> </ul> --- 224,228 ---- <ul> ! <li><a href="dist/libpyxida-0.1.2.jar">libpyxida-0.1.2.jar</a></li> </ul> *************** *** 207,211 **** <ul> ! <li><a href="dist/pyxida-0.1.1.tar.gz">pyxida-0.1.1.tar.gz</a></li> </ul> </td> --- 230,234 ---- <ul> ! <li><a href="dist/pyxida-0.1.2.tar.gz">pyxida-0.1.2.tar.gz</a></li> </ul> </td> |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:07
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918/src/edu/harvard/syrah/pyxida/nc Modified Files: NCManager.java Added Files: PingRequestMsg.java PingResponseMsg.java Log Message: moving ping to proxyping --- NEW FILE: PingResponseMsg.java --- package edu.harvard.syrah.pyxida.nc; import edu.harvard.syrah.pyxida.nc.lib.Coordinate; import edu.harvard.syrah.sbon.comm.AddressIF; import edu.harvard.syrah.sbon.comm.obj.ObjMessage; /** * Response to ProxyPingRequestMsg. */ public class ProxyPingResponseMsg extends ObjMessage { static final long serialVersionUID = 1000000001L; final Coordinate remoteCoordinate; final double remoteError; final long remoteAge; final double latency; public ProxyPingResponseMsg (Coordinate _remoteCoordinate, double _remoteError, long _remoteAge, double _latency) { remoteCoordinate = _remoteCoordinate; remoteError = _remoteError; remoteAge = _remoteAge; latency = _latency; } } --- NEW FILE: PingRequestMsg.java --- package edu.harvard.syrah.pyxida.nc; import edu.harvard.syrah.sbon.comm.obj.ObjMessage; import edu.harvard.syrah.sbon.comm.AddressIF; /** * Requests the receiving node's current coordinate, confidence * and last update time. */ public class ProxyPingRequestMsg extends ObjMessage { static final long serialVersionUID = 1000000001L; final AddressIF target; /** * Creates a ProxyPingRequestMsg */ public ProxyPingRequestMsg (AddressIF _target) { target = _target; } } Index: NCManager.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/NCManager.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** NCManager.java 4 Dec 2006 17:15:48 -0000 1.19 --- NCManager.java 5 Dec 2006 03:19:06 -0000 1.20 *************** *** 18,23 **** import edu.harvard.syrah.sbon.comm.obj. *; - //MEDTODO add proxy coordinates - /** * Manages the local and proxy coordinates. --- 18,21 ---- *************** *** 30,34 **** // Number of dimensions ! static final int NC_NUM_DIMS = Integer.parseInt(Config.getProperty("pyxida.dimensions", "5")); public static final boolean WATCH_NEIGHBORS = Boolean.parseBoolean(Config.getConfigProps().getProperty("pyxida.ncmanager.watch_neighbors", "false")); --- 28,32 ---- // Number of dimensions ! public static final int NC_NUM_DIMS = Integer.parseInt(Config.getProperty("pyxida.dimensions", "5")); public static final boolean WATCH_NEIGHBORS = Boolean.parseBoolean(Config.getConfigProps().getProperty("pyxida.ncmanager.watch_neighbors", "false")); *************** *** 57,61 **** private PingManager pingManager = null; ! private Set<ProxyClient> proxyClients = new HashSet<ProxyClient>(); final ObjCommIF comm; --- 55,60 ---- private PingManager pingManager = null; ! private Map<AddressIF,ProxyClient> addr2proxyClient = ! new HashMap<AddressIF,ProxyClient>(); final ObjCommIF comm; *************** *** 85,88 **** --- 84,88 ---- comm.registerMessageCB(GossipRequestMsg.class, new GossipHandler()); comm.registerMessageCB(CoordRequestMsg.class, new CoordHandler()); + comm.registerMessageCB(PingRequestMsg.class, new PingHandler()); upNeighbors = new HashSet<AddressIF>(); *************** *** 109,115 **** localNC.init(); - // MEDTODO Start periodic cleaner - //neighborClean(); - cbDone.callOK(); break; --- 109,112 ---- *************** *** 131,145 **** /** - * Not implemented yet. */ ! public void createProxyCoord(AddressIF remoteNode, long lease) { ! // LOWTODO } /** ! * Not implemented yet. */ ! public void destroyProxyCoord(AddressIF remoteNode) { ! // LOWTODO } --- 128,166 ---- /** */ ! public boolean createProxyCoord(AddressIF remoteNode, long lease) { ! if (!Pyxida.USE_ICMP) return false; ! if (addr2proxyClient.containsKey(remoteNode)) { ! log.debug("Not creating proxy coord for "+remoteNode+ ! " because one already exists"); ! return false; ! } ! ProxyClient client = new ProxyClient(remoteNode,lease); ! addr2proxyClient.put(remoteNode,client); ! return true; } /** ! * @return Coordinate for this remoteNode if we are ! * storing one. */ ! public Coordinate getProxyCoord(AddressIF remoteNode) { ! ProxyClient proxyCoord = addr2proxyClient.get(remoteNode); ! if (proxyCoord == null) { ! log.debug("No proxy coord for "+remoteNode+" found"); ! } ! return proxyCoord.nc.getSystemCoords(); ! } ! ! /** ! * @return true if proxy coordinate existed for remoteNode ! */ ! public boolean destroyProxyCoord(AddressIF remoteNode) { ! ProxyClient proxyCoord = addr2proxyClient.remove(remoteNode); ! if (proxyCoord == null) { ! log.debug("No proxy coord for "+remoteNode+" found"); ! return false; ! } ! return true; } *************** *** 159,170 **** /** - * Not implemented yet. - */ - public Coordinate getProxyCoord(AddressIF remoteNode) { - // LOWTODO - return null; - } - - /** * Fetch coordinate from remote node. */ --- 180,183 ---- *************** *** 312,315 **** --- 325,358 ---- } + class ProxyPingHandler extends ResponseObjCommCB<ProxyPingRequestMsg> { + public void cb(final CBResult result, final ProxyPingRequestMsg msg, + final AddressIF remoteAddr, + final Long ts, final CB1<Boolean> cbHandled) { + log.debug("in ProxyPingHandler remoteAddr="+remoteAddr); + pingManager.addPingRequest(msg.target, new CB1<Double>() { + protected void cb(CBResult pingResult, Double latency) { + switch (pingResult.state) { + case OK: { + log.debug("latency to "+msg.target+"="+latency); + sendResponseMessage + ("Ping", remoteAddr, + new ProxyPingResponseMsg(latency), msg.getMsgId(), + null, cbHandled); + break; + } + case TIMEOUT: + case ERROR: { + sendResponseMessage + ("Ping", remoteAddr, + new PingResponseMsg(0), msg.getMsgId(), + "Ping to "+msg.target+" failed", cbHandled); + break; + } + } + } + }); + } + } + AddressIF getUpNeighbor() { if (upNeighbors.size() == 0 && pendingNeighbors.size() == 0) { *************** *** 451,461 **** double rtt = (System.nanoTime() - sendStamp) / 1000000d; - // LOWTODO can use time of this instead of ping time - // if we want to not use jpcap pings - // (running not at root) - // - // However PRP not sure what the best way is to integrate this... - // Ideally, all latency measurements should be done by the ping manager...? - switch (result.state) { case OK: { --- 494,497 ---- *************** *** 477,485 **** log.debug("latency of "+latency+" to "+neighbor); - // MEDTODO convert nclib to use floats - // - // JTLTODO: why do you want to use floats and not double? won't we run into - // accuracy problems? - //long lat_ms = (long) Math.round(latency); long curr_time = System.currentTimeMillis(); --- 513,516 ---- *************** *** 558,561 **** --- 589,598 ---- long lease; + public boolean equals(ProxyClient c) { + if (addr.equals(c.addr)) + return true; + return false; + } + void update() { registerTimer(); *************** *** 564,570 **** // ask him to ping our address // and tell us about him ! ! // update our coordinate ! } --- 601,630 ---- // ask him to ping our address // and tell us about him ! ProxyPingRequestMsg msg = new ProxyPingRequestMsg(addr); ! comm.sendRequestMessage ! (msg, neighbor, ! new ObjCommRRCB<ProxyPingResponseMsg>() { ! protected void cb(CBResult result, ! final ProxyPingResponseMsg responseMsg, ! AddressIF remoteAddr, Long ts) { ! switch (result.state) { ! case OK: { ! log.debug("proxyping response from "+neighbor); ! nc.processSample(neighbor, responseMsg.remoteCoordinate, ! responseMsg.remoteError, latency, ! responseMsg.remoteAge, ! curr_time, true); ! log.debug("update: "+nc); ! addUpNeighbor(neighbor); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn("proxyping response to "+neighbor+" failed"); ! addDownNeighbor(neighbor); ! } ! } ! } ! }); } |
|
From: Jonathan L. <le...@us...> - 2006-12-05 03:19:07
|
Update of /cvsroot/pyxida/Pyxida In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10918 Modified Files: TODO build.xml Log Message: moving ping to proxyping Index: TODO =================================================================== RCS file: /cvsroot/pyxida/Pyxida/TODO,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TODO 4 Dec 2006 16:32:44 -0000 1.7 --- TODO 5 Dec 2006 03:19:06 -0000 1.8 *************** *** 4,8 **** - roll out on PL into harvard_nc - add pl script to web page that does query - - activate gravity code ###################################################################### --- 4,7 ---- Index: build.xml =================================================================== RCS file: /cvsroot/pyxida/Pyxida/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** build.xml 1 Dec 2006 18:30:23 -0000 1.8 --- build.xml 5 Dec 2006 03:19:06 -0000 1.9 *************** *** 13,17 **** <property name="log-nodes" location="log/nodes" /> ! <property name="version" value="0.1.1" /> <property name="Pyxida-jar" value="pyxida-${version}.jar" /> --- 13,17 ---- <property name="log-nodes" location="log/nodes" /> ! <property name="version" value="0.1.2" /> <property name="Pyxida-jar" value="pyxida-${version}.jar" /> |
|
From: Peter P. <pr...@us...> - 2006-12-04 18:52:44
|
Update of /cvsroot/pyxida/Pyxida/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4439/lib Modified Files: sbon-async.jar Log Message: Fixed error handling when port is missing Index: sbon-async.jar =================================================================== RCS file: /cvsroot/pyxida/Pyxida/lib/sbon-async.jar,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 Binary files /tmp/cvs6N21Uw and /tmp/cvs6GaFsj differ |
|
From: Peter P. <pr...@us...> - 2006-12-04 17:16:39
|
Update of /cvsroot/pyxida/Pyxida/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv862/lib Modified Files: sbon-async.jar Log Message: Fixed estimateRTT error handling Index: sbon-async.jar =================================================================== RCS file: /cvsroot/pyxida/Pyxida/lib/sbon-async.jar,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 Binary files /tmp/cvseOzX2W and /tmp/cvs29WsV4 differ |
|
From: Peter P. <pr...@us...> - 2006-12-04 17:15:54
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv862/src/edu/harvard/syrah/pyxida/api Modified Files: ExternalAPI.java Log Message: Fixed estimateRTT error handling Index: ExternalAPI.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api/ExternalAPI.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExternalAPI.java 4 Dec 2006 16:32:44 -0000 1.6 --- ExternalAPI.java 4 Dec 2006 17:15:48 -0000 1.7 *************** *** 43,48 **** case TIMEOUT: case ERROR: { ! log.warn(result.toString()); ! break; } } --- 43,48 ---- case TIMEOUT: case ERROR: { ! log.warn("Address could not be resolved: " + result.toString()); ! cbDistance.callCBResult(result); } } |
|
From: Peter P. <pr...@us...> - 2006-12-04 17:15:51
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv862/src/edu/harvard/syrah/pyxida/nc Modified Files: NCManager.java Log Message: Fixed estimateRTT error handling Index: NCManager.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/NCManager.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** NCManager.java 4 Dec 2006 16:32:44 -0000 1.18 --- NCManager.java 4 Dec 2006 17:15:48 -0000 1.19 *************** *** 224,228 **** case ERROR: { log.warn("Coord request to "+nodeB+" failed"); ! cbDistance.call(resultB, 0.0); } } --- 224,228 ---- case ERROR: { log.warn("Coord request to "+nodeB+" failed"); ! cbDistance.callCBResult(resultB); } } *************** *** 235,239 **** case ERROR: { log.warn("Coord request to "+nodeA+" failed"); ! cbDistance.call(resultA, 0.0); break; } --- 235,239 ---- case ERROR: { log.warn("Coord request to "+nodeA+" failed"); ! cbDistance.callCBResult(resultA); break; } |
|
From: Jonathan L. <le...@us...> - 2006-12-04 16:33:19
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17794/src/edu/harvard/syrah/pyxida/nc Modified Files: NCManager.java Log Message: fixed xml calls, added gravity Index: NCManager.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/NCManager.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** NCManager.java 4 Dec 2006 13:14:19 -0000 1.17 --- NCManager.java 4 Dec 2006 16:32:44 -0000 1.18 *************** *** 84,87 **** --- 84,88 ---- public void init(final CB0 cbDone) { comm.registerMessageCB(GossipRequestMsg.class, new GossipHandler()); + comm.registerMessageCB(CoordRequestMsg.class, new CoordHandler()); upNeighbors = new HashSet<AddressIF>(); *************** *** 166,169 **** --- 167,195 ---- /** + * Fetch coordinate from remote node. + */ + public void getRemoteCoord(final AddressIF remoteNode, + final CB1<Coordinate> cbCoord) { + comm.sendRequestMessage + (new CoordRequestMsg(), remoteNode, + new ObjCommRRCB<CoordResponseMsg>() { + protected void cb(CBResult result, final CoordResponseMsg resp, + AddressIF remoteAddr, Long ts) { + switch (result.state) { + case OK: { + log.debug("received coord back from "+remoteNode); + cbCoord.call(CBResult.OK(), resp.coord); + break; + } + case TIMEOUT: + case ERROR: { + log.warn("Coord request to "+remoteNode+" failed"); + cbCoord.call(result, null); + } + } + }}); + } + + /** * Fetches coordinates from two nodes and returns * the distance between them. *************** *** 171,175 **** public void estimateRTT(final AddressIF nodeA, final AddressIF nodeB, final CB1<Double> cbDistance) { ! log.warn ("ncm a "+nodeA+" b "+nodeB); comm.sendRequestMessage (new CoordRequestMsg(), nodeA, --- 197,201 ---- public void estimateRTT(final AddressIF nodeA, final AddressIF nodeB, final CB1<Double> cbDistance) { ! log.debug ("estimateRTT a="+nodeA+" b="+nodeB); comm.sendRequestMessage (new CoordRequestMsg(), nodeA, *************** *** 276,280 **** public void cb(CBResult result, CoordRequestMsg msg, AddressIF remoteAddr, Long ts, final CB1<Boolean> cbHandled) { ! log.debug("in CoordHandler cb: "+msg); long curr_time = System.currentTimeMillis(); sendResponseMessage("Coord", remoteAddr, --- 302,306 ---- public void cb(CBResult result, CoordRequestMsg msg, AddressIF remoteAddr, Long ts, final CB1<Boolean> cbHandled) { ! log.debug("in CoordHandler remoteAddr="+remoteAddr); long curr_time = System.currentTimeMillis(); sendResponseMessage("Coord", remoteAddr, |
|
From: Jonathan L. <le...@us...> - 2006-12-04 16:32:55
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17794/src/edu/harvard/syrah/pyxida/api Modified Files: ExternalAPI.java Log Message: fixed xml calls, added gravity Index: ExternalAPI.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/api/ExternalAPI.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ExternalAPI.java 4 Dec 2006 13:14:19 -0000 1.5 --- ExternalAPI.java 4 Dec 2006 16:32:44 -0000 1.6 *************** *** 37,41 **** switch (result.state) { case OK: { ! log.warn("nodeA "+nodeA+" nodeB "+nodeB); ncManager.estimateRTT(addrMap.get(nodeA), addrMap.get(nodeB), cbDistance); break; --- 37,41 ---- switch (result.state) { case OK: { ! log.debug("estimateRTT a="+nodeA+" b="+nodeB); ncManager.estimateRTT(addrMap.get(nodeA), addrMap.get(nodeB), cbDistance); break; *************** *** 43,47 **** case TIMEOUT: case ERROR: { ! log.error(result.toString()); break; } --- 43,47 ---- case TIMEOUT: case ERROR: { ! log.warn(result.toString()); break; } *************** *** 53,58 **** } ! public void getLocalCoord(CB1<Vector<Double>> cbLocalCoord) { ! Coordinate coord = ncManager.getLocalCoord(); Vector<Double> listCoord = new Vector<Double>(); double c[] = coord.asVectorFromZero(false).getComponents(); --- 53,57 ---- } ! Vector<Double> getVectorFromCoord (Coordinate coord) { Vector<Double> listCoord = new Vector<Double>(); double c[] = coord.asVectorFromZero(false).getComponents(); *************** *** 60,68 **** listCoord.add(c[i]); } cbLocalCoord.call(CBResult.OK(), listCoord); } ! public void getRemoteCoord(String remoteNode, CB1<List<Double>> cbRemoteCoord) { ! throw new UnsupportedOperationException(); } --- 59,105 ---- listCoord.add(c[i]); } + return listCoord; + } + + public void getLocalCoord(CB1<Vector<Double>> cbLocalCoord) { + Coordinate coord = ncManager.getLocalCoord(); + Vector<Double> listCoord = getVectorFromCoord(coord); cbLocalCoord.call(CBResult.OK(), listCoord); } ! public void getRemoteCoord(final String remoteNodeStr, ! final CB1<List<Double>> cbRemoteCoord) { ! AddressFactory.createResolved(remoteNodeStr, new CB1<AddressIF>() { ! protected void cb(CBResult nsResult, AddressIF remoteNode) { ! switch (nsResult.state) { ! case OK: { ! log.debug("resolved node="+remoteNode); ! ncManager.getRemoteCoord(remoteNode, new CB1<Coordinate>() { ! protected void cb(CBResult ncResult, Coordinate remoteCoord) { ! switch (ncResult.state) { ! case OK: { ! Vector<Double> listCoord = getVectorFromCoord(remoteCoord); ! cbRemoteCoord.call(CBResult.OK(), listCoord); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(ncResult.toString()); ! cbRemoteCoord.call(ncResult, null); ! break; ! } ! } ! }}); ! break; ! } ! case TIMEOUT: ! case ERROR: { ! log.warn(nsResult.toString()); ! cbRemoteCoord.call(nsResult, null); ! break; ! } ! } ! } ! }); } |
|
From: Jonathan L. <le...@us...> - 2006-12-04 16:32:50
|
Update of /cvsroot/pyxida/Pyxida In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17794 Modified Files: TODO Log Message: fixed xml calls, added gravity Index: TODO =================================================================== RCS file: /cvsroot/pyxida/Pyxida/TODO,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** TODO 4 Dec 2006 14:26:09 -0000 1.6 --- TODO 4 Dec 2006 16:32:44 -0000 1.7 *************** *** 2,14 **** V0.1 TODO ! - fix query script so that it properly prints out height ! ./bin/query.pl -l http://sb01.eecs.harvard.edu:55501 ! and add in other features ! - check ICMP ! ! - roll out on PL, into harvard_nc, set appropriate logging ! - check that external API works + add pl script to web page that does query ! - make front page nice, incl adding downloads ! - add web query interface - activate gravity code --- 2,7 ---- V0.1 TODO ! - roll out on PL into harvard_nc ! - add pl script to web page that does query - activate gravity code |
|
From: Jonathan L. <le...@us...> - 2006-12-04 16:32:50
|
Update of /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17794/src/edu/harvard/syrah/pyxida/nc/lib Modified Files: Coordinate.java NCClient.java Vec.java Log Message: fixed xml calls, added gravity Index: Coordinate.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/lib/Coordinate.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Coordinate.java 27 Nov 2006 20:31:40 -0000 1.4 --- Coordinate.java 4 Dec 2006 16:32:44 -0000 1.5 *************** *** 198,202 **** } sum = Math.sqrt(sum); ! if (NCClient.USE_HEIGHT) { sum = sum + coords[coords.length - 1] + c.coords[coords.length - 1]; } --- 198,202 ---- } sum = Math.sqrt(sum); ! if (NCClient.USE_HEIGHT && sum > 0) { sum = sum + coords[coords.length - 1] + c.coords[coords.length - 1]; } Index: Vec.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/lib/Vec.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Vec.java 4 Dec 2006 13:14:19 -0000 1.2 --- Vec.java 4 Dec 2006 16:32:44 -0000 1.3 *************** *** 120,133 **** } - /* public void subtract(Vec v) { for (int i = 0; i < num_dims; ++i) { direction[i] -= v.direction[i]; } ! if (VivaldiClient.USE_HEIGHT) { direction[direction.length-1] += v.direction[direction.length-1]; } } - */ public void scale(double k) { --- 120,131 ---- } public void subtract(Vec v) { for (int i = 0; i < num_dims; ++i) { direction[i] -= v.direction[i]; } ! if (NCClient.USE_HEIGHT) { direction[direction.length-1] += v.direction[direction.length-1]; } } public void scale(double k) { Index: NCClient.java =================================================================== RCS file: /cvsroot/pyxida/Pyxida/src/edu/harvard/syrah/pyxida/nc/lib/NCClient.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NCClient.java 25 Nov 2006 21:39:59 -0000 1.2 --- NCClient.java 4 Dec 2006 16:32:44 -0000 1.3 *************** *** 893,911 **** } ! // TODO add in gravity if necessary ! // Might not be with all of the churn ! // Check whether scaling should happen before or after addition of gravity ! ! /* ! * if (GRAVITY_DIAMETER > 0) { // include "gravity" to keep coordinates ! * centered on the origin Vec gravity = sys_coord.asVectorFromZero(true); if ! * (gravity.getLength() > 0) { // scale gravity s.t. it increases ! * polynomially with distance double force_of_gravity = ! * Math.pow(gravity.getLength() / GRAVITY_DIAMETER, 2.); gravity.makeUnit(); ! * gravity.scale(force_of_gravity); // add to total force ! * force.subtract(gravity); ! * ! * if (keepStatistics) { running_gravity.add(force_of_gravity); } } } ! */ sys_coord.add(force); --- 893,910 ---- } ! // include "gravity" to keep coordinates centered on the origin ! if (GRAVITY_DIAMETER > 0) { ! Vec gravity = sys_coord.asVectorFromZero(true); ! if (gravity.getLength() > 0) { ! // scale gravity s.t. it increases polynomially with distance ! double force_of_gravity = ! Math.pow(gravity.getLength() / GRAVITY_DIAMETER, 2.); ! gravity.makeUnit(); ! gravity.scale(force_of_gravity); // add to total force ! force.subtract(gravity); ! ! if (keepStatistics) { running_gravity.add(force_of_gravity); } ! } ! } sys_coord.add(force); |
|
From: Jonathan L. <le...@us...> - 2006-12-04 16:32:48
|
Update of /cvsroot/pyxida/Pyxida/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17794/bin Modified Files: query.pl Log Message: fixed xml calls, added gravity Index: query.pl =================================================================== RCS file: /cvsroot/pyxida/Pyxida/bin/query.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** query.pl 4 Dec 2006 13:14:19 -0000 1.4 --- query.pl 4 Dec 2006 16:32:44 -0000 1.5 *************** *** 6,21 **** use Data::Dumper; - use Aux; - warn "rm Aux"; - my $USE_HEIGHT = 1; - # e.g. query.pl http://righthand.eecs.harvard.edu:55501 - my $usage = "query.pl [options] url\n"; $usage .= " -l: get local coordinate of node running at url\n"; ! $usage .= " -r remote-node: get remote overlay node coordinate (not yet supported)\n"; $usage .= " -a nodeA -b nodeB: estimate latency btw overlay nodes A and B\n"; my %para = (); getopts('lr:a:b:', \%para); --- 6,19 ---- use Data::Dumper; my $USE_HEIGHT = 1; my $usage = "query.pl [options] url\n"; $usage .= " -l: get local coordinate of node running at url\n"; ! $usage .= " -r remote-node: get remote overlay node coordinate\n"; $usage .= " -a nodeA -b nodeB: estimate latency btw overlay nodes A and B\n"; + $usage .= "\n"; + $usage .= "query.pl -l http://righthand.eecs.harvard.edu:55501\n"; + $usage .= "query.pl -a sb02.eecs.harvard.edu:55500 -b sb03.eecs.harvard.edu:55500 http://sb01.eecs.harvard.edu:55501\n"; my %para = (); getopts('lr:a:b:', \%para); *************** *** 36,40 **** if (defined($para{'l'})) { - print "local\n"; my $coordArray = $server->call("pyxida.getLocalCoord"); #print Dumper($hash); --- 34,37 ---- *************** *** 44,53 **** } elsif (defined($para{'r'})) { my $remoteNode = $para{'r'}; ! print "remote $remoteNode\n"; } elsif (defined($para{'a'}) && defined($para{'b'})) { my $nodeA = $para{'a'}; my $nodeB = $para{'b'}; my $distance = $server->call("pyxida.estimateRTT", $nodeA, $nodeB); ! print "pair $nodeA $nodeB dist $distance\n"; } else { die ("Missing arguments\n$usage"); --- 41,53 ---- } elsif (defined($para{'r'})) { my $remoteNode = $para{'r'}; ! my $coordArray = $server->call("pyxida.getRemoteCoord", $para{'r'}); ! my $coord = &parse_coord ($coordArray); ! print "$coord\n"; } elsif (defined($para{'a'}) && defined($para{'b'})) { my $nodeA = $para{'a'}; my $nodeB = $para{'b'}; my $distance = $server->call("pyxida.estimateRTT", $nodeA, $nodeB); ! $distance = sprintf ("%.3f", $distance); ! print "$distance\n"; } else { die ("Missing arguments\n$usage"); *************** *** 58,62 **** my $out = '['; for (my $i = 0; $i <= $#$coord; $i++) { ! my $element = sprintf ("%.2f", $coord->[$i]); if ($i == $#$coord && $USE_HEIGHT) { $out .= 'h'; --- 58,62 ---- my $out = '['; for (my $i = 0; $i <= $#$coord; $i++) { ! my $element = sprintf ("%.3f", $coord->[$i]); if ($i == $#$coord && $USE_HEIGHT) { $out .= 'h'; |
|
From: Peter P. <pr...@us...> - 2006-12-04 14:26:15
|
Update of /cvsroot/pyxida/Pyxida In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2469 Modified Files: TODO Log Message: Added a new todo Index: TODO =================================================================== RCS file: /cvsroot/pyxida/Pyxida/TODO,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TODO 1 Dec 2006 18:30:23 -0000 1.5 --- TODO 4 Dec 2006 14:26:09 -0000 1.6 *************** *** 16,19 **** --- 16,20 ---- V0.2 (Proxy coordinates) TODO: + - add Rohan's 3D visualisation applet to webpage (we already have the code) - add to web interface |
|
From: Jonathan L. <le...@us...> - 2006-12-04 13:14:24
|
Update of /cvsroot/pyxida/Pyxida/web In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9237/web Modified Files: index.html rsync.pl Log Message: missing ports with estimateRTT XML call Index: index.html =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/index.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** index.html 4 Dec 2006 12:05:54 -0000 1.9 --- index.html 4 Dec 2006 13:14:19 -0000 1.10 *************** *** 106,109 **** --- 106,114 ---- <!-- li>Researchers at Boston University are using Pyxida for a new routing protocol. --></li> + + <li><a + href="http://www.cs.ucsb.edu/~ravenben/classes/276/project.html">A + Comparative Study of Network Coordinate System at UCSB</a> + </ul> Index: rsync.pl =================================================================== RCS file: /cvsroot/pyxida/Pyxida/web/rsync.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** rsync.pl 20 Nov 2006 17:22:31 -0000 1.2 --- rsync.pl 4 Dec 2006 13:14:19 -0000 1.3 *************** *** 2,5 **** --- 2,9 ---- use strict; + use Getopt::Std; + + my %para = (); + getopts('i', \%para); my $USER = $ENV{'USER'}; *************** *** 14,17 **** --- 18,26 ---- my $cmd = "rsync -r --delete . $USER\@shell.sourceforge.net:/home/groups/p/py/pyxida/htdocs"; + + if (defined($para{'i'})) { + $cmd = "scp index.html $USER\@shell.sourceforge.net:/home/groups/p/py/pyxida/htdocs"; + } + print "$cmd"; exec ($cmd); |