System for communicating a software-generated pulse waveform between two servers in a network
First Claim
1. A system for monitoring the status of a first server in a server network with a second server in the network, comprising:
- a device coupled to the first and second servers for receiving commands from the first and second servers;
a pulse transmitter module in the first server, for transmitting a software-generated pulse waveform to the device; and
a pulse receiver module in the second server, for receiving the software-generated pulse waveform.
6 Assignments
0 Petitions
Accused Products
Abstract
A system for monitoring the status of a first server in a server network with a second server in the network, and also for providing synchronization and messaging capability between the two servers, the system including: a device coupled to first and second servers for receiving commands from the first and second server; a pulse transmitter module, coupled to the first server, for transmitting a software-generated pulse waveform to said device; and a pulse receiver module, coupled to the second server, for receiving the software-generated pulse waveform, wherein the software-generated pulse includes: a first command transmitted from the first server to said device which corresponds to a logic level low of said pulse waveform, wherein the first command sets the status condition of said device to a first state; and a second command transmitted from the first server to said device which corresponds to a logic level high of said pulse waveform, wherein the second command sets the status condition of said device to a second state. In order to provide synchronization and messaging, specified commands and/or reference points between the two servers.
-
Citations
46 Claims
-
1. A system for monitoring the status of a first server in a server network with a second server in the network, comprising:
-
a device coupled to the first and second servers for receiving commands from the first and second servers;
a pulse transmitter module in the first server, for transmitting a software-generated pulse waveform to the device; and
a pulse receiver module in the second server, for receiving the software-generated pulse waveform. - View Dependent Claims (2, 3, 4)
a first command transmitted from the first server to the device which corresponds to a logic level low of the pulse waveform, wherein the first command sets the status condition of the device to a first state; and
a second command transmitted from the first server to the device which corresponds to a logic level high of the pulse waveform, wherein the second command sets the status condition of the device to a second state.
-
-
3. The system of claim 2 wherein the pulse receiver module transmits a test command to the device at a predetermined sampling rate in order to determine the status condition of the device, wherein a change in the status condition of the device indicates that the first server is operational.
-
4. The system of claim 3 wherein:
-
said device is a SCSI device;
said first command is a SCSI Reserve Unit command;
said first status condition is a reserved status;
said second command is a SCSI Release Unit command; and
said second status condition is a released status.
-
-
5. A system for monitoring a status condition of a first server in a server network with a second server in the network, comprising:
-
a device, coupled to the first and second servers;
a pulse transmitter module in the first server, for successively transmitting first and second command signals to said device wherein the first command signal places said device in a first status condition and the second command signal places the device in a second status condition;
a pulse receiver module in the second server, for monitoring a status condition of said device, wherein a change in the status condition of the device indicates that the first server is operational;
wherein;
said device is a SCSI device;
said first command is a SCSI Reserve Unit command;
said first status condition is a reserved status;
said second command is a SCSI Release Unit command; and
said second status condition is a released status.- View Dependent Claims (6, 7, 8, 9, 10)
a first module for transmitting a series of Test Unit Ready commands to said device at a predetermined sampling rate; and
a second module for receiving a response to each of the Test Unit Ready commands from said device, wherein each response indicates either a successful test, corresponding to a released status of said device, or a failed test, corresponding to a reserved status of said device.
-
-
7. The system of claim 6 wherein said pulse receiver module further comprises:
-
a third module for determining a reservation time period corresponding to a period of time that said device is continuously in a reserved status, wherein said reservation time period represents a logic level high of a software-generated pulse waveform and determines a release time period corresponding to a period of time that said device is continuously in a released status, wherein said release time period represents a logic level low of the software-generated pulse waveform;
a fourth module for determining a first reference point on said pulse waveform corresponding to a reserved status;
a fifth module for determining a second reference point on said pulse waveform corresponding to a released status; and
a sixth module for transmitting said Test Unity Ready command to said device only at times corresponding to the first and second reference points.
-
-
8. The system of claim 7 wherein:
-
said fourth module for determining the first reference point comprises a seventh module for determining a location corresponding to a rising edge on said pulse waveform and determining a location corresponding to a falling edge on said pulse waveform, wherein the first reference point is chosen off-phase from both the rising and falling edges; and
said fifth module for determining the second reference point comprises an eighth module for selecting a point on said pulse waveform which is approximately (N times
360)+180 degrees out of phase from the first reference point, where N is an integer greater than or equal to zero.
-
-
9. The system of claim 8 wherein said sixth module comprises:
-
a ninth module for determining if a first response signal received in response to said Test Unit Ready signal transmitted to said device at the first reference point matches an expected response; and
a tenth module for determining if a second response signal received in response to said Test Unit Ready signal transmitted to said device at the second reference point matches an expected response.
-
-
10. The system of claim 9 further comprising a recalibration module for initiating a recalibration procedure if it is determined that the first and second response do not match their expected responses, the recalibration module comprising:
-
an eleventh module for transmitting a second series of Test Unit Ready commands to said device at the predetermined sampling rate;
a twelfth module for receiving a response to each of said Test Unit Ready commands of the second series, wherein each response indicates either a successful test, corresponding to a released status of said device, or a failed test, corresponding to a reserved status of said device;
a thirteenth module for determining a second reservation time period corresponding to a period of time that said device is continuously in a reserved status, wherein the second reservation time period represents the logic level high of the software-generated pulse waveform;
a fourteenth module for determining a second release time period corresponding to a period of time that said device is continuously in a released status, wherein the second release time period represents the logic level low of the software-generated pulse waveform;
a fifteenth module for determining a third reference point on said pulse waveform;
a sixteenth module for determining a fourth reference point on said pulse waveform; and
a seventeenth module for transmitting said Test Unity Ready command only at times corresponding to the third and fourth reference points.
-
-
11. A system for assigning control over a network resource between a first server and a second server in the network, comprising:
-
a SCSI device coupled to the first and second servers;
a pulse transmitter module, in the first server, for transmitting SCSI Reserve and Release commands from the server to a SCSI device;
a pulse receiver module, in the second server, for monitoring a released/reserved status of the SCSI device, wherein a change in the released/reserved status of the SCSI device indicates that the first server remains operational and a constant reserved status of the SCSI device indicates that the first server has failed; and
a Network Directory Database, coupled to the first and second servers, for designating a host server and a backup server for each device in the network, wherein the Network Directory Database designates the second server as the host server of said device if it is determined that the first server has failed.
-
-
12. A system for synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
a device coupled to the first and second servers;
a pulse transmitter module, in the first server, for transmitting a software-generated pulse waveform, having a first frequency, from the first server to said device, wherein said pulse transmitter module comprises a synchronization module for transmitting a synchronization signal to said device by changing the frequency of said pulse waveform to a second frequency and changing the frequency of said pulse waveform back to the first frequency;
a pulse receiver module, in the second server, for receiving said pulse waveform by monitoring a status condition of said device, wherein said pulse receiver module comprises a frequency detector module for detecting the synchronization signal by detecting a first change in frequency of said pulse waveform from the first frequency to the second frequency and for detecting a second change in frequency from the second frequency back to the first frequency; and
wherein said pulse transmitter module and said pulse receiver module each further include a timing module for setting a reference point in time at a beginning of a first cycle of said pulse waveform after it has returned to the first frequency. - View Dependent Claims (13, 14)
said 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 said pulse waveform is equal to a second period of time corresponding to a logic level low of said pulse waveform; and
said pulse receiver module further comprises a sampling module for sampling the status condition of said device at a predetermined sampling rate, wherein the logic level high of said pulse waveform sets a status condition of said device to a first state and the logic level low of said pulse waveform sets the status condition of said device to a second state.
-
-
14. The system of claim 13 wherein:
-
said logic level high of said pulse waveform is represented by a SCSI Reserve command which reserves access to said device exclusively to the first server;
said logic level low of said pulse waveform is represented by a SCSI Release command which releases said device from exclusive access by the first server; and
said sampling module comprises;
a test module for repetitively transmitting a SCSI Test command from the second server to said device at the sampling rate; and
a response module for receiving a response signal for each SCSI Test command which indicates the status condition of said device.
-
-
15. A system for synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
a device coupled to the first and second servers;
a pulse transmitter module, in the first server, for transmitting a software-generated pulse waveform from the first server to a device coupled to the first server, wherein said pulse waveform is uniform such that a first period of time corresponding to a logic level high of said pulse waveform is equal to a second period of time corresponding to a logic level low of said pulse waveform, and wherein said logic level high of said pulse waveform sets a status condition of said device to a first state and said logic level low of said pulse waveform sets the status condition of said device to a second state;
a pulse receiver module, in the second server, for receiving the software-generated pulse waveform with the second server by sampling the status condition of said device;
a synchronization module, in the first server, for transmitting a synchronization signal from the first server to said device by frequency modulating the software-generated pulse waveform so as to vary at least one of the first and second periods;
a detection module, in the second server, for receiving the synchronization signal with the second server by detecting a change in frequency of said pulse waveform; and
wherein, when said pulse transmitter module resumes transmission of the uniform pulse waveform to said device, the detection module detects a second change 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.
-
-
16. A system for synchronizing a first operation performed by a first server with a second operation performed by a second server, comprising:
-
a pulse transmitter program, in the first server, for 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;
a pulse receiver program, in the second server, for sampling the software-generated pulse waveform at a predetermined sampling rate;
wherein said pulse receiver program detects when said pulse waveform has changed from a first frequency to a second frequency and back to the first frequency; and
wherein the first and second server each record a beginning of a first cycle of said pulse waveform after it has changed from the second frequency back to the first frequency as a common reference point in time.
-
-
17. A system for providing communications between a first server and a second server, comprising:
-
a first device coupled to the first and second servers;
a first pulse transmitter module, in the first server, for transmitting a first software-generated pulse waveform from the first server to the first device, wherein the first pulse waveform changes a status condition of the first device between a first state and a second state;
a first pulse receiver module, in the second device, for receiving the first software-generated pulse waveform with the second server by sampling the status condition of the first device;
a first modulation module, in the first server, for frequency modulating the first pulse waveform so as to encode a message into the first pulse waveform; and
a first reading module, in to the second server, for reading the message by sampling the status condition of the first device at a predetermined first sampling rate. - View Dependent Claims (18, 19, 20, 21, 22)
said logic level high of said first pulse waveform is represented by a SCSI Reserve command;
said logic level low of said first pulse waveform is represented by a SCSI Release command;
said first device is a first SCSI device;
said first state is a reserved status condition;
said second state is a released status condition; and
said first pulse receiver module comprises a first test module for sending a SCSI Test command to the first device at the first sampling rate and receiving a response from the SCSI device as to its status condition.
-
-
20. The system of claim 18 further comprising:
-
a second device coupled to said first and second servers;
a second pulse transmitter module, coupled to the second server, for transmitting a second software-generated pulse waveform from the second server to the second device, wherein the second pulse waveform changes a status condition of the second device between a third state and a fourth state;
a second pulse receiver module, coupled to the first server, for receiving the second software-generated pulse waveform by sampling the status condition of the second device;
a second modulation module, coupled to the second server, for frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
a second reading module, coupled to the first server, for reading the message by sampling the status condition of the second device at a predetermined second sampling rate.
-
-
21. The system of claim 20 wherein, when said 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 said logic level high of the second pulse waveform sets the status condition of the second device to the third state and said logic level low of the second pulse waveform sets the status condition of the second device to the fourth state.
-
22. The system of claim 21 wherein:
-
said logic level high of the first pulse waveform is represented by a SCSI Reserve command;
said logic level low of the first pulse waveform is represented by a SCSI Release command;
said first device is a first SCSI device;
said first state is a reserved status condition;
said second state is a released status condition;
said first pulse receiver module comprises a first test module for sending a SCSI Test command to the first device at the sampling rate and receiving a response from the SCSI device as to its status condition;
said logic level high of the second pulse waveform is represented by a second SCSI Reserve command;
said logic level low of the second pulse waveform is represented by a second SCSI Release command;
said second device is a second SCSI device;
said third state is a reserved status condition;
said fourth state is a released status condition; and
the second pulse receiver module comprises a second test module for 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.
-
-
23. A system for monitoring a status condition of a first server with a second server in a server network, comprising:
-
means for transmitting a software-generated pulse waveform from the first server to a device coupled to the first server, wherein the software-generated pulse waveform comprises a first command corresponding to a logic level low and a second command corresponding to a logic level high;
means for 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; and
means for 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. - View Dependent Claims (24, 25, 26, 27, 28)
means for sampling said pulse waveform at a sampling frequency which is greater than the frequency of said pulse waveform for at least one cycle of said pulse waveform; and
means for recording the transition points of said pulse waveform.
-
-
27. The system of claim 26 wherein the means for determining when the device no longer changes from the first state to the second state, comprises:
-
means for monitoring said pulse waveform at a reference point which is expected to correspond to a logic level high on the waveform; and
means for detecting when the reference point is not at said logic level high.
-
-
28. The system of claim 26 wherein said means for sampling said pulse waveform comprises:
-
means for repetitively sending a test command to said device at the sampling rate; and
means for receiving a response to each test command, indicating whether said device is in the first state or the second state, wherein the first state is translated into said logic level low of said pulse waveform and the second state is translated into said logic level high of said pulse waveform.
-
-
29. A system for monitoring a status condition of a first server by a second server, comprising:
-
means for transmitting SCSI Reserve and Release commands from the server to a SCSI device, coupled to the first server; and
means for monitoring a released/reserved status of the SCSI device with the second server in order to verify that the first server is operational. - View Dependent Claims (30, 31)
-
-
32. A system for assigning control over a network resource between a first server and a second server in the network, comprising:
-
means for transmitting SCSI Reserve and Release commands from the first server to a SCSI device, coupled to the first server;
means for monitoring a released/reserved status of the SCSI device with the second server;
means for determining if the first server is operational; and
means for assigning control over the SCSI device to the second server if it is determined that the first server has failed. - View Dependent Claims (33, 34)
-
-
35. A system for synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
means for transmitting a software-generated pulse waveform, having a first frequency, from the first server to a device coupled to the first server;
means for receiving said pulse waveform with the second server by monitoring a status condition of said device;
means for transmitting a synchronization signal to said device by changing the frequency of said pulse waveform to a second frequency;
means for detecting the synchronization signal by detecting a change in frequency of said pulse waveform;
means for changing the frequency of said pulse waveform back to the first frequency;
means for detecting a change in frequency from the second frequency back to the first frequency; and
means for setting a reference point in time at a beginning of a first cycle of said pulse waveform after it has returned to the first frequency. - View Dependent Claims (36, 37)
said 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 said pulse waveform is equal to a second period of time corresponding to a logic level low of said pulse waveform;
said means for changing the frequency of said pulse waveform comprises means for changing at least one of the first and second periods of time; and
said means for receiving the software-generated pulse waveform with the second server comprises means for sampling the status condition of said device at a predetermined sampling rate, wherein said logic level high of said pulse waveform sets a status condition of said device to a first state and said logic level low of said pulse waveform sets the status condition of said device to a second state.
-
-
37. The system of claim 36 wherein:
-
said logic level high of said pulse waveform is represented by a SCSI Reserve command which reserves access to said device exclusively to the first server;
said logic level low of said pulse waveform is represented by a SCSI Release command which releases said device from exclusive access by the first server; and
said means for sampling the status condition of said device comprises;
means for repetitively transmitting a SCSI Test command from the second server to said device at the sampling rate; and
means for receiving a response signal for each Test command which indicates the status condition of said device.
-
-
38. A system for synchronizing a first operation carried out by a first server with a second operation carried out by a second server, comprising:
-
means for transmitting a software-generated pulse waveform from the first server to a device coupled to the first server, wherein said pulse waveform is uniform such that a first period of time corresponding to a logic level high of said pulse waveform is equal to a second period of time corresponding to a logic level low of said pulse waveform, and wherein said logic level high of said pulse waveform sets a status condition of said device to a first state and said logic level low of said pulse waveform sets the status condition of said device to a second state;
means for receiving the software-generated pulse waveform with the second server by sampling the status condition of said device;
means for transmitting a synchronization signal from the first server to said device by frequency modulating the software-generated pulse waveform so as to vary at least one of the first and second periods;
means for receiving the synchronization signal with the second server by detecting a change in frequency of said pulse waveform; and
means for resuming transmission of the uniform pulse waveform to said device, wherein the second server detects a second change 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.
-
-
39. A system for synchronizing a first operation performed by a first server with a second operation performed by a second server, comprising:
-
means for 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;
means for executing a pulse receiver program in the second server, said program sampling the software-generated pulse waveform at a predetermined sampling rate;
means for determining when said pulse waveform has changed from a first frequency to a second frequency; and
means for determining when said 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 said pulse waveform after it has changed from the second frequency back to the first frequency as a common reference point in time.
-
-
40. A system for providing communications between a first server and a second server, comprising:
-
means for 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;
means for receiving the first software-generated pulse waveform with the second server by sampling the status condition of the first device;
means for frequency modulating the first pulse waveform so as to encode a message into said pulse waveform; and
means for 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 (41, 42, 43, 44, 45, 46)
said logic level high of the first pulse waveform is represented by a SCSI Reserve command;
said logic level low of the first pulse waveform is represented by a SCSI Release command;
said first device is a first SCSI device;
said first state is a reserved status condition;
said second state is a released status condition; and
said means for receiving the first pulse waveform comprises means for sending a SCSI Test command to the first device at the first sampling rate and means for receiving a response from the SCSI device as to its status condition.
-
-
43. The system of claim 42 further comprising:
-
means 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;
means for receiving the second software-generated pulse waveform with the first server by sampling the status condition of the second device;
means for frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
means for reading the message with the first server by sampling the status condition of the second device at a predetermined second sampling rate.
-
-
44. The system of claim 43 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 said logic level high of the second pulse waveform sets the status condition of the second device to the third state and said logic level low of the second pulse waveform sets the status condition of the second device to the fourth state.
-
45. The system of claim 44 wherein:
-
said logic level high of the first pulse waveform is represented by a SCSI Reserve command;
said logic level low of the first pulse waveform is represented by a SCSI Release command;
said first device is a first SCSI device;
said first state is a reserved status condition;
said second state is a released status condition;
said means for receiving the first pulse waveform comprises means for sending a SCSI Test command to the first device at the sampling rate and means for receiving a response from the SCSI device as to its status condition;
said logic level high of the second pulse waveform is represented by a second SCSI Reserve command;
said logic level low of the second pulse waveform is represented by a second SCSI Release command;
said second device is a second SCSI device;
said third state is a reserved status condition;
said fourth state is a released status condition; and
said means for receiving the second pulse waveform comprises means for sending a SCSI Test command from the first server to the second device at the second sampling rate and means for receiving a response from the second SCSI device as to its status condition.
-
-
46. The system of claim 40 further comprising:
-
means 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;
means for receiving the second software-generated pulse waveform with the first server by sampling the status condition of the second device;
means for frequency modulating the second pulse waveform so as to encode a second message into the second pulse waveform; and
means for reading the message with the first server by sampling the status condition of the second device at a predetermined second sampling rate.
-
Specification