Multi-protocol telecommunications routing optimization

Information

  • Patent Grant
  • 7307956
  • Patent Number
    7,307,956
  • Date Filed
    Wednesday, May 29, 2002
    23 years ago
  • Date Issued
    Tuesday, December 11, 2007
    18 years ago
Abstract
A telecommunications switching system employing multi-protocol routing optimization which utilizes predetermined and measured parameters in accordance with a set of user priorities in determining the selection of a telecommunications path to be utilized for transmitting a data file to a remote destination. The switching system has a first memory for storing the data file to be transferred, a second memory for storing predetermined parameters such as cost data associated with each of the telecommunications paths, a third memory for storing a set of user priorities regarding the transmission of data files, and means for measuring the value of variable parameters such as file transfer speed associated with each of the telecommunications paths. Processor means are operatively associated with the second and third memories and the variable parameter measuring means for determining which of the plurality of telecommunications paths should be utilized for transferring the data file in accordance with the set of user priorities, the predetermined telecommunications path parameters, and the measured variable parameters. The switching system further comprises input means for allowing a user to change the user priorities in the third memory prior to transmitting a file.
Description
BACKGROUND OF THE INVENTION

This invention relates to communications, and in particular to a method and apparatus for dynamically selecting an optimal communications path from a plurality of available paths in accordance with an analysis of both static and dynamically changing variables and user priorities.


The telecommunications industry has changed rapidly in recent times from the simple analog connection of telephones for voice communications to the present systems for transmitting and receiving data, facsimile, e-mail, video, audio, as well as voice in both analog and digital formats (referred to herein collectively as data). Data may be transmitted in any of various formats, such as a data file, data packets, encapsulated packets, or data streams (referred to herein as a data file). Various types of communications systems have been and continue to be installed, which function as the backbone systems for transmission of data over numerous media. For example, data may be transmitted from one user to another by POTS (plain old telephone system), leased lines, mobile cellular networks, digital links, fiber optics, satellite links, and private and public packet switching virtual networks such as the Internet.


In addition, there exists a great amount of pricing competition among service providers employing various types of these transmission media. For example, so-called long distance service providers such as AT&T and MCI offer rates in competition with each other in order to gain greater market shares of consumer, business, non-profit organizations, and governmental users. As a result of the numerous types of communications services available, as well as the competition between providers of these services, users are often faced with difficult choices regarding the selection of a service which will provide them with the best value.


Often, more than one communications service providers are available at a given time to a user for selection as a carrier of the data to be transmitted. For example, a user may subscribe to two or more long distance service providers, and may access either one a given time by first dialing the service provider's code, and then dialing the destination phone number. In addition, a user may have various types of media available for selection; i.e. the connection may be made via the Internet, satellite, etc. This is especially true in a business environment, where economic considerations allow numerous communications resources to be available for use.


The prior art generally recognizes low cost as being the factor upon which routing decisions are made for the transmission of data. As such, so-called “least cost routing” facilities proliferate, allowing a call to be placed with a service provider that provides the least cost a given time. PBX (private branch exchange) systems may employ such a least cost routing facility that automatically connects the calling party to the destination number along the cheapest route available.


The present invention recognizes that the best value for a communications medium at a given time is not necessarily the lowest cost of the choices available. This is, the optimization of routing selection encompasses not only a low cost, but also takes into account other factors such as transmission bandwidth of the medium, its availability at the specific time the user needs to use it, its security, and its reliability. In addition, a user's priorities may change from time to time, and the requirements regarding the transmission of one data file may be different than the requirements of another file. That is, a user may want to transmit one file in an emergency situation at the fastest speed, regardless of its cost. Other files may need high security from being illicitly intercepted, and yet other files may only need to be transmitted at the lowest cost at any time in the near future, with no speed concerns.


Thus, the present invention recognizes that the selection of the optimal route for data transmission at a given time is a dynamic analysis that must be done in real-time, and must take into account various factors regarding the available media as well as the priorities of the user and of the file to be transmitted.


U.S. Pat. No. 5,337,352 discloses a PBX system servicing a plurality of tenants, wherein each tenant may specify which of a plurality of routes should be selected as having the highest priority, then second highest priority, etc. The routing selections are predetermined by each tenant in accordance with their requirements and available resources, and the selections are stored in a table in the PBX. Once a tenant desires to place a call, the PBX looks in the table to determine the highest priority route for that particular tenant, and connects the call accordingly. If that route is not available, then the next priority route, according to the predetermined tenant table, is connected. Thus, a predetermined pecking order is established by each tenant and stored in the PBX. This system is static and not changeable on a real-time basis since each tenant must predetermine the priority of specific providers to utilize. Although the system of this patent checks the availability of the highest predetermined priority route and uses the next highest priority if it is unavailable, such analysis is only a discrete yes/no inquiry and does not take into account the current amount of traffic over the route to analyze the route's availability on a relative basis.


It is therefore an object of the present invention to overcome the shortcomings of the prior art systems as described above.


It is an object of the present invention to provide a system and method for selecting an optimal communications path for connecting a call to a remote location for the transfer of a data file thereover by analyzing on a real-time basis a set of multiple protocols.


It is a further object of the present invention to provide such a system and method for multi-protocol route optimization which analyzes the priorities of a user regarding the transmission of a particular data file in determining the optimal route for the call.


It is an even further object of the present invention to provide such a system and method for multi-protocol route optimization which analyzes various factors regarding the route on a real-time basis in determining the optimal route for the call.


It is an even further object of the present invention to provide such a system and method for multi-protocol route optimization which allows a user to override preset default values and specify critical transfer parameters on a file-by-file basis.


SUMMARY OF THE INVENTION

In accordance with these and other objects, provided is a communications switching system comprising a first memory for holding a data file to be transferred to a remote destination and a plurality of interfaces coupled with the first memory, wherein each of the interfaces is interconnected with an associated communications path capable of transferring the data file to the remote destination. The switching system comprises a second memory for storing predetermined parameters associated with each of the communications paths and means for measuring the value of variable parameters associated with each of the communications paths. A third memory stores a set of user priorities regarding the transmission of data files. Processor means is operatively associated with the second and third memories and the variable parameter measuring means for determining which of the plurality of communications paths should be utilized for transferring the data file in accordance with the set of user priorities, the predetermined communications path parameters, and the measured variable parameters. The switching system further comprises input means for allowing a user to change the user priorities in the third memory prior to transmitting a file.


For example, the variable parameter measuring means performs a measurement of me data transfer speed of each of the communications paths, for example by a so-called ping test. The predetermined parameters stored in the second memory comprises the cost per unit time of utilizing each of the communications paths, which may be a function of the current time of day and/or current day of week. The predetermined parameters stored in the second memory also comprises a measure of data transfer reliability of each of the paths as well as a measure of data transfer bandwidth of each of the paths. The switching system may also comprise means for ascertaining if an interface is available for data file transfer at a particular time.


In a method aspect utilizing the switching system of the present invention, provided is a method of determining which of a plurality of communications paths should be utilized for transferring a data file in accordance with a set of user priorities, the method comprising the steps of measuring variable parameters for each of the paths, analyzing the measured variable parameters and the predetermined parameters in relation to the user priorities; and determining which of the paths provides the characteristics desired by the user for transferring the file in accordance with the user's priorities.





BRIEF DESCRIPTION OF THE DRAWING


FIG. 1 is a functional block diagram of the switching system of the present invention utilizing multi-protocol routing optimization;



FIG. 2 is a flowchart of the main routine carried out by the present invention; and



FIG. 3 is a flowchart of the interface analysis subroutine carried out by the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT


FIG. 1 illustrates a block diagram of the communications switching system 10 of the present invention, which may be implemented for example on a personal computer platform, personal digital assistant (PDA), dedicated system such as a PBX, or the like. The switching system 10 is connected to various communications media in accordance with the user's resources. In particular, the switching system 10 may be configured to a high speed digital link via a T1 interface 12, to a local area network (LAN) via LAN interface 14, to a wide area network (WAN) via a WAN interface 16, to a local loop in a plain old telephone system (POTS) via POTS interface 18, and to a wireless communication network via wireless interface 20. The interfaces 12, 14, 16, 18 and 20 are exemplary and are provided for the purposes of illustrating the preferred embodiment of the present invention. Thus, in practice, any number of the aforementioned interfaces may be used alone or in any combination as required by the user. For example, a number of common carriers such as MCI, AT&T and SPRINT may be configured to the switching system 10 such that the user may take advantage of the relative benefits of each carrier via the multi-protocol routing optimization to be described herein. In addition, the wireless interface 20 may be configured for communications by any type of wireless communications such as infrared, radio frequency, optical, etc.


Each of the telecommunication media connected to the various interfaces of FIG. 1 has certain parameters associated therewith which are implemented by the routing methodology of the present invention. These parameters are classified by the routing methodology as being either predetermined (fixed) or measurable (variable). Data regarding the predetermined parameters are stored in a memory 22 in the switching system 10, while data regarding the measurable parameters must be collected by path analysis block 24 from each interface in real-time at or about the time the data file is transferred in order for the routing methodology to make a proper analysis.


Predetermined parameters stored in memory 32 include, but are not limited to, the following:










TABLE A







$maxbandwidth (i):
the maximum amount of bandwidth available



for interface (i). For example, a 28.8 kbs



modem would have a $maxbandwidth variable



set to 28.8.


$reliability (i):
an indication of the reliability of



interface (i) according to the following



scale:



10 = non-reliable transfer (e.g. wireless)



50 = moderately reliable (e.g. modem)



75 = very reliable (e.g. T1, WAN)



100 = ultra reliable (e.g. Ethernet LAN)


$economy (i):
the currency expenditure of interface (i)



for a period of time, normalized so that a



high cost interface yields a low measure



of economy:



$economy (i) = 100 − cost/minute


$availability (i)
the availability of interface (i) to a



particular user. Not all users of the



system will have access to each interface;



e.g. in a shared PBX environment only



certain subscribers may have access to the



T1 interface.



$availability = 0   Not available



$availability = 1   Available


$security (i)
an indication of the relative data



security of the path, which may, for



example, be a function of the number of



bits in an encryption key (e.g. 1024)









Measurable parameters include, but are not limited to the following:












TABLE B









$presentstate (i)
the present state of interface (i),




indicating if the telecommunications path




is presently operational.




$presentstate = 0   Not operational




$presentstate = 1   Operational



$avgstate (i)
average of $presentstate (i) over prior




five minute window



$datasize (i)
the size in KB of the data file to be




transmitted.



$latency (i)
measure, in msec, of delay through path (i).




This is based on a real-time test on the




interface such as by a “ping” to the remote




host.



$time
time of day/day of week; this is the same




for all interfaces.



$availbandwidth (i)
available bandwidth of interface (i) at a




given time of file transfer










Rather than simply relying on preprogrammed “least cost” routing criteria, the present invention utilizes all or a logical subset of the variables set forth in the Tables A and B above to arrive at a routing decision for a data file to be transmitted. That is, by employing the multi-protocol routing optimization of the present invention, the path chosen for transmission of a data file takes into account parameters which vary in real-time, thus not relying on a simple preprogrammed look-up table of low cost providers as in the prior art. In addition, the user can specify his priorities as to the parameters which are critical in transmitting a particular file, i.e. low cost, high speed, reliability, security, etc., in making the routing determination.


The methodology employed by the present invention is processed by routing optimization block 26 (which may be implemented in a microprocessor) and utilizes two main components comprising the parameters set forth in the Tables A and B above in varying combinations. The first component is a measure of an inherent efficiency and desirability of a particular communications path, and is given by the following equation:

$prevalue(i)=$maxbandwidth(i)+$reliability(i)+$economy(i)+Ssecurity(i)  (1)

The variable $prevalue is a linear value that increases with a high bandwidth, a high reliability, a high measure of economy (low cost) and/or a high degree of security of a particular path. This variable is essentially unchanging for a given path, except for the fact that the $economy parameter is based in part on the $time variable (cost of the path is a function of the time of day/day of week) which is derived from a real-time clock 28.


