US20080062983A1 - Protocol duplexer and protocol duplexing method - Google Patents

Protocol duplexer and protocol duplexing method Download PDF

Info

Publication number
US20080062983A1
US20080062983A1 US11/931,668 US93166807A US2008062983A1 US 20080062983 A1 US20080062983 A1 US 20080062983A1 US 93166807 A US93166807 A US 93166807A US 2008062983 A1 US2008062983 A1 US 2008062983A1
Authority
US
United States
Prior art keywords
packet
packets
queue
protocol
communication
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.)
Abandoned
Application number
US11/931,668
Inventor
Mitsugu Nagoya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Duaxes Corp
Original Assignee
Duaxes Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Duaxes Corp filed Critical Duaxes Corp
Priority to US11/931,668 priority Critical patent/US20080062983A1/en
Publication of US20080062983A1 publication Critical patent/US20080062983A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2043Error 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2097Error 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 specific types of communication, and a duplicated computer system with protocols duplicated in this manner.
  • 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 specific types of communication, characterized by having the following means on each of the first and second computers: queue holding means for storing packets to be processed in the order of reception; protocol processing means that is executed in response to reception of packets from the network; temporary queue holding means for temporally storing the packets having been processed by the protocol processing means; and virtual queue holding means for storing packets of the specific types of communication.
  • 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 holding means and determines whether each packet taken in is a packet of the specific types of communication, protocol 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 holding means, and the protocol processing means on the first computer takes in the packets stored in the queue holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is not a packet of the specific types of communication, performs the protocol processing on the packet by means of the protocol processing means and outputs the packet to the temporary queue holding 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 holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of specific types of communication, performs the protocol processing on the packet by means of the communication processing means and in addition stores the packet in the virtual queue holding 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 holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of specific types of communication, discards the packet and passes the packet at the head of the virtual queue 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 holding means in order by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of the specific types of communication, compares the packet with the packet at the head of the virtual queue, and only if both packets are identical, discards the packet taken in and passes the packet at the head of the virtual queue 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 specific types of communication, characterized by having the following steps executed on each computer: storing packets to be processed in a queue in order of reception; executing protocol processing in response to reception of packets from the network; temporally storing packets having been subjected to the protocol processing in a temporary queue; and virtual queue holding means for storing packets of the specific types of communication.
  • the invention of claim 7 is characterized in that the protocol processing step comprises: packet taking-in step which takes in packets from the queue and checks each packet taken in to determine whether the packet is a packet of the specific types of communication; protocol processing step which performs the protocol processing on the packet from the packet taking-in step; and packet output step which outputs the packet having been subjected to the protocol processing step to the temporary queue; and takes in the packets stored in the queue and checks each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the first computer, and if the packet is not a packet of the specific types of communication, performs the protocol processing on the packet by the communication processing step and outputting the packet to the temporary queue by the packet output step.
  • the invention of claim 8 is characterized by taking in the packets stored in the queue and checking each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the first computer, and if the packet is a packet of the specific types of communication, performing the protocol processing on the packet by the communication processing step and in addition storing the packet in the virtual queue.
  • the invention of claim 9 is characterized by taking in the packets stored in the queue in order and checks each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the second computer,and if the packet is a packet of the specific types of communication, discarding the packet and passing the packet at the head of the virtual queue to the communication processing step.
  • the invention of claim 10 is characterized by taking in the packets stored in the queue and checking each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the second computer, and if the packet is a packet of the specific types of communication, comparing the packet with the packet at the head of the virtual queue, and only if both packets are identical, discarding the packet and passing the packet at the head of the virtual queue to the communication processing means.
  • FIG. 1 is a simplified 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.
  • FIG. 2 is a diagram illustrating the principle of the method of duplicating protocol according to the present invention.
  • FIG. 1 is a simplified 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 consist of two computers 10 and 20 that are connected to a network.
  • the computers 10 and 20 may have the same or different configurations depending on use. Since the necessary components are common to both computers 10 and 20 , only those components are described below. Each of the computers 10 and 20 may be any type of computer as long as it has a processing circuit 11 , 21 including a microprocessor 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 24 are assigned the same MAC (Media Access Control) address Amac so that the computers 10 and 20 appear as a single computer to the network.
  • the shared memories 13 and 23 are dual-port RAMs (Random Access Memories) used for making it possible for the computers 10 and 20 to have the same queue of packets of specific types of communication whose order of reception and contents must be identical on the first and second computers, 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 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 of packets on the other computer with respect to packets sent from specified communication partners.
  • 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 method of duplicating protocol according to the present invention.
  • boxes 100 and 200 show protocol processing performed on the computers 10 and 20 in response to 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 processed by the protocol processing 100 and 200 are held in order.
  • Assigned reference numbers 32 and 42 are queues in which packets having been processed by the protocol processing 100 and 200 are temporarily held. Since the same data are written to the shared memories 13 and 23 as described above, only one of them is shown in FIG. 2 . In each of the shared memories 13 and 23 , another queue 50 (referred to as a virtual queue) for holding only the packets from specified communication partners is created.
  • a virtual queue for holding only the packets from specified communication partners is created.
  • a packet is taken in from the queue 30 and checked to determine whether the packet is a packet (relevant packet) used in specific types of communication (relevant communication) for which the duplication of protocol according to the present invention is made, by queue taking-in processing 110 of the protocol processing 100 on the primary server 10 .
  • the duplicated computer system 1 receives packets from a network and the protocol is TCP, for example, whether the packet taken in is a relevant packet can be determined using the source MAC address, source IP address, and source port address in the packet, for example.
  • the information (filtering information) used for determining whether the packet taken in is a relevant packet must not be limited to the above-mentioned source MAC address, source IP address, and source port address, but may be any information contained in packets as long as it can be used to identify packets.
  • the types of communication for which the order of reception and contents of packets on the two computer must be made identical are expected to be limited depending on the use of the system 1 , it may be preferable that the information used for identifying relevant types of communication or packets is stored in the nonvolatile memory of each computer beforehand by the manufacture, vendor or system administrator of the duplicated computer system 1 .
  • the queue taking-in process 110 on the computer 10 determines whether the packet taken in is a relevant packet is determined using the filtering information as described above. If the packet is not a relevant packet, it is simply passed to protocol processing 130 . If the packet is a relevant 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 relevant packets are held in the virtual queue 50 .
  • the packet taken in is checked to determine whether the packet is a relevant packet in the same manner as in the queue taking-in process 110 . If the packet taken in is not a relevant packet, it is simply passed to the protocol processing 250 . If the packet is a relevant packet, either of the following two methods may be used: (1) Discarding the packet taken in and passing the packet at the head of the virtual queue 50 to the communication processing 250 , and (2) Comparing the packet taken in with the one at the head of the virtual queue 50 ( 230 ) and, only if they are identical, discarding the packet taken in and passing the one at the head of the virtual queue 50 to the protocol processing 250 .
  • the same packets pass through the queues 32 and 42 in the same order with respect to relevant packets.
  • the present invention therefore can 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 specific types of communication, and a duplicated computer system with protocols duplicated in this manner.

