34
ICS 123 Internet-Scale Interoperability ICS 123 Richard N. Taylor and Eric M. Dashofy* UC Irvine http://www.isr.uci.edu/ classes/ics123s02/ * With the usual thanks to David Rosenblum

Internet-Scale Interoperability

  • Upload
    brandi

  • View
    14

  • Download
    0

Embed Size (px)

DESCRIPTION

Internet-Scale Interoperability. ICS 123 Richard N. Taylor and Eric M. Dashofy* UC Irvine http://www.isr.uci.edu/classes/ics123s02/. * With the usual thanks to David Rosenblum. Distributed Applications on the Internet. Example: An Arbitrage Application. Yen Trader in Zurich. 125.92 per $. - PowerPoint PPT Presentation

Citation preview

Page 1: Internet-Scale Interoperability

ICS 123

Internet-Scale Interoperability

ICS 123Richard N. Taylor and Eric M.

Dashofy*UC Irvine

http://www.isr.uci.edu/classes/ics123s02/

* With the usual thanks to David Rosenblum

Page 2: Internet-Scale Interoperability

ICS 123

2

Topic 15Internet-ScaleInteroperability

Distributed Applications on the Internet

A natural paradigm:Asynchronous Event-Driven Interaction

A natural paradigm:Asynchronous Event-Driven Interaction

The Internet as a platform for buildingdistributed systems

Multinational corporate workflow

Worldwide software deployment

Monitoring of global financial markets

Page 3: Internet-Scale Interoperability

ICS 123

3

Topic 15Internet-ScaleInteroperability

Example:An Arbitrage Application

Yen Trader

in Zurich

Yen Traderin London

Arbitrageur in

New York

125.92 per $

125.90 per $

Page 4: Internet-Scale Interoperability

ICS 123

4

Topic 15Internet-ScaleInteroperability

Technologies for Event-Based Interaction

Many relevant technologies for LANsTheoretical models

Communication andCollaboration Systems

Low-level eventmanagers

Tool IntegrationFrameworks

Implicit invocation

Software buses

Event-based specification,analysis, debugging

Active database systems

Software agent technology

Event-action systems

New technologies are needed thatoperate at Internet scale

New technologies are needed thatoperate at Internet scale

Page 5: Internet-Scale Interoperability

ICS 123

5

Topic 15Internet-ScaleInteroperability

Some Statistics from Network Wizards (www.nw.com)

• January 2002:– 147,344,723 hosts in DNS– 236 active level 1 domains (e.g., .edu)

» Top 10: .com (24,863,331), .net (18,853,655), .edu (6,085,137), .jp, .uk, .us, .mil, .de, .ca, .au

– 2,867,326 level 2 domains (e.g., .uci.edu)– 35,967,238 level 3 domains (e.g., .ics.uci.edu)– This probably does not include all the “hidden” hosts on the

internet (I.e. those behind firewalls or with a 10.x.x.x address)

•These numbers are– Almost 100% higher than the January 2000 numbers, which

are:» nearly 75% higher than the January 1999 numbers» more than 2 times the January 1998 numbers» about 4.5 times the January 1997 numbers

Page 6: Internet-Scale Interoperability

ICS 123

6

Topic 15Internet-ScaleInteroperability

Eight Fallacies of Distributed Computing (Peter Deutch)

•1. The network is reliable

•2. Latency is zero

•3. Bandwidth is infinite

•4. The network is secure

•5. Topology doesn't change

•6. There is one administrator

•7. Transport cost is zero

•8. The network is homogeneous

Discuss: Why were people able to make such assumptions with relatively little risk in the past?

Page 7: Internet-Scale Interoperability

ICS 123

7

Topic 15Internet-ScaleInteroperability

Attributes of Internet Scale

Huge numbers of users

Vast numbers of events

Network latency

Autonomy

Resource accounting

Security

Mobility

Page 8: Internet-Scale Interoperability

ICS 123

8

Topic 15Internet-ScaleInteroperability

Some Warning Signs That a Technology Is Not Scalable

Extrapolating the success of a LAN-basedtechnology

