Per user and network routing tables
First Claim
1. A gateway for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, said packet having a destination network, the gateway including:
- a table unique to the user, each entry in said table having a router network address corresponding to each network currently accessible;
a destination network table entry searcher coupled to said table;
a tunneling session initiator coupled to said matching network router; and
a packet forwarder coupled to said tunneling session initiator.
1 Assignment
0 Petitions
Accused Products
Abstract
A gateway is provided which routes a packet sent from a user to a connected network utilizing a per-user routing table. This is accomplished by extracting a source address from the packet; finding a per-user routing table corresponding to the source address, the per-user routing table containing entries corresponding to one or more currently accessible networks for the user and the range of network addresses corresponding to the currently accessible networks; extracting a destination address from the packet; seeking an entry in the matching per-user routing table with a range of network addresses containing the destination address; routing the packet to a matching network if the destination address is contained within one of the ranges of network addresses for the currently accessible networks; and routing the packet to a default network if the destination address is not contained within one of the ranges of network addresses for the currently accessible networks. This allows different users to have access to a different set of networks and allows a user to select the network he wishes to access. The gateway may also guarantee that packet are routed through a particular destination ISP or network by looking up the destination ISP or network in a table, each entry in the table having a router network address corresponding to each network currently accessible; establishing a tunneling session to the matching router network address; and forwarding the packet to the router network address through the tunneling session.
48 Citations
23 Claims
-
1. A gateway for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, said packet having a destination network, the gateway including:
-
a table unique to the user, each entry in said table having a router network address corresponding to each network currently accessible;
a destination network table entry searcher coupled to said table;
a tunneling session initiator coupled to said matching network router; and
a packet forwarder coupled to said tunneling session initiator. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, said packet having a destination network, said method steps comprising:
-
looking up said destination network in a table, each entry in said table having a router network address corresponding to each network currently accessible, wherein said table corresponds only to the user;
establishing a tunneling session to said corresponding router network address; and
forwarding the packet to said corresponding router network address through said tunneling session.
-
-
8. A gateway for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, said packet having a destination network, the gateway including:
-
a table unique to the user, each entry in said table having a router network address corresponding to each network currently accessible;
a destination network table entry searcher coupled to said table;
a matching network router coupled to said destination network table entry searcher if the destination network is listed in said table;
a tunneling session initiator coupled to said matching network router; and
a packet forwarder coupled to said tunneling session initiator. - View Dependent Claims (9)
-
-
10. An apparatus for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, including:
-
means for extracting a source address from the packet;
means for finding a per-user routing table corresponding to said source address, said per-user routing table corresponding only to the user and containing entries corresponding to one or more currently accessible networks for the user and the range of network addresses corresponding to said currently accessible networks;
means for extracting a destination address from the packet;
means for seeking an entry in said matching per-user routing table with a range of network addresses containing said destination address;
means for routing the packet to a matching network if said destination address is contained within one of said ranges of network addresses for said currently accessible networks; and
means for routing the packet to a default network if said destination address is not contained within one of said ranges of network addresses for said currently accessible networks. - View Dependent Claims (11, 12)
-
-
13. An apparatus for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, including:
-
means for extracting a source address from the packet;
means for finding a per-user routing table corresponding to said source address, said per-user routing table corresponding only to the user and containing entries corresponding to one or more currently accessible networks for the user and the range of network addresses corresponding to said currently accessible networks;
means for extracting a destination address from the packet;
means for seeking an entry in said matching per-user routing table with a range of network addresses containing said destination address;
means for routing the packet to a matching network if said destination address is contained within one of said ranges of network addresses for said currently accessible networks; and
means for ignoring said packet and alerting the user to that effect if said destination address is not contained within one of said ranges of network addresses for said currently accessible networks. - View Dependent Claims (14)
-
-
15. An apparatus for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, said packet having a destination network, the apparatus including:
-
means for looking up said destination network in a table, each entry in said table having a router network address corresponding to each network currently accessible;
means for establishing a tunneling session to said matching router network address; and
means for forwarding the packet to said router network address through said tunneling session. - View Dependent Claims (16)
-
-
17. An apparatus for routing a packet sent from a user in a system in which the user may be connected to multiple networks simultaneously, including:
-
means for extracting a source address from the packet;
means for finding a per-user routing table corresponding to said source address, said per-user routing table corresponding only to the user and containing entries corresponding to one or more accessible networks for the user and the range of network addresses corresponding to said currently accessible networks;
means for extracting a destination address from the packet;
means for reading the entries of said matching per-user routing table, looking for a range of network addresses containing said destination address;
means for determining a destination network based upon a matching entry in said per-user routing table if said destination address is contained within one of said ranges of network addresses for said currently accessible networks;
means for routing the packet to a default network if said destination address is not contained within one of said ranges of network addresses for said currently accessible networks, means for looking up said destination network in a table, each entry in said table having a router network address corresponding to each network currently accessible;
means for establishing a tunneling session to said corresponding router network address; and
means for forwarding the packet to said router network address through said tunneling session. - View Dependent Claims (18, 19, 20)
-
-
21. An apparatus for routing a packet sent from a user in a system in a system in which the user may be connected to multiple networks simultaneously, including:
-
means for extracting a source address from the packet;
means for finding a per-user routing table corresponding to said source address, said per-user routing table corresponding only to the user and containing entries corresponding to one or more accessible networks for the user and the range of network addresses corresponding to said currently accessible networks;
means for extracting a destination address from the packet;
means for reading the entries of said matching per-user routing table, looking for a range of network addresses containing said destination address;
means for determining a destination network based upon a matching entry in said per-user routing table if said destination address is contained within one of said ranges of network addresses for said currently accessible networks;
means for ignoring said packet and alerting the user to that effect if said destination address is not contained within one of said ranges of network addresses for said currently accessible networks;
means for looking up said destination network in a table, each entry in said table having a router network address corresponding to each network currently accessible;
means for establishing a tunneling session to said corresponding router network address; and
means for forwarding the packet to said corresponding router network address through said tunneling session. - View Dependent Claims (22, 23)
-
Specification