Topologies and behavioral properties of the network - PowerPoint PPT Presentation

About This Presentation
Title:

Topologies and behavioral properties of the network

Description:

Gnutella is probably the most 'pure' decentralized system used in practice today, ... Clip2 Gnutella Reflector. FastTrack / KaZaA. Morpheus. Email. Strength and ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 33
Provided by: publicEns
Category:

less

Transcript and Presenter's Notes

Title: Topologies and behavioral properties of the network


1
Topologiesand behavioral properties of the
network
  • Yvon Kermarrec
  • Based on http//www.openp2p.com/pub/a/p2p/2001/12/
    14/topologies_one.html

2
Key player the network
  • The network plays a central role for
    communication and coordination
  • How is it structured ? How does it behave ? What
    are its impacts on the applications ?

3
Agenda
  • Topologies and structural properties of the
    network
  • Behavioral properties of the network

4
Topologies issues
  • Centralized vs. decentralized systems
  • How the nodes in the system are connected.
  • Topology can be considered at many different
    levels physical, logical, connection, or
    organizational.
  • Topology is considered in terms of the
    information flow.
  • Nodes in the graph are individual computers or
    programs,
  • links between nodes indicate that those nodes are
    sharing information regularly in the system.

5
Centralized topology (star)
  • Centralized
  • Client/server
  • Web servers
  • Databases
  • Napster search
  • Instant Messaging
  • Popular Power

6
Centralized topology
  • Centralized systems are the most familiar form of
    topology
  • Typically seen as the client/server pattern used
    by databases, web servers, and other simple
    distributed systems.
  • All function and information is centralized into
    one server with many clients connecting directly
    to the server to send and receive information.
  • SETI_at_Home is a fully centralized architecture
    with the job dispatcher as the server

7
Ring topology
8
Ring topology
  • A single centralized server cannot handle high
    client load, so a common solution is to use a
    cluster of machines arranged in a ring to act as
    a distributed server.
  • Communication between the nodes coordinates
    state-sharing, producing a group of nodes that
    provide identical function but have failover and
    load-balancing capabilities.
  • Unlike the other topologies here, ring systems
    are generally built assuming the machines are all
    nearby on the network and owned by a single
    organization.

9
Hierarchical
10
Hierarchical
  • Hierarchical systems have a long history on the
    Internet, but in practice are often overlooked as
    a distinct distributed systems topology.
  • The best-known hierarchical system on the
    Internet is the Domain Name Service, where
    authority flows from the root name-servers to the
    server for the registered name.
  • NTP, the Network Time Protocol, creates another
    hierarchical system.

11
Hierarchical
  • In NTP, there are root time servers that have
    authoritative clocks other computers synchronize
    to root time servers in a self-organizing tree.
  • NTP has over 175,000 hosts with most hosts being
    two or three links away from a root time source.
  • Usenet is another large hierarchical system,
    using a tree-like structure to copy articles
    between servers.

12
Decentralized
13
Decentralized
  • The final topology we consider here is
    decentralized systems, where all peers
    communicate symmetrically and have equal roles.
  • Gnutella is probably the most "pure"
    decentralized system used in practice today, with
    only a small centralized function to bootstrap a
    new host.
  • Many other file-sharing systems are also designed
    to be decentralized, such as Freenet or
    OceanStore.
  • Decentralized systems are not new the Internet
    routing architecture itself is largely
    decentralized, with the Border Gateway Protocol
    used to coordinate the peering links between
    various autonomous systems.

14
(No Transcript)
15
Hybrid topologies
  • Distributed systems often have a more complex
    organization than any one simple topology.
  • Real-world systems often combine several
    topologies into one system, making a hybrid
    topology.
  • Nodes typically play multiple roles in such a
    system. For example, a node might have a
    centralized interaction with one part of the
    system, while being part of a hierarchy in
    another part.

16
Central ring
17
Central ring
  • As mentioned above, serious web server
    applications often have a ring of servers for
    load balancing and failover.
  • The server system itself is a ring, but the
    system as a whole (including the clients) is a
    hybrid a centralized system where the server is
    itself a ring. The result is the simplicity of a
    centralized system (from the client's point of
    view) with the robustness of a ring.

18
Centralized centralized
19
Centralized centralized
  • The server in a centralized system is itself
    often a client of one or more other servers.
    Stacking multiple centralized systems is the core
    of n-tier application frameworks.
  • For example, when a web browser contacts a
    server, the software on that server may just be
    formatting results into HTML for presentation and
    itself calling to servers hosting business logic
    or data.
  • Web services intermediaries such as Grand Central
    Networks also create several layers of
    centralized system. Centralized systems are often
    stacked as a way to compose function.

20
Centralized decentralized
  • Clip2 Gnutella Reflector
  • FastTrack / KaZaA
  • Morpheus
  • Email

21
Strength and weakness
  • Plenty of topologies to choose from
  • What is each kind good for?
  • Need a set of properties to measure

22
Issues to be considered
  • Manageability
  • How hard is it to keep working?
  • Information coherence
  • How authoritative is info? (Auditing,
    non-repudiation)
  • Extensibility
  • How easy is it to grow?
  • Fault tolerance
  • How well can it handle failures?
  • Security
  • How hard is it to subvert?
  • Resistance to legal or political intervention
  • How hard is it to shut down? (Can be good or bad)
  • Scalability
  • How big can it grow?

23
Centralized
  • System is all in one place
  • All information is in one place
  • No one can add on to system
  • Single point of failure
  • One machine.
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable

24
Ring
  • Simple rules for relationships
  • Easy logic for state
  • Only ring owner can add
  • Fail-over to next host
  • As long as ring has one owner
  • Just add more hosts
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable

25
Hierarchical
  • Chain of authority
  • Cache consistency
  • Add more leaves, rebalance
  • Root is vulnerable
  • Too easy to spoof links
  • Hugely scalable DNS
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable

26
Decentralized
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable
  • Very difficult, many owners
  • Difficult, unreliable peers
  • Anyone can join in!
  • Redundancy
  • Difficult, open research
  • Theory yes Practice no

27
Centralized Ring
  • Just manage the ring
  • As coherent as ring
  • No more than ring
  • Ring is a huge win
  • As secure as ring
  • Ring is a huge win
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable

28
Centralized Decentralized
  • Same as decentralized
  • Better than decentralized
  • Anyone can still join!
  • Plenty of redundancy
  • Same as decentralized
  • Looking very hopeful
  • Manageable
  • Coherent
  • Extensible
  • Fault Tolerant
  • Secure
  • Scalable

29
Centralized vs. Decentralized
  • Centralized is pretty good!
  • Manageable
  • Coherent
  • Security
  • Decentralized is exciting
  • Extensible
  • Massive fault tolerance
  • Lawsuit-proof
  • Scalability is the big question

30
Conclusions
  • Importance of regularity
  • Impacts of the topology on the application code
  • To communicate with other machines routing
  • To broadcast
  • To deal with failure
  • The application and the underlying topology are
    closely related
  • The application can benefit of the topology and
    can rely on multiple logical topologies

31
Conclusions
  • Centralized is easy to deal with
  • Major architecture for distributed systems
  • Combines well with rings
  • Decentralized is good, needs research
  • Coherence, Manageability, Security
  • Scalability
  • Hierarchical is overlooked
  • Combining architectures is powerful

32
Behavioral properties of the network
  • Ideal nertwork does not
  • Loose a message
  • Duplicate message
  • Alter the message content
  • Desequence messages
  • Provide bound for communication times
  • But we have to deal with non perfect networks !
Write a Comment
User Comments (0)
About PowerShow.com