US20120131466A1 - User-Based Monitoring and Control - Google Patents

User-Based Monitoring and Control Download PDF

Info

Publication number
US20120131466A1
US20120131466A1 US13/302,051 US201113302051A US2012131466A1 US 20120131466 A1 US20120131466 A1 US 20120131466A1 US 201113302051 A US201113302051 A US 201113302051A US 2012131466 A1 US2012131466 A1 US 2012131466A1
Authority
US
United States
Prior art keywords
customer
instructions
network
service point
customer service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/302,051
Inventor
Michael K. Bugenhagen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CenturyLink Intellectual Property LLC
Original Assignee
Embarq Holdings Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Embarq Holdings Co LLC filed Critical Embarq Holdings Co LLC
Priority to US13/302,051 priority Critical patent/US20120131466A1/en
Assigned to EMBARQ HOLDINGS COMPANY, LLC reassignment EMBARQ HOLDINGS COMPANY, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BUGENHAGEN, MICHAEL K.
Publication of US20120131466A1 publication Critical patent/US20120131466A1/en
Assigned to CENTURYLINK INTELLECTUAL PROPERTY LLC reassignment CENTURYLINK INTELLECTUAL PROPERTY LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: EMBARQ HOLDINGS COMPANY, LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/14Central alarm receiver or annunciator arrangements
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • G08B25/01Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium
    • G08B25/08Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems characterised by the transmission medium using communication transmission lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Definitions

  • the present disclosure may be related to the following commonly assigned applications/patents:
  • the present disclosure relates, in general, to computer networks, and more particularly, to tools and techniques for providing customers of an Internet service provider with enhanced monitoring and control over their Internet connections.
  • Broadband Internet access has become nearly ubiquitous in most industrialized countries.
  • Broadband providers employ a variety of technologies, including without limitation digital subscriber line (“xDSL”) technologies, cable more (e.g., “DOCSIS”) technologies, wireless broadband technologies, and the like.
  • xDSL digital subscriber line
  • DOCSIS cable more
  • wireless broadband technologies and the like.
  • broadband access is offered using a tiered structure, in which the subscriber (referred to herein as a “customer”) receives a certain allocated bandwidth in return for a given fee (such as a monthly flat fee).
  • VoIP voice over Internet protocol
  • video on demand applications and/or network games impose requirements on throughput and/or latency.
  • different applications often will impose different requirements for throughput and latency, respectively.
  • a video on demand might not require particularly low network latency but might require relatively high throughput.
  • a network game might not require particularly high throughput but might require relatively low latency.
  • VoIP telephony might require relatively constant (although not particularly high) throughput and relatively low latency.
  • QoS quality of service
  • One type of QoS feature commonly implemented is the distinction between multiple classes of service to provide traffic prioritization between different types of network traffic received by the access network from a customer premises.
  • providers lack adequate facilities to provide customer feedback regarding network performance and utilization, even though the customer might know the capacity it has agreed to purchase from the provider. For example, if a customer purchases generic Internet access for a multiple-computer home network, neither the customer nor any individual computer attached to the home network has any ide of the amount of composite network traffic between the customer's Internet Service and the access network.
  • the customer is provided with little (or no) feedback on how those classes of service affect the capacity of the customer's broadband connection.
  • IP Internet protocol
  • IP protocols are generally designed to share the available bandwidth and ‘adjust” to each other, when a congestion event occurs all the traffic using that same class of service, or a lower class, experiences congestion. In other words, there is no concept of “busy” or in use status when it comes to IP protocols today. The fact that no single customer device sees all the composite traffic flow makes this a very difficult problem for the customer or provider to address.
  • Certain embodiments therefore, provide tools and techniques to give a customer greater visibility into network performance and/or utilization, particularly with respect to the customer's broadband connection to a provider's access network (and/or the Internet more generally).
  • some embodiments can track the amount of bandwidth (capacity) assigned to each class of service on a customer's broadband connection, and/or the bandwidth available to each of the devices on the customer's premises network. These values can be used as inputs to a state machine that governs the use of the broadband connection.
  • embodiments might track the utilized throughput in each class of service (or overall) through the broadband connection and/or to each customer device. Similarly, some embodiments might track the utilized state at a residential gateway and/or various points in the access network and serve as a signaling point for customer applications (or customers themselves) to determine the line state of their connection and/or devices. In some cases, for example, an embodiment might provide an API for applications to access the signaling point. In other cases, an embodiment might employ a user interface to allow the customer himself or herself to view the line state.
  • a signaling point might track throughput at either end of the access network, and/or at the residential gateway and one or more customer devices.
  • the signaling point might provide alarms for packet loss conditions and/or busy indicators, which can serve as a “busy signal” for the customer and/or any applications, to let the application/customer know whether there is sufficient bandwidth available to start another network session or if the customer's WiFi connection has degraded (or been consumed) to a point where it will experience congestion.
  • Customer applications might be configured to communicate with the signaling point to obtain network performance and/or utilization information. This functionality can enable near-real-time utilization and/performance reporting, along with visual feedback, on network conditions (including packet loss conditions) with respect to the customer's broadband connection and/or premises network, either overall or for particular classes of service.
  • a signaling point might be implemented at a residential gateway and/or a network interface device.
  • Such devices can include, without limitation, broadband modems, interfaces between the customer's premises network and the access network, and/or the like.
  • a signaling point might be located in the access network itself, and/or it might be configured to communicate with a customer's residential gateway, network interface device, and/or any customer devices on the customer premises network.
  • a method might comprise one or more procedures, any or all of which are executed by a computer system.
  • an embodiment might provide a computer system configured with instructions to perform one or more procedures in accordance with methods provided by various other embodiments.
  • a computer program might comprise a set of instructions that are executable by a computer system (and/or a processor therein) to perform such operations.
  • software programs are encoded on physical, tangible and/or non-transitory computer readable media (such as, to name but a few examples, optical media, magnetic media, and/or the like).
  • one set of embodiments provide customer service points that can provide customers with monitoring and control over network settings.
  • An exemplary customer service point might comprise a first communication interface, a second communication interface, and/or one or more processors in communication with the first and second communication interfaces.
  • the customer service point might further comprise a computer readable medium in communication with the one or more processors.
  • the computer readable medium in an aspect, might have encoded thereon a set of instructions executable by the computer system to perform one or more operations.
  • the set of instructions might comprise instructions for communicating with the Internet via the first communication interface, and/or instructions for communicating with the customer device via the second communication interface.
  • the set of instructions can also include instructions for maintaining a class of service state for a connection between the customer device and the Internet, instructions for receiving, from the customer, configuration information for configuring the class of service state, and/or instructions for modifying the class of service state in response to receiving the configuration information.
  • the set of instructions further comprises instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point, and/or instructions for providing, to the customer, the one or more network performance statistics.
  • a method might comprise maintaining, at a customer service point, a class of service state for a connection between a customer device and the Internet.
  • the customer service point might comprise a processor, a first communication interface, and a second communication interface; the customer device might be in communication with the first communication interface and the Internet might be in communication with the second communication interface.
  • the method might further comprise receiving, from the customer, configuration information for configuring the class of service state, and/or modifying the class of service state in response to receiving the configuration information.
  • An apparatus in accordance with yet another set of embodiments, might comprise a computer readable medium having encoded thereon a set of instructions for causing a customer service point to perform one or more operations.
  • the customer service point might comprise a processor, a first communication interface, and/or a second communication interface.
  • the customer service point might maintain a class of service state between a connection between a customer device in communication with the first communication interface and the Internet in communication with the second communication interface.
  • the set of instructions might be executable by the processor, and/or might comprise instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point.
  • the set of instructions might further comprise instructions for providing, to the customer, the one or more network performance statistics.
  • FIG. 1 is a block diagram illustrating a system for providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 2 is a process flow diagram illustrating a method of providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 3 is an exemplary screen display illustrating a user interface for providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 4 is a generalized schematic diagram illustrating a computer system, in accordance with various embodiments.
  • One set of embodiments provides tools and techniques to give a customer greater visibility into network performance and/or utilization, particularly with respect to the customer's broadband connection to a provider's access network (and/or the Internet more generally). Certain of these tools and techniques can allow a user to view statistics (in real-time or near-real-time) about the utilization and/or performance of the customer's broadband connection (which can include, without limitation, the connection between the customer's premises and the providers access network, the access network itself, and/or the connection between the access network and the Internet. In this way, a customer not only can control various aspects of the connection, but can also see where any throughput bottlenecks might be occurring (if, for example, the customer is experiencing subpar download speeds from the Internet).
  • utilization changes over a time period therefore some form mathematical utilization state representation is used to characterize the usage, and or usage change of the resource pool. Typically this is accomplished through the use of averaging and sliding window observation method, also assumed are the statistical and mathematical characterizations such as average, maximum, minimum, and change indicators such as the first and second derivate of the measures from period to period.
  • the frequency in which utilization is reported is mathematically a function of how long the utilization is observed, and it should also be understood that multiple windows of observation may occur in parallel to provide short duration, and longer duration utilization information in a parallel manner.
  • some embodiments allow a customer active control over various aspects of the customer's broadband connection.
  • some embodiments can track the amount of bandwidth (capacity) assigned to each class of service on a customer's broadband connection, and/or the bandwidth provided to each of the devices on the customer's premises network. These values can be used as inputs to a state machine that governs the use of the broadband connection.
  • such embodiments can allow the customer to adjust these configuration parameters, for example, to change traffic prioritization schemes on an application-by-application basis, a protocol-by-protocol basis, a device-by-device basis, and/or the like. In this manner a customer could provide voice applications such as VonageTM higher priorities and separate capacity resource pools as a lower priority application such as NetflixTM.
  • One such example could consist of a “connectivity state machine” program on a residential gateway that tracks the link, provisioned service capacity, individual class of service capacities, and the utilization thereof to provide the use and capacity information feedback to the system, applications and users. It is assumed that user control is coupled to the connectivity state machines via the state machines tracking the shared IP pools of bandwidth in separate classes of service, and or links supporting those classes of service. To this end when a customer has the ability to change link, or class of service capacities, or the class of service used by an application the relevant “shared pool” capacity and utilization framework provides the connection state information back to the system, application and customer.
  • some embodiments might track the utilized throughput in each class of service (or overall) through the broadband connection and/or to each customer device.
  • some embodiments might track the utilized state at a residential gateway and/or various points in the access network and serve as a signaling point (referred to herein as a “customer service point”) for customer applications (or customers themselves) to determine the line state of their connection and/or devices.
  • a signaling point referred to herein as a “customer service point”
  • an embodiment might provide an API (or specialized real time protocol such as Diameter) for applications to access the signaling point.
  • an embodiment might employ a user interface to allow the customer himself or herself to view the line state in real-time or near real-time.
  • the term “line state” connotes any or all of a variety of types of information about the customer's broadband connection; such information can include, without limitation, the allocated capacity (e.g., in bits/second) of the connection generally and/or of any subsets of the connection, such as capacity allocated to a particular application, class of service, protocol, service, or device on the customer's network; the utilized throughput at any given point in time, either for the broadband connection generally, or specifically for any particular application, class of service, protocol, service, or device on the customer's network; the classes of service implemented over the broadband connection, including which services, protocols, applications, or devices are assigned to each class of service; network latency, e.g., between the access network and the customer service point or any device on the customer's network, between the customer service point (or a device on the customer network) and the provider's Internet drain and/or a host the customer is trying to reach; packet loss conditions, and/or the like.
  • the allocated capacity e.g., in bits/second
  • a customer service point might track throughput at either end of the access network, and/or at the residential gateway and one or more customer devices.
  • signaling point might provide alarms to the customer (or the provider) in the event of packet loss conditions or near-congestion conditions. Such alarms can be communicated through the user interface provided by the customer service point and/or can be communicated by other appropriate techniques, such as email, text messages, and/or the like.
  • a customer service point can provide busy indicators, which can serve as a “busy signal” for the customer and/or any applications, to let the application/customer know whether there is sufficient bandwidth available to start another network session.
  • Customer applications might be configured to communicate with the signaling point to obtain network performance and/or utilization information. This functionality can enable near-real-time utilization and/performance reporting, along with visual feedback, on network conditions (including packet loss conditions) with respect to the customer's broadband connection and/or premises network, either overall or for particular classes of service.
  • a customer application might be configured to receive a busy indicator from the customer service point and provide feedback to the customer indicating that the application is unable to begin the requested session due to current network conditions. For example, if two users are watching video on demand over the broadband connection using two different computers, a third user attempting to watch video on demand might be informed by the video player that the broadband connection currently has insufficient available capacity to allow another video on demand stream, instead of merely trying to play the stream with unacceptable performance.
  • FIG. 1 illustrates a system 100 that can provide these, and other, user-based monitoring and control features.
  • the system 100 includes a customer service point 105 .
  • a customer service 105 point can be implemented by a residential gateway 110 .
  • a customer service point 105 can implement a connectivity state machine.
  • a residential gateway 110 can be any device that provides connectivity between a subscriber and a provider's network. Such devices can include, without limitation, network interface devices (“NID”), broadband modems, voiceband modems, cellular modems, wireless modems and access points, routers, other interfaces between the customer's premises network and the access network, and/or the like. Typically, the residential gateway will be located at the customer's premises, but this is not required in all embodiments.
  • the residential gateway 110 provides connectivity between a customer network 115 and an access network 120 operated by an Internet service provider (“ISP”), such as a broadband provider.
  • ISP Internet service provider
  • the access network 120 provides, inter alia, connectivity between the customer's network 110 and the Internet 125 , as is known in the art.
  • the residential gateway 110 will have a first communication interface (e.g., a broadband interface or an uplink interface) that communicates with the access network 120 using whatever broadband technology is employed (e.g., xDSL, DOCSIS, wireless broadband, etc.) and a second (local) communication interface that that provides connectivity with one or more customer devices (e.g., an Ethernet port, 802.11x radio, etc.).
  • the residential gateway 110 might include router functionality, such that the local communication interface might provide for communication with a plurality of devices in the customer network 115 via either wired or wireless connection.
  • the residential gateway 110 might provide a single local interface, and/or local router functionality might be implemented by a separate device.
  • the nature of the customer's network 115 topology are not material to the scope of various embodiments.
  • a customer service point 105 might be located at a device (not shown on FIG. 1 ) in the access network 120 itself and/or it might be configured to communicate with the customer's residential gateway 110 or network interface device, and/or any customer devices 130 on the customer premises network.
  • the customer service point 105 in different embodiments, can be located at any location (or integrated with any device) that provides the customer service point 105 with visibility into the configuration and/or performance of the network, as described herein, and/or allows for configuration of network parameters, as described herein.
  • the customer service point 105 can be in a device separate from the residential gateway 110 and/or access network 120 , so long as it can communicate with appropriate devices in the access network 120 and/or the residential gateway 110 to provide the monitoring and control services described herein.
  • the customer devices 130 can include any devices that are capable of network communications (and, in particular aspects, IP communications). Such devices 130 can include, without limitation a laptop 130 a with wireless networking (e.g., IEEE 802.11x) capabilities, a mobile device 130 b (e.g., a mobile phone, tablet computer, personal digital assistant, etc.) with wireless networking capability, a television set top box 130 c, a networked personal computer 130 d and/or laptop 130 e, and the like. In some aspects, some (or all) of the customer devices 130 are programmed with applications 135 that access the Internet 125 (e.g., through the residential gateway 110 and/or the access network 120 .
  • applications 135 that access the Internet 125 (e.g., through the residential gateway 110 and/or the access network 120 .
  • Such applications can include, without limitation, web browsers 140 , video on demand applications (such as NetflixTM, to name one example), VoIP applications, online games, chat applications (including text chat, voice chat, and/or video chat applications), and any other type of application that requires, or can benefit from, a connection with the Internet.
  • video on demand applications such as NetflixTM, to name one example
  • VoIP applications such as NetflixTM, to name one example
  • chat applications including text chat, voice chat, and/or video chat applications
  • any other type of application that requires, or can benefit from, a connection with the Internet.
  • one or more of these applications might be configured to access the customer service point at the residential gateway 105 (or elsewhere), e.g., using an API, as described in further detail below.
  • a web browser 140 can be considered, in one aspect, to be one of the applications 135 that use the Internet, the web browser 140 can also independently be used to provide a user interface to the customer service point 105 at the residential gateway 110 (or elsewhere), as described in further detail below.
  • the customer service point 105 might be programmed with, e.g., a web server, in order to serve web pages to be displayed in a browser 140 of one or more of the devices 130 for providing the user interaction described further herein.
  • one or more of the devices 130 might be programmed with a dedicated application that interfaces with the customer service point 105 to provide similar interaction.
  • the system 100 might further comprise one or more monitoring points 145 .
  • a monitoring point 145 can be any device that is capable of measuring any metric that can be used as a network performance statistic, or that can be used to calculate or derive a network performance statistic.
  • a monitoring point 145 might measure throughput of network traffic (e.g., IP packets) associated with (e.g., originating from and/or directed to) a particular residential gateway 110 (and/or any subset of that traffic, such as traffic associated with a particular device 130 on the customer network 115 , traffic within a particular class of service, traffic associated with a particular application 135 , and/or the like).
  • network traffic e.g., IP packets
  • Such traffic might be upstream traffic (i.e., traffic originating from the customer network 115 or a device 130 therein), downstream traffic (i.e., traffic addressed to the customer network 115 or a device 130 therein), or both.
  • a monitoring point 145 might measure other values, such as utilized capacity associated with a particular customer, network latency for a particular customer's traffic (e.g., traffic associated with that customer's residential gateway 110 and/or network 115 ) and/or subset of that traffic, and/or the like.
  • a monitoring point 145 might be a dedicated device specifically configured to monitor network traffic. Such monitoring can include, for example, deep packet inspection (“DPI”) and/or various other techniques to identify traffic, associate such traffic with a particular customer (or customer service point 105 ) and/or measure network metrics to compile network performance statistics.
  • DPI deep packet inspection
  • a monitoring point 145 might be implemented as another device in the network, such as traffic conditioning function, virtual interface, and or other probe function located in a NID, a switch, router, and/or the like, with additional functionality as described herein to perform the functions of a monitoring point 145 .
  • the system 100 might include one or more monitoring points 145 at various locations in the network.
  • the locations of the monitoring point(s) 145 can be chosen so as to maximize visibility into network performance, and in some cases, the relative values of a particular metric measured at different measuring points 145 can provide insight into any performance issues.
  • the residential gateway 110 and/or customer service point 105 itself can serve as a monitoring point 145 a.
  • the system 100 also includes a monitoring point 145 d adjacent the Internet drain of the access network 120 (i.e., the point at which the access network 120 interfaces with the Internet 125 ), which might be, for example, an edge router at the ISP's point of presence.
  • the Internet drain itself might be a monitoring point. It should be appreciated, of course, that the illustrated locations are exemplary in nature, and any number of monitoring points 145 can be employed throughout the customer network 115 , the access network 120 or the Internet 125 .
  • the customer service point 105 is configured to obtain network performance metrics from the monitoring points 145 using any of a variety of techniques and/or communication protocols.
  • the customer service point 105 might poll one or more monitoring points 145 for information periodically or upon user request.
  • one or more of the monitoring points 145 might be configured to transmit such information to the customer service point 105 on their own initiative.
  • the customer service point 105 then can process the information as necessary to derive network performance statistics and/or format such information, and then provide the network performance statistics to the user, as described in further detail below.
  • the customer service point 105 can also receive and implement any network control instructions from the user, such as assignment of applications to classes of service, and/or the like.
  • the customer service point 105 will communicate with one or more devices in the access network 120 (which might be, but need not necessarily be monitoring points 145 ), such as the residential gateway 110 , a DSLAM, various routers, and/or the like, to implement the control instructions received from the user.
  • the customer service point 105 can implement the control instructions without communicating with any other devices.
  • FIG. 2 illustrates a method 200 of providing user monitoring and control of a broadband connection, in accordance with a set of embodiments.
  • FIG. 2 illustrates a method 200 of providing user monitoring and control of a broadband connection, in accordance with a set of embodiments.
  • FIG. 2 illustrates a method 200 of providing user monitoring and control of a broadband connection, in accordance with a set of embodiments.
  • system 100 of FIG. 1 can operate according to the method 200 illustrated by FIG. 2 (e.g., by executing instructions embodied on a computer readable medium), the system 100 can also operate according to other modes of operation and/or perform other suitable procedures.
  • the method 200 comprises providing a customer service point.
  • Providing a customer service point can involve one or more of a variety of operations.
  • providing a customer service point might comprise providing the customer with a residential gateway that functions as a customer service point.
  • providing a customer service point can comprise operating a customer service point in the access network, or providing communication between the access network and a residential gateway (or other device) to allow the residential gateway (or other device) to act as a customer service point (or an interface thereto).
  • the method 200 further comprises communicating with the Internet (block 210 ) and communicating with one or more customer devices (block 215 ).
  • a residential gateway (which might incorporate a customer service point) might communicate with both the Internet (e.g., via the ISP access network) and a customer device, to provide connectivity between the customer device and the Internet, thereby serving as the interface between the customer and the customer's broadband connection.
  • the residential gateway might have a first communication interface (e.g., an uplink port) that communicates with the Internet and a second communication interface (e.g., a wireless radio, one or more downlink ports, etc.) that communicate with a customer network, and/or one or more customer devices.
  • the residential gateway can transmit on one interface the information (e.g., IP packets) received on the other interface.
  • the residential gateway acting as the customer service point, can perform any monitoring and/or impose any transmission control, required by the customer service point configuration. (It should be noted, of course, that such monitoring and control can also be performed at other devices, such as a DSLAM and/or a router in the access network.)
  • the method comprises maintaining a class of service state.
  • the customer service point maintains this class of service state.
  • the customer service point can operate as a state machine that tracks and/or controls the line state of the customer's broadband connection.
  • the customer service point might maintain information about various classes of service implemented by the customer for traffic traveling over the broadband connection.
  • the residential gateway can enforce these classes of service when transmitting data over the broadband connection.
  • the class of service state can include any of a variety network configuration parameters and/or network performance statistics.
  • the class of service state might include network usage information, such as which customer devices, classes of service, and/or applications are communicating over the broadband connection, and/or how much of the bandwidth is assigned to (i.e., allocated to), and/or used by, each of these customer devices, classes of service, and/or application.
  • the class of service state might include class of service associations of one or more of the applications and/or customer devices (i.e., to which class of service a particular application/customer devices is assigned).
  • Maintaining the class of service state can comprise a variety of operations.
  • the customer service point can operate, in some embodiments, as a state machine, maintaining the class of service state can comprise establishing a current state that reflects the customer's desired class of service configuration (e.g., which applications are assigned to which classes of service, how bandwidth is allocated among classes of service, etc.).
  • maintaining the class of service state might comprise storing network configuration parameters and routing traffic to/from the broadband connection in accordance with those configuration parameters.
  • the method comprises providing a user interface.
  • the user interface can provide for interaction between a user (e.g., a customer, etc.) and a computer system (e.g., a customer service point).
  • a user e.g., a customer, etc.
  • a computer system e.g., a customer service point
  • the user interface can be used to output information for a user, e.g., by displaying the information on a display device, printing information with a printer, playing audio through a speaker, etc.
  • the user interface can also function to receive input from a user, e.g., using standard input devices such as mice and other pointing devices, motion capture devices, touchpads and/or touchscreens, keyboards (e.g., numeric and/or alphabetic), microphones, etc.
  • providing a user interface can comprise displaying the user interface on a display device controlled by the customer service point; in other cases, however, in which the user interface is displayed on a device remote from the customer service point (such as on a client computer, wireless device, etc.), providing the user interface might comprise formatting data for transmission to such a device and/or transmitting, receiving and/or interpreting data that is used to create the user interface on the remote device.
  • the user interface on a client computer might be a web interface, in which the user interface is provided through one or more web pages that are served from the customer service point (and/or a web server in communication with the computer system), and are received and displayed by a web browser on the client computer (or other capable customer device).
  • the web pages can display output from the customer service point and receive input from the user (e.g., by using Web-based forms, via hyperlinks, electronic buttons, etc.).
  • a variety of techniques can be used to create these Web pages and/or display/receive information, such as JavaScript, Java applications or applets, dynamic HTML and/or AJAX technologies, to name but a few examples.
  • providing a user interface will comprise providing one or more display screens (an example of which is described below), each of which includes one or more user interface elements.
  • user interface element also described as a “visual object,” “user interface mechanism,” or “user interface device” means any text, image, or device that can be displayed on a display screen for providing information to a user and/or for receiving user input.
  • Some such elements are commonly referred to as “widgets,” and can include, without limitation, icons, images, text, text boxes, text fields, tables and/or grids, menus, toolbars, charts, hyperlinks, buttons, lists, combo boxes, checkboxes, radio buttons, and/or the like.
  • any illustrated exemplary display screens might employ specific user interface elements appropriate for the type of information to be conveyed/received by computer system in accordance with the described embodiments, it should be appreciated that the choice of user interface elements for a particular purpose is typically implementation-dependent and/or discretionary. Hence, the illustrated user interface elements employed by any display screens described herein should be considered exemplary in nature, and the reader should appreciate that other user interface elements could be substituted within the scope of various embodiments.
  • the user interface provides interaction between a user and a computer system, such as the customer service point.
  • a computer system such as the customer service point.
  • the user interface may be the vehicle for the exchange of such input/output.
  • the user interface allows the user (e.g., the customer) to provide configuration or review network performance statistics.
  • the method comprises receiving (e.g., at the customer service point) configuration information (e.g., at a customer service point).
  • the configuration information can comprise any type of information or instructions that indicate to the customer service point how the broadband connection should be configured.
  • configuration information might include instructions from the customer to assign a particular application to a particular class of service, to assign a particular device or service to a particular class of service, and/or the like.
  • the configuration information might establish different classes of service themselves, and/or allocate the available bandwidth of the broadband connection across one or more classes of service (e.g., by specifying that a first class of service should be allocated a first portion of the bandwidth, that a second class of service should be allocated a second portion of the bandwidth, that a third class of service should be allocated the remaining bandwidth, etc.).
  • Such configuration information can apply to any number of classes of service and/or can allocate the available bandwidth in any manner desired by the customer (subject, perhaps, to constraints or recommendations provided by the ISP to avoid configurations that result in poor network performance).
  • FIG. 3 illustrates an exemplary screen display 300 that can be provided as part of a user interface to a customer service point.
  • the exemplary screen display includes a configuration panel 305 that includes user interface elements to receive user input that provides configuration information for the customer service point.
  • FIG. 3 allows the user to assign applications to various classes of service. (Other panels might be configured to receive other types of configuration information, including, for example allocation of overall bandwidth among classes of service or devices, assignment of devices to classes of service, and/or any other applicable types of network configuration, including without limitation configuration of the network characteristics and parameters described herein).
  • the configuration panel includes a plurality of visual objects 315 , each of which corresponds to particular type of network traffic (in this case, traffic associated with different applications on one or more of the customer devices, although other categorizations of the traffic are possible as well, such as by protocol, device, service, etc.).
  • one visual object 315 a represents a VoIP application
  • other visual object 315 b represents a streaming video application
  • a third visual object 315 c represents an online game.
  • These three applications are assigned to a high-priority class of service, which is indicated by an individual object 320 .
  • Another set of applications including web browsers represented by visual objects 315 d and 315 e, has been assigned to a medium priority class of service represented by visual object 325 , while an e-mail application represented by visual object 315 f and an online chat application represented by visual object 315 g have been assigned to a low priority class of service represented by visual object 330 .
  • the configuration panel 305 serves as a graphical representation of the class of service state maintained by the customer service point.
  • the configuration panel 305 can serve two purposes.
  • the configuration panel can illustrate the current class of service state (and/or various aspects thereof) for the user.
  • the current class of service state is illustrated by the configuration panel 305 .
  • the configuration panel can provide an interface for the user to modify the class of service date (enter race aspects thereof) e.g., by providing configuration information to the customer service point.
  • the customer can manipulate one of the visual objects 315 corresponding to an application into one of the visual objects (e.g., 320 ) representing a class of service.
  • the user could select and drag the appropriate icon 315 c into the box 325 representing the medium priority class of service.
  • Other types of manipulations are possible as well.
  • the configuration information might comprise a request that the customer service point receives from a customer application (block 235 ), e.g., via an API.
  • API connotes any type of programmatic interface provided by the customer service point to allow interaction with customer applications, for example, by exposing methods that can be called by such applications to interact with the customer service point in the manner described herein. Examples of such interfaces can include XML interfaces, C interfaces, Java interfaces, and/or the like.
  • customer applications such as online video players, VoIP applications, etc.
  • customer applications might be configured to request an allocation of bandwidth, either for a particular session, as a general matter, etc.
  • the video player might be configured to request an allocation of sufficient bandwidth to allow for acceptable playback of the video (this value, obviously, can vary according to the length and/or bitrate of the video, etc.).
  • a variety of application might request either temporary or persistent modifications to a class of service state for a variety of reasons.
  • a VoIP application might request a persistent class of service priority upon installation on a customer device or in the network (if the application runs on a dedicated VoIP phone, for example), while a game might request a temporary upgrade while the game is being played.
  • Such temporary modifications might be reverted by the customer service point after a particular period of time, after a period of inactivity by the requesting application, or by a request from the application (e.g., upon being closed by the user) to revert the class of service state to a previous state.
  • the method comprises modifying the class of service state in response to the configuration information.
  • the modifications the class of service state will depend on the configuration instructions received by the customer service point.
  • the class of service state might be modified to add that application to a particular class of service (in order to provide the dedicated bandwidth requested), establish a new class of service for that application and/or prioritize the application's current class of service in order to provide the requested bandwidth.
  • the class of service state can be modified to effectuate the configuration information; if, for example, the user provided instructions to assign a particular application or device to a particular class of service, the customer service point can transition to a new class of service state that assigns that application or device to that class of service.
  • the residential gateway will employ the rules established by the new class of service state in prioritizing traffic, etc.
  • the customer service point might communicate with other devices (e.g., the residential gateway, a DSLAM, routers within the access network, etc.) to effectuate the modifications made to the class of service state.
  • the method 200 might comprise providing a busy indicator (block 245 ).
  • a busy indicator (block 245 ).
  • a variety of different types of busy indicators can be used, and the type of busy indicator can depend on the nature of the request itself.
  • the busy indicator might be provided to the application via the same API.
  • the nature and format of the busy indicator conveyed by the customer service point is not material to the scope of this disclosure, so long as the busy indicator is sufficient to indicate to the application that its request cannot be accommodated.
  • the application might inform the user that the requested network action (e.g., continuing from the example above, playing a streaming video file) cannot be performed, optionally with an explanation of the network conditions that prevented the operation.
  • Such an explanation (and/or information from which such explanation can be generated) might be provided by the customer service point as part of the busy indicator.
  • the customer service point might provide, as part of the busy indicator, information indicating that two other devices already have streaming video sessions open through the residential gateway, and that a third session is not possible due to bandwidth limitations of the broadband connection.
  • the busy indicator might also provide information about computing applications or devices, such as an identification of the two devices that currently have streaming video sessions open.
  • the busy indicator might be provided through the same user interface.
  • the busy indicator might comprise the same or different information as the information that would be provided via the API to an application, although if the same information is provided, the customer service point but format the information for consumption by the user, rather than by an application.
  • the method comprises determining one or more network performance statistics.
  • a customer service point might receive network performance statistics (or information from which network performance statistics can be derived) from one or more network points (block 255 ), which can be any point in network, including without limitation monitoring points as described above.
  • network points can be any network devices within the customer network, the access network, and/or the Internet itself (and/or device located at any interface between these networks).
  • the monitoring points can monitor a variety of parameters and can send that information to the customer service point, which can then derive network performance statistics (including without limitation those described above, such as network latency, utilization, throughput, capacity, and/or packet loss) based on the measurements from one or more of the monitoring devices.
  • determining network performance statistics can include a variety of operations, including without limitation compiling network performance statistics provided by monitoring devices, calculating network performance statistics from measurements collected by the customer service point itself and/or received from the monitoring devices, and/or the like.
  • the method 200 comprises providing the determined network performance statistics to the customer.
  • These statistics can be provided in a variety of different ways.
  • the network performance statistics may be provided to an application via an API, and the application can use the statistics according to its configuration (e.g., by displaying them to the user, compiling a report, and/or the like).
  • the customer service point might provide the statistics to the customer via a user interface.
  • the exemplary display screen 300 might include a statistics panel 310 , which can be used to provide the network performance statistics to the user.
  • the statistics can be provided in a variety of different forms, including without limitation, as chronological statistics displayed over a period of time (which might be a rolling period), as a static snapshot of statistics at a given point in time, and/or the like.
  • the user-interface elements used to display the statistics can vary according to the embodiment and/or according to the customer's preferences.
  • the exemplary screen display 300 illustrates a plot 335 showing throughput on the broadband connection over a period of time, and a plot 340 showing network latency between the residential gateway and the Internet drain over the same period of time
  • the same or other information could be displayed as a table of numeric statistics, colored icons presenting a qualitative indication of network performance (e.g., a green circle for good performance, and yellow triangle for moderate performance, and a red octagon for poor performance, etc.), and/or using any other display scheme that can effectively convey information about the network performance.
  • the customer service point is configured to generate an alarm (block 265 ).
  • Alarms can be generated for a wide variety of network conditions, and in some embodiments, the customer can configure customer service point to specify which network conditions should generate an alert.
  • an alarm might be generated upon network utilization of the broadband connection exceeding a certain threshold portion of the overall bandwidth.
  • an alarm might be generated if insufficient bandwidth is available (either overall or in a particular class of service) to allow an application to open a desired session.
  • the customer service point might generate an alarm in the event of a packet loss condition, either between the residential gateway in this access network in the access network itself, between the access network and the Internet drain, and/or the like.
  • Alarms can be provided to the customer and/or other entities in a variety of ways.
  • an alarm can be displayed for a customer in the user interface, such as on the exemplary screen display 300 described with respect to FIG. 3 , above.
  • alarms can be provided using a standard framework such as a simple network management protocol (“SNMP”) trap.
  • Alarms can also be provided to the customer (and/or to others such as network administrators at the ISP) using a variety of communication technologies, such as e-mail, text message, and/or the like.
  • alarms can be provided to applications (e.g., via an API, as described above), and the applications can process the alarm, notify users, and/or take any other appropriate action according to the configuration of application.
  • FIG. 4 provides a schematic illustration of one embodiment of a computer system 400 that can perform the methods provided by various other embodiments, as described herein, and/or can function as a customer service point, residential gateway, monitoring device, customer device, and/or the like. It should be noted that FIG. 4 is meant only to provide a generalized illustration of various components, of which one or more (or none) of each may be utilized as appropriate. FIG. 4 , therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.
  • the computer system 400 is shown comprising hardware elements that can be electrically coupled via a bus 405 (or may otherwise be in communication, as appropriate).
  • the hardware elements may include one or more processors 410 , including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 415 , which can include without limitation a mouse, a keyboard and/or the like; and one or more output devices 420 , which can include without limitation a display device, a printer and/or the like.
  • the computer system 400 may further include (and/or be in communication with) one or more storage devices 425 , which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.
  • storage devices 425 can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.
  • RAM random access memory
  • ROM read-only memory
  • Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like.
  • the computer system 400 might also include a communications subsystem 430 , which can include without limitation a modem, a network card (wireless or wired), an infra-red communication device, a wireless communication device and/or chipset (such as a BluetoothTM device, an 802.11 device, a WiFi device, a WiMax device, a WWAN device, cellular communication facilities, etc.), and/or the like.
  • the communications subsystem 430 may permit data to be exchanged with a network (such as the network described below, to name one example), with other computer systems, and/or with any other devices described herein.
  • the computer system 400 will further comprise a working memory 435 , which can include a RAM or ROM device, as described above.
  • the computer system 400 also may comprise software elements, shown as being currently located within the working memory 435 , including an operating system 440 , device drivers, executable libraries, and/or other code, such as one or more application programs 445 , which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein.
  • an operating system 440 operating system 440
  • device drivers executable libraries
  • application programs 445 which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein.
  • code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.
  • a set of these instructions and/or code might be encoded and/or stored on a non-transitory computer readable storage medium, such as the storage device(s) 425 described above.
  • the storage medium might be incorporated within a computer system, such as the system 400 .
  • the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), and/or provided in an installation package, such that the storage medium can be used to program, configure and/or adapt a general purpose computer with the instructions/code stored thereon.
  • These instructions might take the form of executable code, which is executable by the computer system 400 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 400 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.) then takes the form of executable code.
  • some embodiments may employ a computer system (such as the computer system 400 ) to perform methods in accordance with various embodiments of the invention.
  • some or all of the procedures of such methods are performed by the computer system 400 in response to processor 410 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 440 and/or other code, such as an application program 445 ) contained in the working memory 435 .
  • Such instructions may be read into the working memory 435 from another computer readable medium, such as one or more of the storage device(s) 425 .
  • execution of the sequences of instructions contained in the working memory 435 might cause the processor(s) 410 to perform one or more procedures of the methods described herein.
  • machine readable medium and “computer readable medium,” as used herein, refer to any medium that participates in providing data that causes a machine to operation in a specific fashion.
  • various computer readable media might be involved in providing instructions/code to processor(s) 410 for execution and/or might be used to store and/or carry such instructions/code (e.g., as signals).
  • a computer readable medium is a non-transitory, physical and/or tangible storage medium.
  • Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • Non-volatile media includes, for example, optical and/or magnetic disks, such as the storage device(s) 425 .
  • Volatile media includes, without limitation, dynamic memory, such as the working memory 435 .
  • Transmission media includes, without limitation, coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 405 , as well as the various components of the communication subsystem 430 (and/or the media by which the communications subsystem 430 provides communication with other devices).
  • transmission media can also take the form of waves (including without limitation radio, acoustic and/or light waves, such as those generated during radio-wave and infra-red data communications).
  • Common forms of physical and/or tangible computer readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and/or code.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 410 for execution.
  • the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer.
  • a remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 400 .
  • These signals which might be in the form of electromagnetic signals, acoustic signals, optical signals and/or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the invention.
  • the communications subsystem 430 (and/or components thereof) generally will receive the signals, and the bus 405 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 435 , from which the processor(s) 405 retrieves and executes the instructions.
  • the instructions received by the working memory 435 may optionally be stored on a storage device 425 either before or after execution by the processor(s) 410 .

