J
Justin R.
I'm in an awkward situation.
I help support an internal website that distributes software to
clients. Client's access the website, and choose which software
they'd like to install on their workstation from a set list of
approved applications. To reduce network traffic, we have several
satellite servers set up and we ask that users select the closest
server location from a drop-down list before attempting to download an
application.
A lot of users don't do this, or select the wrong server. I'm curious
about whether or not it's possible for the web server to detect which
server the user is closest to automatically. Here's the solution I've
come to for this "problem":
1. Utilize the System.Net.NetworkInformation.Ping class to generate a
makeshift trace-route to all the servers, as well as the client PC.
The trace-route for the servers can be refreshed once a week, or maybe
even once a month. The trace-route for the user would be generated if
the user clicked a "Help Me Choose" button next to the dropdown list.
2. Compare the trace-route to the user with the stored trace-routes
to the servers, looking for shared points.
Any ideas or suggestions? I'm not complaining about the way that I'm
trying to do it -- I like the challenge it offers. But would there be
another way?
I help support an internal website that distributes software to
clients. Client's access the website, and choose which software
they'd like to install on their workstation from a set list of
approved applications. To reduce network traffic, we have several
satellite servers set up and we ask that users select the closest
server location from a drop-down list before attempting to download an
application.
A lot of users don't do this, or select the wrong server. I'm curious
about whether or not it's possible for the web server to detect which
server the user is closest to automatically. Here's the solution I've
come to for this "problem":
1. Utilize the System.Net.NetworkInformation.Ping class to generate a
makeshift trace-route to all the servers, as well as the client PC.
The trace-route for the servers can be refreshed once a week, or maybe
even once a month. The trace-route for the user would be generated if
the user clicked a "Help Me Choose" button next to the dropdown list.
2. Compare the trace-route to the user with the stored trace-routes
to the servers, looking for shared points.
Any ideas or suggestions? I'm not complaining about the way that I'm
trying to do it -- I like the challenge it offers. But would there be
another way?