Sign In to Follow Application
View All Documents & Correspondence

Methods For Managing Threads Within An Application And Devices Thereof

Abstract: This technology relates to assigning a task to a current task queue based on one or more matching category when a new task is received within an application for execution. Availability of one or more existing idle threads within one or more thread groups required for the execution of the received task is determined based on one or more utilization parameters, where each of the thread groups is associated with one or more task queues and where the current task queue is one of the task queues. One or more new threads are created to allocate for execution of the task when the existing idle threads are determined to be unavailable in the thread groups within the application. Next, the created new threads are allocated to the task when the existing idle threads are determined to be unavailable. The task is executed using the allocated new threads. Figure 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
13 June 2013
Publication Number
26/2013
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipr@akshipassociates.com
Parent Application
Patent Number
Legal Status
Grant Date
2022-03-22
Renewal Date

Applicants

WIPRO LIMITED
Doddakannelli, Sarjapur Road, Bangalore 560035, Karnataka, India.

Inventors

1. Maheshwaran Govindarajeswaran
15/1 Periyar Ramaswamy Street, Ethiraj Nagar, Chennai 600033, Tamil Nadu
2. Arun Jeyaprasad
76/230, Yadaval Street, Adambakkam, Chennai 600088, Tamil Nadu

Specification

CLIAMS:We claim:
1. A method for managing threads within an application, the method comprising:
assigning, by a thread management computing device, a task to a current task queue based on one or more matching category when the new task is received within an application for execution;
determining, by the thread management computing device, availability of one or more existing idle threads within one or more thread groups required for the execution of the received task within the application based on one or more utilization parameters, wherein each of the one or more thread groups is associated with one or more task queues and wherein the current task queue is one of the one or more task queues;
creating, by the thread management computing device, one or more new threads to allocate for execution of the task when the existing one or more idle threads are determined to be unavailable in the one or more thread groups within the application ;
allocating, by the thread management computing device, the one or more of the new threads to the task when the existing one or more idle threads are determined to be unavailable; and
executing, by the thread management computing device, the task using the allocated one or more of the new threads.

2. The method as set forth in claim 1 wherein the determining further comprises:
obtaining, by the thread management computing device, the one or more existing idle threads from the one or more thread groups of a native task queue when the one or more existing idle threads is determined to be available in the one or more thread groups, wherein the native task queue is one of the one or more task queues;
configuring, by the thread management computing device, one or more characteristics of the obtained one or more existing idle threads based on the current task queue; and
allocating, by the thread management computing device, the configured one or more existing idle threads for the execution of the received task within the current task queue.

3. The method as set forth in claim 2 further comprising:
determining, by the thread management computing device, for a presence of a new task in the native task queue upon execution of the task within the current task queue;
deallocating, by the thread management computing device, the configured one or more existing idle threads from the current task queue when the new task in the native task queue is determined to be present;
reconfiguring, by the thread management computing device, the one or more characteristics of the deallocated one or more existing idle threads based on the native task queue;
reallocating, by the thread management computing device, the reconfigured one or more existing idle threads for the execution of the new task in the native task queue.

4. The method as set forth in claim 3 wherein the determining further comprises maintaining, by the thread management computing device, the one or more existing idle threads in an idle state when the new task is not determined to be present in the native task queue.

5. The method as set forth in claim 1 wherein the creating further comprises creating, by the thread management computing device, the one or more new threads wherein a number of the one or more new threads is less than a maximum threshold of new threads in the current task queue.

6. Then the Non-transitory computer readable medium having stored thereon instructions for managing threads within an application comprising machine executable code which when executed by at least one processor, causes the processor to perform steps comprising:
assigning, a task to a current task queue based on one or more matching category when the new task is received within an application for execution;
determining, availability of one or more existing idle threads within one or more thread groups required for the execution of the received task within the application based on one or more utilization parameters, wherein each of the one or more thread groups is associated with one or more task queues and wherein the current task queue is one of the one or more task queues;
creating, one or more new threads to allocate for execution of the task when the existing one or more idle threads are determined to be unavailable in the one or more thread groups within the application ;
allocating, the one or more of the new threads to the task when the existing one or more idle threads are determined to be unavailable; and
executing, the task using the allocated one or more of the new threads.

