Multicast & Publish - Subscribe used to build Event

download report

Transcript Multicast & Publish - Subscribe used to build Event

Multicast & Publish - Subscribe
used to build Event Notification
on IP
How to make the Internet work
better.
John Mathon
TIBCO Software Inc
Who is TIBCO?
Pioneer
in Middleware, providing publish/subscribe
technology since 1987
44th largest independent software company in 1995
Software Magazine “Software 100”
Market leader in industrial strength middleware for
distributed computing
Proven
in the largest deployments
The Information Bus®
Oracle
S.W.I.F.T. Informix
Java
Sybase
SAP
ActiveX
EDIFACT Ingres
CORBA
COM
Legacy
Fax,
Email,
Pager
Adapters
TIB Technologies
Infrastructure
MVS
Monitoring & Control
OS/400
NT
Windows Unix OS/2 VMS
…..
Information Bus




Subject Based - Highly Scalable
Location Transparency
Meta-Data - Model Driven - XML
Extensive Event Services - Routers,
Initial Value, Historical Services,
Entitlements, Accounting, Queuing,
Load Balancing, Message Broker,
Adapters, Application Monitoring, GUI
Building Tools
App. Integration
TP Monitor
App. Management
PUSH
Crossroads, Constella
Hitachi, BEA
CA, Tivoli
Backweb, Marimba
Message Broker
Neon, Mercator
ORB
Visigenic, Iona
Messaging
IBM, ISIS, Peerlogic
Reliable Multicast
Modulus, GlobalCast
TIBCO Enterprise Middleware
The Tower of Middleware
TIBCO’s Investment: $250M over 12 years
Installed Base: $2B worth of Integrated Middleware
Challenges
 Integration
 Scalability
 Event-Driven
 Ability to Change/
Flexibility
 Open
 Cost of Ownership
 Ease of
Implementation
6
Representative Alliances
Network
Integrators
Desktop
E-commerce Database
Hardware
TIB
IBM, PW,
Andersen
Microsoft,
VeriSign,
Pointcast,
BackWeb, CyberCash
SUN
and 11 others
Oracle,
Informix
Cisco,
3Com
Hewlett
Packard
7
Multicast Protocols




Unreliable Multicast - Available Today
Reliable Multicast (PGM) - Proposed to
IETF
SBA - Subject Based Addressing Available Today, not public domain.
Market Research/Voting - Theoretical.
Internet Group Membership Protocol
Multicast
(routers and hosts)
“Anybody Listening to Group XYZ”?
“I’m Listening to Group XYZ”
Multicast Routing Protocol
(among routers)
Forms a loop-free set of trees to
interconnect all members of a group
Dynamically adjusts trees as hosts join
and leave a group
Use “tunnels” to circumvent non-multicast
areas
Un-Reliable (Standard) Multicast








Optimistic - Needs applications which tolerate high error rates,
high latency corrections
Problematic - At least 1% error rate in the best scenarios.
Error Correction Unsystematic - Proprietary Solutions
Uncontrolled streams of Data - High-Volume unsegmented
bands of data. - Can overwhelm receiver.
Useful for Streaming Audio, Video, Radio/TV like Applications.
Difficult Addressing Content - Unclear Authority on Naming
No Security, I.e. Authentication of Publishers
No Guarantee of Order of messages
Reliable Multicast (PGM)




Good - Updates Thousands
of Subscribers in a fraction
of a second.
Good - Optimistic Algorithm Proven in Industrial
Environments.
Good - Useful for More Data
Oriented Applications
Good - Guarantee of Order
of messages from a single
publisher




Bad - Increased Latency
over Unreliable Multicast.
Bad - Uncontrolled streams
of Data - High-Volume
unsegmented bands of data.
- Can overwhelm receiver..
Bad - Difficult Addressing
Content - Unclear Authority
on Naming
Bad - No Security, I.e.
Authentication of Publishers
Subject Based Addressing





