36
Sink or Swim Ivan Gevirtz [email protected] |============| | | > | | | |============| |==============| | | > < | | |==============| Enhancing Pipe and Filter Diagrams

Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Sink or Swim

Ivan [email protected]

|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

Page 2: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Oscar?

Page 3: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Yup!

Page 4: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

1998 Scientific and Technical Award

Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept, design and engineering of the Avid Film Composer® system for motion picture editing.

http://www.imdb.com/event/ev0000003/1999http://fp.avid.com/pressroom/corp_bg.html

Page 5: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Data Streams

Page 6: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

First published: March 10, 2006 http://www.ivanism.com/Articles/SinkorSwim.html

Page 7: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Pipe and Filter

|=========|| || Filter1 || ||=========|

|=========|| || Filter2 || ||=========|

|=========|| || Filter3 || ||=========|

|=========|| || Filter4 || ||=========|

|=========|| || Filter5 || ||=========|

-----

-- /-- \ --

-- \ -- /--

Page 8: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| |> >| ||=============|

|=============|| |< || ||=============|

|=============|| |> <| ||=============|

|=============|| |> >| ||=============|

|=============|| |> >| ||=============|

|=============|| |> <| ||=============|

|=============|| |> >| ||=============|

|===|| || >| ||===|

*disclaimer: neither complete nor to scale

|===|| |< >| ||===|

|===|| |> >| ||===|

|===|| |> >| ||===|

Media & PubSub & Streaming & Data

Page 9: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| |> >| ||=============|

|=============|| |< || ||=============|

|=============|| |> <| ||=============|

Media & PubSub & Streaming & Data

|=============|| |> >| ||=============|

|=============|| |> >| ||=============|

|=============|| |> <| ||=============|

|=============|| |> >| ||=============|

|===|| || >| ||===|

*disclaimer: neither complete nor to scale

|===|| |< >| ||===|

|===|| |> >| ||===|

|===|| |> >| ||===|

Page 10: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| |< || ||=============|

|=============|| |> <| ||=============|

|=============|| |> >| ||=============|

|=============|| |> >| ||=============|

|=============|| |> >| ||=============|

|=============|| |> <| ||=============|

|=============|| |> >| ||=============|

|===|| || >| ||===|

*disclaimer: neither complete nor to scale

|===|| |< >| ||===|

|===|| |> >| ||===|

|===|| |> >| ||===|

Media & PubSub & Streaming & Data

Page 11: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

From Pipe and Filter ...

|=========|| || Filter1 || ||=========|

|=========|| || Filter2 || ||=========|

|=========|| || Filter3 || ||=========|

|=========|| || Filter4 || ||=========|

|=========|| || Filter5 || ||=========|

-----

-- /-- \ --

-- \ -- /--

… to Sink or Swim Puzzle Pieces!|=============|| || Stream >| ||=============|

|=============|| |> Pusher >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

|=============|| |> Pusher >| ||=============|

Page 12: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Streaming Media Example

|=============|| timing loop |< Drain || ||=============| Sound Card

|=============|| timing loop |< Puller <| buffer ||=============| Codec

|=============|| |> Pool <| buffer ||=============| Jitter Buffer

|=============|| || Stream >| ||=============| NIC

|=============|| |> Pusher >| ||=============|Packet Handler

|=============|| || Stream >| ||=============| Sound Card

|=============|| |> Pusher >| ||=============| Network Sender

|=============|| |> Sink || ||=============| NIC

|=============|| |> Pusher >| ||=============| Packetizer

|=============|| |> Pusher >| ||=============| Codec

Live Podcaster

Podcast Listener

Page 13: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

sink

|=============|| asynch. in |> || ||=============|

|=============|| || >| synch. out ||=============|

|=============|| |< synch. in || ||=============|

|=============|| || asynch. out <| ||=============|

Page 14: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

sink

|=============|| asynch. in |> || ||=============|

|=============|| || >| synch. out ||=============|

|=============|| |< synch. in || ||=============|

|=============|| || asynch. out <| ||=============|

