Data and real-time media communication over a lossy network
First Claim
1. In a network access server providing connectivity between a computer network and a remote terminal interconnected to said network access server via a communications link, said network access server comprising, in combination, a line interface operatively connecting said network access server to said communications link;
- a plurality of modems;
a bus passing data signals between said line interface and said modems; and
a network interface receiving data from said modems and routing said data onto said computer network and receiving data from said computer network and routing said data to said modems;
the improvement comprising;
said line interface receiving via said communications link a first data signal comprising a first set of payload transmitted from said remote terminal;
a first set of machine language instructions stored in a memory and executed by said network access server for (i) processing said first data signal and generating a first set of redundancy information indicative of said first set of payload, and (ii) generating a first coded data signal comprising said first set of payload and said first set of redundancy information; and
said network interface forwarding said first coded data signal onto said computer network destined for receipt by a second remote terminal.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for improving the speed and quality of end-to-end data or real-time media transmissions over an internet is disclosed. A media stream being transmitted to the internet is channel coded at the edge of the internet in order to free upstream bit rate for use in source coding the media. The channel coded media stream may then be decoded at a remote edge of the internet to recover lost packets.
231 Citations
57 Claims
-
1. In a network access server providing connectivity between a computer network and a remote terminal interconnected to said network access server via a communications link, said network access server comprising, in combination, a line interface operatively connecting said network access server to said communications link;
- a plurality of modems;
a bus passing data signals between said line interface and said modems; and
a network interface receiving data from said modems and routing said data onto said computer network and receiving data from said computer network and routing said data to said modems;the improvement comprising;
said line interface receiving via said communications link a first data signal comprising a first set of payload transmitted from said remote terminal;
a first set of machine language instructions stored in a memory and executed by said network access server for (i) processing said first data signal and generating a first set of redundancy information indicative of said first set of payload, and (ii) generating a first coded data signal comprising said first set of payload and said first set of redundancy information; and
said network interface forwarding said first coded data signal onto said computer network destined for receipt by a second remote terminal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
said network access server receiving from said computer network a second coded data signal comprising (i) at least part of a second set of payload transmitted onto said computer network from said second network access server and (ii) a second set of redundancy information indicative of said second set of payload;
a second set of machine language instructions stored in a memory and executed by said network access server for (a) determining whether said second coded data signal is missing a portion of said second set of payload, (b) in response to a determination that said second coded data signal is missing a portion of said second set of payload, processing said second set of redundancy information and thereby extracting said missing portion, and (c) generating an output data signal comprising payload carried by said second coded data signal; and
said line interface forwarding said output data signal along said communications link to said remote terminal.
- a plurality of modems;
-
6. The improvement as claimed in claim 5, wherein said network access server establishes communication with said second network access server by sending a special packet containing a predetermined symbol.
-
7. The improvement as claimed in claim 6, wherein said symbol comprises a port number.
-
8. The improvement as claimed in claim 1, wherein generating a first set of redundancy information comprises duplicating packets of data defined by said first data signal, whereby said first coded data signal includes said packets as well as duplicates of said packets,
whereby, to the extent said first coded data signal is received by said remote user device, said remote user device may disregard any duplicates of a packet that said remote user device has already received. -
9. The improvement as claimed in claim 1, wherein generating a first set of redundancy information comprises applying an XOR encoder.
-
10. The improvement as claimed in claim 1, wherein generating said first set of redundancy information comprises applying a Reed-Solomon encoder.
-
11. The improvement as claimed in claim 1, wherein said first set of payload represents a real-time media signal selected from the group consisting of audio and video.
-
12. The improvement as claimed in claim 11, wherein said first set of payload represents a digitized voice signal.
-
13. The improvement as claimed in claim 11, wherein said first set of payload represents a video signal.
-
14. In a telecommunications system of the type including a computer network interconnected to a first link via a first network access server, said first link interconnecting a user device to said first network access server, a transmission method performed at said first network access server comprising, in combination:
-
receiving via said first link a first data signal comprising a first set of payload transmitted from said user device;
processing said first data signal and thereby generating a first set of redundancy information indicative of said first set of payload; and
generating a first coded data signal comprising said first set of payload and said first set of redundancy information, and forwarding said first coded data signal onto said computer network destined for receipt by a remote user device. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
receiving from said computer network a second coded data signal comprising (i) at least part of a second set of payload transmitted onto said computer network from said second network access server and (ii) a second set of redundancy information indicative of said second set of payload;
determining whether said second coded data signal is missing a portion of said second set of payload and, if so, processing said second set of redundancy information and thereby extracting said missing portion; and
generating an output data signal comprising payload carried by said second coded data signal, and forwarding said output data signal along said first link to said user device.
-
-
19. A transmission method as claimed in claim 18, wherein said network access server establishes communication with said second network access server by sending a special packet containing a predetermined symbol.
-
20. A transmission method as claimed in claim 19, wherein said symbol comprises a port number.
-
21. A transmission method as claimed in claim 14, wherein generating a first set of redundancy information comprises duplicating packets of data defined by said first data signal, whereby said first coded data signal includes said packets as well as duplicates of said packets,
whereby, to the extent said first coded data signal is received by said remote user device, said remote user device may disregard any duplicates of a packet that said remote user device has already received. -
22. A transmission method as claimed in claim 14, wherein generating a first set of redundancy information comprises applying an XOR encoder.
-
23. A transmission method as claimed in claim 14, wherein generating said first set of redundancy information comprises applying a Reed-Solomon encoder.
-
24. A transmission method as claimed in claim 14, wherein said first set of payload represents a real-time media signal selected from the group consisting of audio and video.
-
25. A transmission method as claimed in claim 24, wherein said first set of payload represents a digitized voice signal.
-
26. A transmission method as claimed in claim 24, wherein said first set of payload represents a video signal.
-
27. In a telecommunications system of the type including a computer network interconnected to a communications link via a network access server, said communications link interconnecting a user device to said network access server, a transmission method comprising, in combination, the following steps performed at said network access server:
-
receiving via said communications link a data signal comprising a set of payload transmitted from said user device;
processing said data signal and thereby generating a set of redundancy information indicative of said set of payload;
generating a coded data signal comprising said set of payload and said set of redundancy information; and
forwarding said coded data signal onto said computer network destined for receipt by a remote user. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
receiving said coded data signal;
decoding said coded data signal to recover lost data packets and to thereby establish a decoded data signal; and
forwarding said decoded data signal along a remote communications link to said remote user.
-
-
32. A transmission method as claimed in claim 31, wherein said remote communications link comprises a computer network.
-
33. A transmission method as claimed in claim 31, wherein said remote communications link comprises a telephone network.
-
34. A transmission method as claimed in claim 27,
wherein generating said coded data signal comprises duplicating packets of data defined by said data signal, whereby said coded data signal includes said packets as well as duplicates of said packets; - and
and wherein said method further comprises forwarding said coded data signal to remote user equipment, whereby said remote user equipment may disregard any duplicates of a packet that said remote user equipment has already received.
- and
-
35. A transmission method as claimed in claim 27, wherein generating said coded data signal comprises applying an XOR encoder to derive said set of redundancy information.
-
36. A transmission method as claimed in claim 27, wherein generating said coded data signal comprises applying a Reed-Solomon encoder to derive said set redundancy information.
-
37. A transmission method as claimed in claim 27, wherein said data represents a real-time media signal selected from the group consisting of audio and video.
-
38. A transmission method as claimed in claim 37, wherein said data represents a digitized voice signal.
-
39. A transmission method as claimed in claim 37, wherein said data represents a video signal.
-
40. In a telecommunications system of the type including a computer network interconnected to a first link via a first network access server and interconnected to a second link via a second network access server, said first link interconnecting a first user device to said first network access server, and said second link interconnecting a second user device to said second network access server, a transmission method performed at said first network access server comprising, in combination:
-
receiving via said first link a first data signal comprising a first set of payload transmitted from said first user device;
processing said first data signal and thereby generating a first set of redundancy information indicative of said first set of payload;
generating a first coded data signal comprising said first set of payload and said first set of redundancy information, and forwarding said first coded data signal onto said computer network destined for receipt by said second user device;
receiving from said computer network a second coded data signal comprising (i) at least part of a second set of payload transmitted from said second user device and (ii) a second set of redundancy information indicative of said second set of payload;
determining whether said second coded data signal is missing a portion of said second set of payload and, if so, processing said second set of redundancy information and thereby extracting said missing portion; and
generating an output data signal comprising payload carried by said second coded data signal, and forwarding said output data signal to said first user device. - View Dependent Claims (41, 42, 43)
-
-
44. In a telecommunications system of the type including a computer network interconnected to a first telephone link via a first network access server and interconnected to a second telephone link via a second network access server, said first telephone link interconnecting a first user device to said first network access server, and said second telephone link interconnecting a second user device to said second network access server, a transmission method performed at said first network access server comprising, in combination:
-
receiving via said first telephone link a first data set including a first set of payload transmitted from said first user device;
processing said first data set and thereby generating a first coded data set comprising (i) said first set of payload and (ii) a first set of redundancy information indicative of said first set of payload;
forwarding said first coded data set onto said computer network destined for receipt by said second user device;
receiving from said computer network a second coded data set comprising (i) at least a portion of a second set of payload transmitted from said second user device and (ii) a second set of redundancy information indicative of said second set of payload;
determining whether said second coded data set is missing a portion of said second set of payload;
in response to said second coded data set missing a portion of said second set of payload, processing said second set of redundancy information and thereby extracting said missing portion; and
generating an output data set comprising payload carried by said second coded data set, and forwarding said output data to said first user device. - View Dependent Claims (45)
-
-
46. In a telecommunications system of the type including a computer network interconnected to a first communications link via a first network access server and interconnected to a second communications link via a second network access server, said first communications link interconnecting a first user device to said first network access server, and said second communications link interconnecting a second user device to said second network access server, a transmission method comprising, in combination:
-
receiving a first data set including a first set of payload transmitted from said first user device;
processing said first data set and thereby generating a first coded data set comprising (i) said first set of payload and (ii) a first set of redundancy information of said first set of payload; and
forwarding said first coded data set onto said computer network destined for receipt by said second user device. - View Dependent Claims (47)
receiving from said computer network a second coded data set comprising (i) at least a portion of a second set of payload transmitted from said second user device and (ii) a second set of redundancy information of said second set of payload;
determining whether said second coded data set is missing a portion of said second set of payload;
in response to said second coded data set missing a portion of said second set of payload, processing said second set of redundancy information and thereby extracting said missing portion; and
generating an output data set comprising payload carried by said second coded data set, and forwarding said output data to said first user device.
-
-
48. In a telecommunications system of the type including a computer network interconnected to a communications link via a network access server, said communications link carrying data from a local user device to said network access server for transmission within said computer network, a method comprising, in order:
-
source coding said data at said local user device and thereby establishing a source coded data stream;
sending said source coded data stream over said communications link; and
channel coding said source coded data stream at said network access server, and thereby establishing a channel coded data stream. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56, 57)
channel decoding said channel coded data stream in a remote network access server, and thereby recovering said at least a portion of said source coded data stream; and
forwarding said at least a portion of said source coded data stream to remote user equipment.
-
-
50. A method as claimed in claim 49, wherein:
-
channel coding said source coded data stream comprises appending to said source coded data stream a forward error correction code; and
channel decoding said channel coded data stream comprises extracting a missing portion of said data from information including said forward error correction code.
-
-
51. A method as claimed in claim 49, wherein channel coding said source coded data stream comprises appending to said source coded data stream duplicates of data packets defined by said source coded data stream.
-
52. A method as claimed in claim 48,
wherein channel coding said source coded data stream comprises duplicating packets of data defined by said source coded data stream, whereby said channel coded data stream includes said packets as well as duplicates of said packets; - and
and wherein said method further comprises forwarding said channel coded data stream to remote user equipment, whereby said remote user equipment may disregard any duplicates of a packet that said remote user equipment has already received.
- and
-
53. A method as claimed in claim 48, wherein channel coding said source coded data stream comprises applying an XOR encoder to derive redundancy information.
-
54. A method as claimed in claim 48, wherein channel coding said source coded data stream comprises applying a Reed-Solomon encoder to derive redundancy information.
-
55. A method as claimed in claim 48, wherein said data represents a real-time media signal selected from the group consisting of audio and video.
-
56. A method as claimed in claim 55, wherein said data represents a digitized voice signal.
-
57. A method as claimed in claim 55, wherein said data represents a video signal.
Specification