1 / 15

Background

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

finn-ayala
Télécharger la présentation

Background

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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: string class = finance/exchanges/stock time date = Mar 4 11:43:37 MST 1998 string exchange = NYSE string symbol = DIS float prior = 105.25 float change = -4 float earn = 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

  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 A•B is matched for notifications Aji 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 B14 A23 A31 B42 A56 B66 A77 B88 the first match will be A23 • B66 and the second match will be A77 • B88. 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 (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.

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

  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

More Related