Abstract:
A method for managing bandwidth to a user. A selection of a profile is received from a plurality of profiles. The profile is selected to allocate bandwidth to a user. The selection of the profile for allocating bandwidth to the user through a connection is determined. The bandwidth is allocated to the connection in response to determining the profile provides for a bandwidth reconfiguration.

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS 
     This patent application is a continuation of U.S. patent application Ser. No. 12/168,327, filed Jul. 7, 2008 now U.S. Pat. No. 7,782,884 and entitled: SYSTEM AND METHOD FOR ADJUSTING BANDWIDTH BASED ON A TIME OF DAY PROFILE, which is incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     Description of the Related Art 
     The use of and development of communications has grown nearly exponentially in recent years. The growth is fueled by larger networks with more reliable protocols and better communications hardware available to service providers and consumers. 
     Despite the many technological advances, most users of communications services are still limited by traditional service plans. In particular, users are commonly charged a flat rate for data services, such as a specified or guaranteed amount of bandwidth. The bandwidth provided by the communications service provider may limit the user&#39;s activities or ineffectively utilize the communication service provider&#39;s network and available bandwidth. Current systems and services may be inefficient for both the user and the communications service provider. 
     BRIEF SUMMARY OF THE INVENTION 
     One embodiment provides a system and method for managing bandwidth to a user. A selection of a profile may be received from a plurality of profiles. The profile may be selected to allocate bandwidth to a user. The selection of the profile for allocating bandwidth to the user through a connection may be determined. The bandwidth may be allocated to the connection in response to determining the profile provides for a bandwidth reconfiguration. 
     Another embodiment provides a network edge device for managing bandwidth to one or more users. The network edge device may include a clock operable to determine a current time. The network edge device may also include a bandwidth controller operable to determine whether the bandwidth available to a user is to be adjusted based on the current time and a profile. The bandwidth controller may be operable to issue a command to adjust the bandwidth in response to the determination. The network edge device may also include an access circuit for adjusting the bandwidth available to the user through a connection in response to the command. The network edge device may also include cost logic operable to determine costs incurred by the user in response to the profile implemented by the bandwidth controller. 
     Yet another embodiment provides a network device for adjusting bandwidth. The network device may include a processor for executing a set of instructions and a memory in communication with the processor. The memory may be operable to store the set of instructions. The set of instructions may be operable to receive a selection of a profile from a plurality of profiles, the profile being selected to allocate bandwidth to a user, determine the selected profile for allocating bandwidth to the user through a connection, allocate the bandwidth available to the connection in response to determining the selected profile provides for a bandwidth reconfiguration, and track implementation of each of the plurality of profiles during a time period to bill the user for the bandwidth utilized during the time period. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Illustrative embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated by reference herein and wherein: 
         FIG. 1  is a pictorial representation of a communications environment in accordance with an illustrative embodiment; 
         FIG. 2  is a block diagram of a network edge device in accordance with an illustrative embodiment; 
         FIG. 3  is an illustrative chart of available bandwidth compared with utilized bandwidth in accordance with an illustrative embodiment; 
         FIG. 4  is a flowchart of a process for establishing a time of day profile in accordance with an illustrative embodiment. 
         FIG. 5  is a flowchart of a process for adjusted bandwidth to a user in accordance with an illustrative embodiment; and 
         FIG. 6  is an interface for selecting a time of day profile in accordance with an illustrative embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The illustrative embodiments provide a system and method for dynamically adjusting the bandwidth available to a user. In one embodiment, the user may select from multiple time of day profiles to increase the available bandwidth for an additional fee. In particular, the user may select at any time to expand bandwidth received during off-peak or non-peak hours for a small service cost. The additional bandwidth may be utilized to perform network intensive tasks, such as backups, large downloads or uploads, synchronization between offices, devices, servers or other systems, and batch transmission or receipt jobs. Any number of descriptions, classifications or ratings may be used to describe utilization or availability of data services, such as peak, non-peak, and off-peak. For example, peak hours may represent maximum network traffic, non-peak hours may specify network usage between 40 and 70 percent, and off-peak hours may specify network utilization less than 40 percent. However, any number of criteria or thresholds may be utilized to classify network utilization. 
       FIG. 1  is a pictorial representation of a communications environment  100  in accordance with an illustrative embodiment. The communications environment  100  of  FIG. 1  is the system, environment, devices, and settings utilized for data communications. In one embodiment, the communications environment  100  may include a data network  102 , a communications management system  104 , including a network edge device  106 , and a utilization server  108 , connection  109 , a customer  110 , a router  112 , and clients  114  and  116 . 
     The data network  102  is a network and system for communicating data, packets, and other information between any number of points, individual users, businesses, organizations or other communicating parties. The data network  102  may be provided by a communications service provider. The communications service provider may provide data services for multiple users or customers which may include the customer  110 . The data network  102  may include any number of devices, physical connections, elements or wireless systems in addition to the communications management system  104 , network edge device  106 , and utilization server  108 . 
     In one embodiment, the data network  102  may provide any number of data services, including Internet Protcol (IP), Ethernet, digital subscriber line (DSL), ATM, Frame Relay, data over cable service interface specifications (DOCSIS) or other similar data connections for users registered to receive the service. The communications management system  104  is the device or network elements that manages communications for all or a part of the data network  102 . The communications management system  104  may include any number of switches, servers, routers, databases, processing systems, and other elements utilized to enable data communications for the customer  110 . As illustrated herein, the communications management system  104  includes the network edge device  106  and the utilization server  108 . 
     The network edge device  106  is the last device or element that is integrated with the data network  102  before connecting to a device or element utilized by a user shown as the customer  110  in  FIG. 1 . The network edge device  106  is positioned on the outer-most part of the data network  102  to manage bandwidth utilized or available to the customer  110 . The network edge device  106  may be one or more servers, routers, switches or intelligent network devices managing data flow to the customer  110 . However, the network edge device  106  may be any device suitable for managing communications between a data network  102  provided by a communications service provider and the user as represented by the elements of the customer  110 . 
     The network edge device  106  may store one or more time of day profiles for controlling the bandwidth available to the customer  110  through the router  112 . In one embodiment, the customer  110  may select any number of compatible time of day profiles to be stored in the network edge device  106  for implementation. 
     The utilization server  108  is a server configured to track the time of day profiles utilized by the customer  110 . In one embodiment, the customer  110  may select the time of day profile or one or more profiles to be stored in the network edge device  106  and the utilization server  108 . In addition to any number of other software or hardware elements, the utilization server  108  tracks the additional costs for selecting a time of day profile with expanded bandwidth available during non-peak and off-peak hours. In another embodiment, the customer  110  may pay for 50 Mb of bandwidth available to the clients  114  and  116  through the router  112  from the hours of 6:00 AM to 10:00 PM. The customer  110  may select to add a time of day profile that expands the bandwidth available through the router to 100 Mb per second from 10:00 PM to 6:00 AM. The customer  110  may utilize the additional bandwidth to send batch information, perform system updates, backup information or otherwise utilize the bandwidth. In another embodiment, a database in communication with the utilization server  108  may store the selection of a time of day profile for implementation by the network edge device  106 . The utilization server  108  may be connected to any number of billing databases, web servers or other invoice or billing applications or systems in order to bill the customer  110  for the increased bandwidth available through the connection  109 . 
     The customer  110  is a user of the communications service provider operating the data network  102 . The customer  110  may also be an individual, family, organization, group or other data services customer. The customer  110  may be housed in one or more buildings and may receive all data communications through the router  112 . 
     The router  112  is a device configured to route data communications to the clients  114  and  116 . However, the router  112  may be a server, wireless network device or other element suitable for receiving and routing communications to the clients  114  and  116 . In one embodiment, the router  112  may be a WiFi® router configured to communicate with the clients using a wireless standard or proprietary protocol. In another embodiment, the router  112  may be an integrated portion of a local area network utilized by the customer  110 . 
     The clients  114  and  116  are communications or computing devices operable to send and receive data communications. The clients  114  and  116  represent any number of devices or elements that may communicate through the connection  109 . For example, the clients  114  and  116  may include: laptops, personal computers, servers, wireless devices, PDAs, Blackberry®, voice over IP telephones or other similar communications devices. 
     The connection  109  is a data connection between the customer  110  and the data network  102 . For example, the connection  109  may provide the customer  110  access to the Internet, any number of local area networks, private networks, virtual private networks, networks, devices or other communications service providers available through the connection  109 . The connection  109  may be physically represented by a fiber optic connection, category  6  cable, coaxial cable, telephone line, wireless network or other communications line connecting the network edge device  106  and the router  112  which may include both large-scale and small-scale connections. 
       FIG. 2  is a block diagram of a network edge device  200  in accordance with an illustrative embodiment. The network edge device  200  and the user  218  are particular implementations of the network edge device  106  and the customer  110  of  FIG. 1 , respectively. The network edge device  200  may include any number of hardware, software, and firmware elements which may include a processor  202 , a memory  204 , a clock  206 , a bandwidth control  208 , time of day profiles  212 , a user interface  214 , and an access circuit  216 . The network edge device  200  may manage bandwidth and communications for one or more individuals, groups, organizations or businesses, including a user  218 . 
     The processor  202  is circuitry or logic enabled to control execution of a set of instructions. The processor  202  may be a microprocessor, digital signal processor, central processing unit or other device suitable for controlling an electronic device including one or more hardware and software elements, executing software, instructions, programs and applications, converting and processing signals and information, and performing other related tasks. The different elements of the network edge device  200  may be integrated or communicated through leads, wires, busses, sockets, cards or other interfaces. The processor  202  may be a single chip or integrated with other computing or communications elements. In one embodiment, the processor  202  may function with the bandwidth  208  control to manage the available bandwidth allotted to the user  218  through the access circuit. 
     The memory  204  is a hardware element, device or recording media configured to store data for subsequent retrieval or access at a later time. The memory  204  may be static or dynamic memory. The memory  204  may include a hard disk, random access memory, cache, removable media drive, mass storage or configuration suitable as storage for data, instructions, and information. In one embodiment, the memory  204  and processor  202  may be integrated. The memory may use any type of volatile or non-volatile storage techniques and mediums. In one embodiment, the memory  204  may store the current selection of a time of day profile. 
     The clock  206  is a device or software module for tracking and measuring the current time. In one embodiment, the clock  206  is a stratum clock that directly or indirectly receives a time signal indicating the current time from the United States Naval Observatory or equivalent organization. The clock  206  may be enabled to synchronize the current time with one or more other timekeeping elements or clocks. Additionally, the clock  206  may keep and track the current time independently for purposes of autonomy or as needed. The clock  206  may be important because the different time of day profiles  212  may be initiated to increase or decrease the available bandwidth based on the current time read by the clock  206 . 
     The time of day profiles  212  is information that controls a bandwidth available to the user  218  based on the time of day measured by the clock  206 . The time of day profiles  212  may include any number of profiles or settings that may be selected by the user  218  and implemented by the network edge device  200 . For example, the user  218  may select to increase the bandwidth available from 250 Mb to 750 Mbps from 2:00 AM to 7:00 AM for a increased cost of $10.00 per day. The increased bandwidth during this time may be used by the user  218  to perform system updates, backups or other bandwidth intensive processes or functions. 
     In one embodiment, the user  218  may utilize another network device in communication with the network edge device  200  in order to make the selection of the time of day profiles  212  and receive the related cost or billing information. In one embodiment, the user interface  214  may allow the user  218  to update one or more of the time of day profiles  212  via cell phone. In another embodiment, the user  218  may communicate with a billing database through a web server that allows the user  218  to upgrade the time of day profiles  212  selected for implementation by the network edge device  200  using a network connection. 
     The user interface  214  is an interface for receiving user input. The user interface  214  may be a graphical user interface (GUI), interactive voice response system, web page or other interface element or devices. The user interface  214  may be accessible using a user name, password, account number or any other identifiers that allow the user  218  to authenticate the changes made to the time of day profiles  212 . The user interface  214  may be available through any number of computing or telecommunications devices, including personal computers, servers, laptops, routers, wireless devices, virtual tunnels, modules or other elements. The user interface  214  may allow the user  218  to select or change a time of day profile at any time. For example, based on the user&#39;s needs, a time of day profile may be immediately selected and initiated. The user  218  may be charged for the time of day profile on an hourly, daily or monthly basis. For example, the user may be charged for the increased expense for a time of day profile by prorating the costs for the time period the time of day profile is selected. Alternatively, the time of day profile may be charged in day or month increments. 
     The bandwidth control  208  or controller is the logic or circuitry for controlling the bandwidth allocated to the user  218 . In one embodiment, the bandwidth control  208  sends commands to the access circuit  216 . The access circuit  216  is the logic and circuitry that increases or decreases the bandwidth allocated to the user  218 . The access circuit  216  may be connected to the user  218  through a communication line or link. In one embodiment, the data information and packets communicated by the user  218  are channeled through the access circuit  216 . 
     The clock  206 , bandwidth control  208 , time of day profiles  212 , user interface  214 , and access circuit  216  may be implemented as software modules, digital logic, firmware or hardware within or external to the network edge device  200  in order to manage, control, and physically allocate the bandwidth available to the user  218 . 
     The access circuit  216  may utilize any number of physical layer access methods to allocate the bandwidth through one or more circuits, connections or other devices. For example, the access circuit  216  may utilize TCP/IP protocols to send and receive data with the user  218 . However, any standards or protocols available for data communication may be utilized between the access circuit  216  and the user  218 . As previously described, information received from the user  218  may be routed through the access circuit  216  to any number of other network devices, trunks, communications lines or other users. 
       FIG. 3  is an illustrative chart of available bandwidth compared with utilized bandwidth in accordance with an illustrative embodiment.  FIG. 3  shows a chart  300  that may include various statistical and graphical elements which includes traffic  302 , capacity  304 , and available bandwidth  306 . 
     The chart  300  may be utilized by a communications service provider in order to represent traffic  302  on one or more of the service provider&#39;s networks. As shown, the X axis of the chart  300  represents the hours of the day and the time measurement. The Y axis represents the bandwidth in megabytes per second utilized on the network. 
     The capacity  304  is the capacity available on the network. The capacity  304  may represent various theoretical, practical or functional limitations for the communications service provider and the communications service provider&#39;s customers and users. 
     The traffic  302  is the actual usage of the network as measured hour by hour or second by second in megabytes per second. The chart  300  is representative of the network traffic and network capacity available to many communications service providers. It is important to note that between the hours of 11:00 PM and 8:00 AM, the traffic  302  decreases substantially to a low point at approximately 5:00 AM. In other words, during this time period the network may be said to be under utilized as indicated by the available bandwidth  306 . 
     The available bandwidth  306  indicates bandwidth that may be used for data communications. As a result, the communications service provider may offer one or more time of day profiles in order to increase the traffic  302  and more effectively utilize the available bandwidth  306 . For example, from 10:00 PM or 2200 hours, military time, to 2:00 AM may be considered an non-peak time. When the network is not being fully utilized, the time period from 2:00 AM to approximately 8:00 AM may be considered as off-peak times during which the network is minimally utilized. As a result, the communications service provider may for a small increase in costs or fees allow a user to have expanded bandwidth from 11:00 PM to 2:00 AM as a non-peak time. For example for an additional $20.00 per month, the user&#39;s bandwidth may be expanded from 50 Mbps to 100 Mbps. 
     Additionally, the user may be able to select a profile from 2:00 AM to 8:00 AM that triples the bandwidth available during that time for an additional $20.00 per month by selecting a time of day profile. Each of the time of day profiles or both may be purchased or selected by the user. For example if the user selected both profiles, the user would incur the additional cost of $40.00 per month for double the bandwidth during non-peak times and triple the bandwidth during off-peak times. 
     The expanded time of day profile may allow the communications service provider to more effectively utilize the available bandwidth  306  and further increase profit margins and user satisfaction with the services and customization available. The communications service provider may more effectively use communications lines and equipment that is already purchased, leased or otherwise included as an operating expense to increase profits and provide additional alternatives to enhance user satisfaction with the data services provided by the communications service provider. 
       FIG. 4  is a flowchart of a process for establishing a time of day profile in accordance with an illustrative embodiment. The process of  FIG. 4  may be implemented by a network device for receiving time of day profiles. In one embodiment, the network device may be a billing or utility server in communication with one or more user databases, billing databases, and other similar systems and devices. 
     The process may begin with the network device displaying a user interface (step  402 ). The interface may be provided through a website, wireless device or other element. In one embodiment, the user interface is a portal generated by a web server operated by the communications service provider. 
     Next, the network device receives user information for accessing services and devices (step  404 ). The user information may include authentication information, such as a user name, password, account number or other identifying information. The user information may validate that the user is authorized to configure the services and devices that may be configured through the user interface. 
     Next, the network device displays available bandwidth for each time of day profile and an associated cost (step  406 ). The available bandwidth may be displayed to the user based on the amount of bandwidth typically used by the user, network capacity, service level agreements relating to quality of services, dropped packets, device and network connection limitations, and other service guarantees. The associated cost is the price to the user for expanding the bandwidth during the specified time of day. For example, by selecting a particular time of day profile, an additional cost may be incurred. 
     Next, the network device receives a user selection of a time of day profile (step  408 ). The user selection may be received at any time. In one embodiment, the cost for implementing a new time of day profile may be prorated for the portion of the month that the time of day profile is selected and implemented for the user. For example, the user may need to perform a number of backups during a particular week of the month. As a result, an administrator authorized by the user may select one or more time of day profiles that may increase bandwidth for the specified time period. The ability to change the time of day profile on an hourly, daily or weekly basis may allow the user to have increased satisfaction with the communications service provider. 
       FIG. 5  is a flowchart of a process for adjusted bandwidth to a user in accordance with an illustrative embodiment. The process of  FIG. 5  may be implemented by a network edge device. The process may be implemented for any number of users simultaneously in order to take advantage of unused bandwidth available on the communications service provider&#39;s network. The process may begin by determining a currently selected time of day profile (step  502 ). The time of day profile may have been previously elected by the user for implementation. 
     Next, the network edge device determines a current time (step  504 ). The current time may be tracked by one or more clocks of the network edge device or may be streamed to the network edge device from an atomic clock, stratus clock or other timekeeping device or network construct. 
     The network edge device determines whether the bandwidth needs to be adjusted (step  506 ). The determination of step  506  is made based on the current time and the selected time of day profile. If the bandwidth does not need to be adjusted, the network edge device again determines the current time (step  504 ). 
     If the network edge device determines the bandwidth does need to be adjusted in step  506 , the network edge device adjusts the bandwidth (step  508 ). The available bandwidth may be increased or decreased based on the stipulations and criteria of the time of day profile. For example at 2:00 AM, the time of day profile selected by the user may call for a 50% increase in the bandwidth available to the user. However, at 7:30 AM the time of day profile may call for a 50% reduction in the bandwidth allocated to the user. As a result, the bandwidth is adjusted in accordance with the selection made by the user. 
       FIG. 6  is an interface for selecting a time of day profile in accordance with an illustrative embodiment. The interface  600  is an illustrative embodiment of an interface that may be presented to a user to select one or more time of day profiles. The interface  600  is one example of a graphical user interface. The interface  600  may include sections  602 ,  604 ,  606 , and  608 . The interface  600  may be also used by a user service representative or as a menu that may be audibly played to a user through an interactive voice response system. 
     As previously described, the interface  600  may be configured to only allow selections of compatible profiles. For example, the profiles of sections  602 ,  604 ,  606  may be compatible, whereas the profiles of sections  604  and  608  may not be compatible. The profiles as shown in sections  602 ,  604 ,  606 , and  608  may show the time period during which the time of profile is activated, the increased change or available bandwidth allocated to the user, and any increased or decreased cost to the user for selecting that time of day profile. 
     As previously described, the time of day profiles may be selected at any time based on the needs of the user. A selection of a time of day profile may indicate that the user is charged for that time of day profile during the next billing cycle. In another embodiment, the cost of the selected time of day profile may be prorated for the portion of the billing cycle that the user actually utilized that time of day profile. 
     The previous detailed description is of a small number of embodiments for implementing the invention and is not intended to be limiting in scope. One of skill in this art will immediately envisage the methods and variations used to implement this invention in other areas than those described in detail. The following claims set forth a number of the embodiments of the invention disclosed with greater particularity.