×

System, method and program product to route message packets

  • US 7,447,796 B2
  • Filed: 12/17/2004
  • Issued: 11/04/2008
  • Est. Priority Date: 12/17/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for routing a response message packet, said response message packet being a response to a request message packet which traveled along an outbound path from a source computer to a destination computer, said outbound path comprising a first firewall for said source computer and a first router coupled to said first firewall, said method comprising:

  • in response to said first firewall receiving said request message packet, said first firewall broadcasting to a first plurality of peer devices a first set of session information about said request message packet and an identity of said first firewall, and in response, said first plurality of peer devices recording the first set of session information about said request message packet and that said first firewall was a first hop in said outbound path, wherein said recording the first set of session information includes storing, in a first record of a session table of a second router, an identification (session ID) of a session in which said request message packet travels along said outbound path and in which said response message packet is routed from said destination computer to said source computer and an indication that said first firewall received said request message packet as said first hop, wherein each peer device of said first plurality of peer devices is directly connected to said first firewall and is a device selected from the group consisting of a firewall and a router, and wherein said first plurality of peer devices includes said first router and said second router;

    said first firewall forwarding said request message packet to said first router, and in response, said first router broadcasting to a second plurality of peer devices a second set of session information about said request message packet and an identity of said first router, and in response, said second plurality of peer devices recording the second set of session information about said request message packet and that said first router was a second hop in said outbound path, wherein said recording the second set of session information includes storing, in a second record of said session table of said second router, said session ID and an indication that said first router received said request message packet as said second hop, wherein each peer device of said second plurality of peer devices is directly connected to said first router and is a device selected from the group consisting of a firewall and a router, and wherein said second plurality of peer devices includes said first firewall and said second router;

    subsequent to said recording the second set of session information, said destination computer generating said response message packet;

    subsequent to said generating said response message packet, a first device that was in said outbound path determining that a second device that was in said outbound path is unavailable to receive said response message packet from said first device, wherein said first device is a device selected from the group consisting of a firewall, a router and said destination computer, and wherein said second device is a device selected from the group consisting of a firewall and a router;

    subsequent to said first device determining that said second device is unavailable, said second router receiving said response message packet from said first device based on said second device being unavailable and said second router being in a routing table of said first device;

    subsequent to said second router receiving said response message packet, said second router determining that said second router is not in said outbound path based on said session table of said second router not including a record of said second router receiving said request message packet as a hop in said outbound path in said session;

    subsequent to said second router receiving said response message packet, said second router identifying, in said session table of said second router, a plurality of records including said first record and said second record, wherein said identifying is based on said session ID in each record of said plurality of records matching an identification of said session included in said response message packet;

    subsequent to said second router identifying said plurality of records, said second router determining from said plurality of records that a plurality of devices including said first firewall and said first router is in said outbound path and connected to said second router, that said first firewall received said request message packet as said first hop before any other device of said plurality of devices received said request message packet, and that said first router received said request message packet as said second hop before any other device of said plurality of devices other than said first firewall; and

    in response to said second router determining that said plurality of devices is in said outbound path and connected to said second router, that said first firewall received said request message packet before any other device of said plurality of devices, and that said first router received said request message packet before any other device of said plurality of devices other than said first firewall, said second router forwarding said response message packet to said first firewall if said first firewall is available to receive said response message packet, said second router forwarding said response message packet to said first router if said first firewall is unavailable to receive said response message packet and said first router is available to receive said response message packet, and said second router sending said response message packet back to said first device with instructions for said first device to update said routing table if said first firewall and said first router are unavailable to receive said response message packet.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×