U.S. patent application number 10/835842 was filed with the patent office on 2005-05-12 for multiple packet routing system (mprs).
Invention is credited to Siminoff, James Wyatt.
Application Number | 20050100049 10/835842 |
Document ID | / |
Family ID | 33423608 |
Filed Date | 2005-05-12 |
United States Patent
Application |
20050100049 |
Kind Code |
A1 |
Siminoff, James Wyatt |
May 12, 2005 |
Multiple packet routing system (MPRS)
Abstract
A method and system for Multiple Packet Routing is disclosed. A
call signal is broken into a string of data packets and sent from a
first endpoint device to a second endpoint device using at least
two streams in parallel, each stream including the string of data
packets. The streams are received at the second endpoint device,
received data packets are identified from a first stream, and at
least one of the data packets missing from the first stream is
identified. A replacement data packet corresponding to the missing
data packet from at least one second stream is identified. A
complete string of data packets are reassembled from the received
data packets from the first stream and the at least one replacement
data packet from the at least one second stream. The complete
string is converted back into the call signal.
Inventors: |
Siminoff, James Wyatt;
(Chester, NJ) |
Correspondence
Address: |
MILBANK, TWEED, HADLEY & MCCLOY LLP
1 CHASE MANHATTAN PLAZA
NEW YORK
NY
10005-1413
US
|
Family ID: |
33423608 |
Appl. No.: |
10/835842 |
Filed: |
April 29, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60466381 |
Apr 29, 2003 |
|
|
|
60518599 |
Nov 7, 2003 |
|
|
|
Current U.S.
Class: |
370/473 |
Current CPC
Class: |
H04L 45/00 20130101;
H04L 45/24 20130101 |
Class at
Publication: |
370/473 |
International
Class: |
H04L 012/56 |
Claims
What is claimed is:
1. A method of communication comprising: breaking down a call
signal into a string of data packets; sending, from a first
endpoint device to a second endpoint device, at least two streams
in parallel, each said stream including said string of data
packets; receiving said streams at said second endpoint device;
identifying received data packets from a first stream; identifying
at least one of said data packets missing from said first stream;
identifying a replacement data packet corresponding to said missing
data packet from at least one second stream; reassembling a
complete string of data packets from said received data packets
from said first stream and said at least one replacement data
packet from said at least one second stream; and converting said
complete string back into said call signal.
2. The method of claim 1, wherein said first endpoint device breaks
down said call into said string of data packets.
3. The method of claim 1, wherein each said data packet includes
information associating said packet with said packet's position in
said string.
4. The method of claim 3, wherein said identification of said
received data packets is based at least in part on said position
information.
5. The method of claim 3, wherein said identification of said
missing data packets is based at least in part on said position
information.
6. The method of claim 1, wherein each said packet includes
information associating said packet with said call signal.
7. The method of claim 1, wherein said second endpoint device
stores said data packets from said parallel streams in a buffer
memory.
8. The method of claim 1, wherein said second endpoints device
identifies said at least one missing data packet.
9. The method of claim 1, wherein said second endpoint device
reassembles said complete string of data packets.
10. The method of claim 1, wherein said second endpoint device
converts said complete string into said call signal.
11. The method of claim 1, further comprising sending said call
signal from a first input/output device to said first endpoint
device.
12. The method of claim 1, further comprising sending said call
signal from said second endpoint device to a second endpoint
device.
13. The method of claim 1, wherein said first stream and said at
least one second stream are routed through the same network.
14. The method of claim 1, wherein the sending of said at least one
second stream is delayed with respect to said first stream.
15. The method of claim 1, wherein said first stream is routed
through a first network and said at least one second stream is
routed through at least one second network.
16. The method of claim 1, wherein said first stream is routed
through a first network and said at least one second stream is
routed through at least one second network.
17. The method of claim 1, further comprising monitoring the
performance of at least one network to be used for sending said
streams.
18. The method of claim 17, further comprising selecting at least
one network to be used for sending said streams based at least in
part on said performance.
19. The method of claim 17, further comprising selecting a delay
for said at least one second stream based at least in part on said
performance.
20. The method of claim 17, further comprising selecting a number
of second streams based at least in part on said performance.
21. The method of claim 17, further comprising selecting a number
of networks based at least in part on said performance.
22. The method of claim 17, further comprising terminating the
sending of said at least one second stream based at least in part
on said performance.
23. The method of claim 1, wherein each said data packet includes
routing information.
24. A communication method, comprising: transforming a signal
including voice information into a first packet; adding sequence
data to the first packet; and transmitting the first packet and a
duplicate packet to a receiver.
25. The communication method of claim 24, wherein the first packet
is transmitted to a first address of the receiver and the duplicate
packet is transmitted to a second address of the receiver.
26. The communication method of claim 24, further comprising:
receiving one of the first packet and the duplicate packet at the
receiver; and transforming the received packet into the signal
including voice information.
27. A communication method, comprising: transforming a first signal
including voice information into a string of packets; transmitting
the string of packets in a first stream and a second stream of
packets to a receiver; receiving a first received stream of packets
and a second received stream of packets at the receiver; creating a
combined string of packets using the first received stream of
packets and the second received stream of packets; and transforming
the combined string of packets into a second signal including voice
information.
28. The communication method of claim 27, wherein the first stream
of packets are transmitted to a first address of the receiver and
the second stream of packets are transmitted to a second address of
the receiver.
29. The communication method of claim 27, wherein the first stream
of packets are transmitted to the receiver over a first network and
the second stream of packets are transmitted to the receiver over a
second network.
30. The communication method of claim 27, further comprising:
adding sequence data to the string of packets.
31. The communication method of claim 30, wherein the step of
creating a combined string of packets includes using the sequence
data to identify a packet missing from the first received stream of
packets and using the sequence data to insert a duplicate packet
from the second received stream of packets.
32. The communication method of claim 30, wherein the step of
creating a combined string of packets includes selecting available
packets from the first and second received streams of packets and
using sequence data from the first and second received stream of
packets.
33. The communication method of claim 27, wherein the second signal
is an approximation of the first signal.
34. The communication method of claim 27, wherein there is a
predetermined delay time between transmitting the first stream of
packets and transmitting the second stream of packets to the
receiver.
35. The communication method of claim 34, wherein the predetermined
delay time is based on a characteristic of a communication
network.
36. A communication system, comprising: a first endpoint connected
to a sound input/output device and a network, the first endpoint
capable of breaking a call signal sent from the input/output device
into a stream of packets and sending two or more duplicate streams
over the network; a monitor connected to the network and the
transmitter, the monitor capable of monitoring a network
characteristic and controling a number of duplicate streams sent by
the first endpoint based on the network characteristic; and a
second endpoint connected to the network, the second endpoint
capable of receiving at least a portion of each of the two or more
duplicate streams and recreating the call signal using the received
portions of each of the two or more duplicate streams.
37. The communication system of claim 36, wherein the network
monitor is capable of controlling a delay between duplicate streams
sent by the transmitter based on the network condition.
38. The communication system of claim 36, wherein each stream is
sent over a different network path.
39. The communication system of claim 36, wherein each stream is
sent to a different IP address associated with the second
endpoint.
40. The communication system of claim 36, wherein the monitor is
connected to the second endpoint and the monitor is capable of
controlling the number of duplicate streams sent by the first
endpoint based on the portions of the two or more duplicate streams
received at the second endpoint.
41. A network monitoring method, comprising: monitoring a
characteristic of a network; and controlling a number of redundant
call streams sent from a first endpoint to a second endpoint based
on the characteristic.
42. The network monitoring method of claim 41, wherein the step of
controlling is performed during a call.
43. The network monitoring method of claim 41, wherein the step of
controlling includes changing the number of redundant call streams
sent based on a number of lost call packets determined at the
second endpoint.
44. The network monitoring method of claim 41, further comprising:
selecting a delay time for transmission of one of the number of
redundant call streams from the first endpoint based on a number of
lost call packets determined at the second endpoint.
45. A network monitoring method, comprising: monitoring a
characteristic of a network; and controlling a network path of two
or more redundant call streams sent from a first endpoint to a
second endpoint based on the characteristic.
46. The network monitoring method of claim 45, wherein the step of
controlling is performed during a call.
47. The network monitoring method of claim 45, wherein the step of
controlling includes changing the network path of redundant call
streams sent based on a number of lost call packets determined at
the second endpoint.
48. The network monitoring method of claim 45, further comprising:
selecting a delay time for transmission of one of the number of
redundant call streams from the first endpoint based on a number of
lost call packets determined at the second endpoint.
Description
[0001] This application claims priority from provisional
applications U.S. Ser. No. 60/466,381 filed Apr. 29, 2003 and U.S.
Ser. No. 60/518,599 filed on Nov. 7, 2003.
BACKGROUND OF THE INVENTION
[0002] Voice Over Internet Protocol (VoIP) is a method for
transmitting voice communication between devices through the
internet. It has gained significant ground in many areas of voice
transmission as it is a more efficient way of transmitting voice
signals. Varying levels of compression or CODECs are used, most of
which are standards such as G.729, G.723, GSM, ADPCM and others
specified by the International Telephony Union (ITU).
[0003] VoIP works by taking sound and breaking that sound into
digital packets. Those digital packets are transmitted to a
location (based on external information transmitted as part of a
call), and a receiving side translates those digital packets back
into sound. Thus, each packet includes routing and sequence
information. A call, or call stream, happens by doing this in two
directions (duplex) between two endpoint devices.
[0004] At present, there are many VoIP equipment manufacturers
worldwide including Cisco, Vocal-Tec, Clarent, Quintum, Nuera and
others, which develop different types and variations of devices to
transmit VoIP. Some of the manufacturers use proprietary CODECs
while others use standard CODECs. Some inter-operate with other
companies gateways with the most common interoperability happening
with Cisco equipment, which has the largest installed base of VoIP
equipment worldwide.
[0005] All of the VoIP worldwide currently is transmitted as a
single call stream from one endpoint to another. There are no
services which send multiple call streams of the same call through
different networks or the same network in order to have an
inventory of duplicate packets, thus providing an added layer of
quality control by routing the call through separate environments.
The inventory created by sending the same packets through multiple
call streams and multiple networks allows the receiving VoIP
gateway to replace a lost packet, which may occur due to internet
packet loss or packets received out of order, with a duplicate of
the same packet out of its inventory. This also gives the VoIP
Gateway redundancy if one network is affected by a transmission
interruption issue. It is unlikely for two or more separate
networks not affiliated with each other at any point to go down at
the same time for the same reason. Thus, by sending the same packet
over multiple networks the chance of a successful call flow is
statistically much higher.
[0006] There are companies which have developed different degrees
of lost packet replacement methods using algorithms to predict what
the lost packet would sound like (or, for non-voice packets, what
information that packet would contain) based on the bordering
packets (the packets before and after the lost packet). What is
different with multiple call streams through multiple networks is
that the endpoint may replace the lost packet with a duplicate
packet from a second, third, or as many call streams through as
many networks as the packets were sent. This allows the VoIP
gateways to supply the end users with the full and complete call
without any missing portions. The number of call streams provided
may be based on the amount of actual or predicted packet loss over
the network and other factors, such as whether the lost packets for
a data stream occur as a percentage of the total number of packets
(i.e. 1 in 10), or whether the lost packets occur in strings in a
portion of the stream. The number of networks may be based on the
degree in which the network operator wishes to insure quality on
the call. Furthermore, with multiple network paths, the call set-up
may be on one or both sides of the network.
[0007] The multiple call streams through multiple networks may work
by using some of the existing CODECs or proprietary CODECs used in
VoIP transmission. The software may be set to send the same call
multiple times through any number of networks and tag each packet
so that the same packet on each call stream is identifiable. In the
case of a packet not being delivered, the system is able to
identify a duplicate of that packet in another call stream. The
physical layer of aspects of the invention may route multiple
packets through various diverse paths or the same path. The amount
of bandwidth and processing power used may be increased on a
per-call basis, as compared to single-stream systems, as the
endpoints may send the call multiple times at the same time and may
need to handle multiple network interfaces. With this method of
sending multiple packets, if all networks are running with perfect
quality, then a network monitor providing routing intelligence may
turn off the multiple packets without affecting the call
transmission quality as the gateways are able to accept any number
of call streams including one and still complete the call.
SUMMARY OF THE INVENTION
[0008] A method and system for Multiple Packet Routing is
disclosed. A call signal is broken into a string of data packets
and sent from a first endpoint device to a second endpoint device
using at least two streams in parallel, each stream including the
string of data packets. The streams are received at the second
endpoint device, received data packets are identified from a first
stream, and at least one of the data packets missing from the first
stream is identified. A replacement data packet corresponding to
the missing data packet from at least one second stream is
identified. A complete string of data packets are reassembled from
the received data packets from the first stream and the at least
one replacement data packet from the at least one second stream.
The complete string is converted back into the call signal.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1a is a standard view of an end-to-end voice connection
using VoIP.
[0010] FIG. 1b is a view showing the data flow of a call using
VoIP.
[0011] FIG. 2a is a diagram showing a standard VoIP packet call
flow.
[0012] FIG. 2b shows a call flow utilizing multiple network packet
replacement.
[0013] FIG. 2c shows a call flow utilizing packet replacement where
a packet in one of the call streams is not delivered.
[0014] FIG. 2d shows packet transmission over multiple networks
using packet replacement.
[0015] FIG. 3 shows a block diagram showing the interactions of the
elements involved in multiple network packet replacement.
DETAILED DESCRIPTION OF THE DRAWINGS
[0016] FIGS. 1a-1c and FIGS. 2b-2c illustrate the basic technology
and embodiments of the invention which include an input/output
device 120-a which transmits a call (including, e.g. sound and/or
data) through wire or cable 121 to endpoint 100-a. The endpoint
100-a receives the sound and routing information taken from
input/output device 120-a, puts the sound into packets, then routes
those packets to proper endpoint 100-b. Packets travel through
internet connection 111 to internet backbone 110. Opposite endpoint
100-b receives the packetized sound and converts it from digital
packets 140 back into sound signals 130 that may be understood by
input/output device 120 transmitting the sound over cable 121.
[0017] FIG. 1a shows a standard VoIP setup. Sound and routing
information may be initiated on an input/output device 120-a (such
as a telephone or microphone/speaker), which is transmitted via
connection line 121 (which may be a Plain Old Telephone Line (POTS)
connected to endpoint device 100-a, or other connection
configuration), which allows the endpoint device 100-a to transmit
both sound (and/or data) and routing information to endpoint device
100-b. VoIP endpoint devices 100-a and 100-b may be connected via
internet links 111 to the internet 110 (which maybe a private
internet line or a public internet line).
[0018] FIG. 1b shows a standard VoIP setup with the call flow of
data- and circuit-based transmission. Sound (and/or data) and
routing information is transmitted using circuit-based technology
130 over cable 121. Data packets 140 are sent between endpoint
devices 100 via internet links 111 and internet 110.
[0019] FIG. 2a is a view of a standard transmission of VoIP over a
network. The endpoint 100-c takes the sound and routing information
taken from input device 120-a and puts the sound into packets 141
and routes them to an appropriate opposite endpoint 100-d via a
single packet stream 150. For example, each packet shown in FIGS.
2a-2c holds inside of it data representing a sound represented by
letters of a full word "John." Thus, each packet 140 (Packet Nos.
1000-1003) holds a portion of the sound that the users of device
120 hear when they hear the word "John". Packets 140 travel through
internet connection 111 to internet 110. Opposite endpoint 100-d
then receives the packetized sound and converts it from digital
packets 140 back into sound signal 130 that may be understood by
input/output device 120-b transmitting the sound over cable
121.
[0020] FIG. 2b is a view of a transmission of VoIP over a network
using multiple network packet replacement. Unlike FIG. 2a, in FIG.
2b there are two call streams 150-a and 150-b sent by endpoint
device 100-a. The first call stream 150-a may be transmitted via a
connection to a first network, and the second call stream 150-b may
be transmitted via the connection to the first network, or via a
connection to a second network. The second call stream 150-b is
sent in order to create redundancy of packets at endpoint 100-b.
Network paths to the receiving endpoint 100-b may be selected, for
example, by designating an IP address of the receiving endpoint
100-b, or by using a network relay device. There may be any number
of multiple call paths, FIG. 2b showing two. Also, based on the
configuration selected, for example, by the system, the user or
endpoint manufacturer, the second call stream 150-b may be sent
after a delay period after the first call stream 150-a so as not be
affected by the bandwidth conditions experienced by the first call
stream 150-a. The opposite endpoint 100-b, in the case of such a
delayed transmission, buffers packets 140 in a memory in order to
account for the delay.
[0021] FIG. 2c is a view of a transmission of VoIP over multiple
networks using multiple network packet replacement where a packet
is lost during transmission from packet loss over the internet 110
and/or internet connection 111. In FIG. 2c, a packet 141 in call
stream 150-a is lost due to packet loss (shown at locations 142).
In one aspect, the system will keep a record of the packet numbers
of all received packets and discard duplicates of those packets
already received.
[0022] Endpoint device 100-b inserts the redundant packet (Packet
No. 1001b) from call stream 150-b into the appropriate position
using packet sequence information within the packets received from
call stream 150-a. (Packets Nos. 1000a, 1002a, 1003a) when
converting the packets 141 from digital packets 140 back into sound
signal 130 that may be understood by input/output device 120-b
transmitting the sound over cable 121. FIG. 2c thus shows how an
embodiment the invention is able to maintain call quality even when
packet loss occurs over a networks.
[0023] FIG. 2d is a view of packet transmission over multiple IP
networks using multiple network packet replacement. FIG. 2d shows a
type of packet loss where at a given times packets are dropped;
however, this is not necessarily how a data network will behave. In
fact, the data network may behave in many different ways when
dropping packets; this particular scenario is merely an example of
the behavior of a given network connection. In FIG. 2d,
successfully received packets are labeled 141, and lost packets are
labeled 142. In the example shown in FIG. 2d, packet loss on the
network is at 33%, which is calculated by dividing the number (8)
of lost packets 142 by the total number (24) of transmitted packets
141, 142 sent through the network. In the example shown in FIG. 2d,
transmission of the first call stream 150-a begins at time 0 ms
sending uniquely numbered packets. Transmission of the second call
stream 150-b begins at time 30 ms after the first call stream
150-a. This delay is not required but depending on conditions over
the network may assist in increasing quality. A receiving endpoint
100-b receives and buffers the incoming packets 141, and may wait
for all of the packets in a stream or may wait a preselected time
or for a preselected number of packets in a stream to arrive. In
FIG. 2d, packets marked with an asterisk (*) signify packets that
are received at the receiving endpoint 100-b and are used in the
final call stream. Packets marked with a degree symbol (.degree.)
are packets that are lost or damaged in transit. Packets marked
with an apostrophe (') are packets that are received and discarded
by the receiving endpoint 100-b as they are redundant. In one
aspect, when assembling the complete packet string, the receiving
endpoint 100-b uses the first packet that fits into the string
sequence (e.g. packets 2* and 3* received in second call stream
150-b are used before packet 4* received in the first call stream
150-a, even though packets 2* and 3* are received by the receiving
endpoint 100-b later in time). The receiving endpoint 100-b places
the packets into their proper positions using sequence information
and converts the stream of packets into a sound signal. FIG. 2d.
thus shows that even with 33% packet loss, the receiving endpoint
100-b is able to complete the full stream of packets without any
lost data. The example shown in FIG. 2d assumes that all streams
undergo identical packet loss, but similar scenarios may be
constructed where each constituent stream undergoes a different
packet loss.
[0024] FIG. 3 shows a block diagram showing the interactions of the
elements involved in multiple network packet replacement. A first
input/output device 120-a initiates routing instructions and a
sound signal which is then passed on to a first endpoint 100-a. The
first endpoint 100-a converts the sound signal into a selected
number of packetized call streams and a selected delay time for
each stream, which are then transmitted through the internet
providers 110-a and 110-b. A second endpoint 100-b receives the
multiple call streams, stores them in buffer memory 201 and
rebuilds the sound signal. If any packets are missing from one
stream, the second endpoint 100-b replaces the missing packets from
the inventory of the call packets stored from the redundant
streams. In one aspect, once a single sound signal is put together
with all of the necessary packets, the sound signal is sent to a
second input/output device 120-b. As noted above, reverse-direction
transmission may simultaneously occur between second input/output
device 120-b and first input/output device 120-a.
[0025] In one aspect, the system parameters (i.e., number of
packets streams, number of networks, and delay time) may be
determined on a per-call basis. A network monitor 202, located in
one aspect within endpoint 100-a or 100-b, may monitor data from a
source and based on that data decide how to use the system most
efficiently. For example, based on measurements of network
conditions (such as packet loss rate), a network monitor 202 may
set up the call with a number of call streams, networks, and offset
patterns to create the most ideal conditions for ensuring that at
least one of each packet makes it all the way from transmitting
endpoint to receiving endpoint. The network monitor 202 or
transmitting endpoint 100-a (or 100-b) may begin, modify, delay, or
stop sending over multiple streams and/or networks during a call in
progress based on real-time network condition data.
[0026] The routing intelligence provided by network monitor 202
allows for the system disclosed to be used in the most efficient
manner. In one aspect, the network monitor 202 may be implemented
in software or hardware. A control or routing may be implemented
which may do one or more of the following:
[0027] 1. Based on the performance of any given network, the
routing intelligence may choose how to set up the call. This may
include the number of redundant call streams or packets to send and
which networks to utilize. The system may also make such decisions
during the call.
[0028] 2. Based on the performance of any given network, the
routing intelligence may choose the number of diverse paths over
which the redundant packets will be routed.
[0029] 3. Based on the performance of any given network, the
routing intelligence may choose a delay time for the redundant
packets to be sent. This may be based on the speed or frequency at
which packets are lost, so that the routing intelligence may decide
how to ensure that at least one of each packet is transmitted from
point A to point B.
[0030] 4. Based on the performance of any given network, the
routing intelligence may choose the number of redundant packets to
be sent or the number of call streams to send and which networks to
send them over.
[0031] 5. Based on the performance of any given network, the
routing intelligence may choose to stop sending a redundant stream
through one of the networks. This may be done because performance
of one of the networks is at a level where redundant packets is
unnecessary for quality. Or this can be done because a network is
operating below any acceptable level and redundant packets sent
through that network will not help the overall quality of the
call.
[0032] The system of the present disclosure may not be limited to
VoIP or devices transmitting over the internet. The multiple
transmission of streams of information from one point to a final
point and then using the excess inventory to create one final
stream of information may be used in many different applications.
The system may alleviate the need for an endpoint to request back
to the start point for a lost piece of information. Various current
protocols allow for the recovery of lost packets in that manner,
but in real-time applications such as voice, requesting/resending
processes require time and signal-processing resources which make
them unusable for such applications. In wireless applications (such
as cellular phone networks), which typically experience high packet
loss, the system of the present disclosure may be used efficiently
to increase call quality.
[0033] As noted above, in one aspect of the system of the present
disclosure, each side of the call (i.e. endpoints) may be
configured to use a different number of networks on each side. The
following three scenarios are given as illustrative examples and do
not describe prior or current existing systems.
Example 1
1 Network Connection to 2 Network Connections
[0034] XYZ Corp., located in South Africa, gets internet service in
its office through an Internet Service Provider (ISP), which is in
turn connected to several different internet backbones, such as MCI
and AT&T. XYZ wants to use VoIP to have telephone connectivity
with its branch office in Los Angeles, which gets internet service
from two different networks, MCI and AT&T. In the Los Angeles
office, XYZ connects its telephone service, for example PBX, to an
endpoint using the system of the present disclosure, so that an IP
address from each network, MCI and AT&T, is put into the
endpoint and the endpoint is online to both networks. XYZ's
endpoint in South Africa, also using the system of the present
disclosure, is configured to send two duplicate call streams, one
to each of the two IP addresses corresponding to the two networks
connected in Los Angeles. By doing this, XYZ is able to improve
communication quality as each packet is sent twice and terminates
to two different networks, MCI and AT&T. Each network has
different peering points and points of failure along the net, which
is why when using two different networks, the chance of both
networks experiencing trouble at the same time is unlikely. When a
call stream is transmitted to South Africa from Los Angeles,
duplicate copies may be transmitted, one over each of the two Los
Angeles provider networks to the single South African destination
IP address, again increasing the chance of proper packet
delivery.
Example 2
From 2 Network Connections to 2 Network Connections
[0035] XYZ Corp., located in South Africa, gets internet service
from both Sprint and Global Crossing. XYZ wants to use VoIP to have
telephone connectivity with its branch office in Los Angeles, which
gets internet service from both MCI and AT&T. The offices in
Los Angeles and South Africa each connect to a endpoint using the
system of the present disclosure, so that for each location an IP
address from both internet service networks are put into the
endpoint, and the endpoint is online to both networks. XYZ's
endpoints in South Africa and Los Angeles are configured to send a
duplicate call stream to each of the two networks in the opposite
location. For example, XYZ in South Africa will send one call
stream using Global Crossing to Los Angeles using either MCI or
AT&T and will also send a duplicate call stream using Sprint to
Los Angeles using the other of MCI and AT&T. By doing this, XYZ
is able to improve communication quality as each packet is sent
twice and terminates to two different networks. As noted above,
each network has different peering points and points of failure
along the net, which is why by using two different networks the
chance of both networks experiencing trouble at the same time is
unlikely.
Example 3
From 2 Network Connections to 2 Network Connections, Cross
Sending
[0036] XYZ Corp., located in South Africa, gets internet service
from both Sprint and Global Crossing. XYZ wants to use VoIP to have
telephone connectivity with its branch office in Los Angeles. In
Los Angeles, the company gets internet service from both MCI and
AT&T. In the offices in Los Angeles and South Africa XYZ hooks
up a endpoint using the system of the present disclosure so that
for each location an IP address from both networks is put into the
endpoint and the endpoint is online to both networks. Both
endpoints of XYZ in South Africa and Los Angeles are configured to
send two call streams from each network to each of the two networks
on the opposite side. For example, XYZ in South Africa will send
two duplicate call streams using Global Crossing to Los Angeles
using both MCI or AT&T and will also send two more duplicate
call streams using Sprint to Los Angeles using both MCI and
AT&T. Therefore, in this example, there are a total of four
call streams. By doing this XYZ is able to improve communication
quality as each packet is sent twice from each network to the
opposite networks and terminates to two different networks. Each
network has different peering points and points of failure along
the net which is why by using four different network combinations
the chance of all networks experiencing trouble at the same time is
unlikely.
[0037] It will be understood that the above-described arrangements
of apparatus and the methods of operating the same are merely
illustrative of applications of the principles of the invention and
many other embodiments and modifications may be made without
departing from the spirit and scope of the invention.
* * * * *