| TECHNOLOGICAL IMPLEMENTATION PLAN |
| Description of project |
| EC PROGRAMME: | IST |
| PROJECT TITLE: | Peer-To-Peer-Implementation-and-TheOry |
| ACRONYM: | PEPITO |
| PROGRAMME TYPE: | 5th FWP (Fifth Framework Programme) |
| CONTRACT NUMBER: | IST-2001-33234 |
| PROJECT WEB SITE (if any): | http://www.sics.se/pepito/ |
| START DATE: | 01 Jan 2002 |
| END DATE: | 31 Dec 2004 |
| COORDINATOR DETAILS: |
Name: Thomas Sjöland Organisation: SICS, Swedish Institute of Computer Science Address: Box 1263, SE-164 28 Kista, Sweden Telephone: +46 8 6331500 E-mail: thomas.sjoland@sics.se |
| PARTNERS NAME: |
|
The Chancellor, Masters and Scholars of The University of Cambridge, SEWELL Peter Ecole Polytechnique Federale de Lausanne, NESTMANN Uwe Universite Catholique de Louvain, VAN ROY Peter Institut National de Recherche en Informatique et en Automatique, Jean-Jacques LEVY Kungliga Tekniska Högskolan, HARIDI Seif Swedish Institute of Computer Science AB, Per Brand |
| Commission Officer Name: | Fabrizio SESTINI (INFSO) |
| Executive summary |
| Original research objectives Traditional centralised system architectures are ever more inadequate. A good understanding is lacking of future decentralised peer-to-peer (P2P) models for collaboration and computing, both of how to build them robustly and of what can be built. The PEPITO project will investigate completely decentralised models of P2P computing. It will: (1) study the use-models of P2P systems, that is how they are perceived by users and what new applications are possible; (2) develop the foundations of P2P computing, including formal foundations (calculi, proof techniques, security and resource models) and new distributed algorithms (for diffusing information and coping with multi-consistent views); (3) provide a language-independent distribution subsystem tailored for P2P computing; and (4) provide programming languages and platforms using this, showing that they are useful by implementing convincing demonstrator applications. Objectives: Peer-to-peer computing (P2P) is a paradigm in which applications are connected to a shared network as peers, that is with the same capabilities and responsibilities. Current P2P applications are limited to information exchange. The objectives are to remove this limitation by: - developing formal models to understand P2P computing; - developing the distributed algorithms required for implementation; - implementing a language-independent set of basic services; - implementing languages and devise programming techniques and convincing demonstrator applications. Further objectives are: - better using resources at the network's edge; - scaling better than server-centric computing; - allowing device mobility (independence of IP address); - allowing individuals to publish information and services, and allowing individuals to collaborate while remaining anonymous. Work description: PEPITO will assume a completely decentralised architecture in which a peer can have four simultaneous roles: it may use services, provide services, forward requests, and provide caching of information. We also assume that peer nodes connect through a virtual network that is dynamic and intermittent, and that nodes do not possess a fixed IP address. To successfully deal with the complexity of P2P systems (in which failure, reconfiguration and security are central) it is important to pursue use-model analysis, theoretical work and prototyping in a closely linked style. The complementary expertise of the PEPITO partners makes this possible: the objectives will be addressed, but enabling interaction between them is also crucial. Use-model analysis of this type of system will investigate how they are perceived by users, and what new applications are possible. Theoretical work will study the foundational concepts of P2P systems. This includes mathematical models (calculi, proof techniques, security and resource models) and new distributed algorithms (decentralised algorithms for diffusing information, and for coping with multi-consistent computing - with simultaneous inconsistent views of entities). System Design and Prototyping will develop prototypes of programming languages and programming platforms (middleware) suitable for peer-to-peer computing (such platforms are lacking today; those existing are server-centric). One aspect will be a scalable and robust name/directory service based on our algorithms. Together, all these will enable development of applications that: - handle dynamic connectivity and device mobility; - allow individuals to become publishers of information and services; - permit full use of existing network resources at the edge of the network; - and permit applications to scale better than server-centric designs. |
| Expected deliverables You find the deliverables at http://www.sics.se/pepito/deliverables.html Deliverables due at month 6, june-july 2002 * Management Report 1 * D6.1 First project workshop (INRIA) o workshop (jan-feb 2002, Paris) * D6.4 Dissemination and Use Plan, (coor SICS) * D6.6 Assessment Criteria (coor SICS) report Deliverables due at month 12, dec 2002, some revised in month 16, April 2003 * Executive Summary * D1.7 First progress report on formal models (report UCAM) * D2.7 First progress report on distributed algorithms (report KTH) * D3.3 Resource control design (report INRIA) * D4.1 Basic distribution subsystem (code prototype SICS) o see http://dss.sics.se/ for latest update * D4.2 Report on basic distribution subsystem (report SICS) * D6.2 Second project workshop (SICS) workshop o workshop (july 2002, Stockholm) * D6.7 First Progress and assessment report (coor SICS) Deliverables due at month 18, june-july 2003 * D1.1 Required foundations for peer-to-peer systems (UCAM) report * D1.3 Axiomatisation of Transactions (EPFL) report * D2.4 Specification of probabilistic reliable broadcast (EPFL) report * D2.6 Failure detectors in peer-to-peer computing (INRIA) report (dropped) * D3.5 Peer-to-peer Oz platform (1) (UCL) proto & report * D3.8 An interface between the Java VM and the Distribution Subsystem (EPFL) * D4.7 Distributed garbage collection design (INRIA) proto(merged into D4.8) * Management Report 2 * (Project Description Updated 2003-07-09, Annex 1 to contract) Deliverables due at month 24, dec 18th 2003 * D1.8 Second progress report on formal models (UCAM) report * D2.8 Second progress report on distributed algorithms (KTH) report * D3.1 Mobile computation design (KTH) report * D3.10 Progress report on languages and systems (EPFL) report * D4.3 Security services in distribution subsystem (KTH) proto * D4.4 Report on security services in distribution subsystem (KTH) report * D4.9 Progress report on DSS (SICS) report * D6.2 Second project workshop (SICS) report (already took place, see above) * D6.5 Technological Implementation Plan (SICS) report * D6.8 Second Progress and Assessment report (SICS) report Deliverables due at month 30, june 18th 2004 * D2.3 Distributed directory service (KTH) report 30 * D3.6 Peer-to-peer Oz platform (2) (UCL) proto & report 30 * D3.9 A library for distributed peer-to-peer applications in Funnel/Scala (EPFL) proto & report 30 * D4.5 Extended distribution subsystem (SICS) proto 30 * D4.6 Report on extended distribution subsystem (SICS) report 30 * D4.8 Distributed garbage collection design and implementation in DSS (INRIA) proto 30 Deliverables due at month 36, dec 18th 2004 * D1.2 Survey of formal challenges and solutions for peer-to-peer computation (UCAM) report (new name) * D1.4 Study of possible semantics of failures (UCAM) report * D1.5 and D1.6 now contained in D3.12 * D1.9 Final report on formal models (UCAM) report * D2.1 Multi-consistency in Peer-to-Peer computing (UCL) report * D2.2 Diffusion algorithms for peer-to-peer computing (KTH) report * D2.5 Algorithms and applications of probabilistic reliable broadcast (EPFL) report * D2.9 Final report on distributed algorithms (KTH) report * D3.2 Mobile computation implementation (KTH) proto * D3.4 Resource control implementation (INRIA) proto * D3.7 Extending the Oz language for peer-to-peer computing (UCL) report * D3.11 Final report on languages and systems (EPFL) report * D3.12 Requirements, type systems, and semantics for peer-to-peer versioning support (UCAM) report (containts former D1.5, D1.6) * D4.10 Final report on DSS (SICS) report * D5.1 A demonstrator for a distributed auction service (EPFL) proto * D5.2 A demonstrator for a collaborative game (SICS) proto * D5.3 Report on demos (SICS) report * D6.3 Third project workshop (SICS) workshop * D6.9 Final report (SICS) report |
| Project's actual outcome Overview of the expected results 1. Formal models for peer-to-peer computing (publications) 2. Distributed algorithms for peer-to-peer computing realizing a scalable and robust name/directory service based on these algorithms (publications) 3. Language-independent distribution subsystem for peer-to-peer computing (open-source software) 4. Languages and platforms for peer-to-peer computing (open-source software) 5. Demonstrator applications (open-source software) More Detailed Executive Summary We have designed a generic P2P infrastructure, and we have made progress in implementing it. As we see it, the P2P infrastructure has a layered structure with three levels. The basic guiding design principle in each layer is one of cooperation: all nodes (machines/processes) are orchestrated to help each other achieve the common goals of scalability, reliability, dynamic connectivity, and self-management. The first layer consists of autonomic topology maintenance. The network is a self-healing graph of nodes with the ability to route messages, to join (add new nodes at any time), to leave (either explicitly or implicitly due to failures), and to merge (large numbers of nodes leaving or joining simultaneously). The network provides guaranteed bounds on the number of messages and network hops needed for these operations. Current work on the architecture is described in paper 4 of deliverable D2.7 of WP 2 (distributed algorithms and services) on DKS(N,k,f): A family of low-communication, scalable and fault-tolerant infrastructures for P2P applications. We are implementing this infrastructure in WP 4 (distribution subsystem). The second layer consists of basic P2P services implemented by distributed algorithms. A first service consists of scalable broadcast and multicast, as shown in deliverable D2.7 of WP 2. The broadcast is described in paper 3: Efficient broadcast in structured P2P networks. The multicast is described in paper Probabilistic Multicast. An important part of this service is the management of group membership. A second important service is a reliable distributed dictionary that can map names to any values (including network references). The third layer is a language-independent middleware layer that provides services for different programming systems to support distribution, mobility, and security according to the semantics provided by the respective programming language. Current work on this layer is described in deliverable D4.2 of WP 4. This layer is complemented by a programming language interface for each system in which it is used. Progress on integration of the middleware layer with the programming systems Mozart/Oz and Java/Scala is reported in WP 3 (programming languages). This integration provides a higher level of abstraction than the service layer, making it suitable for P2P application developers. We work on applications using the middleware layer. For example, we have started work on a P2P application for collaboration among children in schools in WP 5 (applications). We expect that these applications will clarify what the API of the middleware layer should be. We have done foundational work on several levels. At the P2P-architecture level on anonymity and censorship resistance in D1.7 of WP 1 (formal models); in the messaging services of the distributed middleware on a precise semantics, including failure, for the UDP and TCP protocols, see D1.7 of WP1; at the distributed programming level on a calculus for mobility, see D3.3 of WP3; and the axiomatization of distributed transactions. There still remains work to be done on what is promised in the project as a P2P calculus.The expected outcome is not a novel formalism per se but rather the application of existing formalisms to problems of particular interest in the area addressed by the project. |
| Broad dissemination and use intentions for the expected outputs All results are available at the end of the project. The intentions are to use the results as a basis of other projects performed by the partners and also by others. Approach to Dissemination and Use We will * publish papers in internationally recognised refereed conferences and journals, and talks in project and cluster workshops. * make code freely available on the web. * create and maintain a Web site with presentations, project reports, publications, and related matters, informing scientific and industrial communities of the project progress (see below). · explore potential applications of the project results in Internet applications. Workshops During the first two years of PEPITO we organized two workshops. The project has a web page http://www.sics.se/pepito where activities are visible to the consortium and the outside world. The presentations given at the workshops are available on this web page. A number of papers were submitted to major conferences and some accepted Cooperation with outside parties Cooperation includes cooperation with other projects for submitting FP6 proposals. For instance the FP6 IP EVERGROW with 29 partners contains parts where work in PEPITO is continued. |
| Overview of all your main project results |
| No. | Self-descriptive title of the result | Category A, B or C* |
Partner(s) owning the result(s) (referring in particular to specific patents, copyrights, etc.) & involved in their further use |
| 1 | DKS system http://dks.sics.se | A | SICS, Swedish Institute of Computer Science |
| 2 | DSS http://dss.sics.se | A | SICS, Swedish Institute of Computer Science |
| 3 | Acute http://www.cl.cam.ac.uk/users/pes20/acute/ | A | The Chancellor, Masters and Scholars of The University of Cambridge Institut National de Recherche en Informatique et en Automatique |
| 4 | P2PS: Peer-to-peer library based on Tango algorithm | A | Universite Catholique de Louvain |
| 5 | P2PKit: Toolkit for building peer-to-peer applications | A | Universite Catholique de Louvain |
| 6 | P2P-MBlog | A | SICS, Swedish Institute of Computer Science |
| 7 | TCP/UDP/Sockets API | A | The Chancellor, Masters and Scholars of The University of Cambridge |
| Quantified Data on the dissemination and use of the project results |
|
Items about the dissemination and use of the project results (consolidated numbers) |
Currently achieved quantity | Estimated future* quantity |
| Product innovations | 0 | 0 |
| Process innovations | 2 | 0 |
| New services (commercial) | 0 | 0 |
| New services (public) | 2 | 0 |
| New methods | 3 | 0 |
| Scientific breakthrought | 2 | 0 |
| Technical standards to which this project has contributed | 0 | 0 |
| EU regulations/directives to which this project has contributed | 0 | 0 |
| International regulations to which this project has contributed | 0 | 0 |
| PhDs generated by the project | 3 | 4 |
| Grantees/trainees including transnational exchange of personnel | 5 | 5 |
| Comment on European Interest |
| European dimension of the problem no particularly european dimension. The project results are global. |
| Contribution to developing S&T co-operation at international level.
European added value The groups involved are among the best in the area. Since they are diverse in nature they bring people together that would not normally communicate, and increase the awareness in the respective communities (theoreticians and practical system builders) of each other's work. |
| Contribution to policy design or implementation No particular contribution was made to EU policies. |
| Improving the quality of life in the Community: Software for interconnected systems sharing data objects makes life online easier by robust distributed storage. |
| Provision of appropriate incentives for monitoring and creating jobs in the Community (including use and development of skills): Exploitation of our P2P technologies allow new jobs to be created for engineers and possibly others. |
| Supporting sustainable development, preserving and/or enhancing the environment (including use/conservation of resources): Reducing the need to travel is good for the environment. |
| Expected project impact (to be filled in by the project coordinator) |
| EU Policy Goals | I SCALE OF EXPECTED IMPACT OVER THE NEXT 10 YEARS -1 0 1 2 3 |
|
||||||
| 1. Improved sustainable economic development and growth, competitiveness | 1 |
|
||||||
| 2. Improved employment | 0 |
|
||||||
| 3. Improved quality of life and health and safety | 0 |
|
||||||
| 4. Improved education | 0 |
|
||||||
| 5. Improved preservation and enhancement of the environment | 0 |
|
||||||
| 6. Improved scientific and technological quality | 2 |
|
||||||
| 7. Regulatory and legislative environment | 0 |
|
||||||
| 8. Other | 0 |
|
||||||
| 1. Economic development and growth, competitiveness |
|
||||
| a) Increased Turnover for project participants
- national markets |
|
||||
| b) Increased Turnover for project participants
- international markets |
|
||||
| c) Increased Productivity for project participants |
|
||||
| d) Reduced costs for project participants |
|
||||
| e) Improved output quality/high technology content |
|
||||
| 2. Employment |
|
||||
| a) Safeguarding of jobs |
|
||||
| b) Net employment growth in projects participants staff |
|
||||
| c) Net employment growth in customer and supply chains |
|
||||
| d) Net employment growth in the European economy at large |
|
||||
| 3. Quality of Life and health and safety |
|
||||
| a) Improved health care |
|
||||
| b) Improved food, nutrition |
|
||||
| c) Improved safety (incl. consumers and workers safety) |
|
||||
| d) Improved quality of life for the elderly and disabled |
|
||||
| e) Improved life expectancy |
|
||||
| f) Improved working conditions |
|
||||
| g) Improved child care |
|
||||
| h) Improved mobility of persons |
|
||||
| 4. Improved education |
|
||||
| a) Improved learning processes including lifelong learning |
|
||||
| b) Development of new university curricula |
|
||||
| 5. Preservation and enhancement of the environment |
|
||||
| a) Improved prevention of emissions |
|
||||
| b) Improved treatment of emissions |
|
||||
| c) Improved preservation of natural resources and cultural heritage |
|
||||
| d) Reduced energy consumption |
|
||||
| 6. S&T quality |
|
||||
| a) Production of new knowledge |
|
||||
| b) Safeguarding or development of expertise in a research area |
|
||||
| c) Acceleration of RTD, transfer or uptake |
|
||||
| d) Enhance skills of RTD staff |
|
||||
| e) Transfer expertise/know-how/technology |
|
||||
| f) Improved access to knowledge-based networks |
|
||||
| g) Identifying appropriate partners and expertise |
|
||||
| h) Develop international S&T co-operation |
|
||||
| i) Increased gender equality |
|
||||
| 7. Regulatory and legislative environment |
|
||||
| a) Contribution to EU policy formulation |
|
||||
| Contribution to EU policy implementation |
|
||||
| 8. Other (please specify) |
|
||||
|
|
|||||
| Description of Results |
| No. | Title |
| 1 | DKS system http://dks.sics.se |
| Name | Per Brand |
| Position | lab manager |
| Organisation | Swedish Institute of Computer Science AB |
| Address | Box 1263 164 29, Kista Sweden |
| Telephone | +46 8 633 1500 |
| Fax | +46 8 751 7230 |
| perbrand@sics.se | |
| URL | http://www.sics.se |
| Specific Result URL |
http://dks.sics.se |
| DKS is a peer-to-peer middleware developed at KTH/Royal Institute of Technology and the Swedish Institute of Computer Science (SICS). It is entirely written in JAVA. Supports scalable Internet-scale Multicast, Broadcast, Name-based Routing, and provides a simple Distributed Hash Table abstraction. – Functional properties: • Name-based Messaging • Parallel efficient broadcast • Multicast/Publish-Subscribe • Distributed Hash Table • Mapping layer (range queries and more) – Non-functional properties • Correction-on-change: Cheap and robust • Symmetric replication: load-balancing/secure • K-ary search: configurable • Local atomic action: less lookup failures • Highly modular |
| SUBJECT DESCRIPTORS CODES |
| 129 COMPUTER SCIENCE/ENGINEERING, NUMERICAL ANALYSIS, SYSTEMS, CONTROL 149 DATA PROTECTION, STORAGE TECHNOLOGY, CRYPTOGRAPHY 321 INFORMATION TECHNOLOGY/SCIENCE 342 INTERNET TECHNOLOGIES |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 22 Publishing, printing and reproduction of recorded media 32 Manufacture of radio, television and communication … 64 Post and telecommunications 73 Research and development |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | -6 | 12 |
| Number of (public or private) entities potentially involved in the implementation of the result: | 2 | 2 |
| of which: number of SMEs: | 2 | 2 |
| of which: number of entities in third countries (outside EU): | 0 | 0 |
| Targeted user audience: of reachable people | 100 | 1000 |
| S&T publications (referenced publications only) | 9 | 3 |
| publications addressing general public (e.g. CD-ROMs, WEB sites) | 3 | 2 |
| publications addressing decision takers / public authorities / etc. | 0 | 0 |
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | √ |
| LIC | Licence agreement | √ | VC | Venture capital/spin-off funding | |
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | √ | CONS | Available for consultancy | √ |
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 2 | DSS http://dss.sics.se |
| Name | Per Brand |
| Position | head of Distributed Systems laboratory |
| Organisation | Swedish Institute of Computer Science AB |
| Address | Box 1263 164 29, Kista Sweden |
| Telephone | +46 8 633 1500 |
| Fax | +46 8 751 7230 |
| perbrand@sics.se | |
| URL | http://www.sics.se/dsl |
| Specific Result URL |
http://dss.sics.se |
| The Distribution Subsystem(DSS) is a novel approach to middleware design that is a middle ground between the two common approaches of today. On the one extreme are the monolithic middleware systems, designed and implemented for one programming system/language only, with little or no reusability. On the other extreme are the language independent middlewares, designed with interoperability in mind; highly reusable, but with restrictions in expressiveness and performance. The DSS occupies the middleground betwen the two, and is intended to be coupled to any high-level programming system with the same clear interfaces as the language-independant middlewares, but providing for the same expressiveness and similar performance to the monolithic language-dependent middlewares. Extending a centralized programming system to distributiion is achieved using our novel realization of a separation of concerns between a centralized programming system and the DSS middleware component. The DSS also uses peer-to-peer techniques to enhance middleware functionality. For example, overlays improve connectivity in the presence of firewalls and NATs and make the consistency protocols that depend on coordination (e.g. distributed objects) more robust. The distribution support that the DSS offers is not restricted to the object-oriented paradigm (i.e. supports also functional and data-flow programming). The DSS also offers a wide range of consistency protocols in order to provide for the best choice for various usage patterns (and this is very application-dependent). Available for dowonload form http://dss.sics.se Documents Documentation can be found at http://dss.sics.se |
| SUBJECT DESCRIPTORS CODES |
| 129 COMPUTER SCIENCE/ENGINEERING, NUMERICAL ANALYSIS, SYSTEMS, CONTROL 150 DATABASES, DATABASE MANAGEMENT, DATA MINING 278 GRID CONNECTION 342 INTERNET TECHNOLOGIES 321 INFORMATION TECHNOLOGY/SCIENCE |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 64 Post and telecommunications 80 Education 92 Recreational, cultural and sporting activities 93 Other service activities |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | -6 | 1 |
| Number of (public or private) entities potentially involved in the implementation of the result: | 0 | 0 |
| of which: number of SMEs: | 0 | 0 |
| of which: number of entities in third countries (outside EU): | 0 | 0 |
| Targeted user audience: of reachable people | 100 | 1000 |
| S&T publications (referenced publications only) | 3 | 1 |
| publications addressing general public (e.g. CD-ROMs, WEB sites) | 1 | 0 |
| publications addressing decision takers / public authorities / etc. | 0 | 0 |
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | |
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 3 | Acute http://www.cl.cam.ac.uk/users/pes20/acute/ |
| Name | SEWELL Peter |
| Position | reader |
| Organisation | The Chancellor, Masters and Scholars of The University of Cambridge |
| Address | The Old Schools, Trinity Lane CB2 1TS, Cambridge UNITED KINGDOM |
| Telephone | +44-1223-334624 |
| Fax | +44-1223-334678 |
| Peter.Sewell@cl.cam.ac.uk | |
| URL | http://www.cl.cam.ac.uk/Research/TSG/ |
| Specific Result URL |
http://www.cl.cam.ac.uk/users/pes20/acute/ |
| Acute: high-level programming language design for distributed computation This work is exploring the design space of high-level languages for distributed computation, focussing on typing, naming, and version change. We have designed, formally specified and implemented an experimental language, Acute. This extends an OCaml core to support distributed development, deployment, and execution, allowing type-safe interaction between separately-built programs. It is expressive enough to enable a wide variety of distributed infrastructure layers to be written as simple library code above the byte-string network and persistent store primitives, disentangling the language runtime from communication. This requires a synthesis of novel and existing features: * type-safe interaction between programs, with marshal and unmarshal primitives; * dynamic loading and controlled rebinding to local resources; * modules and abstract types with abstraction boundaries that are respected by interaction; * global names, generated either freshly or based on module hashes: at the type level, as runtime names for abstract types; and at the term level, as channel names and other interaction handles; * versions and version constraints, integrated with type identity; * local concurrency and thread thunkification; and * second-order polymorphism with a namecase construct. The language design deals with the interplay among these features and the core. The semantic definition tracks abstraction boundaries, global names, and hashes throughout compilation and execution, but still admits an efficient implementation strategy. |
| SUBJECT DESCRIPTORS CODES |
| 129 COMPUTER SCIENCE/ENGINEERING, NUMERICAL ANALYSIS, SYSTEMS, CONTROL 130 COMPUTER TECHNOLOGY/GRAPHICS, META COMPUTING 221 EXPLOITATION OF RESEARCH RESULTS 375 MATHEMATICAL LOGIC: SET THEORY, COMBINATORICS/SEMANTICS |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 72 Computer and related activities 80 Education d2 Others |
| Current stage of development | Prototype/demonstrator available for testing |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | ||
| Number of (public or private) entities potentially involved in the implementation of the result: | ||
| of which: number of SMEs: | ||
| of which: number of entities in third countries (outside EU): | ||
| Targeted user audience: of reachable people | ||
| S&T publications (referenced publications only) | ||
| publications addressing general public (e.g. CD-ROMs, WEB sites) | ||
| publications addressing decision takers / public authorities / etc. | ||
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | |
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 4 | P2PS: Peer-to-peer library based on Tango algorithm |
| Name | VAN ROY Peter |
| Position | professor |
| Organisation | Universite Catholique de Louvain |
| Address | 1 Place de l'Universite 1348, Louvain-la-Neuve BELGIUM |
| Telephone | +32-10-478374 |
| Fax | +32-10-450345 |
| pvr@info.ucl.ac.be | |
| URL | |
| Specific Result URL |
| P2PS is a software library that provides basic peer-to-peer communication abilities over the Internet. Available at p2ps.info.ucl.ac.be. See deliverable D3.5.
P2PS is a part of the P2PKit toolkit, which is available at p2pkit.info.ucl.ac.be. P2PS and P2PKit run on top of the open-source Mozart Programming System, available at www.mozart-oz.org. The P2PS library provides the developer with a means for building and working with P2P overlay applications, offering various primitives and services such as group communication, efficient data location, and dealing with highly dynamic networks. P2PS implements Tango [1], an efficient algorithm for constructing structured P2P systems. The main functionality provided by P2PS can be summarized as follows: network management primitives such as create, join and leave a network, communication primitives such as one-to-one, broadcast and multicast, and monitoring primitives. With P2PS we intend to provide basic P2P primitives on top of which more specialized services will be built. For instance, dictionary functionality such as looking for the responsible of a key can be immediately implemented by using the communication primitives offered by the P2PS library. The P2PS library was made public [2], and is already being used as underlying structure for different P2P applications. We are continuing development of P2PS in the EVERGROW project and with the PLANETLAB infrastructure: adding functionality, making the software robust, and writing applications. P2PS is used for the Post-It and Community Panel applications, described in D5.3. Both the library and the toolkit are intended as future extensions of the Mozart Programming System (http://www.mozart-oz.org), to be used by people developing applications with Mozart. The work on P2PS is potentially useful for Grid technology. Although current Grid systems have solutions for problems like resource negotiation and distributed job scheduling, there is still a need for ongoing work to make the Grid systems scalable and dependable. To this end, peer-to-peer (P2P) systems such as P2PS can play a main role by implementing network infrastructures with scalability and availability properties. The P2P systems have received a paramount attention mostly due to their attractive features such as self-organization and decentralization. Providing the programmer with the “right” platform for developing decentralized became a challenge. References [1] Carton, B., Mesaros, V.: Improving the Scalability of Logarithmic-Degree DHT- based Peer-to-Peer Networks. Euro-Par (2004) [2] UC Louvain, and CETIC, Belgium: P2PS: Peer-to-Peer System Library (2003), available at p2ps.info.ucl.ac.be |
| SUBJECT DESCRIPTORS CODES |
| 189 ELECTRONIC DATA INTERCHANGE 249 FUTURE AND EMERGING TECHNOLOGIES 342 INTERNET TECHNOLOGIES 510 PROGRAMMING/INFORMATION SYSTEMS 579 SOFTWARE ENGINEERING, MIDDLEWARE, GROUPWARE |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 64 Post and telecommunications 72 Computer and related activities 73 Research and development 80 Education |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | ||
| Number of (public or private) entities potentially involved in the implementation of the result: | ||
| of which: number of SMEs: | ||
| of which: number of entities in third countries (outside EU): | ||
| Targeted user audience: of reachable people | ||
| S&T publications (referenced publications only) | ||
| publications addressing general public (e.g. CD-ROMs, WEB sites) | ||
| publications addressing decision takers / public authorities / etc. | ||
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | |
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 5 | P2PKit: Toolkit for building peer-to-peer applications |
| Name | VAN ROY Peter |
| Position | professor |
| Organisation | Universite Catholique de Louvain |
| Address | 1 Place de l'Universite 1348, Louvain-la-Neuve BELGIUM |
| Telephone | +32-10-478374 |
| Fax | +32-10-450345 |
| pvr@info.ucl.ac.be | |
| URL | |
| Specific Result URL |
| P2PKit: Toolkit for building peer-to-peer applications based on P2PS library, available at p2pkit.info.ucl.ac.be. See deliverable D3.7.
P2PKit runs on top of the open-source Mozart Programming System, available at www.mozart-oz.org. P2PKit is a toolkit for building peer-to-peer applications based on a decentralized service architecture. P2PKit provides the primitives to manage services, where a "service" is a set of component instances that collaborate to offer a given functionality. P2PKit makes it possible to install and manage services, connect clients to services, and let services use each other. P2PKit lives on top of the P2PS library, which provides a structured overlay network based on the Tango protocol, which is similar to the DKS protocol but provides improved scalability. We are continuing development of P2PS and P2PKit in the EVERGROW project and we are deploying and testing it on the PLANETLAB infrastructure. We are adding functionality, making the software robust, and writing applications. In PEPITO, P2PS is used for the Post-It and Community Panel applications, described in D5.3. Both the P2PS library and the P2PKit toolkit are intended as future extensions of the Mozart Programming System (http://www.mozart-oz.org), to be used by anyone developing applications with Mozart. |
| SUBJECT DESCRIPTORS CODES |
| 321 INFORMATION TECHNOLOGY/SCIENCE 249 FUTURE AND EMERGING TECHNOLOGIES 342 INTERNET TECHNOLOGIES 510 PROGRAMMING/INFORMATION SYSTEMS 579 SOFTWARE ENGINEERING, MIDDLEWARE, GROUPWARE |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| P2PKit service architecture documentation | Available at p2pkit.info.ucl.ac.be | Public |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 22 Publishing, printing and reproduction of recorded media 64 Post and telecommunications 72 Computer and related activities |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | ||
| Number of (public or private) entities potentially involved in the implementation of the result: | ||
| of which: number of SMEs: | ||
| of which: number of entities in third countries (outside EU): | ||
| Targeted user audience: of reachable people | ||
| S&T publications (referenced publications only) | ||
| publications addressing general public (e.g. CD-ROMs, WEB sites) | ||
| publications addressing decision takers / public authorities / etc. | ||
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | |
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 6 | P2P-MBlog |
| Name | Per Brand |
| Position | lab leader |
| Organisation | Swedish Institute of Computer Science AB |
| Address | Box 1263 164 29, Kista Sweden |
| Telephone | +46 8 633 1500 |
| Fax | +46 8 751 7230 |
| perbrand@sics.se | |
| URL | http://www.sics.se |
| Specific Result URL |
http://www.sics.se/pepito/D5.2/www/p2pmblog.html |
| One of the efforts in the Pepito project attempts to use recent advances of peer-to-peer computing, and DHTs (Distributed Hash Table) to realize sophisticated blogging and news aggregation services and create a test application for the peer-to-peer (P2P) technology. P2PmBlog allows users to easily create so-called weblogs from any Internet or mobile terminal. Weblogs (or “blogs”) are thematic information sites edited by several authors and available for reading to the mass of Internet users. |
| SUBJECT DESCRIPTORS CODES |
| 610 TELESERVICES, TELE-WORKING, TELE-PAYMENT, TELE-MEDICINE 609 TELECOMMUNICATION ENGINEERING/TECHNOLOGY 129 COMPUTER SCIENCE/ENGINEERING, NUMERICAL ANALYSIS, SYSTEMS, CONTROL 130 COMPUTER TECHNOLOGY/GRAPHICS, META COMPUTING |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 64 Post and telecommunications 72 Computer and related activities 92 Recreational, cultural and sporting activities 93 Other service activities |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | ||
| Number of (public or private) entities potentially involved in the implementation of the result: | ||
| of which: number of SMEs: | ||
| of which: number of entities in third countries (outside EU): | ||
| Targeted user audience: of reachable people | ||
| S&T publications (referenced publications only) | ||
| publications addressing general public (e.g. CD-ROMs, WEB sites) | ||
| publications addressing decision takers / public authorities / etc. | ||
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | FIN | Financial support | ||
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| No. | Title |
| 7 | TCP/UDP/Sockets API |
| Name | SEWELL Peter |
| Position | researcher |
| Organisation | The Chancellor, Masters and Scholars of The University of Cambridge |
| Address | The Old Schools, Trinity Lane CB2 1TS, Cambridge UNITED KINGDOM |
| Telephone | +44-1223-334624 |
| Fax | +44-1223-334678 |
| Peter.Sewell@cl.cam.ac.uk | |
| URL | http://www.cl.cam.ac.uk/Research/TSG/ |
| Specific Result URL |
| The low-level network model developed in the project gives a failure semantics for real-world protocols at an unprecedented level of detail and rigor. It contributes in three ways: 1) providing a clear reference for users of the Sockets API (especially authors of P2P software) and also for implementors of network stacks, describing what that failure semantics is. 2) providing a demonstration of how one can treat complex protocols (which might be either at the network level or overlays above it) rigorously, including conformance testing direct from specification. 3) providing a demonstration of how one can reason, fully formally, about executable code for higher-level overlays, as witnessed by our Isabelle/HOL verification of a simple protocol above the UDP specification, implemented in the core of the OCaml/Acute languages. *Motivation* Most peer-to-peer programs, in common with almost all distributed libraries and applications, must be programmed above the well-known /Sockets API/ interface to the ubiquitous TCP, UDP, and IP network protocols. These protocols are described by a variety of /Request for comment/ (RFC) standards, and the API is described by the POSIX standard. Unfortunately, however, these descriptions are lacking: they rely on informal prose to characterise the behaviour of systems, and hence are inevitably ambigous and incomplete. Partly as a consequence of this, the behaviour of the API and protocols /as they are actually implemented/ is extremely complex; implementations often have subtle differences and bugs, and conformance testing is very challenging. This is especially true in the (unavoidable) presence of host failure, message loss, and malicious attack injecting fraudulent messages into the system. We set out to characterise precisely what behaviour (especially, what information about failure) is visible to the application programmer above the Sockets API. To do so, it is obviously also necessary to capture the full normal-case behaviour, and for the work to be useful it should also make clear what the differences are between various deployed implementations. Such a characterisation should be useful both as a reference for developers working above the Sockets API (supplementing the existing standards and texts), as a basis for formal proof about higher-level communication libraries, as a basis for the design of failure semantics for high-level programming languages, and as a reference for implementors of protocols. More generally, the techniques we develop should be useful in the design phase of future protocols, both at the transport level and for peer-to-peer overlays. *Contribution* We present a practical technique for rigorous protocol specification that supports specification-based testing. We have applied it to TCP, UDP, and the Sockets API, developing a detailed `post-hoc' specification that accurately reflects the behaviour of several existing implementations (FreeBSD 4.6, Linux 2.4.20-8, and Windows XP SP1). The development process uncovered a number of differences between and infelicities in these implementations. Our experience shows for the first time that rigorous specification is feasible for protocols as complex as TCP\@. We argue that the technique is also applicable `pre-hoc', in the design phase of new protocols. We discuss how such a design-for-test approach should influence protocol development, leading to protocol specifications that are both unambiguous and clear, and to high-quality implementations that can be tested directly against those specifications. |
| SUBJECT DESCRIPTORS CODES |
| 129 COMPUTER SCIENCE/ENGINEERING, NUMERICAL ANALYSIS, SYSTEMS, CONTROL 131 COMPUTER-BASED TRAINING 120 COMMUNICATION ENGINEERING/TECHNOLOGY 86 BROADBAND TECHNOLOGIES |
| Documentation type | Details (Title, ref. number, general description, language) | Status: PU=Public CO=Confidential |
| Type of IPR |
KNOWLEDGE: Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
Pre-existing know-how Tick a box and give the corresponding details(reference numbers, etc) if appropriate |
|||||
| Current | Foreseen | Tick | Details | ||||
| Tick | NoP1) | NoI2) | Details | Tick | |||
| Patent applied for | |||||||
| Patent granted | |||||||
| Patent search carried out | |||||||
| Registered design | |||||||
| Trademark applications | |||||||
| Copyrights | |||||||
| Secret know-how | |||||||
| Other - please specify: | |||||||
| Market application sectors |
| 64 Post and telecommunications 73 Research and development 80 Education 93 Other service activities |
| Current stage of development | |
| Other: |
| Quantified data about the result |
| Items (about the results) | Actual current quantity | Estimated (or future) quantity |
| Time to application / market (in months from the end of the research project) | ||
| Number of (public or private) entities potentially involved in the implementation of the result: | 1 | 3 |
| of which: number of SMEs: | 0 | 0 |
| of which: number of entities in third countries (outside EU): | 0 | 0 |
| Targeted user audience: of reachable people | 100 | 1000 |
| S&T publications (referenced publications only) | ||
| publications addressing general public (e.g. CD-ROMs, WEB sites) | ||
| publications addressing decision takers / public authorities / etc. | ||
| Visibility for the general public | YES | |
| Further collaboration, dissemination and use of the result |
| R&D | Further research or development | √ | FIN | Financial support | |
| LIC | Licence agreement | VC | Venture capital/spin-off funding | ||
| MAN | Manufacturing agreement | PPP | Private-public partnership | ||
| MKT | Marketing agreement | INFO | Information exchange/training | ||
| JV | Establish a joint enterprise or partnership | CONS | Available for consultancy | ||
| Other | (please specify) | ||||
| Details: | |||||
| Exploitation plans |
| CONFIDENTIAL |
|
||||||||