Head in a blender

How to find the best Domino server in your neighborhood

Andrew M Pedisich  February 21 2008 03:45:43 PM

A client has presented me with an interesting problem.  Here's the skinny.

The client has a small remote office with 15 or 20 people connected to the main office over a smallish pipe.  The pipe is used for both HTTP and Notes traffic.  To reduce latency caused by traffic in the pipe, the client has provided the remote office with their own Domino server.  There is a Domino server at the main office clustered with one in the remote office for DR purposes.  So far, so good.

The problem comes when the users from the remote office use the VPN.  When they use the VPN they connect to the main office and then their clients connect back through the smallish pipe to the Domino server in the remote office, which screws up traffic in the pipe again.  This also happens when they visit the main office and use their laptops.

These remote office users are coming off of an Outlook/Exchange habit where the Exchange server was also in thier remote office, but they always had local Internet access, so they never had traffic problems before.  They are prone to loudly grumbling about Notes, except, as you can see, it's not really a Notes issue. 

However, perception is 9/10ths of logic sometimes, and the client has asked me for a way to make sure the remote office Notes clients use the mail server in the rmote office when they are in the remote office, and the main office clustered server when they VPN or are visiting the main office.  Management doesn't want to use Location documents, as these guys would be prone to forget to use them and unwittingly cause pipe performance to drop.

I am developing a post-open in their mail template that will capture their IP address, determine where they are, and open the right mail file for them.  This seems like a wierd kludge though.

Has anyone else ever run into this?  How did you solve it?  Is there 3rd parth software that will help with this?  What am I missing?

Anyone? Bueller?

- Andy


Comments

1Kevin Kanarski  2/21/2008 4:06:26 PM  How to find the best Domino server in your neighborhood

Is there a firewall on the pipe between the main and remote office? I was thinking if there is some way you could block the client in the main office from getting to the Domino server in the remote office then Notes would automatically failover to the local Domino server. You could block the user segment IP addresses from going over the pipe but let the server IP addresses through.

Or, is DWA using a web redirect database a possible option.

2Chris Toohey  2/21/2008 4:28:16 PM  How to find the best Domino server in your neighborhood

Maybe I'm missing something Andy... but why can't you tell them to use Location Documents that specify their connectivity? "Office":"Remote":"Offline" should do them just fine...

Am I missing something?

3Andy Pedisich  2/21/2008 4:57:33 PM  How to find the best Domino server in your neighborhood

Kevin - Thanks for that. I knew I needed an objective network guy to look at this. I will suggest this tomorrow. That would be absolute, foolproof, and put the onus of this right where I think it belongs... on the network.

Chris - Yes, you missed the last line of paragraph 5.

;-)

- Andy

4Matt Cook  2/21/2008 5:02:52 PM  How to find the best Domino server in your neighborhood

What about configuring the clients to work in connected mode from a local replica? You could enable port compression and since replication will occur on schedule in the background, no major hit on the smallish pipe and performance is still great for the clients. You could create a new connection document Office (Local) or similar that they use all of the time instead of having to switch between locations when VPN vs. Office.

Isn't there a server notes.ini parameter which can restrict access to notes ports by IP addresses? This may work.

Expanding on the idea above re: the firewall, you could create additional Notes network ports on the server and use a connection document on the client to the additional port and block the port instead of IP accordingly forcing the cluster failover.

5Chris Toohey  2/21/2008 6:30:26 PM  How to find the best Domino server in your neighborhood

D'oh!

What about a more networking-centric approach to this?

Most VPN software can force certain DNS overwrites on active connections - can you simply override the fqdn for their server when they're connected via the VPN? Thus, they THINK they're hitting the main server, but DNS points them to their local environment?

The real benefit to this: users that travel between the locations.

When in the local office, domino.domain.net points to their local office Domino server.

Via the VPN, domino.domain.net points to their main office server.

When in the main office, domino.domain.net points to their main office Domino server.

Just a thought... but I'm more of a developer so I might be missing yet another item here ;-)

Just a thought!

6francie  2/21/2008 10:00:10 PM  How to find the best Domino server in your neighborhood

Your solution is called MarvelClient and it's made by the fabulous people of Panagenda.

I've made an entire company dynamically redirect all users to the appropriate servers based on IP ranges, client type and connectivity availability.

You know where to find me if you wanna know more.

7Keith Brooks  2/21/2008 10:30:34 PM  How to find the best Domino server in your neighborhood

Aside from the fact Domino and the Notes client use whatever you tell them(you can force the protocols or port 1352 to limit its speed) they should be able to master home or away office.

Of course you could just add a little batch fille when they click on the notes icons that asks where they are and preset their location based on it.

Never mind that idea, just set the "ask which location" option in prefernces so everytime they start they choose home or away.

8Wild Bill  2/22/2008 4:33:54 AM  How to find the best Domino server in your neighborhood

Piece of piss. Check out my C-API session from last year's Developer conference. I have a piece of example code that uses lotusscript to wrap an NSF call that tells you (ta-da!)

The network ping latency time to the server.

So yes, with this 10 lines of code, you can decide which server is 'nearest' at this point of time, and do something like automatically switch location.

----* Bill

9Pedro Quaresma  2/22/2008 6:39:42 AM  How to find the best Domino server in your neighborhood

When I read this post I immediately thought of Bill's C-API code. I believe it was actually supposed to be here:

{ http://www.billbuchan.com/web.nsf/d6plinks/BBUN-6P2GY2 }

but the page shows blank (Firefox, WinXP). Bill is this a problem with your blog template or are the archives not available anymore?

10Charles Robinson  2/22/2008 11:57:07 PM  How to find the best Domino server in your neighborhood

Pedro, the proper link is: { http://www.hadsl.com/HADSL.nsf/Documents/Developer2007+-++Leveraging+the+Notes+C+API+in+LotusScript:+A+How-to+Guide!OpenDocument }

11Pedro Quaresma  2/23/2008 9:19:40 AM  How to find the best Domino server in your neighborhood

Thanks Charles, but Bill also had some more information about it on that blog entry I linked to

12Florian Vogler  3/27/2008 12:54:07 PM  How to find the best Domino server in your neighborhood

Hi Andy,

a quick overview on how we address this can be found here: { http://blog.panagenda.com/pub/panablog.nsf/d6plinks/FLOR-7D4D2Q }

Using realtime relocation based on IP-Addresses saves you the trouble to first detect something across low-bandwidth lines.

So as much as the Latency stuff is interesting, it's a pain to have to wait for the response prior to opimizing the connection.

Potentially you could also do this without our product by writing your own script that checks for certain IP-Addresses and then switches Location - howerver that would still involve the end user having to do something to initiate the check - whereas with MarvelClient it's all covered without any end user interaction.

We'd be happy to send you an eval, do a webex, or just ping/pong on the issue and possible solution approaches without our product.

"Test"