Abstract

Novel tools and techniques to give a customer greater visibility into network performance and/or utilization, particularly with respect to the customer's broadband connection to a provider's access network (and/or the Internet more generally). Some tools can track the amount of bandwidth assigned to each class of service on a customer's broadband connection, and/or the bandwidth provided to each of the devices on the customer's premises network. These values can be used as inputs to a state machine that governs the use of the broadband connection.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • The present disclosure may be related to the following commonly assigned applications/patents:
  • This application claims the benefit, under 35 U.S.C. §119(e), from the following co-pending applications, the entire disclosure of each of which is hereby incorporated by reference, as if set forth in full in this document, for all purposes: provisional U.S. Patent Application No. 61/416,600, filed Nov. 23, 2010, by Michael K. Bugenhagen and titled “Line Performance Metrics Customer Service Point”; provisional U.S. Patent Application No. 61/429,866 filed Jan. 5, 2011, by Michael K. Bugenhagen and titled “Line Performance Metrics Customer Service Point”; provisional U.S. Patent Application No. 61/435,056 filed Jan. 21, 2011, by Michael K. Bugenhagen and titled “Access Control”; and provisional U.S. Patent Application No. 61/481,282 filed May 2, 2011, by Michael K. Bugenhagen and titled “Communications Path State Machine.”
  • The respective disclosures of these applications/patents are incorporated herein by reference in their entirety for all purposes.
  • COPYRIGHT STATEMENT
  • 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.
  • FIELD
  • The present disclosure relates, in general, to computer networks, and more particularly, to tools and techniques for providing customers of an Internet service provider with enhanced monitoring and control over their Internet connections.
  • BACKGROUND
  • Broadband Internet access has become nearly ubiquitous in most industrialized countries. Broadband providers employ a variety of technologies, including without limitation digital subscriber line (“xDSL”) technologies, cable more (e.g., “DOCSIS”) technologies, wireless broadband technologies, and the like. In most cases, broadband access is offered using a tiered structure, in which the subscriber (referred to herein as a “customer”) receives a certain allocated bandwidth in return for a given fee (such as a monthly flat fee).
  • As customer applications have grown in both scope and sophistication, the requirements imposed on broadband access have grown. For example, many voice over Internet protocol (“VoIP”) telephony applications requires threshold levels of throughput and/or latency to provide acceptable performance. Similarly, video on demand applications and/or network games impose requirements on throughput and/or latency. Notably, different applications often will impose different requirements for throughput and latency, respectively. For instance, a video on demand might not require particularly low network latency but might require relatively high throughput. Conversely, a network game might not require particularly high throughput but might require relatively low latency. VoIP telephony might require relatively constant (although not particularly high) throughput and relatively low latency.
  • To address these different needs, providers, in many cases, have implemented quality of service (“QoS”) features into the broadband access they provide. One type of QoS feature commonly implemented is the distinction between multiple classes of service to provide traffic prioritization between different types of network traffic received by the access network from a customer premises. Currently, however, providers lack adequate facilities to provide customer feedback regarding network performance and utilization, even though the customer might know the capacity it has agreed to purchase from the provider. For example, if a customer purchases generic Internet access for a multiple-computer home network, neither the customer nor any individual computer attached to the home network has any ide of the amount of composite network traffic between the customer's Internet Service and the access network. Moreover, when multiple classes of service are provided to the customer premises, the customer is provided with little (or no) feedback on how those classes of service affect the capacity of the customer's broadband connection.
  • Further, most or all of the traffic on customer's broadband connection is typically Internet protocol (“IP”) traffic, and all such traffic shares the customer's purchased bandwidth. Given that IP protocols are generally designed to share the available bandwidth and ‘adjust” to each other, when a congestion event occurs all the traffic using that same class of service, or a lower class, experiences congestion. In other words, there is no concept of “busy” or in use status when it comes to IP protocols today. The fact that no single customer device sees all the composite traffic flow makes this a very difficult problem for the customer or provider to address.
  • Thus, there is a need for improved visibility into a customer's utilization of a provider's access network (and the customer's broadband connection thereto).
  • BRIEF SUMMARY
  • Certain embodiments, therefore, provide tools and techniques to give a customer greater visibility into network performance and/or utilization, particularly with respect to the customer's broadband connection to a provider's access network (and/or the Internet more generally). Merely by way of example, some embodiments can track the amount of bandwidth (capacity) assigned to each class of service on a customer's broadband connection, and/or the bandwidth available to each of the devices on the customer's premises network. These values can be used as inputs to a state machine that governs the use of the broadband connection.
  • Other embodiments might track the utilized throughput in each class of service (or overall) through the broadband connection and/or to each customer device. Similarly, some embodiments might track the utilized state at a residential gateway and/or various points in the access network and serve as a signaling point for customer applications (or customers themselves) to determine the line state of their connection and/or devices. In some cases, for example, an embodiment might provide an API for applications to access the signaling point. In other cases, an embodiment might employ a user interface to allow the customer himself or herself to view the line state.
  • Merely by way of example, a signaling point might track throughput at either end of the access network, and/or at the residential gateway and one or more customer devices. The signaling point might provide alarms for packet loss conditions and/or busy indicators, which can serve as a “busy signal” for the customer and/or any applications, to let the application/customer know whether there is sufficient bandwidth available to start another network session or if the customer's WiFi connection has degraded (or been consumed) to a point where it will experience congestion. Customer applications might be configured to communicate with the signaling point to obtain network performance and/or utilization information. This functionality can enable near-real-time utilization and/performance reporting, along with visual feedback, on network conditions (including packet loss conditions) with respect to the customer's broadband connection and/or premises network, either overall or for particular classes of service.
  • In some cases, a signaling point might be implemented at a residential gateway and/or a network interface device. Such devices can include, without limitation, broadband modems, interfaces between the customer's premises network and the access network, and/or the like. In other cases, a signaling point might be located in the access network itself, and/or it might be configured to communicate with a customer's residential gateway, network interface device, and/or any customer devices on the customer premises network.
  • The tools provided by various embodiments include, without limitation, methods, systems, and/or software products. Merely by way of example, a method might comprise one or more procedures, any or all of which are executed by a computer system. Correspondingly, an embodiment might provide a computer system configured with instructions to perform one or more procedures in accordance with methods provided by various other embodiments. Similarly, a computer program might comprise a set of instructions that are executable by a computer system (and/or a processor therein) to perform such operations. In many cases, such software programs are encoded on physical, tangible and/or non-transitory computer readable media (such as, to name but a few examples, optical media, magnetic media, and/or the like).
  • For example, one set of embodiments provide customer service points that can provide customers with monitoring and control over network settings. An exemplary customer service point might comprise a first communication interface, a second communication interface, and/or one or more processors in communication with the first and second communication interfaces. The customer service point might further comprise a computer readable medium in communication with the one or more processors. The computer readable medium, in an aspect, might have encoded thereon a set of instructions executable by the computer system to perform one or more operations.
  • In an exemplary embodiment, the set of instructions might comprise instructions for communicating with the Internet via the first communication interface, and/or instructions for communicating with the customer device via the second communication interface. The set of instructions can also include instructions for maintaining a class of service state for a connection between the customer device and the Internet, instructions for receiving, from the customer, configuration information for configuring the class of service state, and/or instructions for modifying the class of service state in response to receiving the configuration information. In some cases, the set of instructions further comprises instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point, and/or instructions for providing, to the customer, the one or more network performance statistics.
  • A method, in accordance with another set of embodiments, might comprise maintaining, at a customer service point, a class of service state for a connection between a customer device and the Internet. In some cases, the customer service point might comprise a processor, a first communication interface, and a second communication interface; the customer device might be in communication with the first communication interface and the Internet might be in communication with the second communication interface. The method might further comprise receiving, from the customer, configuration information for configuring the class of service state, and/or modifying the class of service state in response to receiving the configuration information.
  • An apparatus, in accordance with yet another set of embodiments, might comprise a computer readable medium having encoded thereon a set of instructions for causing a customer service point to perform one or more operations. In an aspect, the customer service point might comprise a processor, a first communication interface, and/or a second communication interface. The customer service point might maintain a class of service state between a connection between a customer device in communication with the first communication interface and the Internet in communication with the second communication interface. The set of instructions might be executable by the processor, and/or might comprise instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point. The set of instructions might further comprise instructions for providing, to the customer, the one or more network performance statistics.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • A further understanding of the nature and advantages of particular embodiments may be realized by reference to the remaining portions of the specification and the drawings, in which like reference numerals are used to refer to similar components. In some instances, a sub-label is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components.
  • FIG. 1 is a block diagram illustrating a system for providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 2 is a process flow diagram illustrating a method of providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 3 is an exemplary screen display illustrating a user interface for providing user-based monitoring and control of a broadband connection, in accordance with various embodiments.
  • FIG. 4 is a generalized schematic diagram illustrating a computer system, in accordance with various embodiments.
  • DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
  • While various aspects and features of certain embodiments have been summarized above, the following detailed description illustrates a few exemplary embodiments in further detail to enable one of skill in the art to practice such embodiments. The described examples are provided for illustrative purposes and are not intended to limit the scope of the invention.
  • In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the described embodiments. It will be apparent to one skilled in the art, however, that other embodiments of the present may be practiced without some of these specific details. In other instances, certain structures and devices are shown in block diagram form. Several embodiments are described herein, and while various features are ascribed to different embodiments, it should be appreciated that the features described with respect to one embodiment may be incorporated with other embodiments as well. By the same token, however, no single feature or features of any described embodiment should be considered essential to every embodiment of the invention, as other embodiments of the invention may omit such features.
  • Unless otherwise indicated, all numbers used herein to express quantities, dimensions, and so forth used should be understood as being modified in all instances by the term “about.” In this application, the use of the singular includes the plural unless specifically stated otherwise, and use of the terms “and” and “or” means “and/or” unless otherwise indicated. Moreover, the use of the term “including,” as well as other forms, such as “includes” and “included,” should be considered non-exclusive. Also, terms such as “element” or “component” encompass both elements and components comprising one unit and elements and components that comprise more than one unit, unless specifically stated otherwise.
  • One set of embodiments provides tools and techniques to give a customer greater visibility into network performance and/or utilization, particularly with respect to the customer's broadband connection to a provider's access network (and/or the Internet more generally). Certain of these tools and techniques can allow a user to view statistics (in real-time or near-real-time) about the utilization and/or performance of the customer's broadband connection (which can include, without limitation, the connection between the customer's premises and the providers access network, the access network itself, and/or the connection between the access network and the Internet. In this way, a customer not only can control various aspects of the connection, but can also see where any throughput bottlenecks might be occurring (if, for example, the customer is experiencing subpar download speeds from the Internet).
  • It should be understood that utilization changes over a time period, therefore some form mathematical utilization state representation is used to characterize the usage, and or usage change of the resource pool. Typically this is accomplished through the use of averaging and sliding window observation method, also assumed are the statistical and mathematical characterizations such as average, maximum, minimum, and change indicators such as the first and second derivate of the measures from period to period. The frequency in which utilization is reported is mathematically a function of how long the utilization is observed, and it should also be understood that multiple windows of observation may occur in parallel to provide short duration, and longer duration utilization information in a parallel manner.
  • In addition to tracking network performance, some embodiments allow a customer active control over various aspects of the customer's broadband connection. Merely by way of example, some embodiments can track the amount of bandwidth (capacity) assigned to each class of service on a customer's broadband connection, and/or the bandwidth provided to each of the devices on the customer's premises network. These values can be used as inputs to a state machine that governs the use of the broadband connection. Additionally and/or alternatively, such embodiments can allow the customer to adjust these configuration parameters, for example, to change traffic prioritization schemes on an application-by-application basis, a protocol-by-protocol basis, a device-by-device basis, and/or the like. In this manner a customer could provide voice applications such as Vonage™ higher priorities and separate capacity resource pools as a lower priority application such as Netflix™.
  • One such example could consist of a “connectivity state machine” program on a residential gateway that tracks the link, provisioned service capacity, individual class of service capacities, and the utilization thereof to provide the use and capacity information feedback to the system, applications and users. It is assumed that user control is coupled to the connectivity state machines via the state machines tracking the shared IP pools of bandwidth in separate classes of service, and or links supporting those classes of service. To this end when a customer has the ability to change link, or class of service capacities, or the class of service used by an application the relevant “shared pool” capacity and utilization framework provides the connection state information back to the system, application and customer.
  • Similarly, some embodiments might track the utilized throughput in each class of service (or overall) through the broadband connection and/or to each customer device. Alternatively and/or additionally, some embodiments might track the utilized state at a residential gateway and/or various points in the access network and serve as a signaling point (referred to herein as a “customer service point”) for customer applications (or customers themselves) to determine the line state of their connection and/or devices. In some cases, for example, an embodiment might provide an API (or specialized real time protocol such as Diameter) for applications to access the signaling point. In other cases, an embodiment might employ a user interface to allow the customer himself or herself to view the line state in real-time or near real-time. As used herein, the term “line state” connotes any or all of a variety of types of information about the customer's broadband connection; such information can include, without limitation, the allocated capacity (e.g., in bits/second) of the connection generally and/or of any subsets of the connection, such as capacity allocated to a particular application, class of service, protocol, service, or device on the customer's network; the utilized throughput at any given point in time, either for the broadband connection generally, or specifically for any particular application, class of service, protocol, service, or device on the customer's network; the classes of service implemented over the broadband connection, including which services, protocols, applications, or devices are assigned to each class of service; network latency, e.g., between the access network and the customer service point or any device on the customer's network, between the customer service point (or a device on the customer network) and the provider's Internet drain and/or a host the customer is trying to reach; packet loss conditions, and/or the like.
  • Merely by way of example, a customer service point might track throughput at either end of the access network, and/or at the residential gateway and one or more customer devices. In some cases, signaling point might provide alarms to the customer (or the provider) in the event of packet loss conditions or near-congestion conditions. Such alarms can be communicated through the user interface provided by the customer service point and/or can be communicated by other appropriate techniques, such as email, text messages, and/or the like. In another set of embodiments, a customer service point can provide busy indicators, which can serve as a “busy signal” for the customer and/or any applications, to let the application/customer know whether there is sufficient bandwidth available to start another network session.
  • Customer applications might be configured to communicate with the signaling point to obtain network performance and/or utilization information. This functionality can enable near-real-time utilization and/performance reporting, along with visual feedback, on network conditions (including packet loss conditions) with respect to the customer's broadband connection and/or premises network, either overall or for particular classes of service. As another example, a customer application might be configured to receive a busy indicator from the customer service point and provide feedback to the customer indicating that the application is unable to begin the requested session due to current network conditions. For example, if two users are watching video on demand over the broadband connection using two different computers, a third user attempting to watch video on demand might be informed by the video player that the broadband connection currently has insufficient available capacity to allow another video on demand stream, instead of merely trying to play the stream with unacceptable performance.
  • FIG. 1 illustrates a system 100 that can provide these, and other, user-based monitoring and control features. The system 100 includes a customer service point 105. In some cases, as illustrated by FIG. 1, a customer service 105 point can be implemented by a residential gateway 110. In particular embodiments, as noted above, a customer service point 105 can implement a connectivity state machine.
  • A residential gateway 110 can be any device that provides connectivity between a subscriber and a provider's network. Such devices can include, without limitation, network interface devices (“NID”), broadband modems, voiceband modems, cellular modems, wireless modems and access points, routers, other interfaces between the customer's premises network and the access network, and/or the like. Typically, the residential gateway will be located at the customer's premises, but this is not required in all embodiments. The residential gateway 110 provides connectivity between a customer network 115 and an access network 120 operated by an Internet service provider (“ISP”), such as a broadband provider. The access network 120 provides, inter alia, connectivity between the customer's network 110 and the Internet 125, as is known in the art. In a typical implementation, the residential gateway 110 will have a first communication interface (e.g., a broadband interface or an uplink interface) that communicates with the access network 120 using whatever broadband technology is employed (e.g., xDSL, DOCSIS, wireless broadband, etc.) and a second (local) communication interface that that provides connectivity with one or more customer devices (e.g., an Ethernet port, 802.11x radio, etc.). In some embodiments, the residential gateway 110 might include router functionality, such that the local communication interface might provide for communication with a plurality of devices in the customer network 115 via either wired or wireless connection. In other embodiments, the residential gateway 110 might provide a single local interface, and/or local router functionality might be implemented by a separate device. The nature of the customer's network 115 topology are not material to the scope of various embodiments.
  • In other cases, a customer service point 105 might be located at a device (not shown on FIG. 1) in the access network 120 itself and/or it might be configured to communicate with the customer's residential gateway 110 or network interface device, and/or any customer devices 130 on the customer premises network. The customer service point 105, in different embodiments, can be located at any location (or integrated with any device) that provides the customer service point 105 with visibility into the configuration and/or performance of the network, as described herein, and/or allows for configuration of network parameters, as described herein. Thus, in some cases, the customer service point 105 can be in a device separate from the residential gateway 110 and/or access network 120, so long as it can communicate with appropriate devices in the access network 120 and/or the residential gateway 110 to provide the monitoring and control services described herein.
  • The customer devices 130 can include any devices that are capable of network communications (and, in particular aspects, IP communications). Such devices 130 can include, without limitation a laptop 130 a with wireless networking (e.g., IEEE 802.11x) capabilities, a mobile device 130 b (e.g., a mobile phone, tablet computer, personal digital assistant, etc.) with wireless networking capability, a television set top box 130 c, a networked personal computer 130 d and/or laptop 130 e, and the like. In some aspects, some (or all) of the customer devices 130 are programmed with applications 135 that access the Internet 125 (e.g., through the residential gateway 110 and/or the access network 120. Such applications can include, without limitation, web browsers 140, video on demand applications (such as Netflix™, to name one example), VoIP applications, online games, chat applications (including text chat, voice chat, and/or video chat applications), and any other type of application that requires, or can benefit from, a connection with the Internet. In some cases, as mentioned above, one or more of these applications might be configured to access the customer service point at the residential gateway 105 (or elsewhere), e.g., using an API, as described in further detail below.
  • While a web browser 140 can be considered, in one aspect, to be one of the applications 135 that use the Internet, the web browser 140 can also independently be used to provide a user interface to the customer service point 105 at the residential gateway 110 (or elsewhere), as described in further detail below. Thus, the customer service point 105 might be programmed with, e.g., a web server, in order to serve web pages to be displayed in a browser 140 of one or more of the devices 130 for providing the user interaction described further herein. (Of course, in some embodiments, one or more of the devices 130 might be programmed with a dedicated application that interfaces with the customer service point 105 to provide similar interaction.)
  • The system 100 might further comprise one or more monitoring points 145. A monitoring point 145 can be any device that is capable of measuring any metric that can be used as a network performance statistic, or that can be used to calculate or derive a network performance statistic. Merely by way of example, in some cases, a monitoring point 145 might measure throughput of network traffic (e.g., IP packets) associated with (e.g., originating from and/or directed to) a particular residential gateway 110 (and/or any subset of that traffic, such as traffic associated with a particular device 130 on the customer network 115, traffic within a particular class of service, traffic associated with a particular application 135, and/or the like). Such traffic might be upstream traffic (i.e., traffic originating from the customer network 115 or a device 130 therein), downstream traffic (i.e., traffic addressed to the customer network 115 or a device 130 therein), or both. In other cases, a monitoring point 145 might measure other values, such as utilized capacity associated with a particular customer, network latency for a particular customer's traffic (e.g., traffic associated with that customer's residential gateway 110 and/or network 115) and/or subset of that traffic, and/or the like.
  • In some cases, a monitoring point 145 might be a dedicated device specifically configured to monitor network traffic. Such monitoring can include, for example, deep packet inspection (“DPI”) and/or various other techniques to identify traffic, associate such traffic with a particular customer (or customer service point 105) and/or measure network metrics to compile network performance statistics. Alternatively and/or additionally, a monitoring point 145 might be implemented as another device in the network, such as traffic conditioning function, virtual interface, and or other probe function located in a NID, a switch, router, and/or the like, with additional functionality as described herein to perform the functions of a monitoring point 145.
  • In accordance with various embodiments, the system 100 might include one or more monitoring points 145 at various locations in the network. The locations of the monitoring point(s) 145 can be chosen so as to maximize visibility into network performance, and in some cases, the relative values of a particular metric measured at different measuring points 145 can provide insight into any performance issues. For example, in some cases, the residential gateway 110 and/or customer service point 105 itself can serve as a monitoring point 145 a. The system 100 illustrated by FIG. 1 also includes a monitoring point 145 b at the customer end of the access network 120 (which might, for instance, be an edge router in communication with a DSLAM (not illustrated) that provides connectivity for the residential gateway 110) and a monitoring point 145 c within the access network 120 itself, for example at a core router within the access network 120. In the illustrated embodiment, the system 100 also includes a monitoring point 145 d adjacent the Internet drain of the access network 120 (i.e., the point at which the access network 120 interfaces with the Internet 125), which might be, for example, an edge router at the ISP's point of presence. The Internet drain itself might be a monitoring point. It should be appreciated, of course, that the illustrated locations are exemplary in nature, and any number of monitoring points 145 can be employed throughout the customer network 115, the access network 120 or the Internet 125.
  • The functionality of the system 100 is described in further detail below, but as a general matter, the customer service point 105 is configured to obtain network performance metrics from the monitoring points 145 using any of a variety of techniques and/or communication protocols. Merely by way of example, in some cases, the customer service point 105 might poll one or more monitoring points 145 for information periodically or upon user request. In other cases, one or more of the monitoring points 145 might be configured to transmit such information to the customer service point 105 on their own initiative.
  • The customer service point 105 then can process the information as necessary to derive network performance statistics and/or format such information, and then provide the network performance statistics to the user, as described in further detail below. The customer service point 105 can also receive and implement any network control instructions from the user, such as assignment of applications to classes of service, and/or the like. In some cases, the customer service point 105 will communicate with one or more devices in the access network 120 (which might be, but need not necessarily be monitoring points 145), such as the residential gateway 110, a DSLAM, various routers, and/or the like, to implement the control instructions received from the user. In other cases, such as when the customer service point 105 is incorporated by the residential gateway 110, the customer service point 105 can implement the control instructions without communicating with any other devices.
  • FIG. 2 illustrates a method 200 of providing user monitoring and control of a broadband connection, in accordance with a set of embodiments. It should be noted that, while the techniques and procedures of the method 200 are depicted and/or described in a certain order for purposes of illustration, it should be appreciated that certain procedures may be reordered and/or omitted within the scope of various embodiments, and/or that operations can be added or substituted into the method 200 within the scope of various embodiments. Moreover, while (as noted above), the operations illustrated by FIG. 2 can be implemented by (and, in some cases, are described below with respect to) the system 100 of FIG. 1 (or components thereof, such as the customer service point 105), these operations can also be implemented using any suitable hardware implementation. Similarly, while the system 100 of FIG. 1 (and/or components thereof) can operate according to the method 200 illustrated by FIG. 2 (e.g., by executing instructions embodied on a computer readable medium), the system 100 can also operate according to other modes of operation and/or perform other suitable procedures.
  • At block 205, the method 200 comprises providing a customer service point. Providing a customer service point can involve one or more of a variety of operations. Merely by way of example, in some cases, providing a customer service point might comprise providing the customer with a residential gateway that functions as a customer service point. In other cases, providing a customer service point can comprise operating a customer service point in the access network, or providing communication between the access network and a residential gateway (or other device) to allow the residential gateway (or other device) to act as a customer service point (or an interface thereto).
  • The method 200 further comprises communicating with the Internet (block 210) and communicating with one or more customer devices (block 215). Merely by way of example, in a particular set of embodiments, a residential gateway (which might incorporate a customer service point) might communicate with both the Internet (e.g., via the ISP access network) and a customer device, to provide connectivity between the customer device and the Internet, thereby serving as the interface between the customer and the customer's broadband connection. In an aspect, the residential gateway might have a first communication interface (e.g., an uplink port) that communicates with the Internet and a second communication interface (e.g., a wireless radio, one or more downlink ports, etc.) that communicate with a customer network, and/or one or more customer devices. The residential gateway, then, can transmit on one interface the information (e.g., IP packets) received on the other interface. In one aspect, as the information passes through the residential gateway, the residential gateway, acting as the customer service point, can perform any monitoring and/or impose any transmission control, required by the customer service point configuration. (It should be noted, of course, that such monitoring and control can also be performed at other devices, such as a DSLAM and/or a router in the access network.)
  • At block 220, the method comprises maintaining a class of service state. In a particular embodiment, the customer service point maintains this class of service state. Merely by way of example, as noted above, the customer service point can operate as a state machine that tracks and/or controls the line state of the customer's broadband connection. For instance, the customer service point might maintain information about various classes of service implemented by the customer for traffic traveling over the broadband connection. The residential gateway, in turn, can enforce these classes of service when transmitting data over the broadband connection.
  • The class of service state can include any of a variety network configuration parameters and/or network performance statistics. Merely by way of example, in some cases, the class of service state might include network usage information, such as which customer devices, classes of service, and/or applications are communicating over the broadband connection, and/or how much of the bandwidth is assigned to (i.e., allocated to), and/or used by, each of these customer devices, classes of service, and/or application. Alternatively and/or additionally, the class of service state might include class of service associations of one or more of the applications and/or customer devices (i.e., to which class of service a particular application/customer devices is assigned).
  • Maintaining the class of service state can comprise a variety of operations. Merely by way of example, as noted above, the customer service point can operate, in some embodiments, as a state machine, maintaining the class of service state can comprise establishing a current state that reflects the customer's desired class of service configuration (e.g., which applications are assigned to which classes of service, how bandwidth is allocated among classes of service, etc.). In other embodiments, maintaining the class of service state might comprise storing network configuration parameters and routing traffic to/from the broadband connection in accordance with those configuration parameters.
  • At block 225, the method comprises providing a user interface. The user interface can provide for interaction between a user (e.g., a customer, etc.) and a computer system (e.g., a customer service point). For example, the user interface can be used to output information for a user, e.g., by displaying the information on a display device, printing information with a printer, playing audio through a speaker, etc.; the user interface can also function to receive input from a user, e.g., using standard input devices such as mice and other pointing devices, motion capture devices, touchpads and/or touchscreens, keyboards (e.g., numeric and/or alphabetic), microphones, etc.
  • The procedures undertaken to provide a user interface, therefore, can vary depending on the nature of the implementation; in some cases, providing a user interface can comprise displaying the user interface on a display device controlled by the customer service point; in other cases, however, in which the user interface is displayed on a device remote from the customer service point (such as on a client computer, wireless device, etc.), providing the user interface might comprise formatting data for transmission to such a device and/or transmitting, receiving and/or interpreting data that is used to create the user interface on the remote device. Alternatively and/or additionally, the user interface on a client computer (or any other appropriate customer device) might be a web interface, in which the user interface is provided through one or more web pages that are served from the customer service point (and/or a web server in communication with the computer system), and are received and displayed by a web browser on the client computer (or other capable customer device). The web pages can display output from the customer service point and receive input from the user (e.g., by using Web-based forms, via hyperlinks, electronic buttons, etc.). A variety of techniques can be used to create these Web pages and/or display/receive information, such as JavaScript, Java applications or applets, dynamic HTML and/or AJAX technologies, to name but a few examples.
  • In many cases, providing a user interface will comprise providing one or more display screens (an example of which is described below), each of which includes one or more user interface elements. As used herein, the term “user interface element” (also described as a “visual object,” “user interface mechanism,” or “user interface device”) means any text, image, or device that can be displayed on a display screen for providing information to a user and/or for receiving user input. Some such elements are commonly referred to as “widgets,” and can include, without limitation, icons, images, text, text boxes, text fields, tables and/or grids, menus, toolbars, charts, hyperlinks, buttons, lists, combo boxes, checkboxes, radio buttons, and/or the like. While any illustrated exemplary display screens might employ specific user interface elements appropriate for the type of information to be conveyed/received by computer system in accordance with the described embodiments, it should be appreciated that the choice of user interface elements for a particular purpose is typically implementation-dependent and/or discretionary. Hence, the illustrated user interface elements employed by any display screens described herein should be considered exemplary in nature, and the reader should appreciate that other user interface elements could be substituted within the scope of various embodiments.
  • As noted above, in an aspect of certain embodiments, the user interface provides interaction between a user and a computer system, such as the customer service point. Hence, when this document describes procedures for displaying (or otherwise providing) information to a user, or to receiving input from a user, the user interface may be the vehicle for the exchange of such input/output. Merely by way of example, in a set of embodiments, the user interface allows the user (e.g., the customer) to provide configuration or review network performance statistics.
  • Thus, for instance, at block 230, the method comprises receiving (e.g., at the customer service point) configuration information (e.g., at a customer service point). The configuration information can comprise any type of information or instructions that indicate to the customer service point how the broadband connection should be configured. Merely by way of example, in some cases, configuration information might include instructions from the customer to assign a particular application to a particular class of service, to assign a particular device or service to a particular class of service, and/or the like. In other cases, the configuration information might establish different classes of service themselves, and/or allocate the available bandwidth of the broadband connection across one or more classes of service (e.g., by specifying that a first class of service should be allocated a first portion of the bandwidth, that a second class of service should be allocated a second portion of the bandwidth, that a third class of service should be allocated the remaining bandwidth, etc.). Such configuration information can apply to any number of classes of service and/or can allocate the available bandwidth in any manner desired by the customer (subject, perhaps, to constraints or recommendations provided by the ISP to avoid configurations that result in poor network performance).
  • In an aspect, the configuration information might be received via a user interface, and in particular, via a GUI. FIG. 3 illustrates an exemplary screen display 300 that can be provided as part of a user interface to a customer service point. The exemplary screen display includes a configuration panel 305 that includes user interface elements to receive user input that provides configuration information for the customer service point. Although variety of different types of user interface screens are possible within the scope of various embodiments, the embodiment illustrated by FIG. 3 allows the user to assign applications to various classes of service. (Other panels might be configured to receive other types of configuration information, including, for example allocation of overall bandwidth among classes of service or devices, assignment of devices to classes of service, and/or any other applicable types of network configuration, including without limitation configuration of the network characteristics and parameters described herein).
  • As illustrated, the configuration panel includes a plurality of visual objects 315, each of which corresponds to particular type of network traffic (in this case, traffic associated with different applications on one or more of the customer devices, although other categorizations of the traffic are possible as well, such as by protocol, device, service, etc.). Merely by way of example, one visual object 315 a represents a VoIP application, and other visual object 315 b represents a streaming video application, and a third visual object 315 c represents an online game. These three applications are assigned to a high-priority class of service, which is indicated by an individual object 320. Another set of applications, including web browsers represented by visual objects 315 d and 315 e, has been assigned to a medium priority class of service represented by visual object 325, while an e-mail application represented by visual object 315 f and an online chat application represented by visual object 315 g have been assigned to a low priority class of service represented by visual object 330. Thus, the configuration panel 305 serves as a graphical representation of the class of service state maintained by the customer service point.
  • It is worth noting that the configuration panel 305 can serve two purposes. First, the configuration panel can illustrate the current class of service state (and/or various aspects thereof) for the user. Thus, as depicted by FIG. 3, the current class of service state is illustrated by the configuration panel 305. Additionally and/or alternatively, the configuration panel can provide an interface for the user to modify the class of service date (enter race aspects thereof) e.g., by providing configuration information to the customer service point. For example, in the illustrated embodiment, the customer can manipulate one of the visual objects 315 corresponding to an application into one of the visual objects (e.g., 320) representing a class of service. Merely by way of example, if the user wanted to move the World of Warcraft™ application traffic to the medium priority class of service, the user could select and drag the appropriate icon 315 c into the box 325 representing the medium priority class of service. Other types of manipulations are possible as well.
  • Referring again to FIG. 2, in some cases, the configuration information might comprise a request that the customer service point receives from a customer application (block 235), e.g., via an API. As used herein, the term “API” connotes any type of programmatic interface provided by the customer service point to allow interaction with customer applications, for example, by exposing methods that can be called by such applications to interact with the customer service point in the manner described herein. Examples of such interfaces can include XML interfaces, C interfaces, Java interfaces, and/or the like.
  • As noted above, customer applications (such as online video players, VoIP applications, etc.) might be configured to request an allocation of bandwidth, either for a particular session, as a general matter, etc. Merely by way of example, if a user attempts to play a streaming video with a video player, the video player might be configured to request an allocation of sufficient bandwidth to allow for acceptable playback of the video (this value, obviously, can vary according to the length and/or bitrate of the video, etc.). One skilled in the art can appreciate, based on the disclosure herein, that a variety of application might request either temporary or persistent modifications to a class of service state for a variety of reasons. For example, a VoIP application might request a persistent class of service priority upon installation on a customer device or in the network (if the application runs on a dedicated VoIP phone, for example), while a game might request a temporary upgrade while the game is being played. Such temporary modifications might be reverted by the customer service point after a particular period of time, after a period of inactivity by the requesting application, or by a request from the application (e.g., upon being closed by the user) to revert the class of service state to a previous state.
  • At block 240, the method comprises modifying the class of service state in response to the configuration information. In many cases, the modifications the class of service state will depend on the configuration instructions received by the customer service point. Merely by way of example, if an application requests a certain elevation of dedicated bandwidth, the class of service state might be modified to add that application to a particular class of service (in order to provide the dedicated bandwidth requested), establish a new class of service for that application and/or prioritize the application's current class of service in order to provide the requested bandwidth. As another example, if a user provides configuration information via a user interface (as described above, for example), the class of service state can be modified to effectuate the configuration information; if, for example, the user provided instructions to assign a particular application or device to a particular class of service, the customer service point can transition to a new class of service state that assigns that application or device to that class of service.
  • From that point forward, when providing communication between the customer device/network in the access network, the residential gateway will employ the rules established by the new class of service state in prioritizing traffic, etc. The customer service point might communicate with other devices (e.g., the residential gateway, a DSLAM, routers within the access network, etc.) to effectuate the modifications made to the class of service state.
  • On the other hand, if the customer service point cannot satisfy a request (from a user, an application, etc.), the method 200 might comprise providing a busy indicator (block 245). A variety of different types of busy indicators can be used, and the type of busy indicator can depend on the nature of the request itself. Merely by way of example, if the request was received from an application via an API, the busy indicator might be provided to the application via the same API. The nature and format of the busy indicator conveyed by the customer service point is not material to the scope of this disclosure, so long as the busy indicator is sufficient to indicate to the application that its request cannot be accommodated. Based on the busy indicator, the application might inform the user that the requested network action (e.g., continuing from the example above, playing a streaming video file) cannot be performed, optionally with an explanation of the network conditions that prevented the operation. Such an explanation (and/or information from which such explanation can be generated) might be provided by the customer service point as part of the busy indicator. Merely by way of example, the customer service point might provide, as part of the busy indicator, information indicating that two other devices already have streaming video sessions open through the residential gateway, and that a third session is not possible due to bandwidth limitations of the broadband connection. The busy indicator might also provide information about computing applications or devices, such as an identification of the two devices that currently have streaming video sessions open.
  • On the other hand, if the request is received from a user via a user interface, the busy indicator might be provided through the same user interface. In this case, the busy indicator might comprise the same or different information as the information that would be provided via the API to an application, although if the same information is provided, the customer service point but format the information for consumption by the user, rather than by an application.
  • At block 250, the method comprises determining one or more network performance statistics. For example, a customer service point might receive network performance statistics (or information from which network performance statistics can be derived) from one or more network points (block 255), which can be any point in network, including without limitation monitoring points as described above. Such monitoring points, as noted above, can be any network devices within the customer network, the access network, and/or the Internet itself (and/or device located at any interface between these networks). As noted above, the monitoring points can monitor a variety of parameters and can send that information to the customer service point, which can then derive network performance statistics (including without limitation those described above, such as network latency, utilization, throughput, capacity, and/or packet loss) based on the measurements from one or more of the monitoring devices. In some cases, the customer service point itself (and/or a residential gateway, which might incorporate the customer service point) can serve as a monitoring point. Thus, determining network performance statistics can include a variety of operations, including without limitation compiling network performance statistics provided by monitoring devices, calculating network performance statistics from measurements collected by the customer service point itself and/or received from the monitoring devices, and/or the like.
  • At block 260, the method 200 comprises providing the determined network performance statistics to the customer. These statistics can be provided in a variety of different ways. Merely by way of example, in some cases the network performance statistics may be provided to an application via an API, and the application can use the statistics according to its configuration (e.g., by displaying them to the user, compiling a report, and/or the like). In other cases, the customer service point might provide the statistics to the customer via a user interface.
  • For instance, returning to FIG. 3, the exemplary display screen 300 might include a statistics panel 310, which can be used to provide the network performance statistics to the user. The statistics can be provided in a variety of different forms, including without limitation, as chronological statistics displayed over a period of time (which might be a rolling period), as a static snapshot of statistics at a given point in time, and/or the like. Similarly, the user-interface elements used to display the statistics can vary according to the embodiment and/or according to the customer's preferences. For example, while the exemplary screen display 300 illustrates a plot 335 showing throughput on the broadband connection over a period of time, and a plot 340 showing network latency between the residential gateway and the Internet drain over the same period of time, the same or other information could be displayed as a table of numeric statistics, colored icons presenting a qualitative indication of network performance (e.g., a green circle for good performance, and yellow triangle for moderate performance, and a red octagon for poor performance, etc.), and/or using any other display scheme that can effectively convey information about the network performance.
  • In some cases, the customer service point is configured to generate an alarm (block 265). Alarms can be generated for a wide variety of network conditions, and in some embodiments, the customer can configure customer service point to specify which network conditions should generate an alert. Merely by way of example, in some cases, an alarm might be generated upon network utilization of the broadband connection exceeding a certain threshold portion of the overall bandwidth. In other cases, an alarm might be generated if insufficient bandwidth is available (either overall or in a particular class of service) to allow an application to open a desired session. In a particular embodiment, the customer service point might generate an alarm in the event of a packet loss condition, either between the residential gateway in this access network in the access network itself, between the access network and the Internet drain, and/or the like.
  • Alarms can be provided to the customer and/or other entities in a variety of ways. Merely by way of example, an alarm can be displayed for a customer in the user interface, such as on the exemplary screen display 300 described with respect to FIG. 3, above. In other cases, alarms can be provided using a standard framework such as a simple network management protocol (“SNMP”) trap. Alarms can also be provided to the customer (and/or to others such as network administrators at the ISP) using a variety of communication technologies, such as e-mail, text message, and/or the like. In some embodiments, alarms can be provided to applications (e.g., via an API, as described above), and the applications can process the alarm, notify users, and/or take any other appropriate action according to the configuration of application.
  • FIG. 4 provides a schematic illustration of one embodiment of a computer system 400 that can perform the methods provided by various other embodiments, as described herein, and/or can function as a customer service point, residential gateway, monitoring device, customer device, and/or the like. It should be noted that FIG. 4 is meant only to provide a generalized illustration of various components, of which one or more (or none) of each may be utilized as appropriate. FIG. 4, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner.
  • The computer system 400 is shown comprising hardware elements that can be electrically coupled via a bus 405 (or may otherwise be in communication, as appropriate). The hardware elements may include one or more processors 410, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 415, which can include without limitation a mouse, a keyboard and/or the like; and one or more output devices 420, which can include without limitation a display device, a printer and/or the like.
  • The computer system 400 may further include (and/or be in communication with) one or more storage devices 425, which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like. Such storage devices may be configured to implement any appropriate data stores, including without limitation, various file systems, database structures, and/or the like.
  • The computer system 400 might also include a communications subsystem 430, which can include without limitation a modem, a network card (wireless or wired), an infra-red communication device, a wireless communication device and/or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a WWAN device, cellular communication facilities, etc.), and/or the like. The communications subsystem 430 may permit data to be exchanged with a network (such as the network described below, to name one example), with other computer systems, and/or with any other devices described herein. In many embodiments, the computer system 400 will further comprise a working memory 435, which can include a RAM or ROM device, as described above.
  • The computer system 400 also may comprise software elements, shown as being currently located within the working memory 435, including an operating system 440, device drivers, executable libraries, and/or other code, such as one or more application programs 445, which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.
  • A set of these instructions and/or code might be encoded and/or stored on a non-transitory computer readable storage medium, such as the storage device(s) 425 described above. In some cases, the storage medium might be incorporated within a computer system, such as the system 400. In other embodiments, the storage medium might be separate from a computer system (i.e., a removable medium, such as a compact disc, etc.), and/or provided in an installation package, such that the storage medium can be used to program, configure and/or adapt a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the computer system 400 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the computer system 400 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.) then takes the form of executable code.
  • It will be apparent to those skilled in the art that substantial variations may be made in accordance with specific requirements. For example, customized hardware (such as programmable logic controllers, field-programmable gate arrays, application-specific integrated circuits, and/or the like) might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed.
  • As mentioned above, in one aspect, some embodiments may employ a computer system (such as the computer system 400) to perform methods in accordance with various embodiments of the invention. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 400 in response to processor 410 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 440 and/or other code, such as an application program 445) contained in the working memory 435. Such instructions may be read into the working memory 435 from another computer readable medium, such as one or more of the storage device(s) 425. Merely by way of example, execution of the sequences of instructions contained in the working memory 435 might cause the processor(s) 410 to perform one or more procedures of the methods described herein.
  • The terms “machine readable medium” and “computer readable medium,” as used herein, refer to any medium that participates in providing data that causes a machine to operation in a specific fashion. In an embodiment implemented using the computer system 400, various computer readable media might be involved in providing instructions/code to processor(s) 410 for execution and/or might be used to store and/or carry such instructions/code (e.g., as signals). In many implementations, a computer readable medium is a non-transitory, physical and/or tangible storage medium. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical and/or magnetic disks, such as the storage device(s) 425. Volatile media includes, without limitation, dynamic memory, such as the working memory 435. Transmission media includes, without limitation, coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 405, as well as the various components of the communication subsystem 430 (and/or the media by which the communications subsystem 430 provides communication with other devices). Hence, transmission media can also take the form of waves (including without limitation radio, acoustic and/or light waves, such as those generated during radio-wave and infra-red data communications).
  • Common forms of physical and/or tangible computer readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and/or code.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 410 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 400. These signals, which might be in the form of electromagnetic signals, acoustic signals, optical signals and/or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the invention.
  • The communications subsystem 430 (and/or components thereof) generally will receive the signals, and the bus 405 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 435, from which the processor(s) 405 retrieves and executes the instructions. The instructions received by the working memory 435 may optionally be stored on a storage device 425 either before or after execution by the processor(s) 410.
  • While certain features and aspects have been described with respect to exemplary embodiments, one skilled in the art will recognize that numerous modifications are possible. For example, the methods and processes described herein may be implemented using hardware components, software components, and/or any combination thereof. Further, while various methods and processes described herein may be described with respect to particular structural and/or functional components for ease of description, methods provided by various embodiments are not limited to any particular structural and/or functional architecture but instead can be implemented on any suitable hardware, firmware and/or software configuration. Similarly, while certain functionality is ascribed to certain system components, unless the context dictates otherwise, this functionality can be distributed among various other system components in accordance with the several embodiments.
  • Moreover, while the procedures of the methods and processes described herein are described in a particular order for ease of description, unless the context dictates otherwise, various procedures may be reordered, added, and/or omitted in accordance with various embodiments. Moreover, the procedures described with respect to one method or process may be incorporated within other described methods or processes; likewise, system components described according to a particular structural architecture and/or with respect to one system may be organized in alternative structural architectures and/or incorporated within other described systems. Hence, while various embodiments are described with—or without—certain features for ease of description and to illustrate exemplary aspects of those embodiments, the various components and/or features described herein with respect to a particular embodiment can be substituted, added and/or subtracted from among other described embodiments, unless the context dictates otherwise. Consequently, although several exemplary embodiments are described above, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

