Source: https://patents.google.com/patent/US8654638B2/en
Timestamp: 2018-10-17 06:10:23
Document Index: 270225448

Matched Legal Cases: ['art 302', 'art 302', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 2', 'Application No. 200880100570', 'Application No. 01', 'Application No. 07', 'Application No. 08', 'Application No. 07']

US8654638B2 - Dynamically adjusting bandwidth usage among subscriber streams - Google Patents
US8654638B2
US8654638B2 US11612524 US61252406A US8654638B2 US 8654638 B2 US8654638 B2 US 8654638B2 US 11612524 US11612524 US 11612524 US 61252406 A US61252406 A US 61252406A US 8654638 B2 US8654638 B2 US 8654638B2
US20080144660A1 (en )
FIG. 3B depicts a chart 302 illustrating the relative usage of bandwidth by these four streams after adjustment by an embodiment of the systems and/or methods disclosed herein. Specifically, chart 302 depicts that the bandwidth used by the HTTP stream 310 has been decreased by 0.1 MBits/sec (10%), to 0.9 Mbits/sec. The bandwidth used by the FTP stream 320 has been decreased by 0.05 MBits/sec (8%) to 0.55 Mbits/sec. The bandwidth used by the RTCP stream 330S remains the same, at 0.05 MBits/sec. The bandwidth used by the RTP stream 330V has been increased by 0.15 Mbits/sec, to 0.50 Mbits/sec. Thus, the bandwidth adjustment methods and systems disclosed herein have, in effect, taken 0.15 Mbits/sec of bandwidth from the two data streams 310 and 320 and given this bandwidth to the VoIP voice stream 330V. Such a bandwidth adjustment operation will now be described in further detail.
1. A method, performed in a multimedia terminal adapter (MTA), of adjusting bandwidth of at least one of a plurality of Transport Control Protocol (TCP) streams carried on a subscriber loop, the method comprising:
determining whether at least one user data protocol (UDP) session comprising at least one UDP stream is active on the subscriber loop;
in response to the determination that the at least one UDP session is active on the subscriber loop, sending a query to a bandwidth monitor, wherein the query requests a current total bandwidth usage and a relative distribution of bandwidth usage among the plurality of TCP streams;
receiving a notification from the bandwidth monitor indicating the current total bandwidth usage and the relative distribution of bandwidth usage among the plurality of TCP streams on the subscriber loop;
comparing the current total bandwidth usage with a predetermined threshold;
in response to the current bandwidth usage surpassing the predetermined threshold, selecting at least one of the plurality of TCP streams based on the relative distribution of the bandwidth carried on the subscriber loop, wherein the selected at least one of the TCP streams having the highest bandwidth usage among the plurality of TCP streams; and
reducing the bandwidth usage for the selected at least one of the plurality of TCP streams by adjusting at least one flow control parameter for the selected at least one of the plurality of TCP streams, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises adjusting at least one of: a sliding window size and an acknowledgement delay.
4. A multimedia terminal adapter (MTA) comprising:
memory having stored thereon a program code; and
determine whether at least one user data protocol (UDP) session comprising at least one UDP stream is active on a subscriber loop;
in response to the determination that the at least one UDP session is active on the subscriber loop, send a query to a bandwidth monitor, wherein the query requests a current total bandwidth usage, and a relative distribution of bandwidth usage among a plurality of Transport Control Protocol (TCP) steams carried on the subscriber loop;
receive a notification from the bandwidth monitor indicative that the current total bandwidth usage and the relative distribution of bandwidth usage among the plurality of TCP streams on the subscriber loop has crossed a threshold;
compare the current total bandwidth usage with a predetermined threshold;
in response to the current bandwidth usage surpassing the predetermined threshold, select at least one of the plurality of TCP streams based on the relative distribution of the bandwidth carried on the subscriber loop, wherein the selected at least one of the plurality of TCP streams having the highest bandwidth usage among the plurality of TCP streams; and
reduce the bandwidth usage for the selected at least one of the plurality of TCP streams by adjusting at least one flow control parameter for the selected at least one of the plurality of TCP streams, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises adjusting at least one of: a sliding window size and an acknowledgement delay.
7. A non-transitory computer-readable medium having computer executable instructions stored thereon which, when executed by a computer, will cause the computer to:
receive a notification from the bandwidth monitor indicative that the current total bandwidth usage, and the relative distribution of bandwidth usage among the plurality of TCP streams on the subscriber loop has crossed a threshold;
in response to the current bandwidth usage surpassing the predetermined threshold, select at least one of the plurality of TCP streams based on the relative distribution of the bandwidth carried on the subscriber loop, wherein the selected at least one of the TCP streams having the highest bandwidth usage among the plurality of TCP streams; and
reduce the bandwidth usage for the selected at least one of the plurality of TCP streams by adjusting at least one flow control parameter of the selected TCP stream based on the relative distribution of the bandwidth, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises adjusting at least one of: a sliding window size and an acknowledgement delay.
8. The non-transitory computer readable medium of claim 7, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises decreasing the sliding window size of the selected TCP stream.
9. The non-transitory computer readable medium of claim 7, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises increasing the acknowledgement delay of the selected TCP stream.
determining when the UDP session on the MTA has ended; and
suspending, upon termination of the UDP session, the adjusting of the at least one flow control parameter.
determining the current amount of bandwidth in use after the end of the UDP session,
readjusting the at least one flow parameter of the at least one of the plurality of TCP streams based on the determined current bandwidth after the end of the UDP session.
13. The MTA of claim 12, wherein readjusting the at least one flow parameter of the at least one of the plurality of TCP streams based on the determined current bandwidth comprises undoing the adjustment of the at least one flow parameter for the at least one of the plurality of TCP stream.
14. The MTA of claim 4, wherein the processor is further programmed to enable the MTA to:
periodically query a broadband Media Access Control (MAC) layer instance in order to determine a number of bytes received by the broadband MAC layer instance on at least each of the plurality of TCP streams; and
compute the total current bandwidth in use on the subscriber loop based on the number of bytes received by the broadband MAC layer instance.
17. The non-transitory computer readable medium of claim 7, wherein adjusting the at least one flow control parameter for the selected at least one of the plurality of TCP streams comprises terminating the selected at least one of the plurality of TCP streams.
19. The non-transitory computer readable medium of claim 7, further causing the computer to:
US20080144660A1 true US20080144660A1 (en) 2008-06-19
US8654638B2 true US8654638B2 (en) 2014-02-18
US20020118645A1 (en) 2001-02-26 2002-08-29 Maple Optical Systems, Inc. Data packet transmission scheduling using a partitioned heap
US20040184472A1 (en) 2003-03-19 2004-09-23 Carroll Martin D. Method and apparatus for rescheduling a communication system channel after a channel property change
US20070058545A1 (en) 2005-07-19 2007-03-15 Nookala Sriram N Systems, methods, and apparatus for quality of service processing
US20090028176A1 (en) 2007-07-27 2009-01-29 Marcin Godlewski Bandwidth Requests Transmitted According to Priority in a Centrally Managed Network
CA2409904C (en) 2000-05-19 2012-05-01 Scientific-Atlanta, Inc. Allocating access across shared communications medium
Canadian Office Action dated Dec. 5, 2012 cited in Application No. 2,673,548, 3 pgs.
Canadian Office Action dated Jun. 4, 2013 cited in Application No. 2,673,548, 4 pgs.
Canadian Office Action dated May 4, 2012 cited in Application No. 2,673,548, 2 pgs.
Canadian Office Action dated Oct. 14, 2009 cited in Application No. 2,409,904, 4 pgs.
Chinese First Office Action dated Jan. 31, 2012 cited in Application No. 200880100570.0, 12 pgs.
European Examination Report dated Nov. 18, 2009 cited in Application No. 01 914 723.0-2416, 4 pgs.
European International Preliminary Report dated Jun. 23, 2009 cited in Application No. PCT/US2007/086945, 7 pgs.
European Office Action dated May 8, 2012 cited in Application No. 07 865 457.1, 6 pgs.
European Official Communication dated Feb. 21, 2011 cited in Application No. 08 796 469.8, 6 pgs.
European Official Communication dated Jun. 9, 2010 cited in Application No. 07 865 457.1, 3 pgs.
International Preliminary Report on Patentability mailed Feb. 11, 2010 cited in Application No. PCT/US2008/070847, 8 pgs.
PCT Search Report dated Jun. 5, 2008 cited in International Application No. PCT/US2007/086945.
U.S. Final Office Action dated Aug. 3, 2011 cited in U.S. Appl. No. 11/829,209, 31 pgs.
U.S. Final Office Action dated Jul. 16, 2010 cited in U.S. Appl. No. 11/829,209, 23 pgs.
U.S. Final Office Action dated Nov. 2, 2010 cited in U.S. Appl. No. 11/856,761, 12 pgs.
U.S. Final Office Action dated Nov. 24, 2009 cited in U.S. Appl. No. 11/676,318 , 32 pgs.
U.S. Final Office Action dated Nov. 25, 2009 cited in U.S. Appl. No. 10/276,654, 29 pgs.
U.S. Final Office Action dated Sep. 23, 2010 cited in U.S. Appl. No. 12/388,663, 9 pgs.
U.S. Office Action dated Aug. 3, 2010 cited in U.S. Appl. No. 11/275,208, 12 pgs.
U.S. Office Action dated Feb. 14, 2011 cited in U.S. Appl. No. 11/829,209, 26 pgs.
U.S. Office Action dated Jan. 5, 2010 cited in U.S. Appl. No. 11/829,209, 26 pgs.
U.S. Office Action dated Jul. 30, 2009 cited in U.S. Appl. No. 11/829,209.
U.S. Office Action dated Jun. 16, 2009 cited in U.S. Appl. No. 11/875,208.
U.S. Office Action dated May 10, 2010 cited in U.S. Appl. No. 12/388,663, 37 pgs.
U.S. Office Action dated May 24, 2010 cited in U.S. Appl. No. 11/856,761, 15 pgs.
U.S. Office Action dated Nov. 24, 2009 cited in U.S. Appl. No. 11/856,761, 19 pgs.
U.S. Office Action dated Sep. 17, 2010 cited in U.S. Appl. No. 12/388,659, 31 pgs.
White, Gerry, "Additions to Cable Spec Enable QoS," [online] Article in Network World Fusion, Jun. 19, 2000 {Retrieved on Dec. 19, 2000. Retrieved from the Internet at .
White, Gerry, "Additions to Cable Spec Enable QoS," [online] Article in Network World Fusion, Jun. 19, 2000 {Retrieved on Dec. 19, 2000. Retrieved from the Internet at <URL:http://www.nwfusion.com/cgl-bin.mailto/x.cgi>.
US20080144660A1 (en) 2008-06-19 application