7. The medium as set forth in claim 6 wherein the determining further comprises:
obtaining, the one or more existing idle threads from the one or more thread groups of a native task queue when the one or more existing idle threads is determined to be available in the one or more thread groups, wherein the native task queue is one of the one or more task queues;
configuring, one or more characteristics of the obtained one or more existing idle threads based on the current task queue; and
allocating, the configured one or more existing idle threads for the execution of the received task within the current task queue.

8. The medium as set forth in claim 7 further comprising:
determining, for a presence of a new task in the native task queue upon execution of the task within the current task queue;
deallocating, the configured one or more existing idle threads from the current task queue when the new task in the native task queue is determined to be present;
reconfiguring, the one or more characteristics of the deallocated one or more existing idle threads based on the native task queue;
reallocating, the reconfigured one or more existing idle threads for the execution of the new task in the native task queue.

9. The medium as set forth in claim 8 wherein the determining further comprises maintaining, the one or more existing idle threads in an idle state when the new task is not determined to be present in the native task queue.

10. The medium as set forth in claim 6 wherein the creating further comprises creating, the one or more new threads wherein a number of the one or more new threads is less than a maximum threshold of new threads in the current task queue.

11. A thread management computing device comprising:
one or more processors;
a memory, wherein the memory coupled to the one or more processors which are configured to execute programmed instructions stored in the memory comprising:
assigning, a task to a current task queue based on one or more matching category when the new task is received within an application for execution;
determining, availability of one or more existing idle threads within one or more thread groups required for the execution of the received task within the application based on one or more utilization parameters, wherein each of the one or more thread groups is associated with one or more task queues and wherein the current task queue is one of the one or more task queues;
creating, one or more new threads to allocate for execution of the task when the existing one or more idle threads are determined to be unavailable in the one or more thread groups within the application ;
allocating, the one or more of the new threads to the task when the existing one or more idle threads are determined to be unavailable; and
executing, the task using the allocated one or more of the new threads.

12. The device as set forth in claim 11 wherein the one or more processors is further configured to execute programmed instructions stored in the memory for the determining further comprises:
obtaining, the one or more existing idle threads from the one or more thread groups of a native task queue when the one or more existing idle threads is determined to be available in the one or more thread groups, wherein the native task queue is one of the one or more task queues;
configuring, one or more characteristics of the obtained one or more existing idle threads based on the current task queue; and
allocating, the configured one or more existing idle threads for the execution of the received task within the current task queue.

13. The device as set forth in claim 12 wherein the one or more processors is further configured to execute programmed instructions stored in the memory further comprising:
determining, for a presence of a new task in the native task queue upon execution of the task within the current task queue;
deallocating, the configured one or more existing idle threads from the current task queue when the new task in the native task queue is determined to be present;
reconfiguring, the one or more characteristics of the deallocated one or more existing idle threads based on the native task queue;
reallocating, the reconfigured one or more existing idle threads for the execution of the new task in the native task queue.

14. The device as set forth in claim 13 wherein the one or more processors is further configured to execute programmed instructions stored in the memory for the determining further comprises maintaining, the one or more existing idle threads in an idle state when the new task is not determined to be present in the native task queue.
15. The device as set forth in claim 15 wherein the one or more processors is further configured to execute programmed instructions stored in the memory for the creating further comprises creating, the one or more new threads wherein a number of the one or more new threads is less than a maximum threshold of new threads in the current task queue.

Dated this 13th day of June, 2013

