RFC005 TITLE: DAS Caching Author Matthew Pocock (mrp@sanger.ac.uk) Dependancies: Directory services (e.g. RFC 2), Authentication Version: 1 Date: 15 August 2001 Requirements ------------ There are likely to be multiple DAS servers either side of the atlantic. Requests can potentialy become prohibitavely slow over these distances. Some method to cache DAS data would potentialy remove the need to explicitly set up mirror servers with all the ID cannonical copy issues this may introduce. Mechanisms ---------- A seperate class of servers termed DAS-Cache could be introduced which localy store the results of some requests. Caches can potentialy retrieve data from other caches, which in turn retrieve data from caches untill some cache fetches it directly from a DAS non-cache server. This would, for example, allow centralised DAS-Caches to be put in place geographicaly arround the web, as well as within each organization and potentialy even in parallel to an individual browser. Requests from the browser can be cascaded through the cache hierachy when apropreate, reducing the need to move data redundantly between DAS nodes. Issues ------ It may be necisary to define DAS-Cache services for each DAS service individualy, or it may be possible to define a single DAS-Cache service that caches all DAS-compatible data. Multiple DAS requests potentialy overlap in what they requre. Any cache technology would idealy understand this and be able to optimaly fetch data for parts of the query from local stoorage and other parts from remote stoorage. Relationship to other DAS/2 services ------------------------------------ DAS-Caches should be registered with a directory service allong with other DAS services. They must be associated with enough meta-data to allow clients to discover which caches are appropreate for fetching what data. Potentialy, caches may end up providing a gnutella-like infrastructure for replicating data near to data consumers. This will potentialy lead to a requirement for data validation (how many times have you downloaded files from gnutella to find that the content doesn't match the file-name).