Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
First Claim
1. An apparatus for preventing duplicate work from being done while performing operator commands during a failover process in a distributed system having a control workstation and a plurality of nodes, one of said nodes being designated a primary node and one of said nodes being designated a backup node, said backup node having a backup daemon which may be either asleep or awake, the apparatus comprising:
- means for sending a command string from the control work station to the backup node, said command string for performing the same work as said backup daemon;
means for checking said backup daemon in said backup node to determine if said backup daemon is either awake or sleeping;
means for inserting subcommands derived from said command string into a queue in the event said backup daemon is sleeping, wherein said subcommands are enqueued for processing by said backup daemon;
means for waking up said backup daemon in the event said backup daemon is asleep, such that said backup daemon will process said derived subcommands in said queue; and
means for ending subcommands derived from said command string in the event said backup daemon is not sleeping, thereby preventing work from being done by said derived subcommands which would be duplicative of work done during the processing of said backup daemon.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus for synchronizing operator commands with a failover process in a distributed system having a control workstation and a plurality of nodes. One of the nodes of the distributed system is designated a primary node and one of the nodes is designated a backup node. The backup node includes a backup daemon for performing a failover process if the primary node fails such that the backup node becomes the primary node. Shell scripts send a command string to be synchronized with the operation of the backup daemon from the control workstation to the backup node. The backup daemon is then checked to determine if the backup daemon is sleeping, and, in the event the backup daemon is sleeping, commands derived from the command string are enqueued in a work queue for processing by the backup daemon. The backup daemon is then awakened such that the derived commands in the work queue are processed. In the event that the backup daemon is busy, commands derived from the command string are failed, thereby synchronizing the derived commands with the processing of the backup daemon.
-
Citations
12 Claims
-
1. An apparatus for preventing duplicate work from being done while performing operator commands during a failover process in a distributed system having a control workstation and a plurality of nodes, one of said nodes being designated a primary node and one of said nodes being designated a backup node, said backup node having a backup daemon which may be either asleep or awake, the apparatus comprising:
-
means for sending a command string from the control work station to the backup node, said command string for performing the same work as said backup daemon; means for checking said backup daemon in said backup node to determine if said backup daemon is either awake or sleeping; means for inserting subcommands derived from said command string into a queue in the event said backup daemon is sleeping, wherein said subcommands are enqueued for processing by said backup daemon; means for waking up said backup daemon in the event said backup daemon is asleep, such that said backup daemon will process said derived subcommands in said queue; and means for ending subcommands derived from said command string in the event said backup daemon is not sleeping, thereby preventing work from being done by said derived subcommands which would be duplicative of work done during the processing of said backup daemon. - View Dependent Claims (2, 3)
-
-
4. An apparatus for preventing duplicate work from being done while performing operator commands during a failover process in a distributed system having a control workstation and a plurality of nodes, one of said nodes being designated a primary node and one of said nodes being designated a backup node, said backup node having a backup daemon which may be either asleep or awake, the apparatus comprising:
-
means for sending a command string from the control work station to the backup node, said command string for performing the same work as said backup daemon; means for checking said backup daemon in said backup node to determine if said backup daemon is either awake or sleeping; means for inserting subcommands derived from said command string into a queue in the event said backup daemon is sleeping, wherein said subcommands are enqueued for processing by said backup daemon; means for waking up said backup daemon in the event said backup daemon is asleep, such that said backup daemon will process said derived subcommands in said queue; and means for ending subcommands derived from said command string in the event said backup daemon is not sleeping, thereby preventing work from being done by said derived subcommands which would be duplicative of work done during the processing of said backup daemon; wherein said means for checking said backup daemon comprises means for checking the contents of an event word to determine if said event word contains either a null value indicating said backup daemon is busy, or a process identification value indicating said backup daemon is sleeping; wherein said means for waking up said backup daemon comprises placing a null value in said event word indicating said backup daemon is busy. - View Dependent Claims (5, 6)
-
-
7. An apparatus comprising:
-
a control workstation; a plurality of nodes, one of said nodes being designated a primary node and one of said nodes being designated a backup node, said backup node having a user space for storing user programs and a kernel space for storing kernel programs; a backup daemon in the user space of said backup node; shell scripts in said control workstation sending a command string from said control workstation to said backup node, said command string to be synchronized with the operation of said backup daemon; a user module in the user space of said backup node and communicating with said shell scripts; a kernel module in said kernel space communicating with said user module; a daemon checking routine in said kernel module checking said backup daemon in said backup node to determine if said backup daemon is sleeping; a work queue in said kernel space for storing work for said backup daemon; a command inserting routine in said kernel module, said command inserting routine inserting subcommands derived from said command string into said work queue in the event said backup daemon is sleeping, wherein said commands are enqueued for processing by said backup daemon; a wake up routine in said kernel module waking up said backup daemon in the event said backup daemon is asleep such that said backup daemon will process said derived subcommands in said queue; and a fail routine in said kernel module ending subcommands derived from said command string in the event said backup daemon is not sleeping, thereby synchronizing said derived subcommands with the processing of said backup daemon. - View Dependent Claims (8, 9)
-
-
10. An apparatus comprising:
-
a control workstation; a plurality of nodes, one of said nodes being designated a primary node and one of said nodes being designated a backup node, said backup node having a user space for storing user programs and a kernel space for storing kernel programs; a backup daemon in the user space of said backup node; shell scripts in said control workstation sending a command string from said control workstation to said backup node, said command string to be synchronized with the operation of said backup daemon; a user module in the user space of said backup node and communicating with said shell scripts; a kernel module in said kernel space communicating with said user module; a daemon checking routine in said kernel module checking said backup daemon in said backup node to determine if said backup daemon is sleeping; a work queue in said kernel space for storing work for said backup daemon; a command inserting routine in said kernel module, said command inserting routine inserting subcommands derived from said command string into said work queue in the event said backup daemon is sleeping, wherein said commands are enqueued for processing by said backup daemon; a wake up routine in said kernel module waking up said backup daemon in the event said backup daemon is asleep such that said backup daemon will process said derived subcommands in said queue; and a fail routine in said kernel module ending subcommands derived from said command string in the event said backup daemon is not sleeping, thereby synchronizing said derived subcommands with the processing of said backup daemon an event word in said kernel space containing a value indicative if said backup daemon is sleeping, said daemon checking routine checking the contents of an event word to determine if said event word contains either a null value indicating said backup daemon is busy, or a process identification value indicating said backup daemon is sleeping wherein said wake up routine places a null value in said event word indicating said backup daemon is busy. - View Dependent Claims (11, 12)
-
Specification