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.
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.
Each of the telecommunication media connected to the various interfaces of
Predetermined parameters stored in memory 32 include, but are not limited to, the following:
Measurable parameters include, but are not limited to the following:
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):
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.
First, with reference to
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
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
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.
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.
| 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 |
| 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 |
| Number | Date | Country | |
|---|---|---|---|
| 20020186701 A1 | Dec 2002 | US |
| 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 |