Abstract: Embodiments of the present invention relate to systems [100] and methods [200] for performing load testing of a social networking application, the present invention comprising steps of: analyzing social networking activities of one or more social networking users, to deduce behaviour of the one or more social networking users, wherein the social networking activities are associated with one or more social networking applications stored on one or more electronic devices [102]; dynamically generating at least one test plan based on said analysis, said at least one test plan comprising one or more tasks and at least one additional information; and executing the at least one test plan to perform load testing of the social networking application. FIG.l
TECHNICAL FIELD
Embodiments of the present invention generally relate to the field of mobile communication. More particularly, the present invention relates to a method and a system for performing load testing of a social networking application.
BACKGROUND
This section is intended to provide information relating to general state of the art and thus any approach/functionality described below should not be assumed to be qualified as a prior art merely by its inclusion in this section.
In the current scenario, the communication between people has become very easy with the help of electronic devices and thereby, the usage of electronic devices has been tremendously grown-up over the past few years. Further, one or more social networking applications present on the electronic devices, have also been frequently used by the users of the electronic devices for the purpose of communication with each other, through audio calling, video calling, sending text/audio messages or for sharing some content. As a result, this is causing a big dependency for the users on the social networking applications present on the electronic devices. In an event of a failure or non-functioning of the social networking applications, the users of such applications get annoyed, feel dis¬appointed or at times, may quit/stop using such applications. Such failure or non-functioning of the social networking applications may be due to some non-operational components of a server of the social networking application, a virus attack on the server, or may be due to the crashing of the social networking application owing to an unexpected/high usage of the social networking application by the users. For an instance, the social networking application may get crashed at the time of a festival when a large number of users simultaneously transmit messages or communicate with each other to wish each other using the social networking application.
In order to avoid such crashing or failure of the social networking application, some solutions are present in the state of the art that provides load testing of the social networking application, wherein such testing lies at the foundation of the functioning and performance of social networking application present on the electronic device. In particular, the load testing of the social networking application is the process of applying demand on the social networking application present on the electronic device and measuring a response or behavior of the social networking application after applying the demand. Further, the load testing of the social networking application aims to test the behavior of the social networking application present on the electronic device under normal as well as peak load conditions. Moreover, the existing solutions for load testing only provide execution of static test plans, i.e. test plans generated manually by software testing teams and the existing solutions does not generate the test plans dynamically. Further, the existing load testing solution for the social networking application is unable to consider the dynamically changing requirement or load conditions of the social networking applications.
Therefore, in view of the above drawbacks and limitations of the existing solutions, there is a need to develop a system and a method that performs load testing based on dynamically generated test plans.
SUMMARY
This section is provided to introduce certain embodiments and aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter.
Embodiments of the present invention may relate to a method for performing load testing of a social networking application, the method comprising: analyzing social networking activities of one or more social networking users, to deduce behaviour of the one or more social networking users, wherein the social networking activities are associated with one or more social networking applications stored on one or more electronic devices; dynamically generating at least one test plan based on said analysis, said at least one test plan comprising one or more tasks and at least one additional information; and executing the at least one test plan to perform load testing of the social networking application.
Embodiments of the present invention may further relate to a load generation server for performing load testing of a social networking application, the system comprising an analytics module configured to analyze social networking activities of one or more social networking users, to deduce behaviour of the one or more social networking users, wherein the social networking activities are associated with one or more social networking applications stored on one or more electronic devices; a test plan generator module configured to dynamically generate at least one test plan based on said analysis, said at least one test plan comprising one or more tasks and at least one additional information; and a test plan executor module configured to execute the at least one test plan to perform load testing of the social networking application.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings
includes disclosure of electrical components or circuitry commonly used to implement such components.
FIG.l illustrates an exemplary system architecture [100] for performing load testing of a social networking application, in accordance with an embodiment of the present invention.
FIG.2 illustrates a method flow diagram [200] for load generation server to perform load testing of a social networking application, in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION
In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent, however, that embodiments of the present invention may be practiced without these specific details or with additional details that may be obvious to a person skilled in the art. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present invention are described below, as illustrated in various drawings.
Embodiments of the present invention relates to systems and methods for performing load testing of a social networking application, wherein said social networking application is emulated by an emulator.
As used herein, the load testing may refer to a testing of behaviour or response associated with the social networking application, in an event, a certain load or
demand is applied to the social networking application emulated by the emulator.
As used herein, the social networking application may refer to a software/mobile application emulated by the emulator.
As used herein, the emulator may refer to a software, a hardware or a software-hardware combination that imitates or images one or more social networking applications. Further, the emulator may also imitate or image one or more social network activities associated with the one or more social networking application.
As illustrated in FIG.l, the present invention illustrates an exemplary system architecture [100] for performing load testing of a social networking application, in accordance with an embodiment of the present invention. The system architecture [100] includes, but not limited to, an electronic device [102] connecting with a load generation server [106] through a network [104]. Any communication or exchange of information between the electronic device [102] and the load generation server [106] takes place through the network [104]. Further, the electronic device [102] includes, but not limited to, a social networking application [102A], a memory [102B], and a processor [102C]. Furthermore, the electronic device [102] also includes, but not limited to, a display unit, one or more sensors and a camera unit. Although the electronic device [102] is depicted in the exemplary figure. 1 for the purpose of explanation, however, any number of electronic devices including one or more social networking applications may be connected to the load generation server [106] through the network [104]. Moreover, the load generation server [106] includes, but not limited to, an analytics module [106A], a test plan generator module [106B], a test plan executor module [106C], a reporter module [106D], a user cache module [106E], a processor [106F] and a memory [106G].
The electronic device [102] is configured to store the social networking application [102A] in the memory [102B] of the electronic device [102]. The processor [102C] is connected with the memory [102B] of the electronic device [102] to execute one or more functions or operations of the electronic device [102]. Such electronic device [102] may include, but are not limited to, a mobile phone, a tablet, a phablet, a laptop, a desktop computer, a personal digital assistant (PDA), a wearable device, a plain old telephone service device and any such device obvious to a person skilled in the art.
A social network user associated with the social networking application [102A] of the electronic device [102] is configured to perform one or more social networking activities using the processor [102C]. Such social networking activities may include, but not limited to a messaging activity, a group messaging activity, a blocking/unblocking activity, a story uploading activity, a friend/remove friend activity, a game play activity, an in-app purchase activity, a profile picture changing activity, a status changing picture activity, a content sharing activity, a blue packet activity, and an audio/video call activity. Further, the one or more social networking activities are stored in the memory [102B] of the electronic device [102] and is transmitted to the load generation server [106].
The load generation server [106] is configured to emulate journey/usage of one or more social network users based on the received one or more social networking activities of the social network user associated with the social networking application [102A] from the electronic device [102], wherein the one or more social networking activities are stored as load generation server logs in the load generation server [106]. In addition, the load generation server [106] is configured to emulate one or more social networking applications and associated one or more social networking activities. The load generation server [106] is further configured to perform load testing of the one or more emulated
social networking applications using at least one of the analytics module [106A], the test plan generator module [106B], the test plan executor module [106C], the reporter module [106D], the user cache module [106E], the processor [106F] and the memory [106G].
The analytics module [106A] is configured to analyze the load generation server logs or the one or more social networking activities of the social network user associated with the social networking application [102A], for deducing behaviour of the social network user. Such deducing of the behaviour includes, but not limited to, determining probabilities for each of the social networking activities and determining a usage for each of the social networking activities of the social networking application [102A] in at least one of a peak hours and a non-peak hours. Further, such analysis of the one or more social networking activities may be performed in at least one of a real-time and a non-real time. For an instance, the messaging activity is used by 50% of a total number of social network users in the peak hours, the game play activity is used by 20% of the total number of social network users in the peak hours, and the audio/video call activity is used by 30% of the total number of social network users in the peak hours. Using such analytics data or the load generation server logs, the probabilities of the messaging activity, the game play activity and the audio/video call activity are determined as 0.5, 0.2 and 0.3 respectively.
The test plan generator module [106B] is configured to dynamically generate one or more test plans based on said analysis of the one or more social networking activities of the social network user associated with the social networking application [102A]. In an embodiment, the one or more test plan generated by the test plan generator module [106B] is in form of a JavaScript object notation (JSON) format. Such test plan may include, but not limited to, one or more tasks and at least one additional information, wherein the at least one additional information corresponds to an execution environment information related to the
one or more emulated social networking applications. In an embodiment, the execution environment information may correspond to an android-based emulated social networking application. In another embodiment, the execution environment information may correspond to an iOS-based emulated social networking application.
For instance, the generated test plan may include tasks to emulate one or more activities such as uploading a story, sending a group chat message, sending a one-to-one chat message, then playing a game, etc on the one or more emulated social networking applications. In another instance, the generated test plan may include emulating 10000 messaging activities simultaneously, emulating 3500 story uploading activity simultaneously, emulating 4500 game play activity simultaneously, emulating 4000 in-app purchase activity simultaneously, and emulating 5000 audio call activity simultaneously on the one or more emulated social networking applications.
The test plan executor module [106C] is configured to configured to parse the dynamically generated one or more test plans, provide the desired load and execute the generated one or more test plans, on the one or more emulated social networking applications, to perform the load testing of the on the one or more emulated social networking applications. Further, generated one or more test plans is executed based on an amount of active social network users that are being emulated. In an embodiment, test plan executor module [106C] executes the 10000 messaging activities simultaneously, executes 3500 story uploading activity simultaneously, executes 4500 game play activity simultaneously, executes 4000 in-app purchase activity simultaneously, and executes 5000 audio call activity simultaneously on the one or more emulated social networking applications. During the execution of such one or more test plans on the one or more emulated social networking applications, the load testing of the one or more emulated social networking applications is performed. Such performance
of load testing may include, but not limited to, measuring at least one of a latency parameter, a CPU utilization parameter, and a throughput parameter related to the one or more social networking activities of the one or more emulated social networking applications. Furthermore, the load testing may be performed in one of a horizontal scaling and a vertical scaling. Also, the load testing may be performed in at least one of a message queuing telemetry transport (MQTT) protocol and a hypertext transfer protocol (HTTP) protocol.
The reporter module [106D] is configured to visualize the performance of load testing of the one or more emulated social networking applications, wherein said visualization includes visualizing at least one of the latency parameter, the CPU utilization parameter, a memory utilization parameter, a load average parameter, a network bandwidth parameter, a disk IOPS parameter, and the throughput parameter in at least one of a graphical format, a chart format, a bar format and any such format which is obvious to a person skilled in the art. The reporter module [106D] is also configured to visualize the performance of load testing that benchmarks the parameters defined-above. In addition, this visualization also provides real-time statistics on performance of the one or more emulated social networking applications.
The user cache module [106E] is configured to store a list of the one or more emulated social networking applications.
The memory [106G], connected to the processor [106F], is configured to store the received one or more social networking activities of the social network user associated with the social networking application [102A] of the electronic device [102]. The memory [106G] is further configured to store the analysis of the one or more social networking activities, the one or more emulated social networking applications, the one or more test plans generated, and the visualization of the execution of the one or more test plans on the one or more emulated social networking applications.
FIG.2 illustrates a method flow diagram [200] for performing load testing of a social networking application, in accordance with an embodiment of the present invention, wherein the method step initiates at step 202 and said method [200] is performed by the load generation server [106].
Step 204, includes analyzing the load generation server logs or the one or more social networking activities of the social networking user, to deduce behaviour of the social networking user associated with the social networking application [102A] present on the electronic device [102]. Such deducing of the behaviour includes, but not limited to, determining probabilities for each of the social networking activities and determining the usage for each of the social networking activities of the social networking application [102A] in at least one of a peak hours and a non-peak hours. Further, such analysis of the one or more social networking activities may be performed in at least one of a real-time and a non-real time. For an instance, the messaging activity is used by 50% of a total number of social network users in the peak hours, the game play activity is used by 20% of the total number of social network users in the peak hours, and the audio/video call activity is used by 30% of the total number of social network users in the peak hours. Using such data, the probabilities of the messaging activity, the game play activity and the audio/video call activity are determined as 0.5, 0.2 and 0.3 respectively.
Step 206 includes dynamically generating one or more test plans based on said analysis of the one or more social networking activities of the social network user associated with the social networking application [102A]. In an embodiment, the one or more test plan generated by the test plan generator module [106B] is in form of a JavaScript object notation (JSON) format. Such test plan may include, but not limited to, one or more tasks and at least one additional information, wherein the at least one additional information corresponds to an execution environment information related to the one or more emulated social networking
applications. In an embodiment, the execution environment information may correspond to an android-based emulated social networking application. In another embodiment, the execution environment information may correspond to an iOS-based emulated social networking application.
For instance, the generated test plan may include tasks to emulate one or more activities such as uploading a story, sending a group chat message, sending a one-to-one chat message, then playing a game, etc on the one or more emulated social networking applications. In another instance, the generated test plan may include emulating 10000 messaging activities simultaneously, emulating 3500 story uploading activity simultaneously, emulating 4500 game play activity simultaneously, emulating 4000 in-app purchase activity simultaneously, and emulating 5000 audio call activity simultaneously on the one or more emulated social networking applications.
Next, step 208 includes parsing the dynamically generated one or more test plans, provide the desired load and execute the generated one or more test plans, on the one or more emulated social networking applications, to perform the load testing of the on the one or more emulated social networking applications. Further, generated one or more test plans is executed based on an amount of active social network users that are being emulated. In an embodiment, test plan executor module [106C] executes the 10000 messaging activities simultaneously, executes 3500 story uploading activity simultaneously, executes 4500 game play activity simultaneously, executes 4000 in-app purchase activity simultaneously, and executes 5000 audio call activity simultaneously on the one or more emulated social networking applications. During the execution of such one or more test plans on the one or more emulated social networking applications, the load testing of the one or more emulated social networking applications is performed. Such performance of load testing may include, but not limited to, measuring at least one of a latency parameter, a CPU utilization
parameter, and a throughput parameter related to the one or more social networking activities of the one or more emulated social networking applications. Furthermore, the load testing may be performed in one of a horizontal scaling and a vertical scaling. Also, the load testing may be performed in at least one of a message queuing telemetry transport (MQTT) protocol and a hypertext transfer protocol (HTTP) protocol. At step 210, the method flow [200] ends.
The present invention also encompasses a method for visualizing the performance of load testing including at least one of the latency parameter, the CPU utilization parameter, a memory utilization parameter, a load average parameter, a network bandwidth parameter, a disk IOPS parameter, and the throughput parameter in at least one of a graphical format, a chart format, a bar format and any such format which is obvious to a person skilled in the art. Such visualization for the performance of load testing benchmarks the parameters defined-above. In addition, this visualization also provides real-time statistics on performance of the one or more emulated social networking applications. The present invention also encompasses implementing/employing the load testing method using the afore-mentioned load testing system and method within a defined interval of time and/or a defined number of times in a day.
The present invention has the following technical advantages over the existing load testing systems and methods: (1) the present invention dynamically generates one or more test plans ; (2) the present invention dynamically generates one or more test plans along with static test plan; (3) the present invention allows measuring of various parameters such as CPU utilization, latency, network, consumption, memory to easily trace any bottleneck; and (4) the present invention allows the social network users of the social networking applications to easily perform as much activities without any failure.
The units, modules, databases and/or components discussed may be present in the form of a hardware or a software or a hard ware-software combination for performing functions and/or operations, as described herein. The connections and/or links between each module, databases and/or component shown in the figures are exemplary and may be connected in other possible ways. The connections and/or links between each module, databases and/or component may be physical (such as wired or wireless connections/links) or logical (such as implementing in semiconductor device).
According to one embodiment of the present disclosure, the techniques described herein are implemented by one or more special-purpose computing devices. The special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hard-wired and/or program logic to implement the techniques.
The system [100] may include a bus or other communication mechanism for communicating information, and a processor [102C, 106F] coupled with the bus for processing information. The hardware processor [102C, 106F] may be, for example, a general-purpose microprocessor. The system [100] may also include a main memory [102B, 106G], such as a random-access memory (RAM) or other dynamic storage device, coupled to the bus for storing information and
instructions to be executed by the processor. The main memory also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor [102C, 106F]. Such instructions, when stored in non-transitory storage media accessible to the processor, render the computer system into a special-purpose machine that is customized to perform the operations specified in the instructions.
The system [100] further includes a read only memory (ROM) or other static storage device coupled to the bus for storing static information and instructions for the processor. A storage device, such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus for storing information and instructions. According to one embodiment, the techniques herein are performed by the computing device in response to the processor executing one or more sequences of one or more instructions contained in the main memory. Such instructions may be read into the main memory from another storage medium, such as the storage device. Execution of the sequences of instructions contained in the main memory cause the processor to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The terms "memory" [102B, 106G] as used herein refers to any non-transitory media that store data and/or instructions that cause a machine to operate in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical disks, magnetic disks, or solid-state drives, such as the storage device. Volatile media may include dynamic memory, such as the main memory. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid-state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of
holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, or any other memory chip or cartridge.
Various forms of store may be involved in carrying one or more sequences of one or more instructions to the processor for execution. For example, the instructions may initially be carried on a magnetic disk or solid-state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. The system [100] also includes a communication interface coupled to the bus.
Though a limited number of the electronic device [102], the social networking application [102A], the memory [102B], the processor [102C], the load generation server [106], the network [104], the analytics module [106A], the test plan generator module [106B], the test plan executor module [106C], the reporter module [106D], the user cache module [106E], the processor [106F] and the memory [106G], and the link/connection/requests/interfaces, have been shown in the figures; however, it will be appreciated by those skilled in the art that the exemplary system of Figure. 1 of the present invention encompasses any number and varied types of the entities/elements such as the electronic device [102], the social networking application [102A], the memory [102B], the processor [102C], the load generation server [106], the network [104], the analytics module [106A], the test plan generator module [106B], the test plan executor module [106C], the reporter module [106D], the user cache module [106E], the processor [106F] and the memory [106G], and the link/connection/requests/interfaces, that can be configured to perform the method of the invention as described herein.
While considerable emphasis has been placed herein on the disclosed embodiments, it will be appreciated that many embodiments can be made and that many changes can be made to the embodiments without departing from the principles of the present disclosure. These and other changes in the embodiments of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.
We claim:
1. A method [200] for performing load testing of a social networking application, the method comprising:
analyzing social networking activities of one or more social networking users, to deduce behaviour of the one or more social networking users, wherein the social networking activities are associated with one or more social networking applications stored on one or more electronic devices [102];
dynamically generating at least one test plan based on said analysis, said at least one test plan comprising one or more tasks and at least one additional information; and
executing the at least one test plan to perform load testing of the social networking application.
2. The method [200] as claimed in claim 1, wherein the behaviour includes at least one of a usage of the one or more social networking applications in peak hours and a usage of the one or more social networking applications in non-peak hours.
3. The method [200] as claimed in claim 1, wherein said deducing behaviour may further comprise, determining probabilities for each of the social networking activities.
4. The method [200] as claimed in claim 1, wherein the at least one test plan is parsed to provide a load for executing the at least one test plan.
5. The method [200] as claimed in claim 1, wherein the at least one additional information corresponds to an execution environment information related to the social network application.
6. The method [200] as claimed in claim 1, further comprising measuring at least one of a latency parameter, a CPU utilization parameter, a memory utilization parameter, a load average parameter, a network bandwidth parameter, a disk IOPS parameter and a throughput parameter related to the social networking activities of the social networking application.
7. The method [200] as claimed in claim 1, wherein executing the at least one test plan may be performed in one of a horizontal scaling and a vertical scaling.
8. The method [200] as claimed in claim 1, wherein said load testing may be executed for at least one of a message queuing telemetry transport (MQTT) protocol and a hypertext transfer protocol (HTTP) protocol.
9. A load generation server [106] for performing load testing of a social networking application, the load generation server [106] comprising:
an analytics module [106A] configured to:
analyze social networking activities of one or more social networking users, to deduce behaviour of the one or more social networking users, wherein the social networking activities are associated with one or more social networking applications stored on one or more electronic devices [102];
a test plan generator module [106B] configured to:
dynamically generate at least one test plan based on said analysis, said at least one test plan comprising one or more tasks and at least one additional information; and
a test plan executor module [106C] configured to:
execute the at least one test plan to perform load testing of the social networking application.
10. The load generation server [106] as claimed in claim 8, wherein the test plan executor module [106C] is further configured to measure at least one of a latency parameter, a CPU utilization parameter, a memory utilization parameter, a load average parameter, a network bandwidth parameter, a disk IOPS parameter and a throughput parameter related to the social networking activities of the social networking application.
11. The load generation server [106] as claimed in claim 8, further comprising, a reporter module [106D] configured to provide a user with at least one of the latency parameter, the CPU utilization parameter, and the throughput parameter in a visual form.
| Section | Controller | Decision Date |
|---|---|---|
| # | Name | Date |
|---|---|---|
| 1 | 201711003607-Correspondence to notify the Controller [07-11-2024(online)].pdf | 2024-11-07 |
| 1 | 201711003607-FORM-26 [18-11-2024(online)].pdf | 2024-11-18 |
| 1 | 201711003607-Response to office action [05-12-2024(online)].pdf | 2024-12-05 |
| 1 | Form 3 [31-01-2017(online)].pdf | 2017-01-31 |
| 2 | 201711003607-Correspondence to notify the Controller [07-11-2024(online)].pdf | 2024-11-07 |
| 2 | 201711003607-IntimationOfGrant03-12-2024.pdf | 2024-12-03 |
| 2 | 201711003607-US(14)-HearingNotice-(HearingDate-19-11-2024).pdf | 2024-11-05 |
| 2 | Drawing [31-01-2017(online)].pdf | 2017-01-31 |
| 3 | 201711003607-FER_SER_REPLY [06-07-2022(online)].pdf | 2022-07-06 |
| 3 | 201711003607-PatentCertificate03-12-2024.pdf | 2024-12-03 |
| 3 | 201711003607-US(14)-HearingNotice-(HearingDate-19-11-2024).pdf | 2024-11-05 |
| 3 | Description(Provisional) [31-01-2017(online)].pdf | 2017-01-31 |
| 4 | 201711003607-FER_SER_REPLY [06-07-2022(online)].pdf | 2022-07-06 |
| 4 | 201711003607-PETITION UNDER RULE 137 [06-07-2022(online)].pdf | 2022-07-06 |
| 4 | 201711003607-Written submissions and relevant documents [02-12-2024(online)].pdf | 2024-12-02 |
| 4 | abstract.jpg | 2017-02-07 |
| 5 | Form 26 [10-03-2017(online)].pdf | 2017-03-10 |
| 5 | 201711003607-PETITION UNDER RULE 137 [06-07-2022(online)].pdf | 2022-07-06 |
| 5 | 201711003607-FORM-26 [18-11-2024(online)].pdf | 2024-11-18 |
| 5 | 201711003607-FER.pdf | 2022-01-07 |
| 6 | 201711003607-FORM 18 [30-01-2021(online)].pdf | 2021-01-30 |
| 6 | 201711003607-FER.pdf | 2022-01-07 |
| 6 | 201711003607-Correspondence to notify the Controller [07-11-2024(online)].pdf | 2024-11-07 |
| 6 | 201711003607-Power of Attorney-150317.pdf | 2017-03-28 |
| 7 | 201711003607-Changing Name-Nationality-Address For Service [31-01-2018(online)].pdf | 2018-01-31 |
| 7 | 201711003607-FORM 18 [30-01-2021(online)].pdf | 2021-01-30 |
| 7 | 201711003607-US(14)-HearingNotice-(HearingDate-19-11-2024).pdf | 2024-11-05 |
| 8 | 201711003607-Changing Name-Nationality-Address For Service [31-01-2018(online)].pdf | 2018-01-31 |
| 8 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)].pdf | 2018-01-31 |
| 8 | 201711003607-Correspondence-150317.pdf | 2017-03-28 |
| 8 | 201711003607-FER_SER_REPLY [06-07-2022(online)].pdf | 2022-07-06 |
| 9 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)].pdf | 2018-01-31 |
| 9 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)]_27.pdf | 2018-01-31 |
| 9 | 201711003607-ENDORSEMENT BY INVENTORS [31-01-2018(online)].pdf | 2018-01-31 |
| 9 | 201711003607-PETITION UNDER RULE 137 [06-07-2022(online)].pdf | 2022-07-06 |
| 10 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)]_27.pdf | 2018-01-31 |
| 10 | 201711003607-CORRESPONDENCE-OTHERS [31-01-2018(online)].pdf | 2018-01-31 |
| 10 | 201711003607-DRAWING [31-01-2018(online)]_11.pdf | 2018-01-31 |
| 10 | 201711003607-FER.pdf | 2022-01-07 |
| 11 | 201711003607-CORRESPONDENCE-OTHERS [31-01-2018(online)].pdf | 2018-01-31 |
| 11 | 201711003607-DRAWING [31-01-2018(online)].pdf | 2018-01-31 |
| 11 | 201711003607-FORM 18 [30-01-2021(online)].pdf | 2021-01-30 |
| 12 | 201711003607-Changing Name-Nationality-Address For Service [31-01-2018(online)].pdf | 2018-01-31 |
| 12 | 201711003607-CORRESPONDENCE-OTHERS [31-01-2018(online)].pdf | 2018-01-31 |
| 12 | 201711003607-DRAWING [31-01-2018(online)].pdf | 2018-01-31 |
| 12 | 201711003607-DRAWING [31-01-2018(online)]_11.pdf | 2018-01-31 |
| 13 | 201711003607-ENDORSEMENT BY INVENTORS [31-01-2018(online)].pdf | 2018-01-31 |
| 13 | 201711003607-DRAWING [31-01-2018(online)]_11.pdf | 2018-01-31 |
| 13 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)]_27.pdf | 2018-01-31 |
| 13 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)].pdf | 2018-01-31 |
| 14 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)].pdf | 2018-01-31 |
| 14 | 201711003607-COMPLETE SPECIFICATION [31-01-2018(online)]_27.pdf | 2018-01-31 |
| 14 | 201711003607-Correspondence-150317.pdf | 2017-03-28 |
| 14 | 201711003607-ENDORSEMENT BY INVENTORS [31-01-2018(online)].pdf | 2018-01-31 |
| 15 | 201711003607-Changing Name-Nationality-Address For Service [31-01-2018(online)].pdf | 2018-01-31 |
| 15 | 201711003607-Correspondence-150317.pdf | 2017-03-28 |
| 15 | 201711003607-CORRESPONDENCE-OTHERS [31-01-2018(online)].pdf | 2018-01-31 |
| 16 | 201711003607-DRAWING [31-01-2018(online)].pdf | 2018-01-31 |
| 16 | 201711003607-FORM 18 [30-01-2021(online)].pdf | 2021-01-30 |
| 16 | 201711003607-Power of Attorney-150317..tif | 2017-03-28 |
| 16 | 201711003607-Power of Attorney-150317.pdf | 2017-03-28 |
| 17 | 201711003607-FER.pdf | 2022-01-07 |
| 17 | 201711003607-Power of Attorney-150317.pdf | 2017-03-28 |
| 17 | Form 26 [10-03-2017(online)].pdf | 2017-03-10 |
| 17 | 201711003607-DRAWING [31-01-2018(online)]_11.pdf | 2018-01-31 |
| 18 | 201711003607-PETITION UNDER RULE 137 [06-07-2022(online)].pdf | 2022-07-06 |
| 18 | abstract.jpg | 2017-02-07 |
| 18 | Form 26 [10-03-2017(online)].pdf | 2017-03-10 |
| 18 | 201711003607-ENDORSEMENT BY INVENTORS [31-01-2018(online)].pdf | 2018-01-31 |
| 19 | 201711003607-Correspondence-150317.pdf | 2017-03-28 |
| 19 | 201711003607-FER_SER_REPLY [06-07-2022(online)].pdf | 2022-07-06 |
| 19 | abstract.jpg | 2017-02-07 |
| 19 | Description(Provisional) [31-01-2017(online)].pdf | 2017-01-31 |
| 20 | 201711003607-Power of Attorney-150317..tif | 2017-03-28 |
| 20 | 201711003607-US(14)-HearingNotice-(HearingDate-19-11-2024).pdf | 2024-11-05 |
| 20 | Description(Provisional) [31-01-2017(online)].pdf | 2017-01-31 |
| 20 | Drawing [31-01-2017(online)].pdf | 2017-01-31 |
| 21 | 201711003607-Correspondence to notify the Controller [07-11-2024(online)].pdf | 2024-11-07 |
| 21 | 201711003607-Power of Attorney-150317.pdf | 2017-03-28 |
| 21 | Drawing [31-01-2017(online)].pdf | 2017-01-31 |
| 21 | Form 3 [31-01-2017(online)].pdf | 2017-01-31 |
| 22 | 201711003607-FORM-26 [18-11-2024(online)].pdf | 2024-11-18 |
| 22 | Form 26 [10-03-2017(online)].pdf | 2017-03-10 |
| 22 | Form 3 [31-01-2017(online)].pdf | 2017-01-31 |
| 23 | 201711003607-Written submissions and relevant documents [02-12-2024(online)].pdf | 2024-12-02 |
| 23 | abstract.jpg | 2017-02-07 |
| 24 | 201711003607-PatentCertificate03-12-2024.pdf | 2024-12-03 |
| 24 | Description(Provisional) [31-01-2017(online)].pdf | 2017-01-31 |
| 25 | 201711003607-IntimationOfGrant03-12-2024.pdf | 2024-12-03 |
| 25 | Drawing [31-01-2017(online)].pdf | 2017-01-31 |
| 26 | 201711003607-Response to office action [05-12-2024(online)].pdf | 2024-12-05 |
| 26 | Form 3 [31-01-2017(online)].pdf | 2017-01-31 |
| 1 | 201711003607E_31-12-2021.pdf |