CSCI578 Team Project - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

CSCI578 Team Project

Description:

Advertisement in Content-based Routing Protocol ... periodically when local content-based address changes. RA packet carry content-based address issuer id ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 45
Provided by: dongw1
Category:

less

Transcript and Presenter's Notes

Title: CSCI578 Team Project


1
CSCI578 Team Project
  • Using Alfa in modeling SIENA connector

2
Team Member
  • Sang-Yun, Lee (lee3_at_usc.edu)
  • Won-Hyung, Lee (wonhyungl_at_usc.edu)
  • Inhwan, Cha (icha_at_usc.edu)
  • Dongwoo, Won (dwon_at_usc.edu)

3
Motivation (1)
  • Check the scalability expressiveness of SIENA
  • Classification of Event-Based
    Infrastructure

4
Motivation (2)
  • Validation of the suitability of Alfa
  • Is it rich enough to describe the important parts
    of SIENA architecture ?
  • Is it the valid mapping ?
  • Is it better than drawing a block-diagram ?

5
Approach for Motivation
  • Study SIENA
  • Study Alfa
  • Come up with evaluation criteria
  • Compose the important aspects of SIENA using
    ViSAC
  • Analyze the result
  • Conclusion

6
SIENA
  • Scalable Internet Event Notification Architecture
  • Publish/Subscribe event-notification service
  • Advertisement of Routing Information
  • Content-based vs. Channel-based
  • Pattern Matching
  • Routing/Forwarding
  • Covering Relation

7
Alfa
  • An Assemble Language For software Architecture
  • Framework for understanding/constructing
    style-based software architectures from
    architectural primitives.
  • DATUM, PARTICLE, OUTPUT, INPUT, INTERFACE,
    TWOWAY, DUCT, RELAY, BIRELAY
  • HOLDS, RELEASES, SEND, RECEIVE, HANDLE, REPLY,
    CREATE, CONNECT, DISCONNECT
  • ViSAC

8
SIENA Connector (aspects)
  • Publish and Subscribe
  • Advertisement
  • Pattern Matching
  • Forwarding and Routing
  • Proxy in Wireless Environment
  • Server Interconnection Topology

9
Publish and Subscribe (1)
  • Follows traditional PS style
  • Clients objects of interest, interested parties
  • Use access points of clients local server to
    publish and subscribe

10
Publish and Subscribe in Alfa
11
Advertisement
  • Traditional publish/subscribe protocol extension
  • advertise object of interest inform event of
    service of notifications it might publish
  • unadvertise advertisement remain in effect
    until cancelled
  • Define source address of notifications
  • cf.subscription define destination address of
    notifications in routing tables

12
Advertisement in Content-based Routing Protocol
  • Push mechanism based on receiver
    advertisement(RA)
  • Issued by nodes periodically when local
    content-based address changes
  • RA packet carry content-based address issuer id

13
Advertisement in Content-based Routing Protocol
(2)
  • Combined broadcast and content-based protocol
  • Content-based RA ingress filtering
  • - If covers, drop. If not goto 2
  • 2. Broadcast RA propagation
  • 3. Routing table update

14
Advertisement in Alfa
15
Pattern Matching (1)
  • Two main architecture concerns in SIENA
    expressiveness vs. scalability
  • Pattern should be rich enough (expressiveness)
  • Processing Patterns should be optimize-able
    efficient-able (scalability)
  • Lets investigate SIENA is able..

16
Pattern Matching - Semantics
  • Notification, Filter, Pattern

17
Pattern Matching Semantics (2)
  • The building block is called a attribute filter
    - (Type, Name, Operation, Value)- (String,
    Software Architecture News, Contains, Alfa)
  • Notification can be - (Type, Name, Value) -
    Operation implicitly defined as "- (String,
    Software Architecture News, Alfa
    comes with visual modeling tool, now.)
  • Filter is conjunction of attribute filters, that
    is - (att-filter AND att-filter AND ..) -
    Subscription and Advertisement are basically the
    form of filter.- Consumer and Publisher need to
    be knowledge about attribute name ahead of
    time
  • Anyone wonders about Pattern ? Let me know we
    can explain.

18
Pattern Matching Semantics (3)Covering
Relationship
  • Processing of Publication match with Filter
    should be done reasonably fast. Also, limited
    space to store filters.(More on this in
    Forwarding part.)
  • Optimization Strategy Filter/Pattern can cover
    another Filter/Pattern
  • - This covering relationship is used in
    optimization of forwarding table by merging
    two filters if one covers the other.
  • Possible Problem Too much merging can cause the
    problem Inflation that is when the selection of
    pattern widen too much that it doesnt filter and
    cause the flooding of notification of the
    network. (More on this in Routing part.)

19
Pattern Matching Class Diagram of SIENA
Semantics (Implementation Level)
20
Pattern Matching aspect in Alfa (1)
Core SIENA Layer
Between SIENA low level Communication layer and
Core SIENA
Communication Mechanisms Layer
21
Pattern Matching aspect in Alfa (2)
Covering Relation used in this
Pattern Matching happening here
22
Pattern Matching aspect in Alfa (3) - Doubt
  • Semantics of SIENA will be used in all of 3
    particles. How to show this in Alfa ?? Or is this
    not important to show in the architecture level
    ??
  • We can just assume the particle has knowledge of
    SIENA Semantics internally ??
  • But, in the object oriented programming such as
    Java, the Semantics is encapsulated in Class and
    to use the instance is created to access. Should
    we show this kind of details in Alfa ??
  • One of conditions of Alfa primitives is
    Primitives should be implemental in a computer
    program. So, what approach Alfa will take in
    terms of the code generation with previous case ?

