Sign In to Follow Application
View All Documents & Correspondence

Video Traffic Management

Abstract: The present subject matter pertains to video traffic management. In one implementation, the method comprises receiving a plurality of video streams and analyzing each of the plurality of video streams to determine a video frame size of the each of the plurality of video streams. The method further comprises estimating video frame size of upcoming data packets associated with the each of the plurality of video streams and computing a total bandwidth required for transmitting all the upcoming data packets associated with the plurality of video streams. Thereafter, an available bandwidth for transmission of the upcoming data packets is determined. The method further comprises ascertaining whether the available bandwidth is less than the total bandwidth, and transmitting a part of the plurality of video streams, wherein the bandwidth required to transmit the part of the plurality of video streams substantially adds up to the available bandwidth.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
27 September 2013
Publication Number
14/2015
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
iprdel@lakshmisri.com
Parent Application

Applicants

ALCATEL LUCENT
3, avenue Octave Gréard, 75007 Paris

Inventors

1. NANDAN, Amar Kumar
ALCATEL-LUCENT INDIA LIMITED NAGAWARA VILLAGE,KASABA TALUK OUTER RING ROAD MANYATA EMBASSY BUSINESS PK 560045 BANGALORE

Specification

2
TECHNICAL FIELD
[0001] The present subject matter relates to communication networks and, particularly
but not exclusively, to video traffic management in communication networks.
BACKGROUND
[0002] Communication networks, such as cellular networks, are often used for making
voice calls and video calls, and for accessing data available on the internet and so on. The
number of users using internet has increased substantially over the years. Also, in recent times,
the standards for communication networks, such as Long Term Evolution (LTE) standards,
facilitate high speed data transfer. The increase in use of data intensive applications and services,
such as video streaming, quickly exhausts the capacity and the bandwidth of the communication
networks, thereby affecting the quality of experience of the users. This has led to development
and deployment of techniques that attempt to manage video traffic in communication networks,
so that the users have a substantially good quality of experience while accessing video data or
availing of video services.
[0003] The service providers, operating the communication networks, usually upgrade
their existing network infrastructure to address the increasing demand for high speed data
transfer. In certain scenarios, the service providers may block some applications that are data
intensive during selected time intervals of the day so as to manage the demand for data transfer.
This leads to dissatisfaction of the users who are unable to access their applications when they
wish.
SUMMARY
[0004] This summary is provided to introduce concepts related to video traffic
management in communication networks. This summary is not intended to identify essential
features of the claimed subject matter nor is it intended for use in determining or limiting the
scope of the claimed subject matter.
[0005] In one example, a video traffic management system for video traffic
management, in communication networks, comprises a processor and a video data analysis
module coupled to the processor. The video data analysis module receives a plurality of video
streams and analyzes each of the plurality of video streams to determine a video frame size of
video frames in the each of the plurality of video streams. Thereafter, a video traffic prediction
3
module, coupled to the processor, estimates a video frame size of upcoming data packets
associated with the each of the plurality of video streams, based on the determined video frame
size of the video frames. The video traffic management system further comprises a video traffic
scheduling module, coupled to the processor, to compute a total bandwidth required for
transmitting the upcoming data packets associated with the plurality of video streams, based on
the estimated video frame size of upcoming data packets, and determine an available bandwidth
for transmission of the upcoming data packets associated with the plurality of video streams. The
video traffic scheduling module then ascertains whether the available bandwidth is less than the
total bandwidth, and on ascertaining the available bandwidth to be less than the total bandwidth,
transmits a set of video streams from amongst the plurality of video streams, wherein the
bandwidth required to transmit the set of video streams substantially adds up to the available
bandwidth and wherein the set of video streams is selected based on the estimated video frame
size of upcoming data packets.
[0006] In another example a method for video traffic management, in communication
networks, comprises receiving a plurality of video streams and analyzing each of the plurality of
video streams to determine a video frame size of video frames of the each of the plurality of
video streams. The method further comprises estimating video frame size of upcoming data
packets associated with the each of the plurality of video streams, based on the determined video
frame size of the video frames, and computing, based on the estimated video frame size of
upcoming data packets, a total bandwidth required for transmitting all the upcoming data packets
associated with the plurality of video streams. Thereafter, the method includes determining an
available bandwidth for transmission of the upcoming data packets associated with the plurality
of video streams and ascertaining whether the available bandwidth is less than the total
bandwidth. The method further comprises transmitting, on ascertaining the available bandwidth
to be less than the total bandwidth, a set of video streams from amongst the plurality of video
streams, wherein the bandwidth required to transmit the set of video streams substantially adds
up to the available bandwidth and wherein the set of video streams is selected based on the
estimated video frame size of upcoming data packets.
BRIEF DESCRIPTION OF THE FIGURES
[0007] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the
4
reference number first appears. The same numbers are used throughout the figures to reference
like features and components. Some embodiments of system and/or methods in accordance with
embodiments of the present subject matter are now described, by way of example only, and with
reference to the accompanying figures, in which:
[0008] Figure 1 illustrates a network environment implementation of a video traffic
management system for video traffic management in communication networks, in accordance
with an example of the present subject matter;
[0009] Figures 2a and 2b illustrate a method for scheduling a plurality of video streams,
wherein each of the plurality of video streams has the same Quality of Service (QoS) factor, for
video traffic management in communication networks, in accordance with an example of the
present subject matter; and
[0010] Figures 3a and 3b illustrate a method for scheduling a plurality of video streams,
wherein each of the plurality of video streams has a different QoS factor, for video traffic
management in communication networks, in accordance with another example of the present
subject matter.
[0011] It should be appreciated by those skilled in the art that any block diagrams herein
represent conceptual views of illustrative systems embodying the principles of the present
subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state
transition diagrams, pseudo code, and the like represent various processes which may be
substantially represented in computer readable medium and so executed by a computer or
processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0012] Systems and methods related to video traffic management in communication
networks are described herein. In one embodiment, the present subject matter discloses a system
and methods for video traffic management in communication networks by scheduling the
transmission of video streams having the same or different quality of service (QoS) factor. The
methods and systems as described herein may be implemented as any computing systems, such
as a server, a workstation, and a personal computer.
[0013] Nowadays, service providers, while providing streaming multimedia services,
process data packets associated with streaming multimedia content, such as audio content and
5
video content. These services may be provided in compliance with one or more quality of service
(QoS) requirements. Furthermore, the multimedia content which is to be provided may be
selected based on requests received from users. On receiving a request for streaming multimedia
content from a user, the service provider may further determine, based on the available resources
like bandwidth, whether the streaming service can be provided in response to the request. Since,
the resources of the communication networks, such as bandwidth are limited, it is difficult to
process requests from multiple users simultaneously. For example, there may not be sufficient
bandwidth to transmit streaming multimedia content requested by multiple users simultaneously.
This may lead to the streaming multimedia content not complying with the quality of service
(QoS) requirements. Thus, the user experience of viewing the streaming multimedia content may
be reduced.
[0014] Generally, the service providers implement traffic management techniques to
optimize the data transmission in the form of video streams, which are to be provided or
streamed in response to requests made by multiple users. The techniques of traffic management
generally include queuing, servicing the traffic, policing the traffic and shaping the traffic. The
techniques of traffic management are also used to control various parameters of the
communication network, such as the bandwidth allocated to the traffic, probability of data packet
loss in the communication network, delay in delivery of data packets to the users, and variations
in delay, referred to as jitters, in delivery of data packets to the users. Since, the volume of data
to be transferred over the communication networks changes with time, the parameters associated
with techniques of traffic management are also modified accordingly. Each request from a user
may be serviced using a combination of values for the parameters.
[0015] A major portion of the traffic generated by users is video traffic. Generally, such
video traffic is a result of videos being streamed from video servers to users. Such videos are
transmitted to the users in form of video streams. Each video stream has a QoS factor associated
with it. The QoS factor may be indicative of the tolerable limits of values of various parameters,
such as delay, jitter, loss, and signal-to-noise ratio, of the data packets associated with a video
stream.
[0016] Conventional techniques for traffic management for video traffic generally do not
consider the QoS factor associated with video streams. Hence, conventional techniques for traffic
management may transmit the video streams in such a way that the QoS of the video stream is
6
not complied with. For example, data packets associated with a high quality video, such as high
definition (HD) video, having a high QoS factor may be queued which increases the buffering
time thereby resulting in non-compliance with QoS. This reduces the user experience.
[0017] Some conventional techniques for video traffic management involve
implementing a gateway or a proxy server for managing video traffic. Such mechanisms not only
increase costs but also add to the delay in delivery, due to processing of video traffic done either
at the gateway or the proxy server, of the video streams to the user. This again leads to failure to
meet the QoS and users being dissatisfied.
[0018] The present subject matter discloses methods and systems for video traffic
management in communication networks. The systems and methods may be implemented in a
variety of computing devices. In one embodiment, a video traffic management system for video
traffic management in communication networks may be implemented using various computing
systems, such as personal computers, workstations, and servers. The methods and systems for
video traffic management in communication networks provide for scheduling of video streams
such that the available bandwidth for transmission is optimally utilized and QoS for each of the
multiple streams, demanded by several users simultaneously, is complied with.
[0019] In one implementation, the video traffic management system receives video
traffic, in form of video streams from a plurality of video servers. Within the video streams, the
data may be arranged in the form of data packets. As mentioned previously, the video traffic may
be generated due to various kinds of streaming video services, such as conversational video
services, video on demand services, video broadcast services, and Internet Protocol Television
(IPTV) services. The video streams may be received by the video traffic management system,
based on requests of the users, at any random interval. Each of the video streams may have
different QoS factor.
[0020] As part of the video streaming services, each of the video stream that are being
provided or streamed to the users, may be associated with a QoS factor. In operation, the video
traffic management system, as per one implementation, may determine an order of the video
streams based on a descending order of their respective QoS. The video traffic management
system captures and analyzes the video stream to determine packet size of the data packets of
each of the video streams. Based on the data packet size of the data packets, the video traffic
management system determines the video frame size of each of the video streams. In one
7
example, the video traffic management system may also determine the video frame size of each
of the video streams based on the communication protocol, such as User Datagram Protocol
(UDP) over which the data packets, associated with each of the video streams, are transmitted
over the communication network.
[0021] In one example, for determining the video frame size of each of the video streams,
the video traffic management system generates a video frame trace for each of the video streams.
The video frame trace can be understood to be a collection of video frame information, such as
encoded video time stamp, video frame size, video frame type and Peak signal-to-noise ratio
(PSNR). In one example, the video traffic management system may determine the video frame
size from the video frame trace. The video frame size may be understood as the size of individual
frames of which the video is composed. For example, a 25 frame per second (fps) video contains
25 video frames which shall be displayed in the duration of one second.
[0022] The video frame trace for each video stream is then modeled by performing a time
series analysis to determine one or more modeling parameters. Examples of such modeling
parameters include an autoregressive parameter, an integrating parameter, a moving average
parameter, and so on. Based on the modeling parameters associated with the time series analysis,
the video traffic management system predicts the frame size of upcoming video frames. On
determining the frame size of the upcoming video, the video traffic management system
computes the size of the data packets of each video stream, based on the frame size of the
upcoming video, which would eventually be received by the user. Thereafter, the video traffic
management system computes the estimated bandwidth to transmit the upcoming data packets of
all the video streams. The video traffic management system also ascertains the bandwidth, of a
communication network, available for transmitting the upcoming data packets to the user.
[0023] In case the available bandwidth for transmission is greater than or equal to the
bandwidth required for transmitting the upcoming data packets of all the video streams, the video
traffic management system schedules the transmission of the video streams based on the
descending order of the QoS of the respective video streams. In one example, the schedule may
indicate transmitting data packets associated with the video streams, in an order of arrival, at a
specified time. The specified time may be based on the size of the data packets to be transmitted,
the available bandwidth, the delay tolerance of the data packets, and so on. By scheduling, the
video traffic management system shapes the video traffic such that the bandwidth required to
8
transmit the video streams is reduced. The scheduling facilitates in reducing usage of the
available bandwidth and make the bandwidth available for use for transmission of any other data
over the communication network.
[0024] In one implementation, it can be determined that the available bandwidth for
transmission is less than the bandwidth required for transmitting the upcoming data packets of all
the video streams. In such cases, the video traffic management system selects a set comprising of
one or more video streams from amongst the total number of video streams being received. The
set of video streams selected from amongst the available video streams is based on the available
bandwidth. In one example, wherein the video streams are associated with different QoS factors,
the set of video streams may be selected based on the descending order defined by the QoS
factor associated with all the video streams. For example, video streams associated with the top
three values of the QoS factor and which cumulatively require the available bandwidth, may be
selected to form the set and streamed to the users.
[0025] In one implementation, the data packets of the remaining video streams are
buffered. As would be conventionally known, the size of such a buffer is typically predefined. In
the present implementation, the video traffic management system buffers the data packets
associated with the remaining video streams based on the decreasing order of their respective
QoS factors. For the same, data packets of a video stream having a higher QoS factor are
buffered prior to data packets associated with a video stream having a lower QoS factor. As and
when the video streams in the buffer are streamed, the buffer becomes available. Subsequently,
video streams with further lower QoS factor can be buffered and subsequently streamed. In case,
the buffer size is exceeded, the video traffic management system drops data packets associated
with the video streams having the lowest QoS factors.
[0026] In case, all the video streams have the same QoS factor, then the video traffic
management system may transmit the video streams based on the available bandwidth for
transmission. In one example, the video traffic management system selects a random set of video
streams from amongst the video streams being received by the video traffic management system,
based on the available bandwidth.
[0027] Thus, the aforementioned systems and methods for video traffic management in
communication networks facilitate scheduling of video streams having the same QoS factor and
arriving from different video servers at random intervals. The systems and methods for video
9
traffic management also facilitates scheduling of video traffic associated with video streams
having different QoS factor, such that the available bandwidth for transmission is optimally
utilized. Thus, the available bandwidth for transmission is optimally utilized and QoS for each of
the multiple streams, demanded by several users simultaneously, is complied with. Further, the
systems and methods for video traffic management operates without using any prior knowledge
of metadata associated with the video streams and hence may be implemented in various cases,
such as streaming video, conversation video traffic and video on demand services.
[0028] The above systems and the methods are further described in conjunction with the
following figures. It should be noted that the description and figures merely illustrate the
principles of the present subject matter. Further, various arrangements may be devised that,
although not explicitly described or shown herein, embody the principles of the present subject
matter and are included within its spirit and scope.
[0029] The manners in which the systems and methods for video traffic management in
communication networks are implemented are explained in details with respect to Figures 1, 2a,
2b, 3a, and 3b. While aspects of described systems and methods for video traffic management in
communication networks can be implemented in any number of different computing systems,
environments, and/or implementations, the examples and implementations are described in the
context of the following system(s).
[0030] Figure 1 illustrates a network environment 100 implementation of a video traffic
management system 102 for video traffic management in communication networks, in
accordance with an example of the present subject matter. In one example, the video traffic
management system 102 may be implemented as various computing systems, such as a laptop, a
desktop, a workstation and a server. The video traffic management system 102 may be
communicatively coupled to various client devices, such as a desktop 104-1, a mobile phone
104-2 and a smart phone 104-3, henceforth collectively referred to as the client devices 104.
[0031] In one example, the video traffic management system 102 may include processor
106 and memory 108 communicatively coupled to the processor 106. Among other capabilities,
the processor 106 may fetch and execute computer-readable instructions stored in the memory
108. The memory 108 may include any non-transitory computer-readable medium including, for
example, volatile memory, and/or non-volatile memory.
10
[0032] Further, the video traffic management system 102 may include the modules 110.
The modules 110, amongst other things, include routines, programs, objects, components, and
data structures, which perform particular tasks or implement particular abstract data types. The
modules 110 may also be implemented as signal processor(s), state machine(s), logic circuitries,
field-programmable gate array (FPGA) modules, application-specific integrated circuit (ASIC)
module, and/or any other device or component that manipulates signals based on operational
instructions. Further, the modules 110 can be implemented by hardware, by computer-readable
instructions executed by a processing unit, or by a combination thereof. In one implementation,
the modules 110 include a video data analysis module 112, a video traffic prediction module
114, a video traffic scheduling module 116, and other modules 118. These other modules 118
may include programs or coded instructions that supplement applications or functions performed
by the video traffic management system 102.
[0033] In an example, the video traffic management system 102 includes data 120. In
said example, the data 120 may include buffer data 122, and other data 124. The other data 124
may include data generated and saved by the modules 110 for providing various functionalities
of the video traffic management system 102.
[0034] In one implementation, the video traffic management system 102 may be
communicatively coupled, over a communication network 126, to various video servers, such as
the video servers 128-1 and 128-2, henceforth referred to as the video servers 128. The video
servers 128 may provide various video data or video streams to the users on their respective
client devices 104. In one example, the video traffic management system 102 may be integrated
within the video servers 128.
[0035] In one example, the communication network 126 may include a Global System
for Mobile Communication (GSM) network, a Universal Mobile Telecommunications System
(UMTS) network, Long Term Evolution (LTE) network or any other communication network
that use any of the commonly used protocols, for example, Real Time Protocol (RTP) and User
Datagram Protocol/Internet Protocol ( UDP/IP). In one example, the video traffic management
system 102 may be implemented in the wired backhaul of broadband wireless network. In said
example, the video traffic management system 102 may be implemented in between the video
servers and a network element 130, for example, the UMTS Terrestrial Radio Access (UTRA)
element, such as eNodeB and Radio Network Controller (RNC) of the communication network
11
126. In one example, the video traffic management system 102 may be communicatively coupled
to the client devices 104 over the communication network 126.
[0036] In one example, the video servers 128 may provide the users with video or video
streams. The video streams may have the same or different QoS factor. The QoS factor of a
video stream may be indicative of minimum values of network parameters, such as service
response time, loss, signal-to-noise ratio, interrupts and frequency response, which should be
complied with to ensure overall user satisfaction. For example, a video stream with QoS factor
‘5’ may have the requirements that loss should not be more than 1 percent, latency should not be
more than 150 milliseconds (ms) or 200 ms, and jitter should not be more than 30 ms.
[0037] In one example, the video servers 128 may be communicatively coupled to the
video traffic management system 102. Based on requests received from the client devices 104,
the video servers 128 may transmit the video streams to the video traffic management system
102. The video traffic management system 102 implements the techniques, as mentioned in the
present subject matter, and transmits the video streams to the network element 130. The network
element 130 thereafter transmits the video streams to the client devices 104 over the
communication network 126.
[0038] In operation, the video data analysis module 112 captures video traffic
corresponding to each video stream and analyzes the same to determine a packet size of the data
packets of the video stream. In one example, the data packet size may refer to the size of the
Media Access Control (MAC) Protocol Data Unit (PDU), which is usually represented as
MAC_PDU_Size. The analysis of the captured video traffic is explained with the help of an
example. In said example, the video traffic is encoded, by the video servers 128, as per the
parameters mentioned in table 1.
Parameter Value
Group of Picture (GOP) Size 12
Quantization Parameter (QP) 25
Frame Rate 25 frames/second
Table-1
[0039] A video stream may be understood to be a collection of GOPs. In the Table 1, the
GOP may be understood as a series of successive frames in a video stream. The GOP specifies
12
the order of arrangement of the intra-frames and the inter-frames of video stream. The GOP
generally starts with an intra coded frame (I-frame), which is a reference frame representing a
fixed image. Thereafter, a series of predictive coded frame (P-frame) follows, wherein each Pframe
includes motion-compensated difference information from the preceding I-frame or Pframe.
The GOP size indicates the distance between two successive I-frames and is measured in
terms of number of frames. In the Table 1, the quantization parameter indicates the degree of
quantization used to compress the video stream. Quantization refers to a lossy compression
technique, used for image processing and video processing, wherein a range of values of a
parameter, such as hue, color, and saturation, is rounded off to a single quantum value. In the
Table-1, frame rate represents the number of frames per second in the video stream.
[0040] The encoded video stream may then be transmitted by the video servers 128 over
RTP. In one example, the video servers 128 may fragment the video frames into multiple chunks
for the purpose of transmission. For example, a video frame may be fragmented into multiple
data packets. In UDP protocol, each data packet may be encapsulated with a RTP header, i.e., the
RTP header may be added to each data packet. The RTP header may include various parameters,
such as the sending and receiving host ports, a field with the length of the data packet, a
sequential number of the data packet and a checksum for detecting and correcting transmission
errors. Thus, the data packet comprises a RTP header and one or more video coding layer (VCL)
units. Based on the header information in the RTP header, the data packets may be combined to
generate the video frame. In another example, the video servers 128 may aggregate the video
frames into a single chunk for the purpose of transmission.
[0041] Since, the encapsulation process of the RTP data packets is known, the video data
analysis module 112 may ascertain the size of the RTP header and subsequently determine the
data packet size of the RTP data packets by scanning the physical layer interface of the
communication network 126. Thereafter, the video data analysis module 112 may determine the
size of the video frame generated by combining the RTP data packets associated with the video
frame.
[0042] In another implementation, in scenarios, such as the aforementioned example, in
which the video stream is transmitted over Real-time Transport Protocol (RTP) over User
Datagram Protocol (UDP), the video data analysis module 112 determines the video frame trace
13
of the video stream. Based on the video frame trace, the video data analysis module 112 may
determine the size of the video frame.
[0043] Based on the video frame trace, the video traffic prediction module 114 predicts
the upcoming video frames. In one example, the video traffic prediction module 114 implements
time series modeling of the video trace to predict the upcoming video frames. In said example,
the video traffic prediction module 114 models the video stream using Seasonal Autoregressive
Integrated Moving Average (SARIMA) method. Thereafter, the video traffic prediction module
114 obtains the modeling parameters and predicts the size of the upcoming video frames of the
modeled video stream. Modeling of video traffic helps in determining the statistical dependency
among sizes of video frames and helps in predicting upcoming video traffic without prior
knowledge of video frame statistics. Thereafter, the video traffic prediction module 114
computes the data packet size of the data packets of the upcoming video frames and computes
bandwidth required for the transmission of the upcoming video frames.
[0044] In certain cases, each of the video streams may have the same QoS factor. Based
on the computed data packet size of upcoming video frames for each of the video streams, the
video traffic scheduling module 116 determines the total bandwidth for transmitting the plurality
of video streams and ascertains whether the available bandwidth for transmission is less than the
total bandwidth required for the transmission. In case, the available bandwidth for transmission
is equal to or greater than the total bandwidth required for the transmission, the video traffic
scheduling module 116 schedules the transmission of each of the plurality of video streams and
transmits each of the plurality of video streams, based on the schedule. In one example, each of
the video streams may have a variable bit-rate. Thus, each of the video streams may transmit
different volumes of data at different intervals of time.
[0045] The above concepts would be better understood by way of the following
illustrations. For example, a first video stream may transmit 120 kilobytes (kb) of data in the first
millisecond, 72 kb of the data in the second millisecond, 187 kb of data in the third millisecond,
62 kb of data in the fourth millisecond, and so on. Similarly a second video stream may transmit
143 kilobytes (kb) of data in the first millisecond, 90 kb of the data in the second millisecond,
122 kb of data in the third millisecond, 59 kb of data in the fourth millisecond, and so on. If in an
example, the first video stream and the second video stream are received at the same instant; the
volume of data to be transmitted in the first four milliseconds will be 263 kb, 162 kb, 309 kb, and
14
121 kb respectively. However, if the second video stream is delayed by one millisecond, the
volume of data to be transmitted in the first four milliseconds will be 120 kb, 219 kb, 277kb, 184
kb, and 59 kb respectively. Thus, by delaying the second video stream by one millisecond, the
bandwidth required to transmit the two video streams reduces from 309 kb to 277 kb. Thus, by
scheduling, the video traffic scheduling module 116 shapes the video traffic such that the
bandwidth required to transmit the two video streams is reduced. The scheduling the
transmission of the video streams, even if the available bandwidth for transmission is greater
than or equal to the bandwidth required for transmitting the upcoming data packets of all the
video streams, facilitates in reducing usage of the available bandwidth and make the bandwidth
available for use for transmission of any other data over the communication network.
[0046] In case, the available bandwidth for transmission is less than the total bandwidth
required for the transmission, the video traffic scheduling module 116 schedules the transmission
of a set of video streams from amongst the video streams, based on the available bandwidth. In
one example, the sum of bandwidth required for the set of video streams being scheduled may be
equal to or nearly equal to the available bandwidth. The video traffic scheduling module 116
thereafter transmits the set of video streams, based on the schedule. Meanwhile, the video traffic
scheduling module 116 also buffers the data packets associated with a remaining part of the
plurality of video streams as buffer data 122. As and when bandwidth becomes available for
transmission, the video traffic scheduling module 116 schedules the transmission of the buffered
data packets and transmits the buffered data packets based on the schedule. In one example, the
video traffic scheduling module 116 further monitors the size of the buffer data 122 and
determines whether the size of the buffer data 122 exceeds or is about to exceed a pre-defined
buffer size. The pre-defined buffer size may be specified by the service provider of the
communication network 126. In case, the video traffic scheduling module 116 determines that
the buffer size is exceeded, the video traffic scheduling module 116 may drop data packets
associated with the remaining part of the plurality of video streams.
[0047] As mentioned earlier, each of the video streams has a delay threshold associated
with it. The delay threshold is based on the QoS factor of the video stream. In one example, the
video traffic scheduling module 116 may monitor the delay in transmission of data packets
associated with each of the plurality of video streams whose data packets are being buffered. In
case, the video traffic scheduling module 116 determines that the delay in transmission of data
15
packets of one of the plurality of video streams is greater than the delay threshold for the video
stream, then the video traffic scheduling module 116 drops the data packets associated with the
video stream. This also helps in freeing up the buffer size of the buffer data 122. In case, the
video traffic scheduling module 116 determines that the delay in transmission of data packets of
one of the plurality of video streams is less than the delay threshold for the video stream, the
video traffic scheduling module 116 retains the data packets associated with the video stream in
the buffer data 122.
[0048] In certain cases, each of the video streams to be transmitted over the
communication network 126 may have different QoS factor. In such cases, the video traffic
scheduling module 116 may order the plurality of video streams in a descending order of QoS
factor. Based on the computed data packet size of upcoming video frames for each of the video
streams, the video traffic scheduling module 116 determines the total bandwidth for transmitting
the plurality of video streams and ascertains whether the available bandwidth for transmission is
less than the total bandwidth required for the transmission. In case, the available bandwidth for
transmission is equal to or greater than the total bandwidth required for the transmission, the
video traffic scheduling module 116 schedules the transmission of each of the plurality of video
streams and transmits each of the plurality of video streams, based on the schedule.
[0049] In case, the available bandwidth for transmission is less than the total bandwidth
required for the transmission, the video traffic scheduling module 116 schedules the transmission
of a set of video streams from amongst the video streams to be transmitted, based on the order
and available bandwidth. For example, a video stream having a higher QoS factor will be
transmitted before a video stream having a lower QoS factor. In one example, the sum of
bandwidth required for the set of video streams being scheduled may be equal to or nearly equal
to the available bandwidth. The video traffic scheduling module 116 thereafter transmits the set
of the plurality of video streams, based on the schedule. Meanwhile, the video traffic scheduling
module 116 also buffers the data packets associated with a remaining part of the plurality of
video streams as buffer data 122. As and when bandwidth becomes available for transmission,
the video traffic scheduling module 116 schedules the transmission of the buffered data packets,
based on the order of the video streams, and transmits the buffered data packets based on the
schedule. In one example, the video traffic scheduling module 116 further monitors the size of
the buffer data 122 and determines whether the size of the buffer data 122 exceeds or is about to
16
exceed a pre-defined buffer size. In case, the video traffic scheduling module 116 determines that
the buffer size is exceeded, the video traffic scheduling module 116 may drop data packets
associated with the remaining part of the plurality of video streams based on the order. In one
example, data packets associated with a video stream having a low QoS may be dropped before
data packets associated with a video stream having a high QoS.
[0050] As mentioned earlier, each of the video streams has a delay threshold associated
with it. The delay threshold is based on the QoS factor of the video stream. In one example, the
video traffic scheduling module 116 may monitor the delay in transmission of data packets
associated with each of the plurality of video streams whose data packets are being buffered. In
case, the video traffic scheduling module 116 determines that the delay in transmission of data
packets of one of the plurality of video streams is greater than the delay threshold for the video
stream, then the video traffic scheduling module 116 drops the data packets associated with the
video stream. This also helps in freeing up the buffer size of the buffer data 122. It will be
understood that video streams which have high QoS will have low delay threshold, whereas
video streams having low QoS will have high threshold. In case, the video traffic scheduling
module 116 determines that the delay in transmission of data packets of one of the plurality of
video streams is less than the delay threshold for the video stream, the video traffic scheduling
module 116 retains the data packets associated with the video stream in the buffer data 122.
[0051] Thus, the aforementioned systems and methods for video traffic management in
communication networks facilitate scheduling of video streams having the same QoS factor and
arriving from different video servers 128 at random intervals. The video management system 102
also facilitates scheduling of video traffic associated with video streams having different QoS
factor, such that the available bandwidth for transmission is optimally utilized. Further, the video
management system 102 operates without using any prior knowledge of meta data associated
with the video streams and hence may be implemented in various cases, such as streaming video,
conversation video traffic and video on demand services.
[0052] Figure 2a, 2b, 3a, and 3b illustrate methods 200 and 300 for video traffic
management in communication networks, according to an example of the present subject matter.
The order in which the methods 200 and 300 are described is not intended to be construed as a
limitation, and any number of the described method blocks can be combined in any order to
implement the methods 200 and 300, or an alternative method. Additionally, individual blocks
17
may be deleted from the methods 200 and 300 without departing from the spirit and scope of the
subject matter described herein. Furthermore, the methods 200 and 300 may be implemented in
any suitable hardware, computer-readable instructions, or combination thereof.
[0053] The steps of the methods 200 and 300 may be performed by either a computing
device under the instruction of machine executable instructions stored on a storage media or by
dedicated hardware circuits, microcontrollers, or logic circuits. Herein, some examples are also
intended to cover program storage devices, for example, digital data storage media, which are
machine or computer readable and encode machine-executable or computer-executable programs
of instructions, where said instructions perform some or all of the steps of the described methods
200 and 300. The program storage devices may be, for example, digital memories, magnetic
storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable
digital data storage media.
[0054] With reference to method 200, at block 202, a plurality of video streams is
received, wherein each video stream has the same quality of service (QoS) factor. In one
example, the video data analysis module 112 receives the plurality of video streams from the
video servers 128.
[0055] As shown in block 204, the size of data packet for each of the plurality of video
streams is ascertained. In one example, the video data analysis module 112 ascertains the size of
data packet of each of the plurality of video streams.
[0056] As depicted in block 206, the size of video frame for each of the plurality of video
streams is determined based on the size of the data packet. In one example, the video data
analysis module 112 determines the size of video frame for each of the plurality of video
streams, based on the size of the data packet.
[0057] As illustrated in block 208, the size of video frame of a pre-defined number of
upcoming data packets is estimated for each of the plurality of video streams, based on the
determined video frame size. In one example, the video traffic prediction module 114 estimates
the size of video frame of a pre-defined number of upcoming data packets for each of the
plurality of video streams, based on the determined video frame size.
[0058] At block 210, a total bandwidth required for transmitting the plurality of video
streams is determined based on the estimated video frame sizes. In one implementation, the
18
video traffic scheduling module 116 determines the total bandwidth required for transmitting the
plurality of video streams, based on the estimated video frame sizes.
[0059] At block 212, it is determined whether the bandwidth available for transmission is
less than the total bandwidth required for transmitting the plurality of video streams. In one
example, the video traffic scheduling module 116 determines whether the bandwidth available
for transmission is less than the total bandwidth required for transmitting the plurality of video
streams.
[0060] In case at block 212 it is determined that the bandwidth available for transmission
is not less than the total bandwidth required for transmitting the plurality of video streams, then
as shown in block 214, the video traffic scheduling module 116 schedules the transmission of
each of the plurality of video streams.
[0061] As shown in block 216, each of the plurality of video streams is transmitted based
on the schedule. In one example, the video traffic scheduling module 116 transmits each of the
plurality of video streams based on the schedule.
[0062] In case at block 212 it is determined that the bandwidth available for transmission
is less than the total bandwidth required for transmitting the plurality of video streams, then as
shown in block 218, the transmission of a set of video streams is scheduled, based on the
available bandwidth. In one example, the video traffic scheduling module 116 schedules the
transmission of a set of video streams, based on the available bandwidth. In one example, the set
of video streams is selected based on the estimated video frame size of upcoming data packets.
[0063] As shown in block 220, the set of video streams is transmitted, based on the
schedule. In one example, the video traffic scheduling module 116 transmits the set of video
streams based on the schedule.
[0064] As illustrated in block 222, data packets associated with a remaining part of the
plurality of video streams are buffered, wherein the buffered data packets are transmitted on
bandwidth being available for transmission. In one example, the video traffic scheduling module
116 buffers the data packets associated with the remaining part of the plurality of video streams.
The buffered data packets are stored as the buffer data 122.
[0065] At block 224, it is determined whether the size of the buffer is exceeded. In one
example, the video traffic scheduling module 116 monitors the size of the buffer data 122 and
determines whether the size of the buffer data 122 has been exceeded.
19
[0066] If at block 224, it is determined that the size of the buffer has been exceeded, then
as shown in block 226, data packets associated with the remaining part of the plurality of video
streams are dropped. In one example, the video traffic scheduling module 116 drops the data
packets associated with the remaining part of the plurality of video streams.
[0067] If at block 224, it is determined that the size of the buffer has not been exceeded,
then at block 228, it is determined whether a delay in transmission of data packets of at least one
of the plurality of video streams is greater than the delay threshold for the at least one video
stream. In one example, the video traffic scheduling module 116 determines whether a delay in
transmission of data packets of at least one of the plurality of video streams is greater than the
delay threshold for the at least one video stream.
[0068] If at block 228, it is determined that the delay in transmission of data packets of at
least one of the plurality of video streams is greater than the delay threshold for the at least one
video stream, then as shown in block 230, data packets associated with the at least one video
stream are dropped. In one example, the video traffic scheduling module 116 drops the data
packets associated with the at least one video stream.
[0069] If at block 228, it is determined that the delay in transmission of data packets of
the at least one video stream is not greater than the delay threshold for the at least one video
stream, then as shown in block 232, data packets associated with the at least one video stream are
retained in the buffer. In one example, the video traffic scheduling module 116 retains the data
packets associated with the at least one video stream.
[0070] With reference to method 300 as shown in figure 3, at block 302, a plurality of
video streams is received, wherein each video stream has a different quality of service (QoS)
factor. In one example, the video data analysis module 112 receives the plurality of video
streams from the video servers 128.
[0071] As shown in block 304, the size of data packet of each of the plurality of video
streams is ascertained. In one example, the video data analysis module 112 ascertains the size of
data packet of each of the plurality of video streams.
[0072] As depicted in block 306, the size of video frame for each of the plurality of video
streams is determined based on the size of the data packet. In one example, the video data
analysis module 112 determines the size of video frame for each of the plurality of video
streams, based on the size of the data packet.
20
[0073] As illustrated in block 308, the size of video frame of a pre-defined number of
upcoming data packets is estimated for each of the plurality of video streams, based on the
determined video frame size. In one example, the video traffic prediction module 114 estimates
the size of video frame of a pre-defined number of upcoming data packets for each of the
plurality of video streams, based on the determined video frame size.
[0074] As shown in block 310, the plurality of video streams is arranged in a descending
order of QoS factor. In one example, the video traffic scheduling module 116 arranges the
plurality of video streams in a descending order of QoS factor.
[0075] At block 312, a total bandwidth required for transmitting the plurality of video
streams is determined based on the estimated video frame sizes. In one implementation, the
video traffic scheduling module 116 determines the total bandwidth required for transmitting the
plurality of video streams, based on the estimated video frame sizes.
[0076] At block 314, it is determined whether the bandwidth available for transmission is
less than the total bandwidth required for transmitting the plurality of video streams. In one
example, the video traffic scheduling module 116 determines whether the bandwidth available
for transmission is less than the total bandwidth required for transmitting the plurality of video
streams.
[0077] In case at block 314 it is determined that the bandwidth available for transmission
is not less than the total bandwidth required for transmitting the plurality of video streams, then
as shown in block 316, the video traffic scheduling module 116 schedules the transmission of
each of the plurality of video streams.
[0078] As shown in block 318, each of the plurality of video streams is transmitted based
on the schedule. In one example, the video traffic scheduling module 116 transmits each of the
plurality of video streams based on the schedule.
[0079] In case at block 314, it is determined that the bandwidth available for transmission
is less than the total bandwidth required for transmitting the plurality of video streams, then as
shown in block 320, the transmission of a set of video streams is scheduled, based on the
available bandwidth and the descending order. In one example, the video traffic scheduling
module 116 schedules the transmission of the set of video streams, based on the available
bandwidth and the order. In one example, the set of video streams is selected based on the
estimated video frame size of upcoming data packets.
21
[0080] As shown in block 322, the set of video streams is transmitted, based on the
schedule and the order. In one example, the video traffic scheduling module 116 transmits the set
of video streams based on the schedule and the order.
[0081] As illustrated in block 324, data packets associated with a remaining part of the
plurality of video streams are buffered, wherein the buffered data packets are transmitted on
bandwidth being available for transmission. In one example, the video traffic scheduling module
116 buffers the data packets associated with the remaining part of the plurality of video streams.
The buffered data packets are stored as buffer data 122.
[0082] At block 326, it is determined whether the size of the buffer is exceeded. In one
example, the video traffic scheduling module 116 monitors the size of the buffer data 122 and
determines whether the size of the buffer data 122 has been exceeded.
[0083] If at block 326, it is determined that the size of the buffer has been exceeded, then
as shown in block 328, data packets associated with the remaining part of the plurality of video
streams are dropped. In one example the video traffic scheduling module 116 drops the data
packets associated with the remaining part of the plurality of video streams
[0084] If at block 326, it is determined that the size of the buffer has not been exceeded,
then at block 330, it is determined whether a delay in transmission of data packets of at least one
of the plurality of video streams is greater than the delay threshold for the at least one video
stream. In one example, the video traffic scheduling module 116 determines whether a delay in
transmission of data packets of at least one of the plurality of video streams is greater than the
delay threshold for the at least one video stream.
[0085] If at block 330, it is determined that the delay in transmission of data packets of
the at least one video stream is greater than the delay threshold for the at least one video stream,
then as shown in block 332, data packets associated with the at least one video stream is
dropped. In one example, the video traffic scheduling module 116 drops the data packets
associated with the at least one video stream.
[0086] If at block 330, it is determined that the delay in transmission of data packets of
the at least one video stream is not greater than the delay threshold for the at least one video
stream, then as shown in block 334, data packets associated with the at least one video stream are
retained in the buffer. In one example, the video traffic scheduling module 116 retains the data
packets associated with the at least one video stream.
22
[0087] Although implementations for video traffic management in communication
networks have been described in language specific to structural features and/or methods, it is to
be understood that the appended claims are not necessarily limited to the specific features or
methods described. Rather, the specific features and methods are disclosed as examples of
systems and methods for video traffic management in communication networks.
23

