U.S. patent number 8,510,470 [Application Number 12/108,334] was granted by the patent office on 2013-08-13 for path selection for routing traffic in a network.
This patent grant is currently assigned to Qualcomm Atheros, Inc.. The grantee listed for this patent is Srinivas Katar, Manjunath Krishnam, Lawrence W. Yonge, III. Invention is credited to Srinivas Katar, Manjunath Krishnam, Lawrence W. Yonge, III.
United States Patent |
8,510,470 |
Yonge, III , et al. |
August 13, 2013 |
Path selection for routing traffic in a network
Abstract
Methods, systems, and apparatuses are described for
communicating among stations in a network. A station in the network
can determine costs between that station and a headend through a
number of other stations. The station can select a low cost path
from among the possible paths. Cost data from the determination can
be transmitted from the station to other stations in the network
for use in selecting low cost paths at those stations.
Inventors: |
Yonge, III; Lawrence W. (Ocala,
FL), Katar; Srinivas (Gainesville, FL), Krishnam;
Manjunath (Gainesville, FL) |
Applicant: |
Name |
City |
State |
Country |
Type |
Yonge, III; Lawrence W.
Katar; Srinivas
Krishnam; Manjunath |
Ocala
Gainesville
Gainesville |
FL
FL
FL |
US
US
US |
|
|
Assignee: |
Qualcomm Atheros, Inc. (San
Jose, CA)
|
Family
ID: |
39944397 |
Appl.
No.: |
12/108,334 |
Filed: |
April 23, 2008 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20080298252 A1 |
Dec 4, 2008 |
|
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
60941949 |
Jun 4, 2007 |
|
|
|
|
Current U.S.
Class: |
709/241;
370/338 |
Current CPC
Class: |
H04L
12/413 (20130101); H04L 45/16 (20130101); H04L
45/123 (20130101); H04L 47/787 (20130101); H04L
45/121 (20130101); H04L 12/2801 (20130101); H04L
45/122 (20130101); H04L 45/125 (20130101); H04L
45/12 (20130101); H04L 12/2856 (20130101); H04B
2203/5445 (20130101); H04L 12/44 (20130101) |
Current International
Class: |
G06F
15/173 (20060101); H04W 4/00 (20090101) |
Field of
Search: |
;709/217-219,238-244 |
References Cited
[Referenced By]
U.S. Patent Documents
|
|
|
4578530 |
March 1986 |
Zeidler |
4689786 |
August 1987 |
Sidhu et al. |
4807248 |
February 1989 |
Pyatt et al. |
5328530 |
July 1994 |
Semiatin et al. |
5359625 |
October 1994 |
Vander Mey et al. |
5570355 |
October 1996 |
Dail et al. |
5682428 |
October 1997 |
Johnson |
5732076 |
March 1998 |
Ketseoglou et al. |
6074086 |
June 2000 |
Yonge, III |
6111919 |
August 2000 |
Yonge, III |
6141355 |
October 2000 |
Palmer et al. |
6167137 |
December 2000 |
Marino et al. |
6173400 |
January 2001 |
Perlman et al. |
6185185 |
February 2001 |
Bass et al. |
6188690 |
February 2001 |
Holden et al. |
6189040 |
February 2001 |
Oohara |
6201794 |
March 2001 |
Stewart et al. |
6243761 |
June 2001 |
Mogul et al. |
6269132 |
July 2001 |
Yonge, III |
6269163 |
July 2001 |
Rivest et al. |
6272135 |
August 2001 |
Nakatsugawa |
6278685 |
August 2001 |
Yonge, III |
6307940 |
October 2001 |
Yamamoto et al. |
6310892 |
October 2001 |
Olkin |
6388995 |
May 2002 |
Gai et al. |
6519231 |
February 2003 |
Ding et al. |
6574195 |
June 2003 |
Roberts |
6591364 |
July 2003 |
Patel |
6606303 |
August 2003 |
Hassel et al. |
6631136 |
October 2003 |
Chowdhury et al. |
6711163 |
March 2004 |
Reid et al. |
6775656 |
August 2004 |
Gettwart et al. |
6804252 |
October 2004 |
Johnson |
6904462 |
June 2005 |
Sinha |
6910136 |
June 2005 |
Wasserman et al. |
7039021 |
May 2006 |
Kokudo |
7085284 |
August 2006 |
Negus |
7181620 |
February 2007 |
Hur |
7234058 |
June 2007 |
Baugher et al. |
7346021 |
March 2008 |
Yoshizawa et al. |
7350076 |
March 2008 |
Young et al. |
7352770 |
April 2008 |
Yonge, III |
7369579 |
May 2008 |
Logvinov et al. |
7409543 |
August 2008 |
Bjorn |
7496039 |
February 2009 |
Yamada et al. |
7506042 |
March 2009 |
Ayyagari |
7558294 |
July 2009 |
Yonge, III |
7609681 |
October 2009 |
Kurobe et al. |
7756039 |
July 2010 |
Yonge, III |
7797751 |
September 2010 |
Hughes et al. |
7826618 |
November 2010 |
Klingler et al. |
7894487 |
February 2011 |
Yonge, III |
7949356 |
May 2011 |
Yonge, III |
8112358 |
February 2012 |
Yonge, III |
8170051 |
May 2012 |
Yonge, III |
2001/0000709 |
May 2001 |
Takahashi et al. |
2002/0015496 |
February 2002 |
Weaver, III |
2002/0025810 |
February 2002 |
Takayama et al. |
2002/0029260 |
March 2002 |
Dobbins et al. |
2002/0060986 |
May 2002 |
Fukushima et al. |
2002/0097679 |
July 2002 |
Berenbaum |
2002/0107023 |
August 2002 |
Chari et al. |
2002/0114303 |
August 2002 |
Crosbie et al. |
2002/0122411 |
September 2002 |
Zimmerman et al. |
2002/0124177 |
September 2002 |
Harper et al. |
2002/0137462 |
September 2002 |
Rankin |
2002/0141417 |
October 2002 |
Umayabashi |
2003/0012166 |
January 2003 |
Benveniste |
2003/0018812 |
January 2003 |
Lakshminarayana et al. |
2003/0048183 |
March 2003 |
Vollmer et al. |
2003/0067892 |
April 2003 |
Beyer et al. |
2003/0086437 |
May 2003 |
Benveniste |
2003/0095551 |
May 2003 |
Gotoh et al. |
2003/0137993 |
July 2003 |
Odman |
2003/0193959 |
October 2003 |
Lui et al. |
2003/0224784 |
December 2003 |
Hunt et al. |
2003/0228846 |
December 2003 |
Berliner et al. |
2003/0229783 |
December 2003 |
Hardt |
2004/0047319 |
March 2004 |
Elg |
2004/0070912 |
April 2004 |
Kopp |
2004/0081089 |
April 2004 |
Ayyagari et al. |
2004/0090982 |
May 2004 |
Xu |
2004/0165532 |
August 2004 |
Poor et al. |
2004/0190542 |
September 2004 |
Ono et al. |
2004/0210630 |
October 2004 |
Simonnet et al. |
2004/0218577 |
November 2004 |
Nguyen et al. |
2004/0234073 |
November 2004 |
Sato et al. |
2004/0264428 |
December 2004 |
Choi et al. |
2005/0001694 |
January 2005 |
Berkman |
2005/0021539 |
January 2005 |
Short et al. |
2005/0025176 |
February 2005 |
Ko et al. |
2005/0068227 |
March 2005 |
Caspi et al. |
2005/0071631 |
March 2005 |
Langer |
2005/0089005 |
April 2005 |
Sakoda et al. |
2005/0114489 |
May 2005 |
Yonge, III |
2005/0117515 |
June 2005 |
Miyake |
2005/0117750 |
June 2005 |
Rekimoto |
2005/0135291 |
June 2005 |
Ketchum et al. |
2005/0147075 |
July 2005 |
Terry |
2005/0169222 |
August 2005 |
Ayyagari et al. |
2005/0190785 |
September 2005 |
Yonge, III et al. |
2005/0210157 |
September 2005 |
Sakoda |
2005/0243765 |
November 2005 |
Schrader et al. |
2005/0249186 |
November 2005 |
Kelsey et al. |
2006/0002406 |
January 2006 |
Ishihara et al. |
2006/0039371 |
February 2006 |
Castro et al. |
2006/0072517 |
April 2006 |
Barrow et al. |
2006/0077997 |
April 2006 |
Yamaguchi et al. |
2006/0104301 |
May 2006 |
Beyer et al. |
2006/0159260 |
July 2006 |
Pereira et al. |
2006/0168647 |
July 2006 |
Chiloyan |
2006/0224813 |
October 2006 |
Rooholamini et al. |
2006/0251021 |
November 2006 |
Nakano et al. |
2006/0256741 |
November 2006 |
Nozaki |
2006/0268746 |
November 2006 |
Wijting et al. |
2007/0025244 |
February 2007 |
Ayyagari et al. |
2007/0025384 |
February 2007 |
Ayyagari et al. |
2007/0025391 |
February 2007 |
Yonge, III et al. |
2007/0026794 |
February 2007 |
Ayyagari et al. |
2007/0030811 |
February 2007 |
Frei et al. |
2007/0053520 |
March 2007 |
Eckleder |
2007/0058661 |
March 2007 |
Chow |
2007/0058732 |
March 2007 |
Riedel et al. |
2007/0060141 |
March 2007 |
Kangude et al. |
2007/0097867 |
May 2007 |
Kneckt et al. |
2007/0118730 |
May 2007 |
Platt |
2007/0133388 |
June 2007 |
Lee et al. |
2007/0133449 |
June 2007 |
Schacht et al. |
2007/0140185 |
June 2007 |
Garg et al. |
2007/0147322 |
June 2007 |
Agrawal et al. |
2007/0220570 |
September 2007 |
Dawson et al. |
2007/0271398 |
November 2007 |
Manchester et al. |
2007/0286074 |
December 2007 |
Xu |
2008/0002599 |
January 2008 |
Yau et al. |
2008/0151820 |
June 2008 |
Solis et al. |
2008/0181219 |
July 2008 |
Chen et al. |
2008/0186230 |
August 2008 |
Wengler et al. |
2008/0212591 |
September 2008 |
Wu et al. |
2008/0222447 |
September 2008 |
Ram et al. |
2008/0279126 |
November 2008 |
Katar et al. |
2008/0298589 |
December 2008 |
Katar et al. |
2008/0298590 |
December 2008 |
Katar et al. |
2008/0298594 |
December 2008 |
Yonge, III |
2008/0301052 |
December 2008 |
Yonge, III |
2008/0301446 |
December 2008 |
Yonge, III |
2008/0310414 |
December 2008 |
Yonge, III |
2009/0010276 |
January 2009 |
Yonge, III |
2009/0011782 |
January 2009 |
Yonge, III et al. |
2009/0034552 |
February 2009 |
Yonge, III |
2009/0040930 |
February 2009 |
Yonge, III |
2009/0067389 |
March 2009 |
Lee et al. |
2009/0074007 |
March 2009 |
Yonge, III |
2009/0106551 |
April 2009 |
Boren et al. |
2009/0116461 |
May 2009 |
Yonge, III |
2009/0154487 |
June 2009 |
Ryan et al. |
2009/0311963 |
December 2009 |
Haverty |
2010/0014444 |
January 2010 |
Ghanadan et al. |
2010/0091760 |
April 2010 |
Yoon |
2010/0100724 |
April 2010 |
Kaliski, Jr. |
2012/0072715 |
March 2012 |
Yonge, III |
|
Foreign Patent Documents
|
|
|
|
|
|
|
1748574 |
|
Jan 2007 |
|
EP |
|
1748597 |
|
Jan 2007 |
|
EP |
|
1179919 |
|
Jul 2010 |
|
EP |
|
3107317 |
|
May 1991 |
|
JP |
|
2002135177 |
|
May 2002 |
|
JP |
|
2005073240 |
|
Mar 2005 |
|
JP |
|
WO9634329 |
|
Oct 1996 |
|
WO |
|
WO9857439 |
|
Dec 1998 |
|
WO |
|
WO02103943 |
|
Dec 2002 |
|
WO |
|
WO03100996 |
|
Dec 2003 |
|
WO |
|
WO2004038980 |
|
May 2004 |
|
WO |
|
Other References
Afkhamie et al., "An Overview of the upcoming HomePlug AV
Standard", May 2005, IEEE 0/7803-8844-5/05, pp. 400-404. cited by
applicant .
European Search Report--EP09178487, Search Authority , Munich
Patent Office, Jan. 21, 2010. cited by applicant .
Faure, Jean-Philippe et al., Call for Submissions. Draft Standard
for Broadband over Power Line Networks: Medium Access Control and
Physical Layer Specifications. Feb. 14, 2007, 4 pages. cited by
applicant .
Faure, Jean-Philippe et al., Coexistence/interoperability Cluster,
FTR SG Requirements. Draft Standard for Broadband over Power Line
Networks: Medium Access Control and Physical Layer Specifications.
Feb. 5, 2007 , 13 pages. cited by applicant .
HomePlug Powerline Alliance Inc., "HomePlug AV White Paper," Doc.
Ver. Number HPAVWP-050818, Aug. 2005, pp. 1-11. cited by applicant
.
International Search Report and Written Opinion--PCT/US2008/065811,
International Searching Authority, European Patent Office, Nov. 25,
2008. cited by applicant .
International Search Report and Written Opinion--PCT/US2008/065831,
International Searching Authority, European Patent Office, Feb. 20,
2009, 22 pages. cited by applicant .
Katar et al., "Beacon Schedule Persistence to Mitigate Beacon Loss
in HomePlug AV Networks," May 2006, IEEE 1-4244-0113-05/06, pp.
184-188. cited by applicant .
Lee et al., "HomePlug 1.0 Powerline Communication LANs-Protocol
Description and Performance Results version 5.4," 2000,
International Journal of Communication Systems, 2000 00: 1-6, pp.
1-25. cited by applicant .
Loh et al, Quality of Support and priority Management in HomePNA
2.0 Link Layer, IEEE, 6 pages, 2003. cited by applicant .
Notification of First Office Action, The State Intellectual
Property Office of the People's Republic of China, issued in
Chinese Application No. 200610107587.1, dated Oct. 11, 2010, 6
pages. cited by applicant .
Notification of Reasons for Rejection, Japanese Patent Office,
issued in Japanese Patent Application No. 2006-205200, dated Jan.
18, 2011, 3 pages. cited by applicant .
Opera Specification-Part 1: Technology, Open PLC European Research
Alliance, 198 pages, 1006. cited by applicant .
Co-pending U.S. Appl. No. 13/113,474, filed May 23, 2011, 32 pages.
cited by applicant .
U.S. Appl. No. 11/970,271 Final Office Action, Jul. 19, 2011, 21
pages. cited by applicant .
U.S. Appl. No. 11/970,271 Office Action, Mar. 9, 2012, 19 pages.
cited by applicant .
U.S. Appl. No. 11/970,271 Office Action, Oct. 7, 2011, 20 pages.
cited by applicant .
U.S. Appl. No. 11/970,271 Office Action, Dec. 7, 2010, 21 pages.
cited by applicant .
U.S. Appl. No. 11/970,297 Final Office Action, Apr. 16, 2012, 32
pages. cited by applicant .
U.S. Appl. No. 11/970,297 Office Action, Mar. 30, 2011, 30 pages.
cited by applicant .
U.S. Appl. No. 11/970,297 Office Action, Sep. 29, 2011, 31 pages.
cited by applicant .
U.S. Appl. No. 11/970,323 Office Action, Dec. 7, 2010, 12 pages.
cited by applicant .
U.S. Appl. No. 11/970,339 Final Office Action, Jul. 7, 2011, 14
pages. cited by applicant .
U.S. Appl. No. 11/970,339 Office Action, Jan. 19, 2011, 22 pages.
cited by applicant .
U.S. Appl. No. 11/970,339 Office Action, Jun. 18, 2012, 26 pages.
cited by applicant .
U.S. Appl. No. 11/971,446 Office Action, Feb. 15, 2011, 20 pages.
cited by applicant .
U.S. Appl. No. 11/971,446 Final Office Action, Jul. 1, 2011, 17
pages. cited by applicant .
U.S. Appl. No. 12/108,334 Final Office Action, Jun. 14, 2011, 28
pages. cited by applicant .
U.S. Appl. No. 12/108,334 Office Action, Feb. 16, 2011, 26 pages.
cited by applicant .
U.S. Appl. No. 12/108,334 Office Action, Aug. 3, 2010, 20 pages.
cited by applicant .
U.S. Appl. No. 12/133,270 Final Office Action, Nov. 18, 2011, 23
pages. cited by applicant .
U.S. Appl. No. 12/133,270 Office Action, Jun. 3, 2011, 67 pages.
cited by applicant .
U.S. Appl. No. 12/133,301 Final Office Action, Mar. 22, 2011, 39
pages. cited by applicant .
U.S. Appl. No. 12/133,301 Office Action, Sep. 22, 2010, 42 pages.
cited by applicant .
U.S. Appl. No. 12/133,301 Office Action, Mar. 1, 2012, 38 pages.
cited by applicant .
U.S. Appl. No. 12/133,312 Final Office Action, Feb. 16, 2011, 24
pages. cited by applicant .
U.S. Appl. No. 12/133,312 Office Action, Jun. 8, 2011, 24 pages.
cited by applicant .
U.S. Appl. No. 12/133,312 Office Action, Jul. 28, 2010, 29 pages.
cited by applicant .
U.S. Appl. No. 12/133,315 Final Office Action, Jun. 9, 2011, 38
pages. cited by applicant .
U.S. Appl. No. 12/133,315 Final Office Action, Jul. 20, 2010, 30
pages. cited by applicant .
U.S. Appl. No. 12/133,315 Office Action, Dec. 24, 2009, 28 pages.
cited by applicant .
U.S. Appl. No. 12/133,315 Office Action, Dec. 28, 2010, 36 pages.
cited by applicant .
U.S. Appl. No. 12/133,325 Final Office Action, Dec. 9, 2010, 33
pages. cited by applicant .
U.S. Appl. No. 12/133,325 Office Action, May 27, 2010, 31 pages.
cited by applicant .
U.S. Appl. No. 12/133,315 Office Action, Aug. 9, 2012, 37 pages.
cited by applicant .
U.S. Appl. No. 12/108,334 Office Action, Aug. 3, 2012, 18 pages.
cited by applicant .
European Search Report--EP09178487, Search Authority , Munich
Patent Office, Jan. 21, 2010 , 2 pages. cited by applicant .
U.S. Appl. No. 12/133,301 Final Office Action, Sep. 26, 2012 , 54
pages. cited by applicant .
Muir A., et al., "An Efficient Packet Sensing MAC Protocol for
Wireless Networks", Computer Engineering Department School of
Engineering, University of California, Aug. 1998, pp. 20. cited by
applicant .
U.S. Appl. No. 13/303,913 Office Action, Dec. 26, 2012, 37 pages.
cited by applicant .
U.S. Appl. No. 11/970,339 Final Office Action, Dec. 11, 2012 , 25
pages. cited by applicant .
Notification of First Office Action, The State Intellectual
Property Office of the People's Republic of China, issued in
Chinese Application No. 200880100486.9. 17 pages. Nov. 21, 2012.
cited by applicant.
|
Primary Examiner: Towfighi; Afshawn
Attorney, Agent or Firm: DeLizio Gilliam, PLLC
Parent Case Text
RELATED APPLICATION
This application claims a benefit of priority from U.S. Provisional
Patent Application No. 60/941,949, which is incorporated by
reference in this application in its entirety.
Claims
What is claimed is:
1. A method for communicating among stations in a network
comprising: at a determining station determining costs between the
determining station and a headend for a plurality of paths through
a respective plurality of stations, the determining comprising:
receiving bandwidth data from a first station indicating an
effective bandwidth of a first network section, the first network
section connecting the first station and the headend, measuring a
bandwidth of a second network section, the second network section
connecting the determining station and the first station, wherein
measuring includes determining a network load between the
determining station and the first station during a listening
period, and estimating an effective bandwidth of a composite
network that comprises the first network section and the second
network section based on the effective bandwidth of the first
network section and the measured bandwidth of the second network
section, the composite network connecting the determining station
and the headend through the first station; selecting a low cost
path between the determining station and the headend based on the
determined costs; and transmitting the determined cost of the
selected low cost path.
2. The method of claim 1, wherein determining costs between the
determining station and the headend comprises: receiving cost data
from the plurality of stations; and estimating the cost between the
determining station and the headend through at least two of the
plurality of stations.
3. The method of claim 2, wherein cost data is periodically
transmitted by the plurality of stations.
4. The method of claim 1, wherein selecting a low cost path
comprises: selecting a path from among the pluralities of paths
having a lowest estimated cost.
5. The method of claim 4, wherein the path having the lowest
estimated cost is a path having the highest estimated downlink
bandwidth.
6. The method of claim 4, wherein the path having the lowest
estimated cost is a path having the highest estimated uplink
bandwidth.
7. The method of claim 4, wherein the path with the lowest
estimated cost is a path having the lowest number of hops to the
headend.
8. The method of claim 1, wherein transmitting the determined cost
of selected low cost path comprises: transmitting at least one of:
an estimated downlink bandwidth, an estimated uplink bandwidth, and
a number of hops to reach the headend.
9. The method of claim 1, wherein determining costs between the
determining station and the head end comprises: receiving bandwidth
data from the first station indicating the effective downlink
bandwidth of the first network section; measuring the downlink
bandwidth of the second network section; and estimating the
effective downlink bandwidth of the composite network.
10. The method of claim 9, wherein estimating the effective
downlink bandwidth of the composite network comprises calculating
the effective downlink bandwidth of the composite network according
to the formula: ##EQU00004## wherein BW_E.ffcomp is the effective
downlink bandwidth of the composite network, BW_E.fftzrstiS the
effective downlink bandwidth of the first network section, and BW
Meas is the measured downlink bandwidth of the second network
section.
11. The method of claim 9, wherein transmitting the determined cost
of the selected low cost path comprises: transmitting the effective
downlink bandwidth of the composite network.
12. The method of claim 9, wherein estimating the effective
downlink bandwidth of the composite network comprises calculating
the effective downlink bandwidth of the composite network based on:
the effective downlink bandwidth of the first network section, and
the measured downlink bandwidth of the second network section.
13. The method of claim 1, wherein determining costs between the
determining station and the head end comprises: receiving bandwidth
data from the first station indicating the effective uplink
bandwidth of the first network section; measuring the uplink
bandwidth of the second network section; and estimating the
effective uplink bandwidth of the composite network.
14. The method of claim 13, wherein estimating the effective uplink
bandwidth of the composite network comprises calculating the
effective uplink bandwidth of the composite network according to
the formula: ##EQU00005## wherein BW_E.ffcomp is the effective
uplink bandwidth of the composite network, BW_E.flfirstis the
effective uplink bandwidth of the first network section, and
BW_Meas is the measured uplink bandwidth of the second network
section.
15. The method of claim 13, wherein transmitting the determined
cost of the selected low cost path comprises: transmitting the
effective uplink bandwidth of the composite network.
16. The method of claim 13, wherein estimating the effective uplink
bandwidth of the composite network comprises calculating the
effective uplink bandwidth of the composite network based on: the
effective uplink bandwidth of the first network section, and the
measured uplink bandwidth of the second network section.
17. The method of claim 1 further comprising: transmitting a data
packet from the determining station to the headend through the
selected low cost path.
18. The method of claim 17, further comprising: decrementing a
maximum hop count of the data packet at an intermediate station;
and dropping the packet if the maximum hop count is zero.
19. The method of claim 1 further comprising: receiving a data
packet at the determining station from the headend through the
selected low cost path.
20. The method of claim 19, further comprising: decrementing a
maximum hop count of the data packet at an intermediate station;
and dropping the packet if the maximum hop count is zero.
21. The method of claim 1, wherein the network comprises a
plurality of power lines.
22. The method of claim 21, wherein the power lines are
transmission lines.
23. The method of claim 21, wherein the power lines are
distribution lines.
24. The method of claim 21, wherein the headend routes Internet
traffic to a power line network.
25. The method of claim 21, wherein the headend connects a power
line network to a wide area network.
26. The method of claim 25, wherein the wide area network is the
Internet.
27. The method of claim 21, wherein the network is configured to
provide broadband Internet access to a plurality of
subscribers.
28. The method of claim 1, further comprising: storing an
identifier of the first station of the selected low cost path in a
routing table.
29. The method of claim 28 further comprising: storing a value of a
cost parameter in the routing table.
30. The method of claim 29, wherein the cost parameter comprises at
least one of: an estimated effective downlink bandwidth between the
determining station and the headend, an estimated effective uplink
bandwidth between the determining station and the headend, and a
number of hops between the determining station and the headend.
31. The method of claim 29, further comprising: transmitting the
cost parameter value in a periodic beacon message.
32. The method of claim 28 further comprising: storing an estimated
effective downlink bandwidth between the determining station and
the headend in the routing table; storing an estimated effective
uplink bandwidth between the determining station and the headend in
the routing table; storing a number of hops from between the
determining station and the headend in the routing table.
33. The method of claim 32, further comprising: transmitting the
effective downlink bandwidth, the effective uplink bandwidth, and
the number of hops in a periodic beacon message.
34. The method of claim 28 further comprising: storing a list of
downstream station identifiers in the routing table, each
downstream station more than one hop away from a current station
being associated with a corresponding next hop station identifier
through which the downstream station can be reached.
35. A method for communicating among stations in a network
comprising: receiving a route update request from a downstream
station at a current station, the route update request including a
list of station identifiers corresponding to stations that can be
reached through the downstream station; updating a routing table by
storing the list of stations identifiers in the routing table, the
list of stations being stored with an association to a servicing
station identifier, the servicing station identifier being an
identifier of the downstream station, the association indicating
that the stations can be reached via the downstream station; and
transmitting the route update request that was received at the
current station to an upstream station from the current station;
wherein the transmitting the route update request comprises
transmitting the list of station identifiers and associated
servicing station identifier to the upstream station, the upstream
station being a next hop station corresponding to a next hop
station identifier stored in the routing table.
36. A network station comprising: a network interface module
configured to: determine costs between the network station and a
headend for a plurality of paths through a respective plurality of
stations, the determining comprising: receiving bandwidth data from
a first station indicating an effective bandwidth of a first
network section, the first network section connecting the first
station and the headend, measuring a bandwidth of a second network
section, the second network section connecting the network station
and the first station, wherein measuring includes determining a
network load between the determining station and the first station
during a listening period, and estimating an effective bandwidth of
a composite network that comprises the first network section and
the second network section based on the effective bandwidth of the
first network section and the measured bandwidth of the second
network section, the composite network connecting the network
station and the headend through the first station; and select a low
cost path between the network station and the headend based on the
determined costs; and communication circuitry configured to
transmit the determined cost of the selected low cost path.
37. The network station of claim 36, wherein: the network station
is configured to determine costs between the network station and
the headend by: receiving cost data from the plurality of stations;
and estimating the cost between the determining station and the
headend through at least two of the plurality of stations, and the
network station is configured to select a low cost path by:
selecting a path from among the pluralities of paths having a
lowest estimated cost.
Description
TECHNICAL FIELD
The invention relates to routing traffic between stations within a
network.
BACKGROUND
Communication networks enable stations belonging to the same
network to exchange information. The physical layer of the
communication systems exchange signals that encode information to
be exchanged between stations. Due to the attenuation and noise on
the communication medium, the range of the physical layer signals
is limited. In a scenario where one or more stations cannot
directly communicate with each other using the physical layer
signals, routing and repeating at the higher layer (like a MAC
layer or an IP layer) is used to extend the range of the network.
Routing protocols enable the selection stations that are the best
candidates for retransmitting (repeating) the information. Distance
vector based routing and Link State based routing are two well
known routing protocols, but other routing protocols or
modifications of known protocols can provide superior performance
in some networking scenarios.
SUMMARY
This specification describes technologies related to communication
networks.
In general, one aspect of the subject matter described in this
specification can be embodied in methods that include the actions
of determining costs between a determining station and a headend
for a number of paths through a respective number of stations,
selecting a low cost path between the determining station and the
headend based on the determined costs, and transmitting the
determined cost of the selected low cost path.
Determining costs between the determining station and the headend
can include receiving cost data from the plurality of stations, and
estimating the cost between the determining station and the headend
through at least two of the plurality of stations. Cost data can be
periodically transmitted by the stations. Selecting a low cost path
can include selecting a path from among the number of paths having
a lowest estimated cost. The path having the lowest estimated cost
can be a path having the highest estimated downlink bandwidth, the
highest estimated uplink bandwidth, and/or the lowest number of
hops to the headend.
Transmitting the determined cost of the selected low cost path can
include transmitting an estimated downlink bandwidth, an estimated
uplink bandwidth, and/or a number of hops to reach the headend.
Determining costs can include receiving bandwidth data from a first
transmitting station indicating the effective downlink bandwidth of
a first network section, the first network section connecting the
first station and the headend, measuring the downlink bandwidth of
a second network section, the second network section connecting the
determining station and the first station, and estimating the
effective downlink bandwidth of a composite network section, the
composite network section connecting the determining station and
the headend.
Particular embodiments of the subject matter described in this
specification can be implemented to realize one or more of the
following advantages. Stations in a network, a broadband powerline
network for example, can select optimum paths for communication
with a headend.
The details of one or more embodiments of the subject matter
described in this specification are set forth in the accompanying
drawings and the description below. Other features, aspects, and
advantages of the subject matter will become apparent from the
description, the drawings, and the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 is a schematic diagram of a communication network.
FIG. 2 is a flowchart of an example method for establishing a route
to a headend in a communication network.
FIG. 3 is a block diagram of an example network.
FIG. 4 is a block diagram of the example network of FIG. 3 with
modified routing.
DETAILED DESCRIPTION
There are a great many possible implementations of the invention,
too many to describe herein. Some possible implementations that are
presently preferred are described below. It cannot be emphasized
too strongly, however, that these are descriptions of
implementations of the invention, and not descriptions of the
invention, which is not limited to the detailed implementations
described in this section but is described in broader terms in the
claims.
System Overview
FIG. 1 is a schematic diagram of a communication network 100. FIG.
1 shows an exemplary network configuration for a communication
network 100 such as a broadband power line Network (BPLN) that
provides access to a backhaul network. The BPLN can be managed by a
service provider entity having access to the underlying physical
power line medium. A BPLN is a general purpose network that can be
used for several types of applications including, smart grid
management, broadband internet access, voice and video delivery
services, etc. A BPLN can be deployed on low voltage, medium
voltage and high voltage power lines. A BPLN can span an entire
neighborhood or it can be deployed within a single multi-dwelling
unit. For example, it can be used to provide network service to
tenants in an apartment building. While power lines can be used to
deploy the BPLN, the network can also be deployed on other wire
lines like Coaxial cables and twisted pair.
A BPLN can include one or more cells. A cell is a group of
broadband power line (BPL) devices in a BPLN that have similar
characteristics such as association management, security, quality
of service (QoS) and channel access settings, for example. Cells in
a BPLN are logically isolated from each other, and communication to
and from the backhaul occurs within a cell. Each cell in a BPLN
includes a core-cell and can also include one or more sub-cells.
There can be more than one cell on a given physical medium, a power
line, for example.
A core-cell can include a headend (HE), repeaters (R), and network
termination units (NTUs), but does not include customer premise
equipment (CPE). The headend is a device that bridges a cell to the
backhaul network. At a given time, a cell will have one active
headend and the active headend manages the cell including the
core-cell and any associated sub-cells. A repeater is a device that
selectively retransmits medium access control (MAC) Service Data
Units (MSDUs) to extend the effective range and bandwidth of the
BPLN cell. Repeaters also perform routing and QoS functions. A
network termination unit is a device that connects a BPLN cell to
an end user's network and/or devices. The NTU may in some cases
bridge to other network technologies such as WiFi. A single NTU may
serve more than one customer. Each sub-cell can be associated with
an active NTU. In some implementations, a single device may be
designed to perform multiple roles within the network. For example,
a single device can be designed to be configurable so as to
function as a headend, an NTU, and/or a repeater, or, for further
example, a single device can simultaneously perform the network
roles of a repeater and an NTU.
Various types of CPE devices are the endpoint nodes in the network
and communicate with other nodes in the network through the
NTUs.
Communication System Architecture
Each node in the network communicates as a communication "station"
(STA) using a physical (PHY) layer protocol that is used by the
nodes to send transmissions to any other stations that are close
enough to successfully receive the transmissions. STAs that cannot
directly communicate with each other use one or more repeater STAs
to communicate with each other. Any of a variety of communication
system architectures can be used to implement the portion of the
network interface module that converts data to and from a signal
waveform that is transmitted over the communication medium. An
application running on a station provides and receives data to and
from the network interface module. A MSDU is a segment of
information received by the MAC layer. The MAC layer processes the
received MSDUs and prepares them to generate "MAC Protocol Data
Units" (MPDUs). MPDU is a segment of information including header
and payload fields that the MAC layer has asked the PHY layer to
transport. An MPDU can have any of a variety of formats based on
the type of data being transmitted. A "PHY Protocol Data Unit
(PPDU)" refers to the modulated signal waveform representing an
MPDU that is transmitted over the wire line (a power line, for
example) by the Physical Layer.
Apart from generating MPDUs from MSDUs, the MAC layer provides
several functions including channel access control, providing the
required QoS for the MSDUs, retransmission of corrupt information,
routing and repeating. Channel access control enables stations to
share the powerline medium. Several types of channel access control
mechanisms like carrier sense multiple access with collision
avoidance (CSMA/CA), centralized Time Division Multiple Access
(TDMA), distributed TDMA, token based channel access, etc., can be
used by the MAC layer. Similarly, a variety of retransmission
mechanism can also be used. The Physical layer (PHY) can also use a
variety of techniques to enable reliable and efficient transmission
over the transmission medium (power line, coax, twisted pair etc).
Various modulation techniques like orthogonal frequency division
multiplexing (OFDM), and wavelet modulations can be used. Forward
error correction (FEC), code line Viterbi codes, Reed-solomon
codes, concatenated codes, turbo codes, low density parity check
codes, etc., can be employed by the PHY to overcome errors.
In a BPLN, stations that cannot directly communicate with one
another use one or more repeaters. A method for finding the least
cost routing from any station in the BPLN to the headend is
described herein, as well as a method for finding a route between
any two stations in the BPLN based on their route to the
headend.
Routing Approach to/from Headend (HE)
FIG. 2 is a flowchart of an example method 200 for establishing a
route to a headend in a communication network. A cost to reach the
headend is measured (202). A cost can be, for example, a number of
station hops, an uplink bandwidth, a downlink bandwidth, and/or a
network load measurement. The cost to reach the headend can be
measured at a station in the network, for example, a repeater
station and/or a network termination unit. In an implementation,
the station listens for beacon messages (or management messages)
transmitted by other stations in the network. The stations can
transmit cost data in their beacon messages, and/or cost parameters
can be measured by the listening station. For example, cost data
from received beacon messages can be combined with one or more
costs measured by the listening station.
A low cost path to the headend is selected (204). The low cost path
can be selected, for example, at the listening station following an
evaluation of several paths discovered during a listening period. A
listening period can, for example, be a 10 minute window following
power-up of the listening station. The low cost path can be, for
example, the path with the highest downlink bandwidth, the path
with the highest uplink bandwidth, the path with the lowest hop
count to the headend, the path with the least network load, and/or
a path having a compromise of these characteristics.
Cost data is transmitted (206). For example, a station can transmit
cost data in periodic beacon messages. In some implementations, an
effective downlink bandwidth from the headend, an effective uplink
bandwidth to the headend, and/or a number of network hops to the
headend are included in a periodically transmitted beacon
message.
FIG. 3 is a block diagram of an example network for implementing
the method of FIG. 2. The headend 310 connects to a wide area
network (not shown) to transmit data to and from the network
termination units 320a-320g. Intermediate stations 312a, 312b,
314a-314d, and 316a-316e act as repeaters to pass data across the
network. The intermediate stations are needed due to the network
termination units and the headend being incapable of direct
communication due to, for example, signal attenuation over a
distance between them. In the example network topology shown in
FIG. 3, the lines connecting the stations indicate communication
paths. For example, station R1 312a can communicate directly
(without the need of a repeating station) with the headend 310 and
has established communication with the headend 310. Other routes
between stations are possible, but the lines connecting the
stations indicate that this path has been selected for the example
network shown.
In the example shown, the communication paths consistently have a
downlink bandwidth of 120 Mbits/sec and an uplink bandwidth of 100
Mbits/sec as indicated by the directional arrows.
In some implementations, the headend 310 is a headend of a BPLN.
The headend 310 periodically transmits a beacon message. Stations
which are within range of the headend can receive (or "hear") the
beacon message from the headend 310. These stations can measure the
"cost" of communicating with the headend 310. In some
implementations, the cost is the downlink bandwidth of the network
between themselves and the headend 310, where cost is minimized by
seeking the highest bandwidth. For the example shown, both R1 312a
and R1' 312b can hear the headend, measure the bandwidth of the
network between themselves and the headend, and establish a direct
communication path to the headend.
It is possible, for example, that the downlink bandwidth between
R1' 312b and the headend 310 would be so low as to cause R1' 312b
to instead select a path to the headend 310 through R1 312a if such
a path would provide a superior downlink bandwidth. For the example
network shown, however, R1 312a and R1' 312b each establish direct
communication with the headend 310.
In some implementations, following the selection of the direct path
to the headend 310, R1 312a and R1' 312b begin transmitting their
own periodic beacon message. Because of their differing locations
in the network, the beacons of R1 and R1' are heard by stations
that could not hear the beacon of the headend. Some stations might
hear both the beacons of R1 and R1', while others might hear only
one. In an implementation, the beacons of R1 and R1' include cost
data indicating a cost of communicating to the headend through R1
and R1'. For example, the beacon of R1 can indicate, as is shown in
block 322 that the downlink bandwidth between R1 and the headend is
120 Mbit/sec, the uplink bandwidth is 100 Mbit/sec, and the number
of hops from R1 to the headend is one.
By listening to beacon messages and cost data included therein,
other stations can determine a low cost path to the headend. For
example R2 hears the beacon from R1 which indicates the uplink
bandwidth, the downlink bandwidth, and the number of hops to the
headend from R1. R2 can measure the bandwidth of the network
between R2 and R1. R2 can calculate an effective downlink bandwidth
between R2 and the headend, through R1 according to the following
formula:
##EQU00001##
Where BW_Eff.sub.comp is the effective downlink bandwidth of the
composite network path from R2 to the headend, BW_Eff.sub.beacon is
the downlink bandwidth data received in the R1 beacon, and BW_Meas
is the measured downlink bandwidth between R2 and R1. In some
implementations, an effective uplink bandwidth is similarly
calculated.
In some implementations, R2 periodically transmits beacon messages
that include the calculated effective downlink and uplink
bandwidths and a hop count to reach the headend through R2. For the
example shown in FIG. 5B, in block 324, the beacon indicates that
the effective downlink bandwidth between R2 and the headend is 60
Mbit/sec, the effective uplink bandwidth is 50 Mbit/sec, and the
hop count is two. R2' similarly transmits beacon messages with its
own calculated effective bandwidths and hop count as indicated by
block 326.
Station R3' can hear station R2. Station R3' similarly calculates
its effective bandwidths and includes this data and a hop count in
periodically transmitted beacon messages. For the example shown in
FIG. 3, station R3' transmits beacons with the data as shown in
block 328. The beacon messages of R3' can be heard by stations N3
and N4 which establish communications with R3'.
The mechanism described so far provides a mechanism for stations in
the BPLN to send traffic to the headend. For example, N3 sends the
traffic intended for the HE to R3'. This traffic then gets routed
through R2 and R1 and finally to the HE. For sending traffic from
the HE to N3 (or any other STA in the BPLN), the HE and all
repeaters maintain information regarding the set of STAs that can
be reached through it and their corresponding next hop repeaters
(if any). This information is referred to a routing table. In this
example, the HE routing table indicates that N3 can be reached
through R1. Similarly, the R1 and R2 routing tables indicate that
N3 can be reached through R2 and R3' respectively. Finally, the R3'
routing table indicates that it can directly reach N3.
To facilitate the population of routing tables at all stations on a
route to the HE, in some implementations each station that newly
joined the BPLN sends a Route Refresh message that contains the MAC
address (or any other unique identifier associated with the new
station) to the HE. Stations that are in the route from the STA to
the HE will process these messages and add the new station to their
routing table.
For example, when N3 first joins the network, it uses the beacons
received from R3' to determine that R3' is the next hop destination
to reach the HE. N3 will then send a Route Refresh message intended
for the HE to R3'. R3' will thus learn that it can directly reach
N3 (R3' updates its routing table) and then forwards the message to
R2. R2 will learn that N3 can be reach through R3' (R2 updates its
routing table) and then forwards the message to R1. R1 will then
learn that it can reach N3 through R2 (R1 updates its routing
table) and then forwards the message to the HE, which then learns
that N3 can be reached through R1 (the HE updates its routing
table). This procedure establishes the route from the HE to N3.
Once the initial route is established, STAs can periodically, or
based on need, send Route Refresh messages to the HE to ensure that
the route from the HE to the station is always current. In some
implementations, stations update their routing tables whenever they
receive MSDUs intended for the HE from other stations. For example,
whenever R1 receives an MSDU from N3 via R2, it updates its routing
table to indicate that it can reach N3 through R2. This ensures
that the routing tables remain current without the need for sending
an explicit Route Refresh message.
Route Changes
A route between a station and the HE can change when the cost on
one or more links change. FIG. 4 is a block diagram of the example
network of FIG. 3 with modified routing. In FIG. 4, station R3' has
altered its selected path to the headend. In FIG. 4, the downlink
and uplink bandwidths of the network section between R1 and R2 is
90 and 70 Mbits/sec, respectively, which represents lower
bandwidths for the same link than in FIG. 3. In the example of FIG.
4, R3' has altered its selected path to the headend (compared to
FIG. 3) by selecting a route through R2' instead of R2.
To change its selected route to the headend, R3' can, for example,
perform the method of FIG. 2. A beacon message received at R3' from
R2 can include an indication of an effective downlink bandwidth of
51.4 Mbit/sec, an effective uplink bandwidth of 41.2 Mbit/sec, and
hop count of 2, as shown in block 430. A beacon message received at
R3' from R2' includes an indication of an effective downlink
bandwidth of 60 Mbit/sec and an effective uplink bandwidth of 50
Mbit/sec between R2 and the headend. R3' can measure the bandwidth
of the network between itself and R2 (dashed line) to determine
that the downlink and uplink bandwidths are 120 and 100 Mbits/sec
respectively. This measurement can be used with the downlink and
uplink data in the beacon received from R2 to calculate an
effective bandwidth of the composite network between R3' and the
headend through R2. Using the formula above, the calculated
effective downlink bandwidth is:
##EQU00002##
The effective uplink bandwidth can be similarly calculated.
R3' can additionally hear beacon messages from R2'. Beacon messages
from R2' indicate that the effective downlink and uplink bandwidth
between R2' and the headend is 60 and 50 Mbit/sec respectively, and
the hop count is 2, as shown in block 431. R3' can measure the
bandwidth of the network between itself and R2' to determine that
the downlink and uplink bandwidths are 120 and 100 Mbits/sec
respectively. This measurement can be used with the downlink and
uplink data in the beacon received from R2' to calculate an
effective bandwidth of the composite network between R3' and the
headend through R2'. Using the formula above, the calculated
effective downlink bandwidth is:
##EQU00003##
R3' can select a low cost route to the headend. Comparing the
effective downlink bandwidth from the headend through R2 and
through R2', R3' can select the route through R2' due to its lower
cost (in this example, its superior downlink bandwidth). R3' can
transmit periodic beacon messages including the calculated
effective downlink and uplink bandwidths of 40 and 33.3 Mbit/sec,
respectively. Beacon messages transmitted from R3' can include the
data shown in block 432. This data is received by stations within
range of R3' and can be used by those stations in determining
whether to select a path to the headend through R3' or another
route.
In some implementations, a station that changed its route to the HE
can send a Route Update message to the headend that contains that
list of stations that can be reached through it. All stations that
receive the Route Update message can update their Routing Table to
include the new routes for the stations listed in the Route Update
message. For example, if R3' modifies its route, it can send a
Route Update message intended for the HE to R2'. The Route Update
message can indicate that N3 and N4 can be reached through R3'.
Upon receiving the Route Update message, R2' can update its routing
table to indicate that N3 and N4 can be reached through R3', and
forward the message to R1. R1 can similarly update its routing
table and forward the Route Update message to the HE, which then
updates its routing table. Subsequently, all traffic from the HE to
R3', N3 and N4 will flow through the modified route.
Routing Between any Two Stations
The routing mechanism described above also enables routing of
traffic between any two stations in the network. For example, in
FIG. 3, N3 can send traffic to N1 without the need to route it all
the way through the HE. In some implementations, N3 can receive an
MSDU from its host that is intended for N1, and N3 can determine
that it cannot directly reach N1. N1 then forwards the MSDU to R3'
(i.e., its next hop destination to the HE). R3 uses its routing
table to determine that it does not have a route to R3' and hence
forwards the packet to R2 (i.e., its next hop destination to the
HE). R2 then uses its routing table to determine that N1 can be
reached through R3 and forwards the MSDU to R3. R3 can then forward
the MSDU to N1.
* * * * *