U.S. patent application number 11/304330 was filed with the patent office on 2006-10-05 for methods, systems, and computer program products for implementing bandwidth control services.
Invention is credited to Jeffrey A. Aaron, James Carlton SR. Bedingfield.
Application Number | 20060222008 11/304330 |
Document ID | / |
Family ID | 37070403 |
Filed Date | 2006-10-05 |
United States Patent
Application |
20060222008 |
Kind Code |
A1 |
Aaron; Jeffrey A. ; et
al. |
October 5, 2006 |
Methods, systems, and computer program products for implementing
bandwidth control services
Abstract
Methods, systems, and computer program products for implementing
bandwidth control services are provided. The method includes
assigning a quality of service preference to a device. The method
also includes associating a service session with the device. The
method further includes executing a control action for at least one
other simultaneously occurring service session when a quality of
service level of the service session differs from the quality of
service preference by a specified degree. The control action is
operable for producing and maintaining the quality of service
preference.
Inventors: |
Aaron; Jeffrey A.; (Atlanta,
GA) ; Bedingfield; James Carlton SR.; (Lilburn,
GA) |
Correspondence
Address: |
CANTOR COLBURN LLP - BELLSOUTH
55 GRIFFIN ROAD SOUTH
BLOOMFIELD
CT
06002
US
|
Family ID: |
37070403 |
Appl. No.: |
11/304330 |
Filed: |
December 14, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60667018 |
Mar 31, 2005 |
|
|
|
Current U.S.
Class: |
370/468 ;
370/252 |
Current CPC
Class: |
H04L 41/5025 20130101;
H04L 47/803 20130101; H04L 41/0896 20130101; H04L 41/5009 20130101;
H04L 47/10 20130101; H04L 41/5003 20130101; H04L 47/20 20130101;
H04L 47/24 20130101; H04L 41/5035 20130101; H04L 47/808
20130101 |
Class at
Publication: |
370/468 ;
370/252 |
International
Class: |
H04J 3/22 20060101
H04J003/22 |
Claims
1. A method for implementing bandwidth control services,
comprising: assigning a quality of service preference to a device;
associating a service session with the device; and executing a
control action for at least one other simultaneously occurring
service session when a quality of service level of the service
session differs from the quality of service preference by a
specified degree, the control action operable for producing and
maintaining the quality of service preference.
2. The method of claim 1, further comprising: selecting at least
one resource to facilitate the control action, the selecting
performed by: evaluating a current state of the service session and
the at least one other simultaneously occurring service session;
and factoring in to the evaluating at least one of: user
preferences associated with at least one of the device and the
devices engaged in the at least one other simultaneously occurring
service session; sensitivities associated with at least one of the
device and the devices engaged in the at least one other
simultaneously occurring service session; and capabilities
associated with the at least one of the device and the devices
engaged in the at least one other simultaneously occurring service
session; wherein the executing a control action is performed in
response to the selecting.
3. The method of claim 2, wherein the at least one resource
includes: network elements providing the service session and the at
least one other simultaneously occurring service session; the
device; at least one of the devices engaged in the at least one
other simultaneously occurring service session; an application
executing on at least one of the device and the devices engaged in
the at least one other simultaneously occurring service session; a
peripheral component in communication with at least one of the
device and the devices engaged in the at least one other
simultaneously occurring service session; and an entity providing
the service session and the at least one other simultaneously
occurring service session.
4. The method of claim 1, wherein the control action includes at
least one of: a policy-based action including at least one rule
that when executed, limits a transfer of traffic to and from the
device; and an operating mode-based action including at least one
rule that when executed, modifies a mode of operation of the
device.
5. The method of claim 4, wherein the policy-based action specifies
prioritization of bandwidth allocation to the device and the
operating mode-based priority specifies a change in a ratio of data
compression functions performed at the device.
6. The method of claim 1, wherein the service session is a
communications session utilizing bandwidth including at least one
of: video content; audio content; generic or unspecified data;
gaming interactions; encrypted data; interactive media content; and
multi-media content.
7. The method of claim 1, further comprising: assigning a quality
of service preference to a user of the device via at least one of:
an identifier of the user; a relationship between the user and an
entity; an identifier of the device; a relationship between the
device and another entity; and location of the device; and
associating the service session with the user of the device.
8. A system for implementing bandwidth control services,
comprising: a processor; a bandwidth control application executing
on the processor, performing: assigning a quality of service
preference to a device; associating a service session with the
device; and executing a control action for at least one other
simultaneously occurring service session when a quality of service
level of the service session differs from the quality of service
preference by a specified degree, the control action operable for
producing and maintaining the quality of service preference.
9. The system of claim 8, wherein the bandwidth control application
further performs: selecting at least one resource to facilitate the
control action, the selecting performed by: evaluating a current
state of the service session and the at least one other
simultaneously occurring service session; and factoring in to the
evaluating at least one of: user preferences associated with at
least one of the device and the devices engaged in the at least one
other simultaneously occurring service session; sensitivities
associated with at least one of the device and the devices engaged
in the at least one other simultaneously occurring service session;
and capabilities associated with the at least one of the device and
the devices engaged in the at least one other simultaneously
occurring service session; wherein the executing a control action
is performed in response to the selecting.
10. The system of claim 9, wherein the at least one resource
includes: network elements providing the service session and the at
least one other simultaneously occurring service session; the
device; at least one of the devices engaged in the at least one
other simultaneously occurring service session; an application
executing on at least one of the device and the devices engaged in
the at least one other simultaneously occurring service session; a
peripheral component in communication with at least one of the
device and the devices engaged in the at least one other
simultaneously occurring service session; and an entity providing
the service session and the at least one other simultaneously
occurring service session.
11. The system of claim 8, wherein the control action includes at
least one of: a policy-based action including at least one rule
that when executed, limits a transfer of traffic to and from the
device; and an operating mode-based action including at least one
rule that when executed, modifies a mode of operation of the
device.
12. The system of claim 11, wherein the policy-based action
specifies prioritization of bandwidth allocation to the device and
the operating mode-based priority specifies a change in a ratio of
data compression functions performed at the device.
13. The system of claim 8, wherein the service session is a
communications session utilizing bandwidth including at least one
of: video content; audio content; generic or unspecified data;
gaming interactions; encrypted data; interactive media content; and
multi-media content.
14. The system of claim 8, wherein the bandwidth control
application further performs: assigning a quality of service
preference to a user of the device via at least one of: an
identifier of the user; a relationship between the user and an
entity; an identifier of the device; a relationship between the
device and another entity; and location of the device; and
associating the service session with the user of the device.
15. A computer program product for implementing bandwidth control
services, the computer program product including instructions for
implementing a method comprising the steps of: assigning a quality
of service preference to a device; associating a service session
with the device; and executing a control action for at least one
other simultaneously occurring service session when a quality of
service level of the service session differs from the quality of
service preference by a specified degree, the control action
operable for producing and maintaining the quality of service
preference.
16. The computer program product of claim 15, further comprising
instructions for implementing: selecting at least one resource to
facilitate the control action, the selecting performed by:
evaluating a current state of the service session and the at least
one other simultaneously occurring service session; and factoring
in to the evaluating at least one of: user preferences associated
with at least one of the device and the devices engaged in the at
least one other simultaneously occurring service session;
sensitivities associated with at least one of the device and the
devices engaged in the at least one other simultaneously occurring
service session; and capabilities associated with the at least one
of the device and the devices engaged in the at least one other
simultaneously occurring service session; wherein the executing a
control action is performed in response to the selecting.
17. The computer program product of claim 16, wherein the at least
one resource includes: network elements providing the service
session and the at least one other simultaneously occurring service
session; the device; at least one of the devices engaged in the at
least one other simultaneously occurring service session; an
application executing on at least one of the device and the devices
engaged in the at least one other simultaneously occurring service
session; a peripheral component in communication with at least one
of the device and the devices engaged in the at least one other
simultaneously occurring service session; and an entity providing
the service session and the at least one other simultaneously
occurring service session.
18. The computer program product of claim 15, wherein the control
action includes at least one of: a policy-based action including at
least one rule that when executed, limits a transfer of traffic to
and from the device; and an operating mode-based action including
at least one rule that when executed, modifies a mode of operation
of the device.
19. The computer program product of claim 18, wherein the
policy-based action specifies prioritization of bandwidth
allocation to the device and the operating mode-based priority
specifies a change in a ratio of data compression functions
performed at the device.
20. The computer program product of claim 15, wherein the service
session is a communications session utilizing bandwidth including
at least one of: video content; audio content; generic or
unspecified data; gaming interactions; encrypted data; interactive
media content; and multi-media content.
21. A method for implementing bandwidth control services,
comprising: measuring characteristics of a service session
associated with a device, the device assigned a preference; and
executing a control action upon the occurrence of an event detected
in response to the measuring, the event determined to impact a
quality of service level specified in the preference.
22. The method of claim 21, wherein the control action includes
modifying a distribution of traffic targeted for a destination.
23. The method of claim 21, wherein the characteristics include at
least one of: voltage; power level; data rate; data delay; latency;
and data loss.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional
Application No. 60/667,018, filed on Mar. 31, 2005. This
application is related to commonly assigned U.S. Patent Application
Attorney Docket No. 050121, entitled METHODS, SYSTEMS, AND COMPUTER
PROGRAM PRODUCTS FOR PROVIDING TRAFFIC CONTROL SERVICES, filed on
Dec. 14, 2005. These applications are incorporated by reference
herein in their entireties.
BACKGROUND
[0002] The present invention relates generally to communications
services, and more particularly, to methods, systems, and computer
program products for implementing bandwidth control services.
[0003] Digital Subscriber Line (DSL) technology is a copper loop
transmission technology that provides increased bandwidth in the
last mile between communication service providers and the users of
these services. DSL technology provides broadband speed over a
conventional phone wire, which in turn, allows service providers to
provide multimedia applications, e.g., video, VoIP, Internet, etc.,
to their customers over their existing outside plant
infrastructure.
[0004] Various services (e.g., television services), however,
typically consume large amounts of bandwidth on a DSL connection.
When multiple services (e.g., television, video/music downloading,
gaming, etc.) are simultaneously utilized for a single account
(e.g., household), the overall quality of these services can be
negatively impacted due to strain on the available bandwidth (e.g.,
transmission delays or dropped packets), resulting in loss of
quality, such as reduced VoIP voice quality. Customers may have
some rudimentary knowledge of these issues and attempt to
troubleshoot by activating and deactivating various services.
However, they may not be able to resolve the issues unless they are
given specific information about the nature of the issues and
suggested courses of action for correcting the issues, and even
then the complexities associated with potential solutions may be
overwhelming to the user/customer. Further, the customer may not
have direct control over various aspects of resources or the
network which could be used to resolve or minimize such problems,
such as packet priority, or other session flow control
parameters.
[0005] What is needed, therefore, is a way to automatically monitor
the various services and/or communications sessions, determine when
negative interference or impacts between them may occur, and to
control aspects of one or more services and/or resources and/or the
communications network such that appropriate quality levels are
maintained for the various services/sessions/users.
BRIEF SUMMARY
[0006] Exemplary embodiments include a method for implementing
bandwidth management services. The method includes assigning a
quality of service preference to a device. The method also includes
associating a service session with the device. The method further
includes executing a control action for at least one other
simultaneously occurring service session when a quality of service
level of the service session differs from the quality of service
preference by a specified degree. The control action is operable
for producing and maintaining the quality of service
preference.
[0007] Additional embodiments include a system for implementing
bandwidth management services. The system includes a processor
executing a bandwidth control application. The bandwidth management
application performs a method. The method includes assigning a
quality of service preference to a device. The method also includes
associating a service session with the device. The method further
includes executing a control action for at least one other
simultaneously occurring service session when a quality of service
level of the service session differs from the quality of service
preference by a specified degree. The control action is operable
for producing and maintaining the quality of service
preference.
[0008] Further embodiments include a computer program product for
implementing bandwidth management services. The computer program
product includes instructions for implementing a method. The method
includes assigning a quality of service preference to a device. The
method also includes associating a service session with the device.
The method further includes executing a control action for at least
one other simultaneously occurring service session when a quality
of service level of the service session differs from the quality of
service preference by a specified degree. The control action is
operable for producing and maintaining the quality of service
preference.
[0009] Other systems, methods, and/or computer program products
according to embodiments will be or become apparent to one with
skill in the art upon review of the following drawings and detailed
description. It is intended that all such additional systems,
methods, and/or computer program products be included within this
description, be within the scope of the present invention, and be
protected by the accompanying claims.
BRIEF DESCRIPTION OF DRAWINGS
[0010] Referring now to the drawings wherein like elements are
numbered alike in the several FIGURES:
[0011] FIG. 1 is a system upon which the bandwidth control services
may be implemented in exemplary embodiments;
[0012] FIG. 2 is a flow diagram describing a process for
implementing the bandwidth control services in exemplary
embodiments; and
[0013] FIG. 3 is a user interface screen depicting options
available for selection in facilitating implementation of the
bandwidth control services in exemplary embodiments.
[0014] The detailed description explains the exemplary embodiments,
together with advantages and features, by way of example with
reference to the drawings.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0015] In accordance with exemplary embodiments, bandwidth control
services are provided, which include monitoring traffic and traffic
types transiting a network connection, analyzing the traffic
measurements, determining approximately when, and in what manner,
simultaneously provided services (e.g., services provided over
multiple simultaneous data sessions) are likely to interfere with,
or otherwise impact each other, and to automatically adjust traffic
policing or shaping or other control mechanisms in the network
and/or to automatically adjust service parameters such as the level
and timing of device/application requests or service/server
responses or other service-related activity so as to correct the
problem or avoid its occurrence, and further to automatically
determine and implement the best coordinated combination of control
via the above.
[0016] Turning now to FIG. 1, a network system upon which the
bandwidth management services may be implemented will now be
described. In exemplary embodiments, the system of FIG. 1 includes
a host system 102 in communication with customer premises 104 and a
storage device 106 over one or more networks (e.g., network 108).
The host system 102 may be implemented by a server operated by a
service provider (e.g., provider of DSL services). The service
provider provides DSL services (also referred to as service
sessions) to customer premises (e.g., 104) via a pathway 125, which
services are further distributed to the appropriate devices
therein. While the system of FIG. 1 illustrates a single pathway
125 interconnecting the service provider of host system 102 to the
customer premises 104, it will be appreciated that there may be
many pathways leading to a single customer premises or to many
separate customer premises and that the pathway 125 may include
portions where services to multiple customers share the same
pathway through a multiplexing scheme.
[0017] The server may be implemented using one or more processors
operating in response to a computer program stored in a storage
medium accessible by the server. The server may operate as a
network server (e.g., a web server) to communicate with
communications elements such as devices 118-124 and gateway 126.
The server handles sending and receiving information to and from
one or more communications elements and can perform associated
tasks.
[0018] The server of host system 102 may also operate as an
application server. The server executes one or more computer
programs to implement the bandwidth control processes and related
functions described herein. These one or more applications are
referred to herein as a bandwidth control application 110. It will
be understood that separate servers may be utilized to implement
the network server functions and the application server
functions.
[0019] The bandwidth control application 110 comprises a network
policy controller/operating mode controller (NPC/OMC) 112 and a
delta analysis engine (DAE)
[0020] 114. Policies refer to rules that may be implemented via
network elements (also referred to as `resources`), such as
routers, switches, gateways, firewalls, border controllers, edge
devices, access node points, etc. under the direction of NPC/OMC
112. Policies may also be implemented via a network application
programming interface (API) or network system accessed via a
definable interface.
[0021] Operating modes refer to operations including parameter
and/or control settings that may be implemented via an application
or device for handling, e.g., video, audio, data, or multimedia
under the direction of NPC/OMC 112. NPC/OMC 112 receives and
processes deltas from DAE 114, translates the deltas into policy or
control updates, and transmits these policy/control updates to one
or more of devices 118-124, either directly or via a network
connection and session controller (NCSC) 128. DAE 114 receives
measurements, consults with relevant databases (e.g., databases
132-136), and performs analysis to determine problem situations,
select a suitable mix of control measures, and determine updates.
These elements are described further herein.
[0022] As shown in the system of FIG. 1, host system 102 is
indirectly connected to a storage device 106 via network 108.
However, it will be understood by those skilled in the art that
host system 102 may be in direct communication with storage device
106 via, e.g., wireline or wireless technologies, etc.
Alternatively, storage device 106 may be implemented using memory
contained in the host system 102. Storage device 106 may be
implemented using a variety of devices for storing electronic
information. The storage device 106 may be logically addressable as
a consolidated data source across a distributed environment that
includes, e.g., network 108. Information stored in the storage
device 106 may be retrieved and manipulated via the host system
102. The storage device 106 includes a data repository containing,
e.g., documents, data, web pages, images, multimedia, etc.
[0023] In exemplary embodiments, storage device 106 stores a user
preferences database 132, a user/device sensitivity database 134, a
device/application modes and capabilities database 136, and other
related data. User/device sensitivities database 134 stores data
indicating the importance, or potential ramifications, of an item
or event to a user or device. This may include the relative ability
to leverage a particular control action or change in order to
achieve a desired result, e.g., to achieve or preserve a particular
quality level. For example, changing one parameter may have a
larger effect than changing another parameter, thus the
"sensitivity" associated with the first parameter is larger than
that associated with the second parameter. Further, user/device
sensitivities database 134 may store data affecting the
desirability of exerting control via network policies versus device
or application capabilities.
[0024] Device/application modes and capabilities database 136 may
store specified needs, specified capabilities, associated operating
parameter values/settings/ranges, associated limits, associated
interface details, associated data formats, etc. For example, each
of the devices may have associated service needs, such as minimum
bandwidth requirements. For some devices, such as a personal
computer, there may be different minimum bandwidth requirements
depending upon the application utilized for a given session (e.g.,
video conferencing, music or file downloading, etc.).
Device/application modes and capabilities database 136 may also
store error conditions, compatibility data, and settings including
parameter values that are determined to be useful in avoiding
specified issues or problems. In an exemplary embodiment, the
server of host system 102 operates as a database server and
coordinates access to application data including data stored within
the storage device 106.
[0025] Network 108 may be any type of known network including, but
not limited to, a Local Area Network (LAN), a Wide Area Network
(WAN), a global network (e.g., Internet), or other network
configuration known in the art. These networks may be implemented
using a wireless network or may be physically connected to each
other in a state of the art configuration. Further, the network 108
may include wireless connections, radio based communications,
telephony based communications, optical communications, and other
network-based communications. If the network 108 is a LAN, then the
bandwidth control application 110 and CSM 116 may reside within the
customer premise 104.
[0026] Customer premises 104 may comprise, e.g., a residential
entity or business establishment. Customer premises 104 include
various devices that utilize DSL services provided by a service
provider (e.g., host system 102) via one or more pathways (e.g.,
125). These devices, in turn, may communicate with one another via,
e.g., a local area network (LAN) implemented within customer
premises 104. The network of customer premises 104 may be wireline,
wireless, or a combination thereof. Devices residing in customer
premises 104 may include, e.g., one or more computer systems (e.g.,
device 122), one or more televisions (e.g., devices 118 and 124),
one or more personal video recorders (PVRs) (e.g., PVR 120), one or
more telephony devices (not shown), and one or more applications
(e.g., video chat, file download, video conferencing, interactive
gaming, multi-media applications, etc.) executing on the
aforementioned devices, to name a few.
[0027] Computer system 122 may comprise a personal computer,
laptop, or other similar type of processing device. Computer system
122 may implement a variety of network-enabled applications, such
as Internet gaming, interactive applications, video chat,
graphical/pictorial applications, encryption tools, interactive
multi-media applications, multi-media content, etc. In accordance
with exemplary embodiments, computer system 122 utilizes a user
control interface (UCI) 130 provided by the bandwidth control
application 110, as will be described further herein. Television
devices 118 and 124 may include a standard broadcast, cable, and/or
premium channel-viewing device. Television devices 118 and 124 may
also comprise network elements that support, e.g., Web TV. In
addition, television devices 118 and 124 may include peripheral
components, such as a set top box, remote control, personal video
recorder (PVR) 120, or other suitable elements. It will be
understood that any of these components may provide computing
functions or operations. Telephony devices may comprise a wireline
telephone, a cellular telephone, or other suitable voice
communications device. Further, telephony devices may implement
multi-media applications such as video/text messaging and related
functions.
[0028] Customer premises 104 also includes a gateway, e.g.,
residential gateway (RG) 126 that may serve as a DSL modem and,
optionally, a routing device to allow one or more of devices
118-124 to communicate via a DSL interface. The residential gateway
126 may also be used to provide a firewall to inhibit viruses from
affecting the devices in the customer premises 104. In exemplary
embodiments, the residential gateway 126 includes the network
connection and session controller (NCSC) 128. In alternative
exemplary embodiments, the NCSC 128 may reside in network 108,
e.g., in a switch/router or access controller. NCSC 128 controls,
limits and/or shapes traffic for each separate session present on a
connection at the customer premises 104.
[0029] The residential gateway 126 of customer premises 104
communicates with network 108 via, e.g., a digital subscriber line
access multiplexor (DSLAM) (not shown). The DSLAM concentrates
traffic from multiple DSL loops onto a backbone network, which is
part of the network 108. The DSLAM may, in some embodiments,
operate on packets, frames, and/or messages passing therethrough.
For example, to support dynamic IP address assignment, the DSLAM
may inspect the IP address of packets to direct the packets to
their proper destination.
[0030] It will be understood that one or more of the elements
described with respect to customer premise 104 (e.g., 118-128) may
perform the functions of `resources` when tasked by the bandwidth
control application 110 to implement a control action, as will be
described further herein.
[0031] Also residing in the network 108 is connection and session
monitor (CSM) 116, which is in the path of the network connection
that supports the customer premises 104, in order to be able to
perform bandwidth usage measurements and/or other traffic
measurements relevant to the customer or user. For example, the CSM
116 may be running in a router or access concentrator of the
network 108. The CSM 116 monitors bandwidth usage for customer
premises 104.
[0032] The CSM 116 and NCSC 128 form a comprehensive monitoring and
control system. For illustrative purposes, two monitoring/control
devices 116 and 128 are shown in the system of FIG. 1. However, it
will be appreciated that there may be more or fewer
monitoring/control devices, depending on the need. In exemplary
embodiments, each of the monitoring/control devices 116 and 128
receives the service destined for the specific customer premises
104 and each allows the service to continue e.g., over the network
108 and/or along the pathway 126 to the customer premises 104 so
that service is not interrupted. However, these devices 116 and 128
collectively measure one or more characteristics of the service via
the communications signal transmitted therethrough, such as voltage
and/or power level and/or data rate and/or data delay/latency
and/or data loss, and compares the measurement to a threshold or
other criteria that defines what is to be expected or what is known
to be acceptable to the customer of customer premises 104. The NCSC
128 controls and/or limits and/or shapes the traffic to one or more
destinations (e.g., devices 118-124) based upon pre-defined
policies as will be described further herein.
[0033] Turning now to FIG. 2, a flow diagram describing a process
for implementing the bandwidth control services will be described
in accordance with exemplary embodiments. At step 202, the host
system 102 receives customer input relating to quality of service
preferences. This information may be obtained directly via, e.g., a
web site accessible via a broadband modem or residential gateway
126. Alternatively, this information may be obtained indirectly
via, e.g., the UCI 130 provided by the service provider that
communicates to the CSM 116. A sample user interface 300 is shown
and described in FIG. 3.
[0034] At step 204, device data is obtained and analyzed in order
to determine the sensitivities and/or capabilities of the devices
(e.g., 118-124) at customer premises 104. This information may be
stored in databases 134 and 136, respectively. The device data may
be acquired via, for example, the UCI 130, or may be determined by
polling, queries, etc. For example, the bandwidth control
application 110 may query devices and/or applications associated
with a user. The polling, or querying, may occur continuously,
periodically, randomly, as needed (e.g., triggered by an event such
as a user logging in or signing off of a device or application), or
conditionally (e.g., when pre-configured data is not found).
[0035] While the bandwidth control services are described herein
with reference to end-user devices and service sessions, it will be
understood that the functionality of the bandwidth control services
may also be applied to servers, equipment, resources, etc., of a
provider of the communication sessions. The operations of the
servers, equipment, resources, etc., may be controlled via the
bandwidth control application 110 in a manner similar to that
described above with respect to the end user devices and sessions
of customer premises 104.
[0036] At step 206, the CSM 116 monitors the connection at customer
premises 104, including individual, simultaneously occurring
sessions therein (e.g., one active PC 122 and related applications,
one high definition TV 118, etc.). The CSM 116 monitors, for
example, bandwidths, throughput, delay/latency, percent
utilization, errors, etc. This information is provided to the DAE
114, e.g., on a periodic basis or continuous basis.
[0037] The DAE 114 consults with one or more databases 132-136 to
determine previous policy settings and operating mode settings
(i.e., current state information) at step 208. The DAE 114 analyzes
the measurements to determine the desired state (e.g., a quality of
service level specified in the preferences) and whether there exist
any differences between, e.g., specified aspects of the current
state and the desired state at step 210. The differences, or
deltas, may be weighted based upon user and/or device/application
sensitivities derived from database 134, current conditions,
allowable contingencies, limits, rules/tables, etc., and evaluated
with respect to the desirability of implementing a policy change
(also referred to as control action) versus implementing a
operating mode change (also referred to as control action). These
deltas are then provided to the NPC/OMC 112.
[0038] The NPC/OMC 112 converts the deltas into policy changes or
control actions, operating mode changes or control actions, or a
combination of both at step 212. This may be implemented via
mapping the deltas to desired policies or operating modes using
pre-defined rules or tables. The NPC/OMC 112 then selects an
appropriate policy and/or operating mode resource at step 214. The
selected policy and/or operating mode changes are then provided to
the selected resource controller for implementation at step 216.
For example, the selected changes may be transmitted to NCSC 128
via CSM 116 and network 108.
[0039] The receiving controller (e.g., NCSC 128) executes the
changes in accordance with the selected policy and/or operating
mode at step 218. The NCSC 128 may be prompted to verify the
success of the implemented change at step 220, and provide
notification of said success to the NPC/OMC 112 via CSM 116 and
network 108 at step 222.
[0040] Optionally, the change may be logged in storage device 106
(e.g., in one or more of databases 132-136) at step 224. Changes
may be logged at a customer premises (e.g., 104) for use by a local
device or application. A user of one or more devices 118-124 may be
notified of the change that has been implemented via one of devices
118-124 or other suitable means of communication at step 226.
[0041] Turning now to FIG. 3, a sample user interface screen 300
for establishing user preferences will now be described. As
indicated above, a user may implement the user preferences via UCI
130 provided to the user via, e.g., device 122, by the bandwidth
control application 110. The user interface screen 300 of FIG. 3
enables a user to establish quality priorities based upon selected
categories, such as devices, users, services, situations, etc. As
shown in the user interface screen 300 of FIG. 3, quality of
service priorities may be set by DEVICE option 302, USER option
304, and/or SERVICE option 306.
[0042] DEVICE option 302 includes a drop down field for selecting
from a pre-defined list of devices (e.g., TVs, computers, cell
phones, etc.) residing in the customer premises 104. In alternative
embodiments, the user may be presented with a field for manual
entry of a device. DEVICE option 302 enables a user to individually
select quality settings based upon policies and/or operating modes
for each device in customer premises 104. The priorities may be
implemented using a numerical system (e.g., priority 1 is highest
to priority 10 lowest). The user would then assign priorities for
each device in the customer premises 104. To ensure that a device
assigned a high priority achieves optimal quality of service
levels, a policy may be defined, for example, that specifies that
the device is to be allocated the highest acceptable bandwidth as
compared to other simultaneously operating devices in the premises
104. The policies applied to each of the established priority
levels may be defined commensurate with the nature of the
applicable device and/or application. Operating mode settings may
be selected for the devices via option 302 as well.
[0043] The quality priorities may be assigned based upon the type
of user of the devices. This is implemented via the USER option
304. For example, a user-based priority for policy-based control
may specify that activities conducted on devices assigned to one or
more users at customer premises 104 are to be given a lower
priority. The devices may be assigned to users by a user
identification, a device location (e.g., PC in teenager's bedroom),
or other suitable means of association. Likewise, operating modes
may be selected for each user via option 304 as well.
[0044] The quality priorities may also be assigned based upon the
type of service executing on the devices. This is implemented via
the SERVICE option 306. For example, a service-based priority may
specify that voice traffic for all devices (or users) be given a
higher priority than web browsing. In another example, a priority
may specify that video traffic for all devices (or users) be given
a higher priority than any other application. These services may be
ranked in order of priority among multiple devices and/or users.
These policy-based priority assignments may result in a greater
allocation of bandwidth to high-priority services.
[0045] In addition to assigning quality priorities according to
device, user, and service, the bandwidth control application 110
may enable a user to prioritize quality controls within each
category. For example, as shown in user interface screen 300, a
user has selected the SERVICE option 306 and has further selected a
policy-based assignment rather than an operating mode-based
assignment. A subwindow 308 appears. The user has made policy-based
assignments based upon services, namely audio=1, video=2, and
data=3. Within each service category, the user may further
establish policy-based priority assignments. Thus, as shown in the
subwindow 308, for example, the user has selected OFCPC (office
computer) to receive a higher priority than BDRM1TV. In addition,
BDRM1TV has been selected to receive a higher priority than
BDRM2TV.
[0046] A user may also select settings that further define quality
priority assignments via the LIMITS option 309. For example, a user
may specify that video traffic on OFCPC shall not exceed 80% of
connection bandwidth and web browsing shall not exceed 10% of
connection bandwidth. In another example, a user may specify that
data traffic on a device shall not exceed 20% of connection
bandwidth when video is present; otherwise, the data traffic shall
not exceed 60% of connection bandwidth. In yet another example, a
user may specify that specified traffic shall be implemented on a
first come first serve basis, e.g., where devices have equal
priority.
[0047] Policy changes or updates to existing devices or services
may be designated by a user or may be automatically implemented by
the bandwidth control application 110 as needed. If designated by a
user, these changes may be entered via POLICY UPDATES option 310.
For example, a policy update may specify that quality of service
shall be increased or decreased by, e.g., a number of units.
Alternatively, a policy update may specify that a bandwidth limit
shall be increased or decreased by a percentage of the total
bandwidth or by a number of Mbps, etc.
[0048] Likewise, operating mode changes or updates to existing
devices or services may be designated by a user or may be
automatically implemented by the bandwidth control application 110
as needed. If designated by a user, these changes may be entered
via OPERATING MODE UPDATES option 312. For example, an operating
mode update may specify that a compression ratio shall be made
higher or lower. In another example, an operating mode update may
specify that a parameter be changed, e.g., immediately, or at a
selected rate until a condition is met or event is reached. In yet
another example, an operating mode update may specify that a device
or application be turned off or on, or to a particular state (e.g.,
standby, dormant) until a condition is met or trigger occurs. In
addition, an operating mode may specify a change in time in which a
service is provided. For example, a user of PVR 120 wishes to
record a program, however, the current state of bandwidth
utilization is high due to other sessions implemented by various
resources. An operating mode may specify a later time in which to
record the program (e.g., via a lower priority established for PVR
120), thereby limiting or controlling the bandwidth utilization for
the connection.
[0049] In exemplary embodiments, the bandwidth control application
110 may include a training model or learning algorithm for each
customer premises such that customer preferences may be implied by
the bandwidth control application 110 based upon customer history
and patterns. The bandwidth control application 110 may record
information regarding typical customer usage patterns, translate
this information into a situational description (e.g., via rule
selection and parameter settings), and periodically update this
information.
[0050] As indicated above, the bandwidth control services monitor
customer traffic in terms of bandwidth and/or other communications
characteristics or aspects, analyze the traffic measurements,
determine approximately when, and in what manner, simultaneously
provided services (e.g., services provided over multiple
simultaneous data sessions) are likely to interfere with or
otherwise impact each other, and to automatically adjust traffic
policing or shaping or other control mechanisms in the network
and/or to automatically adjust device and/or service
provider-related and/or service parameters such as the level and
timing of device/application requests or service/server responses
or other service-related activity so as to correct the problem or
avoid its occurrence, and further to automatically determine and
implement the best coordinated combination of control via the
above.
[0051] In exemplary embodiments, user preferences may be
established presenting the user with an available fixed quantity of
graphical objects or icons, each of which represents an amount of
traffic capacity, the number of objects increasing or decreasing
according to the capacity of the data connection. The user may then
place a desired number of "bandwidth objects" into an area on the
user interface screen representing a specific device or session, or
general type of session (e.g., video, telephony, music
downloading). In this way, the user is provided with a visual
indication of the relative capacity assignments. Other methods may
also be used, including, for example, adjusting the segments of a
pie chart.
[0052] As described above, the exemplary embodiments can be
implemented in the form of computer-implemented processes and
apparatuses for practicing those processes. The exemplary
embodiments can also be implemented in the form of computer program
code containing instructions embodied in tangible media, such as
floppy diskettes, CD ROMs, hard drives, or any other
computer-readable storage medium, wherein, when the computer
program code is loaded into and executed by a computer, the
computer becomes an apparatus for practicing the embodiments.
Exemplary embodiments can also be implemented in the form of
computer program code, for example, whether stored in a storage
medium, loaded into and/or executed by a computer, or transmitted
over some transmission medium, loaded into and/or executed by a
computer, or transmitted over some transmission medium, such as
over electrical wiring or cabling, through fiber optics, or via
electromagnetic radiation, wherein, when the computer program code
is loaded into an executed by a computer, the computer becomes an
apparatus for practicing the embodiments. When implemented on a
general-purpose microprocessor, the computer program code segments
configure the microprocessor to create specific logic circuits.
[0053] While the invention has been described with reference to
exemplary embodiments, it will be understood by those skilled in
the art that various changes may be made and equivalents may be
substituted for elements thereof without departing from the scope
of the invention. In addition, many modifications may be made to
adapt a particular situation or material to the teachings of the
invention without departing from the essential scope thereof.
Therefore, it is intended that the invention not be limited to the
particular embodiments disclosed for carrying out this invention,
but that the invention will include all embodiments falling within
the scope of the claims. Moreover, the use of the terms first,
second, etc. do not denote any order or importance, but rather the
terms first, second, etc. are used to distinguish one element from
another. Furthermore, the use of the terms a, an, etc. do not
denote a limitation of quantity, but rather denote the presence of
at least one of the referenced item.
* * * * *