I/We claim:
1. A video traffic management system (102) for video traffic management in
communication networks, the video traffic management system (102) comprising:
a processor (106);
a video data analysis module (112), coupled to the processor (106), to:
receive a plurality of video streams;
analyze each of the plurality of video streams to determine a video frame
size of video frames in the each of the plurality of video streams;
a video traffic prediction module (114), coupled to the processor (106) to:
estimate a video frame size of upcoming data packets associated with the
each of the plurality of video streams, based on the determined video frame size
of the video frames; and
a video traffic scheduling module (116), coupled to the processor (106) to:
compute a total bandwidth required for transmitting the upcoming data
packets based on the estimated video frame size of upcoming data packets
associated with the plurality of video streams;
determine an available bandwidth for transmission of the upcoming data
packets associated with the plurality of video streams; and
ascertain whether the available bandwidth is less than the total bandwidth;
and
on ascertaining the available bandwidth to be less than the total
bandwidth, transmit a set of video streams from amongst the plurality of video
streams, wherein the bandwidth required to transmit the set of video streams
substantially adds up to the available bandwidth, and wherein the set of video
streams is selected based on the estimated video frame size of upcoming data
packets.
2. The video traffic management system (102) as claimed in claim 1, wherein the video
traffic scheduling module (116) further:
determines a quality of service (QoS) factor associated with each of the plurality
of video streams; and
24
arranges the plurality of video streams based on a descending order of the QoS
factor associated with each of the plurality of video streams, wherein the set of video
streams is selected based on the descending order of the QoS factor.
3. The video traffic management system (102) as claimed in claim 2, wherein the video
traffic scheduling module (116) further:
buffers data packets associated with a remaining part of the plurality of video
streams;
determines whether a pre-defined buffer size is exceeded; and
drops the data packets associated with the remaining part of the plurality of video
streams on determining the exceeding of the buffer size.
4. The video traffic management system (102) as claimed in claim 2, wherein the video
traffic scheduling module (116) further:
determines whether a delay associated with data packets associated with at least
one video stream, from amongst a remaining part of the plurality of video streams,
exceeds a delay threshold for the video stream, based on the QoS factor associated with
the at least one video stream; and
drops data packets associated with the at least one video stream on determining
the delay to have exceeded the delay threshold.
5. The video traffic management system (102) as claimed in claim 1, wherein the video
traffic prediction module (114) further:
performs time series modeling of each of the plurality of video streams; and
determines modeling parameters associated with a generated time series model for
each of the plurality of video streams, based on the time series modeling;
wherein the estimation of the video frame size of the upcoming data
packets associated with the each of the plurality of video streams is based on the
parameters.
25
6. The video traffic management system (102) as claimed in claim 1 wherein the video data
analysis module (112) further ascertains a data packet size of data packets associated
each of the plurality of video streams to determine the video frame size of the video
frames of the each of the plurality of video streams.
7. The video traffic management system (102) as claimed in claim 2, wherein the video
traffic scheduling module (116) further schedules a part of the plurality of video streams
based on the descending order, and wherein the transmission of the part of the plurality of
video streams is based on the scheduling.
8. A method for video traffic management in communication networks, the method
comprising:
receiving a plurality of video streams;
analyzing each of the plurality of video streams to determine a video frame size of
video frames of the each of the plurality of video streams;
estimating video frame size of upcoming data packets associated with the each of
the plurality of video streams, based on the determined video frame size of the video
frames;
computing a total bandwidth, based on the estimated video frame size of
upcoming data packets, required for transmitting all the upcoming data packets associated
with the plurality of video streams;
determining an available bandwidth for transmission of the upcoming data
packets associated with the plurality of video streams; and
ascertaining whether the available bandwidth is less than the total bandwidth;
on ascertaining the available bandwidth to be less than the total bandwidth,
transmitting a set of video streams from amongst the plurality of video streams, wherein
the bandwidth required to transmit the set of video streams substantially adds up to the
available bandwidth, and wherein the set of video streams is selected based on the
estimated video frame size of upcoming data packets.
9. The method as claimed in claim 8, wherein the method further comprises:
26
determining a quality of service (QoS) factor associated with each of the plurality
of video streams; and
arranging the plurality of video streams based on a descending order of QoS
factor associated with each of the plurality of video streams, wherein the set of video
streams is selected based on the descending order of QoS factor.
10. The method as claimed in claim 8, wherein the method further comprises:
scheduling a remaining part of the plurality of video streams based on the
descending order; and
wherein the transmitting is further based on the scheduling.
11. The method as claimed in claim 8, wherein the method further comprises:
buffering the data packets associated with a remaining part of the plurality of
video streams;
determining whether a pre-defined buffer size is exceeded; and
on determining the pre-defined buffer size to have exceeded, dropping data
packets associated with the remaining part of the plurality of video streams.
12. The method as claimed in claim 11, wherein the method further comprises:
determining whether a delay associated with data packets associated with at least
one video stream from amongst the remaining part of the plurality of video streams
exceeds a delay threshold for the video stream, based on the QoS factor associated with
the video stream; and
drop the data packets associated with the at least one video stream on determining
the delay to have exceeded the delay threshold.
13. The method as claimed in claim 8, wherein the analyzing further comprises ascertaining a
data packet size of data packets associated each of the plurality of video streams.
14. The method as claimed in claim 8, wherein the estimating further comprises:
performing time series modeling of each of the plurality of video streams; and
27
determining the parameters of a model generated for each of the plurality of video
streams, based on the time series modeling, wherein the estimation of the video frame
size of the upcoming data packets associated with the each of the plurality of video
streams is based on the parameters.
Date 27 September 2013
JAYA PANDEYA
IN/PA-1345
Agent for the Applicant
To,
The Controller of Patents
The Patent Office at New Delhi