Objects that manage their own set of "eventlisteners"

JavaBeans

"... the server ..."

Roll-your-own frameworksCORBA Event Service

Page 9: Internet-Scale Interoperability

ICS 123

9

Topic 15Internet-ScaleInteroperability

Event Observation and Notification Terminology

invoker

object of interest

@ London

object of interest@ Zurich

Event Service

pattern ofevents

invoker

notification

120.92 per $

120.90 per $

interested party

@ New York

Page 10: Internet-Scale Interoperability

ICS 123

10

Topic 15Internet-ScaleInteroperability

Event Observation and Notification Activities

1. Making a class of events observable1. Making a class of events observable

2. Expressing interest in a pattern of events2. Expressing interest in a pattern of events

3. Occurrence of an event3. Occurrence of an event

4. Observing an event4. Observing an event

5. Relating observations with each other5. Relating observations with each other

6. Notifying an interested party6. Notifying an interested party

7. Receiving a notification7. Receiving a notification

8. Responding to a notification8. Responding to a notification

Page 11: Internet-Scale Interoperability

ICS 123

11

Topic 15Internet-ScaleInteroperability

SIENA: Scalable Internet Event Notification Architectures

Event Notification

Service

Advertise

Publish Subscribe

Service Access Points

Notifications

Page 12: Internet-Scale Interoperability

ICS 123

12

Topic 15Internet-ScaleInteroperability

Goals of SIENA

Research Project

•SIENA provides an event observation and notification service...

•Scalability– vast dimensions, scarce connectivity, heterogeneity,

openness, decentralization

•Expressiveness– flexible data modeling– accurate selection– aggregation of events

Page 13: Internet-Scale Interoperability

ICS 123

13

Topic 15Internet-ScaleInteroperability

Interface of SIENA

•SIENA:– publish(notification n)– subscribe(URI subscriber, pattern p)– unsubscribe(URI subscriber, pattern p)– advertise(URI publisher, filter p)– unadvertise(URI publisher, filter p)

• Interested party:– notify(notification n)

Page 14: Internet-Scale Interoperability

ICS 123

14

Topic 15Internet-ScaleInteroperability

Notification Model in SIENA

•A notification is a list of attributes

string class = travel/airlines/offersdate starts = Jun 99date expires = Aug 99string origin = DENstring destination = MXPstring carrier = BAfloat price = 850string currency = USD

string class = travel/airlines/offersdate starts = Jun 99date expires = Aug 99string origin = DENstring destination = MXPstring carrier = BAfloat price = 850string currency = USD

attribute=(type,name,value)

Page 15: Internet-Scale Interoperability

ICS 123

15

Topic 15Internet-ScaleInteroperability

Filters

•A filter is a list of attribute filters

string class >* travel/airlines/date starts < Jul 99date expires > Jul 99string origin = DENstring destination = MXP

string class >* travel/airlines/date starts < Jul 99date expires > Jul 99string origin = DENstring destination = MXP

attribute filter=(type,name,operator,value)

Page 16: Internet-Scale Interoperability

ICS 123

16

Topic 15Internet-ScaleInteroperability

Patterns

•A pattern is an algebraic expression whose basic elements are filters

string class >* system/files/writestring file = /etc/passwdint userid > 0

string class >* system/files/writestring file = /etc/passwdint userid > 0

string class >* system/files/writestring file = /var/adm/utmpint userid > 0

string class >* system/files/writestring file = /var/adm/utmpint userid > 0

and then

Page 17: Internet-Scale Interoperability

ICS 123

17

Topic 15Internet-ScaleInteroperability

Some Design Choices

Advertisementsnone vs. required vs. optional

Notificationstyped vs. untyped

What to Broadcastnotifications, subscriptions and/or advertisements

Pattern Languagesequences vs. REs vs. REs with negation vs. ...

Page 18: Internet-Scale Interoperability

ICS 123

18

Topic 15Internet-ScaleInteroperability

Simulation StudiesSimulation Variables

Routing Algorithms

Sites (of Service Access Points)

number, inter-site cost

Servers

site locations, topologies

Objects of Interest