Page 15: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

sink

|=============|| asynch. in |> || ||=============|

|=============|| || >| synch. out ||=============|

|=============|| |< synch. in || ||=============|

|=============|| || asynch. out <| ||=============|

Page 16: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

a sink|=============|| timing loop |< synch. in *| ||=============|

Page 17: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

a sink |=============|| |* asynch. out <| buffer ||=============|

Page 18: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

a sink|=============|| timing loop |< synch. in *| ||=============|

|=============|| |* asynch. out <| buffer ||=============|

Page 19: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

synch

|=============|| || asynch. out <| buffer ||=============|

|=============|| timing loop |< synch. in || ||=============|

|=============|| timing loop |< synch. in >| synch. out ||=============|

|=============|| asynch. in |> asynch. out <| buffer ||=============|

Page 20: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

synch

|=============|| || >| synch. out ||=============|

|=============|| asynch. in |> || ||=============|

|=============|| timing loop |< synch. in >| synch. out ||=============|

|=============|| asynch. in |> asynch. out <| buffer ||=============|

Page 21: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

synch

|=============|| || asynch. out <| buffer ||=============|

|=============|| timing loop |< synch. in || ||=============|

|=============|| timing loop |< synch. in >| synch. out ||=============|

|=============|| asynch. in |> asynch. out <| buffer ||=============|

|=============|| || >| synch. out ||=============|

|=============|| asynch. in |> || ||=============|

|=============|| timing loop |< synch. in >| synch. out ||=============|

|=============|| asynch. in |> asynch. out <| buffer ||=============|

Page 22: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Well <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| |> Pool <| buffer ||=============|

Page 23: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Well <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Puller <| buffer ||=============|

Page 24: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Well <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Puller <| buffer ||=============|

Page 25: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| || Well <| buffer ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| timing loop |< Puller <| buffer ||=============|

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

Page 26: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Driver >| ||=============|

Page 27: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Driver >| ||=============|

Page 28: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

(a)synch

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

Page 29: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

Page 30: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Formalized in Acme Studio

Page 31: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

From Pipe and Filter ...

|=========|| || Filter1 || ||=========|

|=========|| || Filter2 || ||=========|

|=========|| || Filter3 || ||=========|

|=========|| || Filter4 || ||=========|

|=========|| || Filter5 || ||=========|

-----

-- /-- \ --

-- \ -- /--

… to Sink or Swim Puzzle Pieces!|=============|| || Stream >| ||=============|

|=============|| |> Pusher >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

|=============|| |> Pusher >| ||=============|

Page 32: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| || Well <| buffer ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| timing loop |< Puller <| buffer ||=============|

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

Page 33: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Next...

● More Shapes:○ 1 to many -- Diffusers?○ many to 1 -- Combiners?○ many to many -- ???

● Input to output ratios -- think gearbox!● Blocking behavior● Timing behavior

○ eg. underruns

|=============|> |> >> ||=============|

|=============|| >> >| >|=============|

Page 34: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

|=============|| || Well <| buffer ||=============|

|=============|| |> Pool <| buffer ||=============|

|=============|| timing loop |< Drain || ||=============|

|=============|| timing loop |< Driver >| ||=============|

|=============|| timing loop |< Puller <| buffer ||=============|

|=============|| || Stream >| ||=============|

|=============|| |> Sink || ||=============|

|=============|| |> Pusher >| ||=============|

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Enhancing Pipe and Filter Diagrams

Ivan [email protected]

First published: March 10, 2006 http://www.ivanism.com/Articles/SinkorSwim.html

Page 35: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Questions?

Ivan [email protected]

Enhancing Pipe and Filter Diagrams

Page 36: Sink or Swim - Carnegie Mellon University · 1998 Scientific and Technical Award Avid received an Oscar statuette representing the 1998 Scientific and Technical Award for the concept,

Sink or Swim|============|| |> || ||============|

|==============|| |> <| ||==============|

Ivan [email protected]

Enhancing Pipe and Filter Diagrams