WP4 General Architecture Outline
1. Globat Event Notification System
- Subscription to channels (opposed to content-based pub/sub systems)
- Channel Hierarchy
- Master channel
- Information about specific channels
- Used to create/delete channels
- In every channel
- Notifications are sent via the channel to interested peers and contain metadata on package update/removal/addition, errata, anouncement of new versions etc.
- Metdata includes "pointers" to how to get the new/updated package (either by the seeding or "completion" phases)
- Anouncement of new version contains a "pointer" to the hdlist of the version, and the hdlist offers "ways" to get the different packages
- A hdlist or change-log file exists, or can be easily established by the user
- Need some mechanism for permissions (or stick to one root/leader?)
- Notifications are sent via the channel to interested peers and contain metadata on package update/removal/addition, errata, anouncement of new versions etc.
- Master channel
- A "fixed" channel VS. Content-based pub/system
- Overlay structure of the peers in a channel model is more constant, and requires less overhead to maintain
- Channel model is less flexible than the content-based model
- The channel model has simpler and more efficient implementations
2. Feeding/Seeding (Push)
- Goal - create a large number of sources, among interested peers, for a new package or group of packages, in a fast and efficient way.
- "Hope" - application-level multicast system is superior to the ad-hoc dissemination of files using traditional P2P file sharing application.
- Basic concept - Peers are organized into one or more efficient trees and get packets from other peers in a push-like fashion.
- Possible implementations:
- Splitstream
- Bullet
- Scribe
- Bayeux
3. Completion (Pull)
- Goals
- Enable users that participated in the feeding phase, but failed to get some blocks/packages to get closure
- Allow a user thas "missed" the seeding phase to download packages from fellow peers (the assumption is enough sources were created using the seeding phase)
- Allow users to get previous versions of packages & distributions (i.e. A distributed search mechanism)
- Will be implemented either by a variant of File Sharing and/or Persistent Storage (see OceanStore)
Version 1.2 last modified by Yotam on 22/05/2005 at 19:48
Document data
Attachments:
No attachments for this document
Comments: 0