Documents

Application Documents

# Name Date
1 2884-DEL-2013-FER.pdf 2019-07-15
1 SPEC.pdf 2013-10-08
2 GPOA.pdf 2013-10-08
2 2884-del-2013-Correspondence Others-(27-10-2015).pdf 2015-10-27
3 FORM 5.pdf 2013-10-08
3 2884-del-2013-Form-3-(27-10-2015).pdf 2015-10-27
4 2884-del-2013-Correspondence Others-(18-03-2015).pdf 2015-03-18
4 FORM 3.pdf 2013-10-08
5 FIGURES.pdf 2013-10-08
5 2884-del-2013-Form-3-(18-03-2015).pdf 2015-03-18
6 PD010258IN-SC.pdf 2014-08-25
6 2884-del-2013-Form-1-(18-10-2013).pdf 2013-10-18
7 2884-DEL-2013-Request For Certified Copy-Online(20-08-2014).pdf 2014-08-20
7 2884-del-2013-Correspondence-Others-(18-10-2013).pdf 2013-10-18
8 2884-DEL-2013-Request For Certified Copy-Online(20-08-2014).pdf 2014-08-20
8 2884-del-2013-Correspondence-Others-(18-10-2013).pdf 2013-10-18
9 PD010258IN-SC.pdf 2014-08-25
9 2884-del-2013-Form-1-(18-10-2013).pdf 2013-10-18
10 2884-del-2013-Form-3-(18-03-2015).pdf 2015-03-18
10 FIGURES.pdf 2013-10-08
11 2884-del-2013-Correspondence Others-(18-03-2015).pdf 2015-03-18
11 FORM 3.pdf 2013-10-08
12 FORM 5.pdf 2013-10-08
12 2884-del-2013-Form-3-(27-10-2015).pdf 2015-10-27
13 GPOA.pdf 2013-10-08
13 2884-del-2013-Correspondence Others-(27-10-2015).pdf 2015-10-27
14 SPEC.pdf 2013-10-08
14 2884-DEL-2013-FER.pdf 2019-07-15

Search Strategy

1 SearchStrategy_01-07-2019.pdf