Claims (30)

1. A customer service point in communication with an Internet service provider access network and a customer device the customer service point comprising:
a first communication interface;
a second communication interface;
one or more processors in communication with the first and second communication interfaces; and
a computer readable medium in communication with the one or more processors, the computer readable medium having encoded thereon a set of instructions executable by the computer system to perform one or more operations, the set of instructions comprising:
instructions for communicating with the Internet via the first communication interface;
instructions for communicating with the customer device via the second communication interface;
instructions for maintaining a class of service state for a connection between the customer device and the Internet;
instructions for receiving, from the customer, configuration information for configuring the class of service state;
instructions for modifying the class of service state in response to receiving the configuration information;
instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point; and
instructions for providing, to the customer, the one or more network performance statistics.
2. The customer service point of claim 1, wherein the customer service point is implemented within a residential gateway located at a subscriber premises.
3. The customer service point of claim 1, wherein the class of service state comprises network utilization information.
4. The customer service point of claim 1, wherein the class of service state comprises network capacity information.
5. The customer service point of claim 1, wherein the class of service state comprises class of service associations with one or more customer applications.
6. The customer service point of claim 1, wherein the class of service state comprises an amount of bandwidth assigned to each of a plurality of classes of service.
7. The customer service point of claim 1, wherein the customer service point is incorporated within a device located in the access network.
8. The customer service point of claim 1, wherein the at least one other network point comprises an Internet drain between the access network and the Internet.
9. The customer service point of claim 1, wherein the at least one other network point comprises a device within the access network.
10. The customer service point of claim 9, wherein the device within the access network is an edge router.
11. The customer service point of claim 10, wherein the edge router is adjacent an Internet drain.
12. The customer service point of claim 1, wherein the set of instructions further comprises instructions for providing a graphical user interface for interaction with the customer.
13. The customer service point of claim 12, wherein the instructions for providing a graphical user interface comprise instructions for providing the graphical user interface via a web page served by the customer service point.
14. The customer service point of claim 12, wherein the instructions for receiving configuration information for configuring the class of service state comprise instructions for receiving the configuration information via the graphical user interface.
15. The customer service point of claim 14, wherein the instructions for receiving the configuration information via the graphical user interface comprise:
instructions for displaying, with the graphical user interface, a graphical representation of the class of service state; and
instructions for receiving, via the graphical user interface, user input for modifying the class of service state, wherein the user input comprises manipulation of one or more graphical objects corresponding to the class of service state.
16. The customer service point of claim 15, wherein the graphical representation of the class of service state comprises a first plurality of graphical objects representing classes of service and a second plurality of graphical objects representing types of network traffic, and wherein the user input comprises dragging one of the second plurality of graphical objects into one of the first plurality of graphical objects.
17. The customer service point of claim 12, wherein the instructions for providing the one or more network performance statistics comprise instructions for displaying the one or more network performance statistics with the graphical user interface.
18. The customer service point of claim 1, wherein at least one of the communication interfaces is a wireless communication interface.
19. The customer service point of claim 1, wherein the instructions for receiving configuration information comprise instructions for receiving, from an application on the client device or on a computer in communication with the client device, a request for service priority.
20. The customer service point of claim 1, wherein the set of instructions further comprises:
instructions for generating an alarm in the event of a packet loss condition.
21. The customer service point of claim 1, wherein the set of instructions further comprises:
instructions for providing, to the customer, a busy indicator if network conditions indicate that insufficient bandwidth exists to satisfy a requested network session.
22. The customer service point of claim 1, wherein the instructions for determining one or more network performance statistics comprise instructions for receiving network performance information from one or more network devices.
23. The customer service point of claim 22, wherein the one or more network devices is a plurality of network devices comprising a first network device at a customer end of the access network and a second network device at an Internet end of the access network.
24. The customer service point of claim 1, wherein the one or more network performance statistics comprise a measurement of network latency.
25. The customer service point of claim 1, wherein the one or more network performance statistics comprise a measurement of network throughput.
26. The customer service point of claim 25, wherein the measurement of network throughput comprises at least one measurement selected from the group consisting of accepted bits per second and rejected bits per second.
27. The customer service point of claim 1, wherein the one or more network performance statistics comprise a measurement network throughput delivered to a residential gateway.
28. The customer service point of claim 1, further comprising:
instructions for providing an application programming interface (“API”); wherein:
the instructions for receiving configuration information comprise instructions for receiving configuration information from the customer device via the API; and
the instructions for providing the one or more network performance statistics comprise instructions for provide the one or more network performance statistics to the customer device via the API.
29. A method, comprising:
maintaining, at a customer service point comprising a processor, a first communication interface, and a second communication interface, a class of service state for a connection between a customer device in communication with the first communication interface and the Internet in communication with the second communication interface;
receiving, from the customer, configuration information for configuring the class of service state; and
modifying the class of service state in response to receiving the configuration information.
30. An apparatus, comprising:
a computer readable medium having encoded thereon a set of instructions for causing a customer service point to perform one or more operations, the customer service point comprising a processor, a first communication interface, and a second communication interface, a customer device being communication with the first communication interface and the Internet being in communication with the second communication interface, the set of instructions being executable by the processor and comprising:
instructions for determining one or more network performance statistics pertaining to network performance between the customer device and at least one other network point; and
instructions for providing, to the customer, the one or more network performance statistics.
US13/302,051 2010-11-23 2011-11-22 User-Based Monitoring and Control Abandoned US20120131466A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/302,051 US20120131466A1 (en) 2010-11-23 2011-11-22 User-Based Monitoring and Control

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US41660010P 2010-11-23 2010-11-23
US201161429866P 2011-01-05 2011-01-05
US201161435056P 2011-01-21 2011-01-21
US201161481282P 2011-05-02 2011-05-02
US13/302,051 US20120131466A1 (en) 2010-11-23 2011-11-22 User-Based Monitoring and Control

