copyright © 1998 sun microsystems, inc. sml 98-0518 1 the java ™ reliable multicast ™ service...
TRANSCRIPT
1Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
The Java™ Reliable Multicast™ Service
Phil Rosenzweig
Boston Center for Networking
Sun Microsystems Laboratories
http://www.sunlabs.com/
2Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Outline
• Multicast Technology
• Push and HTTP
• Multicast vs. HTTP for Information Distribution
• Reliable Multicast Applications and Requirements
• JRM Service Overview
• JRM Service Architecture
• Tree-base Reliable Multicast Protocol (TRAM)– Automatic Tree Formation
– Congestion Detection and Flow Control
• Project Status
• Future Directions
• Questions & Answers
3Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
SCALABILITY is the number one problem in networking…
Everything else is secondary
4Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
What is Multicast?
One Copy of Entire Data
StreamPer User
ClientClientClientClient
ClientClientClientClient
ClientClientClientClient
DataDataServerServerDataData
ServerServer
Customized Data Stream Shared
By All Usersin a Group
ClientClientClientClient
ClientClientClientClient
ClientClientClientClient
DataDataServerServerDataData
ServerServer
Unicast Multicast
6Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
NetworkLoad
Receivers
One-to-One(TCP, HTTP)
One-to-Many(Multicast, Broadcast)
Multicast Scales Better Than Unicast
7Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Multicast is a Key Enabling Technology
• Provides a solution to bandwidth crisis, timely delivery and latency control
• Bandwidth– enabling audio/video broadcasting, multipoint collaborative applications
(shared whiteboard, virtual classroom), multicast file transfer (software distribution)
• Timely delivery– news updates, stock tickers, event notification
• Latency– make database coherency work
– remove serialization of multiple database updates
• Most applications require reliable delivery in order to be feasible
8Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Current State of Multicast
• Most routers, switches, NICs and TCP/IP stacks support multicast– Product issues remain: pruning (routers), filtering (switches), addressing
(NICs), IGMP (TCP/IP stacks)
• MBONE operational on the Internet– See http://www.lbl.gov/WWW-Info/MBONE.html
• Significant work in IETF on standardization– IP Multicast (RFC 1112), IGMP, DVMRP, PIM, ...
• Reliable multicast is a research topic in the IRTF– Reliable Multicast Research Group (RM) started in March, 1997
– Many protocols proposed and under development• SRM (LBL), RMTP (Bell Labs), TMTP (UKentucky), RMP (Nasa), Starburst,
LRMP (Inria), TRAM (Sun Labs)
– Hard problems: Congestion control, address allocation, …
9Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
“Push” Technology
• Push technology category created by Pointcast, Marimba, others– Gives the illusion of automatic delivery of content to the desktop
• “Push” applications are really based on client “pull” technology or polling– Clients configured for what content to pull (minimal server side control)
– Clients periodically initiate interaction with server to check for updates
• Big problem! These systems are built over...– HTTP infrastructure of the web
– Unicast connections (point to point)
• Networks are clogged with automated update traffic
• Real push requires the ability to multicast updated content to many recipients
• Publish/subscribe (event driven updates) can also benefit from multicast
10Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Top 10 Web Sites (bytes)
Source: Optimal Networks Corp Sixth Int’l WWW Conference
11Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Internet
Pointcast
Server
Content from providers
Application
Pointcast Data Center
Corporate intranet
ISP
ISP
ISP
ISP
Desktop
Subscriber
Desktop
Subscriber
Clients Pull From ServerHTTP end to end
Desktop
Subscriber
Desktop
Subscriber
Desktop
Subscriber Desktop
Subscriber
Desktop
Subscriber
intranet
12Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Pointcast with I-Server
Server
Application
Pointcast Data Center
Corporate intranet
ISP
ISP
Desktop
Subscriber
I-Server Pulls from Data Center Clients Pull From I-ServerHTTP end to end
Desktop
Subscriber
Desktop
Subscriber Desktop
Subscriber
Desktop
Subscriber
I-ServerContent from providers
intranet
Internet
13Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Pointcast with Caching Manager and Multicast
Server
Application
Pointcast Data Center
Corporate intranetintranet
Internet
ISP
ISP
Desktop
Subscriber
Desktop
Subscriber
Desktop
Subscriber Desktop
Subscriber
Desktop
Subscriber
CachingManager
Caching Mgr pulls from Data CenterData pushed to clients from I-ServerAdministrative control at I-Server
Content from providers
HTTP
Multicast
14Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Reliable Multicast Application TypesApplicationTypes andExamples
# Streams StartTime
Real Time Consistency Ordering Reliability
Bulk DataUsenet 1 Synch No File Level No Yes
Mail list 1 Synch No File Level No YesWeb Cache
Preload1 Synch No File Level No Yes
Live DataStock Prices 1 No Yes synchronized Yes YesNews Feed 1 No ? ? No desired
EventLogging
1 No No Yes ? No
ResilientStreams
StreamedMultimedia
1 No/Yes Yes No No Semi
Shared DataWhiteboard Many Many Yes Eventual No Yes
Editor Many Many Yes Eventual No YesConference
ControlMany Many Yes Yes ? Yes
HybridDistributedInteractiveSimulation(shared VR)
All All All All All All
Source: presentation by Mark Handley at the April 1997 meeting of the IRTF RMRG.
15Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Server
NetworkWS
Mobileclient
PC
Mobileclient
Mobileclient
Thinclient
Thinclient
Sender
Thousands of Receivers
AppSW
Calendar
CorpData
ReutersCNN
SOURCES
RELIABLE DELIVERY
Example: News and Events Distribution
16Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
JRM Service - A Platform for Multicast Apps
• Enables building applications that multicast data from “senders” to “receivers” over “channels” with distributed control over content mix
• Organized as a set of libraries and services for building multicast applications
• Functional components:– A common API which supports multiple concurrent reliable multicast
transport protocols, selectable by applications depending on needs
– Tree-based Reliable Multicast Protocol designed for reliable multicast to very large numbers of receivers
– Services for multicast address allocation and channel management
– Dynamic filtering - Java software pushed into the network to implement policies and data customization downstream at the receiver which are configured at the server
17Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Receivers Join
Userdata
Data & Policy
JRM Service Data Flow Model
• Sender advertises channels, receivers join• Sender sends data over channels to receivers• Data dynamically filtered by Java software downstream• Reliable multicast transport provides timely delivery using low bandwidth
Channel Advertisements
UnreliableMulticast
LAN/WAN
Data
Sender
Receivers (many)
Sending application with JRM Service libraries (reliable multicast)
Receiving application with JRM Service libraries (reliable multicast)
Reliable Multicast
18Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Application
Channel Management
Transport Address Allocation
JRM Service Systems
• Transport system transports data over multicast
• Address allocation system manages multicast address allocation
• Channel management system manages channels. This includes:– creating, configuring, and destroying channels
– advertising or distributing channel information to receivers and others
– encrypting channel data and authenticating senders, receivers, etc.
– applying and distributing dynamic filters
– multiplexing several channels on a single multicast address
19Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
JRM Service Architecture
Application
Channel Management System
Multicast Address Manager
Tree-based
ReliableMulticastProtocol(TRAM)
Other Multicast Transport Protocols
Static Administratively
Scoped Allocator (SASA)
Session Announcement
Protocol Allocator (SAPA)
Multicast Transport API (MTAPI) Multicast Address Management SPI (MAMSPI)
Multicast Address Management API (MAMAPI)
Channel Management API (CMAPI)
Unreliable Multicast
SAP Support
SAP API
SecurityS
ecu
rity
AP
I
Authentication
Encryption
Server
20Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Basic TRAM Model
Sender, Group Head
Receiver, Group Head
Receiver, Group Member
Groups
Data Cache
Multicast Data Message
Unicast Ack Message
Multicast Local Repair (Retransmission)
21Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Automatic Tree Formation
• Build a tree from the sender which includes all of the receivers in the session– Each receiver is associated with a repair head
– Be able to add new receivers to the tree at any time
– Recover from head failure through re-affiliation
– Operate on networks which may or may not support bi-directional multicast
• What is a suitable repair head? – shortest TTL distance
– eagerness to be head
– number of members (large vs. small)
– head experience
– repair data availability
22Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Repair Tree Construction - Unidirectional
1. Beacon sent with session TTL– Triggers heads to advertise
2. Heads advertise with expanding ring search (ERS)
3. Receivers pick “best” head– Smallest TTL
– Eager > reluctant
– Highest group member count
• Advantages– works for one-way multicast nets
• Disadvantages– Head advertisement bandwidth
– Head advertisements never stop
Sender
Head Head
Receiver
(1) Beacon
(2) HeadAdvertisements
(3) HeadBind
(4)AcceptMember
23Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Repair Tree Construction - Bi-directional
1. Beacon send with session TTL– Triggers receivers to solicit heads
2. Receivers solicit with ERS
3. Heads advertise
4. Receivers pick “best “ head
• Advantages– Member solicitation avoids
continuous advertisement
– Member solicitation provides local isolation
• Disadvantages– Member solicitation bandwidth
issue when many receivers affiliating simultaneously in LAN environment
Sender
Head Head
Receiver
(1) Beacon
(3) HeadAdvertisements
(4) HeadBind
(5)AcceptMember (2) MemberSolicitation
24Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Optimizations
• Combine unidirectional and bi-directional techniques– Unidirectional prior to start of data transmission
– Bi-directional following start of data
• Ongoing tree optimization– An optimal tree
• minimizes TTL of repairs - every member in a group is affiliated to the closest repair head
• promotes scalability - multiple repair groups that have few overlapping repair regions
– Likely that the initial tree constructed in TRAM is sub-optimal
– Every member and repair head continuously optimizes• A member hears from a better repair head
• Redundant repair heads (LAN)
• Unicast repairs
• Reducing the number of repair heads.
• Apply LAN-based tree formation algorithm
25Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
LAN-Based Tree Formation
• Bottom-up approach: build a subtree on the LAN before affiliating it with the rest of the tree
• Previous techniques not optimal for LANs:– Most of the LAN members will affiliate with repair heads that are not on
the LAN, resulting in increased TRAM traffic on the link.
– All LAN members that are potential repair heads will start advertising for members, causing increased traffic on the LAN.
• One repair head on the LAN, suppresses advertisements, reduces LAN to one logical member
• Elect a LAN head using bi-directional method and TTL 1
• Members on LAN naturally attach to LAN head
• LAN head attaches off the LAN
• Elect additional LAN heads from those already affiliated
• Small change to packets and algorithms
26Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Congestion Detection and Flow Control
• Receivers (including heads) detect congestion
• Use repair tree to aggregate and propagate feedback to sender– Repair heads filter out duplicate congestion reports
– Sender filters out duplicate and old congestion reports
• Rate-based flow control
• Adaptive increase/decrease
• Adaptive adjustment cycle (to deal with feedback delay)
• Other optimizations– Staggering ACKs
– Rate monitoring at sender
– Limiting number of unACKed packets outstanding
– Duplicate retransmission suppression
– Pause sender to allow retransmissions at heads
27Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Repair Tree and Feedback
• Use a window to implement selective ACKs
• Each receiver sends an ACK for each window to its parent
• ACK may contain a mask of lost packets
• ACK may also contain congestion indication
• Each receiver tries to send ACKs at a different point in ACK window
28Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Detecting Congestion
• If a receiver sees an increase in the number of missing packets from last window to current window
• If a repair head’s cache grows to high-water-mark
• If a repair head gets an ACK that contains congestion report (not previously sent)
29Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Rate Based Flow Control
• Sender uses a token bucket to send packets at a given rate
• Increases/decreases rate based on congestion signal
• Maintains rate within pre-configured maximum and minimum
• Receivers that cannot deal with the minimum rate get “pruned”
30Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Adaptive Increase and Decrease
• Upon congestion, sender reduces rate by 50%, as recommended
• How much should the increase be? – Use “slow start” initially
• initial rate = 10% maximum
• increment = 10% maximum
• A constant amount is always wrong for some network
• Some bad ideas:– adapt using most recent peak rate
– adapt using moving average rate
– lead to diminishing increases, oscillation, inability to achieve optimal rate
• Following a decrease, recalculate increase amountincrement = ( historical peak rate - current rate ) / 4
31Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Project Status
• Project start - 3/97
• 6 internal software releases completed
• Pilot applications built so far– File transfer
– Stock ticker
– Chat (multi-sender)
• 2 technical reports published– http://www.sunlabs.com/technical-reports/1998/1998.html
32Copyright © 1998 Sun Microsystems, Inc.
SML 98-0518
Future Directions
• Adaptive congestion control
• Repair tree optimization– Linkage to physical topology (router assist)
• Security in a multicast environment– Key distribution and management for authentication and encryption
– New IRTF research group forming
• Multicast address allocation– Coordination across organizational boundaries
– IETF malloc working group
• Performance