Browser Elections

Browser elections occur to select a new master browser under the following circumstances:

  • When a computer cannot locate a master browser.

  • When a preferred master browser comes online.

  • When a Windows domain-controller system starts.

A computer initiates an election by sending a special datagram called an election datagram . When an election occurs, the browser service on the computer forcing the election logs an event in the system log, indicating that it forced the election. An event is logged for each protocol on which the browser service forces an election.

All browsers can receive election datagrams. When a browser receives an election datagram, it examines the election criteria of that datagram. If the browser has better election criteria than the sender of the election datagram, the browser issues its own election datagram and enters what is called an election in progress state. If the browser does not have better election criteria than the sender of the election datagram, the browser attempts to determine which system is the new master browser. Figure I.2 Shows computers performing a browser election.

Cc959896.CNFI02(en-us,TechNet.10).gif

Figure I.2 Browser Election

The election criteria for a browser is based on the current role of the browser in the domain and its current state, using the hierarchy shown in Table I.2.

Table I.2 Hierarchy of Criteria for a Browser Election

Operating System Type

Windows Election field

Windows for Workgroups and Windows 95 and Windows 98

0x01000000

Windows 2000 Professional and Windows NT Workstation

0x10000000

Windows 2000 Server and Windows NT Server

0x20000000

Election Version

0x00FFFF00

Per Version Criteria

0x000000FF

PDC

0x00000080

WINS System

0x00000020

Preferred Master

0x00000008

Running Master

0x00000004

MaintainServerList = Yes

0x00000002

Running backup browser

0x00000001

The browser uses all of the appropriate election criteria to determine the election criteria of the sending computer.

The following criteria determine whether or not a browser has won an election:

  • If the election version of the browser is greater than the election version of the sender, the browser wins. If not, the browser uses the next election criterion. The election version is a constant value that identifies the version of the browser-election protocol. The election version is the revision of the browser protocol and is not related to the operating-system version.

  • If the election criteria of the browser is greater than the election criteria of the sender, the browser wins. If not, the browser uses the next election criterion.

  • If the browser has been running longer than the sender, the browser wins. If not, the browser uses the next election criterion.

  • If none of the criteria above have determined the election, then the server with the lexically (alphabetically, including numbers and symbols) lowest name wins. For example, a server named "A" will become master browser over a server named "X."

When a browser receives an election datagram indicating that it wins an election, the browser enters the running election state . While in this state, the browser sends out an election request after a delay. The delay is based on the current role of the browser in the domain:

  • Master browsers and the primary domain controllers delay for 100 microseconds (ms).

  • Backup browsers and backup domain controllers randomly delay for 200 ms and 600 ms.

  • All other browsers randomly delay between 800 ms and 3000 ms.

This delay is programmed to occur because Windows for Workgroups browsers go "deaf" for several hundred microseconds after sending an election datagram. This delay reduces the number of election datagrams sent, because a browser winning an election might then receive a different election datagram, causing it to lose an election later. By having computers that are less likely to win an election delay their sending of election requests, those computers are less likely to send election datagrams.

The browser sends up to four election datagrams. If no other browser responds with an election datagram that wins the election, the computer is promoted to master browser. If the browser receives an election datagram indicating that another computer wins the election, and the computer is currently the master browser, the computer demotes itself from master browser and becomes a backup browser.