Methods and systems for routing messages in a communications network
First Claim
1. A network element for routing a data packet through a communications network, the network element comprising:
- (a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number, wherein at least one of the second packet routing rule records is indexed by a single identification number that is outside of the ranges or blocks of identification numbers by which the first packet routing rule records are indexed;
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet; and
(e) a routing function for routing the data packet to its intended destination using the routing information.
5 Assignments
0 Petitions
Accused Products
Abstract
A flexible routing node for re-directing signaling messages in a communications network is disclosed. Re-direction or re-routing of signaling message packets is accomplished through the use of a range or block-based database in conjunction with an exception-based database. The range-based routing instruction databases incorporates a data structure that maps ranges or blocks of mobile identification numbers (MINs) to a single destination network address, while the exceptions database stores any exceptions to these range or block-based rules. The pair of routing databases is implemented such that, when a signaling message is received that requires re-direction, the exception-based database is queried first. If a match is found in the exceptions database, the signaling message is modified using the returned routing instructions and transmitted into an associated communication network. If no match is found in the exception-based database, a default query is performed against the range-based database. The signaling message is then modified using the routing instructions returned by the range-based database and transmitted into an associated communication network.
126 Citations
76 Claims
-
1. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number, wherein at least one of the second packet routing rule records is indexed by a single identification number that is outside of the ranges or blocks of identification numbers by which the first packet routing rule records are indexed;
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet; and
(e) a routing function for routing the data packet to its intended destination using the routing information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
10. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number; and
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet, wherein the second packet routing rule records in the exception-based database represent exceptions to the first packet routing rule records in the range-based database.
-
-
17. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second Packet routing rule record is indexed by a single identification number; and
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet, wherein the database subsystem controller initially directs the data packet to the exception-based database and performs a lookup in the exception-based database based on a mobile identification number in the data packet to locate the routing information.
-
-
18. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers, wherein each first packet routing rule record includes network address information in the form of an Internet Protocol (IP) destination address and port number;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number; and
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet, wherein the database subsystem controller directs the data packet to the range-based database in response to failing to locate the routing information in the exception-based database.
-
-
19. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number; and
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet, where the database subsystem controller performs number conditioning operations on contents of the data packet prior to accessing the range- or exception-based database.
-
-
20. A network element for routing a data packet through a communications network, the network element comprising:
-
(a) a communication module capable of transmitting a data packet to and receiving the data packet from a communications network;
(b) a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers;
(c) an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number; and
(d) a database subsystem controller for accessing at least one of the range- and exception-based databases to extract routing information for the data packet, wherein the database subsystem controller determines an entity type for a destination of the data packet prior to accessing the range- or exception-based database.
-
-
33. A method of routing a data packet through a communications network, the method comprising:
-
(a) receiving a data packet from a first communications network;
(b) performing a primary search of an exception-based routing rules database using an identification number contained within the data packet;
(c) in response to failing to locate an entry corresponding to the identification number in the exception-based routing rules database, performing a secondary search of a range-based routing rules database using the identification number contained in the data packet;
(d) modifying the data packet to include routing address information extracted from the exception-based routing rules or range-based routing rules database; and
(e) transmitting the modified data packet into a second communications network based on the routing information. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. A method for routing a signaling message in a communications network, the method comprising:
-
(a) receiving, at a first network element having a first point code, a signaling message transmitted from a Mobile Switching Center (MSC) having a second point code differing from the first point code, the signaling message having an origination point code (OPC) value being equal to the second point code and a destination point code (DPC) value equal to the first point code; and
(b) routing the signaling message to a second network element having a third point code differing from the first and second point codes, wherein routing the signaling message comprises changing the DPC value of the signaling message to the third point code and changing the OPC value of the signaling message to the first point code. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
(c) at the second network element, receiving the signaling message;
(d) changing at least one parameter associated with the signaling message to indicate that further translation is required;
(e) changing the OPC value of the message to the third point code and changing the DPC value of the message to the first point code; and
(f) transmitting the signaling message to the first network element.
-
-
62. The method of claim 61 comprising:
-
(g) at the first network element, receiving the signaling message;
(h) reading the at least one parameter that indicates that further translation is required;
(i) in response to determining that further translation is required, changing the DPC value of the signaling message to a fourth point code differing from the first, second, and third point codes and changing the OPC value of the signaling message to the first point code; and
(j) routing the signaling message to a third network element having the fourth point code.
-
-
63. The method of claim 62 wherein routing the signaling message to a third network element comprises routing the signaling message to a Global System for Mobile Communications (GSM) or American National Standards Institute (ANSI)-41 network element.
-
64. The method of claim 63 wherein routing the signaling message to a GSM or ANSI-41 network element comprises routing the signaling message to a Home Location Register (HLR).
-
65. The method of claim 63 wherein routing the signaling message to a GSM or ANSI-41 network element comprises routing the signaling message to an Authentication Center (AuC).
-
66. The method of claim 63 wherein routing the signaling message to a GSM or ANSI-41 network element comprises routing the signaling message to an Equipment Identification Register (EIR).
-
67. The method of claim 62 wherein routing the signaling message to a third network element comprises routing the signaling message to a Service Control Point (SCP).
-
68. The method of claim 62 comprising changing a called party address value of the signaling message to an entity address of the third network element.
-
69. The method of claim 62 wherein transmitting the signaling message to a third network element comprises transmitting a signaling system 7 (SS7) signaling message over an SS7 network.
-
70. The method of claim 60 wherein receiving a signaling message at a first network element comprises receiving a Signaling System 7 (SS7) signaling message over an SS7 network.
-
71. The method of claim 60 wherein receiving a signaling message at a first network element includes receiving the signaling message at a signal transfer point.
-
72. The method of claim 60 wherein transmitting the signaling message to a second network element comprises transmitting the signaling message to a routing node having a range-based database containing first packet routing rule records wherein each first packet routing rule record is indexed by a range or block of identification numbers and an exception-based database containing second packet routing rule records wherein each second packet routing rule record is indexed by a single identification number.
-
73. A method for routing a signaling message in a communications network, the method comprising:
-
(a) receiving, at a first network element having a first point code, a signaling message transmitted from a Gateway Mobile Switching Center (GMSC) having a second point code differing from the first point code, the signaling message having an origination point code (OPC) value being equal to the second point code, a destination point code (DPC) value equal to the first point code, and a first identification number; and
(b) routing the signaling message to a Home Location Register (HLR) having a third point code differing from the first and second point codes, wherein routing the signaling message comprises;
(i) performing a lookup in a first database for an entry corresponding to the first identification number, the first database comprising a plurality of entries, wherein each entry corresponds to a single identification number;
(ii) in response to locating an entry in the first database corresponding to the first identification number, extracting a point code value from the entry, the extracted point code being equal to the third point code, and changing the DPC value of the message to the third point code;
(iii) changing the OPC value of the message to the first point code; and
(iv) transmitting the signaling message to the HLR. - View Dependent Claims (74, 75, 76)
-
Specification