EP1376975A1 - Protocol duplexer and protocol duplexing method - Google Patents
Protocol duplexer and protocol duplexing method Download PDFInfo
- Publication number
- EP1376975A1 EP1376975A1 EP02711260A EP02711260A EP1376975A1 EP 1376975 A1 EP1376975 A1 EP 1376975A1 EP 02711260 A EP02711260 A EP 02711260A EP 02711260 A EP02711260 A EP 02711260A EP 1376975 A1 EP1376975 A1 EP 1376975A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- packet
- packets
- queue
- protocol
- storing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2043—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
Definitions
- the present invention generally relates to a duplicated computer system, and in particular to the technology for duplicating protocol on a duplicated computer system.
- the present invention was made to solve this problem.
- the object of the present invention is to provide a method of duplicating protocol so that the order of reception of packets and the contents of them on the two computers of a duplicated computer system are made identical for packets of specified communication, and a duplicated computer system with protocols duplicated by the method.
- the invention of claim 1 is a protocol duplicating configuration for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space, and make up a duplicated computer system for packets of specified communications, characterized by having the following means on each of the first and second computers: queue storing means for storing packets to be processed in the order of reception; protocol processing means that is executed in response to the reception of packets from the network; temporary queue storing means for temporally storing the packets having been processed by the protocol processing means in a queue; and virtual queue storing means for storing packets of target communication for the protocol duplication in a queue.
- the invention of claim 2 is characterized in that the protocol processing means has packet taking-in means which takes in packets from the queue storing means and determines whether each packet taken in is a packet of target communication for the protocol duplication, communication processing means for performing protocol processing on the packet, and packet output means for outputting the packet having been processed by the protocol processing means to the temporary queue storing means, and the protocol processing means on the first computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specified communication, and if the packet is not a packet of the specified communication, performs the protocol processing on the packet by means of the communication processing means and outputs the packet to the temporary queue storing means by means of the packet output means.
- the invention of claim 3 is characterized in that the protocol processing means on the first computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, performs the protocol processing on the packet by means of the communication processing means and, in addition, stores the packet in the virtual queue storing means.
- the invention of claim 4 is characterized in that the protocol processing means on the second computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, discards the packet and passes the packet at the head of the queue in the virtual queue storing means to the communication processing means.
- the invention of claim 5 is characterized in that the protocol processing means on the second computer takes in the packets stored in the queue storing means one by one by means of the taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, compares the packet with the packet at the head of the queue in the virtual queue storing means, and only if both packets are identical, discards the packet taken in and passes the packet at the head of the queue in the virtual queue storing means to the communication processing means.
- the invention of claim 6 is a method of duplicating protocol for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space and make up a duplicated computer system for packets of specified communication, characterized by comprising the following steps executed on each computer storing packets received from the network in a queue in order of reception; executing protocol processing in response to the reception of packets from the network; temporally storing packets having been subjected to the protocol processing in a temporary queue; and storing packets of target communication for the protocol duplication in a virtual queue.
- the invention of claim 7 is characterized in that the protocol processing step comprises: packet taking-in step which takes in packets one by one from the queue stored by the step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication; communication processing step which performs the protocol processing on the packet; and packet outputting step which outputs the packet from the communication processing step to the step of temporally storing processed packets in a queue; and takes in packets one by one from the queue stored by the step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication by the packet taking-in step on the first computer, and if the packet is not a target packet, performs the protocol processing on the packet by the communication processing step and outputs the packet to the step of temporally storing processed packets in a queue by the packet outputting step.
- the invention of claim 8 is characterized by taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the first computer and, if the packet is a target packet, performing the protocol processing on the packet by the communication processing step and, in addition, storing the packet in the virtual queue by the step of storing target packets in a virtual queue.
- the invention of claim 9 is characterized by, on the second computer, taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the second computer and, if the packet is a target packet, discarding the packet take in and passing the packet at the head of the virtual queue to the communication processing step.
- the invention of claim 10 is characterized by, on the second computer, taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the second computer, and if the packet is a target packet, comparing the packet with the packet at the head of the virtual queue, and only if both packets are identical, discarding the packet taken in and passing the packet at the head of the virtual queue to the communication processing means.
- FIG. 1 is a schematic block diagram that shows only the part necessary for explanation of a duplicated computer system to which the method of duplicating protocol according to the present invention can be applied.
- a duplicated computer system 1 consists of two computers 10 and 20 that are connected to a network.
- the computers 10 and 20 may have the same configuration or different configurations depending on the purpose of use. Since the necessary components are common to both computers 10 and 20, they are assigned corresponding reference numerals. Each of the computers 10 and 20 may be any type of computer as long as it has a controller 11, 21 including a CPU (Central Processing Unit) and a memory (not shown in the Figure), NIC (Network Interface Card) 12, 22 serving as the interface to the network, shared memory 13, 23 used for communication between the computers 10 and 20.
- NIC Network Interface Card
- the NICs 12 and 22 are assigned the same MAC (Media Access Control) address Amac so that the computers 10 and 20 appear as the same computer to the network.
- the shared memories 13 and 23 are dual-port RAMs (Random Access Memories), which are used to make possible the inter-computer communication between the computers 10 and 20 of the order of reception and contents of packets of target communication to which the protocol duplication of the present invention is applied, and have the same addresses assigned to form the same address spaces (referred to as shared memory spaces) on the individual computers.
- the shared memories 13 and 23 are configured so that, when either the computer 10 or 20 writes data to its own shared memory space, the same data is written to both shared memories 13 and 23 substantially at the same time.
- the duplication of protocol according to the present invention is to forcibly make the order of reception and contents of packets on one computer identical to those on the other computer.
- the computer 10 is therefore referred to as the primary computer, and the computer 20 as the secondary computer.
- FIG. 2 is a diagram illustrating the principle of the duplication of protocol according to the present invention.
- boxes 100 and 200 show the protocol processing performed on the computers 10 and 20 in response to the reception of packets from the network, for example.
- the protocol may be any one suitable for the use of the computer system 1, for example TCP (Transfer Control Protocol), but is a standard protocol with part of it modified as described later in detail.
- Assigned reference numbers 30 and 40 are queues in which packets to be subjected to the protocol processing 100 and 200 are stored in order of being processed.
- Assigned reference numbers 32 and 42 are queues in which packets having undergone the protocol processing 100 and 200 are temporarily stored.
- Another queue 50 (referred to as a virtual queue) for storing only packets of target communication to which the protocol duplication according to the present invention is applied is generated in each of the shared memories 13 and 23. Since storage into the shared memories 13 and 23 are performed so that the contents in them are always identical as described above, only one of the shared memories 13 and 23 is shown in Figure 2.
- a packet is taken in from the queue 30 and checked to determine whether it is a packet (referred to as a target packet) used in specified communication (target communications) to which the duplication of protocol according to the present invention is applied.
- a packet referred to as a target packet
- target communications target communications
- the duplicated computer system 1 receives packets from a network using TCP for the protocol, for example. In that case, it is possible to determine whether a packet taken in is a target packet using the source MAC address, source IP address, or source port address contained in the packet, for example.
- the information (filtering information) used to determine whether a packet taken in is a target packet is not limited to the above-mentioned source MAC address, source IP address, or source port address, and the decision can be made using any information that is contained in packets and can be used to identify packets.
- the manufacturer, vendor, system administrator or the like of the duplicated computer system 1 write beforehand the information used as the decision criteria to identify target communication or packets in a predetermined nonvolatile storage location of each computer as much as it may be needed.
- a packet taken in is a target packet is determined using the filtering information. If the packet taken in is not a target packet, it is simply passed to protocol processing 130 in the ordinary manner. If the packet is a target packet, it is passed to the protocol processing 130 and also added to the virtual queue 50 in the shared memory 13. By this operation, only target packets, which have been subjected to the protocol processing 130 on the computer 10, are stored in the virtual queue 50.
- a packet is taken in from the queue 40 and the packet taken in is checked to determine whether it is a target packet, in the same manner as in the Q taking-in processing 110. If the packet taken in is not a target packet, it is simply passed to the protocol processing 250. If the packet taken in is a target packet, either of the following two methods may be employed: (1) Discarding the target packet taken in and passing the packet at the head of the virtual queue 50 to the protocol processing 250 or (2) Comparing the target packet taken in with the one at the head of the virtual queue 50 (230) and, only if they are identical, discarding the target packet taken in and passing the one at the head of the virtual queue 50 to the protocol processing 250.
- the present invention therefore can provide a method of duplicating protocol so that the order of reception and the contents of packets on the two computers of a duplicated computer system are made identical for packets of specified communications, and a duplicated computer system with protocols duplicated in this manner.
Abstract
Description
- The present invention generally relates to a duplicated computer system, and in particular to the technology for duplicating protocol on a duplicated computer system.
- There are various conventional methods of constructing a duplicated computer system using two computers each connected to a network. In such architectures, however, the order of reception of packets which are sent from the same sender and received by the two computers are not always the same. Although no problem occurs in uses for which the order of reception of packets does not matter if an switchover between the computers occurs in case of failure, it is not enough just to duplicate the hardware for uses in which the order of reception of packets does matter.
- The present invention was made to solve this problem. The object of the present invention is to provide a method of duplicating protocol so that the order of reception of packets and the contents of them on the two computers of a duplicated computer system are made identical for packets of specified communication, and a duplicated computer system with protocols duplicated by the method.
- The invention of
claim 1 is a protocol duplicating configuration for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space, and make up a duplicated computer system for packets of specified communications, characterized by having the following means on each of the first and second computers: queue storing means for storing packets to be processed in the order of reception; protocol processing means that is executed in response to the reception of packets from the network; temporary queue storing means for temporally storing the packets having been processed by the protocol processing means in a queue; and virtual queue storing means for storing packets of target communication for the protocol duplication in a queue. - The invention of
claim 2 is characterized in that the protocol processing means has packet taking-in means which takes in packets from the queue storing means and determines whether each packet taken in is a packet of target communication for the protocol duplication, communication processing means for performing protocol processing on the packet, and packet output means for outputting the packet having been processed by the protocol processing means to the temporary queue storing means, and the protocol processing means on the first computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specified communication, and if the packet is not a packet of the specified communication, performs the protocol processing on the packet by means of the communication processing means and outputs the packet to the temporary queue storing means by means of the packet output means. - The invention of
claim 3 is characterized in that the protocol processing means on the first computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, performs the protocol processing on the packet by means of the communication processing means and, in addition, stores the packet in the virtual queue storing means. - The invention of claim 4 is characterized in that the protocol processing means on the second computer takes in the packets stored in the queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, discards the packet and passes the packet at the head of the queue in the virtual queue storing means to the communication processing means.
- The invention of claim 5 is characterized in that the protocol processing means on the second computer takes in the packets stored in the queue storing means one by one by means of the taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, compares the packet with the packet at the head of the queue in the virtual queue storing means, and only if both packets are identical, discards the packet taken in and passes the packet at the head of the queue in the virtual queue storing means to the communication processing means.
- The invention of claim 6 is a method of duplicating protocol for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space and make up a duplicated computer system for packets of specified communication, characterized by comprising the following steps executed on each computer storing packets received from the network in a queue in order of reception; executing protocol processing in response to the reception of packets from the network; temporally storing packets having been subjected to the protocol processing in a temporary queue; and storing packets of target communication for the protocol duplication in a virtual queue.
- The invention of claim 7 is characterized in that the protocol processing step comprises: packet taking-in step which takes in packets one by one from the queue stored by the step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication; communication processing step which performs the protocol processing on the packet; and packet outputting step which outputs the packet from the communication processing step to the step of temporally storing processed packets in a queue; and takes in packets one by one from the queue stored by the step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication by the packet taking-in step on the first computer, and if the packet is not a target packet, performs the protocol processing on the packet by the communication processing step and outputs the packet to the step of temporally storing processed packets in a queue by the packet outputting step.
- The invention of claim 8 is characterized by taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the first computer and, if the packet is a target packet, performing the protocol processing on the packet by the communication processing step and, in addition, storing the packet in the virtual queue by the step of storing target packets in a virtual queue.
- The invention of claim 9 is characterized by, on the second computer, taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the second computer and, if the packet is a target packet, discarding the packet take in and passing the packet at the head of the virtual queue to the communication processing step.
- The invention of
claim 10 is characterized by, on the second computer, taking in packets one by one from the queue stored by the step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by the packet taking-in step on the second computer, and if the packet is a target packet, comparing the packet with the packet at the head of the virtual queue, and only if both packets are identical, discarding the packet taken in and passing the packet at the head of the virtual queue to the communication processing means. -
- Figure 1 is a schematic block diagram that shows only the part necessary for explanation of a duplicated computer system to which the method of duplicating protocol according to the present invention is applied.
- Figure 2 is a diagram illustrating the principle of the method of duplicating protocol according to the present invention.
-
- Figure 1 is a schematic block diagram that shows only the part necessary for explanation of a duplicated computer system to which the method of duplicating protocol according to the present invention can be applied. In Figure 1, a duplicated
computer system 1 consists of twocomputers - The
computers computers computers controller 11, 21 including a CPU (Central Processing Unit) and a memory (not shown in the Figure), NIC (Network Interface Card) 12, 22 serving as the interface to the network, sharedmemory 13, 23 used for communication between thecomputers - The
NICs 12 and 22 are assigned the same MAC (Media Access Control) address Amac so that thecomputers memories 13 and 23 are dual-port RAMs (Random Access Memories), which are used to make possible the inter-computer communication between thecomputers memories 13 and 23 are configured so that, when either thecomputer memories 13 and 23 substantially at the same time. - Next, the operation of the duplicated
computer system 1 is described below. The duplication of protocol according to the present invention is to forcibly make the order of reception and contents of packets on one computer identical to those on the other computer. For convenience sake, the case where the order in which packets are subjected to protocol processing on thecomputer 20 is made equal to that on thecomputer 10 is described below. Thecomputer 10 is therefore referred to as the primary computer, and thecomputer 20 as the secondary computer. - Figure 2 is a diagram illustrating the principle of the duplication of protocol according to the present invention. In Figure 2,
boxes computers computer system 1, for example TCP (Transfer Control Protocol), but is a standard protocol with part of it modified as described later in detail. Assignedreference numbers protocol processing reference numbers protocol processing memories 13 and 23. Since storage into the sharedmemories 13 and 23 are performed so that the contents in them are always identical as described above, only one of the sharedmemories 13 and 23 is shown in Figure 2. - In actual operation, first by the Q (used to stand for a queue) taking-in
processing 110 of theprotocol processing 100 on theprimary server 10, a packet is taken in from thequeue 30 and checked to determine whether it is a packet (referred to as a target packet) used in specified communication (target communications) to which the duplication of protocol according to the present invention is applied. Suppose that the duplicatedcomputer system 1 receives packets from a network using TCP for the protocol, for example. In that case, it is possible to determine whether a packet taken in is a target packet using the source MAC address, source IP address, or source port address contained in the packet, for example. - Further, the information (filtering information) used to determine whether a packet taken in is a target packet is not limited to the above-mentioned source MAC address, source IP address, or source port address, and the decision can be made using any information that is contained in packets and can be used to identify packets. Moreover, since it is anticipated that communication that must be subjected to the protocol duplication of the present invention is limited according to the purpose of use of
system 1, it is preferable that the manufacturer, vendor, system administrator or the like of the duplicatedcomputer system 1 write beforehand the information used as the decision criteria to identify target communication or packets in a predetermined nonvolatile storage location of each computer as much as it may be needed. - In the Q taking-in
processing 110 on thecomputer 10, whether a packet taken in is a target packet is determined using the filtering information. If the packet taken in is not a target packet, it is simply passed toprotocol processing 130 in the ordinary manner. If the packet is a target packet, it is passed to theprotocol processing 130 and also added to thevirtual queue 50 in the sharedmemory 13. By this operation, only target packets, which have been subjected to theprotocol processing 130 on thecomputer 10, are stored in thevirtual queue 50. - On the other hand, also in the Q taking-in
processing 210 on thecomputer 20, a packet is taken in from thequeue 40 and the packet taken in is checked to determine whether it is a target packet, in the same manner as in the Q taking-inprocessing 110. If the packet taken in is not a target packet, it is simply passed to theprotocol processing 250. If the packet taken in is a target packet, either of the following two methods may be employed: (1) Discarding the target packet taken in and passing the packet at the head of thevirtual queue 50 to theprotocol processing 250 or (2) Comparing the target packet taken in with the one at the head of the virtual queue 50 (230) and, only if they are identical, discarding the target packet taken in and passing the one at the head of thevirtual queue 50 to theprotocol processing 250. - By the processing described above, it is made possible for packets to pass through the
queues - The present invention therefore can provide a method of duplicating protocol so that the order of reception and the contents of packets on the two computers of a duplicated computer system are made identical for packets of specified communications, and a duplicated computer system with protocols duplicated in this manner.
Claims (10)
- A protocol duplicating configuration for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space, and make up a duplicated computer system for packets of specified communications, characterized by having the following means on each of said first and second computers:queue storing means for storing packets to be processed in the order of reception;protocol processing means that is executed in response to the reception of packets from said network;temporary queue storing means for temporally storing the packets having been processed by the protocol processing means in a queue; andvirtual queue storing means for storing packets of target communication for the protocol duplication in a queue.
- The protocol duplicating configuration of claim 1, wherein said protocol processing means has packet taking-in means which takes in packets from said queue storing means and determines whether each packet taken in is a packet of target communication for the protocol duplication, communication processing means for performing protocol processing on the packet, and packet output means for outputting the packet having been processed by the protocol processing means to said temporary queue storing means, and
the protocol processing means on said first computer takes in the packets stored in said queue storing means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specified communication, and if the packet is not a packet of the specified communication, performs the protocol processing on the packet by means of said communication processing means and outputs the packet to said temporary queue storing means by means of said packet output means. - The protocol duplicating configuration of claim 1 or 2, wherein the protocol processing means on said first computer takes in the packets stored in said queue storing means by means of said packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, performs the protocol processing on the packet by means of said communication processing means and, in addition, stores the packet in said virtual queue storing means.
- The protocol duplicating configuration of claim 1, wherein the protocol processing means on said second computer takes in the packets stored in said queue storing means by means of said packet taking-in means and determines whether each packet taken in is a packet of target communication for the protocol duplication, and if the packet is a target packet, discards the packet and passes the packet at the head of the queue in said virtual queue storing means to said communication processing means.
- The protocol duplicating configuration of claim 1, wherein the protocol processing means on said second computer takes in the packets stored in said queue storing means one by one by means of said taking-in means and determines whether each packet taken in is a packet of target communication for the protoc ol duplication, and if the packet is a target packet, compares the packet with the packet at the head of the queue in said virtual queue storing means, and only if both packets are identical, discards the packet taken in and passes the packet at the head of the queue in said virtual queue storing means to said communication processing means.
- A method of duplicating protocol for making identical the order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming the same address space and make up a duplicated computer system for packets of specified communication, characterized by comprising the following steps executed on each computer:storing packets received from said network in a queue in order of reception;executing protocol processing in response to the reception of packets from said network;temporally storing packets having been subjected to said protocol processing in a temporary queue; andstoring packets of target communication for the protocol duplication in a virtual queue.
- The method of duplicating protocol of claim 6, wherein said protocol processing step comprises:packet taking-in step which takes in packets one by one from the queue stored by said step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication;communication processing step which performs the protocol processing on the packet; andpacket outputting step which outputs the packet from said communication processing step to said step of temporally storing processed packets in a queue;and takes in packets one by one from the queue stored by said step of storing received packets in a queue and checks each packet taken in to determine whether the packet is a target packet for duplication by said packet taking-in step on said first computer, andif the packet is not a target packet, performs the protocol processing on the packet by said communication processing step and outputs said packet to said step of temporally storing processed packets in a queue by said packet outputting step.
- The method of duplicating protocol of claim 6 or 7, characterized by taking in packets one by one from the queue stored by said step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by said packet taking-in step on said first computer and,
if the packet is a target packet, performing the protocol processing on the packet by said communication processing step and, in addition, storing the packet in said virtual queue by said step of storing target packets in a virtual queue. - The method of duplicating protocol of claim 6, characterized by, on said second computer, taking in packets one by one from the queue stored by said step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by said packet taking-in step on said second computer and,
if the packet is a target packet, discarding the packet take in and passing the packet at the head of said virtual queue to said communication processing step. - The method of duplicating protocol of claim 6, characterized by, on said second computer, taking in packets one by one from the queue stored by said step of storing received packets in a queue and checking each packet to determine whether the packet is a target packet for duplication by said packet taking-in step on said second computer, and
if the packet is a target packet, comparing the packet with the packet at the head of said virtual queue, and only if both packets are identical, discarding the packet taken in and passing the-packet at the head of said virtual queue to said communication processing means.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001134665 | 2001-03-26 | ||
JP2001134665 | 2001-03-26 | ||
PCT/JP2002/000770 WO2002078292A1 (en) | 2001-03-26 | 2002-01-31 | Protocol duplexer and protocol duplexing method |
Publications (3)
Publication Number | Publication Date |
---|---|
EP1376975A1 true EP1376975A1 (en) | 2004-01-02 |
EP1376975A4 EP1376975A4 (en) | 2008-02-13 |
EP1376975B1 EP1376975B1 (en) | 2009-05-27 |
Family
ID=18982305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20020711260 Expired - Lifetime EP1376975B1 (en) | 2001-03-26 | 2002-01-31 | Protocol duplexer and protocol duplexing method |
Country Status (9)
Country | Link |
---|---|
US (2) | US7328273B2 (en) |
EP (1) | EP1376975B1 (en) |
JP (1) | JP3844302B2 (en) |
KR (1) | KR100637990B1 (en) |
AT (1) | ATE432498T1 (en) |
CA (1) | CA2437560A1 (en) |
DE (1) | DE60232439D1 (en) |
TW (1) | TW560152B (en) |
WO (1) | WO2002078292A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2447672B (en) | 2007-03-21 | 2011-12-14 | Ford Global Tech Llc | Vehicle manoeuvring aids |
CN104618308B (en) * | 2013-11-04 | 2019-09-13 | 腾讯科技(武汉)有限公司 | Agreement request processing method and processing device |
JP6446420B2 (en) * | 2016-09-29 | 2018-12-26 | 本田技研工業株式会社 | Saddle-type vehicle with water-cooled engine |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381644A2 (en) * | 1989-01-18 | 1990-08-08 | International Business Machines Corporation | Multi-processor system and method for maintaining the reliability of shared data structures |
EP0674262A1 (en) * | 1994-03-25 | 1995-09-27 | International Business Machines Corporation | Fault tolerant system |
WO1997027541A1 (en) * | 1996-01-26 | 1997-07-31 | Hewlett-Packard Company | Fault-tolerant processing method |
US6105151A (en) * | 1997-05-13 | 2000-08-15 | 3Com Corporation | System for detecting network errors |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2011935A1 (en) | 1989-04-07 | 1990-10-07 | Desiree A. Awiszio | Dual-path computer interconnect system with four-ported packet memory control |
US5187780A (en) | 1989-04-07 | 1993-02-16 | Digital Equipment Corporation | Dual-path computer interconnect system with zone manager for packet memory |
JPH05327771A (en) * | 1992-05-27 | 1993-12-10 | Toshiba Corp | Packet making-up system |
JPH06259274A (en) * | 1993-03-10 | 1994-09-16 | Mitsubishi Electric Corp | Duplex system |
JPH0764812A (en) * | 1993-08-30 | 1995-03-10 | Hitachi Ltd | Synchronism control method for dual computer system |
US5819020A (en) * | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US6219728B1 (en) * | 1996-04-22 | 2001-04-17 | Nortel Networks Limited | Method and apparatus for allocating shared memory resources among a plurality of queues each having a threshold value therefor |
US6920146B1 (en) * | 1998-10-05 | 2005-07-19 | Packet Engines Incorporated | Switching device with multistage queuing scheme |
JP3578385B2 (en) * | 1998-10-22 | 2004-10-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Computer and replica identity maintaining method |
US7006448B1 (en) * | 1999-10-01 | 2006-02-28 | Lucent Technologies Inc. | System and method for measuring network round trip time by monitoring fast-response operations |
US6996102B2 (en) * | 2000-12-21 | 2006-02-07 | Nortel Networks Limited | Method and apparatus for routing data traffic across a multicast-capable fabric |
US20020126673A1 (en) * | 2001-01-12 | 2002-09-12 | Nirav Dagli | Shared memory |
US6941396B1 (en) * | 2003-02-19 | 2005-09-06 | Istor Networks, Inc. | Storage controller redundancy using bi-directional reflective memory channel |
-
2002
- 2002-01-31 CA CA 2437560 patent/CA2437560A1/en not_active Abandoned
- 2002-01-31 JP JP2002576392A patent/JP3844302B2/en not_active Expired - Fee Related
- 2002-01-31 WO PCT/JP2002/000770 patent/WO2002078292A1/en active Application Filing
- 2002-01-31 US US10/312,430 patent/US7328273B2/en not_active Expired - Fee Related
- 2002-01-31 AT AT02711260T patent/ATE432498T1/en not_active IP Right Cessation
- 2002-01-31 EP EP20020711260 patent/EP1376975B1/en not_active Expired - Lifetime
- 2002-01-31 KR KR20027014193A patent/KR100637990B1/en not_active IP Right Cessation
- 2002-01-31 DE DE60232439T patent/DE60232439D1/en not_active Expired - Fee Related
- 2002-02-04 TW TW91101907A patent/TW560152B/en not_active IP Right Cessation
-
2007
- 2007-10-31 US US11/931,668 patent/US20080062983A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381644A2 (en) * | 1989-01-18 | 1990-08-08 | International Business Machines Corporation | Multi-processor system and method for maintaining the reliability of shared data structures |
EP0674262A1 (en) * | 1994-03-25 | 1995-09-27 | International Business Machines Corporation | Fault tolerant system |
WO1997027541A1 (en) * | 1996-01-26 | 1997-07-31 | Hewlett-Packard Company | Fault-tolerant processing method |
US6105151A (en) * | 1997-05-13 | 2000-08-15 | 3Com Corporation | System for detecting network errors |
Non-Patent Citations (1)
Title |
---|
See also references of WO02078292A1 * |
Also Published As
Publication number | Publication date |
---|---|
US20040017828A1 (en) | 2004-01-29 |
CA2437560A1 (en) | 2002-10-03 |
KR100637990B1 (en) | 2006-10-23 |
JPWO2002078292A1 (en) | 2004-09-09 |
US7328273B2 (en) | 2008-02-05 |
EP1376975A4 (en) | 2008-02-13 |
KR20030011314A (en) | 2003-02-07 |
US20080062983A1 (en) | 2008-03-13 |
TW560152B (en) | 2003-11-01 |
JP3844302B2 (en) | 2006-11-08 |
WO2002078292A1 (en) | 2002-10-03 |
DE60232439D1 (en) | 2009-07-09 |
ATE432498T1 (en) | 2009-06-15 |
EP1376975B1 (en) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7945699B2 (en) | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | |
US7502826B2 (en) | Atomic operations | |
EP1565826B1 (en) | Network interface and protocol supporting mappings of virtual memory locations at different processing devices | |
EP1543422B1 (en) | Remote direct memory access enabled network interface controller switchover and switchback support | |
US20030046330A1 (en) | Selective offloading of protocol processing | |
US20070041383A1 (en) | Third party node initiated remote direct memory access | |
US8149866B2 (en) | System and method for filtering communications at a network interface controller | |
US20040190557A1 (en) | Signaling packet | |
US20030105931A1 (en) | Architecture for transparent mirroring | |
US8959265B2 (en) | Reducing size of completion notifications | |
US20110280243A1 (en) | TCP/IP Offload Device | |
US8539089B2 (en) | System and method for vertical perimeter protection | |
US20220385598A1 (en) | Direct data placement | |
JP2002305535A (en) | Method and apparatus for providing a reliable protocol for transferring data | |
US7054962B2 (en) | Embedded system having broadcast data storing controller | |
US20080062983A1 (en) | Protocol duplexer and protocol duplexing method | |
US5748893A (en) | Network interface apparatus | |
US7363383B2 (en) | Running a communication protocol state machine through a packet classifier | |
US7581163B1 (en) | Detection of corrupted memory pointers within a packet-processing device | |
US7290055B2 (en) | Multi-threaded accept mechanism in a vertical perimeter communication environment | |
EP1864463A1 (en) | System anp method for reducing latency in a host ethernet adapter | |
US7624198B1 (en) | Sequence tagging system and method for transport offload engine data lists | |
US7212547B2 (en) | Method and apparatus for implementing global to local queue pair translation | |
WO2009033969A1 (en) | Method and apparatus for digital data storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20031009 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: NAGOYA, MITSUGUDUAXES CORPORATION |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: DUAXES CORPORATION |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20080116 |
|
17Q | First examination report despatched |
Effective date: 20080509 |
|
GRAC | Information related to communication of intention to grant a patent modified |
Free format text: ORIGINAL CODE: EPIDOSCIGR1 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 11/16 20060101AFI20081113BHEP |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: NAGOYA, MITSUGUC/O DUAXES CORPORATION |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REF | Corresponds to: |
Ref document number: 60232439 Country of ref document: DE Date of ref document: 20090709 Kind code of ref document: P |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090927 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090827 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090907 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20100302 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20100131 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20100930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090828 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100201 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100803 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100131 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20090527 |