Composable Services Working Group Notes from DARPA meeting March 9-10, 1998 Tucson, AZ -------------------Monday afternoon session ------------------------ Issues on original (Mon afternoon) agenda [many not covered] - presentations on ideas for composition (PLAN, LIANE, Netscript) - types of composition o intra-EE o inter-EE - location of composition o inter-node o intra-node - goals/characteristics of composition methods o for evaluating "success" of composition method o for advertising characteristics of comp. method - relationship to security - priorities: near and long-term useful composition functionality - defining composition ---------------------------------------------------------------------- Scott Nettles (U. Penn) gave an overview of PLAN. ---------------------------------------------------------------------- Key points: PLAN - linear composition of protocol stacks - "wrapper model" of protocol creation (tree-structure) - entities to compose are (fairly) static - emphasis on lightweight composition (w/associated sacrifice in flexibility) - computation carried with communication Other issues: - dynamic composition - inserting value added stuff in the middle [-> must have access to understandable representation of pkt content] - how does transparent functionality (e.g., Boosters) relate to composition? ---------------------------------------------------------------------- Samrat Bhattacharjee (GT) gave an overview of LIANE. ---------------------------------------------------------------------- Inter-EE issues - composition/communication - what seems reasonable to allow? - what benefits are possible? why to do it? - what methods are there? - how can methods be evaluated? ---------------------------------------------------------------------- Note that during the discussion with the entire AN group, the decision was made to focus on intra-EE composition. The Tuesday working group discussion reflects that decision. -----------------Tuesday afternoon session --------------------------- Terminology: - components - entities put together by composition method - composite - entity that results from composition of components - composition method - mechanism for putting together components into a composite Properties of a composition method: - recursive? i.e., can a composite be a component? - structure of composition supported o layering (i.e., on-the-wire nesting of protocols) o linear composition o parallel composition Q: is a graph a sufficient description of the structure? A: no - structure of composite: static or dynamic? i.e., when does binding occur to a structure? - components: static or dynamic? i.e., when does binding of components to a structure occur? - division of functionality o packet content o node-resident content -------------------------------------------------------------------- More properties of a composition method: - how do components interact (share info)? o shared variables o message passing o procedure call/return Note that interaction may fit unicast, multicast, broadcast models - naming o what is named? o how are names known? used? o required: ability to name composite - inter-node composition o all previous properties/questions apply o note that wire format may become important here since the wire is the only mechanism for communicating between components on different nodes - non-packet-driven invocation of components o needs timers Meta properties: - amenable to network management - performance - security - impact on network and node -------------------------------------------------------------------- Errors that can result from/during composition: - component not present at node - composite not present at node - generally: node resident "facility" not present at node - resource exhaustion (not specific to composition) - packet resident content not present - security-related "errors" - e.g., not allowed to compose this way - logic errors [are these different? how? meaning?] Error handling: - local and global (e.g., error returned somewhere) - propagation of errors within composite authorized composition (security issue) ---------------------------------------------------------------- Challenge problems: - Solve the name resolution and resource discovery problem. - Develop a composition method with useful functionality that can make guarantees. - Demonstrate composition to create a multicast protocol that has CBT routing, reliability, and at-most-once semantics. - Demonstrate a known, reasonable complex, protocol using composition. ---------------------------------------------------------------- Draft document content: - terminology - goals of composition - reference examples of composite behavior - list of properties and meta-properties of composition method - examples of composition methods (with tie to properties) - other issues o errors and error handling o naming and resource discovery o node-resident content deployment o interface between security and composition - comment on inter-EE composition - challenge problems