16
BITS Pilani Pilani Campus Yash Sinha, Birla Institute of Technology and Science, Pilani, India A Browser Based Distributed Framework for Content Sharing and Student Collaboration

A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS PilaniPilani Campus Yash Sinha,

Birla Institute of Technology and Science, Pilani, India

A Browser Based Distributed Framework for Content Sharing and Student Collaboration

Page 2: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS PilaniPilani Campus

Co-conspirators

Shikhar Vashishth, Dr. K Hari Babu, BITS Pilani

Page 3: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• NodeJs, Socket.io, WebRTC => Improved efficiency and

scalability

• Peer-to-peer architecture => elimination of centralized

dependency, better scalability etc.

• Why not couple the benefits?

• But there are challenges!

• Let’s try out implementing Chord protocol on Web

Browsers and tackle the challenges

Agenda

Page 4: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Lack of full-fledged threading/concurrency support in the

Javascript language

• a long-running process freezes the main window

• no provision for sleep in JavaScript

• Unpleasant user experience

• Web workers: communication based on event driven messaging,

ensuring sequential execution is a headache

Challenges

Page 5: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Chord protocol’s challenges

• Dependency on bootstrap server

• connection of new peers to the existing network

• facilitation of handshakes and network stabilization

• Not sufficiently asynchronous

• reliability on synchronous loading which hinders browser

interactivity because of availability of a single main thread

Challenges

Page 6: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Chord protocol procedures divided into subprocedures

that can be called asynchronously

• Dependency on bootstrap server reduced

• New peer can join network with the help of other peers in

network

• Network stabilization in a decentralized way

• Different connection strategies for different network

conditions

• slow STUN server vs network size

• preferring successor as Boot Peer vs any random peer

Addressing the challenges

Page 7: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

This Framework: Asynchronous Join

New Peer Boot Peer Successor

Step 1

generate signal

findSuccessor(self, signal)forward offer

forward reply

connected to successor

Step 2generate signal

findPredessor(successor, signal)

Predecessor

forward offer

forward replyconnected to predecessor

Step 3 notifyPredecessor(self)

Step 4 notifySuccessor(self)

notified

notified

LEGEND

Existing ConnectionNew Connection

Page 8: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Dependency Reduced: Join Boot Peer

Boot Peer

Handshakes with bootstrap server

Peer

Handshakes with Boot Peer

Channel Manager

Bootstrap Server

LEGEND

p: sent to peer

b: sent to bootstrap

b-register

socket.io connect()socket.io connect

p-register

b-forward-offerp-forward-offer

b-forward-replyp-forward-reply

Page 9: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Refer:

S. Vashishth, Y. Sinha and K. H. Babu, Addressing Challenges in

Browser Based P2P Content Sharing Framework Using WebRTC,

2016 IEEE 30th International Conference on Advanced Information

Networking and Applications (AINA), Crans-Montana, 2016, pp. 850-

857.

DOI: 10.1109/AINA.2016.143.

Performance Evaluation

Page 10: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Strategy One Strategy Two

WebRTC connection offer along with the peer discovery query

Discovering peer in the network without WebRTC connection offer

Offer accepted or discarded based on whetherconnection already exists

If connection is not present, send another query with offer

Efficient when network size is large:query forward time >> offer generation timeTherefore, querying the network twice becomes expensive

Efficient at times when the calling peer already hasa connection with the queried peer.Therefore, no overhead of offer generation time

Efficient in scenarios where many new connections are to be made e.g., populating finger table entries after joining network

Beneficial for periodic operations for ensuring network stability. Few new connectionsare required to be made.

Inefficient when STUN server is overloaded becauseoffer generation time >> query forward time

Partially better for the cases where peeralready has a connection (therefore independent of STUN load)

Strategies to query the network

Page 11: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Small Network (0-5 peers)• message forwarding << offer

generation time

• ST1 ≈ ST2 (equal time taken)

• As the network grows in size• message forwarding > offer

generation time

• ST1 < ST2, as ST2 sends queries twice

• At times,• If connection already exists

• ST1 > ST2, due to overheadof offer generation

Comparing Strategies

Page 12: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Periodic operations

• Since few new connections are required to be made for periodic

operations (such as for ensuring network stability),

• ST2 performs better that ST1

• Preferring successor as Boot Peer

• forming connection with random peer is not required

• join time of new peers is reduced, thus performance of network

is improved

Other performance evaluations

Page 13: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

• Deployed a total of

thirty peers on eight

Amazon EC2 micro

instances at different

location across the

globe

– At Singapore, we run the

bootstrap server.

– On each instance

multiple we run multiple

peers.

Running Globally

Page 14: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Results

Dynamic nature of the Internet (due to time required to contact STUN servers,

packet propagation time, signal generation time, other traffic in network etc.); the

trends appear to be randomised as compared to LAN

Page 15: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Thank You

Page 16: A Browser Based Distributed Framework for Content Sharing and …yashsinha.com/data/papers/vashishth2017Slides.pdf · 2019-04-10 · • Lack of full-fledged threading/concurrency

BITS Pilani, Pilani Campus

Queries?