Requirements / Motivation / Use cases

Distribution of new version (e.g. MandrakeLinux10.2)

Sequence Diagram: Distribution_Use_Case.png.

  • Mandrakesoft releases a new version, labeled 10.2. Users want to upgrade their local version from a patched 10.1 to a 10.2.
  • We want to distribute ISOs & updated packages separately (Decision: no dissemination of the packages that haven't changed since last patch).
  • Requirements
    • Notify main-stream MandrakeLinux users of the new version
    • Provide users with a change-log file, or a complete hdlist file of the version - with relevant metadata consisting of dependency information, how to get the package and when etc.
    • Local update client (with a WP2 solution) would decide the list of packages that need to be downloaded, with/without the user's intervention
    • Enable users to download a subset (some packages are not needed by some users) of the version's packages in a collaborative, efficient way
      • On one hand - don't want too many package dissemination groups
      • On the other hand - users wouldn't like to be involved in the dissemination of packages they already have (or don't want to download for any reason)

Changes in existing version (notifications/events)

  • User has MandrakeLinux 10.1 installed, and a security patch is issued by Mandrakesoft for KDE 2.4 which is part of the distribution.
  • Requirements
    • Mandrakesoft?s peer, which is the owner/root of the relevant channel/channels, posts a notification of the patch in channels ?KDE?, ?MandrakeLinux10.1 Basic?, ?MandrakeLinux Security? etc.
    • Mandrakesoft?s peer updates the change-log or hdlist file of the relevant channels. The signature of the entire file is transmitted as part of the notification.
    • User receives the notification via the channel?s pub/sub mechanism. The notification is appended to the Change-log file or updated in the hdlist file.
    • User?s local update client checks whether this patch is relevant, and possibly waits for user?s feedback (if no auto-install mode is selected).
    • User?s local update client joins the multicast tree in which the package/packages are about to be transmitted.
    • Transmission begins at appointed time by Mandrakesoft?s peer, and is disseminated by interim peers to the entire tree.
      • In case "nervous seeding / dissemination" phase was not completed successfully, i.e. the user didn?t get the entire package, the local update client will attempt to download the missing blocks using a ?completion? phase.
    • Local update client, upon receiving the package/packages, performs a local install, after verifying package authenticity&integrity.

Late comers

  • Want to update their old distribution after being disconnected for some time
  • Requirements
    • User has version X1 dated D1.
    • User wants to get a list of past updates leading from version X1 dated D1 to current (stable) version, up-to-date. Alternatively, user wants the latest stable version's hdlist file.
    • User?s local update client will decide, upon getting the list of updates? description (or latest hdlist), which updates are required (some may already be obsolete, others are deletions etc.).
    • User?s local update client will download ("completion" phase - via P2P file sharing or persistent storage) and install the required packages.
  • There has to be a way for the user to get a list of changes (at the package and/or distribution level), if he's interested in a previous version of some/all packages.

Third party packagers/repositories

  • Support for Freshmeat.com-like publication and repository of packages
  • Support for "home-made" channels of users that want to publish their own sources, or ports for existing packages etc.
    • A mechanism to control the creation/deletion of such channels (if an Uber-channel exists, we don't want to trash it with fictitious channels
    • Assesing Trust between peers using Voting by the community etc.
      • Reliability rating (not a trojan, virus, etc.)
      • Quality rating (is it working? is it compatible for a large number of machines?)
      • Security rating (is it open for outside attacks?)
  • Methods to verify the authenticity & integrity of downloaded packages (MD5, PGP/GPG etc.)
Version 1.3 last modified by Yotam on 22/05/2005 at 19:42

Comments 0

No comments for this document

Attachments 1

Image
Distribution_Use_Case.png 1.1
PostedBy: Yotam on 22/05/2005 (57kb )

Creator: Yotam on 2005/05/22 19:41
Copyright EDOS Consortium
1.1.1