Intermediary network system and method for facilitating message exchange between wireless networks
Network System and Method for facilitating message exchange between mobile subscribers belonging to the same or different public land mobile networks, possibly incorporating different standards. Message exchange between two subscribers of the same or different networks may involve one or more lookups on subscription data, zero or more message transformations, one or more routing decisions including application of costing functions, and, storage and propagation of the message in one or more Core or Intermediary networks. The messages may be of type, among others, SMS (Short Message Service), MMS (Multimedia Message Service), or EMAIL.
This application is a divisional of U.S. patent application Ser. No. 10/426,662 filed May 1, 2003, which claims the benefit of U.S. Provisional Application No. 60/445,444, filed Feb. 7, 2003, both of which are herein incorporated by reference in their entireties.FIELD OF THE INVENTION
The present invention is directed to the field of telecommunication and more particularly to an intermediary system that enables senders and recipients of messages to send and receive messages between wireless networks having incompatible network protocols.BACKGROUND OF THE INVENTION
In North America, and many other parts of the world, mobile telecommunication networks are characterized by different standards such as TDMA, CDMA, GSM, iDEN and many variants thereof, such as 2G (Second Generation Networks) and 3G (Third Generation Networks). The standards typically specify the radio interface characteristics, equipment details and associated number schemes, applicable communication protocols including the associated message definitions and characteristics of inter-connecting networks. While some of the concepts are common among these disparate standards, the commonality of the concepts is not sufficient to make devices belonging to one network talk to devices belonging to another network for wireless messaging needs.
A telecommunication network supports many services. Primary among them are voice calls and messaging. Aspects of the present invention primarily concern messaging and, therefore, this description concentrates on expanding upon the state of messaging standards.
The wireless messaging revolution started primarily with the GSM standard with the introduction of Short Message Service (SMS). An SMS message can have a maximum of 160 characters (140 octets) and is used for a number of applications including person to person messaging, binary content such as ring tones, person to application messaging and a number of other uses. Almost all other standards such as ANSI TDMA and CDMA wireless networks also have implemented an equivalent form of short message support within their networks. A notable exception is iDEN, which implemented a packet data network and while messaging is supported, it does not have anything equivalent to short messaging.
There are other forms of messaging such as EMAIL, WAP and more recently Multimedia messages (MMS) supported by many of the networks. In some cases, one form of messaging is carried over the bearers of other forms of messaging. For example, an EMAIL message could be implemented with SMS as a bearer service.
In general, it is not easily possible to exchange messages across different networks supporting different wireless standards. SMS messaging has become very popular in Europe and other parts of the world due to implementation of the GSM standard in many networks, which makes it possible to exchange SMS messages easily across the networks. In the case of ANSI TIA/EIA 41 standards, such an exchange has not been possible until aspects of the present invention were put in place in North America in the year 2001.
The exchange of messages across different networks is further complicated by roaming, number portability, quality of service, “spam”, and billing requirements. Due to its very nature, mobile networks permit roaming of subscriber units within the network and other networks implementing compatible standards, provided a business arrangement between the effected networks exists. In order to deliver a message to a mobile unit, it is necessary to find its current location and associated gateway and interface address.
One of the features of number portability is the ability to port a number from one service provider to another. Number portability poses problems with the delivery of messages when relatively static routing tables are used. A similar but independent problem arises out of “number range contamination”. In North America, for example, messages and calls are routed to networks using what is known as NPA/NXX ranges. This methodology refers to routing of calls using the first 6 digits of the telephone number (TN) in the North American Number Plan (NANP). Traditionally, a set of number ranges segmented by NPA/NXX are assigned to service providers.
Recently, in United States, a change has been made in telephone number range assignments to service providers. Instead of the usual 6 digit number ranges, the assignments are made, now, using 7 digit ranges. However, during the reassignment, certain numbers in a range may be, what is termed as, “contaminated,” where a small percentage of numbers may belong to one service provider, even though the range as a whole is owned by another service provider.
In addition to the contaminated and ported number issues mentioned above, there are a number of other inter-connectivity issues that may need to be addressed for flexible and reliable message bridging across different networks. For example, a source and destination network (with respect to a message going between subscribers of those two networks) may be inter-connected by more than one Intermediate network. The routing tables and associated methodologies must account for this multi-hop connection. A destination network may be accessible only through a designated service provider to the network. For example a SS7 service provider may have exclusive access to a carrier's network and the message must be routed through such a connection. There may be multiple types of connections to a network to reach the same mobile subscriber. Further, there may be multiple instances of a particular type of connection to a network to reach the same mobile subscribers.
In addition, there might be varying levels of Quality of Service for multiple connections to the same network.
To summarize, the following are many of the challenges that need to be addressed for successful and reliable exchanging messages between disparate wireless networks:
- Protocol Conversion—ability to account for protocol differences
- Transmission network support—ability to connect with the right kind of transmission network
- Inter-Domain or Inter-network Addressing Conversion—ability to perform address translation, as necessary
- Dynamic Routing Lookup—ability to resolve for accurate and timely routing information
- Message Transformation—ability to transform messages based on business and technical needs
- Storage and re-transmittal—ability to store and forward based on business and technical needs
- Recording of transmission events for billing and other uses—ability to record the message transmission events
- Management channel support—ability to manage message transmission
- Anti-spam, Authentication and other centralized value add services—ability to provide network protection.
- Lateral transmission to other Intermediary networks—ability to interface with multiple networks
- Transaction support—ability to reliably transact a message delivery attempt
- Quality of Service—ability to support varying quality levels in providing service
The network and system explained in this invention solves many of the above problems uniquely.
Interchanging signaling and messages between networks for peer to peer calls, messaging and roaming has been addressed in the prior art before by standards bodies, published papers and patents. Patent number WO 97/20442, for example, identifies a mechanism to exchange Short Message Service (SMS) between different networks by enabling the message center of a cellular network with the functionality of identifying target network, addressing mechanism and format. In particular, the patent describes a system that allows messages to be delivered to a conventional telephone network using facsimile message format transmission and wide or local area network using email message transmission. This system, however, specifically requires the sender of the message to identify destination network, protocol and the address of the recipient device within the network. Moreover it assumes that the message center of the cellular network is directly connected to the destination network by PSTN, LAN or WAN network, which is not necessarily the case in many practical networks.
Another system, described in DE 295 11 856 U1, provides a slightly alternate mechanism by way of use of a central switching device. A designated network specific device receives a message, stores the message, re-formats the message to suit an exchange format, and forwards the message to a central switching device. The central switch then routes the message to another device connected to the destination network. This system assumes a monolithic central switching device which could be a single failure point and doesn't offer much flexibility in dealing with many complexities (as are addressed here-in) of inter-connecting a plurality of networks. Moreover, a central monolithic switching device may become a performance bottleneck.
Another known technique proposes a plurality of intermediate switching architectures to overcome the above mentioned drawbacks.
WO 02/15603 A2 describes a centralized computer system or a computer program connected to a plurality of networks directly for delivering messages between networks and applications using a centralized routing database.
All the above systems and techniques take a relatively simplistic view of bridging messaging structures between various networks. They assume simplistic routing rules without considering many practical peculiarities of network interconnections. For example, in North America (and many countries) number pooling, contaminated ranges and portability make it difficult to correctly identify the destination carrier. Sometimes the messages coming from a network may have to be delivered back to the same network, after performing certain message transformations or route lookups. Due to wireless number portability, the numbers may be ported frequently, which makes it difficult to correctly resolve the destination network identity based on the address provided by originating subscriber. None of the patents cited above addresses these scenarios.
Also, the above patents do not address the issue of roaming subscribers. Nor do they address the possibility of a plurality of connections or links, possibly operating different protocols, to the same destination network and mechanisms to choose a particular connection in an optimized way. In addition, multiple protocol addresses assigned to the same subscriber unit is possible within the same network in the real world (such as an email address and phone number to the same mobile unit), which again does not find any mention in any of the above patents. Security, authentication, billing, error handling, reporting and many other value-add functions that are critically important for message delivery in the practical world are not mentioned in the above cited inventions.
In addition, the cited patents do not explicitly refer to delivery of messages using SS7 networks directly which is the preferred network protocol used by almost all the telecommunication networks for delivering messages. SS7 is the core network inter-connecting network elements of wireless networks currently.
Therefore, realization of any practically relevant message delivery system based on the above patents falls short of a reliable message delivery mechanism between networks because of the cited reasons.
WO 02/05580 A1, however, clearly addresses delivery of SMS messages between PLMNs (Public Land Mobile Network) using the traditional SS7 network approach involving Switching Centers, Message Service Centers, Home Location Registers and the like. However, the described system strictly deals with bridging two different SS7 networks through an inter-working message center and does not address other forms of interconnection such as IP networks. In addition, this invention deals with end to end message transmission using MAP signaling messages, wherein, particular message sequences are translated into the format of destination network. The approach proposed by this system works only for SMS messages and doesn't perform any kind of message transformations. For example, if the destination network doesn't open up the SS7 network for Intermediary for message delivery, the system fails to provide a solution.SUMMARY OF EMBODIMENTS OF THE INVENTION
The present invention relates to interconnecting mobile networks that are complex and support multiple standards and business rules. Aspects of the present invention enable messages to be exchanged between two mobile units through application of many different functionalities including message transformations, accurate and optimal route lookups incorporating application of number portability and contaminated ranges, application of protocols, costing functions and business rules.
More specifically, the present invention relates to a method of facilitating routing of a message from one mobile network to another network that are interconnected by a service network and associated software control mechanisms. The message could be one of many formats including, but not limited to, a short message, email, and multimedia message. In accordance with aspects of the present invention, a message originated from a mobile unit may be passed through several gateways within the originating mobile network for further transmission. These gateways include, among others, Short Message Service Centers (SMSCs), Multimedia Message Centers (MMSCs), WAP Gateways, Email Gateways, and Interworking Mobile Switching Centers (IWMSCs). It is possible for a single message to traverse more than one of these gateway units.
In an embodiment of the present invention, an independent service network and system (hereinafter called “Intermediary network,” or simply “Intermediary”) receives the message from any one of the above mentioned gateways belonging to the originating mobile network, for the purpose of delivering the message to the destination. The Intermediary has a set of Input Units, a set of Output Units (these two Units, together called “Interfacing Units”), a set of Transformation Units, and a set of Routing Units (these last two Units, together, called “Internal Units”), each, in a preferred embodiment, with a well-defined functionality and purpose. These units are wired according to the characteristics of connected mobile networks and associated business unit requirements.
In accordance with the present invention, the message received through one of the Input Units passes through one or more Transformation Units and Routing Units according to several pre-determined business rules as well as dynamically determined routing rules based on the prevailing conditions of the inter-connecting networks.
Subscription information denotes the association of subscriber's phone number to a network service provider. Current access association provides the address of visited network (mobility). According to one aspect of the invention, the dynamic routing ability of the Intermediary network, takes into account the latest network subscription association information of the terminating device, current network access association of the terminating device and the traffic conditions of a plurality of links connecting to the terminating mobile network. This significantly increases the likelihood that the message will be successfully delivered.
According to one embodiment of the invention, dynamically changing routing information is obtained by subscription to one or more 3rd party information sources (such as NPAC data), accessing one or more information repositories (such as a Home Location Register—HLR) in real time, and/or monitoring the traffic conditions on inter-connecting links to the mobile networks. The dynamic information thus obtained preferably changes the way the message might have otherwise been routed. In addition, according to an aspect of the invention, the dynamic information may also specify which of the transformations needs to be applied in order to successfully route the message. For example, if the message is dynamically routed to another Intermediary network instead of a final destination directly, then the formatting of the message may correspond to that of an Intermediary Network rather than the final destination network.
According to another embodiment of the present invention, the content of the message may also influence the transformation units applied to the message. For example, if the original content is in the English language and if the intended destination unit resides in a network whose predominant language, according to the network's primary geographic boundary is, e.g., Chinese, then the content may be translated, depending upon configured business rules, to the Chinese language before forwarding to the destination network.
The present invention preferably also includes mechanisms to specify which set of transformation and routing units need to be applied to a given message based on the link or Interface Unit the message came through. For example, a message that came through an indirect link such as an EMAIL gateway may not generate a billable record (depending on agreed-upon business arrangements) to the originating mobile network.
The message, according to one embodiment of the invention, thus preferably passes through a dynamic set of Routing and Transformation Units based on one or more of: the content of the original message, the interface through which the message came-in, the business rules of the mobile networks involved, and the dynamic nature of the interconnected links, network subscription and access information of the destination mobile unit.
Thus, the present invention provides systems and methods that permit flexibility and optimization with respect to receiving and delivering messages by an Intermediary that spans disparate networks. Those skilled in the art will more fully appreciate the features and advantages of the present invention upon a reading of the following detailed description of the preferred embodiments of the invention in conjunction with the associated drawings.BRIEF DESCRIPTION OF THE DRAWINGS
The I/O transformation units are directly connected to the external networks. These external networks are either wireless networks or other Intermediary networks or service providers. The purpose of these I/O transformation units is to match the protocol of interconnected networks to facilitate accepting or sending a message from, or to, these networks respectively.
The internal transformation units perform a variety of transformation functions on the messages as they traverse through the Intermediary network. The complexity of interconnecting disparate wireless networks through an Intermediary warrants a rich set of transformation units which are applied to the message.
The routing units provide a flexible way to interconnect all (or substantially all) other units in the system based on certain rule sets provisioned in the routing units. The routing units also resolve the destination routing for the message received based on the address information presented in the message and based on dynamic routing tables available within the system.
The above described embodiment of the present invention, as denoted in
Intermediary Network Description
The conceptual diagram in
The present invention primarily describes the functionality of interconnecting various carrier and service provider networks to the Intermediary network. The Intermediary network can consist of one of more POPs (Point of Presence) for network connectivity and one or more data centers for staging message switching equipment. A practical realization comprises a distributed network with multiple data centers and POPs interconnected by an IP backbone. The service provider networks (carrier networks) are typically connected to one or more of the POPs using Wide Area Network connections such as T1, Frame Relay, and Internet VPN.
These network connections typically terminate on network end points connected to routers. In addition, a well formed network infrastructure consist of firewalls for security purposes, load balancers, switches for interconnecting network segments and various other ancillary devices such as Intrusion Detection Systems, Network Analyzers etc. Also, Domain Name Servers (DNS) infrastructure for resolving domain names into IP address and vice-versa are also typically realized as part of the network equipment.
Since the invention details the Intermediary network as a distributed message switch, the system preferably comprises of one or more (typically several for scalability and redundancy) message switching systems implementing the transformation and routing modules indicated in
Various industry standard protocols are supported by the above mentioned gateways. These include, for SMS: Short Message Peer to Peer protocol (SMPP), EMIWUCP, SMTP, HTTP, CIMD, GSM/ANSI 41 MAP and the like. The switching systems mentioned in the previous paragraph support these protocol units on as needed basis depending upon carrier requirements. Various backend database servers for logging-and billing functionality are also typically implemented in an embodiment.
Another important class of systems preferably associated with the present invention is Wireless Number Portability and Routing databases. These systems are realized using database systems with data feeds coming from various sources such as NANP LERG data providers, real time NPAC database feeds and carrier routing table updates.
Various network and systems management functionality is preferably provided to manage all the elements mentioned above. One or more network operations center (NOCs) implementing Network and Systems management interfaces preferably oversee the operation of the Intermediary network.
Finally, File Transfer Protocol (FTP) servers are typically part of an embodiment of this invention to transfer Call Detail Records (CDRs) to service providers.
Thus, the Intermediary network is an inter-connected network system supporting routing, switching and security functionality realized to support cross-network messaging functionality.
Inter PLMN Message Transfer in GSM Networks
When a message is originated from a mobile terminal MT in Network A, the message (called Mobile Originated Message or MO message) is received by the home SMSC in Network A. The SMSC in Network A performs a route lookup function which typically accesses a HLR located in the network of intended receiver of the message. In this example, a HLR located in another PLMN, Network B. The HLR in Network B returns the address of the MSC in network B, that is currently serving the mobile subscriber (intended recipient). The SMSC in Network A then sends the message to the MSC in network B, for forward transmission of message to the Mobile subscriber MT in Network B.
For the above mentioned mechanism to work, in case of SMS message exchange, both the PLMNs (represented by Network A and Network B) must be compatible and there must be a business relationship between the PLMN operators to exchange such messages.
For messages to be exchanged between other types of networks such as CDMA, TDMA, iDEN etc. an Intermediary network mechanism in accordance with the present invention is provided as shown in
Message Routing Through Intermediary Network System
After LH1 in
The message forwarded from AU, unit in
If there is an error in performing above transformation (which can happen for example in case of overlay area codes in a particular geographic area, where two or more area codes are active simultaneously), then the message is forwarded to another transformation and routing entity Message Router-1 (RY1 in
Valid messages forwarded from RR1 (of Gateway Unit A) are further processed by a set of routing entities called File Router-1 (FR1) and File Router-2 (FR2), in
Depending upon the outcome of the routing resolution logic, the message is either forwarded to another gateway unit, C, via a routing unit InphoRouter-1 (IR1), or to a gateway Unit, B, via a routing unit Message Router-3 (MR3) as shown in
Thus, in the above embodiment a message from subscriber denoted by MSa to subscriber denoted by MSb took the route of: Gateway A: MSa→LH1→AU1→RR1→FR1→FI1→FR2→MR3→Queue 1→Gateway B: MR4→AU2→RR2→LH2→MSb
In the process, the message underwent a number of routing decisions and transformations.
Routing Resolution Logic
The destination Telephone Number (TN) and the service encoded in the SMT formatted message shown in
For an International Number, first a country code is extracted in module 5.5. If the country has implemented number portability then one of two methods is preferably used to find the destination carrier. In one method, a local ported database is used (similar to the one used for national ported number lookup). This ported database is built from information supplied by the carriers and 3rd party providers. Another method is to perform a remote database lookup. One such method is to use an SS7 Global Title Translation database in which a route request message is routed to the right Home Location Register (HLR). The HLR then responds with appropriate routing information which can be used to extract home carrier network as well as roaming information. The SS7 method is mentioned in module 5.12 in
Once the carrier for the destination TN is identified, then all possible routes (direct and indirect) to the carrier's network for the service type are obtained in module 5.7. These routes are typically static in nature and determined during the provisioning process for the carrier.
Once routes are identified, then final address resolution may be attempted in module 5.8. A further address resolution in Module 5.8 may be needed for a number of reasons. For example, if a direct delivery (i.e., no store and forward) of a SMS message is allowed through say a MSC to the handset, then it is important to know (if not already obtained in module 5.12 logic) the visited MSC gateway information which is dynamically updated by the concerned Home Location Register (HLR) in the carrier's home network.
If more than one route is possible then module 5.11 may be invoked to obtain the current state of each of the links to the mobile subscriber. These links may be direct links or indirect links through another service provider. A cost function in module 5.13 may be invoked to find the best route to deliver the message based on certain pre-defined business rules. The cost function is explained in the next section.
During the route resolution process, once a destination carrier is identified, one or more filter modules may be invoked. For example, in
Once final route resolution is thus performed using both static and dynamic data, the SMT formatted message is then forwarded to either IR1 or MR3 routing modules in
Referring again to
The following describes how a message is delivered to the next hop or final destination network based on business rules and dynamic conditions of the network and routing information. Several cost functions for determining an optimal route is available in the literature. Closed loop cost functions are typically possible if the routing is based solely on the state of the network. If business rules and other manual specifications are to be included, then the cost function is typically rule based (heuristic or otherwise).
For the purpose of this invention, the cost function is rule based and the evaluation of the cost function is embedded in one or more Routing Units.
A sample of a rule based cost function incorporating business rules for final delivery of message is shown below:
- 1. If message can be delivered directly to the destination carrier via one of direct links then the same may be used.
- 2. If a direct link exists to a visited network in case of roaming mobile subscriber then this link may be used over other direct links to home network.
- 3. In case of more than one direct link, select the link that offers the best quality of service.
- 4. If more than one direct link supporting same protocol with same quality of service metric exists then perform load balancing using round robin algorithm.
- 5. If no direct link exists, then use indirect links and apply similar criteria (steps 1 thru 4) as the direct links mentioned above.
- 6. In case of congestion in one or the direct or indirect links, drop the link from the pool till the congestion condition is alleviated.
- 7. In case of no active link, store the message for a maximum of 72 hours and attempt delivery using a exponential back off algorithm using a seed value of 5 minutes, with the delay doubling every retry.
The cost function may be different for each destination carrier based on the business agreements reached. For example, a MMS message to a particular carrier is always pushed through a WAP proxy gateway even though the same message may be able to be posted to carrier's MMS Relay gateway. Such a rule might be requested by a carrier to reduce load on its MMS Relay gateway.
Load Balanced Routing
The Intermediary network may have multiple links to the destination carrier or next hop network. Load balancing is attempted when more than one link offering the same Quality of Service is available to the same destination. For example, for SMS messaging, if more than one SMPP (Short Message Peer to Peer) link is available to an SMSC then the SMPP links become a load balanced pool and one of the following methods (Round Robin routing or Random routing) is attempted.
- Ln denotes the link number selected for sending the nth message
- N denotes the total number of healthy links available to the same Access Point.
Round Robin Routing:
When a link is highly congested or otherwise not available for handling traffic, the link can be pegged as non-active and removed from the pool of available links until the link becomes healthy again. The health check is typically performed periodically and the message routing is affected in real time.
In order to accurately and timely route a message from a source network to destination network, the Intermediary must possess a complete, accurate and up to date routing database. Typically, in a telecom environment, routing is done using a Telephone Number (TN) which is specified in several formats. Each country may have its own numbering plan and there are certain standard representations of numbering schemes at the international level to make sure that network interoperate for subscribers to dial each other.
In North America, many countries follow what is known as the North American Numbering Plan (NANP). The rules of the NANP specify that a telephone number will contain ten digits and that those digits may be divided into three separate components (in the following, the numbers with dotted representation refers to the number range allowed for a particular digit in a numbering plan):
- 1) Area Code. The first three digits of a telephone number comprise the Numbering Plan Area (NPA) or area code. The format of this component is (2 . . . 9)(0 . . . 9)(0 . . . 9) which provides for a total of 800 possible combinations or values—200, 201, . . . 999.
- 2) Exchange Code. The next three digits of a telephone number identify a specific Central Office (CO) or exchange within the indicated area code. This component is commonly referred to as the NXX portion of the telephone number. The format of this component is (2 . . . 9)(0 . . . 9)(0 . . . 9) which provides for a total of 800 possible combinations or values—200, 201, . . . 999.
- 3) Station Code. The last four digits of a telephone number identify a specific station within the indicated central office. The format of this component is (0 . . . 9)(0 . . . 9)(0 . . . 9) (0 . . . 9) which provides for a total of 10000 possible combinations or values—0000, 0001, . . . 9999.
In North America, the number ranges are issued to carriers typically at the NPA/NXX level which means each block contains about 10000 numbers. This means it is only necessary to examine the first 6 digits of a Telephone Number in order to find the carrier that owns the number block. In order to route a message from one telecom network to another, if a gateway to a network is used instead of direct delivery to the subscriber using a switch, it is only necessary to find the carrier of the network. Further routing of message to the actual subscriber is taken care by the gateway. For example, a message to a carrier's subscriber may be delivered to its email gateway. The email gateway would then route the message internally.
However, due to a mandate by the Federal Communications Commission (FCC), wireless number portability (WNP), which allows a subscriber to port his/her number while changing service providers, is permitted. While full WNP is not yet implemented, a related concept called number pooling is in effect. The number pooling mandates all the carriers to return certain unused portions of their allotted number ranges in the NPA/NXXX range. However, the unused portions might still contain a few numbers used by a carrier before the carrier returned the pooled range back to the administrative pool for redistribution. Such a pool where a small number of Telephone Numbers are used, but the block itself is not owned by a carrier, is called a Contaminated Range.
Due to the above, for an Intermediary it is no longer sufficient to match 6 digits of NPA/NXX portion of NANP. It is necessary to match 7 digits to find the carrier subscription accurately. In addition, for contaminated ranges it is necessary to match all 10 digits of NANP number plan in order to accurately find carrier subscription association. Since there are virtually hundreds of thousands of telephone numbers assigned to subscribers every day, it is necessary that the information is available to an Intermediary in real time to accurately route the messages from one network to another, or even within a network.
The Intermediary, in effect, is performing what is known in Telecom lingua as Inter-Exchange routing. Traditionally, all Inter-Exchange routing is done using a database called the Local Exchange Routing Guide (LERG). The LERG contains information about the current network configuration and scheduled changes within the local exchange providers' networks. The LERG is primarily designed to be used for routing of inter-LATA calls by inter-exchange carriers (IXC). The LERG guide informs telecom companies which end office or tandem office the NNX resides in and how calls should be routed and rated so that they can properly terminate to the appropriate telephone number. The LERG database is updated periodically by companies such as Telcordia in the United States and distributed, usually on a monthly basis. However, the mandate by the FCC that allows number pooling and portability may significantly damage the accuracy of LERG based routing due to the time lag involved. Therefore a real-time feed of number pooling and portability is needed in addition to LERG database update in order for an Intermediary to accurately deliver messages from one network to another.
The routing data system implemented in the preferred embodiment of this invention is shown in
The routing data implemented in a preferred embodiment of this invention is comprised of:
- LERG Data
- Updates from individual carriers for “in-network” numbers
- Updates from carriers related to Mobile Virtual Network Operator (MVNO) ranges
- Updates from other Intermediary networks and service providers
- NPAC data
- 800 numbers
- Pager numbers
- International data ranges
- Test ranges
Some of the above information is obtained in real time (such as NPAC updates) and others are obtained periodically from various sources, including carriers themselves. The information thus obtained is combined and stored in the routing database shown in
The present invention allows the flexibility of applying or not applying full number pooling and portability database dip, according to the above description, which is needed in any practical implementation. One of the reasons why a network operator may chose to resolve a route may be to reduce the cost of performing a data dip in the Intermediary network.
Routing Loop Issue
Inaccuracy of the routing database may pose another problem in the form of routing loops. When an Intermediary network, for example, forwards a message to a carrier's network, assume there is a mismatch in the routing database between the Intermediary network and the destination carrier's network. It is conceivable that the destination carrier may re-route the message back to Intermediary thinking that the message belongs to another carrier connected to the intermediary. The Intermediary may in-turn send the message back due to its database entry.
The above scenario, in fact, occurs in real practice. While the above problem can occur even before the FCC mandate of number pooling and portability, the probability of mismatch increases as the contamination and portability of numbers increases between the carriers, simply due to the volume of changes.
Therefore real-time accurate data is necessary in the Intermediary's network in order to reduce the possibility of these routing loops.
Roaming Scenario and Delivery Optimization
Roaming is central to GSM networks and is also increasingly being allowed by way of interconnection agreements between (Interim Standard) IS-41 compatible networks for TDMA and CDMA technologies. When a mobile subscriber is roaming on a partner carrier network (visited network), the subscriber registration information is forwarded to the Home Location Register (HLR) in the home network. By querying the HLR, one can find the gateway address for terminating a call (message) in the visited network.
Typically, in a roaming scenario a message is delivered to the home network which would in-turn forward the message, depending upon the technology (SMS, MMS etc.) over SS7 or an IP based inter-connect network. For an SMS message, if the message is delivered to the home SMSC, the home SMSC queries the HLR and finds the roaming gateway switch. The SMSC would then deliver the message through visited network MSC network element. The disadvantage of this approach is that the home SMSC is involved unnecessarily when a message could be delivered directly to the visited network by querying the HLR for location information. In addition, the SMS message would also traverse the SS7 network from the home to the visited network segment before the message is delivered. For inter-continental SMS messaging this could be a significant cost issue as the SMS message has to traverse several SS7 network segments managed by several service providers.
Those who are familiar with the art will appreciate a well known fact that in many cases an IP network offers substantial cost savings over the SS7 network for delivering signaling and messaging data. To this effect, there are several efforts in the industry to offload SS7 using standards such as SIGTRAN. Voice over IP (VoIP) technology is built on this model which offers substantial savings in cost over an equivalent circuit based solution using SS7 signaling.
The Intermediary network, in accordance with the present invention, provides a mechanism to optimize the delivery of SMS messaging to a visited network without involving the home SMSC. The flexible routing information database with real-time ported number feed, and ability to query home location register (HLR) can be used to deliver an SMS message (or an MMS message) directly to appropriate visited network gateway.
There are several advantages with the above technique. One, the home SMSC is not unnecessarily involved in receiving the message for a mobile subscriber not visiting its home network. Second, if the visited network is “far away” from home network, the cost of traversing SS7 (although it is acknowledged that not all the message types go through the SS7 network) may be significant. If the Intermediary has a local POP (Point of Presence) near the visited network gateway area, and if this POP is connected over an IP network, then substantial cost savings could be realized by delivering the message through the IP network for much of the distance before terminating on visited network gateway. Yet another advantage of this scenario is the speed with which the message can be delivered. By bypassing the home SMSC, for SMS messaging, for example, a store and forward element is bypassed.
Virtual Address Representation
A mobile subscriber may be assigned multiple addresses for various types of messaging to work. Some of these addresses are simply gateway addresses for other networks to access the mobile subscriber. Other addresses are in fact assigned to the telephone number itself. For example, in a GSM network, a single International Mobile Subscriber ID (IMSI) may be assigned with multiple Telephone Numbers, one for fax, another for data etc. Sometimes the multiple telephone number assignment is done for legacy POTS (Plain Old Telephone System) access.
Thus, in order to send a message to a mobile subscriber, one could use any of the available addresses and associated protocols as long as it is compatible for the type of message being sent. For example, a text message could conveniently be delivered using an email address without any loss of information. However, for a 2-way messaging service, where a message can be replied to using a reply address (without typing any “Send To” address) it is often necessary to represent the originating sender's mobile device with the same protocol/gateway address that is used for terminating the message. For example, if email is used to terminate a text message sent by an originating subscriber using a SMS message, then it is required to have a return email address associated to the originating mobile device, even though the original message itself was in a SMS format.
In the above example, it is possible to attach an SMTP addressable Internet domain name to a telephone number, and thereby preserve the originating Telephone Address in the new address structure. In certain other cases, it may be necessary to change the originating address in order for messaging to work in the destination network. For example, certain mobile terminals (e.g., Skytel's pagers) in the United States have an associated “800” telephone number. In the North American numbering plan, “800” numbers represent toll free numbers. While these numbers are often routable (using another underlying NANP number) in many North American networks, these numbers do not-necessarily work (routable) in overseas networks. Under such circumstances, if a mobile subscriber with an “800” directory number sends a message to an overseas subscriber, and if the overseas subscriber is reachable over an SS7 network, then it may be necessary for the Intermediary network to represent the originating subscriber using a temporary or even a permanent routing number and maintain a table to translate the addresses for 2-way messaging.
The foregoing discussion leads to a novelty in accordance with the present invention where subscribers of telecom carrier networks served by the Intermediary network for bridging messages may be represented by multiple virtual addresses within the Intermediary network in order to facilitate certain types of messaging. These addresses are typically routable in their respective network domains world-wide and translation of these virtual addresses to physical (carrier assigned) addresses takes place within Intermediary network.
An example shown in
Also represented in
Thus, the above two examples, illustrated in
Multi-hop Intermediary Networks for Bridging Source and Destination Wireless Networks
Many times the final destination network may be reachable through one or more other Intermediary networks or service providers. Depending upon the capabilities of such “in-between” networks, the quality of service and other feature sets supported for bridging inter-network traffic might be effected. In certain extreme cases a forward routing of a message from one network to another might be different from the return path. An Intermediary network and system, thus, must account for the peculiarities of various inter-connections and network capabilities to provide messaging services.
The flexible routing mechanism described by this Invention allows for the peculiarities of various interconnections by way of connection-specific transformation logic, comprehensive routing data as well as resolving cost function in real time to route the message in the face of congestion and failures.
Specifically, the routing logic shown in
In case of Multi-hop Intermediary Networks, the Intermediary networks could connect in multiple different ways.
- Level 1) Originating Intermediary network (IN A) performs the final protocol conversion of the message to conform to its ultimate destination. In this case the second Intermediary to which the final destination network is connected performs only routing of the message with very little message and protocol transformation. In this case the message from Originating Intermediary network (IN A) “tunnels” through the second Intermediary network (IN B) to its final destination with minimal transformation (such as character conversion etc.).
- Level 2) Originating Intermediary network (IN A) treats the second Intermediary network (IN B) just like any other carrier network and performs message protocol translation that conforms to the specification of the second Intermediary network (IN B). Upon receipt of a message from first Intermediary, the second Intermediary performs all the necessary transformations and routing functions to successfully deliver the message to its final destination.
- Level 3) Originating Intermediary network (IN A) first detects if a message needs to go through another Intermediary network before reaching its final network destination. If such determination succeeds (after going through the necessary routing and cost function logics described in this Invention), the message is transmitted to the second Intermediary network (IN B). The second Intermediary network would then receive the message and performs all necessary transformations on the message before delivering to the final destination network.
In the level 1 interconnection scenario, the burden of final message transformation (as compatible to the final destination network) rests with the first Intermediary network when the message leaves its home network. In the level 3 interconnection scenario, the burden of final message transformation (as compatible to the final destination network) rests with the final Intermediary network before the message enters its destination network. Level 2 interconnection is somewhere in between.
In practical terms, this scenario is akin to having multiple agents acting on behalf of two clients performing a transaction and deciding on how the work is divided between the representing agents.
The unique feature of this invention is that the flexible way of arranging the routing and transformation units, all the above possible interconnection methods in case of multiple hop Intermediary network message transmission is easily supportable.
Selective Storage and Re-transmittal
As a message is transmitted from one wireless network to another the message passes through the Intermediary network, according to the present Invention. Depending upon the mechanism of delivery into the destination network, the Intermediary network may need to support flexible storage mechanisms based on several factors.
For example, in case of Short Message Service (SMS), if the message is to be delivered to an SMSC of the destination network, then the availability of subscriber is not a factor and storage of SMS message for delivery to subscriber, in case subscriber's handset is out of service or coverage, lies with the destination SMSC. On the other hand, if the message is delivered directly through GMSC gateway of the destination carrier to the handset, since GMSC and subsequent units involved does not have long term message storage capability, the storage of the message and subsequent re-transmission rests with the Intermediary network.
In case of a Multi-media message (MMS), a similar scenario arises. If the MMS message is delivered through MMSC Relay gateway unit of the destination carrier, then the storage of the message while the subscriber is being contacted rests with the destination carrier's MMSC. On the other hand, if IP network (such as GPRS) or WAP proxy gateway is used to deliver the message, then the burden of storage may lie with the Intermediary system.
The present invention tackles the above scenario by incorporating flexible storage mechanism, wherein the routing entities involved intelligently stores and forwards the message depending upon the delivery method and capabilities of the destination network gateways. If the destination network has store and forward capability, then the message is not stored in Intermediary gateway. If the destination network does not have store and forward capability, then the Intermediary network may store the message till it is ascertained that the message is delivered to the intended recipient. This logic is programmed into the routing entities in the Intermediary Network as per the present Invention.
Just as in the case of many other factors, the flexibility of wiring the routing and transformation units according to the needs of source and destination carriers, and routing the message to a storage unit based on the need is an important aspect of this invention.
Message Detail Record Generation Process
Every telecom network element generates records of the traffic flowing through the system. The records are typically stored in flat files and transferred through a mediation system to a central repository. The reconciled records are called Call Detail Records (CDRs). CDRs are called Message Detail Records (MDRs) in the present description in view of the “message-centric” description of the present invention. The MDR generation process is detailed in
The data then can be used for a number of purposes including display of statistics on a website, for example, for monitoring purpose; transfer of records to inter-connect networks for their internal reconciliation into billing and other systems; transfer into another data warehouse system for performing analysis on the data etc.
Due to the flexible routing mechanism provided by the present Invention, the route a message takes, and the transformations it undergoes varies greatly based on the inter-connect networks involved, based on the real time routing data feeds, based on subscriber roaming and based on real time traffic conditions in case of multiplicity of conditions. Therefore state representation of message route and associated quality of service metrics, billing data vary from time to time. For example, if a message is delivered directly to a roaming network, then the message may be billed at a different rate than if it is delivered to the subscriber's home network.
Although the process of capturing the MDRs from network elements depicted above is fairly standard in the industry, the SML file format (
The data records mentioned in the above example are a representative list of items in SML formatted message in the preferred embodiment. The SML format permits addition of any arbitrary mark up tags (also called meta-tags), as new routing and transformation modules are added into the mix. The mark up tags are then used by post processing tools for analysis purpose.
Items 7.6 thru 7.11 are called mark up tags as indicated in
As can be seen, the flexible combination of routing and transformation modules is made possible by mechanism such as SML formatted logging entities, which offers flexibility of recording specialized data using meta-tags.
Descriptive List of Transformation and Routing Entitites
The present invention (
The following tables 1, 2 and 3 provides the descriptive list of these units that are generated in a particular embodiment of this invention. Further, the invention or its embodiments doesn't preclude generation of logical entities that combines one or more of transformation and routing units specified in these tables. It may be noted that the list presented is only a representative sample of various transformation and routing units that may be developed as part of a particular embodiment.
List of Acronyms
43. A method of resolving routing for a message, wherein a destination of the message is based on a mobile telephone number, the method comprising:
- determining if the telephone number is an international telephone number;
- if the telephone number is an international telephone number: obtaining a mobile country code; determining whether the country associated with the country code supports number portability and, if so, performing a routing information lookup to extract a destination carrier ID and roaming information, and if not, obtaining a mobile network carrier ID based on the telephone number;
- if the telephone number is not an international telephone number: obtaining carrier ID information based on at least one of (i) NPA/NXX of the telephone number and (ii) an LSMS NPAC database dip;
- obtaining a list of allowed routes for the destination carrier and a service ID;
- resolving route addressing for the destination telephone number;
- obtaining real time route performance metrics; and
- solving a cost function to identify an appropriate route for the message.
44. The method of claim 43, wherein the step of performing a routing information lookup comprises accessing an SS7 Global Title Translation database.
45. The method of claim 43, wherein the step of resolving route addressing comprises accessing information from a mobile network home location register (HLR).
46. The method of claim 43, wherein the step of obtaining real time route performance metrics comprises determining capacity of routes.
47. The method of claim 43, wherein the cost function applied is different for different carriers.
48. The method of claim 43, wherein the cost function takes into account quality of service.
49. The method of claim 43, further comprising performing load balancing among a plurality of available routes.
50. The method of claim 49, wherein the step of load balancing comprises effecting a round robin routine.
51. The method of claim 49, wherein the step of load balancing comprises implementing random routing.
52. The method of claim 43, further comprising delaying the delivery of the message consistent with a store and forward mechanism.
53. The method of claim 43, wherein the message is an SMS message.
54. The method of claim 43, further comprising:
- establishing an intermediary that communicates with a first and a second gateway, the intermediary being a business entity different from an entity that operates the first and second gateways; and
- virtually representing first users that pass messages through the first gateway as entities having addresses that are compatible with a method of communication used by second users who receive messages via the second gateway.
55. The method of claim 54, wherein the step of virtually representing comprises address mapping.
56. The method of claim 54, wherein the step of virtually representing comprises domain mapping.
57. The method of claim 54, wherein the step of virtually representing comprises effecting a virtual roaming paradigm.
58. The method of claim 54, wherein the step of virtually representing comprises mapping a telephone number to an email address.
59. The method of claim 54, wherein the step of virtually representing comprises mapping an email address to a telephone number.
60. The method of claim 54, wherein the step of virtually representing comprises communication with an SS7 gateway.
61. The method of claim 54, wherein a user of the second gateway replies to a user of the first gateway using a virtual address represented in the intermediary.
International Classification: H04M 1/64 (20060101);