Ninja Meeting 2/15/2000 Sam Madden Messages in Paths Ninja Meeting 2/15/2000 Sam Madden
Telegraph Extensions Message (Tuple) Based Transmission Layer
Telegraph Extensions Message (Tuple) Based Transmission Layer Aggregators/Broadcasters
Telegraph Extensions Message (Tuple) Based Transmission Layer Aggregators/Broadcasters Operator Typing System Interoperability Constraints
Telegraph Extensions Message (Tuple) Based Transmission Layer Aggregators/Broadcasters Operator Typing System Interoperability Constraints Mechanisms for Performance Evaluation
Telegraph Extensions Message (Tuple) Based Transmission Layer Aggregators/Broadcasters Operator Typing System Interoperability Constraints Mechanisms for Performance Evaluation
Messages vs. Streams Streams Messages Partitioned Data Unpartitioned Data
Messages vs. Streams Streams Messages Partitioned Data Push or Pull Data Unpartitioned Data Push out data
Messages vs. Streams Streams Messages Partitioned Data Push or Pull Data Higher Overhead Unpartitioned Data Push out data
Messages vs. Streams Streams Messages Partitioned Data Push or Pull Data Higher Overhead More Complicated Programming Model Unpartitioned Data Push out data
Messages vs. Streams Streams Messages Partitioned Data Push or Pull Data Higher Overhead More Complicated Programming Model Unpartitioned Data Push out data No: Type Checking Admission Control Aggregation End-to-End Guarantees
Benefits of Messages Aggregation Improved End-To-End Guarantees Structural Type Checking (not Semantics) Admission Control Pull-based consumption Natural model for databases, Web
Architecture Messages are tuples: <Idenitifer id, int Length, Byte[] data> Identifier may encapsulate semantic information, sequence number, etc.
Architecture Messages are tuples: <Idenitifer id, int Length, Byte[] data> Identifier may encapsulate semantic information, sequence number, etc. Operators Specify Multiple Inputs {<Identifier id, Class C>, … } Incoming messages are packaged as type C via (de)serialization methods.
Architecture #2 Class C may be unstructured (e.g. String) Low overhead Structured classes allow Data verification Admission Control
Architecture #3 Operators can request tuples from an input or push tuples down an output. Generates events on predceding/following node
Architecture #3 Operators can request tuples from an input or push tuples down an output. Generates events on predceding/following node Events model implies VSpace
Architecture #3 Operators can request tuples from an input or push tuples down an output. Generates events on predceding/following node Events model implies VSpace Maybe?
On Top Of Streams Streams (not RMI) are underlying transmission protocol
On Top Of Streams Streams (not RMI) are underlying transmission protocol Some operators still “stream-based”
On Top Of Streams Streams (not RMI) are underlying transmission protocol Some operators still “stream-based” Streams provide Low-level error detection Control over threads/operator Guaranteed reasonable performance