Publications (1)

Publication Number Publication Date
US20120131466A1 true US20120131466A1 (en) 2012-05-24

Family

ID=46063837

Family Applications (6)

Application Number Title Priority Date Filing Date
US13/302,055 Active 2032-10-08 US9015343B2 (en) 2010-11-23 2011-11-22 User control over content delivery
US13/302,053 Active 2033-02-18 US8873717B2 (en) 2010-11-23 2011-11-22 Emergency alert signaling
US13/302,051 Abandoned US20120131466A1 (en) 2010-11-23 2011-11-22 User-Based Monitoring and Control
US14/659,316 Active US9300732B2 (en) 2010-11-23 2015-03-16 User control over content delivery
US14/996,904 Active US9736230B2 (en) 2010-11-23 2016-01-15 User control over content delivery
US15/634,316 Active US10320614B2 (en) 2010-11-23 2017-06-27 User control over content delivery

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/302,055 Active 2032-10-08 US9015343B2 (en) 2010-11-23 2011-11-22 User control over content delivery
US13/302,053 Active 2033-02-18 US8873717B2 (en) 2010-11-23 2011-11-22 Emergency alert signaling

Family Applications After (3)

Application Number Title Priority Date Filing Date
US14/659,316 Active US9300732B2 (en) 2010-11-23 2015-03-16 User control over content delivery
US14/996,904 Active US9736230B2 (en) 2010-11-23 2016-01-15 User control over content delivery
US15/634,316 Active US10320614B2 (en) 2010-11-23 2017-06-27 User control over content delivery