The second component utilized by the routing methodology of the present invention is based in part upon real-time parameters that may exhibit a wide variance due to numerous reasons, some of which may be beyond the control of the user:

$currentvalue(i)=$economy(i)×$speed(i)+$avgstate(i)×10
where
$speed(i)=10,000−($datasize(i)×$latency(i)×100)  (2)

so that:

$currentvalue(i)=$economy(i)×(10,000−($datasize(i)×$latency(i)×100)+$avgstate (i)×10

Thus, the $currentvalue(i) for a given path (i) will be higher for the path having a greater economy (low cost), a low data file size, and/or little latency through the path (high speed).


The selection of the optimal route to use is then a combination of the values calculated above in equations (1) and (2):













$
finalvalue
(
i
)

=






$





prevalue




(
i
)


+

$






currentvalue


(
i
)










=




$






maxbandwidth
(i)


+

$






reliability


(
i
)



+











$






economy


(
i
)



+

$






security


(
i
)



+










(

$






economy


(
i
)


×

(


10


,


000

-

(

$






datasize


(
i
)


×

















$






latency


(
i
)


×
100

)

+

$






avgstate


(
i
)


×
10


)







(
3
)







The routing optimization methodology block 26 then takes the highest $finalvalue(i) for each path in the system that is available, operational, and meets a threshold ($avgstate×10) value of 25 or above as shown in the flowcharts to be described below. This methodology thereby allows the optimal selection based on an analysis of multiple protocols employed by the system, rather than simply a least cost routing decision.


Path analysis function block 24 obtains the value $latency(i) for each path(i) by any means known in the art for obtaining the latency of an IP addressable path, such as by well known software utility known as “ping.” The ping routine sends a packet onto the network and obtains a value of the average delay encountered by that packet in reaching the destination and returning. Other techniques which allow the system to obtain a measure of the latency of the path are also encompassed by the present invention.


A user may customize the relative weights given to each of the variables set forth in Tables A, B in accordance with his specific requirements as stored in user priorities memory 32. These fixed weighting values would be stored in a memory in the switching system and used in conjunction with the routing methodology for all files transferred in accordance with the invention. The weighting values are used as multipliers for the variables in the algorithm in order to allow the user to customize the algorithm as desired. For example, a user may want to emphasize the $security(i) parameter in the analysis, and may then specify a weight multiplier of (for example) two so that the $security(i) parameter is weighted twice as much as if the $security(i) parameter were left in the default state.


In addition, a user may override via input to a user interface 34 the fixed parameter weights preprogrammed in memory for any given file transfer with temporary values. The user interface may be any type of device for allowing the user to input data, such as a keyboard, mouse, etc.


In another form of parameter weighting, the user may also force the program to ignore certain parameters and focus on one parameter only in arriving at a routing decision. For example, if a user wants to transmit a data file 30 to a remote location via the fastest path, regardless of cost or any other factor, then the user specifies this requirement to the routing optimization block 26 via the interface 34. The routing optimization block 26 will then cause all variables except for $latency to a predetermined factor, so that the path with the smallest value for $latency (i.e. the smallest routing delay) will be chosen by the routing optimization block 26 as being the fastest route.


Other permutations and variations of the above example can be easily derived by one skilled in the art to allow the user to specify his priorities as to data transfer of a file at any given point in time, e.g. the analysis may be forced to look at any two variables, etc.


In addition, a user may store certain sets of parameter weighting to be used in different situations, and then select the set when desired. The set of weights would then be applied as above described. Furthermore, the program may be configured to automatically apply certain weighting sets as a function of the data type. For example, the user may specify that all facsimile messages be given a high economy factor, while all video files be given a low security factor, etc.



FIGS. 2 and 3 illustrate flowcharts of the methodology employed by the present invention in arriving at the optimal choice for routing a data file amongst a plurality of available paths in accordance with the present invention. First, as shown in FIG. 2, the fixed user priorities are fetched so that the parameters used in the analysis may be weighted accordingly. The user is then allowed to enter his temporary priority override values for the file transfer. Assuming for this example that no fixed weighting or temporary override values are entered, then the $finalvalue parameter is determined for each of the paths(i) in the switching system 10 in the following manner.


First, with reference to FIG. 3, the routing optimization block 26 checks with memory 22 to determine if that interface(i) has been programmed as being available to be used by that user be observing the variable $availability(i). For example, if the switching system 10 is embodied in a PBX system, then not all users will have access to all paths(i) due to their economic resources. This information is contained in memory 22 and checked as a first step in the process of FIG. 3.


If $availability(i)=0, then $finalvalue(i) is set to zero and the routine is exited. If, however, the interface(i) is avialable, the $availabilty(i) is set to 1 and the process proceeds. The routine then checks the to see if the path(i) is operable at that time, and the $presentstate variable is returned from the $interface(i) accordingly. If $presentstate(i)=0 (path inoperable or down), then $finalvalue(i) is set to zero and the routine is exited. If $presentstate(i)=1 (path operable or up), then the routine proceeds.


The variable $avgstate is then checked to ensure that it is greater than a predetermined threshold value, e.g if $avgstate×10>25. If this is true, then the interface(i) is considered to be essentially in operable condition. If false, then the interface(i) is considered to be in essentially non-operable condition, notwithstanding the fact that the $presentstate indicates operability at that particular time.


The routine then proceeds to obtain the $latency(i) value via path analysis block 24. Using $latency(i), the variable $speed(i) is calculated as shown in the flowchart and explained above. The variable $economy(i), which is a function of the $time variable, is obtained from the memory 22. Then, the variable $currentvalue(i) is calculated as a function of $economy(i), $speed(i), and $avgstate(i).


The variable $prevalue(i) is then calculated as a function of the variables $maxbandwidth(i), $reliability(i), and $security(i), which are obtained from the memory 26, as well as $economy(i) which was previously determined. Finally, the variable $finalvalue is obtained as shown in the routine, and this is stored in a register pending calculation of $finalvalue(i) for the remaining interfaces as shown in FIG. 2.


After all the interfaces have been analyzed in the above manner, then the routing optimization block 26 makes a determination as which interface(i) should be selected in accordance with the highest value for $finalvalue(i). The data file is then routed from the memory 30 to the selected interface for transmission.


The routines shown in FIGS. 2 and 3 may be supplemented by the user priority override features described above, which allow the user to specify the fastest route, the least cost rout, the most reliable route, etc.


The measurable parameter $availbandwidth(i) may also be utilized in the algorithms presented herein to provide a real-time indication of the desirability of selecting a particular interface(i) at a given time. Although the fixed parameter $maxbandwidth(i) provides a measure of the maximum bandwidth that may be available for a given interface, the interface can be tested if desired in order to determine what portion of that bandwidth is actually available for use. One test known in the art for accomplishing this measurement is the so-called “show interface serial zero” test, which may be performed by measuring the amount of packets received in the last n seconds as well as how many packets have been transmitted on the interface in that time. Thus, the parameter $availbandwidth may be used instead of, or in conjunction with, the measured parameter $latency to perform the analysis herein.


In addition, while the system and method of the present invention has been shown in conjunction with the transmission of one data file (as defined herein), it may be also applicable to the transmission of multiple data files in either a serial or parallel (interleaved) basis, by modification of the algorithm and routines as may be appropriate.

    • The choice of particular variables and parameters used herein is the preferred embodiment; it is anticipated that other variables may be used in conjunction with the present invention to arrive at the optimal route in a give situation. For example, in using an optical medium, the various properties of the optical signal could be used in determination of the optimal route. An additional example could utilize whether optical switching includes a mechanical, an electrical, an optical or a combination, switch within a certain route to find the optimal route. In addition, the particular algorithm, while determined to provide a requisite relative weighting of the fixed and measured variables, may also be supplemented in accordance with the requirements of the user in order to arrive at the optimal routing choice. Although illustrative embodiments of the invention have been shown and described, other modifications, changes, and substitutions are intended in the foregoing disclosure. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the invention. accordance with the requirements of the user in order to arrive at the optimal routing choice.

Claims
  • 1. In a communications switching system comprising a plurality of interfaces, each of the interfaces interconnected with at least one of a plurality of communications paths capable of transferring data to a remote destination, each communication path being a network, the communications paths including at least one plain old telephone system (POTS) path, at least one of the communications paths having at least one predetermined parameter associated therewith, a method of determining which of the plurality of communications paths should be utilized for transferring the data, the method comprising: determining a data type of the data to be transferred;measuring at least one variable parameter for at least one of said paths; anddetermining which of the paths provides an optimal set of characteristics for transferring the data to the remote destination in accordance with the at least one measured variable parameter, the at least one predetermined parameter, and the data type.
  • 2. The method of claim 1, wherein the at least one variable parameter corresponds to an available bandwidth on the at least one of said paths.
  • 3. The method of claim 2, further comprising: transmitting the data to the remote destination over the path determined to provide the optimal characteristics, wherein the at least one variable parameter corresponds to the available bandwidth of the at least one of said paths when the data is transmitted to the remote destination.
  • 4. The method of claim 1, wherein the at least one variable parameter corresponds to an operational state of the at least one of said paths.
  • 5. The method of claim 4, further comprising: transmitting the data to the remote destination over the path determined to provide the optimal characteristics, wherein the at least one variable parameter corresponds to the operational state of the at least one of said paths when the data is transmitted to the remote destination.
  • 6. The method of claim 3, wherein the step of determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a facsimile data type.
  • 7. The method of claim 5, wherein the step of determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a facsimile data type.
  • 8. The method of claim 3, wherein the step of determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a video data type.
  • 9. The method of claim 5, wherein the step of determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a video data type.
  • 10. The method of claim 3, wherein the at least one of said paths is a wireless link.
  • 11. The method of claim 5, wherein the at least one of said paths is a wireless link.
  • 12. The method of claim 10, wherein the transmitting is performed by a personal communication device coupled to a plurality of interfaces, wherein at least one of the interfaces is a wireless interface.
  • 13. The method of claim 11, wherein the transmitting is performed by a personal communication device coupled to a plurality of interfaces, wherein at least one of the interfaces is a wireless interface.
  • 14. The method of claim 3, wherein the at least one of said paths is a fiber optic link.
  • 15. The method of claim 14, the data to be transferred corresponds to data packets.
  • 16. The method of claim 5, wherein the at least one of said paths is a fiber optic link.
  • 17. The method of claim 16, the data to be transferred corresponds to data packets.
  • 18. The method of claim 1, wherein the determination of the path that provides an optimal set of characteristics for transferring the data to the remote destination is also made in accordance with whether the data comprises an emergency message.
  • 19. In a communications switching system comprising a plurality of interfaces, each of the interfaces interconnected with at least one of a plurality of communications paths capable of transferring data to a remote destination, each communication path being a network, the communications paths including at least one plain old telephone system (POTS) path, at least one of the communications paths having at least one predetermined parameter associated therewith, a system for determining which of the plurality of communications paths should be utilized for transferring the data, comprising at least one processor that: determines a data type of the data to be transferred;measures at least one variable parameter for at least one of said paths; anddetermines which of the paths provides an optimal set of characteristics for transferring the data to the remote destination in accordance with the at least one measured variable parameter, the at least one predetermined parameter, and the data type.
  • 20. The system of claim 19, wherein the at least one variable parameter corresponds to an available bandwidth on the at least one of said paths.
  • 21. The system of claim 20, further comprising: at least one interface, coupled to the at least one processor, for transmitting the data to the remote destination over the path determined to provide the optimal characteristics, wherein the at least one variable parameter corresponds to the available bandwidth of the at least one of said paths when the data is transmitted to the remote destination.
  • 22. The system of claim 19, wherein the at least one variable parameter corresponds to an operational state of the at least one of said paths.
  • 23. The system of claim 22, further comprising: at least one interface, coupled to the at least one processor, for transmitting the data to the remote destination over the path determined to provide the optimal characteristics, wherein the at least one variable parameter corresponds to the operational state of the at least one of said paths when the data is transmitted to the remote destination.
  • 24. The system of claim 21, wherein the determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a facsimile data type.
  • 25. The system of claim 23, wherein the determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a facsimile data type.
  • 26. The system of claim 21, wherein the determining the data type of the data to be transferred consists of determining whether the data to be transferred corresponds to a video data type.
  • 27. The system of claim 23, wherein the determining the data type of the, data to be transferred consists of determining whether the data to be transferred corresponds to a video data type.
  • 28. The system of claim 21, wherein the at least one of said paths is a wireless link.
  • 29. The system of claim 23, wherein the at least one of said paths is a wireless link.
  • 30. The system of claim 28, wherein the at least one processor is included in a personal communication device coupled to said at least one interface, wherein said at least one interface is a wireless interface.
  • 31. The system of claim 29, wherein the at least one processor is included in a personal communication device coupled to said at least one interface, wherein said at least one interface is a wireless interface.
  • 32. The system of claim 21, wherein the at least one of said paths is a fiber optic link.
  • 33. The system of claim 32, the data to be transferred corresponds to data packets.
  • 34. The system of claim 23, wherein the at least one of said paths is a fiber optic link.
  • 35. The system of claim 32, the data to be transferred corresponds to data packets.
  • 36. The system of claim 19, wherein the at least one processor determines the path that provides an optimal set of characteristics for transferring the data to the remote destination in accordance with whether the data comprises an emergency message.
  • 37. The method of claim 1, wherein each of said communication paths is a different network.
  • 38. The method of claim 1, wherein each of the plurality of communications paths has a plurality of predetermined parameters associated therewith, and the method further comprises measuring a plurality of variable parameters for the plurality of communications paths, and determining which of the paths provides an optimal set of characteristics for transferring the data to the remote destination in accordance with the plurality of measured variable parameters, the plurality of predetermined parameters, and the data type.
  • 39. The system of claim 19, wherein each of said communication paths is a different network.
  • 40. The system of claim 19, wherein the communications switching system comprises a plurality of interfaces, each of the interfaces interconnected with a different one of a plurality of communications paths capable of transferring data to a remote destination, each communication path being a network, a plurality of the communications paths having a plurality of predetermined parameters associated therewith, and wherein said at least one processor measures a plurality of variable parameters for each of said paths, and determines which of the paths provides an optimal set of characteristics for transferring the data to the remote destination in accordance with the plurality of measured variable parameters, the plurality of predetermined parameters, and the data type.
CROSS REFERENCE

This is a continuation of application Ser. No. 09/665,399 filed on Sep. 20, 2000 now U.S. Pat. No. 6,473,404, which is a continuation of application Ser. No. 09/198,687, filed on Nov. 24, 1998, which is now Pat. No. 6,144,641, which is a continuation of Ser. No. 08/741,130 filed on Oct. 31, 1996 which is now Pat. No. 6,016,307.

US Referenced Citations (381)
Number Name Date Kind
4054756 Comella et al. Oct 1977 A
4074232 Otomo et al. Feb 1978 A
4100377 Flanagan Jul 1978 A
4112258 Alles Sep 1978 A
4135156 Sanders, Jr. et al. Jan 1979 A
4168400 de Couasnon et al. Sep 1979 A
4320500 Barberis et al. Mar 1982 A
4484326 Turner Nov 1984 A
4491495 Muscoplat Jan 1985 A
4494230 Turner Jan 1985 A
4495566 Dickinson et al. Jan 1985 A
4506358 Montgomery Mar 1985 A
4516239 Maxemchuk May 1985 A
4525830 Cohen et al. Jun 1985 A
4534024 Maxemuchuk et al. Aug 1985 A
4550402 Gable et al. Oct 1985 A
4566095 Devault et al. Jan 1986 A
4598400 Hillis Jul 1986 A
4616359 Fontenot Oct 1986 A
4630259 Larson et al. Dec 1986 A
4630261 Irvin Dec 1986 A
4644532 George et al. Feb 1987 A
4646287 Larson et al. Feb 1987 A
4653045 Stanley et al. Mar 1987 A
4661947 Lea et al. Apr 1987 A
4663758 Lambarelli et al. May 1987 A
4667324 Graves May 1987 A
4679189 Olson et al. Jul 1987 A
4679190 Dias et al. Jul 1987 A
4703475 Dretzka et al. Oct 1987 A
4703477 Adelmann et al. Oct 1987 A
4736363 Aubin et al. Apr 1988 A
4769810 Eckberg, Jr. et al. Sep 1988 A
4769811 Eckberg, Jr. et al. Sep 1988 A
4771424 Suzuki et al. Sep 1988 A
4771425 Baran et al. Sep 1988 A
4813037 Debuysscher et al. Mar 1989 A
4819228 Baran et al. Apr 1989 A
4825206 Brice, Jr. et al. Apr 1989 A
4870678 Adachi Sep 1989 A
4894822 Buhrke et al. Jan 1990 A
4903261 Baran et al. Feb 1990 A
4905233 Cain et al. Feb 1990 A
4907724 Wing, Jr. et al. Mar 1990 A
4912656 Cain et al. Mar 1990 A
4969184 Gordon et al. Nov 1990 A
4972464 Webb et al. Nov 1990 A
4974224 Boone Nov 1990 A
4979100 Makris et al. Dec 1990 A
4979206 Padden et al. Dec 1990 A
4994926 Gordon et al. Feb 1991 A
4996707 O'Malley et al. Feb 1991 A
5012511 Hanle et al. Apr 1991 A
5018191 Catron et al. May 1991 A
5029196 Morganstein Jul 1991 A
5068888 Scherk et al. Nov 1991 A
5088032 Bosack Feb 1992 A
5095480 Fenner Mar 1992 A
5115433 Baran et al. May 1992 A
5115495 Tsuchiya et al. May 1992 A
5117422 Hauptschein et al. May 1992 A
5132992 Yurt et al. Jul 1992 A
5146348 Kaneyama Sep 1992 A
5146488 Okada et al. Sep 1992 A
5150357 Hopner et al. Sep 1992 A
5159595 Flanagan et al. Oct 1992 A
5159624 Makita Oct 1992 A
5163042 Ochiai Nov 1992 A
5170266 Marsh et al. Dec 1992 A
5193110 Jones et al. Mar 1993 A
5204894 Darden Apr 1993 A
5206856 Chung Apr 1993 A
5210743 Eilenberger et al. May 1993 A
5233604 Ahmadi et al. Aug 1993 A
5241588 Babson, III et al. Aug 1993 A
5247571 Kay et al. Sep 1993 A
5253275 Yurt et al. Oct 1993 A
5268957 Albrecht Dec 1993 A
5274625 Derby et al. Dec 1993 A
5287199 Zoccolillo Feb 1994 A
5289536 Hokari Feb 1994 A
5291481 Doshi et al. Mar 1994 A
5311583 Friedes et al. May 1994 A
5317562 Nardin et al. May 1994 A
5317566 Joshi May 1994 A
5323389 Bitz et al. Jun 1994 A
5323450 Goldhagen et al. Jun 1994 A
5329635 Wadin et al. Jul 1994 A
5333266 Boaz et al. Jul 1994 A
5337352 Kobayashi et al. Aug 1994 A
5341366 Soumiya et al. Aug 1994 A
5384835 Wheeler et al. Jan 1995 A
5390169 Bernstein Feb 1995 A
5390339 Bruckert et al. Feb 1995 A
5396536 Yudkowsky Mar 1995 A
5396542 Alger et al. Mar 1995 A
5398012 Derby et al. Mar 1995 A
5398245 Harriman, Jr. Mar 1995 A
5402478 Hluchyj et al. Mar 1995 A
5406557 Baudoin Apr 1995 A
5408469 Opher et al. Apr 1995 A
5414698 Adams May 1995 A
5425085 Weinberger et al. Jun 1995 A
5425091 Josephs Jun 1995 A
5428608 Freeman et al. Jun 1995 A
5440620 Slusky Aug 1995 A
5444707 Cerna et al. Aug 1995 A
5448633 Jamaleddin et al. Sep 1995 A
5450411 Heil Sep 1995 A
5452289 Sharma et al. Sep 1995 A
5452351 Yamamoto Sep 1995 A
5459717 Mullan et al. Oct 1995 A
5459775 Isono et al. Oct 1995 A
5463577 Oowaki et al. Oct 1995 A
5469500 Satter et al. Nov 1995 A
5471519 Howe et al. Nov 1995 A
5471644 Schatz et al. Nov 1995 A
5473599 Li et al. Dec 1995 A
5473608 Gagne et al. Dec 1995 A
5473679 La Porta et al. Dec 1995 A
5475689 Kay et al. Dec 1995 A
5475732 Pester, III Dec 1995 A
5477531 McKee et al. Dec 1995 A
5479401 Bitz et al. Dec 1995 A
5483586 Sussman Jan 1996 A
5483587 Hogan et al. Jan 1996 A
5488651 Giler et al. Jan 1996 A
5490252 Macera et al. Feb 1996 A
5491693 Britton et al. Feb 1996 A
5495484 Self et al. Feb 1996 A
5495521 Rangachar Feb 1996 A
5509000 Oberlander Apr 1996 A
5511111 Serbetcioglu et al. Apr 1996 A
5511168 Perlman et al. Apr 1996 A
5519704 Farinacci et al. May 1996 A
5519758 Tabbane May 1996 A
5521719 Yamada May 1996 A
5521916 Choudhury et al. May 1996 A
5521924 Kakuma et al. May 1996 A
5524137 Rhee Jun 1996 A
5526353 Henley et al. Jun 1996 A
5526416 Dezonno et al. Jun 1996 A
5528677 Butler et al. Jun 1996 A
5530904 Koga Jun 1996 A
5532939 Psinakis et al. Jul 1996 A
5539884 Robrock, II Jul 1996 A
5541914 Krishnamoorthy et al. Jul 1996 A
5541917 Farris Jul 1996 A
5541927 Kristol et al. Jul 1996 A
5541930 Klingman Jul 1996 A
5548506 Srinivasan Aug 1996 A
5550863 Yurt et al. Aug 1996 A
5551025 O'Reilly et al. Aug 1996 A
5553124 Brinskele Sep 1996 A
5553131 Minervino, Jr. et al. Sep 1996 A
5559721 Ishii Sep 1996 A
5561670 Hoffert et al. Oct 1996 A
5561840 Alvesalo et al. Oct 1996 A
5563882 Bruno et al. Oct 1996 A
5563930 Pester, III Oct 1996 A
5574780 Andruska et al. Nov 1996 A
5579472 Keyworth, II et al. Nov 1996 A
5581706 Jessup, Jr. et al. Dec 1996 A
5590127 Bales et al. Dec 1996 A
5590171 Howe et al. Dec 1996 A
5590181 Hogan et al. Dec 1996 A
5596719 Ramakrishnan et al. Jan 1997 A
5602909 Carkner et al. Feb 1997 A
5604682 McLaughlin et al. Feb 1997 A
5604737 Iwami et al. Feb 1997 A
5608446 Carr et al. Mar 1997 A
5608786 Gordon Mar 1997 A
5610910 Focsaneanu et al. Mar 1997 A
5610916 Kostreski et al. Mar 1997 A
5617422 Litzenberger et al. Apr 1997 A
5619555 Fenton et al. Apr 1997 A
5623601 Vu Apr 1997 A
5625404 Grady et al. Apr 1997 A
5625407 Biggs et al. Apr 1997 A
5625677 Feiertag et al. Apr 1997 A
5625682 Gray et al. Apr 1997 A
5627886 Bowman May 1997 A
5627971 Miernik May 1997 A
5633916 Goldhagen et al. May 1997 A
5636216 Fox et al. Jun 1997 A
5640387 Takahashi et al. Jun 1997 A
5646982 Hogan et al. Jul 1997 A
5651002 Van Seters et al. Jul 1997 A
5651006 Fujino et al. Jul 1997 A
5652787 O'Kelly Jul 1997 A
5654250 Va Der Veer et al. Aug 1997 A
5654957 Koyama Aug 1997 A
5657250 Park et al. Aug 1997 A
5661790 Hsu Aug 1997 A
5661791 Parker Aug 1997 A
5661792 Akinpelu et al. Aug 1997 A
5668857 McHale Sep 1997 A
5673263 Basso et al. Sep 1997 A
5675507 Bobo, II Oct 1997 A
5675741 Aggarwal et al. Oct 1997 A
5680392 Semaan Oct 1997 A
5689550 Garson et al. Nov 1997 A
5689553 Ahuja et al. Nov 1997 A
5692039 Brankley et al. Nov 1997 A
5695507 Auth et al. Dec 1997 A
5699089 Murray Dec 1997 A
5699352 Kriete et al. Dec 1997 A
5701295 Bales et al. Dec 1997 A
5703935 Raissyan et al. Dec 1997 A
5703942 Pinard et al. Dec 1997 A
5708697 Fischer et al. Jan 1998 A
5710884 Dedrick Jan 1998 A
5712903 Bartholomew et al. Jan 1998 A
5712906 Grady et al. Jan 1998 A
5712907 Wegner et al. Jan 1998 A
5717745 Vijay et al. Feb 1998 A
5724355 Bruno et al. Mar 1998 A
5724412 Srinivasan Mar 1998 A
5726984 Kubler et al. Mar 1998 A
5727129 Barrett et al. Mar 1998 A
5729544 Lev et al. Mar 1998 A
5729599 Plomondon et al. Mar 1998 A
5732078 Arango Mar 1998 A
5737320 Madonna Apr 1998 A
5737333 Civanlar et al. Apr 1998 A
5737395 Irribarren Apr 1998 A
5737525 Picazo, Jr. et al. Apr 1998 A
5737701 Rosenthal et al. Apr 1998 A
5740230 Vaudreuil Apr 1998 A
5740231 Cohn et al. Apr 1998 A
5742668 Pepe et al. Apr 1998 A
5742670 Bennett Apr 1998 A
5742674 Jain et al. Apr 1998 A
5742762 Scholl et al. Apr 1998 A
5742840 Hansen et al. Apr 1998 A
5742905 Pepe et al. Apr 1998 A
5745556 Ronen Apr 1998 A
5745702 Morozumi Apr 1998 A
5749075 Toader et al. May 1998 A
5751338 Ludwig, Jr. May 1998 A
5751706 Land et al. May 1998 A
5751791 Chen et al. May 1998 A
5761281 Baum et al. Jun 1998 A
5764644 Miska et al. Jun 1998 A
5764736 Shachar et al. Jun 1998 A
5764745 Chan et al. Jun 1998 A
5764756 Onweller Jun 1998 A
5764916 Busey et al. Jun 1998 A
5768513 Kuthyar et al. Jun 1998 A
5768527 Zhu et al. Jun 1998 A
5774660 Brendel et al. Jun 1998 A
5781620 Montgomery et al. Jul 1998 A
5782642 Goren Jul 1998 A
5784443 Chapman et al. Jul 1998 A
5784561 Bruno et al. Jul 1998 A
5787150 Reiman et al. Jul 1998 A
5787160 Chaney et al. Jul 1998 A
5787163 Taylor et al. Jul 1998 A
5790174 Richard, III et al. Aug 1998 A
5790548 Sistanizadeh et al. Aug 1998 A
5790554 Pitcher et al. Aug 1998 A
5790645 Fawcett et al. Aug 1998 A
5790798 Beckett, II et al. Aug 1998 A
5793498 Scholl et al. Aug 1998 A
5799016 Onweller Aug 1998 A
5799017 Gupta et al. Aug 1998 A
5799307 Buitron Aug 1998 A
5802283 Grady et al. Sep 1998 A
5802510 Jones Sep 1998 A
5802518 Karaev et al. Sep 1998 A
5805587 Norris et al. Sep 1998 A
5805700 Nardone et al. Sep 1998 A
5809110 Ulrich et al. Sep 1998 A
5809415 Rossmann Sep 1998 A
5812278 Toyoda et al. Sep 1998 A
5812640 Chawla et al. Sep 1998 A
5812654 Anderson et al. Sep 1998 A
5813006 Polnerow et al. Sep 1998 A
5813007 Nielsen Sep 1998 A
5818836 DuVal Oct 1998 A
5822324 Kostresti et al. Oct 1998 A
5828370 Moeller et al. Oct 1998 A
5828837 Eikeland Oct 1998 A
5835579 Gersi et al. Nov 1998 A
5835720 Nelson et al. Nov 1998 A
5838681 Bonomi et al. Nov 1998 A
5838682 Dekelbaum et al. Nov 1998 A
5838683 Corley et al. Nov 1998 A
5839063 Lee Nov 1998 A
5842224 Fenner Nov 1998 A
5844600 Kerr Dec 1998 A
5844972 Jagadish et al. Dec 1998 A
5848143 Andrews et al. Dec 1998 A
5848415 Guck Dec 1998 A
5850385 Esaki Dec 1998 A
5850388 Anderson et al. Dec 1998 A
5850433 Rondeau Dec 1998 A
5850442 Muftic Dec 1998 A
5850518 Northrup Dec 1998 A
5854893 Ludwig et al. Dec 1998 A
5854899 Callon et al. Dec 1998 A
5856974 Gervais et al. Jan 1999 A
5859967 Kaufeld et al. Jan 1999 A
5860136 Fenner Jan 1999 A
5862203 Wulkan et al. Jan 1999 A
5862223 Walker et al. Jan 1999 A
5862325 Reed et al. Jan 1999 A
5864609 Cross et al. Jan 1999 A
5865223 Cornford Feb 1999 A
5867494 Krishnaswamy et al. Feb 1999 A
5867495 Elliott et al. Feb 1999 A
5867562 Scherer Feb 1999 A
5867571 Borchering Feb 1999 A
5870557 Bellovin et al. Feb 1999 A
5872926 Levac et al. Feb 1999 A
5873077 Kanoh et al. Feb 1999 A
5873080 Coden et al. Feb 1999 A
5878128 Kantola Mar 1999 A
5881064 Lin et al. Mar 1999 A
5883891 Williams et al. Mar 1999 A
5884032 Bateman et al. Mar 1999 A
5884262 Wise et al. Mar 1999 A
5889848 Cookson Mar 1999 A
5892764 Riemann et al. Apr 1999 A
5892924 Lyon et al. Apr 1999 A
5903558 Jones et al. May 1999 A
5905736 Ronen et al. May 1999 A
5905777 Foladare et al. May 1999 A
5905862 Hoekstra May 1999 A
5905871 Buskens et al. May 1999 A
5905872 DeSimone et al. May 1999 A
5907547 Foladare et al. May 1999 A
5907602 Peel et al. May 1999 A
5907607 Waters et al. May 1999 A
5915008 Dulman Jun 1999 A
5923659 Curry et al. Jul 1999 A
5931961 Ranganathan et al. Aug 1999 A
5936940 Marin et al. Aug 1999 A
5940479 Guy et al. Aug 1999 A
5940598 Strauss et al. Aug 1999 A
5946299 Blonder Aug 1999 A
5953319 Dutta et al. Sep 1999 A
5953350 Higgins Sep 1999 A
5959996 Byers Sep 1999 A
5970059 Ahopelto et al. Oct 1999 A
5970477 Roden Oct 1999 A
5978842 Noble et al. Nov 1999 A
5987508 Agraharam et al. Nov 1999 A
5991810 Shapiro et al. Nov 1999 A
5991817 Rowett et al. Nov 1999 A
5999525 Krishnaswamy et al. Dec 1999 A
5999956 Deville Dec 1999 A
6002720 Yurt et al. Dec 1999 A
6003030 Kenner et al. Dec 1999 A
6009469 Mattaway et al. Dec 1999 A
6011794 Mordowitz et al. Jan 2000 A
6016307 Kaplan et al. Jan 2000 A
6020915 Bruno et al. Feb 2000 A
6031904 An et al. Feb 2000 A
6034946 Roginsky et al. Mar 2000 A
6064653 Farris May 2000 A
6069890 White et al. May 2000 A
6081517 Liu et al. Jun 2000 A
6084694 Milton et al. Jul 2000 A
6097718 Bion Aug 2000 A
6104720 Kisor Aug 2000 A
6134235 Goldman et al. Oct 2000 A
6144641 Kaplan et al. Nov 2000 A
6144702 Yurt et al. Nov 2000 A
6154744 Kenner et al. Nov 2000 A
6175870 Gawlick et al. Jan 2001 B1
6208658 Pickett Mar 2001 B1
6212192 Mirashrafi et al. Apr 2001 B1
6288738 Dureau et al. Sep 2001 B1
5425085 Weinberger et al. Oct 2001 C1
6311180 Fogarty Oct 2001 B1
6327251 Bion Dec 2001 B1
6335927 Elliott et al. Jan 2002 B1
6349096 Liu et al. Feb 2002 B1
6473404 Kaplan et al. Oct 2002 B1
6650631 Benash et al. Nov 2003 B1
Foreign Referenced Citations (71)
Number Date Country
0 581 087 Jul 1933 DE
0247793 Dec 1987 EP
0274793 Jul 1988 EP
0373228 Jun 1990 EP
0418813 Mar 1991 EP
0483547 May 1992 EP
0599764 Jun 1994 EP
0631457 Dec 1994 EP
0641133 Mar 1995 EP
0647051 Apr 1995 EP
0649265 Apr 1995 EP
0651548 May 1995 EP
0668681 Aug 1995 EP
0669736 Aug 1995 EP
0669737 Aug 1995 EP
0674459 Sep 1995 EP
0687124 Dec 1995 EP
0715443 Jun 1996 EP
0720396 Jul 1996 EP
0767568 Apr 1997 EP
0781016 Jun 1997 EP
0783217 Jul 1997 EP
0785697 Jul 1997 EP
0785698 Jul 1997 EP
0785699 Jul 1997 EP
0802690 Oct 1997 EP
0809410 Nov 1997 EP
0849916 Jun 1998 EP
60-177761 Sep 1985 JP
9-168051 Jun 1997 JP
9-168063 Jun 1997 JP
9-168064 Jun 1997 JP
9-168065 Jun 1997 JP
9-172459 Jun 1997 JP
9-172462 Jun 1997 JP
WO 8807298 Sep 1988 WO
WO 9107839 May 1991 WO
WO 9213406 Aug 1992 WO
WO 9511574 Apr 1995 WO
WO 9522221 Aug 1995 WO
WO 9526091 Sep 1995 WO
WO 9532588 Nov 1995 WO
WO 9534972 Dec 1995 WO
WO 9617457 Jun 1996 WO
WO 9620553 Jul 1996 WO
WO 9629805 Sep 1996 WO
WO 9632800 Oct 1996 WO
WO 9634341 Oct 1996 WO
WO 9634479 Oct 1996 WO
WO 9638018 Nov 1996 WO
WO 9707637 Feb 1997 WO
WO 9709218 Mar 1997 WO
WO 9711553 Mar 1997 WO
WO 9714238 Apr 1997 WO
WO 9719411 May 1997 WO
WO 9721313 Jun 1997 WO
WO 9722211 Jun 1997 WO
WO 9723078 Jun 1997 WO
WO 9728628 Aug 1997 WO
WO 9732448 Sep 1997 WO
WO 9733412 Sep 1997 WO
WO 9734394 Sep 1997 WO
WO 9748197 Dec 1997 WO
WO 9804092 Jan 1998 WO
WO 9809456 Mar 1998 WO
WO 9812860 Mar 1998 WO
WO 9823080 May 1998 WO
WO 9826530 Jun 1998 WO
WO 9827754 Jun 1998 WO
WO 9834391 Aug 1998 WO
WO 9309624 May 2003 WO
Related Publications (1)
Number Date Country
20020186701 A1 Dec 2002 US
Continuations (3)
Number Date Country
Parent 09665399 Sep 2000 US
Child 10157611 US
Parent 09198687 Nov 1998 US
Child 09665399 US
Parent 08741130 Oct 1996 US
Child 09198687 US