Controlling Streams of Information - You don’t have to
take the whole banana. Just have a bite!
More Efficient to User - Uses only the bandwidth
required for what the user needs.
Creates a Taxonomy of Fine Grained Information Provides a naming scheme for information that
makes it easier for the user to find information.
Better than Multicast numeric addresses. (I.e. Ala
Internic)
Implements Authentication and Security
More efficient usage of Multicast addresses.
Reliable Multicast and SBA




Proven in Mission Critical Applications
Advantageous in almost all circumstances
Best for High Bandwidth / Large User
Populations where “some” of the information
is of interest to “some” of the users. I.e. N to
N.
But is usually as good as 1 to N, or 1 to 1 or
even N to 1 implemented with Point-to-point
or pure broadcast protocols.
Cost/Benefit Tradeoffs



Where does multicast pay off vs
repetitive polling or point-to-point push?
Where does SBA pay off vs repetitive
polling?
Where does SBA/Multicast pay off vs
repetitive polling?
Server Load
Point to Point - Server Load
40
40-60
20
20-40
9
5
7
7
3
0
1
# of
Publishes
0-20
# of Receivers
Pure Broadcast - Server Load
80
60
40
60-80
40-60
20-40
20
# of
Receivers
S5

60-80
S1

60
7

80
1

Point to Point Load
Increases Geometrically with
# of Publisher Messages and
# of Receivers
Multicast load is linear with #
of changes (Publishes)
Problem - What if everybody
isn’t online at the time of the
updates?
Problem - What if everybody
isn’t interested in all the
content being broadcast?
Advantage - Big Savings for
many applications
1

0 # of
Publishes
0-20
One Message Updates Many Users, Caches,
Proxies, and Search Engines
Browser
Content
User
Cache/
Proxy
Search
Engine
User
Current



Caches periodically
query servers for
new updates.
Search Engines
periodically go out
and search and
index new
information.
Hidden Content
Missing
New Approach



Single Publish by
Content source
reaches all
concerned caches
and search engines.
Search Engines
more up to date.
More efficient for
publisher.
Flow Rates - Assume 1,000,000 sites changing on average of
once a day. Using SBA and PGM.

Search Engines
– 1,000,000 messages
a day which is about
a tenth of what a
typical trading room
sees on a slow day.

Caches, Proxies
– 1,000 pages cached,
then 1000 messages
a day. Also Trivial.

Users Caches and
Browsers.
– A few messages a
day, typically when
viewing highly active
sites with constantly
changing content.
Advantages

Search Engines

Users
– UP TO DATE CURRENT
– No More Searching the
CONTENT. WIN!
Internet - or much more
limited crawling and
 Content Providers
comparing. BIG WIN!
– Reduced Load on
– Content more up to date,
Servers from Polls from
more comprehensive.
Search Engines, Caches
BIG WIN!
and Users.
– BIG WIN!!!
 Proxies, Caches
– No polling required, but
 Developers - Much
need to process updates.
simpler to build push
applications.
One Message Queries Multiple Search
Engines
Subscribe
Publish
to all queries
and
Query
topic
Search
Engine(s)
User
Cache/
Proxy
Subscribe
to limited set of topics
Hidden/Value Added
content Search Engine(s)
Local
Search
Engine
User
Simple Market Research Protocol
(SMRP)




As Data is Broadcast, counts are kept
and returned to distributor
Anonymity. Only counts are returned.
Advertisement is sent and an accurate
count of number of impressions
delivered
Proxies/caches can extend MRP
protocol where cacheing is performed
Market Research
Delivered
Delivered
25 impressions
Content
4 impressions
Browser
Delivered
25 impressions
Delivered
20 impressions
User
Delivered
1 impressions
Search
Engine
Cache/
Proxy
User
Lessons Learned




Everything is an Event - No special
messages
Multicast and SBA are essential to
make even small systems perform.
Internet Scale requires a “noncentralised” solution, I.e. TCP routing as
an example.
Multicast and SBA really work.
Lessons Learned



Fine Tune the PGM algorithm and SBA
algorithms. See how TCP routing has
improved over the years.
Don’t just standardize the protocol but
work on data representation issues as
well.
Build assuming events are prolific and
diverse.