Illllllllllllllllllllllllllllllllllllllllllllllllll
US006560641B1
(12) United States Patent ao) Patent No.: us 6,560,641 Bi
Powderly et al. (45) Date of Patent: May 6,2003
(21) Appl. No.: 09/538,004
(22) Filed: Mar. 29, 2000
(51) Int. CI.7 G06F 17/30
(52) U.S. CI 709/219; 707/10
(58) Field of Search 709/217, 218,
709/219
(56) References Cited
U.S. PATENT DOCUMENTS
5,136,695 A 8/1992 Goldshlag et al 395/275
5,410,706 A 4/1995 Farrand et al 395/700
5,590,315 A 12/1996 Hess et al 395/500
5,604,509 A 2/1997 Moore et al 345/2
5,712,978 A 1/1998 Lerner et al 395/200.11
5,721,842 A 2/1998 Beasley et al 395/311
5,732,212 A 3/1998 Perholtz et al 395/200.11
5,764,974 A 6/1998 Walster et al 395/606
5,794,239 A 8/1998 Walster et al 707/6
5,825,336 A 10/1998 Fujita et al 345/2
6,128,731 A * 10/2000 Zarrin et al 713/1
6,230,194 Bl * 5/2001 Frailong et al 709/220
6,381,700 Bl * 4/2002 Yoshida 713/201
6,393,492 Bl * 5/2002 Cornaby et al 709/321
6,415,289 Bl * 7/2002 Williams et al 707/10
6,442,549 Bl * 8/2002 Schneider 707/10
A system, method, and adapter card for providing, via a network, emulation of a console of a host computer system on another, remotely located computer system on the network, includes the ability to remotely control a peripheral device connected to a peripheral device interface controller on the adapter card. The adapter card further comprises a processor, a network interface controller providing a connection to the network, a communications client program executing on the processor, and at least one computerreadable medium having stored therein a modified BIOS extension for said peripheral device interface controller. The modified BIOS extension comprises first program code and second program code, the second program code being embedded within the first program code and defining a separate server program. Upon selection by a user at the remote computer system, the modified BIOS extension is loaded into the host memory during execution of the host computer system BIOS, in place of the standard BIOS extension for the peripheral device interface controller. When executed by the host processor, the first program code of the BIOS extension (i) copies the second program code defining the server program to a new location in the host memory, and then (ii) hooks the new location of the server program to an interrupt of the host computer system to cause the host processor to initiate execution of the server program on the host computer system upon a subsequent occurrence of that interrupt. The server program establishes communications with the communications client program on the adapter card, and, thereafter, upon receipt of requests from the communications client program, invokes functions of the host computer system BIOS to control the peripheral device.
30 Claims, 8 Drawing Sheets