Abstract: Method and system for enabling dynamic capacity planning is disclosed. Initially, historic data and current capacity planning requirement is analyzed using regression analysis techniques, decision tree modelling, seasonal impact analysis technique and, to forecast demand and generate a resource planning schedule. Capacity planning is enabled even when continuous stream of data is being received by the server, since the cache in the computing module stores certain skeletal resource allocation schedule which serve as reference data to forecast immediate and future resource planning requirements.A steady state approach is also implemented to prevent the resource planning schedule from going into surplus or deficit mode. The skeletal resource allocation schedule is populated and assessed based on the dynamic operational inputs and the current demand volume respectively. Finally, the optimal resource planning schedule is rendered and segregated based on a plurality of contextual clusters.
CLIAMS:WE CLAIM:
1. A computer implemented method for enabling a dynamic capacity planning mechanism, said method comprising:
configuring a plurality of operational inputs to forecast a dynamic capacity planning schedule, wherein said plurality of operational inputs comprise raw datareceived from a client server;
processing a set of historical data based on said plurality of operational inputs to create a plurality of contextual data elements;
forecasting said dynamic capacity planning schedule using at least one of said set of historical data and a current capacity planning requirement, wherein said current capacity planning requirement is being generated dynamically by a server; and
aggregating said dynamic capacity planning schedule based on said forecast, wherein said rendered dynamic capacity planning schedule is clustered into a plurality of work reports associated with said plurality of contextual data elements.
2. The computer implemented method as claimed in claim 1, wherein said processing includes fetching a data pattern from a cache memory based on said plurality of operational inputs received from said server.
3. The computer implemented method as claimed in claim 1, wherein said forecasting further comprises parallel execution of a plurality of threads on a multi-threaded processing module.
4. The computer implemented method as claimed in claim 1, further comprising creating a data pattern dynamically upon receiving said set of operational inputs based on a decision model.
5. The computer implemented method as claimed in claim 1, further comprising performing a regression analysis on said set of operational inputs using a seasonal impact model, wherein said seasonal impact model analyzes an interaction between at least one of an independent variable and a dependent variable, further wherein said independent variable is at least one of a shift span time, number of resources, one year transaction volume data, a service level agreement, and a forecast,further wherein said dependent variable is the optimal resource utilization schedule.
6. A computer implemented system for enabling a dynamic capacity planning mechanism, the system comprising:
A computing module communicatively coupled to a server via a network, wherein said server comprises at least one of a forecasting module, an optimization module and a multi-threaded processing module;
said forecasting module configured to dynamically generate a forecast for a plurality of operational inputs, wherein said forecasting module retrieves at least one of static and dynamic data from said server:
said optimization module configured to retrieve forecasted data from the forecasting module and compute an optimal resource allocation schedule upon performing a regression analysis on said plurality of operational inputs; and
said multi-threaded processing module configured to simultaneously compute plurality of tasks on a plurality of cores based on said regression analysis to generate said optimal resource allocation schedule, wherein said dynamic capacity planning schedule is rendered into a plurality of contextual clusters.
7. The computer implemented system as claimed in claim 6, wherein said plurality of contextual clusters are segregated into at least one of an Average Handling Time (AHT), Shift Span Time (SST) and Service Level Agreement (SLA).
8. The computer implemented system as claimed in claim 6, wherein said computing module further comprises a cache memory configured to store a plurality of analytical models, wherein said plurality of analytical models serve as reference data to dynamically predict said optimal resource allocation schedule.
9. The computer implemented system as claimed in claim 6, wherein said multi-threaded processing module is further configured to detect a task loading pattern of an individual thread to dynamically allocate a set of work units.
10. The computer implemented system as claimed in claim 6, wherein said multi-threaded processing module is further configured to connect to a neural network model to predict a forecast upon performing said regression analysis.
11. The computer implemented system as claimed in claim 10, wherein said neural network is configured to utilize artificial intelligence to dynamically load at least one thread sequentially in said multi-threaded processing module. ,TagSPECI:
FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention:
METHOD AND SYSTEM FOR ENABLING DYNAMIC CAPACITY PLANNING
Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th floor,
Nariman point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the embodiments and the manner in which it is to be performed.
TECHNICAL FIELD
[0001] The embodiments herein generally relate to capacity planning for a plurality of human resources, and more particularly, to facilitating dynamic capacity planning at an organization level in a precise and accurate manner.
BACKGROUND
[0002] Managing the allocation of human resources and planning the optimal team capacity in the services sector is becoming increasingly complex because of the dynamic nature of allocating work schedules. Operations are often challenged with managing seemingly unmanageable work volumes with available staff. At times, the staff may feel overwhelmed with high work volumes, or underutilized during periods of low work volumes. Considerable amount of manual effort is spent on creating resource allocation schedules on a day to day basis.
[0003] Implementing human resource allocation schedule is of paramount importance as this allows organization to plan, assign and serve client needs in an optimal manner without exploitation or wastage of resources. Small scale organization usually make use of manual techniques or rough ratio-proportion methods to come up with a resource allocation or a capacity planning schedule. Certain other organizations use certain computational techniques by means of a heuristic approach and often equate human resource planning with material requirement planning techniques that do not quite scale up to the demands of a human resource requirement sector which is usually unpredictable and constantly changing in nature.
[0004] Human resource allocation, alternatively referred to as capacity planning is a method for using available human resources to assign and ensure completion of pre-defined tasks to meet service level agreements which is considered to be of utmost importance. Human resource allocation is typically performed by a Project manager exercising the Project manager’s knowledge of the skills of the team members and their current tasks to determine optimal ways of allocating new or additional tasks within the team.
[0005] In one existing approach, a forecasting engine and a scheduling engine are utilized along with the static and dynamic human resource data of the organization. The static and dynamic human resource data is available in a manpower management system and this data is computed to arrive at approximate manpower hours using forecasted business volumes. The approach also provides for modifying, distributing and adjusting the generated manpower plan and schedule and is quite fundamental in nature.
[0006] Generally, it still continues to be quite a laborious and computationally intensive task to generate an optimal and dynamic resource allocation schedule which also satisfies the Service Level Agreements (SLAs) of varying nature such as fixed or constant SLAs and dynamic or variable SLAs. Therefore, current manual as well as automated techniques used in capacity planning have several inherent limitations pertaining to (a) the volume of data that can be processed (b) inability to perform real-time dynamic and an artificial intelligence embedded data analysis (c) inability to conduct regression analysis.
SUMMARY
[0007] In view of the foregoing, an embodiment herein provides a computer implemented method for enabling a dynamic capacity planning mechanism where the method comprises configuring a plurality of operational inputs to forecast a dynamic capacity planning schedule, wherein the plurality of operational inputs comprise raw data received from a server, processing a set of historical data based on theplurality of operational inputs to create a plurality of contextual data elements. Further, the method comprises forecasting thedynamic capacity planning schedule using at least one of said set of historical data and a current capacity planning requirement, wherein thecurrent capacity planning requirement is being generated by the server, and rendering said dynamic capacity planning schedule based on theforecast, wherein therendered dynamic capacity planning schedule is clustered into a plurality of work reports associated with theplurality of contextual data elements.
[0008] In one aspect, a computer implemented system for enabling a dynamic capacity planning mechanism is disclosed, where the system comprises a computing module communicatively coupled to a server via a network, wherein theserver comprises at least one of a forecasting module, an optimization module and a multi-threaded processing module. The forecasting module is configured to dynamically generate a forecast for a plurality of skillset requirements with different Average Handling Times, wherein said forecasting module retrieves at least one of static and dynamic data from said server. The optimization module is configured to retrieve forecasted data from the forecasting module and compute a dynamic capacity planning schedule upon performing a regression analysis. The multi-threaded processing module is configured to simultaneously compute said static and said dynamic data based on said regression analysis to generate said optimal resource allocation schedule, wherein said optimal resource allocation schedule is rendered into a plurality of contextual clusters.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
[0010] FIG. 1 illustrates a schematic diagram depicting the architecture of a dynamic capacity planning system,according to the embodiments as disclosed herein;
[0011] FIG. 2 illustrates a detailed component diagram of the computer architecture, according to the embodiments as disclosed herein;
[0012] FIG. 3 illustrates a flow diagram for method depicting the high-level process flow of the dynamic capacity planning system of FIG. 1 according to the embodiments as disclosed herein; and
[0013] FIG. 4 is an exemplary schematic diagram depicting the process flow according to the embodiments as disclosed herein.
DETAILED DESCRIPTION OF EMBODIMENTS
[0014] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description.The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein.Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0015] Referring now to the drawings, and more particularly to FIG. 1 through FIG.5, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[0016] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments.The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art.Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[0017] The embodiments herein disclose a method and a system to generate an optimal human resource planning schedule in a dynamic manner by using decision tree models, regression analysis techniques, seasonal impact models, and neural network intelligence.
[0018] Throughout, the specification the terms “resource planning schedule” and “capacity planning schedule” are used interchangeably.
[0019] FIG. 1 illustrates a block diagram depicting the architecture of the dynamic capacity planning system 100according to the embodiments as disclosed herein. As depicted in FIG. 1, the dynamic capacity planning system 100 comprises of a computing module 102 connected to a network 104 which is in turn connected to a server 106. In an embodiment, a plurality of computing modules 102-1, 102-2…102-n is connected to the server 106 through the network 104. The computing module 102 may be implemented as any of a variety of conventional computing devices including but not limited to a desktop PC, a notebook or a portable computer, a mainframe computer, a mobile computing device and so on.
[0020] Further the computing module 102 is connected over the network 104 through one or more communication links. The communication links between the computing module 102 and the network 104 are enabled through a desired form of communication for example via dial-up modem connections, cable links, digital subscriber lines, wireless or satellite links or any other suitable form of communication.
[0021] The network 104 may be a wireless network, a wired network, or a combination thereof. The network 104 can also be an individual network or a collection of many such individual networks, interconnected with each other and functioning as a single large network, e.g., the Internet or an intranet. The network 104 can be implemented as one of the different types of networks, such as intranet, Local Area Network (LAN), Wide Area Network (WAN), the internet, and such. The network 104 may either be a dedicated network or a shared network, which represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), etc., to communicate with each other. Further, the network 104 may include network devices, such as network switches, hubs, routers, Host Bus Adapters (HBAs), for providing a link between the computing module 102 and the server 106.
[0022] In one implementation, the network environment 104 can be a company network, including a plurality of office personal computers, laptops, and other computing devices connected over the network 104.
[0023] FIG. 2 with reference to FIG. 1 illustrates a detailed component diagram of the computer architecture, according to the embodiments as disclosed herein.
[0024] As depicted in FIG. 2, the computing module 102 comprises a cache memory 202 and the server 106 comprises of a multi-threaded processing module 204, a forecasting module 206, an optimization module 208 and a decision tree module 210.
[0025] The cache memory 202 caches one or more outputs of a plurality of data patterns which serve as analytical models. These data patterns are stored in a high-performance unit (not shown in FIG. 2) in the cache memory 202 to optimize the speed and functioning of the dynamic capacity planning system 100. By using the high-performance unit in the cache memory 202, redundant processing of the data patterns is avoided since the cachememory 202 only stores outputs based on given operational inputs.
[0026] In an embodiment, when an operational input comprises a set of similar values or parameters, these similar values or parameters can be cached. The values can be similar in nature depending upon the characteristics of average handling times, shift timings, nature of work allocation and so on. Therefore when certain data-points of the successive set of operational inputs match with existing data patterns stored in the high-performance unit of the cache memory 202, the output can directly be fetched from the cache memory 202 and given for further processing, thereby utilizing and populating a skeletal resource allocation schedule stored in the cache memory 202 in order to avoid intensive computational processing. The skeletal resource allocation schedule can be in the form of a pre-defined resource allocation template which comprises details about basic organization related parameters for creating a capacity planning schedule.
[0027] For example, certain key values can be stored in the cache memory 202 as key values indicate quarterly forecast parameter, such as for example (Value=15 min demand data)- Consider there are 10 operational inputs for generating the dynamic capacity planning schedule and the total time taken for processing the 10 operational inputs is 5 seconds. In case, out of 10 operational inputs, 5 operational inputs possess similar characteristics, then, when these 10 operational inputs are cached, and considering the time taken as 500 minutesof execution time per input and 5 minutes ofcache fetch time for each input, a total of 2.65 seconds are spent for processing 10 operational inputs, thereby achieving 47% optimization in the whole operation.
[0028] The multi-threaded processing module 204 facilitates simultaneous computation of multiple operational inputs which results a considerably faster computation of one or more outputs for further processing. Additionally, static data refers to incoming state of data where an available capacity is lower than the needed capacity for a defined time span. Dynamic capacity refers to an incoming state of data where the needed capacity is lower than the available capacity in total, but during a certain period there may be a higher load than the required capacity.
[0029] A regression model stored in the multi-threaded processing module 204, connects to a neural network model to help predict one or more forecasts. Neural network models in artificial intelligence are usually referred to as artificial neural networks (ANNs); these are essentially mathematical models defining a function f: X->Y or a distribution over X or both X and Y.
[0030] Case analysis 1- Consider a dual core processor processing 4 operational inputs, with 2 operational inputs being executed on 2 different cores. Thus, the time taken for executing an operational input is reduced to one fourth of the time taken in conventional techniques, where conventional techniques execute 4 operational inputs sequentially on a single core. Essentially, multiple cores can run multiple instructions at the same time, increasing overall speed for programs amenable to parallel computing.
[0031] Case analysis 2: Consider thecomputing module 102 having a memory of 4 GB RAM, dual core processor at 1.7 GHz and 2 million records getting executed in 5 minutes in a single threaded model. By implementing the multi-threaded processing module 204, the 2 million records can be simultaneously processed by multi-threaded models in the multi-threaded processing module in 2.5 minutes thus achieving 2.5 minutes of throughput. For sake of consistency, dual core processors are explained although the above example intends to refer to other multi-core processors such as Octa core processors.
[0032] The forecasting module 206 uses a seasonal impact model along with regression analysis techniques to analyze interactions between at least one independent and one dependent variable. For example, the independent variables refer to parameters such as shift span time, number of resources, transaction volume of previous years, a service level agreement and a forecast, while the dependent variable is the optimal resource utilization.
[0033] Further the forecasting module 206 is able to indicate when one or moreindependent variables go through a significant amount of interaction with one or moredependent variables and can also indicate a relative strength of different independent variables’ effects on a dependent variable.
[0034] The optimization module 208 facilitates parallel execution of a plurality of tasks on individual cores. The decision tree module 210 facilitates scalability of historical data wherein new data patterns can be plugged in the decision tree module 210 and therefore data patterns are appropriately selected according to dynamic capacity planning requirements.Data patterns refers to the type, amount, and characteristic of data received at a particular period of time. For example, 1.5 GB of static data comprising certain operational inputs may be received at 6pm on Tuesday to create a service level agreement on Wednesday.
[0035] FIG. 3 illustrates a flow diagram for method 300 depicting the high-level process flow of the dynamic capacity planning system100 of FIG. 1 according to the embodiments as disclosed herein. At step 302, a plurality of operational inputs is configured dynamically to forecast a capacity planning schedule. The operational inputs could include raw data received from the server 106. The operational inputs may vary in volume when received at specific time intervals thus resulting in a dynamic resource capacity requirement. For example, the volume of a first set of operational inputs received at 10.00 AM may be different from the volume of a second set of operational inputs received at 1.00 PM and so on.
[0036] The operational inputs include a pre-defined service level agreement but are not limited to the below mentioned features:
a) Previous year’s historical transactional volume data such as a one year transaction log which include the information about number of transactions received for the past one year. These transactions indicate users logging in different time periods at multiple shifts.
b) Shift start and shift end time that specify Start and End Time of various Shifts. A shift is a pre-defined time duration during which a resource is utilized. The shift may be overlapping or successive in nature.
c) Break start time/ End time: Each Shift may have multiple breaks. Break Start and break end Time specify the predefined time duration during which resourcesmay avail a break in a particular shift.
d) Average handling time (AHT): AHT may specify a pre-defined average time required to finish a particular type of work by the resource.
[0037] In the context of the embodiments herein, a service level agreement (SLA) is a contract between a service provider (either internal or external) and the end user that defines the level of service expected from the service provider. Every SLA is unique and time bound in nature. In the dynamic capacity planning system 100, SLAs are used to define the necessary Quality of Service (Qos) for an application or users in an IT system. Varying demand of resources, skill sets, and task requirements require either fixed SLAs or Dynamic SLAs where the dynamic capacity planning system 100 monitors, detects, and responds interactively to ensure that process requirements are met.
[0038] At step 304, a set of historical data is processed based on the plurality of operational inputs to primarily create a plurality of contextual data elements. The contextual data elements refer to different clusters in which the output gets aggregated. The dynamic capacity planning system 100 gainfully takes advantage of a core processing logic to organize the historical data into multiple contextual data elements. The multiple contextual data elements are preferentially loaded into an in-memory database alternatively referred as to as the cache memory 202, thereby enabling discrete execution of the core processing logic based on the multiple data elements eventually leading to a contextual aggregation of the output. For example historical data comprises transaction logs of the past few years.
[0039] Historical data resides in the cache memory 202 and serves as reference data by creating certain data patterns which are in the form of a skeletal resource allocation schedule. As and when a continuous stream of operational inputs are received by the computing module 102, a particular skeletal resource allocation schedule is intelligently chosen and fine-tuned to enable forecasting of a finished dynamic resource allocation schedule.
[0040] At step 306 when at least one current capacity planning requirement is fed to the server 106 a forecast is generated simultaneously at the computing module 102 using the skeletal resource allocation schedule. In an embodiment one or more forecasts can be generated simultaneously for different capacity planning requirements. The different capacity planning requirements may be fed to the server 106 in intervals ranging from (for example) 5 to 10 minutes.
[0041] At step 308, based on the generated forecast a ready to implement capacity planning schedule is rendered on the computing module 102. The capacity planning schedule is clustered into a plurality of work reports associated with multiple contextual data elements. For example, the work reports are intelligently displayed to provide a comprehensive coverage of the capacity planning schedule. The work report may comprise data indicating number and identity of resources to map an identified resource to a particular task based on at least one of skillset, average time taken for the particular task, availability during the given shift. In certain cases when a particular resource is unavailable, the dynamic capacity planning system 100 can also recommend a suitable alternative resource with similar skill sets to work on a given task.
[0042] It will be noted herein that various actions/steps in method 300 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in FIG. 3 may be omitted.
[0043] FIG. 4 is an exemplary schematic diagram depicting the process flow according to the embodiments as disclosed herein. As depicted in FIG. 4, initially the server 106 receives certain operational inputs in the form of a quarterly or monthly forecast or a previous year’s actual work demand for a month. Based on these inputs, the decision tree module 210 in the server 106 categorizes the operational inputs into a plurality of contextual clusters. Thereafter the multi-threaded processing module 204applies a regression analysis based on the data received from the decision tree module.
[0044] At this point, the operational inputs which were initially received in the form of historical data is categorized into at least three forms of different inputs such as a previous years monthly demand volume, a previous years weekly demand volume, a previous years daily demand volume and demand volume forecasted for a 15 minute duration upon performing a decision tree modelling process and a regression analysis. Therefore, the mechanism of the dynamic capacity planning system 100 can be sub-divided into two stages as defined below:
[0045] Stage 1: At this stage number of resources needed for the next one month at a fifteen minute granularity level are forecasted using the regression analysis technique to primarily determine the relationship between a provider’s forecasted quarterly demand and the actual quarterly demand.
[0046] Further, the regression analysis technique is additionally used to forecast the actual quarter demand volume and this forecast is smoothed by fitting inputs obtained after performing regression analysis to filter out the noise data.
[0047] Stage 2: At this stage an optimal number of resources is determined for the next one month on a shift level basis. This is achieved by using a steady state queueing theory approach where the (actual) number of resources can be estimated at a five minute interval by using the equation Rtp = (?tp / µp ) + a * (?tp / µp ) , where a is confidence level.
[0048] During the forecasting process the embodiments herein also perform a data caching process where a map of input data and output data is created. This mapping is primarily done to check if similar patterns of data exist in cache memory 202. Once the check is done and it is found that similar patterns of data exist in the cache memory 202, the existing input data is used to generate a fifteen minute output data segmented into time periods of a month, week, day or a minute. Finally by using the optimization module 208, an output shift schedule is generated to meet the pre-defined service level agreement. The output shift schedule primarily indicates the number of resources estimated after performing the forecasting, and optimization techniques, to meet the service level agreements. The output shift schedule also highlights surplus or deficit resources in case a resource cap is set as compared to the actual number of resources (estimated by using the steady state equation) required. Thereby an additional amount of accuracy is achieved.
[0049] The embodiments use the hardware modules with the ability to perform parallel processing such as multithreading for managing huge datasets.Parallel processing exploits Multi Cores, by adopting divide and conquer policy, to optimally run the forecasting algorithm to improve the performance.
[0050] The performance of the core processing logic gets further enhanced by organizing the historical data into multiple contextual clusters, which gets loaded into the cache memory 202, thereby enabling discrete execution based on these clusters, and then the output gets contextually aggregated.
[0051] Essentially, the dynamic capacity planning system 100 is designed for effective human resource planning considering different skill types/average handling times and SLAs. The dynamic capacity planning system 100 is configured to meet both fixed SLAs and dynamic SLAs by automating the resource allocation/capacity planning processes for multiple transaction types having fixed SLAs (for about 15 minutes) and varying SLAs as per multiple skill based cut offs.
[0052] For example, assume Skill X has a cut-off at 18:30 IST and when a transaction comes in a queue of the server 106 at 14:30 IST, then the SLA is effectively 4 hours. Similarly, when a transaction comes in at 17:30 IST, then the SLA is effectively1hour. It can be inferred that the dynamic capacity planning system 100 generates the resource allocation schedule (for various transaction types having different AHTs) to satisfy fixed SLAs as well as variable SLAs for different transaction types.
[0053] As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the portions, modules, agents, managers, components, functions, procedures, actions, layers, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, divisions and/or formats.
[0054] The preceding description has been presented with reference to various embodiments. Persons having ordinary skill in the art and technology to which this application pertains will appreciate that alterations and changes in the described structures and methods of operation can be practiced without meaningfully departing from the principle, spirit and scope.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 2661-MUM-2015-Response to office action [20-10-2022(online)].pdf | 2022-10-20 |
| 1 | REQUEST FOR CERTIFIED COPY [04-12-2015(online)].pdf | 2015-12-04 |
| 2 | 2661-MUM-2015-Correspondence to notify the Controller [17-10-2022(online)].pdf | 2022-10-17 |
| 2 | Request For Certified Copy-Online.pdf | 2018-08-11 |
| 3 | Form 3.pdf | 2018-08-11 |
| 3 | 2661-MUM-2015-FORM-26 [17-10-2022(online)]-1.pdf | 2022-10-17 |
| 4 | Form 2.pdf | 2018-08-11 |
| 4 | 2661-MUM-2015-FORM-26 [17-10-2022(online)].pdf | 2022-10-17 |
| 5 | Figure for Abstract.jpg | 2018-08-11 |
| 5 | 2661-MUM-2015-US(14)-HearingNotice-(HearingDate-25-10-2022).pdf | 2022-10-07 |
| 6 | Drawing.pdf | 2018-08-11 |
| 6 | 2661-MUM-2015-CLAIMS [26-06-2020(online)].pdf | 2020-06-26 |
| 7 | ABSTRACT1.jpg | 2018-08-11 |
| 7 | 2661-MUM-2015-COMPLETE SPECIFICATION [26-06-2020(online)].pdf | 2020-06-26 |
| 8 | 2661-MUM-2015-Power of Attorney-201015.pdf | 2018-08-11 |
| 8 | 2661-MUM-2015-FER_SER_REPLY [26-06-2020(online)].pdf | 2020-06-26 |
| 9 | 2661-MUM-2015-Form 1-110915.pdf | 2018-08-11 |
| 9 | 2661-MUM-2015-OTHERS [26-06-2020(online)].pdf | 2020-06-26 |
| 10 | 2661-MUM-2015-Correspondence-201015.pdf | 2018-08-11 |
| 10 | 2661-MUM-2015-FER.pdf | 2019-12-26 |
| 11 | 2661-MUM-2015-Correspondence-110915.pdf | 2018-08-11 |
| 12 | 2661-MUM-2015-Correspondence-201015.pdf | 2018-08-11 |
| 12 | 2661-MUM-2015-FER.pdf | 2019-12-26 |
| 13 | 2661-MUM-2015-Form 1-110915.pdf | 2018-08-11 |
| 13 | 2661-MUM-2015-OTHERS [26-06-2020(online)].pdf | 2020-06-26 |
| 14 | 2661-MUM-2015-FER_SER_REPLY [26-06-2020(online)].pdf | 2020-06-26 |
| 14 | 2661-MUM-2015-Power of Attorney-201015.pdf | 2018-08-11 |
| 15 | 2661-MUM-2015-COMPLETE SPECIFICATION [26-06-2020(online)].pdf | 2020-06-26 |
| 15 | ABSTRACT1.jpg | 2018-08-11 |
| 16 | 2661-MUM-2015-CLAIMS [26-06-2020(online)].pdf | 2020-06-26 |
| 16 | Drawing.pdf | 2018-08-11 |
| 17 | 2661-MUM-2015-US(14)-HearingNotice-(HearingDate-25-10-2022).pdf | 2022-10-07 |
| 17 | Figure for Abstract.jpg | 2018-08-11 |
| 18 | 2661-MUM-2015-FORM-26 [17-10-2022(online)].pdf | 2022-10-17 |
| 18 | Form 2.pdf | 2018-08-11 |
| 19 | Form 3.pdf | 2018-08-11 |
| 19 | 2661-MUM-2015-FORM-26 [17-10-2022(online)]-1.pdf | 2022-10-17 |
| 20 | Request For Certified Copy-Online.pdf | 2018-08-11 |
| 20 | 2661-MUM-2015-Correspondence to notify the Controller [17-10-2022(online)].pdf | 2022-10-17 |
| 21 | REQUEST FOR CERTIFIED COPY [04-12-2015(online)].pdf | 2015-12-04 |
| 21 | 2661-MUM-2015-Response to office action [20-10-2022(online)].pdf | 2022-10-20 |
| 1 | TPO2661MUM2015_24-12-2019.pdf |
| 1 | TPOAmended2661MUM2015AE_23-11-2020.pdf |
| 2 | TPO2661MUM2015_24-12-2019.pdf |
| 2 | TPOAmended2661MUM2015AE_23-11-2020.pdf |