Cluster system, server cluster, cluster member, method for making cluster member redundant and load distributing method
AssigneeNEC Corporation
InventorsShuichi Karino, Masahiro Jibiki
Life of this patent
Estimating the term…
Abstract
A protocol process to a reception traffic is executed by cluster members of a current use system and a backup system. The backup system discards the reception traffic subjected to the protocol process and only the current use system transfers the reception traffic to an AP. The AP makes an application process redundant in an independent method. The cluster member in charge of the protocol process to the reception traffic is determined by using a data in a lower layer and the cluster member in charge of the application process is determined by using a data in a higher layer after the protocol process.
Claims62
A cluster system comprising a plurality of cluster members,
- wherein each of said plurality of cluster members comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a communication API section configured to read data from said protocol processing section and write data in said protocol processing section depending on a kind of call;
- and
- a trapping section configured to trap a call to said communication API section from an application program operating on a self cluster member to call said communication API section instead of the application program, to execute a process determined depending on the kind of the call, to the data read from said protocol processing section by said communication API section based on the call or the data written into said protocol processing section by said communication API section based on the call, and to execute a process determined based on a kind of a data transmitted from another cluster member to the transmitted data,
- each of said plurality of cluster members is operable independently and individually to execute a communication process via an API section in an application process and a protocol process.
A cluster system comprising a plurality of cluster members connected by a network to each other and operable independently and individually,
- wherein each of said plurality of cluster members operating as a current use system comprises a processor and a memory comprising:
- a current use system protocol processing section configured to execute a protocol process;
- a current use system communication API section configured to read a data from said current use system protocol processing section in response to a read call and to write a data in said current use system protocol processing section in response to a write call;
- a current use system call trapping section configured to trap the read call or the write call from an application program operating on said self cluster member, to carry out the read call to said current use system communication API section instead of the application program when the read call is trapped, to transfer the data read from said current use system protocol processing section by said current use system communication API section in response to the read call to the application program, and to carry out the write call to said current use system communication API section instead of the application program when the write call is trapped;
- and
- a current use system transferring section configured to transfer a replica data of a write data to one cluster member of a backup system when said current use system call trapping section traps the write call, and
- at least one of said plurality of cluster members operating as the backup system, comprises:
- a backup system protocol processing section configured to execute the protocol process;
- a backup system communication API section configured to read a data from said backup system protocol processing section in response to a read call and to write a data in said backup system protocol processing section in response to a write call;
- a backup system writing section configured to carry out the write call to said backup system communication API section when the replica data is transferred from said current use system transferring section such that the replica data is written in said backup system protocol processing section;
- and
- a discarding section configured to discard a reception data and a transmission data subjected to a protocol process by said backup system protocol processing section.
A cluster system comprising a plurality of cluster members,
- wherein each of said plurality of cluster members comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a reception side distributing filter configured to transfer the reception packet to said protocol processing section when determining that the reception packet is the reception packet to be processed in said self cluster member, based on a predetermined protocol processing distribution rule;
- a communication API section configured to read a data from said protocol processing section in response to a read call and to write a write data in said protocol processing section in response to a write call;
- a call trapping section configured to trap the read call or the write call from an application program operating on a self cluster member, to carry out the read call to said communication API section instead of the application program when trapping the read call, to transfer a reception data to the application program when a data read from said protocol processing section by said communication API section in response to the read call is the reception data from another cluster member, to transfer a transmission data to said protocol processing section when being the transmission data from another cluster member, to transfer the data to an application process distributing section in a case other than the above cases, and to transfer the transmission data instructed by the trapped write call to a protocol process distributing section when trapping the write call;
- said application process distributing section configured to determine the cluster member in charge of an application process to the data transferred from said call trapping section based on a predetermined application process distribution rule, to transfer the data to the application program operating on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to a transferring section when the determined cluster member is another cluster member;
- said protocol process distributing section configured to determine the cluster member in charge of a protocol process to the data transferred from said call trapping section based on a predetermined protocol process distribution rule, to transfer the data to the protocol processing section on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to said transferring section when the determined cluster member is another cluster member;
- and
- said transferring section configured to transmit the data transferred from said application process distributing section and said protocol process distributing section to the other cluster member.
A cluster system comprising a plurality of cluster members, each of the plurality of cluster members comprising a processor and a memory, wherein a traffic is distributed by picking up a portion in charge by a self cluster member from traffic broadcasted to all of said plurality of cluster members and discarding a remaining portion,
- (a) a reception side distributing filter configured to hold a calculation rule used to calculate an integer value from a predetermined section of a packet and an integer value allocated to said self cluster member is provided between a reception interface and a protocol processing section of each cluster member,
- said reception side distributing filter calculates the integer value for every packet by using the calculation rule, and transfers the packet to a receiving process of said protocol processing section only when the calculation result is equal to the allocated integer value,
- an identical value is allocated to said reception side distributing filters of a current use system and a backup system,
- distribution of the traffic and a redundant process of a protocol process are made possible by allocating a set of integer values as the calculation results obtained based on the calculation rule to said plurality of cluster members with no space,
- (b) a distributing and redundancy processing section configured to hold a calculation rule used to calculate an integer value from an application data contained in the reception packet and a distribution rule as a list of integer values allocated to said plurality of cluster members is provided between the application program and the protocol processing section of each cluster member,
- said distributing and redundancy processing section transfers a data to the cluster member allocated with the integer value which is calculated from the reception data based on the distribution rule, such that a reading process of the data is executed when the application program of the destination cluster member executes the reading process,
- said distributing and redundancy processing section holds the calculation rule used to calculate an integer value by using the same rule as said reception side distributing filter from header information used for a transmitting process of the data written by the application program and the list of the integer values allocated for all of said plurality of cluster members, calculates the integer value based on the calculation rule used for the data written by the application program, transfers a write data to a plurality of cluster members allocated with the integer value, and make allocation of the cluster members to the application process and a redundant protocol process controllable independently, and
- (c) a transmission side packet filter configured to discard a packet processed as a backup system cluster member is provided between a transmission side interface and said protocol processing section of each of said plurality of cluster members.
A server cluster comprising a plurality of cluster members,
- wherein each of said plurality of cluster members comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a communication API section configured to read data from said protocol processing section and write data in said protocol processing section depending on a kind of call;
- and
- a trapping section configured to trap a call to said communication API section from an application program operating on a self cluster member to call said communication API section instead of the application program, to execute a process determined depending on the kind of the call, to the data read from said protocol processing section by said communication API section based on the call or the data written into said protocol processing section by said communication API section based on the call, and to execute a process determined based on a kind of a data transmitted from another cluster member to the transmitted data,
- each of said plurality of cluster members is operable independently and individually to execute a communication process via an API section in an application process and a protocol process.
A server cluster comprising a plurality of cluster members connected by a network to each other and operable independently and individually,
- wherein each of said plurality of cluster members operating as a current use system comprises a processor and a memory comprising:
- a current use system protocol processing section configured to execute a protocol process;
- a current use system communication API section configured to read a data from said current use system protocol processing section in response to a read call and to write a data in said current use system protocol processing section in response to a write call;
- a current use system call trapping section configured to trap the read call or the write call from an application program operating on said self cluster member, to carry out the read call to said current use system communication API section instead of the application program when the read call is trapped, to transfer the data read from said current use system protocol processing section by said current use system communication API section in response to the read call to the application program, and to carry out the write call to said current use system communication API section instead of the application program when the write call is trapped;
- and
- a current use system transferring section configured to transfer a replica data of a write data to one cluster member of a backup system when said current use system call trapping section traps the write call, and
- at least one of said plurality of cluster members operating as the backup system, comprises:
- a backup system protocol processing section configured to execute the protocol process;
- a backup system communication API section configured to read a data from said backup system protocol processing section in response to a read call and to write a data in said backup system protocol processing section in response to a write call;
- a backup system writing section configured to carry out the write call to said backup system communication API section when the replica data is transferred from said current use system transferring section such that the replica data is written in said backup system protocol processing section;
- and
- a discarding section configured to discard a reception data and a transmission data subjected to a protocol process by said backup system protocol processing section.
A server cluster comprising a plurality of cluster members,
- wherein each of said plurality of cluster members comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a reception side distributing filter configured to transfer the reception packet to said protocol processing section when determining that the reception packet is the reception packet to be processed in said self cluster member, based on a predetermined protocol processing distribution rule;
- a communication API section configured to read a data from said protocol processing section in response to a read call and to write a write data in said protocol processing section in response to a write call;
- a call trapping section configured to trap the read call or the write call from an application program operating on a self cluster member, to carry out the read call to said communication API section instead of the application program when trapping the read call, to transfer a reception data to the application program when a data read from said protocol processing section by said communication API section in response to the read call is the reception data from another cluster member, to transfer a transmission data to said protocol processing section when being the transmission data from another cluster member, to transfer the data to an application process distributing section in a case other than the above cases, and to transfer the transmission data instructed by the trapped write call to a protocol process distributing section when trapping the write call;
- said application process distributing section configured to determine the cluster member in charge of an application process to the data transferred from said call trapping section based on a predetermined application process distribution rule, to transfer the data to the application program operating on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to a transferring section when the determined cluster member is another cluster member;
- said protocol process distributing section configured to determine the cluster member in charge of a protocol process to the data transferred from said call trapping section based on a predetermined protocol process distribution rule, to transfer the data to the protocol processing section on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to said transferring section when the determined cluster member is another cluster member;
- and
- said transferring section configured to transmit the data transferred from said application process distributing section and said protocol process distributing section to the other cluster member.
A server cluster comprising a plurality of cluster members, each of the plurality of cluster members comprising a processor and a memory, wherein a traffic is distributed by picking up a portion in charge by a self cluster member from the traffic broadcasted to all of said plurality of cluster members and discarding a remaining portion,
- a transmission side distributing filter and a reception side distributing filter configured to hold a calculation rule used to calculate an integer value from a predetermined section of a packet and an integer value allocated to said self cluster member are provided between a transmission interface and a reception interface and a protocol processing section of each cluster member,
- said reception side distributing filter calculates the integer value for every packet by using the calculation rule, and transfers the packet to a receiving process of said protocol processing section only when the calculation result is equal to the allocated integer value,
- said transmission side distributing filter calculates the integer value for every packet transferred from said protocol processing section by using the calculation rule, and transfers the packet to said transmission interface only when the calculation result is equal to the allocated integer value,
- an identical value is allocated to said reception side distributing filters of a current use system and a backup system, and a redundant process is made possible by distributing the value to said transmission side distributing filter of said current use system, and
- distribution of the traffic and the redundant process of a protocol process are made possible by allocating a set of integer values as the calculation results obtained based on the calculation rule to said plurality of cluster members with no space.
A cluster member comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a communication API section configured to read data from said protocol processing section and write data in said protocol processing section depending on a kind of call;
- and
- a trapping section configured to trap a call to said communication API section from an application program operating on a self cluster member to call said communication API section instead of the application program, to execute a process determined depending on the kind of the call, to the data read from said protocol processing section by said communication API section based on the call or the data written into said protocol processing section by said communication API section based on the call, and to execute a process determined based on a kind of a data transmitted from another cluster member to the transmitted data,
- each of said plurality of cluster members is operable independently and individually to execute a communication process via an API section in an application process and a protocol process.
A cluster member which is operable independently and individually, comprising a processor and a memory comprising:
- a current use system protocol processing section configured to execute a protocol process;
- a current use system communication API section configured to read a data from said current use system protocol processing section in response to a read call and to write a data in said current use system protocol processing section in response to a write call;
- a current use system call trapping section configured to trap the read call or the write call from an application program operating on said self cluster member, to carry out the read call to said current use system communication API section instead of the application program when the read call is trapped, to transfer the data read from said current use system protocol processing section by said current use system communication API section in response to the read call to the application program, and to carry out the write call to said current use system communication API section instead of the application program when the write call is trapped;
- and
- a current use system transferring section configured to transfer a replica data of a write data to one cluster member of a backup system when said current use system call trapping section traps the write call.
A cluster member which is operable independently and individually, comprising a processor and a memory comprising:
- a backup system protocol processing section configured to execute a protocol process;
- a backup system communication API section configured to read a data from said backup system protocol processing section in response to a read call and to write a write data in said backup system protocol processing section in response to a write call;
- an application program which calls said backup system communication API section to execute communication;
- a backup system writing section configured to carry out the write call to said backup system communication API section when the replica data is transferred from said current use system cluster member such that the replica data is written in said backup system protocol processing section;
- and
- a discarding section configured to discard a reception data and a transmission data which are subjected to a protocol process by said backup system protocol processing section,
- wherein said backup system writing section and said discarding section are provided between said backup system communication API section and said application program.
A cluster member comprises a processor and a memory comprising:
- a protocol processing section configured to execute a protocol process;
- a reception side distributing filter configured to transfer the reception packet to said protocol processing section when determining that the reception packet is the reception packet to be processed in said self cluster member, based on a predetermined protocol processing distribution rule;
- a communication API section configured to read a data from said protocol processing section in response to a read call and to write a write data in said protocol processing section in response to a write call;
- a call trapping section configured to trap the read call or the write call from an application program operating on a self cluster member, to carry out the read call to said communication API section instead of the application program when trapping the read call, to transfer a reception data to the application program when a data read from said protocol processing section by said communication API section in response to the read call is the reception data from another cluster member, to transfer a transmission data to said protocol processing section when being the transmission data from another cluster member, to transfer the data to an application process distributing section in a case other than the above cases, and to transfer the transmission data instructed by the trapped write call to a protocol process distributing section when trapping the write call;
- said application process distributing section configured to determine the cluster member in charge of an application process to the data transferred from said call trapping section based on a predetermined application process distribution rule, to transfer the data to the application program operating on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to a transferring section when the determined cluster member is another cluster member;
- said protocol process distributing section configured to determine the cluster member in charge of a protocol process to the data transferred from said call trapping section based on a predetermined protocol process distribution rule, to transfer the data to the protocol processing section on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to said transferring section when the determined cluster member is another cluster member;
- and
- said transferring section configured to transmit the data transferred from said application process distributing section and said protocol process distributing section to the other cluster member.
A cluster member comprises a processor and a memory comprising:
- a reception side distributing filter provided between a transmission and reception interface and a protocol processing section and configured to hold a calculation rule used to calculate an integer value from a predetermined section of a packet and an integer value allocated to said cluster member itself,
- wherein said reception side distributing filter calculates the integer value for every packet by using the calculation rule, and transfers the packet to a receiving process of said protocol processing section only when the calculation result is equal to the allocated integer value,
- said transmission side distributing filter calculates the integer value for every packet transferred from said protocol processing section by using the calculation rule, such that the packet is transmitted from said transmission interface, only when the calculation result is equal to the allocated integer value,
- an identical value is allocated to said reception side distributing filters of a current use system and a backup system, and the value is allocated to said current use system transmission side distributing filter to allow a redundancy process, and
- distribution of a traffic and the redundant process are made possible by allocating a set of integer values as the calculation results obtained based on the calculation rule to a plurality of cluster members with no space.
A method of making a cluster member redundant, wherein said cluster member is operable independently and individually, said method comprising:
- a current use system call trapping step in which a current use system cluster member operating as a current system traps the read call or the write call from an application program operating on said cluster member itself, carries out the read call to said current use system communication API section instead of the application program when the read call is trapped, transfers the data read from said current use system protocol processing section by said current use system communication API section in response to the read call to the application program, and carries out the write call to said current use system communication API section instead of the application program when the write call is trapped;
- a current use system transferring step in which said current use system cluster member transfers a replica data of a write data to one cluster member of a backup system to said cluster member itself when the write call is trapped in said current use system call trapping step;
- and
- a backup system writing step in which a backup system cluster member operating as a backup system carries out the write call to said backup system communication API section when the replica data is transferred from said current use system cluster member such that the replica data is written in a backup system protocol processing section;
- and
- an application program which calls said backup system communication API section to execute communication;
- a discarding step in which said backup system cluster member discards a reception data and a transmission data subjected to a protocol process by said backup system protocol processing section,
- wherein said backup system writing step and said discarding step are provided between said backup system communication API section and said application program.
A load balancing method comprising:
- a reception side distributing step in which a cluster member transfers a reception packet to a protocol processing section when determining that the reception packet is a reception packet to be processed in said cluster member itself, based on a predetermined protocol processing distribution rule;
- a call trapping step in which said cluster member traps a read call or a write call from an application program operating on said cluster member, carries out the read call to a communication API section instead of the application program when the read call is trapped, transfers the reception data to the application program when a data read from said protocol processing section by said communication API section in response to the read call is the reception data from another cluster member, transfers a transmission data to said protocol processing section when being the transmission data from another cluster member, transfers the data to an application process distributing step in a case other than the above cases, and transfers the transmission data instructed by the trapped write call to a protocol process distributing step when the write call is trapped;
- said application process distributing step in which said cluster member determines a cluster member in charge of an application process to the data transferred from said call trapping step based on a predetermined application process distribution rule, transfers the data to the application program operating on said cluster member when the determined cluster member is said cluster member, and transfers the data to a transferring step when the determined cluster member is another cluster member;
- said protocol process distributing step in which said cluster member determines the cluster member in charge of a protocol process to the data transferred from said call trapping section based on a predetermined protocol process distribution rule, transfers the data to said protocol processing section on said cluster member when the determined cluster member is said cluster member, and transfers the data to said transferring step when the determined cluster member is another cluster member;
- and
- said transferring step of transferring the data transferred in said application process distributing step and said protocol process distributing step to the other cluster member.
A load balancing method comprising a plurality of cluster members, wherein a traffic is distributed by picking up a portion in charge by a self cluster member from the traffic broadcasted to all of said plurality of cluster members and discarding a remaining portion, said load balancing method comprising:
- a transmission side distributing filter and a reception side distributing filter configured to hold a calculation rule used to calculate an integer value from a predetermined section of a packet and the integer value allocated to said self cluster member are provided between a transmission interface and a reception interface and a protocol processing section of each cluster member,
- said reception side distributing filter calculates the integer value for every packet by using the calculation rule, and transfers the packet to a receiving process of said protocol processing section only when the calculation result is equal to the allocated integer value,
- said transmission side distributing filter calculates the integer value for every packet transferred from said protocol processing section by using the calculation rule, and transfers the packet to said transmission interface only when the calculation result is equal to the allocated integer value,
- an identical value is allocated to said reception side distributing filters of a current use system and a backup system, and a redundant process is made possible by distributing the value to said transmission side distributing filter of only said current use system, and
- distribution of the traffic and the redundant process of a protocol process are made possible by allocating a set of integer values as the calculation results obtained based on the calculation rule to said plurality of cluster members with no space.
A non-transitory computer readable recording medium in which a computer executable program code is recorded for making a computer to function as:
- a protocol processing section configured to execute a protocol process;
- a communication API section configured to read data from said protocol processing section and write data in said protocol processing section depending on a kind of call;
- and
- a trapping section configured to trap a call to said communication API section from an application program operating on a self cluster member to call said communication API section instead of the application program, to execute a process determined depending on the kind of the call, to the data read from said protocol processing section by said communication API section based on the call or the data written into said protocol processing section by said communication API section based on the call, and to execute a process determined based on a kind of a data transmitted from another cluster member to the transmitted data,
- each of said plurality of cluster members is operable independently and individually to execute a communication process via an API section in an application process and a protocol process.
A non-transitory computer readable recording medium in which a computer executable program code is recorded for making a computer to function as:
- a current use system protocol processing section configured to execute a protocol process;
- a current use system communication API section configured to read a data from said current use system protocol processing section in response to a read call and to write a data in said current use system protocol processing section in response to a write call;
- a current use system call trapping section configured to trap the read call or the write call from an application program operating on said self cluster member, to carry out the read call to said current use system communication API section instead of the application program when the read call is trapped, to transfer the data read from said current use system protocol processing section by said current use system communication API section in response to the read call to the application program, and to carry out the write call to said current use system communication API section instead of the application program when the write call is trapped;
- and
- a current use system transferring section configured to transfer a replica data of a write data to one cluster member of a backup system when said current use system call trapping section traps the write call.
A non-transitory computer readable recording medium in which a computer executable program code is recorded for making a computer to function as:
- a backup system protocol processing section configured to execute a protocol process;
- a backup system communication API section configured to read a data from said backup system protocol processing section in response to a read call and to write a write data in said backup system protocol processing section in response to a write call;
- a backup system writing section configured to carry out the write call to said backup system communication API section when the replica data is transferred from said current use system cluster member such that the replica data is written in said backup system protocol processing section;
- an application program which calls said backup system communication API section to execute communication;
- and
- a discarding section configured to discard a reception data and a transmission data which are subjected to a protocol process by said backup system protocol processing section,
- wherein said backup system writing section and said discarding section are provided between said backup system communication API section and said application program.
A non-transitory computer readable recording medium in which a computer executable program code is recorded for making a computer to function as:
- a protocol processing section configured to execute a protocol process;
- a reception side distributing filter configured to transfer the reception packet to said protocol processing section when determining that the reception packet is the reception packet to be processed in said self cluster member, based on a predetermined protocol processing distribution rule;
- a communication API section configured to read a data from said protocol processing section in response to a read call and to write a write data in said protocol processing section in response to a write call;
- a call trapping section configured to trap the read call or the write call from an application program operating on a self cluster member, to carry out the read call to said communication API section instead of the application program when trapping the read call, to transfer a reception data to the application program when a data read from said protocol processing section by said communication API section in response to the read call is the reception data from another cluster member, to transfer a transmission data to said protocol processing section when being the transmission data from another cluster member, to transfer the data to an application process distributing section in a case other than the above cases, and to transfer the transmission data instructed by the trapped write call to a protocol process distributing section when trapping the write call;
- said application process distributing section configured to determine the cluster member in charge of an application process to the data transferred from said call trapping section based on a predetermined application process distribution rule, to transfer the data to the application program operating on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to a transferring section when the determined cluster member is another cluster member;
- said protocol process distributing section configured to determine the cluster member in charge of a protocol process to the data transferred from said call trapping section based on a predetermined protocol process distribution rule, to transfer the data to the protocol processing section on said self cluster member when the determined cluster member is said self cluster member, and to transfer the data to said transferring section when the determined cluster member is another cluster member;
- and
- said transferring section configured to transmit the data transferred from said application process distributing section and said protocol process distributing section to the other cluster member.
Dependencies are inferred from the claim text.