number, message rates, site locations, server connections

Interested Parties

number, patterns, message rates, site locations, server connections

Event service simulated on top of generated Internettopologies

GT-ITM (Georgia Tech)

Page 19: Internet-Scale Interoperability

ICS 123

19

Topic 15Internet-ScaleInteroperability

Distributed Servers

Maintain Local State InformationKnown Advertisements

Known Subscriptions

Maintain Links with Neighboring Servers inService Topology

Which neighbors provide notifications

Which neighbors need notifications

Perform Matching of Notifications to LocalSubscriptions

Page 20: Internet-Scale Interoperability

ICS 123

20

Topic 15Internet-ScaleInteroperability

Centralized Server Architecture

ServerServer

Page 21: Internet-Scale Interoperability

ICS 123

21

Topic 15Internet-ScaleInteroperability

Hierarchical Architecture

… ……

Page 22: Internet-Scale Interoperability

ICS 123

22

Topic 15Internet-ScaleInteroperability

General Graph Architecture

Page 23: Internet-Scale Interoperability

ICS 123

23

Topic 15Internet-ScaleInteroperability

Sample Simulation Outputs

•Cost per Service: total cost of all messages involved in a single service request

•Delay per Service: time delay between departure of first message and arrival of last one for a single service request

•Cost per Site: total cost of all messages handled by a site

•Cost per Link: total cost of all messages passing through one link

Both averages and totals computed for metrics

Page 24: Internet-Scale Interoperability

ICS 123

24

Topic 15Internet-ScaleInteroperability

Hierarchical Architecture with Subscription Forwarding

All subscriptions propagate upwards

Notifications propagate only alongactively subscribed paths

Page 25: Internet-Scale Interoperability

ICS 123

25

Topic 15Internet-ScaleInteroperability

Hierarchical Architecture with Advertisement Forwarding

All advertisements propagateupwards

Subscriptions propagate upwardsonly as far as necessary

Notifications propagate only alongactively subscribed paths

Page 26: Internet-Scale Interoperability

ICS 123

26

Topic 15Internet-ScaleInteroperability

Side Topic: Delivery without Routing

•We have had large-scale information delivery without routing for ~100 years. Where? How?

Page 27: Internet-Scale Interoperability

ICS 123

27

Topic 15Internet-ScaleInteroperability

Side Topic: Delivery without Routing

•We have had large-scale information delivery without routing for ~100 years. Where? How?

Rabbit Ears

Page 28: Internet-Scale Interoperability

ICS 123

28

Topic 15Internet-ScaleInteroperability

What About Event Delivery Over Wireless Networks?

•Routing and distribution greatly simplified– No need for sophisticated routing algorithms– No need for carefully-designed server topology

•But reliability may become greatly complicated

– Simple wireless handheld devices, such as pagers– One-way communication– No guarantee of delivery– Need sophisticated broadcast algorithms

Page 29: Internet-Scale Interoperability

ICS 123

29

Topic 15Internet-ScaleInteroperability

Approximate State Synchronization

Page 30: Internet-Scale Interoperability

ICS 123

30

Topic 15Internet-ScaleInteroperability

Approximate State Synchronization

Page 31: Internet-Scale Interoperability

ICS 123

31

Topic 15Internet-ScaleInteroperability

Approximate State Synchronization

Page 32: Internet-Scale Interoperability

ICS 123

32

Topic 15Internet-ScaleInteroperability

Approximate State Synchronization

Page 33: Internet-Scale Interoperability

ICS 123

33

Topic 15Internet-ScaleInteroperability

Approximate State Synchronization

Page 34: Internet-Scale Interoperability

ICS 123

34

Topic 15Internet-ScaleInteroperability

Middleware vs.Network Infrastructure

• Wasted explicit addressing in IP

• Redundant, unused routing information in DNS

• Implicitly-addressed, content-based routing (CBR)

• Hardware routers with CBR routing tables and algorithms

Today:Siena over TCP/IP

Future:Siena alongside TCP/IP

SIENA

SIENA Client

TCP/IP

SIENA Client

TCP/IPCBR