Country Status (1)

Country Link
US (6) US9015343B2 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130031237A1 (en) * 2011-07-28 2013-01-31 Michael Talbert Network component management
US20140185488A1 (en) * 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Methods for Dynamic Service Deployment for Virtual/Physical Multiple Device Integration
US8873717B2 (en) 2010-11-23 2014-10-28 Centurylink Intellectual Property Llc Emergency alert signaling
US20150019713A1 (en) * 2013-07-15 2015-01-15 Centurylink Intellectual Property Llc Control Groups for Network Testing
US9013996B2 (en) 2012-05-16 2015-04-21 Centurylink Intellectual Property Llc Customer configuration of broadband services
US20150201348A1 (en) * 2012-07-18 2015-07-16 Commissariat à l'Energie Atomique et aux Energies Alternatives Method for managing the configuration of a telecommunication network
WO2018052921A1 (en) * 2016-09-13 2018-03-22 Gogo Llc Usage-based bandwidth optimization
US10456673B1 (en) * 2017-11-17 2019-10-29 Amazon Technologies, Inc. Resource selection for hosted game sessions
US10592377B2 (en) 2013-07-15 2020-03-17 Centurylink Intellectual Property Llc Website performance tracking
CN111371740A (en) * 2020-02-17 2020-07-03 华云数据有限公司 Message flow monitoring method and system and electronic equipment
US11206665B2 (en) * 2013-04-05 2021-12-21 Time Warner Cable Enterprises Llc Resource allocation in a wireless mesh network environment
EP3387795B1 (en) * 2015-12-11 2022-11-09 Orange Router of a domestic network, supervision interface and method for supervising the use of a domestic network
CN115348208A (en) * 2021-04-27 2022-11-15 中移(苏州)软件技术有限公司 Flow control method and device, electronic equipment and storage medium
US11792083B2 (en) * 2014-04-17 2023-10-17 Accedian Networks Inc. System and method for out-of-line real-time in-service performance measurement

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1153248B1 (en) * 1998-12-17 2006-04-19 Diversi-Plast Products Inc. Ridge cap vent
US8494140B2 (en) 2008-10-30 2013-07-23 Centurylink Intellectual Property Llc System and method for voice activated provisioning of telecommunication services
US9628294B1 (en) * 2011-03-23 2017-04-18 Amazon Technologies, Inc. Methods and apparatus for remapping public network addresses on a network to an external network via a private communications channel
US9014023B2 (en) 2011-09-15 2015-04-21 International Business Machines Corporation Mobile network services in a mobile data network
US10021696B2 (en) * 2011-11-16 2018-07-10 International Business Machines Corporation Data caching at the edge of a mobile data network
US8971192B2 (en) 2011-11-16 2015-03-03 International Business Machines Corporation Data breakout at the edge of a mobile data network
WO2013113181A1 (en) * 2012-01-31 2013-08-08 Telefonaktiebolaget L M Ericsson (Publ) Server selection in communications network with respect to a mobile user
US8521153B1 (en) 2012-06-18 2013-08-27 International Business Machines Corporation Using the maintenance channel in a mobile data network to provide subscriber data when a cache miss occurs
US9137563B2 (en) * 2012-08-24 2015-09-15 Google Technology Holdings LLC Processing emergency alert system messages
US9479498B2 (en) * 2012-09-28 2016-10-25 Intel Corporation Providing limited access to a service device via an intermediary
US9384208B2 (en) * 2013-01-22 2016-07-05 Go Daddy Operating Company, LLC Configuring a cached website file removal using a pulled data list
CN104969492B (en) * 2013-02-03 2018-11-27 Lg 电子株式会社 The devices and methods therefor of emergency alarm service is provided by broadcast system
US9036635B2 (en) 2013-03-12 2015-05-19 Motorola Solutions, Inc. Method and apparatus for propagating public safety multicast and broadcast services among public safety personnel
US8844050B1 (en) 2013-03-15 2014-09-23 Athoc, Inc. Personnel crisis communications management and personnel status tracking system
US9538249B2 (en) 2013-05-09 2017-01-03 Viasat Inc. Close fulfillment of content requests
WO2015014189A1 (en) * 2013-08-02 2015-02-05 优视科技有限公司 Method and device for accessing website
EP2835944B1 (en) * 2013-08-08 2017-09-27 Compal Broadband Networks Inc. A device having ipv6 firewall functionality and method related thereto
CN104427005B (en) 2013-08-20 2018-01-02 阿里巴巴集团控股有限公司 The method and system that request is accurately dispatched are realized on CDN
US9887914B2 (en) 2014-02-04 2018-02-06 Fastly, Inc. Communication path selection for content delivery
US20150269700A1 (en) 2014-03-24 2015-09-24 Athoc, Inc. Exchange of crisis-related information amongst multiple individuals and multiple organizations
US20150371528A1 (en) * 2014-05-08 2015-12-24 Banksecure Technologies, Llc Notification apparatus, system, and method
US9948527B1 (en) * 2014-06-24 2018-04-17 Google Llc Synthetic resource records
US9967635B2 (en) * 2014-08-19 2018-05-08 Verizon Patent And Licensing Inc. Delivery confirmation and non-live delivery of emergency alert system messages
US10015094B1 (en) * 2015-06-19 2018-07-03 Amazon Technologies, Inc. Customer-specified routing policies
EP3226488A1 (en) * 2016-04-01 2017-10-04 Gemalto M2M GmbH Method for handling emergency messages
CN107622650A (en) * 2016-07-15 2018-01-23 王勇 Interactive voice wireless routing robot
CN107707584B (en) * 2016-08-08 2020-12-29 腾讯科技(深圳)有限公司 Application loading method, terminal and platform server
US10212023B2 (en) * 2016-10-05 2019-02-19 Vmware, Inc. Methods and systems to identify and respond to low-priority event messages
US10861413B2 (en) * 2016-11-07 2020-12-08 Faurecia Irystec Inc. System and method for age-based gamut mapping
FR3067198A1 (en) * 2017-06-02 2018-12-07 Orange OPTIMIZING THE REFRESH FREQUENCY OF A DNS REGISTRATION
US11032127B2 (en) * 2017-06-26 2021-06-08 Verisign, Inc. Resilient domain name service (DNS) resolution when an authoritative name server is unavailable
CA3130223A1 (en) * 2019-02-28 2020-09-03 Newsouth Innovations Pty Limited Network bandwidth apportioning
JP2020202468A (en) * 2019-06-07 2020-12-17 シャープ株式会社 Electronic apparatus, information providing system, information providing method, and program
CN110288815A (en) * 2019-07-19 2019-09-27 彭志宏 A kind of center Network Warning alarm system and method based on network communication
US11763666B1 (en) * 2021-10-22 2023-09-19 Edge Networks, Inc. System and method for delivering emergency alerts
CN114495462B (en) * 2021-12-28 2024-03-22 深圳供电局有限公司 Alarm message processing method, device, computer equipment and storage medium

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030020764A1 (en) * 2001-03-14 2003-01-30 Pierre Germain Performance and flow analysis method for communication networks
US20030137938A1 (en) * 1999-04-16 2003-07-24 At&T Corp. Method for reducing congestion in packet-switched networks
US20040088403A1 (en) * 2002-11-01 2004-05-06 Vikas Aggarwal System configuration for use with a fault and performance monitoring system using distributed data gathering and storage
US20040208133A1 (en) * 2003-04-21 2004-10-21 Dylan Jay Method and apparatus for predicting the quality of packet data communications
US7043660B1 (en) * 2001-10-08 2006-05-09 Agilent Technologies, Inc. System and method for providing distributed fault management policies in a network management system
US20060285500A1 (en) * 2005-06-15 2006-12-21 Booth Earl H Iii Method and apparatus for packet loss detection
US20070025237A1 (en) * 2004-08-20 2007-02-01 Michiyo Goto Packet communication terminal apparatus and communication system
US20070064604A1 (en) * 2005-09-20 2007-03-22 Liren Chen Adaptive quality of service policy for dynamic networks
US20080089237A1 (en) * 2006-10-11 2008-04-17 Ibahn Corporation System and method for dynamic network traffic prioritization
US20080279112A1 (en) * 2007-05-10 2008-11-13 At&T Knowledge Ventures, L.P. System and method for configuring media network resources
US20090116379A1 (en) * 2007-11-02 2009-05-07 At&T Knowledge Ventures, Lp Insufficient bandwidth notification for transmission of multimedia program
US20100246436A1 (en) * 2009-03-26 2010-09-30 At&T Services, Inc. User-controlled network configuration for handling multiple classes of service
US20100257264A1 (en) * 2003-11-20 2010-10-07 Juniper Networks, Inc. Policy analyzer
US7903553B2 (en) * 2004-08-05 2011-03-08 Huawei Technologies Co., Ltd. Method, apparatus, edge router and system for providing QoS guarantee
US20110249572A1 (en) * 2010-04-08 2011-10-13 Singhal Anil K Real-Time Adaptive Processing of Network Data Packets for Analysis

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456788A (en) 1982-12-01 1984-06-26 Gte Business Communication Systems Inc. Telecommunication trunk circuit reporter and advisor
US4669113A (en) 1985-04-26 1987-05-26 At&T Company Integrated network controller for a dynamic nonhierarchical routing switching network
US4776016A (en) 1985-11-21 1988-10-04 Position Orientation Systems, Inc. Voice control system
US4756019A (en) 1986-08-27 1988-07-05 Edmund Szybicki Traffic routing and automatic network management system for telecommunication networks
US5054096A (en) 1988-10-24 1991-10-01 Empire Blue Cross/Blue Shield Method and apparatus for converting documents into electronic data for transaction processing
IL104871A (en) 1993-02-26 1996-06-18 Yekutiely Barak Communication system
US5774859A (en) 1995-01-03 1998-06-30 Scientific-Atlanta, Inc. Information system having a speech interface
US5696906A (en) 1995-03-09 1997-12-09 Continental Cablevision, Inc. Telecommunicaion user account management system and method
US5687224A (en) 1995-07-26 1997-11-11 Alley, Jr.; Willard Kent Telecommunications circuit provisioning and administration system
US5920846A (en) 1996-02-27 1999-07-06 Southwestern Bell Telephone Co. Method and system for processing a service request relating to installation, maintenance or repair of telecommunications services provided to a customer premises
US6028924A (en) 1996-06-13 2000-02-22 Northern Telecom Limited Apparatus and method for controlling processing of a service call
US6226286B1 (en) 1996-10-28 2001-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for communication between data network and telecommunication network
US5796393A (en) 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US5915001A (en) 1996-11-14 1999-06-22 Vois Corporation System and method for providing and using universally accessible voice and speech data files
EP1235415A3 (en) 1997-02-20 2006-01-04 Hewlett-Packard Company, A Delaware Corporation Provision of telecommunication services
US6219648B1 (en) 1997-03-31 2001-04-17 Sbc Technology Resources, Inc. Apparatus and method for monitoring progress of customer generated trouble tickets
US5844823A (en) 1997-06-20 1998-12-01 Lucent Technologies Inc. Method for scaling-up a telecommunication system
US6122632A (en) 1997-07-21 2000-09-19 Convergys Customer Management Group Inc. Electronic message management system
US6285748B1 (en) 1997-09-25 2001-09-04 At&T Corporation Network traffic controller
US5999932A (en) 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US5945910A (en) 1998-02-11 1999-08-31 Simoniz Usa, Inc. Method and apparatus for monitoring and reporting handwashing
US6104798A (en) 1998-02-12 2000-08-15 Mci Communications Corporation Order processing and reporting system for telecommunications carrier services
US6137873A (en) 1998-04-06 2000-10-24 Ameritech Corporation Automatic electronic telecommunications order translation and processing
US6385609B1 (en) 1998-04-23 2002-05-07 Lucent Technologies Inc. System and method for analyzing and displaying telecommunications switch report output
US6389126B1 (en) 1998-05-07 2002-05-14 Mci Communications Corporation Service provisioning system for interactive voice response services
US6349238B1 (en) 1998-09-16 2002-02-19 Mci Worldcom, Inc. System and method for managing the workflow for processing service orders among a variety of organizations within a telecommunications company
US6937993B1 (en) 1998-09-16 2005-08-30 Mci, Inc. System and method for processing and tracking telecommunications service orders
US7103065B1 (en) 1998-10-30 2006-09-05 Broadcom Corporation Data packet fragmentation in a cable modem system
US6233560B1 (en) 1998-12-16 2001-05-15 International Business Machines Corporation Method and apparatus for presenting proximal feedback in voice command systems
US6636831B1 (en) 1999-04-09 2003-10-21 Inroad, Inc. System and process for voice-controlled information retrieval
US6826146B1 (en) 1999-06-02 2004-11-30 At&T Corp. Method for rerouting intra-office digital telecommunications signals
AU8030300A (en) 1999-10-19 2001-04-30 Sony Electronics Inc. Natural language interface control system
US20010039585A1 (en) * 1999-12-06 2001-11-08 Leonard Primak System and method for directing a client to a content source
US6614903B1 (en) 1999-12-15 2003-09-02 Avaya Technology Corp. Methods and apparatus for service state-based processing of communications in a call center
SE519221C2 (en) 1999-12-17 2003-02-04 Ericsson Telefon Ab L M Non-transparent communication where only data frames detected as correct are forwarded by the base station
US6397186B1 (en) 1999-12-22 2002-05-28 Ambush Interactive, Inc. Hands-free, voice-operated remote control transmitter
US6795537B1 (en) 1999-12-28 2004-09-21 Bellsouth Intellectual Property Corporation Method for updating a database using a telephone
US6650738B1 (en) 2000-02-07 2003-11-18 Verizon Services Corp. Methods and apparatus for performing sequential voice dialing operations
US6415018B1 (en) * 2000-02-08 2002-07-02 Lucent Technologies Inc. Telecommunication system and method for handling special number calls having geographic sensitivity
US6853714B2 (en) 2000-02-25 2005-02-08 Keith A. Liljestrand Apparatus and method for providing enhanced telecommunications services
US6879998B1 (en) 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
AU2001268320A1 (en) * 2000-06-12 2001-12-24 Cachestream Corporation Personalized content management
US6937701B1 (en) 2000-06-16 2005-08-30 Nortel Networks Limited Telecommunications network having a switch equipped with an IVR provisioning/monitoring system
US7012997B1 (en) 2000-10-18 2006-03-14 Foto-Fone, Inc. Voice prompted user interface for central switch telephone programming
US6865268B1 (en) 2001-01-16 2005-03-08 Charles Terence Matthews Dynamic, real-time call tracking for web-based customer relationship management
US6910187B2 (en) 2001-01-23 2005-06-21 Mci, Inc. Graphical user interface for procuring telecommunications services on-line
US20020111842A1 (en) 2001-02-09 2002-08-15 Jon Miles Work order management system
US6724876B2 (en) 2001-03-02 2004-04-20 Revd Networks, Inc. Method and apparatus for effecting telecommunications service features using call control information extracted from a bearer channel in a telecommunications network
US6891841B2 (en) 2001-03-12 2005-05-10 Advent Networks, Inc. Time division multiple access over broadband modulation method and apparatus
WO2002077975A1 (en) 2001-03-27 2002-10-03 Koninklijke Philips Electronics N.V. Method to select and send text messages with a mobile
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US8700781B2 (en) 2001-06-12 2014-04-15 Verizon Business Global Llc Automated processing of service requests using structured messaging protocols
US7987228B2 (en) 2001-07-03 2011-07-26 Accenture Global Services Limited Broadband communications
US7734958B1 (en) 2001-07-05 2010-06-08 At&T Intellectual Property Ii, L.P. Method and apparatus for a programming language having fully undoable, timed reactive instructions
US20030046184A1 (en) 2001-07-13 2003-03-06 Magnus Bjorklund Electronic pen catalog ordering system and method of using the catalog to stimulate electronic pen use
US7142655B2 (en) 2001-07-13 2006-11-28 Sbc Properties, L.P. Platform for rapid development of telecommunications services
US7308094B1 (en) 2001-09-04 2007-12-11 At&T Intellectual Property, Inc. Processes and systems for screening work orders
US7289605B1 (en) 2001-09-04 2007-10-30 At&T Intellectual Property, Inc. Processes and systems for creating and for managing trouble tickets and work orders
US6778638B1 (en) 2001-09-04 2004-08-17 Bellsouth Intellectual Property Corporation Processes and systems for creating maintenance reports for communications systems
US7436939B1 (en) 2001-09-26 2008-10-14 Sprint Spectrum L.P. Method and system for consolidated message notification in a voice command platform
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7233781B2 (en) * 2001-10-10 2007-06-19 Ochoa Optics Llc System and method for emergency notification content delivery
US7203943B2 (en) 2001-10-31 2007-04-10 Avaya Technology Corp. Dynamic allocation of processing tasks using variable performance hardware platforms
US20030130820A1 (en) 2002-01-07 2003-07-10 Lane George H. Work order system
US6889339B1 (en) 2002-01-30 2005-05-03 Verizon Serivces Corp. Automated DSL network testing software tool
US6912581B2 (en) 2002-02-27 2005-06-28 Motorola, Inc. System and method for concurrent multimodal communication session persistence
US7327833B2 (en) 2002-03-20 2008-02-05 At&T Bls Intellectual Property, Inc. Voice communications menu
JP3687001B2 (en) * 2002-03-28 2005-08-24 富士通株式会社 Internet connection device automatic selection method, internet connection device automatic selection device, and internet connection device automatic selection program
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7941514B2 (en) 2002-07-31 2011-05-10 Level 3 Communications, Llc Order entry system for telecommunications network service
US7570943B2 (en) 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
US20040073466A1 (en) 2002-10-10 2004-04-15 Qwest Communications International Inc. Systems and methods for evaluating telecommunications projects
US20040196842A1 (en) * 2003-04-04 2004-10-07 Dobbins Kurt A. Method and system for according preferred transport based on node identification
US7941333B2 (en) 2003-06-30 2011-05-10 Embarq Holdings Company, LLP Method and system for identifying and categorizing past due telecommunication service orders
US7477603B1 (en) 2003-07-08 2009-01-13 Cisco Technology, Inc. Sharing line bandwidth among virtual circuits in an ATM device
US7221938B2 (en) 2003-08-20 2007-05-22 Sbc Knowledge Ventures, L.P. System and method for multi-modal monitoring of a network
US7221912B2 (en) 2003-08-29 2007-05-22 Lucent Technologies Inc. Telecommunications management interface system
US8311835B2 (en) 2003-08-29 2012-11-13 Microsoft Corporation Assisted multi-modal dialogue
US20070107034A1 (en) 2003-10-31 2007-05-10 Gotwals Michael D Combination meter for evaluating video delivered via Internet protocol
US7660402B1 (en) 2003-11-18 2010-02-09 Embarq Holdings Company, Llc System and method for managing telecommunication trunk groups
DE10360656A1 (en) 2003-12-23 2005-07-21 Daimlerchrysler Ag Operating system for a vehicle
US7433940B2 (en) * 2004-01-21 2008-10-07 International Business Machines Corporation Schema management
US20050238145A1 (en) 2004-04-22 2005-10-27 Sbc Knowledge Ventures, L.P. User interface for "how to use" application of automated self service call center
US7756913B1 (en) 2004-08-02 2010-07-13 Cisco Technology, Inc. System and methods for selecting content distribution
US8640159B2 (en) 2004-09-17 2014-01-28 At&T Intellectual Property I, L.P. Methods, systems, and devices for reducing bandwidth consumption in multimedia distribution systems
US20060074658A1 (en) 2004-10-01 2006-04-06 Siemens Information And Communication Mobile, Llc Systems and methods for hands-free voice-activated devices
US20060245364A1 (en) 2005-03-29 2006-11-02 Xing Zhu Bi-directional continuous voice and video quality testing system with TTMF tones
US7623647B1 (en) 2005-09-30 2009-11-24 At&T Corp. Method and apparatus for using voice commands to activate network based service logic
US20070104227A1 (en) 2005-11-07 2007-05-10 Norbert Rivera Distributed digital subscriber line access multiplexers and methods to operate the same
US7730187B2 (en) * 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20070136072A1 (en) 2005-12-14 2007-06-14 Symbol Technologies, Inc. Interactive voice browsing for mobile devices on wireless networks
US7421067B2 (en) 2006-04-19 2008-09-02 Emotive Communications, Inc. System and methodology for peer-to-peer voice communication employing a pushed interactive multimedia announcement
KR100916717B1 (en) 2006-12-11 2009-09-09 강민수 Advertisement Providing Method and System for Moving Picture Oriented Contents Which Is Playing
US8363639B2 (en) 2006-12-22 2013-01-29 Nokia Corporation Call initiation control
US20080220810A1 (en) 2007-03-07 2008-09-11 Agere Systems, Inc. Communications server for handling parallel voice and data connections and method of using the same
US8503665B1 (en) 2007-04-18 2013-08-06 William S. Meisel System and method of writing and using scripts in automated, speech-based caller interactions
US20080275714A1 (en) 2007-05-01 2008-11-06 David Frederick Martinez Computerized requirement management system
US20080295131A1 (en) 2007-05-23 2008-11-27 At&T Knowledge Ventures, Lp System and method of delivering media content
US20090013398A1 (en) 2007-07-06 2009-01-08 Acterna Llc Remote Testing Of Firewalled Networks
US8639214B1 (en) 2007-10-26 2014-01-28 Iwao Fujisaki Communication device
US8230081B2 (en) 2007-10-31 2012-07-24 Verizon Patent And Licensing Inc. Feature set based content communications systems and methods
US8489731B2 (en) 2007-12-13 2013-07-16 Highwinds Holdings, Inc. Content delivery network with customized tracking of delivery data
US8561122B2 (en) 2008-08-27 2013-10-15 Verizon Patent And Licensing Inc. Video test process integrated in a set-top-box
US8121586B2 (en) 2008-09-16 2012-02-21 Yellowpages.Com Llc Systems and methods for voice based search
US8494140B2 (en) 2008-10-30 2013-07-23 Centurylink Intellectual Property Llc System and method for voice activated provisioning of telecommunication services
US8200821B2 (en) 2009-06-19 2012-06-12 Comcast Cable Communications, Llc System and method for improved in-browser notification
US20120084423A1 (en) * 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for domain based dynamic traffic steering
US9015343B2 (en) 2010-11-23 2015-04-21 Centurylink Intellectual Property Llc User control over content delivery
US8804720B1 (en) 2010-12-22 2014-08-12 Juniper Networks, Inc. Pass-through multicast admission control signaling
US20120204201A1 (en) * 2011-02-03 2012-08-09 Bby Solutions, Inc. Personalized best channel selection device and method
EP2681849B1 (en) 2011-03-02 2016-01-06 Adtran, Inc. Systems and methods selectively excluding tones from vectoring
US8719866B2 (en) * 2011-05-31 2014-05-06 Fanhattan Llc Episode picker
US9013996B2 (en) 2012-05-16 2015-04-21 Centurylink Intellectual Property Llc Customer configuration of broadband services
US8896707B2 (en) 2013-04-05 2014-11-25 Centurylink Intellectual Property Llc Video qualification device, system, and method

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030137938A1 (en) * 1999-04-16 2003-07-24 At&T Corp. Method for reducing congestion in packet-switched networks
US20030020764A1 (en) * 2001-03-14 2003-01-30 Pierre Germain Performance and flow analysis method for communication networks
US7043660B1 (en) * 2001-10-08 2006-05-09 Agilent Technologies, Inc. System and method for providing distributed fault management policies in a network management system
US20040088403A1 (en) * 2002-11-01 2004-05-06 Vikas Aggarwal System configuration for use with a fault and performance monitoring system using distributed data gathering and storage
US20040208133A1 (en) * 2003-04-21 2004-10-21 Dylan Jay Method and apparatus for predicting the quality of packet data communications
US20100257264A1 (en) * 2003-11-20 2010-10-07 Juniper Networks, Inc. Policy analyzer
US7903553B2 (en) * 2004-08-05 2011-03-08 Huawei Technologies Co., Ltd. Method, apparatus, edge router and system for providing QoS guarantee
US20070025237A1 (en) * 2004-08-20 2007-02-01 Michiyo Goto Packet communication terminal apparatus and communication system
US20060285500A1 (en) * 2005-06-15 2006-12-21 Booth Earl H Iii Method and apparatus for packet loss detection
US20070064604A1 (en) * 2005-09-20 2007-03-22 Liren Chen Adaptive quality of service policy for dynamic networks
US20080089237A1 (en) * 2006-10-11 2008-04-17 Ibahn Corporation System and method for dynamic network traffic prioritization
US20080279112A1 (en) * 2007-05-10 2008-11-13 At&T Knowledge Ventures, L.P. System and method for configuring media network resources
US20090116379A1 (en) * 2007-11-02 2009-05-07 At&T Knowledge Ventures, Lp Insufficient bandwidth notification for transmission of multimedia program
US20100246436A1 (en) * 2009-03-26 2010-09-30 At&T Services, Inc. User-controlled network configuration for handling multiple classes of service
US20110249572A1 (en) * 2010-04-08 2011-10-13 Singhal Anil K Real-Time Adaptive Processing of Network Data Packets for Analysis

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300732B2 (en) 2010-11-23 2016-03-29 Centurylink Intellectual Property Llc User control over content delivery
US8873717B2 (en) 2010-11-23 2014-10-28 Centurylink Intellectual Property Llc Emergency alert signaling
US9736230B2 (en) 2010-11-23 2017-08-15 Centurylink Intellectual Property Llc User control over content delivery
US9015343B2 (en) 2010-11-23 2015-04-21 Centurylink Intellectual Property Llc User control over content delivery
US10320614B2 (en) 2010-11-23 2019-06-11 Centurylink Intellectual Property Llc User control over content delivery
US20130031237A1 (en) * 2011-07-28 2013-01-31 Michael Talbert Network component management
US8819223B2 (en) * 2011-07-28 2014-08-26 Verizon Patent And Licensing Inc. Network component management
US9013996B2 (en) 2012-05-16 2015-04-21 Centurylink Intellectual Property Llc Customer configuration of broadband services
US10623334B2 (en) 2012-05-16 2020-04-14 Centurylink Intellectual Property Llc Customer configuration of broadband services
US9929975B2 (en) 2012-05-16 2018-03-27 CentruyLink Intellectual Property LLC Customer configuration of broadband services
US20150201348A1 (en) * 2012-07-18 2015-07-16 Commissariat à l'Energie Atomique et aux Energies Alternatives Method for managing the configuration of a telecommunication network
US9762446B2 (en) * 2012-12-28 2017-09-12 Futurewei Technologies Co., Ltd. Methods for dynamic service deployment for virtual/physical multiple device integration
US20140185488A1 (en) * 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Methods for Dynamic Service Deployment for Virtual/Physical Multiple Device Integration
US11206665B2 (en) * 2013-04-05 2021-12-21 Time Warner Cable Enterprises Llc Resource allocation in a wireless mesh network environment
US10592377B2 (en) 2013-07-15 2020-03-17 Centurylink Intellectual Property Llc Website performance tracking
US9571363B2 (en) * 2013-07-15 2017-02-14 Centurylink Intellectual Property Llc Control groups for network testing
US20150019713A1 (en) * 2013-07-15 2015-01-15 Centurylink Intellectual Property Llc Control Groups for Network Testing
US11792083B2 (en) * 2014-04-17 2023-10-17 Accedian Networks Inc. System and method for out-of-line real-time in-service performance measurement
EP3387795B1 (en) * 2015-12-11 2022-11-09 Orange Router of a domestic network, supervision interface and method for supervising the use of a domestic network
US10523524B2 (en) 2016-09-13 2019-12-31 Gogo Llc Usage-based bandwidth optimization
WO2018052921A1 (en) * 2016-09-13 2018-03-22 Gogo Llc Usage-based bandwidth optimization
US10456673B1 (en) * 2017-11-17 2019-10-29 Amazon Technologies, Inc. Resource selection for hosted game sessions
US20200047067A1 (en) * 2017-11-17 2020-02-13 Amazon Technologies, Inc. Resource selection for hosted game sessions
US10953325B2 (en) * 2017-11-17 2021-03-23 Amazon Technologies, Inc. Resource selection for hosted game sessions
CN111371740A (en) * 2020-02-17 2020-07-03 华云数据有限公司 Message flow monitoring method and system and electronic equipment
CN115348208A (en) * 2021-04-27 2022-11-15 中移(苏州)软件技术有限公司 Flow control method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
US20150195351A1 (en) 2015-07-09
US20170295064A1 (en) 2017-10-12
US20120131096A1 (en) 2012-05-24
US20160134688A1 (en) 2016-05-12
US9736230B2 (en) 2017-08-15
US20120126976A1 (en) 2012-05-24
US8873717B2 (en) 2014-10-28
US10320614B2 (en) 2019-06-11
US9015343B2 (en) 2015-04-21
US9300732B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
US20120131466A1 (en) User-Based Monitoring and Control
US20240098010A1 (en) Method and system for using a downloadable agent for a communication system, device, or link
US8769349B2 (en) Managing network devices based on predictions of events
Isolani et al. Interactive monitoring, visualization, and configuration of OpenFlow-based SDN
US8355316B1 (en) End-to-end network monitoring
US8024438B2 (en) Methods, systems, and computer program products for implementing bandwidth management services
KR101891451B1 (en) Method and apparatus for providing performance and usage information for a wireless local area network
US11283856B2 (en) Dynamic socket QoS settings for web service connections
US8306033B2 (en) Methods, systems, and computer program products for providing traffic control services
Kumar et al. User control of quality of experience in home networks using SDN
Saadi et al. IoT enabled quality of experience measurement for next generation networks in smart cities
US20130055136A1 (en) Methods, Systems, and Products for Controlling Quality of Service and Experience
US20160242053A1 (en) Method and system for identifying the cause of network problems in mobile networks and computer program thereof
US10079734B1 (en) System, method, and computer program for selecting from among available network access points based on an associated quality of experience for use by a client device to access a network
KR20150110665A (en) Method and apparatus for cloud services for enhancing broadband experience
Gharakheili et al. Personalizing the home network experience using cloud-based SDN
CN115622931A (en) Adaptive software defined wide area network application specific probing
Ahmad et al. Towards information-centric collaborative QoE management using SDN
CN108476427A (en) Data network management
US10402765B1 (en) Analysis for network management using customer provided information
US20160294648A1 (en) Hub filtering
US20090141877A1 (en) SYSTEM AND APPARATUS FOR PREDICTIVE VOICE OVER INTERNET PROTOCOL (VoIP) INFRASTRUCTURE MONITORING UTILIZING ENHANCED CUSTOMER END-POINT VoIP PHONES
Karagiannis et al. Homemaestro: Order from chaos in home networks
Lopes et al. A multi-layer probing approach for video over 5G in vehicular scenarios
Clark et al. Policy Implications of Third-Party Measurement of Interdomain Congestion on the Internet

Legal Events

Date Code Title Description
AS Assignment

Owner name: EMBARQ HOLDINGS COMPANY, LLC, COLORADO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BUGENHAGEN, MICHAEL K.;REEL/FRAME:027331/0966

Effective date: 20111121

AS Assignment

Owner name: CENTURYLINK INTELLECTUAL PROPERTY LLC, COLORADO

Free format text: CHANGE OF NAME;ASSIGNOR:EMBARQ HOLDINGS COMPANY, LLC;REEL/FRAME:046705/0958

Effective date: 20120323

STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION