ACET




The Tycho software

There is a wiki and issue tracker for Tycho which will usually have the most up to date information about Tycho development. Tycho is also available in source form from our subversion repository, at https://acet.rdg.ac.uk/svn-ro/tycho/.

Versions

Click on a link below to download Tycho. Old versions are kept here for historical purposes -- you should always use the latest stable version.
Tycho v1.3-rc1 (current development version) [changes]
Tycho v1.3-pre2 [changes]
Tycho v1.3-pre1 [changes]
Tycho v1.2 (current release version) [changes]
Tycho v1.2-rc1 [changes]
Tycho v1.0.47
Tycho v1.0-pre7
Tycho v1.0-pre6
Tycho v1.0-pre5
Tycho v1.0-pre4
Tycho v1.0-pre3
Tycho v0.7.0-beta

Changelog

2010-02-05: tycho_1.3-rc1
 - Feature: Now using log4j for logging
 - Feature: VR message plugins allow extension of the VR without modifying core Tycho code
 - Feature: Clients table now has a (locally) unique local_client_id field
 - Feature: Generic SQL queries for the VR, implemented through VR message plugins. Can now add multiple tables and perform more complex queries in the VR.
 - Cleanup: Additional senders (shmem and router) which greatly simplify the internal logic for sending messages

2010-01-20: tycho_1.3-pre2
 - Feature: Mediator and client configuration now possible through Java properties bundles
 - Feature: Zeroconf support for clients to find mediators
 - Feature: Improve integration test infrastructure
 - Feature/cleanup: mediators now use a Message object internally instead of byte arrays. Laying the groundwork for an improved client API.
 - Bugfix/cleanup: Heavily reworked the mediator's internal architecture. More threads, improved message-handling infrastructure
 - Bugfix: Mediators no longer have any shared state: it is now possible to run several mediators in the same JVM
 - Bugfix: Socket reuse in client/mediator comms now vastly reduced
 - Documentation: clarify license terms in file headers

2009-10-01: tycho_1.3-pre1
 - Documentation: Improve JavaDoc
 - Documentation: Architecture diagram
 - Feature: Add H2 support for SQL stores
 - Feature: Mediators can now be configured using Java properties (Trac #20, #26)
 - Bugfix: Add missing settings option (max thread idle time) for HTTP(S) servers
 - Bugfix: fix up duplicated length field in HTTP(S)

2009-08-14: tycho_1.2
 - Build scripts
 - Zero-copy processing of buffers internally
 - Allow database settings to be made at runtime
 - More explicit cleaning-up of memory usage
 - More sensible default settings for queue lengths
 - Fixes to handling of SQL in the VR

May 23 2008: tycho_1.0-pre7:
 -Jars now in lib instead of bin directory.
 -Demos removed from core and put in applications.
 
May 09 2008: tycho_1.0-pre6:
 -Moved to subversion.
 -New automated build system.
 -Release now includes Tycho as two jars, one with the contribs stripped.
 -Release also includes all contrib jars separately.
 -A feature of this is we are shipping 3 copies of everything but it covers all of the requests made by the users.

Mar 06 2008: tycho_1.0-pre5:
 -Added missing license for MySQL-Connector.
 -Added dependency version info to the README.

Feb 15 2008: tycho_1.0-pre4:
 -Removed Jetty 6 jars from the core release (they are only used in the swarm utility).

Dec 06 2007: tycho_1.0-pre3:
 -Added a web-based editor for the HTTP bootstrapper that lets users remove URL's from the bootstrap list (speeds up bootstrapping).
 -Turned socket set reusable to on by default.
 -Added Jetty min and max threads as a mediator setting.
 -Fixed bug that meant some messages used plain sockets to send messages to mediators that were actually using the SSL sockets handler.
 -If a client has a mediator inside it's JVM it will automatically send messages to the mediator via a shared buffer rather than the LAN handler. Messages from the mediator to the client will still use the LAN handler for now.

Sep 25 2007: tycho_1.0-pre2:
  -Cleaned up the error messages and added more debug info.

Sep 15 2007: tycho_1.0-pre1:
 -Added HTTPS handler.
 -Fixed feature which meant IP addresses could add an extra millisecond of latency.
 -Optimised the threaded HTTP(S) send methods.
 -Cleaned up the TychoConnector and related classes, reduced the amount of code required to provide the same functionality.

Apr 27 2006: tycho_0.7.3:
 -Added checks for null arguments for all client methods
 -Performance optimisation for Tycho message rewriting in the mediator comms manager.
 -Extra constructors for embedded mediators so they can be used behind proxy servers.
 -Added constructors to mediator to allow it to be started within another Java class (embedded mediators).
 -Changed mediator to detect next available port for when it is created without lan or wan port being specified.
 -Fixed a bug in the IRC connector which meant bots did not join a project specific channel.
 -Fixed a bug in the IRC connector which meant simultaneous query responses from different mediators could get mixed up.
 -Replaced all System.out calls with a Debug.out method which means you can stop the Tycho library from printing what it is doing to STDOUT.
 -Updated all error handling to be consistent as well as never use System.exit(), this makes it easier for normal people to debug Tycho apps.
 -Added a new function to the TychoConnector which allows a client to update it's schema and schema_url fields after it has been registered.
 -Moved the Tycho VR into uk.ac.port.dsg.tycho.core.vr, since the VR is core functionality it should be here, it had it's own packge for legacy reasons from when it was first developed.
 -Added an EmbeddedMediator class to the client API to wrap the real mediator and simplify using it.
 -Added code to redirect output from HSQLDB and Jetty to keep them completely quiet when the debug level is set to 0.
 -Fixed a logic bug in the IRC connector which meant single line query replies would not be sent back to the client.
 -Optimised Message.getTo and Message.getFrom.
 -Changed mediator next available port detection to be random instead of incremental to reduce the risk of two simultaneously started mediators choosing the same ports.

Feb 15 2006: tycho_0.7.2:
 -Fixed bug which limited the schema field to 255 chars for JDBC data stores.
 -Added a utility class for performing timeouts in Tycho clients.

Jan 16 2006: tycho_0.7.1:
 -Fixed null pointer bug in JDBC driver when no records are found in the registry.
 -Altered the local store and IRC connector so that if there are no results from the registry no event is sent.
 -Removed registry announcements from IRC connector - the bots don't need to know the HTTP URLS to the registries as they communicate via IRC.
 -Added the new field wan_url to the registry removing the need to do string substitution on the lan_url when returning results for remote clients.
 -Added support for limiting the number of records returned by a query. Using SQl as the query language this is supported by using the 'LIMIT' keyword in a query.
 -Added caching to the VR, currently it uses TTL to invalidate records but there is a hook for more advanced functionality like leasing.
 -Optimised the LDIF marking up in JdbcStore, mostly fiddling with StringBuffers.
 -Added support for LIKE and LIMIT in SimpleStore.  
 -Changed the LDIF markup to make registry responses as small as possible.
 -This version was benchmarked for HPDC.

Nov 25 2005: tycho_0.7.0:
 -Fixed bug in the VR pinger which caused spikes in CPU usage.
 -Updated the webcam demo to use the current version.
 -Re wrote cammon to handle the differences in the responsiveness of webcams more gracefully and changed the producer side to use an aggregated producer.
 -Renamed some classes to reflect the name change to Tycho.
 -Gave the send message functions saner names.
 -Changed the abstract data store so that if the query language is supported by the back end store the query is not parsed into an intermediate format it is passed straight though to the database.
 -Added support for an integrated HSQLDB datastore.
 -Fixed bug in unRegister method which left a thread running preventing the client from exiting.
 -This version was released as a preview.

Sep 09 2005: jGMA_0.6.0:
 -This version was released as a preview.

Aug 19 2005: jGMA_0.5.7:
 -Wrote a UDP proxy using jGMA as a transport.
 -Expanded the proxy code to allow unmodified Quake 3 client and server to run over jGMA.
 -Clean ups for a release.
 -New documentation.

Aug 08 2005: jGMA_0.5.6:
 -Added a second P2P connector for the Mediator comprising of a web based PHP boot strap service and a simple HTTP inter-Mediator messaging.

Jun 06 2005: jGMA_0.5.5:
 -Changed the thread management of SocketThread to improve performance.
 -This version was benchmarked for SC 2005.

May 17 2005: jGMA_0.5.2:
 -Implemented a basic (yet functional) IRC VR component.
 -The IRC VR provides bootstrapping via DNS and IRC and broadcast querying between Mediators (allows inter-Mediator registry queries).

Apr 08 2005: jGMA_0.5.1:
 -Added an abstract interface which translates registry queries into a generic form.
 -Added a JBDC data store to the VR.
 -Fixed a bug introduced in the refactoring which stopped Mediator Ping messages from being replied to by clients.
 -Standardised the registry datastores to use the LDIF format for responses to queries.

Jan 17 2005: jGMA_0.5.0:
 -Rewrote all code to make better use of features of Java 1.5 including the new concurrency package.
 -Removed Tomcat support.
 -Changed the internal API to use cleanly encapsulate external communications code.
 -Renamed the PC Servlet to Mediator.
 -Reimplemented the basic registry servlet within a new virtual registry which is part of the mediator.
 -This version was benchmarked for the CC-PE Journal.

Dec 20 2004: jGMA_0.4.2:
 -Changed jGMA to work with Jetty (4.2.22) instead of Tomcat[4|5], this was a performance optimisation.

Dec 09 2004: jGMA_0.4.1-beta:
 -Altered the constructors in the examples to look for the PC servlet at the localhost
 -Fixed some comments in the examples.
 -This version of jGMA was put on the web as a binary release.

Dec 01 2004: jGMA_0.4.1-alpha:
 -Moved to Java 1.5 (jGMA will now not work with < 1.5)
 -Reworked the API to use autoboxing and generics.
 -Fixed a bug in the HTTP send code that prevented some connections from ever timing out.
 -Altered the servlet so it can create error events to be sent to the client for all types off errors (previously this was only available in the LAN code).

Oct 21 2004: jGMA_0.4.0:
 -Fixed a bug in socket and HTTP send methods which was truncating messages (moved away from the Sun read all methods).
 -Added a new jGMA message type for signalling errors.
 -Altered the client classes to support the new error event.
 -Added automated ping/pong test between the clients and servlet to allow dead clients to be cleaned up.
 -This version of jGMA was used to build the webcam demo first presented at the UK e-Science AHM 2004.

Jun 15 2004: jGMA_0.3.7:
 -Removed blocking send methods leaving a purely event driven API.
 -Added HTML interface to verify installation.
 -Reworked client API ready for binary release.
 -Produced javadocs for the client api.
 -Fixed a bug in the registry flush code.
 -This version of jGMA was put on the web as a binary release.


May 19 2004: jGMA_0.3.6:
 -Added a simple producer servlet to help automate testing over the wide area.

Mar 28 2004: jGMA_0.3.5:
 -Optimised HTTP code by using multipart/form methods to push binary over HTTP without having to convert it into ASCII.
 -This version was benchmarked for the Cluster 2004 conference.

Mar 23 2004: jGMA_0.3.4:
 -Cleaned the code added for the optimizations and tweaks added when doing the benchmarking.
 -Used HTTP POST for inter servlet communication, this allows for pumping bytes straight out of the servlet without having to encode it while still using the HTTP protocol.
 -Fixed a little bug in the way a blocking message is matched which broke the WAN code in a wierd way.

Mar 18 2004: jGMA_0.3.3:
 -Moved from using Java objects for messages to packed byte arrays[].
 -Tweaked thread wake up methods so blocking messages are handled more quickly.
 -This version was benchmarked for the UKUUG winter conference.

Feb 11 2004: jGMA_0.3.2:
 -Optimized all the code to reduce latency and maximise throughput ready for benchmarking.

Jan 14 2004: jGMA_0.3.1:
 -Rewrote handling of message threads to be more efficient.

Jan 05 2004: jGMA_0.3.0:
 -Changed to sockets for communication - removed all RMI code.

Nov 19 2003: javaGMA_0.2.3:
 -Added new variable to expose complete URL to consumers and producers (rather than just their unique name).
 -Fixed bug in SendHTTP which was throwing away modified command numbers.
 -Added blocking send get to give people the option to wait for messages to be processed.
 -Changed error checking in servlets to be more graceful when bad things happen.
 -Fixed ambiguous client side error message for when there is a problem communicating with the registry.

Oct 22 2003: javaGMA_0.2.2:
 -Altered incoming message handling so producers can answer later rather than blocking until they finish their work.

Oct 12 2003: javaGMA_0.2.1:
 -Added sequence IDs so out of order messages can be tracked.

Oct 08 2003: javaGMA_0.2.0:
 -Reworking of PC servlet from scratch.
 -Changed event system to messages using command numbers to identify message type.

Sep 17 2003: javaGMA_0.1:
 -Initial release including simple registry.
  


Valid XHTML | Copyright | Last Modified: 5/Feb/2010 |