Abstract

A method of duplicating protocol for making identical the order of reception and contents of packets on the two computers of a duplicated computer system with respect to packets of specific types of communication. On the first computer, each packet taken in is checked to determine whether the packet is a packet of the specific types of communication before protocol processing. If the packet is a packet of the specific types of communication, the packet is passed to the protocol processing process and added to a virtual queue created in its shared memory. On the second computer, each packet taken in is checked to determine whether the packet is a packet of the specific types of communication before protocol processing. If the packet is a packet of the specific types of communication, the packet is discarded, and the one at the head of the virtual queue in its shared memory is passed to the protocol processing process.

Description

    FIELD OF THE INVENTION
  • The present invention generally relates to a duplicated computer system, and in particular to the technology for duplicating protocol on a duplicated computer system.
  • BACKGROUND
  • 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 matters.
  • 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 specific types of communication, and a duplicated computer system with protocols duplicated in this manner.
  • SUMMARY OF THE INVENTION
  • 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 specific types of communication, characterized by having the following means on each of the first and second computers: queue holding means for storing packets to be processed in the order of reception; protocol processing means that is executed in response to reception of packets from the network; temporary queue holding means for temporally storing the packets having been processed by the protocol processing means; and virtual queue holding means for storing packets of the specific types of communication.
  • 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 holding means and determines whether each packet taken in is a packet of the specific types of communication, protocol 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 holding means, and the protocol processing means on the first computer takes in the packets stored in the queue holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is not a packet of the specific types of communication, performs the protocol processing on the packet by means of the protocol processing means and outputs the packet to the temporary queue holding 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 holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of specific types of communication, performs the protocol processing on the packet by means of the communication processing means and in addition stores the packet in the virtual queue holding 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 holding means by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of specific types of communication, discards the packet and passes the packet at the head of the virtual queue 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 holding means in order by means of the packet taking-in means and determines whether each packet taken in is a packet of the specific types of communication, and if the packet is a packet of the specific types of communication, compares the packet with the packet at the head of the virtual queue, and only if both packets are identical, discards the packet taken in and passes the packet at the head of the virtual queue 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 specific types of communication, characterized by having the following steps executed on each computer: storing packets to be processed in a queue in order of reception; executing protocol processing in response to reception of packets from the network; temporally storing packets having been subjected to the protocol processing in a temporary queue; and virtual queue holding means for storing packets of the specific types of communication.
  • The invention of claim 7 is characterized in that the protocol processing step comprises: packet taking-in step which takes in packets from the queue and checks each packet taken in to determine whether the packet is a packet of the specific types of communication; protocol processing step which performs the protocol processing on the packet from the packet taking-in step; and packet output step which outputs the packet having been subjected to the protocol processing step to the temporary queue; and takes in the packets stored in the queue and checks each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the first computer, and if the packet is not a packet of the specific types of communication, performs the protocol processing on the packet by the communication processing step and outputting the packet to the temporary queue by the packet output step.
  • The invention of claim 8 is characterized by taking in the packets stored in the queue and checking each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the first computer, and if the packet is a packet of the specific types of communication, performing the protocol processing on the packet by the communication processing step and in addition storing the packet in the virtual queue.
  • The invention of claim 9 is characterized by taking in the packets stored in the queue in order and checks each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the second computer,and if the packet is a packet of the specific types of communication, discarding the packet and passing the packet at the head of the virtual queue to the communication processing step.
  • The invention of claim 10 is characterized by taking in the packets stored in the queue and checking each packet taken in to determine whether the packet is a packet of the specific types of communication by the packet taking-in step on the second computer, and if the packet is a packet of the specific types of communication, comparing the packet with the packet at the head of the virtual queue, and only if both packets are identical, discarding the packet and passing the packet at the head of the virtual queue to the communication processing means.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a simplified 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.
  • FIG. 2 is a diagram illustrating the principle of the method of duplicating protocol according to the present invention.
  • DESCRIPTION OF PREFERRED EMBODIMENTS
  • FIG. 1 is a simplified 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 FIG. 1, a duplicated computer system 1 consist of two computers 10 and 20 that are connected to a network.
  • The computers 10 and 20 may have the same or different configurations depending on use. Since the necessary components are common to both computers 10 and 20, only those components are described below. Each of the computers 10 and 20 may be any type of computer as long as it has a processing circuit 11, 21 including a microprocessor 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.
  • The NICs 12 and 24 are assigned the same MAC (Media Access Control) address Amac so that the computers 10 and 20 appear as a single computer to the network. The shared memories 13 and 23 are dual-port RAMs (Random Access Memories) used for making it possible for the computers 10 and 20 to have the same queue of packets of specific types of communication whose order of reception and contents must be identical on the first and second computers, 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 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.
  • 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 of packets on the other computer with respect to packets sent from specified communication partners. For convenience sake, the case wherein the order of packets subjected to protocol processing on the computer 20 is made identical to that on the computer 10 is described below. 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 method of duplicating protocol according to the present invention. In FIG. 2, boxes 100 and 200 show protocol processing performed on the computers 10 and 20 in response to 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 processed by the protocol processing 100 and 200 are held in order. Assigned reference numbers 32 and 42 are queues in which packets having been processed by the protocol processing 100 and 200 are temporarily held. Since the same data are written to the shared memories 13 and 23 as described above, only one of them is shown in FIG. 2. In each of the shared memories 13 and 23, another queue 50 (referred to as a virtual queue) for holding only the packets from specified communication partners is created.
  • In actual operation, a packet is taken in from the queue 30 and checked to determine whether the packet is a packet (relevant packet) used in specific types of communication (relevant communication) for which the duplication of protocol according to the present invention is made, by queue taking-in processing 110 of the protocol processing 100 on the primary server 10. In the case where the duplicated computer system 1 receives packets from a network and the protocol is TCP, for example, whether the packet taken in is a relevant packet can be determined using the source MAC address, source IP address, and source port address in the packet, for example.
  • Further, the information (filtering information) used for determining whether the packet taken in is a relevant packet must not be limited to the above-mentioned source MAC address, source IP address, and source port address, but may be any information contained in packets as long as it can be used to identify packets. Moreover, since the types of communication for which the order of reception and contents of packets on the two computer must be made identical are expected to be limited depending on the use of the system 1, it may be preferable that the information used for identifying relevant types of communication or packets is stored in the nonvolatile memory of each computer beforehand by the manufacture, vendor or system administrator of the duplicated computer system 1.
  • In the queue taking-in process 110 on the computer 10, whether the packet taken in is a relevant packet is determined using the filtering information as described above. If the packet is not a relevant packet, it is simply passed to protocol processing 130. If the packet is a relevant 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 relevant packets are held in the virtual queue 50.
  • On the other hand, in the queue taking-in process 210 on the computer 20, the packet taken in is checked to determine whether the packet is a relevant packet in the same manner as in the queue taking-in process 110. If the packet taken in is not a relevant packet, it is simply passed to the protocol processing 250. If the packet is a relevant packet, either of the following two methods may be used: (1) Discarding the packet taken in and passing the packet at the head of the virtual queue 50 to the communication processing 250, and (2) Comparing the packet taken in with the one at the head of the virtual queue 50 (230) and, only if they are identical, discarding the packet taken in and passing the one at the head of the virtual queue 50 to the protocol processing 250.
  • By the processing described above, the same packets pass through the queues 32 and 42 in the same order with respect to relevant packets.
  • The present invention therefore can 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 specific types of communication, and a duplicated computer system with protocols duplicated in this manner.

