Greetings,

While discussing server configuration with Tom, the topic of mirrors and 
how they might work came up.

I know Krister has been working on the mirroring support and it is 
coming along quite nicely.

However, there are a few things that I don't think have been accounted 
for yet in our future directions:

1) Automatic mirror population from authority origin

Since mirrors are per-authority, it makes sense for the origin of the 
authority to provide a pre-defined list of mirrors for the client to use 
that can be refreshed any time a "pkg refresh" or catalog refresh occurs.

Of course, this also means that the user needs a way to disable and 
enable mirrors or to even possibly select a preferred mirror (I can 
already hear the groaning).

2) Automatic mirror discovery -- assuming #1 is implemented, it would be 
great to have functionality in the depot server, where in mirror mode, 
the origin server could be "pinged" and told that a new mirror is 
available and be automatically added to the pre-defined list of mirrors 
that it provides.

I'm already aware of the possible trust concerns and I think there are a 
few things that can be done:

* Add a setting on the mirror to control whether it attempts to ping its 
origin (on startup or periodically presumably?)

* Add a policy setting for the origin server that allows it to ignore 
mirror addition requests and log them or email them to the administrator.

* Add a certificate mechanism that would allow mirror servers to sign 
their request so that the origin server can validate that they are a 
trusted source and automatically add them.

The use case in my mind for automatic mirror addition functionality is this:

Company with offices in different geographical regions initially adds a 
central origin server to their network. For performance reasons (and 
possibly others), it makes sense for them to have a mirror for each 
geographical or other region.

Having the ability to start a new depot in mirror mode and have the 
origin server automatically discover it and the clients automatically 
discover it the next time they contact the origin server is invaluable 
in this scenario.

3) Automatic "preferred" mirror selection

There are a number of techniques that I've seen used over the years to 
determine the best mirror to connect to. I've seen package managers use 
average ping time, average transfer speed, round-robin, and even random 
selection to determine which mirror to use from an available list.

One thought that occurred to me today was to base selection on closest 
timezone (a mirror in the same timezone as  you is likely to provide a 
better experience than one in another timezone).

In fact, a combination of techniques could be used to isolate the best 
one to mark as the preferred mirror. For example, we could get the 
mirrors in the same timezone first (then move up to the next greater 
criteria), then check response time, then check speed, etc. until we 
narrow it down to a specific one.

Cheers,
-- 
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to