My favorites | Sign in
Project Logo
             
Search
for
Updated Aug 27, 2008 by samj+...@samj.net
Labels: Featured
HttpPipelines  
Seeking a HTTP equivalent to Unix pipelines

Introduction

A HTTP equivalent to Unix pipelines would be a significant enabler for cloud computing.

Details

A software pipeline involves the chaining of the output of one component to the input of another (and so on), allowing each component to conduct some processing on and/or modify the data traversing it. This approach has been wildly successful with Unix philosophy and the intent is to follow this example rather than try to reinvent the wheel ala WS-*.

Unix pipelines

Unix pipelines are an implementation of software pipelines which use standard streams (STDIN, STDOUT, STDERR). Additionally a return code from each component can affect program flow.

HTTP pipelines

HTTP pipelines will be very similar to their Unix counterparts, only rather than using text stream we would use HTTP streams in a RESTful fashion.

Local

Local HTTP pipelines are where one end of the pipeline terminates locally; for example if you were to run a command in an interactive session and it were to set up a pipeline with one or more URIs, retrieveing and sending the data via the client.

Remote

Remote HTTP pipelines involve remote invocation of pipelines such that the data does not have to flow via the client, which is particularly useful where the datasets are large and the connectivity between components is greater than the connectivity between components and the client (which is usually the case, for example where the client is on an ADSL service and the components are in one or more datacenters).

This is obviously somewhat more involved and will likely require some modifications and/or extensions to underlying protocols (eg HTTP).


Sign in to add a comment
Hosted by Google Code