Claims (8)

1.-10. (canceled)
11. A protocol duplicating configuration for making identical an order of reception and contents of packets on first and second computers which are connected to a network, have shared memories forming a same address space, and make up a duplicated computer system for packets of specified communications, characterized by having on each of the first and second computers:
queue storing means for storing packets to be processed in order of being processed;
protocol processing means that is executed in response to reception of packets from the network;
temporary queue holding means for temporarily 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.
12. The protocol duplicating configuration of claim 11,
wherein the protocol processing means has packet taking-in means which takes in packets one by one 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 one by one 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.
13. The protocol duplicating configuration of claim 11,
wherein the protocol processing means on the first computer takes in the packets stored in the queue storing means one by one 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.
14. The protocol duplicating configuration of claim 12,
wherein the protocol processing means on the first computer takes in the packets stored in the queue storing means one by one 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.
15. 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 steps executed on each computer:
storing packets received from said network in a queue in order of being processed;
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.
16. The method of duplicating protocol of claim 15, wherein 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 temporarily storing processed packets in a queue;
and takes in the 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 said step of temporarily storing processed packets in a queue by said packet outputting step.
17. The method of duplicating protocol of claim 15,
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.
US11/931,668 2001-03-26 2007-10-31 Protocol duplexer and protocol duplexing method Abandoned US20080062983A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/931,668 US20080062983A1 (en) 2001-03-26 2007-10-31 Protocol duplexer and protocol duplexing method

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2001134665 2001-03-26
JP2001-134665 2001-03-26
US10/312,430 US7328273B2 (en) 2001-03-26 2002-01-31 Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue
PCT/JP2002/000770 WO2002078292A1 (en) 2001-03-26 2002-01-31 Protocol duplexer and protocol duplexing method
US11/931,668 US20080062983A1 (en) 2001-03-26 2007-10-31 Protocol duplexer and protocol duplexing method

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2002/000770 Continuation WO2002078292A1 (en) 2001-03-26 2002-01-31 Protocol duplexer and protocol duplexing method
US10/312,430 Continuation US7328273B2 (en) 2001-03-26 2002-01-31 Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue

