This invention relates to telecommunications networks, and more particularly to providing telecommunication features and services in such networks.
As new features such as call forwarding, call waiting, or three-way calling have been added to telecommunication systems, it has become increasingly difficult to manage the behavioral complexity of the features and their interactions. In particular, in some instances, the widely varied features offered by today's telecommunication providers conflict and produce unintended results. This is frequently referred to as the feature-interaction problem. This problem arises primarily from the incremental, feature-by-feature extension of telecommunications system functionality. Specifically, when adding new features, a comprehensive analysis of potential interactions with other features, followed by a redesign of old features to integrate smoothly with the new features, is typically not practical. Thus, as more and more new features are added to these systems, the resulting complexity of system operations in providing features, and the interaction of various features with each other, can potentially damage the quality of the telecommunication network services.
Prior attempts have been made to reduce the problems resulting from such feature interactions. For example, U.S. Pat. No. 6,160,883, issued Nov. 23, 2004 and entitled “Telecommunication System and Method,” which is incorporated by reference herein, discloses a network architecture, referred to as a distributed feature composition (DFC) network, for managing the feature-interaction problem. Additionally, pending utility applications, “Routing Extensions For Telecommunications Network System And Method,” Ser. No. 09/644,128, filed Aug. 23, 2000; U.S. Pat. No. 6,822,942, issued Nov. 23, 2004 and entitled “Protocol Extensions For Telecommunications Network Systems and Method;” and, U.S. Pat. No. 6,778,560, issued Aug. 17, 2004 and entitled “Signaling/Media Separation for Telecommunication Network System and Method,” which are incorporated by reference herein, disclosed an enhanced and modified DFC to further address feature interaction problems.
As is well known, requests for telecommunication features in DFC and other telecommunication systems, for example originating from a telephone in a PSTN network, typically comprise messages having at least two addresses, a source address and a target address. The source address typically corresponds with the originator of the request, while the target address corresponds with the destination party of the request. As is also well known, as a call is transmitted from the originator to the destination and features are applied to the call, address translation is commonly required by many of the features. Such address translation typically consists of, for example, modifying the communication by changing the source address, target address or both addresses for various purposes. Due to its widespread use, address translation results in a high number of feature interactions in today's telecommunication networks. Accordingly, many of the feature-interaction problems that occur in telecommunication networks may be traced directly to issues created as a result of such address translation.
The present invention is a method for address translation in telecommunication networks that reduces the feature-interaction problems that occur as a result of address translation activities. Specifically, in one illustrative embodiment, a module in a target region of a request chain is constrained in a way such that that module cannot change a source address in a call request. This constraint functions to preserve reversibility of the request chain in, for example, replies to the original request. In a second illustrative embodiment, a source feature module in a source region can only replace a source address with a more abstract address than the one it is replacing. In another embodiment, a target feature module in a target region can only replace a target address with a more concrete address than the one it is replacing. In yet another embodiment, a source feature module in a request chain is constrained from transmitting downstream an alternative source address more concrete than its own address. And in an additional embodiment, a target feature module in a target region of a request chain is constrained from transmitting upstream an alternative target address that is more concrete than its own address. By applying one or more of these constraints, the feature interaction problem associated with the providing of a multitude of features in a communication system may be reduced or substantially eliminated.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.
In telecommunication networks, addresses are used to route message traffic between nodes in a network. A particular address may be associated with a device, such as a telephone, with a set of features, or both. As used herein, a device typically functions as an interface to an end user, while a set of features involves interfacing a call with, for example, a computer program to provide features to that call. Telecommunication services and features are typically provided in response to requests for those services and features. As discussed above, such requests typically carry at least two addresses: a source address in a source address field indicating which device or feature is making a request and a target address in a target address field indicating the destination of the request. Since the requesting address is not typically directly connected to the destination address, such requests occur across the telecommunication network in a chain from an address associated with one device or feature set to an address associated with another device or feature set. Routing of such telecommunication requests across a telecommunication network, using illustrative network routers, is well known.
As used herein, a module is defined as either an interface module, which is an interface between a telecommunication network and a device, or a feature module, which allows network traffic to access a telecommunication system feature. Interface modules are the modules through which devices send and receive telecommunications messages to/from the network, respectively, in order to facilitate the use of those devices. As is well-known, it is common for the address of a particular device to have only one interface module to which all requests for communication services are routed and from which all requests for communication are transmitted. Feature modules, on the other hand, are modules through which specific features are accessed in the network. Such features may include the well-known three-way calling feature, caller ID feature, call waiting feature, or any one of the multitude of other well-known features that may be provided in a telecommunication network.
For the purposes of the description herein, interface and feature modules may be implemented using programmable computers which are well known in the art. These programmable computers may be implemented as standalone devices or, as may be the case with interface module 102 and interface module 107, may be incorporated in other devices, such as within computer 101 or cellular telephone 108, respectively. Similarly, the illustrative programmable computers that host feature modules, such as feature modules 103-106, may each be hosted on one physical computing device or, alternatively, several features may be implemented on a single such computing device. Regardless of the precise hardware architecture, such programmable computers would have the required network interfaces to allow for receiving and transmitting network messages, as well as appropriate software for defining the functioning of the modules. Such software is executed on one or more computer processors which control the overall operation of the modules via execution of such software. The detailed hardware and software configuration of the modules will not be described in further detail herein. One skilled in the art of data networking and computers could readily implement such modules given the description herein.
Referring once again to
One skilled in the art will recognize that the request chain of
As discussed above, problems may arise when a multitude of features are available in a telecommunication system in that those features may interact together to produce unintended results. As used herein, the term feature interaction is defined as the way in which a feature or features modify or influence another feature in defining overall system behavior. Since all features in telecommunication systems are modifying or enhancing the same basic communication service (i.e., real-time communication among people), such feature interaction occurs frequently. In some cases, feature interactions are benign or even may be considered advantageous in that they produce desirable results. One illustrative example of such a desirable feature interaction, illustrated in
While the above desirable interaction may be considered advantageous, in many other cases the results of feature interaction may be undesirable and, therefore, would be considered disadvantageous.
User 301 having address user1@host1 may subscribe to an anonymous remailing feature service provided, for example, by target feature module 308. This service illustratively provides an automatic response feature while, for example, user 301 is on vacation. In such a case, message 304 will be routed through module 308, and the automatic response feature may automatically respond to the message by sending a message 305 back to caller 303 having a target address of user2@host2 and a source address of user1@host1. Thus, the anonymity to the caller 303 of the user1@host1 address of user 301 is not preserved.
A second example of an undesirable feature interaction is shown in
In the above examples of feature interactions, as well as many other examples of such interactions, undesirable results occur as a result of address translation and, more particularly, to a lack of appropriate categorization of addresses that prevents the appropriate prioritization of features requiring address translations. Thus, the principles of the present invention are directed to a method for address translation whereby addresses are categorized relative to other addresses and address translation functions are performed only pursuant to specific constraints related to the categorization of the addresses.
More specifically, as discussed above, requests for services typically consist of a chain of requests between interface and feature modules.
In accordance with an embodiment of the present invention, once addresses are categorized according to the relative abstract or concrete nature of those addresses, constraints are applied that govern the address translation functions required by various features. While many constraints may be applied to address translation, the present inventor has identified several constraints that are particularly advantageous in preventing undesirable interaction between features resulting from such translation.
For example, in one embodiment of such a constraint shown in
In another illustrative constraint in accordance with another embodiment of the present invention, the relative abstract and concrete categorizations of addresses in a request chain are used as a constraint to address translation. This constraint, hereinafter referred to in general as Constraint 2, is a function of whether the module at which address translation occurs is a target module in the target region or a source module in the source region. Specifically, in the embodiment of this constraint as applied to the source region (hereinafter referred to as Constraint 2s), if a source feature module in a request chain changes the source address of a request, the new source address must be more abstract than the old one. Similarly, in the embodiment of this constraint in the target region (hereinafter referred to as 2t), if a target feature module in a request chain changes the target address of a request, the new target address must be more concrete than the old one.
Adhering to constraints 2s and 2t will force an orderly progression of address translation from, in the source region, a more concrete address to a more abstract address and, in the target region, from a more abstract address to a more concrete address. Thus, address translations that would jump from one level of abstraction to a higher level of abstraction and, then, back to a lower level of abstraction are prevented. In practical use, preventing such jumps bounds the number of feature modules that can be accessed in a request chain. Specifically, the number of modules that can be accessed in the source and target regions will be equal to or less than the levels of address abstraction defined in those regions, respectively. Since many undesirable feature interactions can be traced to a requirement to process a large number of features at different levels of abstraction in an inconsistent order, imposing the above constraints on address translations based on abstraction levels functions to reduce the undesirable feature interactions.
The above address translation constraints address the problem of translation of addresses primarily in a source address field and/or a target address field of a message. However, as is well known, source and target addresses are also frequently transmitted in signaling information sent along signaling channels. As is frequently the case, these addresses may indicate an alternative source or target address of the chain. Therefore, when such alternative addresses are used, in another embodiment of the present invention, an additional constraint (hereinafter referred to as Constraint 3) is imposed upon the address translation of these addresses in order to prevent or at least limit the aforementioned feature-interaction problem resulting from address translation of such alternative addresses. Specifically, in accordance with this embodiment, a constraint is applied to the source region of a message (hereinafter referred to as Constraint 3s) wherein a source feature module in a request chain may not transmit downstream (e.g., to a target address) an alternative source address for the chain that is more concrete than its own address. As a corollary, a constraint in the target region (hereinafter referred to as Constraint 3t) is applied so that a target feature module in a request chain cannot transmit upstream (e.g., to a source address) any address more concrete than its own address. As one skilled in the art will recognize in light of the teachings herein, Constraints 3s and 3t will help to, for example, preserve the privacy of any address more concrete than a target or source feature module.
The foregoing constraints 1, 2s, 2t, 3s and 3t when applied to address translation will help to resolve many of the feature interaction problems described above. For example, referring once again to the example of a remailer feature, applying the above constraints may prevent the problem of inadvertent identification of a subscriber of such a feature. Specifically,
When the message is received at the email host 707 of user 705 with the address user2@host2, if an autoresponse feature is active for user 705 at, for example, user2@host2, then an automatic response to the email will be generated. A return message chain corresponding to this automatic response is shown in
Once the source feature module 706 associated with user2@host2 translates the address to anon2@remailer2, the message is routed to the remailer feature module 704. Illustratively, the remailer feature module authenticates the use of the address anon2@remailer, for example by referring to an identifying key included in the message from user2@host2, and then forwards the message to address user1@host1 corresponding to user 701 without any additional address translation.
The constraints described hereinabove each dictate how address translation is to occur in target and source regions. These constraints to address translation control the high number of feature interactions in today's telecommunication networks. The end result of the application of such constraints is the reduction or elimination of many of the feature-interaction problems that occur in telecommunication networks today and which may be traced directly to issues created as a result of uncontrolled address translation.
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.
This application claims the benefit of U.S. Provisional Application No. 60/573,722, filed May 21, 2004, which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4488004 | Bogart et al. | Dec 1984 | A |
5386464 | Pruitt | Jan 1995 | A |
5442689 | Buttitta et al. | Aug 1995 | A |
5467388 | Redd, Jr. et al. | Nov 1995 | A |
5481602 | Griffiths et al. | Jan 1996 | A |
5495285 | Fujioka | Feb 1996 | A |
5530931 | Cook-Hellberg et al. | Jun 1996 | A |
5548636 | Bannister et al. | Aug 1996 | A |
5553128 | Grimes | Sep 1996 | A |
5583929 | Ardon | Dec 1996 | A |
5590184 | London | Dec 1996 | A |
5592541 | Fleischer et al. | Jan 1997 | A |
5623536 | Solomon et al. | Apr 1997 | A |
5654961 | Aranjo et al. | Aug 1997 | A |
5706286 | Reiman et al. | Jan 1998 | A |
5708702 | De Paul et al. | Jan 1998 | A |
5737403 | Zave | Apr 1998 | A |
5768358 | Venier et al. | Jun 1998 | A |
5793859 | Matthews | Aug 1998 | A |
5838782 | Lindquist | Nov 1998 | A |
5852660 | Lindquist et al. | Dec 1998 | A |
5901209 | Tannenbaum et al. | May 1999 | A |
5926464 | Fraser | Jul 1999 | A |
5940394 | Killian | Aug 1999 | A |
5940490 | Foster et al. | Aug 1999 | A |
6064653 | Farris | May 2000 | A |
6157636 | Voit et al. | Dec 2000 | A |
6160883 | Jackson et al. | Dec 2000 | A |
6175564 | Miloslavsky et al. | Jan 2001 | B1 |
6175620 | Rouge et al. | Jan 2001 | B1 |
6178167 | Fraser | Jan 2001 | B1 |
6201804 | Kikinis | Mar 2001 | B1 |
6222859 | Yoshikawa | Apr 2001 | B1 |
6226289 | Williams et al. | May 2001 | B1 |
6236722 | Gilbert et al. | May 2001 | B1 |
6298062 | Gardell et al. | Oct 2001 | B1 |
6301350 | Henningson et al. | Oct 2001 | B1 |
6324279 | Kalmanek et al. | Nov 2001 | B1 |
6327358 | March et al. | Dec 2001 | B1 |
6377674 | Chong et al. | Apr 2002 | B1 |
6404878 | Jackson et al. | Jun 2002 | B1 |
6459788 | Khuc et al. | Oct 2002 | B1 |
6470008 | Khuc | Oct 2002 | B1 |
6473426 | Killian | Oct 2002 | B1 |
6473505 | Khuc et al. | Oct 2002 | B1 |
6490347 | DeCaluwe et al. | Dec 2002 | B2 |
6510154 | Mayes et al. | Jan 2003 | B1 |
6522655 | Laiho | Feb 2003 | B1 |
6574323 | Manuel et al. | Jun 2003 | B1 |
6690932 | Barnier et al. | Feb 2004 | B1 |
6717949 | Boden et al. | Apr 2004 | B1 |
6721395 | Martinez | Apr 2004 | B2 |
6731642 | Borella et al. | May 2004 | B1 |
6760780 | Chitturi et al. | Jul 2004 | B1 |
6778560 | Zave et al. | Aug 2004 | B1 |
6822942 | Jackson et al. | Nov 2004 | B1 |
6826275 | Jackson et al. | Nov 2004 | B1 |
6829346 | Zave et al. | Dec 2004 | B1 |
6831974 | Watson et al. | Dec 2004 | B1 |
6839414 | Enzmann et al. | Jan 2005 | B1 |
6871070 | Ejzak | Mar 2005 | B2 |
6925076 | Dalgic et al. | Aug 2005 | B1 |
6928070 | Emerson, III | Aug 2005 | B2 |
6940866 | Miller et al. | Sep 2005 | B1 |
6980821 | Balasuriya et al. | Dec 2005 | B2 |
6990185 | Zave et al. | Jan 2006 | B1 |
7020707 | Sternagle | Mar 2006 | B2 |
7068655 | March et al. | Jun 2006 | B2 |
7072332 | D'Souza | Jul 2006 | B2 |
7075931 | Li et al. | Jul 2006 | B2 |
7099454 | Cope et al. | Aug 2006 | B1 |
7103032 | Kobayashi | Sep 2006 | B2 |
7126954 | Fang et al. | Oct 2006 | B2 |
7158507 | Olkkonen et al. | Jan 2007 | B1 |
7173928 | Xu et al. | Feb 2007 | B2 |
7233995 | Yamaguchi et al. | Jun 2007 | B2 |
7242680 | Gallant | Jul 2007 | B2 |
7266187 | Horne | Sep 2007 | B2 |
7277421 | Pershan | Oct 2007 | B1 |
7280532 | Um | Oct 2007 | B2 |
7295667 | Jackson et al. | Nov 2007 | B1 |
7333500 | Roshko | Feb 2008 | B2 |
7342926 | Uskela et al. | Mar 2008 | B2 |
7349382 | Marimuthu et al. | Mar 2008 | B2 |
7363381 | Mussman et al. | Apr 2008 | B2 |
7385975 | Liu | Jun 2008 | B2 |
7412051 | Beathard et al. | Aug 2008 | B1 |
7436804 | O'Neill | Oct 2008 | B2 |
7469046 | Jackson et al. | Dec 2008 | B1 |
7573873 | Borella et al. | Aug 2009 | B1 |
7643412 | Mitchell et al. | Jan 2010 | B1 |
7813274 | Venable, Sr. | Oct 2010 | B1 |
20010040887 | Shtivelman et al. | Nov 2001 | A1 |
20010049745 | Schoeffler | Dec 2001 | A1 |
20020150091 | Lopponen et al. | Oct 2002 | A1 |
20030095541 | Chang et al. | May 2003 | A1 |
20040264663 | Enzmann et al. | Dec 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
60573722 | May 2004 | US |