Patent Publication Number: US-11658891-B2

Title: Automatic broadband information correlation and record generation

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This patent application is a continuation of previously filed co-pending and commonly owned U.S. patent application Ser. No. 15/028,932, entitled “AUTOMATIC BROADBAND INFORMATION CORRELATION &amp; RECORD GENERATION,” naming as inventors Jerome M. Joanny and Ardavan Maleki Tehrani, and filed Apr. 12, 2016, which application is the U.S. National Phase claiming priority under 371 to International Patent Application No. PCT/US2013/064994, filed Oct. 15, 2013, which patent documents are incorporated by reference herein in its entirety and for all purposes. 
    
    
     COPYRIGHT NOTICE 
     A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.&#39; 
     TECHNICAL FIELD 
     The subject matter described herein relates generally to the field of computing, and more particularly, to broadband information correlation and record generation. 
     BACKGROUND 
     The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also correspond to embodiments of the claimed subject matter. 
     Many end-user consumers including residential consumers and business consumers connect to the Internet by way of broadband technologies. Broadband technologies can include, for example, Digital Subscriber Line (DSL), fiber, cable, WiFi, cellular, and microwave technologies. A given broadband technology can have widely varying performance due to a number of factors. The term “performance” herein refers generally to throughput, latency, jitter, connectivity, error rates, power consumption, transmit power, etc. Information about the performance of broadband technologies for end-consumers is typically collected privately by service providers and is not publicly available. 
     For example, with Digital Subscriber Line (DSL) technologies, a service provider provides its end-users with Internet bandwidth, at least a portion of which is carried over copper twisted pair telephone lines. The twisted wire pair infrastructure is known as the “loop plant.” Information about the loop plant, such as the physical termination location of the loop and performance information for the loop, is traditionally property of the internet service provider (ISP) and associated local loop unbundling (LLU) providers. Thus, loop plant information is typically not publicly available. Additionally, the collection of loop plant information can be time consuming and costly due to the method of data collection. For example, service providers typically send technicians on site to make measurements. Furthermore, the value of the loop plant information maintained by service providers or others depends on the data collection and record keeping practices. Therefore, loop plant information may not be up-to-date or may be inaccurate in other ways. Information records for other broadband technologies have similar drawbacks. 
     The present state of the art may benefit from apparatuses, systems, and methods of automatically generating broadband information records without requiring service provider or user involvement that are described herein. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments are illustrated by way of example, and not by way of limitation, and can be more fully understood with reference to the following detailed description when considered in connection with the figures in which: 
         FIG.  1    illustrates an exemplary architecture in which embodiments may operate; 
         FIG.  2    illustrates an exemplary architecture in which embodiments may operate; 
         FIG.  3    illustrates an environment in which embodiments may operate; 
         FIG.  4    illustrates a diagrammatic representation of a broadband record, according to embodiments; 
         FIG.  5    illustrates a flow diagram illustrating a method in accordance with described embodiments; 
         FIG.  6    shows a diagrammatic representation of a system in which embodiments may operate, be installed, integrated, or configured; and 
         FIG.  7    illustrates a diagrammatic representation of a machine in the exemplary form of a computer system, in accordance with one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Described herein are systems, apparatuses, and methods for automatic broadband information correlation and record generation. Automatic broadband information correlation can include associating a physical location of a broadband connection with other information about a broadband connection, such as performance information, without involvement of a service provider or user. For example, in the case of a DSL loop, the method can involve associating a location at which the loop terminates with performance information about the DSL loop. 
     As will be described in greater detail below, in one embodiment, an agent residing in customer premises equipment (CPE) sends information to a broadband data manager, which can reside on a server (e.g., a cloud server). In one such embodiment, the information sent by the agent includes observed local network information (e.g., surrounding WiFi environment information) and performance information related to a broadband connection of the CPE. The broadband data manager can determine a physical location of the CPE through a number of means disclosed in the embodiments of the current invention, and therefore determine the approximate physical termination location of the broadband connection. The broadband data manager can then automatically correlate the broadband performance information with the determined location information and generate a record with the correlated information without involvement of the service provider or user. 
     In one embodiment, a method implemented by a broadband data manager includes receiving performance information related to a broadband connection of a CPE. The method further includes receiving performance information related to a local network connected to the CPE. The method further includes processing the local network information to generate location information associated with the CPE, and generating a record including the performance information and the location associated with the CPE. 
     Thus, the agent can enable automatic generation of a database which correlates broadband information with a location, eliminating reliance on inaccurate and privately-owned records. Such a database can be beneficial for parties desiring to determine performance of broadband connections within a vicinity. For example, providers of products or services for improving a broadband connection may wish to identify customers that can benefit most from their products or services. Users considering commencement of broadband services, or considering purchasing a product or service for improving an existing broadband connection can use such a database to obtain quantitative information to aid in their decisions. In one embodiment, as the agent becomes more widely available, the information contained within the system becomes richer and increases in value for external parties (e.g., CPE vendors, broadband modem providers, regulators, etc.) to mine. 
     In the following description, numerous specific details are set forth such as examples of specific systems, languages, components, etc., in order to provide a thorough understanding of the various embodiments. It will be apparent, however, to one skilled in the art that these specific details need not be employed to practice the disclosed embodiments. In other instances, well known materials or methods have not been described in detail in order to avoid unnecessarily obscuring the disclosed embodiments. 
     In addition to various hardware components depicted in the figures and described herein, embodiments further include various operations that are described below. The operations described in accordance with such embodiments may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the operations. Alternatively, the operations may be performed by a combination of hardware and software, including software instructions that perform the operations described herein via memory and one or more processors of a computing platform. 
     Embodiments also relate to a system or apparatus for performing the operations herein. The disclosed system or apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing non-transitory electronic instructions, each coupled to a computer system bus. In one embodiment, a non-transitory computer readable storage medium having instructions stored thereon, causes one or more processors within customer premises equipment to perform the methods and operations that are described herein. In another embodiment, the instructions to perform such methods and operations are stored upon a non-transitory computer readable medium for later execution. 
     The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus nor are embodiments described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments as described herein. 
       FIG.  1    illustrates an exemplary architecture  100  in which embodiments may operate in compliance with the G.997.1 standard (also known as G.ploam). Asymmetric Digital Subscriber Line (ADSL) systems (one form of Digital Subscriber Line (DSL) systems), which may or may not include splitters, operate in compliance with the various applicable standards such as ADSL1 (G.992.1), ADSL-Lite (G.992.2), ADSL2 (G.992.3), ADSL2-Lite G.992.4, ADSL2+(G.992.5) and the G.993.x emerging Very-high-speed Digital Subscriber Line or Very-high-bitrate Digital Subscriber Line (VDSL) standards, as well as the G.991.1 and G.991.2 Single-Pair High-speed Digital Subscriber Line (SHDSL) standards, all with and without bonding. 
     The G.997.1 standard specifies the physical layer management for ADSL transmission systems based on the clear, Embedded Operation Channel (EOC) defined in G.997.1 and use of indicator bits and EOC messages defined in G.992.x standards. Moreover, G.997.1 specifies network management elements content for configuration, fault and performance management. In performing these functions, the system utilizes a variety of operational data (which includes performance data) that is available at an Access Node (AN). 
     In  FIG.  1   , users terminal equipment (TE)  102  (e.g., a CPE device or a remote terminal device, network node, Local Area Network (LAN) device, etc.) is coupled to a home network  104 , which in turn is coupled to a Network Termination (NT) Unit  108 . The ADSL Transceiver Units (ATU) are further depicted (e.g., a device that provides ADSL modulation of a DSL loop or line). In one embodiment, NT unit  108  includes an ATU-R (ATU Remote)  122  (for example, a transceiver defined by one of the ADSL standards) or any other suitable network termination modem, transceiver or other communication unit. NT unit  108  also includes a Management Entity (ME)  124 . Management Entity  124  can be any suitable hardware device, such as a microprocessor, microcontroller, or circuit state machine in firmware or hardware, capable of performing as required by any applicable standards and/or other criteria. Management Entity  124  collects and stores, among other things, operational data in its Management Information Base (MIB), which is a database of information maintained by each ME capable of being accessed via network management protocols such as Simple Network Management Protocol (SNMP), an administration protocol used to gather information from a network device to provide to an administrator console/program or via Transaction Language 1 (TL1) commands, TL1 being a long-established command language used to program responses and commands between telecommunication network elements. In one embodiment, Network Termination Unit  108  is communicably interfaced with a broadband data manager  170  as described herein. In another embodiment, ATU-R  122  is communicably interfaced with broadband data manager  170 . 
     Each ATU-R  122  in a system may be coupled with an ATU-C (ATU Central) in a Central Office (CO) or other central location. ATU-C  142  is located at an Access Node (AN)  114  in Central Office  146 . A Management Entity  144  likewise maintains an MIB of operational data pertaining to ATU-C  142 . The Access Node  114  may be coupled to a broadband network  106  or other network, as will be appreciated by those skilled in the art. ATU-R  122  and ATU-C  142  are coupled together by a loop  112 , which in the case of ADSL may be a twisted pair line, such as a telephone line, which may carry other communication services besides DSL-based communications. Management entity  124  or management entity  144  may implement and incorporate a broadband data manager  170  as described herein. 
     Several of the interfaces shown in  FIG.  1    are used for determining and collecting operational data. The Q interface  126  provides the interface between the Network Management System (NMS)  116  of the operator and ME  144  in Access Node  114 . Parameters specified in the G.997.1 standard apply at the Q interface  126 . The near-end parameters supported in Management Entity  144  may be derived from ATU C  142 , while far-end parameters from ATU R  122  may be derived by either of two interfaces over the UA interface. Indicator bits and EOC messages may be sent using embedded channel  132  and provided at the Physical Medium Dependent (PMD) layer, and may be used to generate the required ATU-R  122  parameters in ME  144 . Alternately, the operations, Administration and Maintenance (OAM) channel and a suitable protocol may be used to retrieve the parameters from ATU R  122  when requested by Management Entity  144 . Similarly, the far-end parameters from ATU C  142  may be derived by either of two interfaces over the U-interface. Indicator bits and EOC message provided at the PMD layer may be used to generate the required ATU-C  142  parameters in Management Entity  124  of NT unit  108 . Alternately, the OAM channel and a suitable protocol can be used to retrieve the parameters from ATU C  142  when requested by Management Entity  124 . 
     At the U interface (also referred to as loop  112 ), there are two management interfaces, one at ATU-C  142  (the U-C interface  157 ) and one at ATU-R  122  (the U-R interface  158 ). Interface  157  provides ATU-C near-end parameters for ATU-R  122  to retrieve over the U interface/loop  112 . Similarly, U-R interface  158  provides ATU-R near-end parameters for ATU-C  142  to retrieve over the U interface/loop  112 . The parameters that apply may be dependent upon the transceiver standard being used (for example, G.992.1 or G.992.2). The G.997.1 standard specifies an optional Operation, Administration, and Maintenance (OAM) communication channel across the U interface. If this channel is implemented, ATU-C and ATU-R pairs may use it for transporting physical layer OAM messages. Thus, the ATU transceivers  122  and  142  of such a system share various operational data maintained in their respective MIBs. 
     Depicted within  FIG.  1    is broadband data manager  170  operating at various optional locations in accordance with several alternative embodiments. For example, broadband data manager  170  is located within home network  104 , such as within a LAN. In an alternative embodiment, broadband data manager  170  is located at central office  146  and interfaced to home network  104  (e.g., a LAN) and broadband network  106  (e.g., a WAN) via NMS  116 . In yet another embodiment, broadband data manager  170  operates on the broadband network  106  (e.g., on the WAN or Internet). 
     Also depicted within  FIG.  1    is an agent  180  operating at various optional locations in accordance with several embodiments. For example, agent  180  may reside within TE  102 , may reside within a LAN device  103  which is connected with TE  102 , agent  180  may reside on the loop  112  at NT unit  108 . These and other examples and their benefits and function will be described in further detail below. 
     As used herein, the terms “user,” “end-user,” “subscriber,” “consumers,” and/or “customer” refer to a person, business and/or organization to which communication services and/or equipment are and/or may potentially be provided by any of a variety of service provider(s). Further, the term “customer premises” refers to the location to which communication services are being provided by a service provider. For an example Public Switched Telephone Network (PSTN) used to provide DSL services, customer premises are located at, near and/or are associated with, the network termination (NT) side of the telephone lines. Example customer premises include a residence or an office building. 
     As used herein, the term “service provider” refers to any of a variety of entities that provide, sell, provision, troubleshoot and/or maintain communication services and/or communication equipment. Example service providers include a telephone operating company, a cable operating company, a wireless communications operating company, an internet service provider, or any service that may independently or in conjunction with a broadband communications services provider offer services that diagnose or improve broadband communications services (DSL, DSL services, cable, etc.). 
     Additionally, as used herein, the term “DSL” refers to any of a variety and/or variant of DSL technology such as, for example, Asymmetric DSL (ADSL), ADSL2, ADSL2plus, High-speed DSL (HDSL), HDSL2, Symmetric DSL (SDSL), SHDSL, Very high-speed/Very high-bitrate DSL (VDSL), VDSL2, vectored VDSL2, and/or G.fast. Such DSL technologies are commonly implemented in accordance with an applicable standard such as, for example, the International Telecommunications Union (I.T.U.) standard G.992.1 (a.k.a. G.dmt) for ADSL modems, the I.T.U. standard G.992.3 (a.k.a. G.dmt.bis, or G.ads12) for ADSL2 modems, I.T.U. standard G.992.5 (a.k.a. G.ads12plus) for ADSL2+ modems, I.T.U. standard G.993.1 (a.k.a. G.vds1) for VDSL modems, I.T.U. standard G.993.2 for VDSL2 modems, I.T.U. standard G.994.1 (G.hs) for modems implementing handshake, and/or the I.T.U. G.997.1 (a.k.a. G.ploam) standard for management of DSL modems. 
     References to connecting a DSL modem and/or a DSL communications service to a customer are made with respect to exemplary Digital Subscriber Line (DSL) equipment, DSL services, DSL systems and/or the use of ordinary twisted-pair copper telephone lines for distribution of DSL services. It should be understood that the methods and apparatus to characterize and/or test a transmission medium for communication systems disclosed herein may be applied to many other types and/or variety of communications equipment, services, technologies and/or systems. For example, other types of systems include wireless distribution systems, wired or cable distribution systems, coaxial cable distribution systems, Ultra High Frequency (UHF)/Very High Frequency (VHF) radio frequency systems, satellite or other extra-terrestrial systems, cellular distribution systems, power-line broadcast systems and/or fiber optic networks. Additionally, combinations of these devices, systems and/or networks may also be used. For example, a combination of twisted-pair and coaxial cable interfaced via a balun connector, or any other physical-channel-continuing combination such as an analog fiber to copper connection with a linear optical-to-electrical connection at an Optical Network Unit (ONU) may be used. 
     The phrases “coupled to,” “coupled with,” connected to,” “connected with” and the like are used herein to describe a connection between two elements and/or components and are intended to mean coupled/connected either directly together, or indirectly, for example via one or more intervening elements or via a wired/wireless connection. References to a “communication system” are intended, where applicable, to include reference to any other type of data transmission system. 
       FIG.  2    illustrates an exemplary architecture  200  in which embodiments may operate.  FIG.  2    depicts CPEs  202 A and  202 B. CPEs can include one or more of a router (e.g., an Ethernet connected router), an Ethernet connected wireless bridge, an Ethernet connected network bridge, and an Ethernet connected network switch, a modem (e.g., a DSL modem), a wireless access point (AP) (e.g., WiFi AP), an in-home power line device, a Home Phoneline Network Alliance (HPNA) based device, an in-home coax distribution device, a G.hn compatible device, a cellular telephony compatible device, a third generation (3G) compatible device, a fourth generation (4G) compatible device, a Long Term Evolution (LTE) compatible device, a WiFi device, an in-home appliance communicatively interfaced with the LAN, a computing device connected to the LAN, a HomePlug device, an IEEE P1901 standards compatible access Broadband over Power Line (BPL) device, an Ethernet connected computer peripheral device, or any other broadband compatible device. As illustrated in  FIG.  2   , CPEs  202 A and  202 B include combination devices  203 A and  203 B, which include routers  212 A and  212 B, modems  214 A and  214 B, agents  216 A and  216 B and wireless access points (APs)  222 A and  222 B. 
     Agents  216 A and  216 B are depicted as operating at various optional locations in accordance with several embodiments. For example, as illustrated in  FIG.  2   , combination devices  203 A and  203 B include the agents  216 A and  216 B. However, in other embodiments, devices including one or more of a modem, access point, and router, can include the agents  216 A and  216 B. In another embodiment, as depicted in CPE  202 A, the agent  216 A can reside in a user device  218 A, or can exist as a separate device. In other embodiments, user devices do not include an agent, such as user devices  220 A and  220 B. Agents  216 A and  216 B can include software, firmware, hardware, or a combination thereof. In one embodiment, agents  216 A and  216 B include software embedded or installed on the corresponding CPE. As indicated above,  FIG.  2    shows that the agents  216 A and  216 B are capable of operating in different locations. Although  FIG.  2    illustrates the agents  216 A and  216 B as being capable of operating in various locations, a single agent as described herein is sufficient according to embodiments. Furthermore, although the description corresponding to  FIG.  2    refers to two agents (an agent  216 A in CPE  202 A and an agent  216 B in CPE  202 B), embodiments of the invention may involve a single agent (e.g., CPE  202 A may include the agent  216 A, and CPE  202 B may not include an agent, or vice versa, according to an embodiment). 
     Agents  216 A and  216 B are communicatively coupled with a server  204 , which includes a broadband data manager  210 . The server can include any suitable computing device with a broadband data manager as described herein, for example, the systems illustrated in  FIGS.  7  and  8   . In one embodiment, server  204  is a cloud server. 
     According to one embodiment, the broadband data manager  210  receives performance information related to a broadband connection of the CPE from an agent on the CPE. For example, agent  216 A sends performance information related to a broadband connection of CPE  202 A to the broadband data manager  210 . The transmitted performance information can relate to one or more broadband connections, for example, DSL, fiber, cable, WiFi, cellular, and microwave connections. The performance information can include one or more of throughput, data rate, error statistics, signal strength/power, latency, jitter, connectivity, power consumption, or any other information related to performance of a broadband connection. According to one embodiment, the broadband data manager  210  receives other information related to a broadband connection, for example, attributes such as loop length of a DSL loop. 
     In one embodiment, the agents  216 A and  216 B can communicate with other software, firmware, or hardware on the CPE to extract such performance data. For example, the agent  216 A and  216 B can extract the performance information from a chipset of the CPE. Other embodiments can include observation and/or collection of data not typically stored by the CPE, and/or performing calculations on the data. For example, in one embodiment in which the CPE includes a DSL modem coupled with a central office by a loop, the agent can determine the approximate loop length by looking at attenuation of data received over the DSL line. In one embodiment, the agent can receive the information from a line enhancement device, co-located with the CPE. A line enhancement device can include devices such as, for example, a noise canceller that reduces interference noise on a line (e.g., a DSL line), or any device which improves the quality of the broadband connection. 
     In one embodiment, the broadband data manager  210  also receives information related to a local network connected to the CPE. The local network information can include information related to one or more of WiFi, Multimedia over Coax Alliance (MoCA), Power Line Communication (PLC), HomePlug, Ethernet, Femtocell, or any other local network. Such network information can include one or more of a WiFi network identifier of the CPE, one or more WiFi network identifiers of neighboring LANs, a Global Positioning System (GPS) location, an Internet Protocol (IP) address of the CPE, an IP address of another LAN device, a MAC address of the CPE, a MAC address of another LAN device, or any other identifying local network information. Thus, according to different embodiments, agents  216 A and  216 B can send local network information associated with a CPE on which the agent is located, local network information associated with other neighboring CPEs, or a combination of both. For example, agent  216 A can send a WiFi network identifier associated with AP  222 A, and/or a WiFi network identifier associated with the neighboring AP  222 B. Similarly, the agent  216 A can send an IP address of the CPE  202 A, and/or an IP address of the CPE  202 B. Although only two CPEs are illustrated, the described embodiments can operate with any number of CPEs. For example, if N WiFi APs are visible to the agent  216 A, the agent  216 A can send WiFi network identifiers for some or all of the N visible APs to the broadband data manager  210 . 
     According to one embodiment, the transmission of performance and local network information by the agents  216 A and  216 B is automatic. For example, in one embodiment, the agents  216 A and  216 B of CPEs  202 A and  202 B can send the performance and local network information upon power-up. Sending the information upon power-up can include sending the information the first time the CPE with the agent is powered on, and/or can include sending such information every time the CPE is powered on or restarted. In one embodiment, in addition to, or instead of, automatically sending such information upon power-up, the agents  216 A and  216 B can send updated information at one or more additional times and/or according to a predetermined periodic schedule. For example, in one embodiment, the agents  216 A and  216 B can automatically send updated information to the broadband data manager  210  on an hourly basis. 
     According to one embodiment, the broadband data manager  210  processes the local network information to generate location information associated with the CPE. In one such embodiment, the broadband data manager  210  queries a public database (e.g., public WiFi database  208 ) with the received local network information to obtain location information associated with that local network, and therefore associated with the CPE. According to one such embodiment, public WiFi database  208  includes a table of SSIDs and locations mapped to those SSIDs. When querying the public WiFi database  208 , the broadband data manager  210  can use an SSID of the LAN to which a CPE is connected, SSIDs of neighboring LANs, or a combination thereof. Querying the public WiFi database  208  with SSIDs of neighboring LANs (in addition to, or instead of the SSID of a LAN to which a particular CPE is connected) can increase the likelihood of precisely identifying a location associated with the particular CPE. Furthermore, by using SSIDs of neighboring LANs, the broadband data manager  210  may in some circumstances accurately determine location information for a CPE, even if an SSID for a LAN connected to the CPE is not in the public WiFi database  208 . 
     The broadband data manager  210  can then automatically create a record associating the generated location information with the received performance information. An example of such a record is further described below with reference to  FIG.  4   . According to one embodiment, the automatically created records can form broadband record database  206  without user or service provider involvement. 
     Although  FIG.  2    and the associated description describe embodiments in which the broadband data manager  210  is the entity which queries the public WiFi database  208  and generates records in the broadband records database  206 , in some embodiments, the agents  216 A and  216 B can directly query the public WiFi database  208  and/or generate records in the broadband records database  206 . For example, in one embodiment, an agent can query the public WiFi database  208  and determine location information associated with the CPE. The agent can then send the location information and associated performance information to the broadband data manager  210  to create a record in the broadband records database  206 . In another such embodiment, an agent can directly create a record in the broadband records database  206 . 
       FIG.  3    illustrates an exemplary environment  300  in which embodiments may operate. The environment  300  depicts two streets, 1 st  Ave. and Main St., on which CPEs  302 A- 302 C are located. In this illustrated example, each CPE is associated with a street address. For example, CPE  302 A is associated with street address 533 1 st  Ave., CPE  302 B is associated with street address 450 1 st  Ave., and CPE  302 C is associated with street address 1200 Main St. In one embodiment, a CPE can be associated with a street intersection. For example, CPEs  302 A- 302 C can be associated with the intersection of 1 st  Ave and Main St. In other embodiments, CPEs  302 A- 302 C may be associated with other location information in addition to or instead of street addresses or intersections. For example, a CPE can be associated with GPS coordinates. In one embodiment, a CPE is associated with a city name, county name, a landmark, a business name, and/or any other identifier capable of identifying a geographic location. Location information associated with CPE can include a single type of information (e.g., a street address), or multiple types of identifying information (e.g., a city name and a business name). 
     As illustrated in  FIG.  3   , the CPEs  302 A- 302 C include wireless access points  304 A- 304 C. Each of the wireless access points  304 A- 304 C can communicate with devices in a particular radius. For example, devices within the area defined by the circle  306 A can detect a network identifier (e.g., SSID) for the wireless AP  304 A. Similarly, devices within the area defined by the circles  306 B or  306 C can detect network identifiers for the corresponding wireless AP  304 B or  304 C. 
     In one embodiment, the CPEs  302 A- 302 C each include an agent as described herein. For example, the CPEs  302 A- 302 C can include agents as described with reference to agents  216 A and  216 B of  FIG.  2   . As mentioned above with reference to  FIG.  2   , a broadband data manager is more likely to determine accurate location information for a CPE if neighboring network identifiers are used, according to some embodiments. For example, in  FIG.  3   , an agent in CPE  302 B can send an SSID for wireless AP  304 B to a broadband data manager. In one such example where the transmitted SSID is unique and in a public WiFi database, the broadband data manager can determine the location information for that SSID, and therefore associated with the CPE. In one such example where the SSID is not unique and/or not present in a public WiFi database, the broadband data manager may rely on SSIDs of neighboring wireless APs, according to one embodiment. For example, CPE  302 B is in range of wireless APs  304 A- 304 C, and therefore SSIDs for wireless APs  304 A- 304 C are visible to CPE  302 B, according to one embodiment. In one such embodiment, an agent in CPE  302 B sends the SSIDs for multiple nearby wireless APs  304 A- 304 C to the broadband data manager. Similarly, agents in CPE  302 A and  302 C can send visible network identifiers to the broadband data manager, which can determine location information by processing the network identifiers. 
     According to one embodiment, the broadband data manager can determine expected performance for a CPE using performance information for nearby CPEs. Expected performance may be determined for CPEs with or without an agent. One example of determining expected performance may involve receiving location information for the target CPE (e.g., an address or GPS coordinates) from a user. The broadband manager can then use the location information provided by the user to run a query in a broadband records database for nearby locations. Locations of other CPEs can be considered “nearby” the target CPE according to predetermined criteria, for example, a distance from the target CPE. Performance information for nearby CPEs is then obtained and used to determine the expected performance of the target CPE. 
     For example, in one embodiment, determining expected performance for the target CPE may involve performing averaging or other calculations using the performance information for nearby CPEs. Averaging or other calculations may be useful for circumstances where the broadband data manager identifies multiple records for nearby CPEs. Other embodiments may not require averaging or other calculations, but instead may involve directly equating the expected performance for the target CPE to a value determined for a nearby CPE. Such an approach may be used, for example, where the broadband data manager identifies a single relevant record for a nearby CPE. 
     In one embodiment, a congestion map of the WiFi access point in the neighborhood area of the broadband connection is generated. The congestion map represents the locations of the WiFi access points with respect to each other. Such map assists the broadband service providers, as well as the broadband users to understand the topology of the wireless network in the area surrounding or in the vicinity or neighborhood of a broadband connection, WiFi access point or CPE. 
     The congestion map could include information such as setup, configuration and/or performance information with respect to each WiFi access point mapped. The setup information comprises at least one of: frequency band of operation, channel info, transmit power of the corresponding access points. The performance information comprises at least one of: throughput, data rate, error statistics, signal strength, latency, jitter, connectivity, and power consumption. 
     Analysis of the setup and performance information associated with the mapped access point, assists in understanding any bottlenecks in frequency allocation, or channel congestion, or interference issues between the access points. An operator, a broadband service provider, a third party WiFi management service, or the end users can use the information to change, modify or optimize the performance and setup of their corresponding access points accordingly. For example, if the information shows that more than one or more access points are too close, then an exemplary remedy to improve performance or reduce interference is to relocate the access points. An operator or a third party could initiate an advisory action or a notice to the end user to relocate their access points to a new location with a safer distance. In another example, if too many access point are using the same channel, creating a channel congestion, an advisory action could be generated, or the broadband management server to issue instructions to the desired access point to change its WiFi channel to a band not heavily used or congested. 
       FIG.  4    illustrates a diagrammatic representation of broadband records  400 , according to embodiments. Broadband record  402  is one of many records in a database, and includes information for one or more broadband connections to a CPE. As illustrated in  FIG.  4   , in one embodiment, broadband record  402  includes user identification information  404 . In the illustrated embodiment, broadband record  402  also includes performance information  406  for a broadband connection, such as throughput, data rate, error statistics, and signal strength. In one embodiment, performance information  406  is related to at least one or more of DSL, fiber, cable, WiFi, cellular, and microwave. In other embodiments, a broadband record can include additional information not depicted in broadband record  402 , and/or can omit some of the information depicted in broadband record  402 . 
       FIG.  5    illustrates a flow diagram illustrating a method in accordance with described embodiments. 
     The method  500  begins at block  501  with the broadband data manager (e.g., broadband data manager  210  of  FIG.  2   ) receiving performance information related to a broadband connection of a CPE (e.g., CPE  202 A and  202 B of  FIG.  2   ). At block  502 , the broadband data manager receives information related to a local network connected to the CPE. 
     At block  503 , the broadband data manager processes the local network information to generate location information associated with the CPE. According to one embodiment, processing the local network information includes querying a public database with the one or more WiFi network identifiers of neighboring LANs to obtain location information for the WiFi network identifier of the CPE. In another embodiment, processing the local network information includes querying a public database with the IP address of the CPE or the IP address of the other LAN device to obtain the location information of the CPE. According to one embodiment, the method further includes obtaining the GPS location of the CPE from LAN devices connected to the same LAN as the CPE in order to obtain the location information. 
     The method ends at block  504  with the broadband data manager generating a record (e.g., record  402  of  FIG.  4   ) including the performance information and the location associated with the CPE. 
       FIG.  6    shows a diagrammatic representation of a system  600  in accordance with which embodiments may operate, be installed, integrated, or configured. 
     In one embodiment, system  600  includes a memory  695  and a processor or processors  696 . For example, memory  695  may store instructions to be executed and processor(s)  696  may execute such instructions. Processor(s)  696  may also implement or execute implementing logic  660  having logic to implement the methodologies discussed herein. System  600  includes communication bus(es)  615  to transfer transactions, instructions, requests, and data within system  600  among a plurality of peripheral devices communicably interfaced with one or more communication buses  615 . In one embodiment, system  600  includes a communication bus  615  to interface, transfer, transact, relay, and and/or communicate information, transactions, instructions, requests, and data within system  600 , and among plurality of peripheral devices. 
     System  600  further includes management interface  625 , for example, to receive requests, return responses, and otherwise interface with network elements located separately from system  600 . System  600  further includes communications interface  630  which provides connectivity between system  600  and the various network elements. Communications interface  630  can include a LAN interface, a WAN interface, or any other interface for communication with other communicatively coupled entities. System  600  further includes a user interface  635 , via which users may submit requests to the broadband data manager  601 . 
     Distinct within system  600  is broadband data manager  601  which includes correlation engine  670 , query generating module  675 , and record generator  680 . According to one embodiment, query generating module  675  uses received information from an agent on a CPE to generate queries for a public WiFi database. Correlation engine  670  uses the information returned from the queries to the public WiFi database to associate a location of the CPE with other broadband performance information associated with a broadband connection to the CPE. Record generator  680  creates a record with the associated location and performance information. Broadband data manager  601  may be installed and configured in a compatible system  600  as is depicted by  FIG.  6   , or provided separately so as to operate in conjunction with appropriate implementing logic  660  or other software. 
       FIG.  7    illustrates a diagrammatic representation of a machine  700  in the exemplary form of a computer system, in accordance with one embodiment, within which a set of instructions, for causing the machine  700  to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in LAN, a Wide Area Network, an intranet, an extranet, or the Internet. The machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Certain embodiments of the machine may be in the form of a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server (e.g., a cloud server), a network router, switch or bridge, computing system, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. 
     The exemplary computer system  700  includes a processor  702 , a main memory  704  (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc., static memory such as flash memory, static random access memory (SRAM), volatile but high-data rate RAM, etc.), and a secondary memory  718  (e.g., a persistent storage device including hard disk drives and persistent data base implementations), which communicate with each other via a bus  730 . Main memory  704  includes information and instructions and software program components necessary for performing and executing the functions with respect to the various embodiments of the broadband data manager as described herein. Main memory  704  stores broadband performance information and local network information received for use by the broadband data manager  734 . The broadband data manager  734  processes the local network information  723  to determine location information associated with a CPE, which can also be stored in main memory  704 . The broadband data manager  734  then generates a record associating the determined location information and the broadband performance information  724 . Main memory  704  and its sub-elements (e.g.  723  and  724 ) are operable in conjunction with processing logic  726  and/or software  722  and processor  702  to perform the methodologies discussed herein. 
     Processor  702  represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processor  702  may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processor  702  may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processor  702  is configured to execute the processing logic  726  for performing the operations and functionality which is discussed herein. 
     The computer system  700  may further include one or more network interface cards  708  to communicatively interface the computer system  700  with one or more networks  720  from which information may be collected for analysis. The computer system  700  also may include a user interface  710  (such as a video display unit, a liquid crystal display (LCD), or a cathode ray tube (CRT)), an alphanumeric input device  712  (e.g., a keyboard), a cursor control device  714  (e.g., a mouse), and a signal generation device  716  (e.g., an integrated speaker). The computer system  700  may further include peripheral device  736  (e.g., wireless or wired communication devices, memory devices, storage devices, audio processing devices, video processing devices, etc.). The computer system  700  may perform the functions of a Broadband data manager  734  capable interfacing networks, monitoring, collecting, analyzing, and reporting information, and initiating, triggering, and executing various management events including the execution of commands and instructions to automatically generate broadband records, as well as the various other functions and operations described herein. 
     The secondary memory  718  may include a non-transitory machine-readable storage medium (or more specifically a non-transitory machine-accessible storage medium)  731  on which is stored one or more sets of instructions (e.g., software  722 ) embodying any one or more of the methodologies or functions described herein. Software  722  may also reside, or alternatively reside within main memory  704 , and may further reside completely or at least partially within the processor  702  during execution thereof by the computer system  700 , the main memory  704  and the processor  702  also constituting machine-readable storage media. The software  722  may further be transmitted or received over a network  720  via the network interface card  708 . 
     While the subject matter disclosed herein has been described by way of example and in terms of the specific embodiments, it is to be understood that the claimed embodiments are not limited to the explicitly enumerated embodiments disclosed. To the contrary, the disclosure is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the disclosed subject matter is therefore to be determined in reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.