Publications (1)

Publication Number Publication Date
US20080062983A1 true US20080062983A1 (en) 2008-03-13

Family

ID=18982305

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/312,430 Expired - Fee Related US7328273B2 (en) 2001-03-26 2002-01-31 Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue
US11/931,668 Abandoned US20080062983A1 (en) 2001-03-26 2007-10-31 Protocol duplexer and protocol duplexing method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/312,430 Expired - Fee Related US7328273B2 (en) 2001-03-26 2002-01-31 Protocol duplicating configuration and method for replicating and order of reception of packets on a first and second computers using a shared memory queue

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)

* Cited by examiner, † Cited by third party
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US20020126673A1 (en) * 2001-01-12 2002-09-12 Nirav Dagli Shared memory
US6571278B1 (en) * 1998-10-22 2003-05-27 International Business Machines Corporation Computer data sharing system and method for maintaining replica consistency

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5187780A (en) 1989-04-07 1993-02-16 Digital Equipment Corporation Dual-path computer interconnect system with zone manager for packet memory
CA2011935A1 (en) 1989-04-07 1990-10-07 Desiree A. Awiszio Dual-path computer interconnect system with four-ported packet memory control
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
US5544304A (en) * 1994-03-25 1996-08-06 International Business Machines Corporation Fault tolerant command processing
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
GB9601585D0 (en) * 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
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
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
US6941396B1 (en) * 2003-02-19 2005-09-06 Istor Networks, Inc. Storage controller redundancy using bi-directional reflective memory channel

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US6571278B1 (en) * 1998-10-22 2003-05-27 International Business Machines Corporation Computer data sharing system and method for maintaining replica consistency
US20020126673A1 (en) * 2001-01-12 2002-09-12 Nirav Dagli Shared memory

