[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r11063: updated status (torflow/trunk)
Author: renner
Date: 2007-08-08 08:01:03 -0400 (Wed, 08 Aug 2007)
New Revision: 11063
Modified:
torflow/trunk/GSoC-status
Log:
updated status
Modified: torflow/trunk/GSoC-status
===================================================================
--- torflow/trunk/GSoC-status 2007-08-08 11:59:15 UTC (rev 11062)
+++ torflow/trunk/GSoC-status 2007-08-08 12:01:03 UTC (rev 11063)
@@ -13,58 +13,47 @@
My controller (op-addon.py) is currently able to:
-- Create and maintain a pool of n circuits and configure the path selection
- freely + attach user streams
+- Create and maintain a circuit-pool of configurable size using any path
+ selection method
+- Either measure performance of circs created with any method, or handle user
+ streams
- Optionally Ping the circuits in the pool with a configurable frequency
-- Close those circuits that are too slow regarding measured latencies:
- circ was in x measurings slower than y seconds --> close it
-- Attach user streams to the circuit having the currently smallest rt-latency
-- Optionally ping every circuit n ( = hop-count) times using each single hop
+- Close circuits that are 'too slow' regarding a latency threshhold
+- Attach user streams to a circuit currently having a low latency
+- Optionally ping every circuit n (=hop-count) times using each single hop
as the exit node once
- Compute round-trip latencies for the single links between routers from the
- results and store everything in a graph model
-- Create circuits from the network model, so we will create known to be fast
- ones possibly again or if we have collected enough data we will find new
- fast combinations of links to put together to circuits we have not had yet
-- Choose randomly from a set of at least x circuit proposals found in the
- model, each having RTT < y ms
-- If we could not find x proposals: create a circuit with the default method
- for collecting more link-latencies
+ results and store them in a graph model
+- Choose the fastest suitable path or uniformly from the subset of at least x
+ circuit-proposals found in the model having RTT <= y ms
+- Choose paths from the model in a probabilistic way regarding a score
+ that is calculated from measured latencies and advertised bandwidths
- Be configured to always have m/n of the circuits created with the default
method to steadily extend the graph model
- Collect data and record mean round trip latencies (of n measurings on each
circuit) for a specific path selection configuration to a file
- Record statistics about circuit creation to a file: average setup duration +
- min/max/median, number of failures + single extend-times
+ min/max/median, number of failures + single extend-times, etc.
- Be configured via a config-file
+- Save a network-model to, and load it from a binary file. Check routers for
+ existence when loading
Things I currently plan to do are:
-- Implement more PathRestrictions: OceanPhobic/OceanPhilic, EchelonPhobic for
- changing destinations, which means querying the country of a destination on
- set_target() and adding the respective CountryRestriction to exit_rstr
- before building the circ.
-- Somehow validate a given configuration (e.g. entry_country:DE,
- exit_country:US, max_crossings:0 would be invalid)
-- Refactorings: Move CircuitHandler and StreamHandler to PathSupport.py or
- create a new separate file containing only the EventHandlers (so that they
- can also be used by metatroller or other controllers)?
-- Refactorings: Transfer other things to PathSupport.py to be permanent, like
- 'hop' as an attribute to the Stream-class
-- Add port history learning to StreamHandler or CircuitHandler and
- port-preconfiguring: the ability to configure that we will need circuits
- that exit e.g. to port x, y and z
-- Add an option to op-addon to tell it to use every path only once and create
- only *really* new circuits (combinations of links) from the model
-- Needs a path-history and more data collecting, but leads to more security?
-- Keep on using a directed graph for the model (undirected would make it more
- difficult to find new circuits means needs more collecting)
-- What is a beneficial network model and how long does it take to learn one?
-- Store network-model to a file that can be loaded on startup
-- Modify op-addon.py to make it connect to hidden services
+- Implement PathRestrictions: OceanPhobic/OceanPhilic, EchelonPhobic for
+ changing destinations (query the country of a destination on set_target()
+ and add the respective CountryRestriction to exit_rstr before building circ)
+- Validate given configurations (e.g. entry_country:DE, exit_country:US,
+ max_crossings:0)
+- Add port-history learning to StreamHandler or CircuitHandler and/or
+ port-preconfiguring: configure what ports will be needed
+- Add a bandwidth-test, to let OP-Addon test every circuits bandwidth for
+ evaluating the performance of paths created with different methods
+- Write a README containing prerequisites and instructions
+- Modify OP-Addon to not measure latencies to the first hop, to make
+ one-hop.diff obsolete, still useful?
+- What is a beneficial network-model and how long does it take to learn one?
+- Modify op-addon.py to make it connect to hidden services?
- Degree of anonymity
-- Introduce recordings of more statistics
-- Find a better name than 'op-addon.py'
-- Write a README containing prerequisites and instructions to run op-addon.py
-- Remove bw-informer.py from the svn or improve it or do something else using
- bandwidth (my supervisor Andriy keeps on telling me to)
+- Find a better name than 'OP-Addon'
+- Remove or improve bw-informer.py