Logically Centralized, Physically Distributed

17
Logically Centralized, Physically Distributed Mark Stuart Day Cisco Systems

description

Logically Centralized, Physically Distributed. Mark Stuart Day Cisco Systems. Standard disclaimer. No matter what I say in this talk, I’m not making any Lotus product commitments. Cisco. Outline. What people want What people can have An ancient example: Replicated mail repository - PowerPoint PPT Presentation

Transcript of Logically Centralized, Physically Distributed

Page 1: Logically Centralized,  Physically Distributed

Logically Centralized, Physically Distributed

Mark Stuart Day

Cisco Systems

Page 2: Logically Centralized,  Physically Distributed

Standard disclaimer

No matter what I say in this talk, I’m not making any Lotus product commitments.

Cisco

Page 3: Logically Centralized,  Physically Distributed

Outline

• What people want

• What people can have

• An ancient example: – Replicated mail repository

• A recent example:– Content distribution network

• Conclusions

Page 4: Logically Centralized,  Physically Distributed

What people want

• Single name/location for single logical service

• Service never goes down

• Service grows/shrinks smoothly

Page 5: Logically Centralized,  Physically Distributed

What people can have

• Single name/location for single logical service

• Service never goes down

• Service grows/shrinks smoothly

• Occasional weird errors that violate user expectations

Page 6: Logically Centralized,  Physically Distributed

Some ancient history

MIT-LCS-TR-376, Date: May 1987 REPLICATION AND RECONFIGURATION IN A DISTRIBUTED MAIL REPOSITORY Author(s): Day, M.S. Pages: 110 Price: $18.00AD Number: A186967 Keywords: data replication, software reconfiguration, availability, reliability, scalable systems, distributed programs, electronic mail repositories, programming languages

Page 7: Logically Centralized,  Physically Distributed

Mail system architecture(think of Grapevine)

Mailbox 1

Mailbox 2

Mailbox 3

Mailbox 4

Client

Directory

Page 8: Logically Centralized,  Physically Distributed

Highly available email

Mailbox 1

Mailbox 2

Mailbox 1

Mailbox 2

Mailbox 1

Mailbox 2

Client

Directory

Page 9: Logically Centralized,  Physically Distributed

How did it work?

• Systems success– Nice capability for quorum adjustment– New directory algorithm for deletions– Cool dynamic reconfiguration

• User failure– “What do you mean I can’t delete that

message?”– “Where’s that message gone?”

Page 10: Logically Centralized,  Physically Distributed

A recent example:Content distribution networks

• Akamai, Digital Island, Mirror Image, Adero, …

• $Millions in revenue

• $Billions in market capitalization

• Might be worth knowing something about

Page 11: Logically Centralized,  Physically Distributed

The bad old days (without content distribution)

ClientOriginServer

GET some/piece/o/content

Page 12: Logically Centralized,  Physically Distributed

New and improved (with content distribution)

ClientOriginServer

DeliveryNode

DeliveryNode

DeliveryNode

RequestRouter

RequestRouter

ContentRouter

ContentRouter

GETGET

Page 13: Logically Centralized,  Physically Distributed

Virtues

• Client unchanged

• Origin server mostly unchanged– Content URLs may be modified

• Add delivery nodes transparently

• Move content around transparently

Page 14: Logically Centralized,  Physically Distributed

Caveats

• Lots of detail missing– Request routing: HTTP redirection, DNS

interception, IP hijacking– Content routing: application-level multicast, IP

multicast

• Both request routing and content routing are nontrivial problems

Page 15: Logically Centralized,  Physically Distributed

Weird user-visible errors

• Routed to failed box– Content fails to appear– Depending on routing/caching, maybe no

content from that domain ever appears again for that client

Page 16: Logically Centralized,  Physically Distributed

Making weird errors into not-so-weird errors

• Deploy “next-click failover”– Delivery nodes clustered into “supernodes”

with switch– Supernode monitors failures– IP addresses of failed nodes remapped onto live

nodes

• Result is similar to common Web behavior– “What the hey?” [click] “Oh, OK.”

Page 17: Logically Centralized,  Physically Distributed

Conclusion

• People want something that’s logically centralized, physically distributed

• But they don’t want the weird errors that come with distribution

• A great thing about the Web:– People are already used to some weird errors