23
Pattern Matching aspect in Alfa (4) Role Playing
  • Scenario 1 We are backtracking from the
    implementation to the architecture. We found Java
    classes that are the representation of SIENA
    Semantics and these classes are used in
    everywhere. How does this map to Architecture or
    Alfa ? Does it map to many interfaces and many
    Input and Output portals corresponding to each
    function call to this Java class ? How about the
    instance of this Java class ?
  • Scenario 2 What if the Semantic of SIENA is
    changed ? For example, the structure of the
    Filter is changed ? Will our architecture (in
    terms of Alfa) be able to tell us parts of SIENA
    we should pay attention to ?

24
Filter class is dependent of 11 other classes
25
How about Notification class ?
26
Forwarding and Routing (1)
  • Subscription-based forwarding- Forwarding table
    information is built with subscriptions (filters
    from consumers)
  • Advertisement-based forwarding- Forwarding table
    information is built with advertisements (filters
    from publisher)
  • Prototype mainly deals with Subscription-based
    forwarding- Possibly one mechanism can be more
    efficient over the other depends on the type of
    value-in applications you are trying to have on
    the top of SIENA. (software administration, stock
    market analysis, network management, middleware
    technologies, business process, security
    monitors, service discovery and etc).

27
(No Transcript)
28
Forwarding and Routing in Alfa (1)
Again, SIENA Core Layer!
29
Forwarding and Routing in Alfa (2)
1) Event comes
Routing aspect
The repository style (blackboard)
Table Information is stored here (Data
component)
Selective Table
Indexed Table
30
Routing Protocol
Handles the routing events and act accordingly
31
Proxy in Wireless Environment
  • To support the movement of clients between access
    points of a distributed publish/subscribe system.
  • Dont want to lose messages/Automated Routing
    Info Change.
  • Implemented by Mobility Proxy and Mobility Proxy
    Object

32
The Mobility Service
  • When a client is connected, just receive messages
    directly.
  • (b) When a client is disconnected, Proxy will
    receive messagesinstead of that client.

33
Functionality of Mobility Service
  • Move-out function
  • You move out to somewhere and leave your baggage
    in the storage.
  • It is called right before a client is
    disconnected to store its subscription data into
    its local mobility proxy.
  • It will be implemented power management daemon or
    a network connectivity daemon level on the
    clients side.
  • Move-in function
  • You move in to somewhere and want to take back
    your baggage from the storage.
  • It is called when a client reaches its
    destination(storage) to get data to its local
    mobility proxy.

34
Move-out Function
Proxy Object
Client

Buffer
(2)
(7)
P/S System
(3)
Mobility Service Lib
(5)
(Local)Mobility Proxy
(6)
(4)
Subscription Repository
  • How it works
  • Right before a client is disconnected( See Red
    Arrows )
  • Move-out function in Mobility Service Library is
    called
  • It sends all its subscription data to its
    Mobility Proxy
  • Mobility Proxy stores subscription data from the
    client
  • Invoke a proxy object for the client.
  • The proxy object in the local Mobility Proxy
    subscribe instead of the client( Follow Blue
    Arrows)
  • P/S system will send subscribed messages to the
    Mobility Proxy.
  • All messages from P/S System will be stored into
    the mobility proxy objects buffer.
  • The client is disconnected.

35
Move-in Function
Client
.
(8)
(1)
(3)
queue
Mobility Service Lib
Remote Mobility Proxy
(2)
(6)
Move-out Proxy
.
(4)
(5)
(7)
Local Mobility Proxy
Move-in Proxy
  • Client finds its last connected Mobility Proxy to
    get its last information(messages subscription)
    used.
  • Ping the last connected Mobility Proxy with its
    last connected address information
  • Remote Mobility Proxy responds
  • Client request move-in function call
  • Newly connected Mobility Proxy(Local Mobility
    Proxy) will send a request to receive data from
    the remoteMobility Proxy
  • Messages in the remote Mobility Proxy are
    downloaded to the local Mobility Proxy
  • Client gets messages from the local Mobility
    Proxy.
  • Proxy Object in the remote Mobility Proxy is
    removed.

36
Wireless Environment in Alfa
37
Server Interconnection Topology
  • Conceptually, the service can have
  • Hierarchical Server Topology
  • Acyclic Peer-to-Peer Server Topology
  • Generic peer-to-peer server Topology

38
3 Topologies
39
Hierarchical Topology (good side)
  • Only one up-stream server and treat him specially
    (that is your master)
  • You can treat other down-stream server as clients
    (simplifies your design)
  • Simpler Forwarding/Routing Protocols can be used
    (no cycle means no duplicate packet coming back)

40
Hierarchical Topology (bad side)
  • Server shut down, (in the prototype)
  • before its shutdown, return the master address to
    its down-stream servers and clients
  • Server crashes unexpectedly or link failure
  • No mechanism (backup server)
  • Bottom line
  • Continuing research topic in Content-Based
    Networking

41
Server Topology in Alfa
Up-stream
Used instances to show the server topology
Deployed at your workstation
Down-stream
42
Conclusion
  • SIENA is evolving architecture
  • Problem with scalability
  • Alfa is suitable
  • Block diagram as analysis tool
  • Helps to refine the architecture

43
Conclusion 2
  • Alfa is not suitable
  • Kind of awkward to express procedure calls
    (invocation) with no parameter. When procedure
    calls are used to pass the execution control with
    no parameter. Input, output and duct need to be
    drawn with no actual datum transfer.
  • Many architectures in distributed computing
    carefully present the design of data component
    (such as address scheme, semantics and etc),
    components, protocol (interaction of components)
    and then topology of components. Alfa lacks in
    expressing data component and topology aspect of
    architecture.

44
Future Work
  • Source Code comparison
  • C2, Prism-MW comparison
Write a Comment
User Comments (0)
About PowerShow.com