Background

15
Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge in a WAN Maximize Expressiveness in the selection mechanism Not to sacrifice scalability in doing so The following slides present SIENA, an event notification service having both Expressiveness and Scalability. The SIENA is developed by Antonio Carzaniga, David S. Rosenblum and Alexander L. Wolf

description

Background. Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge in a WAN Maximize Expressiveness in the selection mechanism Not to sacrifice scalability in doing so - PowerPoint PPT Presentation

Transcript of Background

Page 1: Background

BackgroundNotification services in LAN Provides

Notification SelectionNotification DeliveryDone on a centralized server (hence not scalable)

Challenge in a WANMaximize Expressiveness in the selection mechanismNot to sacrifice scalability in doing so

The following slides present SIENA, an event notification service having both Expressiveness and Scalability.

The SIENA is developed by Antonio Carzaniga, David S. Rosenblum and Alexander L. Wolf

Page 2: Background

Concept of SIENANetworks of servers providing access points to clientsClients using these access points to

Advertise informationPublish multiple notificationsSubscribe to notifications of interest

Service uses access points to Notify clients by delivering notifications of interest

Thus providing many-to-many communication and integration facility

Page 3: Background

API and SemanticsBasic interfaces in SIENA are

publish (notification n)subscribe (string identity, pattern expression)unsubscribe (string identity, pattern expression)advertise (string identity, filter expression)unadvertise (string identity, filter expression)

Objects of interest publish notifications.Interested parties specifies their events of interest by subscribe.The object of interest uses advertise for the notifications they publish.

Page 4: Background

API and Semantics (contd.)

unadvertise/unsubscribe cancels the advertisement/subscription.Identity uniquely specifies the object of interest or the interested party.Pattern and filter are the criteria for selecting notifications.

Page 5: Background

API and Semantics (contd.)Notification is a set of typed attributes:

string class = finance/exchanges/stocktime date = Mar 4 11:43:37 MST 1998string exchange = NYSEstring symbol = DISfloat prior = 105.25float change = -4float earn = 2.05

The justification for choosing this typing scheme is scalability.

Page 6: Background

API and Semantics (contd.)

Filter selects event notifications by specifying a set of attributes and constraints on the values of those attributes.An attribute = (type, name, value) matches an attribute constraint = (type , name , operator , value) if and only if:

type = type Λ name = name Λ operator(value , value)

Notation: f f : n : In N and S stand for Notification and Subscription

Page 7: Background

API and Semantics (contd.)Examples of x

Notification Subscription

string what = alarmtime date = 02:40:03

string what = alarm

string what = alarmtime date = 02:40:03

string what = alarminteger level > 3

string what = alarminteger level = 10

string what = alarminteger level > 3integer level < 7

string what = alarminteger level = 5

string what = alarminteger level > 3integer level < 7

Page 8: Background

API and Semantics (contd.)Pattern is matched against one or more

notifications based on both their attribute values and on the combination they form.

A pattern is sequence of filters.A Pattern A•B is matched for notifications Aj

i and Bmk ,

where Aji is generated at time ti and matched at time tj

, and similarly for B, such that i < k and j < m.For a sequence B1

4 A23 A3

1 B42 A5

6 B66 A7

7 B88 the

first match will be A23 • B6

6 and the second match will be A7

7 • B88.

Advertisements will follow the following formula:n a n : a :

Page 9: Background

ArchitecturesThe architectures could be one of the following

three basic architectures:Hierarchical client/server

Follows a hierarchical topology where pairs of connected servers interact in an asymmetric client/server relationship. A server can have any number of incoming connections from other “client” servers, but only one outgoing connection to its own “master” server.

Acyclic peer-to-peerServers communicate with each other symmetrically as peers, adopting a protocol that allows a bidirectional flow of subscriptions, advertisements and notifications.

general peer-to-peerRemoving the constraint of acyclicity from the acyclic peer-to-peer architecture.

Page 10: Background

Routing strategiesTwo generic principles are formulated that

become requirements for the routing algorithm:

Downstream replicationA notification should be routed in one copy as far as

possible and should be replicated only downstream, that is, as close as possible to the parties that are interested in it.

Upstream evaluationFilters are applied, and patterns are assembled up-

stream, that is, as close as possible to the sources of notifications.

Page 11: Background

Routing strategies (contd.)The principles are implemented with two classes of

routing algorithm:Subscription forwarding

Where advertisements are not used, the routing paths are set by subscriptions, which are propagated throughout the network so as to form a tree that connects the subscribers to all the servers in the network. When an object publishes a notification that matches that subscription, the notification is routed toward the subscriber following the reverse path put in place by the subscription.

Advertisement forwardingWhere advertisements are used, it is safe to send a

subscription only toward those objects of interest that intend to generate notifications that are relevant to that that subscriptions. Thus, advertisements set the paths for subscriptions, which in turn set the path for notifications.

Page 12: Background

Algorithms and TopologiesThe Filters Poset

The previous requests are maintained in the event server in data structure common to different algorithms. This data structure represents a partially ordered set (poset) of filters.

Hierarchical Client/Server architectureSubscriptions (s) are maintained in posets (Ps), where each subscription has an associated set subscribers(s) containing the identities of subscribers. Each server also has a variable master. Subscriptions, notifications, advertisements, unsubscriptions and unadvertisements are compared with these posets.

Page 13: Background

Algorithms and Topologies (contd.)

Peer-to-Peer Architecture with subscription forwarding:

Each server maintains a set neighbors containing the identifiers of the peer servers to which the server is connected. The server also maintains its subscriptions in a poset Ps that is an extension of the subscription poset of a hierarchical server. It associates a set subscriber(s) with each subscription s, and it associates an additional set with s called forward(s), which contains the subset of neighbors to which s has been forwarded.

Page 14: Background

ConclusionsAdvantages of SIENA:

Highly expressive by providing flexible pattern and filter criteriaFully scalable by using multiserver approach, non rigid notification structure etc.Could be used in almost all types of network topologies.Features minimal network traffic and high efficiency.Breakdown of any server in the network has minimal effect on SIENA.Supersedes Multicast Routing Mechanism

Disadvantages of SIENAMore complex to implement than single server approach.Not meant for small networks.

Page 15: Background

Thank You