Abstract: ABSTRACT SYSTEM AND METHOD TO DYNAMICALLY MANAGE APPLICATION TRAFFIC BY BANDWIDTH APPORTIONING ON A COMMUNICATION DEVICE The present invention describes a method and system for dynamically modifying allocated bandwidth of one or more applications running on a communication device. The method comprises determining one or more session information associated with the one or more applications running on the communication device, determining priority level of each of the one or more applications running on the communication device, and dynamically distributing bandwidth of a communication network among one or more sessions of one or more applications running on the communication device based on the determined priority level. The system comprises an application managing module, application mapping module, a real time bandwidth calculating module, a policy making module, and a policy regulating module. Figure 2
DESC:
FORM 2
THE PATENTS ACT, 1970
[39 of 1970]
&
THE PATENTS RULES, 2003
COMPLETESPECIFICATION
(Section 10; Rule 13)
SYSTEM AND METHOD TO DYNAMICALLY MANAGE APPLICATION TRAFFIC BY BANDWIDTH APPORTIONING ON A COMMUNICATION DEVICE
SAMSUNG R&D INSTITUTE INDIA – BANGALORE Pvt. Ltd.
# 2870, ORION Building, Bagmane Constellation Business Park,
Outer Ring Road, Doddanakundi Circle,
Marathahalli Post,
Bangalore -560037, Karnataka, India
Indian Company
The following Specification particularly describes the invention and the manner in which it is to be performed
RELATED APPLICATION
Benefit is claimed to Indian Provisional Application No. 3237/CHE/2014 titled "SYSTEM AND METHOD TO DYNAMICALLY MANAGE APPLICATION TRAFFIC BY BANDWIDTH APPORTIONING ON MOBILE DEVICES” filed on 1st July 2014, which is herein incorporated in its entirety by reference for all purposes.
FIELD OF THE INVENTION
The present invention generally relates to communication device and more particularly relates to a method and system for dynamically managing application traffic by bandwidth apportioning in a communication device.
BACKGROUND OF THE INVENTION
In LTE network, when a communication device gets attached to the network, a default QoS (Quality of Service) class is created and default non-GBR bearer is shared equally among various applications traffic. This default sharing can impact the high priority application traffic since there is no guaranteed QoS available.
The Smartphone Users have no control over the default bearer traffic which impacts the performance and efficiency of high priority applications since the available bandwidth is shared among active applications. However there are certain cases where the bandwidth is shared based on defined priority such as high or low. But an additional bandwidth provided to the high priority application is not utilized properly due to several reasons. When the high priority application reached to either saturation level or stopped working, the unused bandwidth with the high priority application remains unutilized and goes wasted.
Therefore, there is a need for a method and system for dynamically modifying allocated bandwidth of one or more applications running on a communication device, and enabling a dynamic fallback mechanism in which high priority application on hitting the saturation point conditions due to server limitation or operator settings can renounce its bandwidth. The renounced bandwidth can be set to proportionately serve low priority applications. Further, whenever the high priority application is in need for additional bandwidth can take the bandwidth from the low priority application based on minimum threshold bandwidth with the low priority applications to keep running.
SUMMARY
An embodiment of the present invention describes a method for dynamically modifying allocated bandwidth of one or more applications running in a communication device. The method comprises determining one or more session information associated with the one or more applications running on the communication device, determining priority level of each of the one or more applications running on the communication device, and dynamically distributing bandwidth of a wireless network shared among one or more sessions of the one or more applications running on the communication device based on the determined priority level.
Another embodiment of the present invention describes a system for dynamically modifying allocated bandwidth of one or more applications running in a communication device. The system, comprises an application managing module configured for monitoring one or more running applications, an application mapping module connected to the application managing module for mapping identification (ID) of the one or more applications with one or more running sessions of the one or more applications, a real time bandwidth calculating module connected to the application mapping module for calculating bandwidth to be allocated to the one or more applications categorized as one of a high priority application and low priority application, a policy making module connected to the real time bandwidth calculating module for receiving the one or more session information and priority information of the one or more applications, and a policy regulating module connected to the policy making module configured to modify one or more network parameters for the low priority applications, the policy regulating module monitors the one or more applications categorized as one of the high priority application and low priority application for optimum utilization of the bandwidth.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The aforementioned aspects and other features of the present invention will be explained in the following description, taken in conjunction with the accompanying drawings, wherein:
Figure 1 illustrates a layout where user is given an opportunity to prioritize their preferred application to get a guaranteed and improve QoS, according to an embodiment of the present invention.
Figure 2 illustrates a block diagram of a system for dynamically modifying allocated bandwidth of one or more application running a communication device, according to an embodiment of the present invention.
Figure 3 illustrates a scenario where bandwidth is re-allocated for high priority application, according to an embodiment of the present invention.
Figure 4 illustrates a flowchart depicting application prioritization, according to an embodiment of the present invention.
Figure 5 illustrates a flowchart for download session prioritization, according to an embodiment of the present invention.
Figure 6 illustrates the schema representation of current session repository with corresponding blocks and its parameters, according to an embodiment of the present invention.
Figure 7 illustrates a flow diagram of an application prioritization, according to an embodiment of the present invention.
Figure 8 illustrates a flow diagram in which high priority application isnot utilizing the renounced bandwidth from low priority applications, according to an embodiment of the present invention.
Figure 9 illustrates a flow diagram of a method for new application registration, according to an embodiment of the present invention.
Figure 10 illustrates an exemplary set of experimental results obtained from the present method running on a computing device/communication device, according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The embodiments of the present invention will now be described in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments. The present invention can be modified in various forms. Thus, the embodiments of the present invention are only provided to explain more clearly the present invention to the ordinarily skilled in the art of the present invention. In the accompanying drawings, like reference numerals are used to indicate like components.
The specification may refer to “an”, “one” or “some” embodiment(s) in several locations. This does not necessarily imply that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments.
As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless expressly stated otherwise. It will be further understood that the terms “includes”, “comprises”, “including” and/or “comprising” when used in this specification, specify the presence of stated features, integers, steps, operations, elements and/or components, but do not preclude the presence or addition of one or more other features integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations and arrangements of one or more of the associated listed items.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Figure 1 illustrates a layout of a display screen of a communication device 100 for user to prioritize applications manually or automatically according to an embodiment of the present invention. In one exemplary embodiment, four applications are running on default bearer bandwidth in the communication device 100. When the user launches a prioritization application, a display Screen 100a as shown in Figure 1a displays the list of applications which falls under the best effort traffic in the device 100. A display screen 100b shown in Figure 1b depicts the two mode of selecting the priority i.e. Manual and automatic. The manual mode gives the user an option to select the high priority application. The automatic mode identifies the high priority application dynamically based on application status and allocated bandwidth based on a calculation carried out by a predefined algorithm.
There are 3 levels of priority defined for an application based on running status, i.e. high priority, low priority and zero priority as explained below:
• High Priority: The applications listed under high priority are given a preference to occupy or share more bandwidth compared to other two priority level. These applications are relatively scaled to get high bandwidth. The TCP (Transmission Control Protocol) parameters for these high priority applications are not modified but are automatically adjusted by a wireless network.
• Low Priority: The applications listed under low priority are given less priorities by reducing the currently used bandwidth. A system in the device 100 calculates minimum bandwidth for the low priority session to exist. The system of the present invention ensures that all applications categorized under low priority will be active but with a very limited bandwidth sharing.
• Zero Priority: The applications listed under zero priority are not allowed to share any data to the network. The present invention ensures that there is no data transfer from these applications and the bandwidth is utilized for other applications with higher priorities.
Pre-prioritization defines a condition where User selects a priority before the high priority application starts. All 3 levels of priority can be chosen at this stage (Screen 100c) as shown in figure 1c.
Post prioritization defines a condition where user tries to modify the priorities when the application is running at background. Only 2 priorities level such as high priority and low priority, can be applied at this stage (Screen 100d) shown in figure 1d.
Figure 2 illustrates a system 200 for dynamically modifying allocated bandwidth of one or more applications 201 (such as 201a, 201b, 201c,…, 201n) running on a communication device 100 according to an embodiment of the present invention. The system 200 comprises an application managing module 202, an application mapping module 203, a real time bandwidth calculating module 204, a policy making module 205, and a policy regulating module 206. The system 200 also comprises a database 208 (or centralized repository 208).
The application managing module 202 interacts with application layer and the Kernel layer blocks. The application managing module 202 performs one or more functions which include but not limited to:
a. Monitoring one or more running applications,
b. Retrieving application ID of each of the applications and providing the same to the application mapping module 202,
c. Invoking the application mapping module 202 when high priority application starts or closes.
d. Invoking the application mapping module 202 when Zero Priority application starts/closes.
The application mapping module 202 receives the list of application ID from the application managing module for each of the running applications along with the details of running TCP sessions. The application mapping module maps the application id with all sessions running for the corresponding application.
The real time bandwidth calculating module 204 is configured for calculating bandwidth for high priority and low priority applications based on receiving (rx) and transmitting (tx) bytes. The real time bandwidth calculating module 204 invokes the policy making module 205 to determine the bandwidth to achieve priority.
The centralized repository or database 208 contains the details of every session which includes session ID, Source IP, Source Port, Destination IP, Destination Port. The database 208 also maintains minimum tolerance bandwidth needed to keep the low priority application without getting torn down.
The policy making module 205 reads the current session information and the priority levels of all the running applications for calculating minimum bandwidth and the step value for gradual reduction of bandwidth for all low priority applications while high priority application has no limit on in increase in bandwidth. The policy making module 205 invokes the policy regulating module 206 to enforce the changes and maintain it.
The policy regulating module 206 modifies session parameters for low priority applications. The policy regulating module 206 also monitors the high and low priority application so that maximum utilization of bandwidth is ensured. If the high priority application bandwidth has reached the saturation limit, then the policy regulating module 206 shares the remaining bandwidth to accommodate all other low priority applications.
The system 200 is adapted for dynamically scaling the bandwidth just enough to meet the high priority application instead of fixing or quantifying bandwidth to a high priority application. For example, streaming application on event of setting higher priority, the system calculates minimum bit rate (MBR) required for streaming the video rather than fixing bandwidth for higher priority application. The bandwidth conserved in this process is referred as quiescent bandwidth. The system 200 includes a network stack 207 which represents the existing Linux Kernel Stack.In one embodiment, the system 200 can be designed on Linux platform, android platform, SLP platform, or Tizen platform.
In one embodiment, the communication device 100 comprises a user interface for dynamically specifying and modifying the priority of one or more applications or current.
In one embodiment, the system 200 is configured to transceive the data through a second radio access technology (RAT) when a first radio access technology (RAT) is unable to provide the pre-defined bandwidth.
Figure 3 illustrates an exemplary embodiment of sharing bandwidth between two applications according to an exemplary embodiment. In this embodiment, the device 100 is running two applications (i.e. Application 1 and Application 2) based on transceiving of data from a network 300. In figure 3a, the applications are running normally and the bandwidths are distributed equaling between two applications. In figure 3b, application prioritization is applied and bandwidth is shared between two applications according to priority of levels of the applications. In present example, there are two applications i.e. Application1 and Application2, which share the best-effort bandwidth equally as shown in figure 3a. After the priority is set, the low priority application (Application 2) is monitored and the bandwidth is managed and controlled by the system 200 which indirectly leads Application 1 to expand its bandwidth as shown in figure 3b.
Figure 4 illustrates a flow chart of a method of dynamically modifying allocated bandwidth of one or more applications 201 running on a communication device 100 according to an embodiment of the present invention. This embodiment describes the flow of dynamic management of application’s bandwidth (manual) for Pre-Prioritization case. The first step of App Prioritization solution is to identify application which uses default-bearer bandwidth. User selects the priority for each application. The list of priority details are sent to the application managing module 202 where it monitors the high priority and zero priority applications.
When High priority application comes to foreground packet monitoring starts, the application mapping module 203 maps all session information with the running applications and stores the information in database 208. The bandwidth calculating module 204 calculates the relative bandwidth for all sessions. It decides the delta (reduced value) based on this relative bandwidth and controls the bandwidth for the low priority applications.
At step 401, one or more applications running on the communication device 100 are determined. At step 402, priority level of each of the applications is determined. At step 403, the priority level of each of the applications is communicated to the application managing module/application manager 202. At step 404, the prioritized applications are monitored. At step 405, check is performed to determine whether a high priority application is running. If yes, at step 406, all session information is derived and bandwidth available with the running applications is calculated. If no, the step 404 is performed. At step 407, the network parameter is modified to reduce the bandwidth for low priority application sessions until minimum threshold bandwidth is reached for that session. In one embodiment, the network parameter includes, but not limited to TCP parameter such as TCP widow size and buffer size. At step 408, the bandwidth allocated for low priority applications is regulated. At step 409, check is again performed to determine whether a high priority application is still running. If yes for the step 409, at step 410, check is performed to determine whether the bandwidth of the high priority application is increasing. If no for the step 409, the method of modifying allocated bandwidth of one or more applications running on the communication device 100 is stopped. Here and hereinafter, the ‘application running on the communication device 100 is stopped’ means which includes, but not limited to, paused, closed, completely served or any other events which stops the application from using dynamically modified bandwidth. If yes for the step 410, the step 407 is performed. If no for the step 410, the step 408 is performed.
Figure 5 illustrates a flow chart of a method of dynamically modifying allocated bandwidth of one or more applications running on a communication device 100 according to another embodiment of the present invention. In this embodiment, the dynamic prioritization is performed when the user changes the priority level of the one or more application 201 currently running in the background.
At step 501, download sessions of the one or more running applications are determined. At step 502, priority level of each of the download sessions is determined. At step 503, one or more session information are derived and bandwidth available with the running applications is calculated. At step 504, the network parameter is modified to reduce the bandwidth for low priority application sessions until minimum threshold bandwidth is reached for that session. In one embodiment, the network parameter includes, but not limited to TCP parameter such as TCP widow size and buffer size. At step 505, the bandwidth allocated for low priority applications is regulated. At step 506, check is again performed to determine whether a high priority application is still running. If yes for the step 506, at step 507, check is performed to determine whether the bandwidth of the high priority application is increasing. If no for the step 506, the method of modifying allocated bandwidth of one or more applications running on the communication device 100 is stopped. If yes for the step 507, the step 504 is performed. If no for the step 507, the step 505 is performed.
Figure 6 illustrates fields for all individual sessions, which are used in controlling the bandwidth according to an embodiment of the present invention. The fields for the application mapping module 203 includes but not limited to Session ID, Socket FD, Priority, PID, Source IP, Source Port, Destination IP, Destination port, Application status (such as foreground (FG) and background (BG)). The bandwidth calculating module 204 includes but not limited to calculated bandwidth, timestamp, step reduction. The policy making module 205 includes but not limited to step reduction. The bandwidth regulating module 206 includes but not limited to current bandwidth and high priority saturation block.
Figure 7 illustrates a flow diagram of a method of dynamically modifying allocated bandwidth of one or more applications 201 running on a communication device 100 according to an embodiment of the present invention. At step 701, the application mapping module 203 fetches a request for information of one or more sessions of one or more applications 201 running on the communication device 100 using PID to the network stack 207. At step 702, session information of the one or more applications 201 are fetched to the application mapping module 203 by the network stack 207 on receiving the request. The session information includes but not limited to PID, SIP, DIP, SPort, DPort, Protocol Number, Session ID (FD). At step 703, the session information received from the network stack207 is stored in database 208 with the priority information. At step 704, the real time bandwidth calculating module 204 fetches a request for number of bytes sent/received for each session for the one or more running applications to the network stack 207. At step 705, number of bytes sent/received for each running session of the one or more applications 201 is received at the real time bandwidth calculating module 204 from the network stack. At step 706, number of bytes sent/received for each running session and calculated bandwidth for each running sessions are stored in the database 208. At step 707, the real time bandwidth calculating module 204 gets triggered to calculate the bandwidth for each session. Available bandwidth is divided among each session and specifies a section of the bandwidth of low priority application in order to maintain minimum data rate required to sustain low priority application. In case high priority application could not use the privileged bandwidth, the entries are deleted from the database 208. At step 708, the database 208 is updated with rules and calculated bandwidth for each application. At step 709, the policy making module 205 is subsequently triggered to create rules for each session. At step 710, the policy making module 205 invokes the rules to the policy regulating module 206. At step 711, the policy regulating module 206 continuously monitors the throughput. At step 712, the rules are enforced and the bandwidth for each session is maintained.
Figure 8 illustrates a flow diagram of a method of dynamically modifying allocated bandwidth of one or more applications 201 running on a communication device 100 according to an embodiment of the present invention. This embodiment is particularly describing a case when the high priority application is unable to utilize the bandwidth derived from the low priority applications. In this embodiment, the policy regulating module 206 continuously monitors the throughput at step 801. As the policy regulating module 206 finds that the high priority application is not utilizing the throughput, the instructions is provided to the network stack 207 to enforce the rule and maintain the bandwidth for each session at step 802. The instruction is also provided to the database 208 by the policy regulating module 206 to set high priority saturation block flag for the high priority application at step 803. Then the dynamic fallback mechanism is activated in which high priority application on achieving the saturation point condition due to server limitation or operator settings, can renounce its bandwidth. The renounced bandwidth / unutilized bandwidth is distributed among the low priority applications at step 804. The entries related to the high priority application are modified so that the current observation/learning can be utilized in the future.
Figure 9 illustrates a flow diagram of a method of dynamically modifying allocated bandwidth of one or more applications 201 running on a communication device 100 according to an embodiment of the present invention. At step 901, the application mapping module 203 fetches a request for information one or more session of one or more applications 201 on the communication device 100 using PID to the network stack 207. At step 902, session information of one or more applications are fetched to the application mapping module 203 by the network stack 207 on receiving the request. The session information includes but not limited to PID, SIP, DIP, SPort, DPort, Protocol Number, Session ID (FD). At step 903, the fetched session information is stored in the database 208 along with the priority information. At step 904, the real time bandwidth calculating module 204 fetches a request for information of number of bytes sent/received for each session for the one or more running applications to the network stack 207. At step 905, the information of the number of bytes sent/received for each running session of the one or more applications is provided to the real time bandwidth calculating module 204 by the network stack 207 on receiving the request. At step 906, the information of the number of bytes sent/received for each running session and calculated bandwidth for each running sessions are stored in the database 208. At step 907, the real time bandwidth calculating module 204 gets triggered to calculate the bandwidth for each session. When a new application is registered, re-divide the bandwidth available for each session and specify the bandwidth of low priority application in order to maintain minimum data rate required to sustain the low priority application. This information is recorded in the database 208 if any transaction already happened with the network 300. In case high priority application could not use the privileged bandwidth, the entries are deleted from the database 208. In case the available bandwidth is unable to meet the requirement of the one or more applications, the one or more applications are kept in queue. At step 908, the database 208 is updated with the revised rules and revised calculated bandwidth for each application. This in turn triggers the policy making module 205 at step 909 to create rules for each session. At step 910, the policy making module 205 invokes the rules to the policy regulating module 206. At step 911, the policy regulating module 206 continuously monitors the throughput. At step 912, the revised rules are enforced and the bandwidth for each session is maintained.
Figure 10 illustrates an experimental result conducted to show the bandwidth occupied by YouTube and download traffic. Initially when the downloaded started, the total bandwidth available is 2.857 Mbps. YouTube is utilizing 80.8% of the total bandwidth i.e. about 2.309 Mbps. Future Hosting is using 5.2 % of the total bandwidth i.e. about 0.149 Mbps. WebKit Builds is using 6.7% of the total bandwidth i.e. about 0.190 Mbps.
When a policy is applied, the total bandwidth is changed to 4.154 Mbps. YouTube is utilizing 95.8% of the total bandwidth i.e. 3.980 Mbps. Future Hosting is using 1.5% of the total bandwidth i.e. 0.063 Mbps. WebKit Builds is using 1.1% of the total bandwidth i.e. about 0.046 Mbps. Corel is using 1.6 % of the total bandwidth i.e. about 0.067 Mbps.
When the applied policy is relinquished, the total bandwidth changed to 4.016 Mbps. YouTube is now using 71.1% of the total bandwidth i.e. about 2.856 Mbps. Future Hosting is now using 8% of the total bandwidth i.e. about 0.324. WebKit Builds is now using 8.1% of the total bandwidth i.e. about 0.328. Corel is now using 12.9% of the total bandwidth i.e. about 0.522.
Although the invention of the method and system has been described in connection with the embodiments of the present invention illustrated in the accompanying drawings, it is not limited thereto. It will be apparent to those skilled in the art that various substitutions, modifications and changes may be made thereto without departing from the scope and spirit of the invention.
,CLAIMS:
We claim:
1. A method for dynamically modifying allocated bandwidth of one or more applications running on a communication device, comprising:
determining one or more session information associated with one or more applications running on the communication device;
determining priority level of each of the one or more applications running on the communication device; and
dynamically distributing bandwidth of a communication network among one or more sessions of the one or more applications running on the communication device based on the determined priority level.
2. The method as claimed in claim 1, wherein dynamically distributing bandwidth of the communication network among one or more sessions of the one or more applications comprises:
determining a minimum bandwidth required for running the one or more sessions of the one or more applications dynamically categorized as low priority;
modifying one or more network parameters for reducing the bandwidth of the one or more sessions of the one or more applications dynamically categorized as low priority;
deriving a bandwidth from the one or more sessions of the one or more applications dynamically categorized as low priority;
providing the derived bandwidth to the one or more sessions of the one or more applications dynamically categorized as high priority;
monitoring usage of the derived bandwidth by the one or more sessions of the one or more applications dynamically categorized as high priority; and
regulating the bandwidth allocated to the one or more sessions of the one or more applications dynamically categorized as low priority.
3. The method as claimed in claim 2, wherein the network parameter comprises at least one of a TCP (Transmission Control Protocol) window size and buffer size.
4. The method as claimed in claim 1, wherein dynamically distributing bandwidth of the communication network among one or more sessions of one or more applications comprises:
determining a minimum bandwidth required for running the one or more sessions of the one or more applications predefined as low priority;
modifying one or more network parameters for reducing the bandwidth of the one or more sessions of the one or more applications predefined as low priority;
deriving a bandwidth from the one or more sessions of the one or more applications predefined as low priority;
providing the derived bandwidth to the one or more sessions of the one or more applications predefined as high priority;
monitoring usage of the derived bandwidth by the one or more sessions of the one or more applications predefined as high priority; and
regulating the bandwidth allocated to the one or more sessions of the one or more applications predefined as low priority.
5. The method as claimed in claim 4, wherein the network parameter comprises at least one of a TCP (Transmission Control Protocol) window size and buffer size.
6. The method as claimed in claim 4, wherein deriving a bandwidth from the one or more sessions of the one or more applications categorized a low priority by providing controlled modification to the one or more network parameters in order to gradually reduce bandwidth of the one or more sessions of the one or more applications predefined as low priority, thereby minimizing the data loss.
7. The method as claimed in claim 2, further comprises discontinuing the providing of bandwidth when the one or more sessions of the one or more applications dynamically categorized as high priority, fail to utilize the derived bandwidth.
8. The method as claimed in claim 4, further comprises discontinuing the providing of bandwidth when the one or more sessions of the one or more applications predefined as high priority, fail to utilize the derived bandwidth.
9. The method as claimed in claim 1, wherein the one or more applications are manually categorized as one of a high priority application and low priority application through an user interface (UI).
10. The method as claimed in claim 1, wherein the one or more applications are automatically categorized as one of a high priority application and low priority application based on the previous application usage.
11. The method as claimed in claim 1 further comprising configuring the communication device to transceive data through a second radio access network (RAT) when a first radio access network (RAT) is unable to provide a pre-defined bandwidth.
12. The method as claimed in claim 1 further comprising suspending the one or more low priority applications when a battery power consumption reaches to threshold in order to save battery power of the communication.
13. A system for dynamically modifying allocated bandwidth of one or more applications running in a communication device, comprising:
an application managing module configured for monitoring one or more running applications;
an application mapping module connected to the application managing module for mapping identification (ID) of the one or more applications with one or more running sessions of the one or more applications;
a real time bandwidth calculating module connected to the application mapping module for calculating bandwidth to be allocated to the one or more applications categorized as one of a high priority application and low priority application;
a policy making module connected to the real time bandwidth calculating module for receiving the one or more session information and priority information of the one or more applications; and
a policy regulating module connected to the policy making module configured to modify one or more network parameters for the low priority applications,
the policy regulating module monitors the one or more applications categorized as one of the high priority application and low priority application for optimum utilization of the bandwidth.
14. The system as claimed in claim 13 further comprising a database for storing information comprises session ID, source IP, source port, destination IP, destination port, and minimum tolerance bandwidth of the one or more applications.
15. The system as claimed in claim 13, wherein the system is configured to transceive the data through a second radio access technology (RAT) when a first radio access technology (RAT) is unable to provide a pre-defined bandwidth.
16. The system as claimed in claim 13, wherein the network parameter comprises at least one of a TCP (Transmission Control Protocol) window size and buffer size.
Dated this the 11th day of February 2015
Signature
KEERTHI J S
Patent Agent
Agent for the Applicant
| Section | Controller | Decision Date |
|---|---|---|
| 15 | saroj kumar singh | 2020-08-28 |
| 43 | saroj kumar singh | 2025-07-22 |
| # | Name | Date |
|---|---|---|
| 1 | 3237-CHE-2014-FORM-26 [31-12-2024(online)].pdf | 2024-12-31 |
| 1 | 3237-CHE-2014-ReviewPetition-HearingNotice-(HearingDate-03-01-2025).pdf | 2024-12-05 |
| 1 | 3237-CHE-2014-Written submissions and relevant documents [17-01-2025(online)].pdf | 2025-01-17 |
| 1 | SRIB-20140120-004_Provisional Specification_1st July 2014.pdf | 2014-07-03 |
| 2 | 3237-CHE-2014-AMMENDED DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 2 | 3237-CHE-2014-Correspondence to notify the Controller [30-12-2024(online)].pdf | 2024-12-30 |
| 2 | 3237-CHE-2014-FORM-26 [31-12-2024(online)].pdf | 2024-12-31 |
| 2 | SRIB-20140120-004_Drawings_1st July 2014.pdf | 2014-07-03 |
| 3 | 3237-CHE-2014-Correspondence to notify the Controller [30-12-2024(online)].pdf | 2024-12-30 |
| 3 | 3237-CHE-2014-Covering Letter [01-06-2022(online)].pdf | 2022-06-01 |
| 3 | 3237-CHE-2014-ReviewPetition-HearingNotice-(HearingDate-03-01-2025).pdf | 2024-12-05 |
| 3 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 4 | 3237-CHE-2014-AMMENDED DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 4 | 3237-CHE-2014-FORM 13 [01-06-2022(online)].pdf | 2022-06-01 |
| 4 | 3237-CHE-2014-ReviewPetition-HearingNotice-(HearingDate-03-01-2025).pdf | 2024-12-05 |
| 4 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 5 | Form-18(Online).pdf | 2015-02-13 |
| 5 | 3237-CHE-2014-FORM-24 [01-06-2022(online)].pdf | 2022-06-01 |
| 5 | 3237-CHE-2014-Covering Letter [01-06-2022(online)].pdf | 2022-06-01 |
| 5 | 3237-CHE-2014-AMMENDED DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 6 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 6 | 3237-CHE-2014-MARKED COPIES OF AMENDEMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 6 | 3237-CHE-2014-FORM 13 [01-06-2022(online)].pdf | 2022-06-01 |
| 6 | 3237-CHE-2014-Covering Letter [01-06-2022(online)].pdf | 2022-06-01 |
| 7 | 3237-CHE-2014-FORM 13 [01-06-2022(online)].pdf | 2022-06-01 |
| 7 | 3237-CHE-2014-FORM-24 [01-06-2022(online)].pdf | 2022-06-01 |
| 7 | 3237-CHE-2014-PETITION u-r 6(6) [01-06-2022(online)].pdf | 2022-06-01 |
| 7 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 8 | 3237-CHE-2014-FORM-24 [01-06-2022(online)].pdf | 2022-06-01 |
| 8 | 3237-CHE-2014-MARKED COPIES OF AMENDEMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 8 | 3237-CHE-2014-Power of Authority [01-06-2022(online)].pdf | 2022-06-01 |
| 8 | Request for Certified Copy of 3237CHE2014_CS.pdf | 2015-06-30 |
| 9 | 3237-CHE-2014-FER.pdf | 2018-12-24 |
| 9 | 3237-CHE-2014-MARKED COPIES OF AMENDEMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 9 | 3237-CHE-2014-PETITION u-r 6(6) [01-06-2022(online)].pdf | 2022-06-01 |
| 9 | 3237-CHE-2014-RELEVANT DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 10 | 3237-CHE-2014-Annexure [06-07-2020(online)].pdf | 2020-07-06 |
| 10 | 3237-CHE-2014-OTHERS [24-06-2019(online)].pdf | 2019-06-24 |
| 10 | 3237-CHE-2014-PETITION u-r 6(6) [01-06-2022(online)].pdf | 2022-06-01 |
| 10 | 3237-CHE-2014-Power of Authority [01-06-2022(online)].pdf | 2022-06-01 |
| 11 | 3237-CHE-2014-FER_SER_REPLY [24-06-2019(online)].pdf | 2019-06-24 |
| 11 | 3237-CHE-2014-FORM 3 [06-07-2020(online)].pdf | 2020-07-06 |
| 11 | 3237-CHE-2014-Power of Authority [01-06-2022(online)].pdf | 2022-06-01 |
| 11 | 3237-CHE-2014-RELEVANT DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 12 | 3237-CHE-2014-Annexure [06-07-2020(online)].pdf | 2020-07-06 |
| 12 | 3237-CHE-2014-DRAWING [24-06-2019(online)].pdf | 2019-06-24 |
| 12 | 3237-CHE-2014-PETITION UNDER RULE 137 [06-07-2020(online)].pdf | 2020-07-06 |
| 12 | 3237-CHE-2014-RELEVANT DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 13 | 3237-CHE-2014-Written submissions and relevant documents [06-07-2020(online)].pdf | 2020-07-06 |
| 13 | 3237-CHE-2014-FORM 3 [06-07-2020(online)].pdf | 2020-07-06 |
| 13 | 3237-CHE-2014-CORRESPONDENCE [24-06-2019(online)].pdf | 2019-06-24 |
| 13 | 3237-CHE-2014-Annexure [06-07-2020(online)].pdf | 2020-07-06 |
| 14 | 3237-CHE-2014-COMPLETE SPECIFICATION [24-06-2019(online)].pdf | 2019-06-24 |
| 14 | 3237-CHE-2014-Correspondence to notify the Controller [02-06-2020(online)].pdf | 2020-06-02 |
| 14 | 3237-CHE-2014-FORM 3 [06-07-2020(online)].pdf | 2020-07-06 |
| 14 | 3237-CHE-2014-PETITION UNDER RULE 137 [06-07-2020(online)].pdf | 2020-07-06 |
| 15 | 3237-CHE-2014-CLAIMS [24-06-2019(online)].pdf | 2019-06-24 |
| 15 | 3237-CHE-2014-FORM-26 [02-06-2020(online)].pdf | 2020-06-02 |
| 15 | 3237-CHE-2014-PETITION UNDER RULE 137 [06-07-2020(online)].pdf | 2020-07-06 |
| 15 | 3237-CHE-2014-Written submissions and relevant documents [06-07-2020(online)].pdf | 2020-07-06 |
| 16 | 3237-CHE-2014-ABSTRACT [24-06-2019(online)].pdf | 2019-06-24 |
| 16 | 3237-CHE-2014-Correspondence to notify the Controller [02-06-2020(online)].pdf | 2020-06-02 |
| 16 | 3237-CHE-2014-US(14)-HearingNotice-(HearingDate-22-06-2020).pdf | 2020-05-29 |
| 16 | 3237-CHE-2014-Written submissions and relevant documents [06-07-2020(online)].pdf | 2020-07-06 |
| 17 | 3237-CHE-2014-FORM-26 [02-06-2020(online)].pdf | 2020-06-02 |
| 17 | 3237-CHE-2014-FORM 13 [25-10-2019(online)].pdf | 2019-10-25 |
| 17 | 3237-CHE-2014-Correspondence to notify the Controller [02-06-2020(online)].pdf | 2020-06-02 |
| 18 | 3237-CHE-2014-FORM-26 [02-06-2020(online)].pdf | 2020-06-02 |
| 18 | 3237-CHE-2014-US(14)-HearingNotice-(HearingDate-22-06-2020).pdf | 2020-05-29 |
| 18 | 3237-CHE-2014-ABSTRACT [24-06-2019(online)].pdf | 2019-06-24 |
| 19 | 3237-CHE-2014-CLAIMS [24-06-2019(online)].pdf | 2019-06-24 |
| 19 | 3237-CHE-2014-FORM 13 [25-10-2019(online)].pdf | 2019-10-25 |
| 19 | 3237-CHE-2014-FORM-26 [02-06-2020(online)].pdf | 2020-06-02 |
| 19 | 3237-CHE-2014-US(14)-HearingNotice-(HearingDate-22-06-2020).pdf | 2020-05-29 |
| 20 | 3237-CHE-2014-FORM 13 [25-10-2019(online)].pdf | 2019-10-25 |
| 20 | 3237-CHE-2014-Correspondence to notify the Controller [02-06-2020(online)].pdf | 2020-06-02 |
| 20 | 3237-CHE-2014-COMPLETE SPECIFICATION [24-06-2019(online)].pdf | 2019-06-24 |
| 20 | 3237-CHE-2014-ABSTRACT [24-06-2019(online)].pdf | 2019-06-24 |
| 21 | 3237-CHE-2014-ABSTRACT [24-06-2019(online)].pdf | 2019-06-24 |
| 21 | 3237-CHE-2014-CLAIMS [24-06-2019(online)].pdf | 2019-06-24 |
| 21 | 3237-CHE-2014-CORRESPONDENCE [24-06-2019(online)].pdf | 2019-06-24 |
| 21 | 3237-CHE-2014-Written submissions and relevant documents [06-07-2020(online)].pdf | 2020-07-06 |
| 22 | 3237-CHE-2014-CLAIMS [24-06-2019(online)].pdf | 2019-06-24 |
| 22 | 3237-CHE-2014-COMPLETE SPECIFICATION [24-06-2019(online)].pdf | 2019-06-24 |
| 22 | 3237-CHE-2014-DRAWING [24-06-2019(online)].pdf | 2019-06-24 |
| 22 | 3237-CHE-2014-PETITION UNDER RULE 137 [06-07-2020(online)].pdf | 2020-07-06 |
| 23 | 3237-CHE-2014-COMPLETE SPECIFICATION [24-06-2019(online)].pdf | 2019-06-24 |
| 23 | 3237-CHE-2014-CORRESPONDENCE [24-06-2019(online)].pdf | 2019-06-24 |
| 23 | 3237-CHE-2014-FORM 3 [06-07-2020(online)].pdf | 2020-07-06 |
| 23 | 3237-CHE-2014-FER_SER_REPLY [24-06-2019(online)].pdf | 2019-06-24 |
| 24 | 3237-CHE-2014-Annexure [06-07-2020(online)].pdf | 2020-07-06 |
| 24 | 3237-CHE-2014-CORRESPONDENCE [24-06-2019(online)].pdf | 2019-06-24 |
| 24 | 3237-CHE-2014-DRAWING [24-06-2019(online)].pdf | 2019-06-24 |
| 24 | 3237-CHE-2014-OTHERS [24-06-2019(online)].pdf | 2019-06-24 |
| 25 | 3237-CHE-2014-RELEVANT DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 25 | 3237-CHE-2014-DRAWING [24-06-2019(online)].pdf | 2019-06-24 |
| 25 | 3237-CHE-2014-FER.pdf | 2018-12-24 |
| 25 | 3237-CHE-2014-FER_SER_REPLY [24-06-2019(online)].pdf | 2019-06-24 |
| 26 | 3237-CHE-2014-FER_SER_REPLY [24-06-2019(online)].pdf | 2019-06-24 |
| 26 | Request for Certified Copy of 3237CHE2014_CS.pdf | 2015-06-30 |
| 26 | 3237-CHE-2014-Power of Authority [01-06-2022(online)].pdf | 2022-06-01 |
| 26 | 3237-CHE-2014-OTHERS [24-06-2019(online)].pdf | 2019-06-24 |
| 27 | 3237-CHE-2014-FER.pdf | 2018-12-24 |
| 27 | 3237-CHE-2014-OTHERS [24-06-2019(online)].pdf | 2019-06-24 |
| 27 | 3237-CHE-2014-PETITION u-r 6(6) [01-06-2022(online)].pdf | 2022-06-01 |
| 27 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 28 | 3237-CHE-2014-FER.pdf | 2018-12-24 |
| 28 | 3237-CHE-2014-MARKED COPIES OF AMENDEMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 28 | Request for Certified Copy of 3237CHE2014_CS.pdf | 2015-06-30 |
| 28 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 29 | 3237-CHE-2014-FORM-24 [01-06-2022(online)].pdf | 2022-06-01 |
| 29 | Form-18(Online).pdf | 2015-02-13 |
| 29 | Request for Certified Copy of 3237CHE2014_CS.pdf | 2015-06-30 |
| 29 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 30 | 3237-CHE-2014-FORM 13 [01-06-2022(online)].pdf | 2022-06-01 |
| 30 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 30 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 30 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 31 | 3237-CHE-2014-Covering Letter [01-06-2022(online)].pdf | 2022-06-01 |
| 31 | Form-18(Online).pdf | 2015-02-13 |
| 31 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf | 2015-03-13 |
| 31 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 32 | 3237-CHE-2014-AMMENDED DOCUMENTS [01-06-2022(online)].pdf | 2022-06-01 |
| 32 | Form-18(Online).pdf | 2015-02-13 |
| 32 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 32 | SRIB-20140120-004_Drawings_1st July 2014.pdf | 2014-07-03 |
| 33 | 3237-CHE-2014-ReviewPetition-HearingNotice-(HearingDate-03-01-2025).pdf | 2024-12-05 |
| 33 | SRIB-20140120-004_Complete Specification_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 33 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 33 | SRIB-20140120-004_Provisional Specification_1st July 2014.pdf | 2014-07-03 |
| 34 | 3237-CHE-2014-Correspondence to notify the Controller [30-12-2024(online)].pdf | 2024-12-30 |
| 34 | SRIB-20140120-004_Drawings_1st July 2014.pdf | 2014-07-03 |
| 34 | SRIB-20140120-004_Drawings_Filed with IPO on 11 Feb 2015.pdf ONLINE | 2015-02-13 |
| 35 | 3237-CHE-2014-FORM-26 [31-12-2024(online)].pdf | 2024-12-31 |
| 35 | SRIB-20140120-004_Drawings_1st July 2014.pdf | 2014-07-03 |
| 35 | SRIB-20140120-004_Provisional Specification_1st July 2014.pdf | 2014-07-03 |
| 36 | 3237-CHE-2014-Written submissions and relevant documents [17-01-2025(online)].pdf | 2025-01-17 |
| 36 | SRIB-20140120-004_Provisional Specification_1st July 2014.pdf | 2014-07-03 |
| 37 | 3237-CHE-2014-PatentCertificate22-07-2025.pdf | 2025-07-22 |
| 38 | 3237-CHE-2014-IntimationOfGrant22-07-2025.pdf | 2025-07-22 |
| 1 | 3237_19-09-2018.pdf |