Author Topic: Mutex connections  (Read 2273 times)

Offline xtothez

  • First timer
  • *
  • Posts: 7
    • View Profile
Mutex connections
« on: November 24, 2003, 06:33:22 pm »
A slightly novel idea as far as I'm concerned (at least I haven't seen it suggested anywhere else), but it certainly has potential to be useful.

My suggestion is basically a mutex (mutual exclusive) connection flag on server C/N lines. These work by arranging server connections in groups, and connections are activated if the server cant already see another server. For example:

Example network:
Code: [Select]
A -- B -- C
|
S


Server A has a connection to B and network services S, B to both A+C, and C only to B. Now, if server B suffers a fault and goes offline, the network is split in half until B reappears or opers from A+C alter the connections. C is left without any IRC services and relies entirely on opers for security.

Code: [Select]
A -- x -- C
|
S


Now, if server A had a mutex connection for C in their conf, it would attempt to connect to C. C would have a mutex connection for A, and would allow this attempt beacuse it cant already see A. Now we have:

Code: [Select]
A -- C
|
S


Now B comes back online, and realises it isn't connected to either server. It will then try to resume its connections. It will successfully connect to A, and then will be able to see server C so cancel the mutex connection to there. Now the network looks like this:
Code: [Select]
B -- A -- C
     |
     S


This can greatly reduce downtime on networks when hubs are hit by connection/hardware/DDoS problems, and improve security on networks with many private channels that rely on services.

Thoughts, comments, criticisms?

Offline ShadowMaster

  • Chief Codemonkey
  • Administrator
  • ********
  • Posts: 3136
    • View Profile
    • http://www.shadow-realm.org/
Mutex connections
« Reply #1 on: November 25, 2003, 08:15:52 am »
What you want can already be done (in fact ive used this very setup on my own network since around 1998) although it does not have too much freedom of control.

In your example servers A and B are both hub servers. We will label A as the primary hub. It does not attempt to connect anywhere.

Server B has C/N lines for Server A with a HUB class allowing 1 link.

Server C has C/N lines for Server B and Server A with the same leaf class allowing only 1 link. Once Server C looses connection to server B, it will automatically cycle to the next C/N line set and try to establish a connection to server A, and keep cycling until it archieves a connection.

All this have been possible for as long as i have known IRC.
Then again, i might be missing the point entirely, in which case i apologize.
Search before posting - No support by PM or IM

 

anything