Method for communicating a software-generated pulse waveform between two servers in a network
First Claim
1. A method of assigning control over a network resource, comprising:
- transmitting SCSI Reserve and Release commands from a first server to a SCSI device, coupled to the first server;
monitoring a released/reserved status of the SCSI device with a second server;
determining if the first server is operational; and
if it is determined that the first server has failed, assigning control over the SCSI device to the second server.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of monitoring a status condition of a first server with a second server in a server network, and also providing synchronization and messaging between the two servers, the method including: transmitting a software-generated pulse waveform from the first server to a device coupled to the first server, wherein the software-generated pulse waveform is comprises a first command corresponding to a logic level low and a second command corresponding to a logic level high; setting said device to a first state during logic level lows of said pulse waveform and to a second state during logic level highs of said pulse waveform; receiving the software-generated pulse waveform with the second server by determining when said device is in the first state and when it is in the second state; and determining when said device no longer changes from the first state to the second state. In order to provide synchronization and messaging, said pulse waveform is frequency modulated in order to communicate specified commands and/or reference points between the two servers.
290 Citations
18 Claims
-
1. A method of assigning control over a network resource, comprising:
-
transmitting SCSI Reserve and Release commands from a first server to a SCSI device, coupled to the first server;
monitoring a released/reserved status of the SCSI device with a second server;
determining if the first server is operational; and
if it is determined that the first server has failed, assigning control over the SCSI device to the second server. - View Dependent Claims (2, 3)
-
-
4. A method of synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
transmitting a software-generated pulse waveform, having a first frequency, from the first server to a device coupled to the first server;
receiving the pulse waveform with the second server by monitoring a status condition of the device;
transmitting from the first server a synchronization signal to the device by changing the frequency of the pulse waveform to a second frequency;
detecting by the second server the synchronization signal by detecting a change in frequency of the pulse waveform;
changing at the first server the frequency of the pulse waveform back to the first frequency;
detecting by the second server a change in frequency from the second frequency back to the first frequency; and
setting in both servers a reference point in time at a beginning of a first cycle of the pulse waveform after it has returned to the first frequency. - View Dependent Claims (5, 6)
the pulse waveform is uniform when it is at the first frequency such that a first period of time corresponding to a logic level high of the pulse waveform is equal to a second period of time corresponding to a logic level low of the pulse waveform;
the act of changing the frequency of the pulse waveform comprises changing at least one of the first and second periods of time; and
the act of receiving the software-generated pulse waveform with the second server comprises sampling the status condition of the device at a predetermined sampling rate, wherein the logic level high of the pulse waveform sets a status condition of the device to a first state and the logic level low of the pulse waveform sets the status condition of the device to a second state.
-
-
6. The method of claim 5 wherein:
-
the logic level high of the pulse waveform is represented by a SCSI Reserve command which reserves access to the device exclusively to the first server;
the logic level low of the pulse waveform is represented by a SCSI Release command which releases the device from exclusive access by the first server; and
the act of sampling the status condition of the device comprises;
repetitively transmitting a SCSI Test command from the second server to the device at the sampling rate; and
receiving a response signal for each Test command which indicates the status condition of the device.
-
-
7. A method of synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
transmitting a software-generated pulse waveform from the first server to a device coupled to the first server, wherein the pulse waveform is uniform such that a first period of time corresponding to a logic level high of the pulse waveform is equal to a second period of time corresponding to a logic level low of the pulse waveform, and wherein the logic level high of the pulse waveform sets a status condition of the device to a first state and the logic level low of the pulse waveform sets the status condition of the device to a second state;
receiving the software-generated pulse waveform with the second server by sampling the status condition of the device;
transmitting a synchronization signal from the first server to the device by frequency modulating the software-generated pulse waveform so as to vary at least one of the first and second periods;
receiving the synchronization signal with the second server by detecting a change in frequency of the pulse waveform; and
resuming transmission of the uniform pulse waveform to the device, wherein the second server detects the resumption in frequency and marks a beginning of a first cycle of the uniform pulse waveform, after the synchronization signal, as a reference point in time, and the first server also marks the beginning of the first cycle of the uniform pulse waveform as a reference point in time.
-
-
8. A method of synchronizing a first operation performed by a first server with a second operation performed by a second server, comprising:
-
executing a pulse transmitter program in the first server, said program successively transmitting SCSI Reserve and Release commands from the first server to a SCSI device so as to place the SCSI device in successive states of reserved and released status, wherein the states of the SCSI device serve as a basis for a software-generated pulse waveform;
executing a pulse receiver program in the second server, said program sampling the software-generated pulse waveform at a predetermined sampling rate;
determining when the pulse waveform has changed from a first frequency to a second frequency; and
determining when the pulse waveform has changed from the second frequency back to the first frequency, wherein the first and second server each record a beginning of a first cycle of the pulse waveform after it has changed from the second frequency back to the first frequency as a common reference point in time.
-
-
9. A method of providing communications between a first server and a second server, comprising:
-
transmitting a first software-generated pulse waveform from the first server to a first device coupled to the first server, wherein the first pulse waveform changes a status condition of the first device between a first state and a second state;
receiving the first software-generated pulse waveform with the second server by sampling the status condition of the first device;
frequency modulating the first pulse waveform so as to encode a message into the pulse waveform; and
reading the message with the second server by sampling the status condition of the first device at a predetermined first sampling rate. - View Dependent Claims (10, 11, 12, 13, 14, 15)
the act of receiving the first pulse waveform comprises sending a SCSI Test command to the first device at the first sampling rate and receiving a response from the first device as to its status condition;
the logic level high of the first pulse waveform is represented by a SCSI Reserve command;
the logic level low of the first pulse waveform is represented by a SCSI Release command;
the first device is a first SCSI device;
the first state is a reserved status condition; and
the second state is a released status condition.
-
-
12. The method of claim 11 further comprising:
-
transmitting a second software-generated pulse waveform from the second server to a second device coupled to the second server, wherein the second pulse waveform changes a status condition of the second device between a third state and a fourth state;
receiving the second software-generated pulse waveform with the first server by sampling the status condition of the second device;
frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
reading the message with the first server by sampling the status condition of the second device at a predetermined second sampling rate.
-
-
13. The method of claim 12 wherein when the second server is not sending a message to the first server, the second pulse waveform is uniform such that a third period of time corresponding to a logic level high of the second pulse waveform is equal to a fourth period of time corresponding to a logic level low of the second pulse waveform, and wherein the logic level high of the second pulse waveform sets the status condition of the second device to the third state and the logic level low of the second pulse waveform sets the status condition of the second device to the fourth state.
-
14. The method of claim 13 wherein:
-
the act of receiving the first pulse waveform comprises sending a SCSI Test command to the first device at the first sampling rate and receiving a response from the first device as to its status condition;
the logic level high of the first pulse waveform is represented by a SCSI Reserve command;
the logic level low of the first pulse waveform is represented by a SCSI Release command;
the first device is a first SCSI device;
the first state is a reserved status condition;
the second state is a released status condition;
the act of receiving the second pulse waveform comprises sending a SCSI Test command from the first server to the second device at the second sampling rate and receiving a response from the second SCSI device as to its status condition, the logic level high of the second pulse waveform is represented by a second SCSI Reserve command;
the logic level low of the second pulse waveform is represented by a second SCSI Release command;
the second device is a second SCSI device;
the third state is a reserved status condition; and
the fourth state is a released status condition.
-
-
15. The method of claim 9 further comprising:
-
transmitting a second software-generated pulse waveform from the second server to a second device coupled to the second server, wherein the second pulse waveform changes a status condition of the second device between a third state and a fourth state;
receiving the second software-generated pulse waveform with the first server by sampling the status condition of the second device;
frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
reading the message with the first server by sampling the status condition of the second device at a predetermined second sampling rate.
-
-
16. A method of providing communications between a first server and a second server, comprising:
-
executing a first pulse transmitter program in the first server so as to transmit a first software-generated pulse waveform from the first server to a first device coupled to the first server, wherein the pulse waveform changes a status condition of the first device between a first state and a second state;
executing a first pulse receiver program in the second server so as to receive the first software-generated pulse waveform by sampling the status condition of the first device;
frequency modulating the first pulse waveform so as to encode a first message into the first pulse waveform;
reading the first message with the second server by sampling the status condition of the first device at a predetermined first sampling rate;
executing a second pulse transmitter program in the second server for transmitting a second software-generated pulse waveform from the second server to a second device coupled to the second server, wherein the second pulse waveform changes a status condition of the second device between a third state and a fourth state;
executing a second pulse receiver program in the first server for receiving the second software-generated pulse waveform with the first server by sampling the status condition of the second device;
frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
reading the second message with the first server by sampling the status condition of the second device at a predetermined second sampling rate. - View Dependent Claims (17, 18)
when the first server is not sending the first message to the second server, the first pulse waveform is uniform such that a first period of time corresponding to a logic level high of the first pulse waveform is equal to a second period of time corresponding to a logic level low of the first pulse waveform, and wherein the logic level high of the pulse waveform sets a status condition of the first device to a first state and the logic level low of the first pulse waveform sets the status condition of the first device to a second state; and
when the second server is not sending the second message to the first server, the second pulse waveform is uniform such that a third period of time corresponding to a logic level high of the second pulse waveform is equal to a fourth period of time corresponding to a logic level low of the second pulse waveform, and wherein the logic level high of the second pulse waveform sets the status condition of the second device to the third state and the logic level low of the second pulse waveform sets the status condition of the second device to the fourth state.
-
-
18. The method of claim 17 wherein:
-
the act of receiving the first pulse waveform comprises sending a SCSI Test command to the first device at the first sampling rate and receiving a response from the first device as to its status condition;
the logic level high of the first pulse waveform is represented by a first SCSI Reserve command;
the logic level low of the first pulse waveform is represented by a first SCSI Release command;
the first device is a first SCSI device;
the first state is a reserved status condition;
the second state is a released status condition;
the act of receiving the second pulse waveform comprises sending a SCSI Test command from the first server to the second device at the second sampling rate and receiving a response from the second SCSI device as to its status condition;
the logic level high of the second pulse waveform is represented by a second SCSI Reserve command;
the logic level low of the second pulse waveform is represented by a second SCSI Release command;
the second device is a second SCSI device;
the third state is a reserved status condition; and
the fourth state is a released status condition.
-
Specification