Presentation is loading. Please wait.

Presentation is loading. Please wait.

Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge.

Similar presentations


Presentation on theme: "Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge."— Presentation transcript:

1 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

2 Concept of SIENA Networks of servers providing access points to clients Clients using these access points to Advertise information Publish multiple notifications Subscribe 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

3 API and Semantics Basic 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.

4 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.

5 API and Semantics (contd.) Notification is a set of typed attributes: stringclass= finance/exchanges/stock timedate= Mar 4 11:43:37 MST 1998 stringexchange= NYSE stringsymbol= DIS floatprior= 105.25 floatchange= -4 floatearn= 2.05 The justification for choosing this typing scheme is scalability.

6 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

7 API and Semantics (contd.) Examples of x Notification Subscription string what = alarm time date = 02:40:03 string what = alarm time date = 02:40:03 string what = alarm integer level > 3 string what = alarm integer level = 10 string what = alarm integer level > 3 integer level < 7 string what = alarm integer level = 5 string what = alarm integer level > 3 integer level < 7

8 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 AB is matched for notifications A j i and B m k, where A j i is generated at time t i and matched at time t j, and similarly for B, such that i < k and j < m. For a sequence B 1 4 A 2 3 A 3 1 B 4 2 A 5 6 B 6 6 A 7 7 B 8 8 the first match will be A 2 3 B 6 6 and the second match will be A 7 7 B 8 8. Advertisements will follow the following formula: n a    n :   a :  

9 Architectures The 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-peer Servers communicate with each other symmetrically as peers, adopting a protocol that allows a bidirectional flow of subscriptions, advertisements and notifications. general peer-to-peer Removing the constraint of acyclicity from the acyclic peer-to- peer architecture.

10 Routing strategies Two generic principles are formulated that become requirements for the routing algorithm: Downstream replication A 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 evaluation Filters are applied, and patterns are assembled up-stream, that is, as close as possible to the sources of notifications.

11 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 forwarding Where 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.

12 Algorithms and Topologies The 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 architecture Subscriptions (s) are maintained in posets (P s ), 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.

13 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 P s 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.

14 Conclusions Advantages of SIENA: Highly expressive by providing flexible pattern and filter criteria Fully 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 SIENA More complex to implement than single server approach. Not meant for small networks.

15 Thank You


Download ppt "Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge."

Similar presentations


Ads by Google