Download presentation
Presentation is loading. Please wait.
1
Storing and Accessing Live Mashup Content in the Cloud Krzysztof Ostrowski, Ken Birman Cornell University {krzys|ken}@cs.cornell.edu
2
Agenda
3
1.A new, versatile storage abstraction: Checkpointed Channel (CC) 2.A new web application architecture: A web of (hyperlinked) CCs Agenda
4
Introduction
5
Storing Content in the Cloud server in a data center client-server interactions cloud content edge
6
Storing Content in the Cloud server in a data center client-server interactions cloud content edge
7
server in a data center client-server interactions cloud Storing Content in the Cloud content edge
8
server in a data center client-server interactions cloud Storing Content in the Cloud content edge
9
server in a data center client-server interactions cloud Storing Content in the Cloud content edge
10
server in a data center client-server interactions cloud Storing Content in the Cloud content edge
11
server in a data center client-server interactions cloud Storing Content in the Cloud content edge
12
Storing Content in the Cloud content client-server interactions server in a data center update relayed through the server
13
server in a data center Storing Content in the Cloud explicit request, e.g. HTTP GET content cloud edge
14
http://liveobjects.cs.cornell.edu
15
server in a data center Storing Content at the Edge edge content replica content replica content replica peer-to-peer interactions
16
server in a data center Storing Content at the Edge edge peer-to-peer interactions content replica content replica content replica
17
server in a data center Storing Content at the Edge edge peer-to-peer interactions content replica content replica content replica
18
server in a data center Storing Content at the Edge edge peer-to-peer interactions content replica content replica content replica
19
server in a data center Storing Content at the Edge edge peer-to-peer interactions content replica content replica content replica updated
20
server in a data center Storing Content at the Edge edge peer-to-peer interactions content replica content replica content replica updated multicast
21
server in a data center Storing Content at the Edge edge content replica content replica content replica updated
22
server in a data center Storing Content at the Edge edge content replica content replica content replica replicated state machine
23
server in a data center Storing Content at the Edge edge content replica content replica content replica manage membership
24
server in a data center Storing Content at the Edge edge data control
25
server in a data center Storing Content at the Edge edge data control
26
Cloud vs. Edge? server in a data center edge peer-to-peer interactions content replica content replica content replica server in a data center client- server interactions cloud content edge
27
server in a data center Cloud vs. Edge? edge
28
server in a data center Cloud vs. Edge? edge
29
server in a data center Cloud vs. Edge? edge
30
server in a data center Cloud vs. Edge? edge no replicas left
31
Cloud vs. Edge? server in a data center client-server interactions cloud content edge flow of updates bottleneck
32
Cloud vs. Edge? server in a data center client-server interactions cloud content edge flow of updates bottleneck
33
Cloud vs. Edge? server in a data center client-server interactions cloud content edge flow of updates bottleneck
34
Cloud vs. Edge? server in a data center client-server interactions cloud content edge flow of updates bottleneck
35
Cloud vs. Edge? server in a data center client-server interactions cloud content edge flow of updates bottleneck
36
Cloud vs. Edge? Server capacity: SecondLife: ~40 clients/server Second Life and the New Generation of Virtual Worlds. S. Kumar et al. 2008. IEEE Computer, 41(9):46-53
37
Cloud vs. Edge? Server capacity: SecondLife: ~40 clients/server virtual island
38
Cloud Edge? server in a data center edge peer-to-peer interactions content replica content replica content replica server in a data center client- server interactions cloud content edge persistencescalability + and
39
Extending Cloud to the Edge server edge cloud
40
Extending Cloud to the Edge cloud server edge
41
peer-to-peer interactions client-server interactions Extending Cloud to the Edge cloud server content
42
peer-to-peer interactions client-server interactions Extending Cloud to the Edge cloud server content distributed protocol (client-server, peer-to-peer, etc.) content
43
Extending Cloud to the Edge cloud server edge
44
There are: 40+ times more PCs than servers (billions today, to double in five years) 2000+ client PCs per Google server 40,000+ times more client PCs purchased each year by home users than new servers purchased each year by Microsoft => a lot of computational power and resources at the edge that are greatly underutilized Edge is Larger than the Cloud
45
There are: 40+ times more PCs than servers (billions today, to double in five years) 2000+ client PCs per Google server 40,000+ times more client PCs purchased each year by home users than new servers purchased each year by Microsoft => a lot of computational power and resources at the edge that are greatly underutilized Edge is Larger than the Cloud
46
There are: 40+ times more PCs than servers (billions today, to double in five years) 2000+ client PCs per Google server 40,000+ times more client PCs purchased each year by home users than new servers purchased each year by Microsoft => a lot of computational power and resources at the edge that are greatly underutilized Edge is Larger than the Cloud
47
There are: 40+ times more PCs than servers (billions today, to double in five years) 2000+ client PCs per Google server 40,000+ times more client PCs purchased each year by home users than new servers purchased each year by Microsoft => a lot of computational power and resources at the edge that are greatly underutilized Edge is Larger than the Cloud
48
There are: 40+ times more PCs than servers (billions today, to double in five years) 2000+ client PCs per Google server 40,000+ times more client PCs purchased each year by home users than new servers purchased each year by Microsoft => a lot of computational power and resources at the edge that are greatly underutilized Edge is Larger than the Cloud
49
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
50
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
51
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
52
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
53
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
54
Unify different content access models: Centralized vs. replicated Centralized: web service, database Replicated: distributed P2P replication protocols Persistent vs. temporary Persistent: server in a data center Temporary: collaboration session formed ad hoc Server-side vs. client-side Shared public vs. shared private Public: web service or collaboration session Private: session state, cookies, etc. Stateful vs. stateless Stateful: variables, files, objects, database tables Stateless: video or notification streams New Storage Abstraction
55
http://liveobjects.cs.cornell.edu
56
Checkpointed Channels (CC)
57
Architecture
62
network messages
63
the edge may “cut through” the channel content physically resides outside the channel… …but it could also be cached in it
64
the edge may “cut through” the channel content physically resides outside the channel… …but it could also be cached in it
65
content physically resides outside the channel… …but it could also be cached in it the edge may “cut through” the channel
66
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
67
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
68
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
69
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
70
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
71
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
72
Dynamics (local) Checkpointed Communication Channel (CC) U C UU U initial checkpoint
73
Dynamics (local) Checkpointed Communication Channel (CC) C initial checkpointmultiple updates UUU U
74
Dynamics (local) Checkpointed Communication Channel (CC) C initial checkpointmultiple updates UUU U
75
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
76
Dynamics (local) Checkpointed Communication Channel (CC) U updates UU
77
Dynamics (local) Checkpointed Communication Channel (CC) U updates UU
78
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
79
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
80
Interfaces Checkpointed Communication Channel (CC) a writable stream of checkpoints and updates
81
Dynamics (local) Checkpointed Communication Channel (CC) request checkpoint R
82
Dynamics (local) Checkpointed Communication Channel (CC) request checkpoint R
83
Dynamics (local) Checkpointed Communication Channel (CC) C checkpoint
84
Dynamics (local) Checkpointed Communication Channel (CC) C checkpoint
85
Dynamics (global) Checkpointed Channel (CC)
86
Dynamics (global) Checkpointed Channel (CC) connect
87
Dynamics (global) Checkpointed Channel (CC) connect initialize
88
Dynamics (global) connect initialize need checkpoint
89
Dynamics (global) initialize need checkpoint R
90
Dynamics (global) request checkpoint need checkpoint
91
Dynamics (global) request checkpoint R
92
Dynamics (global) initialize request checkpoint need checkpoint R
93
Dynamics (global) request checkpoint need checkpoint provide checkpoint
94
Dynamics (global) request checkpoint provide checkpoint C
95
Dynamics (global) provide checkpoint C
96
Dynamics (global) C transfer checkpoint
97
Dynamics (global) transfer checkpoint C
98
Dynamics (global) C checkpoint transfer checkpoint
99
Dynamics (global) C checkpoint deliver checkpoint
100
Dynamics (global) deliver checkpoint C
101
Dynamics (global) consume checkpoint C deliver checkpoint
102
Dynamics (global) consume checkpoint C wants to update
103
Dynamics (global) consume checkpoint C wants to update U
104
Dynamics (global) wants to update U request update
105
Dynamics (global) update request update U
106
Dynamics (global) U propagate update
107
Dynamics (global) propagate update UUU
108
Dynamics (global) propagate update U UU U
109
Dynamics (global) U UU update U deliver update
110
Dynamics (global) U UU U deliver update
111
Dynamics (global) deliver update U UU U
112
Dynamics (global) U UU U consume update
113
Semantics UCC'C' + = earlier checkpoint or state new checkpoint or state incremental update
114
Semantics UCC'C' + = earlier checkpoint or state new checkpoint or state incremental update
115
Semantics UCC'C' + = earlier checkpoint or state new checkpoint or state incremental update
116
Semantics CkCk checkpoint multiple updates U1U1 U2U2 UnUn
117
Semantics CkCk U1U1 U2U2 UnUn
118
CkCk U1U1 U2U2 UnUn C k+1 += CkCk U1U1
119
Semantics CkCk U1U1 U2U2 UnUn C k+1 C k+2 += C k+1 U2U2
120
Semantics CkCk U1U1 U2U2 UnUn C k+1 C k+2 C k+n + = C k+n-1 UnUn
121
Semantics CkCk U1U1 U2U2 UnUn C k+1 C k+2 C k+n
122
Semantics CkCk U1U1 U2U2 UnUn C k+1 C k+2 C k+n
123
Semantics C1C1 U2U2 U3U3 U5U5 C4C4 C6C6
124
C1C1 U2U2 U3U3 U5U5 C4C4 C6C6 C2C2 C3C3 C5C5
125
C1C1 U2U2 U3U3 U5U5 C4C4 C6C6 C2C2 C3C3 C5C5
126
C1C1 U2U2 U3U3 U5U5 C4C4 C6C6 C2C2 C3C3 C5C5
127
C1C1 CnCn C2C2 C3C3 “master sequence”
128
Semantics C1C1 CnCn C2C2 C3C3 “master sequence” C1C1 U n-1 U1U1 U2U2 submitted updates
129
Semantics C1C1 CnCn C2C2 C3C3 “master sequence” C1C1 C5C5 C8C8 C9C9 C 15 every application observes a subset of the master sequence
130
Semantics C1C1 CnCn C2C2 C3C3 “master sequence” C1C1 C5C5 C8C8 C9C9 C 15 every application observes a subset of the master sequence …and nobody lags behind
131
Types Checkpointed Communication Channel (CC) can be classified based on: the type of checkpoints, the type of updates, (and many other factors we won’t dicuss)
132
Types Checkpointed Communication Channel (CC) can be classified based on: the type of checkpoints, the type of updates, (and many other factors we won’t dicuss)
133
Types C U XML documents standardized edits on XML documents XML Channel (XC)
134
Types C U XML documents standardized edits on XML documents XML Channel (XC)
135
Types C U standardized edits on XML documents XML Channel (XC) XML documents
136
Types C U XML Channel (XC) XML documents standardized edits on XML documents
137
Types Checkpointed Channel (CC) Text ChannelBinary Channel XML Channel (XC) RSS Channel XHTML Channel XAML Channel Reference Channel Collection
138
Types Checkpointed Channel (CC) Text ChannelBinary Channel XML Channel (XC) RSS Channel XHTML Channel XAML Channel Reference Channel Collection
139
Types Checkpointed Channel (CC) Text ChannelBinary Channel XML Channel (XC) RSS Channel XHTML Channel XAML Channel Reference Channel Collection
140
Types Checkpointed Channel (CC) Text ChannelBinary Channel XML Channel (XC) RSS Channel XHTML Channel XAML Channel Reference Channel Collection
141
http://liveobjects.cs.cornell.edu
142
Live Distributed Objects (LO)
143
Ordinary Web Applications displayUI components
144
Ordinary Web Applications displayUI components
145
Ordinary Web Applications displayUI components
146
Ordinary Web Applications displayUI components
147
Ordinary Web Applications displayUI components
148
Ordinary Web Applications displayUI components
149
Ordinary Web Applications side by side nested
150
Ordinary Web Applications
151
Live Objects Applications side by side nested front-end to back-end
152
Live Objects Applications side by side nested front-end to back-end data pipeline
153
Live Objects Applications side by side nested front-end to back-end data pipeline UI component
154
Live Objects Applications side by side nested front-end to back-end data pipeline UI component MPEG-2 decoder
155
Live Objects Applications side by side nested front-end to back-end data pipeline UI component MPEG-2 decoder AES decryptor
156
Live Objects Applications side by side nested front-end to back-end data pipeline UI component MPEG-2 decoder AES decryptor reliable transport
157
Live Objects Applications side by side nested front-end to back-end data pipeline UI component MPEG-2 decoder AES decryptor reliable transport unreliable transport
158
… side by side nested front-end to back-end data pipeline
159
… side by side nested front-end to back-end
160
… side by side nested front-end to back-end
161
… side by side nested front-end to back-end
162
… side by side nested front-end to back-end
163
… side by side nested front-end to back-end
164
Live Objects Applications UI component MPEG-2 decoder AES decryptor reliable multicast IP multicast recovery protocol hole-punching UDP transport TCP transport membership client web service proxy
165
Live Objects Applications UI component MPEG-2 decoder AES decryptor reliable multicast IP multicast recovery protocol hole-punching UDP transport TCP transport membership client web service proxy
166
Live Objects Applications UI component MPEG-2 decoder AES decryptor reliable multicast IP multicast recovery protocol hole-punching UDP transport TCP transport membership client web service proxy
167
Live Objects Applications UI component MPEG-2 decoder AES decryptor reliable multicast IP multicast recovery protocol hole-punching UDP transport TCP transport membership client web service proxy
168
Live Objects Applications UI component MPEG-2 decoder AES decryptor reliable multicast IP multicast recovery protocol hole-punching UDP transport TCP transport membership client web service proxy
169
Live Objects Applications data “pipeline”
170
Live Objects Applications data pipeline data pipeline
171
Live Objects Applications data pipeline data pipeline data pipeline
172
Live Objects Applications XML
173
References XML activate channel reference channel proxy
174
References XML activate channel reference channel proxy
175
References XML activate channel reference channel proxy
176
References XML channel reference channel proxy points to
177
References XML channel reference channel proxy points to channel content XML
178
References XML points to XML
179
References XML points to XML
180
References XML
181
Ordinary Web Applications side by side nested XML markup
182
Live Objects Applications XML
183
Live Objects Applications
184
space
185
Live Objects Applications space plane 1 XML
186
Live Objects Applications space plane 1 plane 2 XML
187
Live Objects Applications space plane 1 plane 2 building 1 XML
188
Live Objects Applications space plane 1 plane 2 building 1 map XML
189
Live Objects Applications tile 1 XML
190
Live Objects Applications tile 1 XML tile 2 XML
191
Live Objects Applications
192
desktop
193
Live Objects Applications desktop text 2 XML
194
Live Objects Applications desktop text 2 XML image 1 XML
195
Live Objects Applications desktop text 2 XML image 1 XML desktop 2 XML
196
Live Objects Applications desktop text 2 XML image 1 XML desktop 2 XML text 3 XML
197
Live Objects Applications desktop 1
198
Live Objects Applications desktop 1 XML desktop 2
199
Live Objects Applications desktop 1 XML desktop 2 desktop 3 XML
200
Live Objects Applications desktop 1 XML desktop 2 desktop 3 XML text 1 XML
201
Live Objects Applications desktop 1 XML desktop 2 desktop 3 XML text 1 XML
202
Conclusions
203
1.Cloud and edge technologies can work together… …but we need a new storage abstraction. 2.Checkpointed Channels (CCs) a)Support a variety of protocols: client-server, P2P, distributed replication, append log files, etc., b)Can be used at any level of the protocol stack, at the fronted and at the backend, c)Can efficiently store structured mashup content, d)Can be hyperlinked into webs of CCs; these could serve as a basis for a new Web architecture. Conclusions
204
Thanks
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.