Environments Content in Disconnected Browser to Share Web
Transcript of Environments Content in Disconnected Browser to Share Web
![Page 1: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/1.jpg)
Siskin: Leveraging the Browser to Share Web Content in Disconnected Environments
Sam Sudar1,2, Matt Welsh1, Richard Anderson2
1 Google, Inc2 University of Washington
1
![Page 2: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/2.jpg)
Disclaimer
2
- PhD work from Google internship- github.com/srsudar/SemCache
![Page 3: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/3.jpg)
There is a huge opportunity for the web to improve education in low-resource settings.
3
Connectivity in these schools is often poor and intermittent.
![Page 4: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/4.jpg)
4
![Page 5: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/5.jpg)
5
![Page 6: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/6.jpg)
6
![Page 7: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/7.jpg)
Offline Educational Resources
7
![Page 8: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/8.jpg)
Image Credit: Widernet8
![Page 9: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/9.jpg)
9
![Page 10: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/10.jpg)
- Can be expensive- RACHEL-Pi: $169- External USB eGranary: $2,000 + shipping- eGranary server: $3,700 + shipping
- Standalone device- Updates aren’t built into the equation- sysadmin without UI- If it breaks you need special training to fix it- Single point of failure
Not Perfect
10
![Page 11: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/11.jpg)
- Set of devices on a local WiFi network- Intermittent or slow connection to the web
Assumptions
11
- Allow users to save local copies of webpages- Discover web content from peers as a distributed cache- No sysadmin required- Build as a browser extension so there is no additional hardware
Goals
![Page 12: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/12.jpg)
Can we leverage web and browser technology to create a sysadmin-free, configuration-free, decentralized web cache to enable offline access to the web in a seamless fashion?
12
Research Question
![Page 13: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/13.jpg)
- No standalone device- One-click install model- Updates automatically (when available)- No configuration- No sysadmin- Built for existing infrastructure- Decentralized
13
Browser-based approach
![Page 14: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/14.jpg)
Normal Web Model
14
![Page 15: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/15.jpg)
Conventional OER Solutions
15
![Page 16: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/16.jpg)
Siskin
16
![Page 17: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/17.jpg)
Siskin with Connectivity
17
![Page 18: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/18.jpg)
Siskin without Connectivity
18
![Page 19: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/19.jpg)
- Save pages- Peer discovery- Distributed cache directory- Pull data from a peer
Making Siskin Work
19
![Page 20: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/20.jpg)
- Save pages- Peer discovery- Distributed cache directory- Pull data from a peer
Making Siskin Work
20
![Page 21: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/21.jpg)
- MHTML- Page as single file- Good, not perfect
Saving Pages
21
![Page 22: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/22.jpg)
- Save pages- Peer discovery- Distributed cache directory- Pull data from a peer
Making Siskin Work
22
![Page 23: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/23.jpg)
Naively, how do we find peers?
23
![Page 24: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/24.jpg)
Multicast DNS- Network-local DNSDNS-Based Service Discovery- Use DNS as a database
Zero-conf: ‘it just works’
24
![Page 25: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/25.jpg)
Review: Regular IP
172.28.7.80
172.28.7.80 Goes to one device172.28.7.80
25
![Page 26: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/26.jpg)
Review: Multicast IP
224.0.0.*
224.0.0.*
224.0.0.* Goes to all devices26
![Page 27: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/27.jpg)
Review: DNS
A? www.google.com
A 216.58.216.164
Response comes from remote server
27
![Page 28: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/28.jpg)
Multicast DNS (mDNS)
A? www.google.com
A 216.58.216.164
224.0.0.251:5353
Response comes from device on local network
28
![Page 29: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/29.jpg)
DNS-Based Service Discovery (DNS-SD)
Tyrion
172.28.7.90:8888
29
![Page 30: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/30.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
PTR?
172.28.7.90:8888
30
![Page 31: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/31.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
PTR
PTRPTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
172.28.7.90:8888
31
![Page 32: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/32.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
SRV?Tyrion.siskin.tcp
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
172.28.7.90:8888
32
![Page 33: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/33.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
SRVtyrion.local 8888
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
172.28.7.90:8888
33
![Page 34: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/34.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
172.28.7.90:8888
34
![Page 35: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/35.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
A?tyrion.local
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
172.28.7.90:8888
35
![Page 36: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/36.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
A172.28.7.90
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
A 172.28.7.90
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
172.28.7.90:8888
36
![Page 37: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/37.jpg)
DNS-Based Service Discovery (DNS-SD)
Jon
Arya
Tyrion
A172.28.7.90
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
A 172.28.7.90
PTR Arya.siskin.tcp
PTR Tyrion.siskin.tcp
SRV tyrion.local 8888
172.28.7.90:8888
37
![Page 38: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/38.jpg)
- Save pages- Peer discovery- Distributed cache directory- Pull data from a peer
Making Siskin Work
38
![Page 39: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/39.jpg)
Siskin without Connectivity
39
![Page 40: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/40.jpg)
List Content Annotate Links
40
![Page 41: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/41.jpg)
List Content
41
![Page 42: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/42.jpg)
List Content
khanacademy.org/math1nytimes.com/story1
wikipedia.org/Cat
42
![Page 43: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/43.jpg)
Annotate Links: naively
khanacademy.org/math1nytimes.com/story1
wikipedia.org/Catkhanacademy.org/math1nytimes.com/story1wikipedia.org/Cat…………… 43
![Page 44: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/44.jpg)
1000 pages * 51 characters = 51 kB10 peers * (51 * 9) = 4.59 MB40 peers * (51 * 39) = 79.59 MB
Hard on bandwidth
44
![Page 45: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/45.jpg)
Bloom Filter
45https://en.wikipedia.org/wiki/Bloom_filter
- Is this page available?- Oh, probably. 99.9%
- Is this page available?- Definitely not.
![Page 46: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/46.jpg)
0 1 1 0 0 1 0
0 1 1 0 0 1 0
1 0 0 1 1 0 0
Bloom Filter
1 0 0 1 1 0 046
![Page 47: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/47.jpg)
1,000 pages, 0.001 FP = 1.8 kB10 peers * (1.8 * 9) = 162 kB40 peers * (1.8 * 39) = 2.8 MB
Better on bandwidth
80 MB to 3 MB with 40 peers47
![Page 48: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/48.jpg)
- Save pages- Peer discovery- Distributed cache directory- Pull data from a peer
Making Siskin Work
48
![Page 49: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/49.jpg)
Conventional browser-based file sharing
49
![Page 50: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/50.jpg)
WebRTC
50
![Page 51: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/51.jpg)
WebRTC
51
![Page 52: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/52.jpg)
WebRTC
172.28.7.90:8888WebRTC?
WebRTC.
52
![Page 53: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/53.jpg)
Transfer Speed
53
![Page 54: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/54.jpg)
What did we learn?
- Browser as infrastructure- One-click installation- Distributed cache
- Augment the natural browsing experience- Browse naturally, stay local when possible
- Static snapshots are imperfect- Place for improvement- Progressive Web Apps potential way forward
54
![Page 55: Environments Content in Disconnected Browser to Share Web](https://reader031.fdocuments.us/reader031/viewer/2022022217/6214254629a19e570e46c176/html5/thumbnails/55.jpg)
Thank you!Questions?
github.com/srsudar/SemCache
55