Also Published As

Publication number Publication date
CA2437560A1 (en) 2002-10-03
EP1376975A1 (en) 2004-01-02
US7328273B2 (en) 2008-02-05
KR100637990B1 (en) 2006-10-23
DE60232439D1 (en) 2009-07-09
JPWO2002078292A1 (en) 2004-09-09
KR20030011314A (en) 2003-02-07
WO2002078292A1 (en) 2002-10-03
JP3844302B2 (en) 2006-11-08
TW560152B (en) 2003-11-01
EP1376975A4 (en) 2008-02-13
EP1376975B1 (en) 2009-05-27
US20040017828A1 (en) 2004-01-29
ATE432498T1 (en) 2009-06-15

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
EP1565826B1 (en) Network interface and protocol supporting mappings of virtual memory locations at different processing devices
US7502826B2 (en) Atomic operations
US8495257B2 (en) Network direct memory access
US7107609B2 (en) Stateful packet forwarding in a firewall cluster
US7020716B2 (en) Method and system for verifying the hardware implementation of TCP/IP
US8149866B2 (en) System and method for filtering communications at a network interface controller
US20130173868A1 (en) Generation of Activation List for Memory Translation and Memory Access Protection in Industrial Ethernet Standard
US20070041383A1 (en) Third party node initiated remote direct memory access
US20060265517A1 (en) Tcp/ip reception process circuit and semiconductor integrated cirtuit having the same
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US10104002B2 (en) Method and system for network address re-use in network address translation
US8959265B2 (en) Reducing size of completion notifications
US20140143455A1 (en) Efficient delivery of completion notifications
US7174394B1 (en) Multi processor enqueue packet circuit
US20080062983A1 (en) Protocol duplexer and protocol duplexing method
CN112217780A (en) Apparatus and method for identifying attacks in a computer network
US7581163B1 (en) Detection of corrupted memory pointers within a packet-processing device
US7290055B2 (en) Multi-threaded accept mechanism in a vertical perimeter communication environment
JPH0385041A (en) Bridge for csma/cd system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION