ICEBERG/SAHARA Brainstorming session on service composition 18 May 2001, Friday Composable services - Storage service - Web/Streaming media server - Name/lookup service (distributed indexing) - Preference filtering (user specific) - Redirection service - Format conversion services - Gateway service (protocol conversion) - Billing/accounting service Service: Find favourite song ---> translate ---> download into cell-phone for customized ring Centralizing services versus distributing them: what is the take on this from an industry stand point? Billing service: Value Added Service 1 ----+ | Value Added Service 2 ----+----> Billing system <----> User | Value Added Service 3 ----+ iMode works this way... Third party services versus implementing your own. What are the reasons for going for third party services: - business model - maintenance hassles are lesser with 3rd party services (Is there a technical argument?) Babelfish translator: example of a third party service used by a lot of different services What are the services that can be close to the edges of the network? - Location sensitive services - User interface download Think of a generic compute cycle service... Choice of service instance (when there are multiple providers) - depends on security service - circumventing things like packet filtering - administrative domain constraints Issues: centralized vs distributed Centralized: - easier to manage - economies of scale - business model argument: managed large-scale services like search-engines Distributed: - good for latency senstive apps - compute intensive services - security/trust issues - smaller scale services, light weight (codecs for example) Industry is focussed on large-scale centralized services mostly, while there is a lot of research on small-scale services. Would be interesting to know where they meet. Dynamic versus static service composition: The path could be a tree -- decided statically Which branch of the tree is chosen could be decided dynamically. For instance, a redirection service that redirects video to a user's PDA or desktop PC depending on where the user is. How many services can be there in the data-stream? - The data source - Caching - Transcoding - Redirection - Billing/Accounting - Gateway service