MADHUSUDAN S.T.
OF K & S PARTNERS
ATTORNEY FOR THE APPLICANTS
,TagSPECI:This technology generally relates to operating system management, more particularly, to methods for managing threads within an application and devices thereof.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 2573-CHE-2013 FORM-9 13-06-2013.pdf 2013-06-13
1 2573-CHE-2013-RELEVANT DOCUMENTS [20-09-2023(online)].pdf 2023-09-20
2 2573-CHE-2013-IntimationOfGrant22-03-2022.pdf 2022-03-22
2 IP24029-Drawings.pdf 2013-06-15
3 IP24029-CompleteSpecification.pdf 2013-06-15
3 2573-CHE-2013-PatentCertificate22-03-2022.pdf 2022-03-22
4 FORM 5.pdf 2013-06-15
4 2573-CHE-2013-Written submissions and relevant documents [01-02-2022(online)].pdf 2022-02-01
5 FORM 3.pdf 2013-06-15
5 2573-CHE-2013-AMENDED DOCUMENTS [12-01-2022(online)].pdf 2022-01-12
6 abstract2573-CHE-2013.jpg 2013-06-19
6 2573-CHE-2013-FORM 13 [12-01-2022(online)].pdf 2022-01-12
7 2573-CHE-2013-POA [12-01-2022(online)].pdf 2022-01-12
7 2573-CHE-2013 FORM-18 19-07-2013.pdf 2013-07-19
8 2573-CHE-2013-US(14)-HearingNotice-(HearingDate-24-01-2022).pdf 2021-12-31
8 2573-CHE-2013 CORRESPONDENCE OTHERS 19-07-2013.pdf 2013-07-19
9 2573-CHE-2013 FORM-3 26-08-2013.pdf 2013-08-26
9 2573-CHE-2013-FER_SER_REPLY [11-01-2020(online)].pdf 2020-01-11
10 2573-CHE-2013-FER.pdf 2019-07-12
10 2573-CHE-2013-FORM 3 [11-01-2020(online)].pdf 2020-01-11
11 2573-CHE-2013-FER.pdf 2019-07-12
11 2573-CHE-2013-FORM 3 [11-01-2020(online)].pdf 2020-01-11
12 2573-CHE-2013 FORM-3 26-08-2013.pdf 2013-08-26
12 2573-CHE-2013-FER_SER_REPLY [11-01-2020(online)].pdf 2020-01-11
13 2573-CHE-2013 CORRESPONDENCE OTHERS 19-07-2013.pdf 2013-07-19
13 2573-CHE-2013-US(14)-HearingNotice-(HearingDate-24-01-2022).pdf 2021-12-31
14 2573-CHE-2013 FORM-18 19-07-2013.pdf 2013-07-19
14 2573-CHE-2013-POA [12-01-2022(online)].pdf 2022-01-12
15 2573-CHE-2013-FORM 13 [12-01-2022(online)].pdf 2022-01-12
15 abstract2573-CHE-2013.jpg 2013-06-19
16 2573-CHE-2013-AMENDED DOCUMENTS [12-01-2022(online)].pdf 2022-01-12
16 FORM 3.pdf 2013-06-15
17 2573-CHE-2013-Written submissions and relevant documents [01-02-2022(online)].pdf 2022-02-01
17 FORM 5.pdf 2013-06-15
18 IP24029-CompleteSpecification.pdf 2013-06-15
18 2573-CHE-2013-PatentCertificate22-03-2022.pdf 2022-03-22
19 IP24029-Drawings.pdf 2013-06-15
19 2573-CHE-2013-IntimationOfGrant22-03-2022.pdf 2022-03-22
20 2573-CHE-2013-RELEVANT DOCUMENTS [20-09-2023(online)].pdf 2023-09-20
20 2573-CHE-2013 FORM-9 13-06-2013.pdf 2013-06-13

Search Strategy

1 2573SearchStrategy_08-07-2019.pdf

ERegister / Renewals

3rd: 27 May 2022

From 13/06/2015 - To 13/06/2016

4th: 27 May 2022

From 13/06/2016 - To 13/06/2017

5th: 27 May 2022

From 13/06/2017 - To 13/06/2018

6th: 27 May 2022

From 13/06/2018 - To 13/06/2019

7th: 27 May 2022

From 13/06/2019 - To 13/06/2020

8th: 27 May 2022

From 13/06/2020 - To 13/06/2021

9th: 27 May 2022

From 13/06/2021 - To 13/06/2022

10th: 27 May 2022

From 13/06/2022 - To 13/06/2023

11th: 12 Jun 2023

From 13/06/2023 - To 13/06/2024

12th: 03 Jun 2024

From 13/06/2024 - To 13/06/2025

13th: 06 Jun 2025

From 13/06/2025 - To 13/06/2026