Network capacity planning

A network device is configured to receive information relating to factors associated with quality of experience issues. The network device is configured to analyze the information. The network device is configured to predict that a quality of experience factor associated with a particular type of communication will exceed a threshold level a future time. The network device is configured to send a message to the device, the device generating a rule or policy; and the rule or policy instructing one or more other network devices to increase a capacity of the network to prevent the quality of experience factor from exceeding the threshold value at the future time.

BACKGROUND

A network may provide service to a user device connected to the network. During the operation of the network, the network, or a part of the network, may reach its maximum capacity level. As the network, or part of the network, reaches, or exceeds, the maximum capacity level, the user, of the user device, may experience quality of experience (QoE) issues, such as delay, failure of service, and/or other issues.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Systems and/or methods described herein may analyze information regarding the threshold level for a QoE factor for a particular type of communication; determine whether the QoE factor for the particular type of communication within the network has reached the threshold level and/or predict when the QoE factor for the particular type of communication in the network may reach the threshold level; and implement solutions to resolve any potential QoE issues by increasing the capacity level of the network.

FIG. 1is a diagram of an overview of an implementation described herein. As shown inFIG. 1, a user (“Tim”) is using his smart phone (Tim's smart phone) to watch a movie that he is receiving from Sci-Fi movie provider via a network. As Tim is watching the movie, the network analysis device may be receiving information about the delay rates for streaming video content within a particular coverage area of the network. The network analysis device may receive communication information between different user devices associated with a particular coverage area of the network, including Tim's smart phone (which is being used to receive streaming video content) that is also located in that particular coverage area of the network. The network analysis device may analyze whether the delay rate for streaming video content in the particular coverage area of the network has exceeded a threshold level. The threshold level indicates the maximum level of the delay rate that is allowable before the user (Tim) begins to have QoE issues. The network analysis device may determine that the delay rate, for streaming video content, in the particular coverage area of the network has not reached the threshold level. The network analysis device may predict that the delay rate, for streaming video content, in the particular coverage area of the network may reach the threshold level within the next 24 hours. The network analysis device may send a message to a computer. The computer is associated with the network analysis device and the network service provider. A user, of the computer, may view the message (sent from the network analysis device) and may have different options on how to provide additional capacity, such as adding additional channels, to the particular coverage area of the network to prevent the delay rate from exceeding the threshold level as predicted within the next 24 hours.

As a result, a network may operate more efficiently based on an analysis system that is able to detect when users may experience QoE issues before a QoE factor exceeds a threshold level. With the ability to predict future QoE issues, the network may provide a greater level of QoE to the users of the network.

FIG. 2is a diagram of an example environment200in which systems and/or methods described herein may be implemented. As shown inFIG. 2, environment200may include a user device205, a device210, a data collection device215, an analysis center220, a data memory device225, a content provider230, an analysis memory device235, network240, and a network250.

User device205may include any computation or communication device, such as a wireless mobile communication device that is capable of communicating with a network (e.g., network240and/or network250). For example, user device205may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a computer, a laptop, a tablet computer, a camera, a personal gaming system, a television, or another mobile, computation, or communication device.

User device205may include a variety of applications, such as, for example, an e-mail application, a telephone application, a camera application, a video application, a multi-media application, a music player application, a visual voicemail application, a contacts application, a data organizer application, a calendar application, an instant messaging application, a texting application, a web browsing application, a location-based application (e.g., a GPS-based application), a blogging application, and/or other types of applications (e.g., a word processing application, a spreadsheet application, etc.).

Device210may include any computation or communication device that is capable of communicating with a network (e.g., network240and/or network250). Device210may include a computer, a laptop, a workstation, or another device capable of receiving information and displaying the information to a user of device210.

Data collection device215may include one or more network devices, or other types of computation or communication devices, that gather, process, search, and/or provide information in a manner described herein. Data collection device215may request and/or receive information associated with the operation of network240. Data collection device215may be a part of analysis center220or data collection device215may be a separate device than analysis center220.

Analysis Center220may include one or more network devices, or other types of computation or communication devices, that gather, process, search, and/or provide information in a manner described herein. Analysis center220may analyze various issues relating to QoE factors that are associated with the capacity level of a network.

Data memory device225may include one or more memory, or network, devices that gather, process, store and/or provide information described herein. Data memory device225may store information collected by data collection device215. Data memory device225may be a part of data collection device215or data memory device225may be a separate device than data collection device215.

Content provider230may include one or more network devices, or other types of computation or communication devices that gather, process, and/or provide information in a manner described herein. For example content provider230may send, via network240, content to user device205. The content is intended to be broadly interpreted to include any computer readable data that may be transferred over a network. Content may include objects, data, images, audio, video, text, files, and/or links to files accessible via one or more networks. Content may include a media stream, which may refer to a stream of content that includes video content (e.g., a video stream), audio content (e.g., an audio stream), and/or textual content (e.g., a textual stream).

Analysis memory device235may include one or more memory, or network, devices that gather, process, store and/or provide information described herein. Analysis memory device235may receive analysis information from analysis center220and may store the analysis information and/or send the analysis information to device210. Analysis memory device235may be part of analysis center220or analysis memory device235may be a separate device.

Network240and/or network250may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network and/or another network. Additionally, or alternatively, network240and/or network250may include a local area network (LAN), wide area network (WAN), a metropolitan network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a satellite network, a GPS network, a fiber optic-based network, and/or combination of these or other types of networks. Additionally, or alternatively, network240and/or network250may support secure communications via a private network (e.g., a virtual private network (VPN) or a private IP VPN (PIP VPN), and/or secure communications via a public network.

Additionally, or alternatively, network240and/or network250may include a radio access network (RAN), such as a long term evolution (LTE) network, that may include a variety of components to facilitate mobile communications, such as antennas, base stations, mobile switching centers, and interfaces with Public Switched Telephone Networks (PSTNs) and/or packet data servicing nodes (PDSNs).

Network240and network250may be the separate networks, or network240and network250may be part of the same network.

In some implementations, communications between user device205and other devices (associated with network240and/or network250) may be via data packets. The data packets may be defined as Internet Protocol (IP) data packets (associated with IP version 4 (IPv4), IP version 6 (IPv6), or any other IP version), session initiation protocol (SIP) data packets, or some other form or arrangement of data.

The quantity of devices and/or networks, illustrated inFIG. 2is provided for explanatory purposes only. In practice, there may be additional devices and/or networks; fewer devices and/or networks; different devices and/or networks; and differently arranged devices and/or networks than illustrated inFIG. 2. Also, in some implementations, one or more of the devices of environment200may perform one or more functions described as being performed by another one or more of the devices of environment200. Devices of environment200may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

FIG. 3is a diagram of example components of a device300. Device300may correspond to user device205, device210, data collection device215, analysis center220, data memory device225, content provider230, and/or analysis memory device235. Additionally, or alternatively, each of user device205, device210, data collection device215, data memory device225, analysis center220, content provider230, and/or analysis memory device235may include one or more devices300and/or one or more components of device300.

As shown inFIG. 3, device300may include a bus310, a processor320, a memory330, an input component340, an output component350, and a communication interface360. In other implementations, device300may contain fewer components, additional components, different components, or differently arranged components than depicted inFIG. 3. Additionally, or alternatively, one or more components of device300may perform one or more tasks described as being performed by one or more other components of device300.

Bus310may include a path that permits communication among the components of device300. Processor320may include one or more processors, microprocessors, or processing logic (e.g., a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC)) that interprets and executes instructions. Memory330may include any type of dynamic storage device that stores information and instructions, for execution by processor320, and/or any type of non-volatile storage device that stores information for use by processor320.

Input component340may include a mechanism that permits a user to input information to device300, such as a keyboard, a keypad, a button, a switch, etc. Output component350may include a mechanism that outputs information to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc.

Communication interface360may include any transceiver-like mechanism that enables device300to communicate with other devices and/or systems. For example, communication interface360may include an Ethernet interface, an optical interface, a coaxial interface, a wireless interface, or the like.

In another implementation, communication interface360may include, for example, a transmitter that may convert baseband signals from processor320to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communication interface360may include a transceiver to perform functions of both a transmitter and a receiver of wireless communications (e.g., radio frequency, infrared, visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, waveguide, etc.), or a combination of wireless and wired communications.

Communication interface360may connect to an antenna assembly (not shown inFIG. 3) for transmission and/or reception of the RF signals. The antenna assembly may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly may, for example, receive RF signals from communication interface360and transmit the RF signals over the air, and receive RF signals over the air and provide the RF signals to communication interface360. In one implementation, for example, communication interface360may communicate with other networks and/or devices connected to network240and/or network250.

FIG. 4is a flow chart of an example process400for analyzing the capacity of a network. In one implementation, process400may be performed by analysis center220. In another example implementation, one or more blocks of process400may be performed by one or more other devices, such as data collection device215and/or device210.

Process400may include receiving information about the network (block410). Analysis center220may receive information about network240from data memory device225. Data memory device225may receive the information from data collection device215. Data collection device215may include or interact with different types of data collection applications to receive information about different network devices and/or interfaces associated with a session between user device205and network240. These different types of data collection applications may send requests for information to different network devices within network240and/or different interfaces between different network devices for information about network operations. The different types of data collection applications may obtain the information in real time. The different types of data collection applications may perform deep packet inspection across various user plane and control plane network interfaces.

The data collection applications may include one or more of the following: simple network management protocol (hereinafter referred to as “SNMP”), Syslog, central processing unit utilization (hereinafter referred to as “CPU utilization”), Netflow, session initiation protocol flow information exchange (hereinafter referred to as “SIPFix”), internet protocol flow information exchange (hereinafter referred to as “IPFix”), subscriber packet data, signaling links, and/or any other type of data collection application.

SNMP may be a protocol used to monitor the activities of network devices. Each network device may have a SNMP interface that may permit analysis center220to obtain information regarding the activity of the network device. Syslog may store information associated with computer data logging that may provide information to analysis center220regarding the activity of the network. CPU utilization may include information about the amount of time that a network device is active. SIPFix may provide analysis center220with information associated with flow rates of data packets and/or the amount of information, associated with SIP data packets, being sent to/from network devices.

IPFix and/or Netflow may provide analysis center220with information associated with flow rates of data packets and/or the amount of information, associated with IP data packets, being sent to/from network devices. For example, in an LTE network, IPFix may provide information associated with flow rates of data packets being sent between different network devices. For example, in an LTE network, IPFix may obtain information being sent (e.g., via an S1-U interface) between a serving gateway (hereinafter referred to as “SGW”) and a base station. Additionally, or alternatively, in an LTE network, IPFix may obtain information being sent (e.g., via an S11 interface) between mobility management entity device (hereinafter referred to as “MME”) and a packet data network (PDN) gateway (hereinafter referred to as PGW).

Subscriber packet data may include information about data packets associated with applications and/or services that are being used by a user of user device205. Signaling links may provide analysis center220with information associated with the set-up, management, and/or tear down of communications between user device205and network240.

The different data collection applications within data collection device215may send the information to data memory device225, for the session between user device205and network240according to different QoE factors. For example, the QoE factor may be associated with delay, loss, failure, throughput, and/or other types of QoE factors. Data memory device225may store the session information based on an identifier for the session. Additionally, or alternatively, data collection device215may receive different types of information associated with QoE factors for different types of communications and send the information to data memory device225.

For example, for a conversational voice communication (between user device205and network240), data collection device215may collect information associated with average session setup delay time, average session setup failure rate, average mean opinion score, packet loss rate, jitter, and/or other information. A conversational voice communication may include a voice over LTE communication or a third party over-the-top (OTT) voice over IP (VoIP) communication.

In another example, for an interactive video communication (between user device205and network240), data collection device215may collect information associated with average session setup delay time, average session setup failure rate, video opinion score, packet loss, jitter, and/or other information. An interactive video communication may include a video call made using network devices in network240or a third party OTT video call.

In another example, for a streaming video communication (between user device205and network240), data collection device215may collect information associated with average throughput rates, average session setup delay time, average setup failure rate, average buffering/stalling event rate, average video opinion score, packet loss, and other information. A streaming video communication may include adaptive streaming or a progressive download.

In other examples, such as for Internet browsing communications, machine to machine communication, or other types of IP traffic (between user device205and network240), data collection device215may collect information including average throughput rates, average session setup delay time, average session setup failure rate, and/or other information. Data collection device215may send the information to data memory device225.

Additionally, or alternatively, data collection device215may send, to data memory device225, information that includes a timestamp and/or an identifier for the particular coverage area of the network. For example, the identifier may identify an individual cell region within the network, a group of cell regions, or a different category regarding a coverage area of the network. The timestamp information may indicate when the information was collected by data collection device215.

Process400may include analyzing the information about the network (block420). Analysis center220may analyze the information (described with regard to block410) received from data memory device225.

Analysis center220may derive a daily busy hour for a particular coverage area of the network. The busy hour may be derived by determining a maximum traffic intensity based on several factors, such as average communication time, and the number of attempts to make a communication per unit of time. Analysis center220may derive a daily QoE factor (e.g., delay) for a particular type of application (e.g., streaming video) in a particular coverage area (e.g., cell area) within the network during the busy hour of the particular coverage area. Additionally, analysis center220may derive a daily non-QoE factor (e.g., flow rates or total power usage within the particular coverage area) for a particular type of application in a particular coverage area within the network during the busy hour of the particular coverage area.

Analysis center220may compare the QoE factor, during the busy hour of the particular coverage area with the threshold level associated with the particular QoE factor within the particular coverage area of the network. The threshold level may indicate the maximum value of the QoE factor that may occur during the busy hour of the particular coverage area of the network without any QoE issues occurring for the user (e.g., no sound distortion, pixels appearing within a screen, etc.). In one example implementation, analysis center220may compute the threshold level for an interval of time (e.g., busy hour for every hour, every day, every three days, every week, every month, etc.). In another example implementation, device210may provide the threshold level to analysis center220. A user, of device210, may determine the threshold level for the QoE factor and send the threshold level information, via device210to analysis center220. Different types of communications may have different threshold levels for different QoE factors within the particular coverage area of the network. For example, a threshold level for conversational voice communications, in a particular coverage area of the network, may be different (e.g., greater or less) than a threshold level for streaming video. Additionally, analysis center220may compare the non-QoE factor, during the busy hour of the particular coverage area, with the threshold level associated with the non-QoE factor within the particular coverage area of the network.

In some implementations, analysis center220may automatically determine, based on the analysis, that additional cells and/or additional channels may be added to the particular coverage area. Analysis center220may send a notification to network240to implement the requested changes. Network240may receive the notification and the network elements may implement the requested changes, such as adding additional cells to the coverage area.

If the capacity threshold is exceeded (block425—YES), then process400may include sending the analysis regarding the network (block430). For example, analysis center220may determine that the QoE factor associated with the daily busy hour exceeds a particular threshold level. Analysis center220may send the analysis to analysis memory device235. Analysis memory device235may store the analysis and may send the analysis to device210. A user (using device210), may view the analysis and determine (using device210) how to provide additional capacity to the particular coverage area of the network. The user may determine that additional cells and/or additional channels may be added to the particular coverage area. The user may send, using device210, a notification to network240to implement the requested changes. Network240may receive the notification and the network elements within network240may implement the requested changes, based on the notification, such as adding additional cells.

If the capacity threshold is not exceeded (block425—NO), then process400may include performing additional analysis (block435). For example, analysis center220may perform additional analysis to predict when the particular coverage area may reach the maximum capacity level for the particular QoE factor.

Analysis center220may use different types of analysis to predict when the capacity for a particular coverage area may exceed the threshold level of the particular coverage area. For example, analysis center220may use linear regression analysis to determine the predicted time and/or date that the capacity of the particular coverage area may exceed the threshold level for the particular coverage area.

Additionally, or alternatively, analysis center220may perform other types of analysis to further refine the prediction. Analysis center220may perform pattern matching and/or other types of historical analysis to compare the prediction with other coverage areas of the network. For example, analysis center220may analyze historical values for a QoE factor within one or more other coverage areas (such as a cell region). Additionally, or alternatively, analysis center220may determine whether there are any patterns or trends associated with the QoE factor in the other coverage areas. For example, analysis center220may determine whether, during a busy hour on a particular day (e.g., Monday), the setup delay times for streaming video communications begin to exceed the threshold value for setup delay times for streaming video communications. Additionally, or alternatively, analysis center220may perform heuristic or other types of predictive and/or statistical analysis to further refine the prediction.

Additionally, during the analysis, analysis center220may include information regarding non-QoE factors and use those values within the different types of analysis, discussed above. For example, analysis center220may analyze power consumption (associated with multiple user devices205) within the particular coverage area to determine when the amount of power consumption will exceed the threshold level for power consumption in the particular coverage area. Analysis center220may, for example, analyze flow rates and determine that a trend of increasing flow rates may indicate when the particular type of communication (e.g., Internet browsing) may exceed the threshold level for flow rates in the particular coverage area.

If there is not a match with the previous history (block440—NO), then process400may include sending the analysis (block445). For example, analysis center220may determine that that there is no similarity (e.g., no similar trends or values) between the QoE factor for the other coverage areas and the particular coverage area that is being analyzed. Analysis center220may send the analysis to analysis memory device235. Analysis memory device235may store the analysis and may send the analysis to device210. A user, using device210, may view the analysis and determine, using device210, how to provide additional capacity to the particular coverage area of the network. This may include generating or changing rules and/or policies to increase the capacity of the particular coverage area of the network. For example, the user may determine that additional cells may be added to the particular coverage area that will increase the capacity of the particular coverage area and prevent the QoE factor from exceeding the threshold level. The user may send, using device210, a notification to network240to implement the requested changes.

In some implementations, analysis center220may automatically make the determination, based on the analysis, whether to provide additional cells or channels for the particular coverage area.

If there is a match with the previous history (block440—YES), then process400may include performing additional analysis (block450). For example, analysis center220may determine that that there is a match between the QoE factor for the other coverage areas and the particular coverage area that is being analyzed. Analysis center220may further analyze the information by using pattern matching and/or other historical analysis methods, as described in block435.

Process400may include sending the analysis (block460). Analysis center220may send the analysis to analysis memory device235. Analysis memory device235may store the analysis and may send the analysis to device210, described with regard to block445.

While a series of blocks has been described with regard toFIG. 4, the order of the blocks may be modified in other implementations. Further, non-dependent blocks may be performed in parallel.

FIGS. 5A-5Bare diagrams of example processes for analyzing a network.FIG. 5Ashows data collection device215, analysis center220, network240, network250, user device505, and Movies Plus server510. An example of user device505may correspond to user device205, described with regard toFIG. 2. An example of Movies Plus server510may correspond to content provider230. For the purpose of this example, assume that data collection device215performs the functions of data memory device225, and analysis center220performs the functions of analysis memory device235.

As shown inFIG. 5A, a user (“Tom”) is using his smart phone (user device505) to watch movies from Movies Plus. To watch the movie, user device505sends a message, via network240, to Movies Plus server510, via network240. As information is being sent to/from network240, data collection device215may be collecting data about the information and sending the data to analysis center220.

FIG. 5Bshows data collection device215, analysis center220, network240, and device530. An example of device530may correspond to device210, described with regard toFIG. 2. Data collection device215may receive information relating to average throughput rates, average session setup delay time, and average session setup failure rate. Data collection device215may also receive other network information, such as data flow information and also an identifier identifying the cell in which user device505is located.

Data collection device215may send the collected information to analysis center220. Analysis center220may analyze the information received from data collection device215. Analysis center220may determine that, at the present time, the average session setup delay time has not reached the threshold level during a busy hour of the day. Through additional analysis, analysis center220may predict that, in36hours, the average session setup delay time will reach the threshold level.

As shown inFIG. 5B, analysis center220may send the prediction to device530. Device530is being used by an employee of the provider of network240. The employee is able to view a message (sent from analysis center220) that notifies the employee that the average setup delay time (for streaming videos in that particular coverage area) will exceed the threshold value in 36 hours. The employee decides to select an option to increase the number of channels within the cell region. By selecting the option, device530may send a message to network240(via network250) to implement the increased number of channels for the cell region.

As a result, a network may operate more efficiently based on an analysis system that is able to detect when users may experience QoE issues before a QoE factor exceeds the threshold level. With the ability to predict future QoE issues, the network may provide a greater level of QoE to the users of the network.