Sign In to Follow Application
View All Documents & Correspondence

Dynamic Breadcrumb Navigation

Abstract: Systems and methods of the present disclosure facilitate dynamic breadcrumb navigation to help a user revisit webpages efficiently. Conventional methods of hard coding breadcrumb information may not address dynamics involved during navigation in a large web application. Also client side breadcrumb methods pose security threats. In the present disclosure, breadcrumbs are implemented at the server end. An optimal configuration file is generated at the server end that facilitates efficient navigation. An on-click event may along with loading of the requested webpage perform one or more actions prior to or post handling of server calls. Cyclic navigation is eliminated. Each session of a user may have breadcrumbs stored independently. Breadcrumbs at the same level may be replaced. Breadcrumb trails may have multiple entry points.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
16 August 2016
Publication Number
08/2018
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2023-12-13
Renewal Date

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai-400021, Maharashtra, India

Inventors

1. MANAKKAL, Rony Pius
Tata Consultancy Services Limited, Infopark Campus, Kakkanad, Kochi-682030, Kerala,India

Specification

Claims:1. A dynamic server-end processor implemented method, the method comprising:
(a) receiving a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage;
(b) in response to information in a pre-defined configuration file, dynamically generating a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end;
(c) storing breadcrumbs associated with the at least one URL for each session associated with the user;
(d) updating the breadcrumb trail based on the hierarchical order of navigation; and
(e) displaying the updated breadcrumb trail on the at least one URL.

2. The dynamic server-end processor implemented method of claim 1, wherein, the at least one URL is pre-identified in the pre-defined configuration file for inclusion in the breadcrumb trail.

3. The dynamic server-end processor implemented method of claim 1, wherein updating the breadcrumb trail comprises checking for cyclic navigation and eliminating duplicate breadcrumbs.

4. The dynamic server-end processor implemented method of claim 1, wherein the breadcrumb trail associated with the at least one URL includes multiple entry points.

5. The dynamic server-end processor implemented method of claim 1, wherein in step (b), displaying the webpage at a client end comprises receiving at the client end:
the at least one URL associated with the webpage to be displayed;
form data to be passed along with server calls for loading the webpage;
one or more functions configured to be executed prior to executing the server calls for loading the webpage, the one or more functions being part of code associated with the webpage to be displayed; and
the one or more functions configured to be executed post executing the server calls for loading the webpage,
for loading the webpage in response to an on-click event in the displayed breadcrumb trail.

6. The dynamic server-end processor implemented method of claim 1, wherein text pertaining to breadcrumbs and the associated URL and form data are stored as key-value pairs on the server.

7. A server system comprising:
one or more data storage devices (102) operatively coupled to one or more hardware processors (104) and configured to store instructions configured for execution by the one or more hardware processors to:
(a) receive a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage;
(b) in response to information in a pre-defined configuration file, dynamically generate a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end;
(c) store breadcrumbs associated with the at least one URL for each session associated with the user;
(d) update the breadcrumb trail based on the hierarchical order of navigation; and
(e) display the updated breadcrumb trail on the at least one URL.

8. The server system of claim 7, wherein the one more of the at least one URL are pre-identified in the pre-defined configuration file for inclusion in the breadcrumb trail.

9. The server system of claim 7, wherein the one or more hardware processors are further configured to update the breadcrumb trail by checking for cyclic navigation and eliminating duplicate breadcrumbs.

10. The server system of claim 7, wherein the breadcrumb trail associated with the at least one URL includes multiple entry points.

11. The server system of claim 7, wherein the one or more hardware processors are further configured to display the webpage at a client end by receiving at the client end:
the at least one URL associated with the webpage to be displayed;
form data to be passed along with server calls for loading the webpage;
one or more functions configured to be executed prior to executing the server calls for loading the webpage, the one or more functions being part of code associated with the webpage to be displayed; and
the one or more functions configured to be executed post executing the server calls for loading the webpage,
for loading the webpage in response to an on-click event in the displayed breadcrumb trail.

12. The server system of claim 7, wherein text pertaining to breadcrumbs and the associated URL and form data are stored as key-value pairs on the server.
, Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:
DYNAMIC BREADCRUMB NAVIGATION

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
[001] The embodiments herein generally relate to navigation within a web application, and more particularly to systems and methods for facilitating dynamic breadcrumb navigation.

BACKGROUND
[002] With evolving information technology and enterprise applications, efficient multitenant web applications demand seamless navigation. Paths traversed by a user when navigating a web application needs to be remembered to enable the user to revisit any webpage in a website efficiently. There may be multiple paths that a user may traverse to reach a particular webpage and there may also be multiple entry points to reach a destination webpage. Conventional methods for breadcrumb navigation provide a solution by hard coding the paths traversed. This may be tedious in complex and large web applications having innumerable traversable paths. Such solutions involve static content and reduce efficiency of navigation. Again, client side breadcrumb solutions may have their own challenges with regards to security.

SUMMARY
[003] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems.
[004] In an aspect, there is provided a dynamic server-end processor implemented method, the method comprising: (a) receiving a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage; (b) in response to information in a pre-defined configuration file, dynamically generating a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end; (c) storing breadcrumbs associated with the at least one URL for each session associated with the user; (d) updating the breadcrumb trail based on the hierarchical order of navigation; and (e) displaying the updated breadcrumb trail on the at least one URL.
[005] In another aspect, there is provided a server system comprising: one or more data storage devices operatively coupled to the one or more processors and configured to store instructions configured for execution by the one or more processors to: (a) receive a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage; (b) in response to information in a pre-defined configuration file, dynamically generate a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end; (c) store breadcrumbs associated with the at least one URL for each session associated with the user; (d) update the breadcrumb trail based on the hierarchical order of navigation; and (e) display the updated breadcrumb trail on the at least one URL.
[006] In yet another aspect, there is provided a computer program product comprising a non-transitory computer readable medium having a computer readable program embodied therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: (a) receive a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage; (b) in response to information in a pre-defined configuration file, dynamically generate a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end; (c) store breadcrumbs associated with the at least one URL for each session associated with the user; (d) update the breadcrumb trail based on the hierarchical order of navigation; and (e) display the updated breadcrumb trail on the at least one URL.
[007] In an embodiment of the present disclosure, the one or more hardware processors are further configured to update the breadcrumb trail by checking for cyclic navigation and eliminating duplicate breadcrumbs.
[008] In an embodiment of the present disclosure, the one or more hardware processors are further configured to display the webpage at a client end by receiving at the client end: the at least one URL associated with the webpage to be displayed; form data to be passed along with server calls for loading the webpage; one or more functions configured to be executed prior to executing the server calls for loading the webpage, the one or more functions being part of code associated with the webpage to be displayed; and the one or more functions configured to be executed post executing the server calls for loading the webpage, for loading the webpage in response to an on-click event in the displayed breadcrumb trail.
[009] In accordance with the present disclosure, the one more of the at least one URL are pre-identified in the pre-defined configuration file for inclusion in the breadcrumb trail.
[010] In accordance with the present disclosure, the breadcrumb trail associated with the at least one URL includes multiple entry points.
[011] In accordance with the present disclosure, text pertaining to breadcrumbs and the associated URL and form data are stored as key-value pairs on the server.
[012] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the embodiments of the present disclosure, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
[013] The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
[014] FIG.1 illustrates an exemplary block diagram of a system to provide dynamic breadcrumb navigation, in accordance with an embodiment of the present disclosure; and
[015] FIG.2 illustrates an exemplary flow diagram of a method to provide dynamic breadcrumb navigation, in accordance with an embodiment of the present disclosure.
[016] It should be appreciated by those skilled in the art that any block diagram herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computing device or processor, whether or not such computing device or processor is explicitly shown.

DETAILED DESCRIPTION
[017] 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.
[018] The words "comprising," "having," "containing," and "including," and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
[019] It must also be noted that as used herein and in the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems and methods are now described.
[020] Some embodiments of this disclosure, illustrating all its features, will now be discussed in detail. The disclosed embodiments are merely exemplary of the disclosure, which may be embodied in various forms.
[021] Before setting forth the detailed explanation, it is noted that all of the discussion below, regardless of the particular implementation being described, is exemplary in nature, rather than limiting.
[022] Systems and methods of the present disclosure aim to provide dynamic breadcrumb navigation that is implemented at the server end. Specifically, the present disclosure enables a breadcrumb navigation framework in multi-tenant applications using environments such as Java 2 Platform Enterprise Edition (J2EE). More specifically, the systems and methods of the present disclosure provide seamless navigation throughout any web application; a path to reach a page / webpage can be dynamically generated based on any of the possible paths traversed by a user in the web application by a breadcrumb trail and enables the user to revisit any page in his path from beginning of the traversal. For instance, a path to reach Page 3 may be many as follows:
Home Page > Page1 > Page 3 or
Home Page > Page 3 or
Home Page > Page1 > Page5 > Page 4 > Page 3.
The systems and methods of the present disclosure also handle the Back Link / Cancel Link in a webpage, particularly when browser enabled Back button is disabled.
[023] Referring now to the drawings, and more particularly to FIGS. 1 and 2, 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 method.
[024] FIG.1 illustrates an exemplary block diagram of a system 100 for dynamic breadcrumb navigation, in accordance with an embodiment of the present disclosure. In an embodiment, the system 100 includes one or more processors 104, communication interface device(s) or input/output (I/O) interface(s) 106, and one or more data storage devices or memory 102 operatively coupled to the one or more processors 104. The one or more processors 104 that are hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) is configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as workstations, mainframe computers, servers, and the like.
[025] The I/O interface device(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server.
[026] The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, one or more modules (not shown) of the system 100 can be stored in the memory 102.
[027] FIG.2 illustrates an exemplary flow diagram of a method 200 for dynamic breadcrumb navigation implemented at the server-end, in accordance with an embodiment of the present disclosure. In an embodiment, the system 100 comprises one or more data storage devices or memory 102 operatively coupled to the one or more processors 104 and is configured to store instructions configured for execution of steps of the method 200 by the one or more processors 104.
[028] In accordance with the present disclosure, a configuration file for breadcrumbs is pre-defined at the server end. In an embodiment, the configuration file holds Uniform Resource Locator (URL) centric configurations such as breadcrumb display name, information pertaining to the breadcrumb being the beginning of a breadcrumb trail (entry point) or otherwise, list of breadcrumbs that may be replaced, any function/script to execute in response to an on-click event in the displayed breadcrumb trail, and the like. It is pertinent to note that in a web application having innumerable web pages, the configuration file may be pre-defined to include selective web pages enabled for breadcrumb trails based on business requirement or ease of navigation. Some URLs may not require breadcrumbs, when web applications use Asynchronous JavaScript and XML (AJAX). Various possible configurations that may be effected in the configuration file may be understood from embodiments described herein after.
[029] In an embodiment, at step 202, the one or more processors 104 are configured to receive a user action to navigate to at least one Uniform Resource Locator (URL) associated with a webpage. For ease of explanation the one or more processors handling step 202 may be referred to as a breadcrumb manager. In an embodiment, the breadcrumb manager firstly checks if the URL is identified in the pre-defined configuration file. After confirming that the requested URL is identified in the pre-defined configuration file, the breadcrumb manager may capture and store user session information. In the context of the present disclosure, application layer protocol may be Hypertext Transfer Protocol (HTTP) / HTTP Secure (HTTPS). However, it may be noted that any application layer protocol that can store session information may be implemented.
[030] In an embodiment, at step 204, one or more processors 104 are configured to dynamically generate a breadcrumb trail including navigation information in hierarchical order of navigation to the at least one URL, when displaying the webpage associated thereof at a client end. For ease of explanation the one or more processors handling step 204 may be referred to as a breadcrumb writer that is responsible for handling on-click events in response to information in the pre-defined configuration file.
[031] In an embodiment, at step 206, the breadcrumb manager is configured to store breadcrumbs associated with the at least one URL for each session associated with the user. In an embodiment, the breadcrumb manager may store the user session information including the text pertaining to breadcrumbs and the associated URL and form data that are stored as key-value pairs on the server. For instance, for an exemplary breadcrumb trail, Supplier > PO > Invoice, a session variable may be the breadcrumb trail string “Supplier > PO > Invoice”; another session variable may include key1-value1 pair for the first breadcrumb, wherein key1 is the string “Supplier” and value 1 is the associated URL and form data to be submitted with the URL for the webpage related to “Supplier”. Likewise, another session variable for the second breadcrumb in the exemplary breadcrumb train may include key2-value2 pair, wherein key2 is the string “PO” and value2 is the associated URL and form data to be submitted with the URL for the webpage related to “PO”.
[032] In an embodiment, a snapshot of form data is received at the server end. Form data may be submitted in multiple ways depending on number of non-mandatory fields that were submitted along with the mandatory fields when the URL was parsed. In accordance with the present disclosure, the form data that is received when loading a webpage for the first time is saved on the server (as a key-value pair in a hash map).
For instance, if a user traverses path PageA > B > D > E
For PageB > D
URL: loadProfile.do
FORM DATA: empId= 1234
Display Fields may be -
First Name:
Last Name:
A -> B -> C -> D -> E

But for PageC -> D
URL: loadProfile.do
FORM DATA: empId= 1234
displayExtraInfo = true
Display Fields may be -
First Name:
Last Name:
Mobile #:
Address:
[033] In an embodiment, at step 208, the breadcrumb writer may update the breadcrumb trail based on the hierarchical order of navigation. When updating the breadcrumb trail, the breadcrumb writer checks for cyclic navigation and eliminates duplicate breadcrumbs. For instance, if a user traverses a path Page1 > Page2 > Page1, the breadcrumb trail to Page2 may be Page1 > Page2.
[034] In an embodiment, at step 210, the breadcrumb writer may display the breadcrumbs based on the details set by the breadcrumb manager and display. For instance, “login page” may have the string “login” as the key and the URL and form data for the login page as value, set by the breadcrumb manager in the configuration file, based on which the breadcrumb writer may display the “login page” upon receiving an on-click event.
[035] In an embodiment, for loading the webpage in response to an on-click event in the displayed breadcrumb trail, the following information may be received at the client end: the URL associated with the webpage to be displayed; form data to be passed along with server calls for loading the webpage; one or more functions configured to be executed prior to executing the server calls for loading the webpage, the one or more functions being part of code associated with the webpage to be displayed; and the one or more functions configured to be executed post executing the server calls for loading the webpage. In a normal scenario, on-click event of a breadcrumb triggers a server call to load the desired webpage in the navigation path. But in some instances, it may be required to execute some functions such as Java Script operations prior to triggering the server call, like hiding a

tag and displaying another
tag. In accordance with the present disclosure, a Java Script function can be created for the Java Script operations to be executed and can be configured in the configuration file. Accordingly, if any such function is mentioned in the configuration file, a breadcrumb User Interface (UI) component may trigger the Java Script function prior to the server call. In a similar way, in accordance with the present disclosure, if any Java Script operation needs to be performed after the server call, similar approach may be adopted. Thus in accordance with the present disclosure, multiple actions may be performed in response to an on-click event in the displayed breadcrumb trail.
[036] An entry point is the first breadcrumb in the breadcrumb trail. In an embodiment, the breadcrumb trail may include multiple entry points. For instance,
Employee > Profile > Address > Edit
Supplier > Profile > Address > Edit
In the above example, Employee and Supplier are the entry points.
[037] Since the configuration file is simple and configurable, unlike conventional breadcrumb methods, wherein innumerable conditional statements have to be hardcoded, the present disclosure facilitates a reliable Back Link / Cancel Link, particularly when browser enabled Back option is disabled. In an embodiment, depending on the navigation path, the breadcrumb writer facilitates Back Link / Cancel Link in a web application to take the user to the exact previous page or the previous breadcrumb in the breadcrumb trail. For instance, if a breadcrumb trail is –
Page1 > Page2 > Page3 > Page4, if Back button is available on Page4, an on-click event for Page3 will be called; and
if a breadcrumb trail is -
Page1 > Page2 > Page5 > Page4, if Back button is available on Page4, an on-click event for Page5 will be called.
[038] In an embodiment, URL centric configurations may be defined in the configuration file in the form of rules. In the event that one or more modules are added to the web application, the present disclosure facilitates modification in the breadcrumb navigation by merely making changes to the configuration file and requiring no code change to accommodate the modification in the web application. In accordance with the present disclosure, theoretically there is no limitation on the number of breadcrumbs that can be included in a breadcrumb trail. Accordingly the breadcrumb depth can be large to facilitate navigation in complex or large web applications having innumerable number of webpages.
[039] In an embodiment, breadcrumbs may be replaced by other breadcrumbs at the same level by modifying the configuration in the configuration file. For instance, in an accounting application, if header level and item level data is available for matching invoices and receipts, the configuration file may include a rule to ensure item level display is provided if header level match already exists in the breadcrumb trail. Accordingly, header level breadcrumb may be replaced by item level breadcrumb in the breadcrumb trail.
[040] In an embodiment, the breadcrumb manager and breadcrumb writer are JavaServer Pages (JSP) components.
[041] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments of the present disclosure. The scope of the subject matter embodiments defined here may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope 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.
[042] The scope of the subject matter embodiments defined here may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope 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.
[043] It is, however to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments of the present disclosure may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[044] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules comprising the system of the present disclosure and described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The various modules described herein may be implemented as software and/or hardware modules and may be stored in any type of non-transitory computer readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
[045] Further, although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
[046] 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.

Documents

Application Documents

# Name Date
1 201621027905-IntimationOfGrant13-12-2023.pdf 2023-12-13
1 Form 3 [16-08-2016(online)].pdf 2016-08-16
2 201621027905-PatentCertificate13-12-2023.pdf 2023-12-13
2 Form 20 [16-08-2016(online)].jpg 2016-08-16
3 Form 18 [16-08-2016(online)].pdf_73.pdf 2016-08-16
3 201621027905-CLAIMS [27-08-2020(online)].pdf 2020-08-27
4 Form 18 [16-08-2016(online)].pdf 2016-08-16
4 201621027905-COMPLETE SPECIFICATION [27-08-2020(online)].pdf 2020-08-27
5 Drawing [16-08-2016(online)].pdf 2016-08-16
5 201621027905-FER_SER_REPLY [27-08-2020(online)].pdf 2020-08-27
6 Description(Complete) [16-08-2016(online)].pdf 2016-08-16
6 201621027905-OTHERS [27-08-2020(online)].pdf 2020-08-27
7 Other Patent Document [23-08-2016(online)].pdf 2016-08-23
7 201621027905-FER.pdf 2020-02-27
8 Form 26 [20-09-2016(online)].pdf 2016-09-20
8 201621027905-Correspondence-260816.pdf 2018-08-11
9 201621027905-Correspondence-260916.pdf 2018-08-11
9 ABSTRACT1.JPG 2018-08-11
10 201621027905-Form 1-260816.pdf 2018-08-11
10 201621027905-Power of Attorney-260916.pdf 2018-08-11
11 201621027905-Form 1-260816.pdf 2018-08-11
11 201621027905-Power of Attorney-260916.pdf 2018-08-11
12 201621027905-Correspondence-260916.pdf 2018-08-11
12 ABSTRACT1.JPG 2018-08-11
13 201621027905-Correspondence-260816.pdf 2018-08-11
13 Form 26 [20-09-2016(online)].pdf 2016-09-20
14 201621027905-FER.pdf 2020-02-27
14 Other Patent Document [23-08-2016(online)].pdf 2016-08-23
15 201621027905-OTHERS [27-08-2020(online)].pdf 2020-08-27
15 Description(Complete) [16-08-2016(online)].pdf 2016-08-16
16 201621027905-FER_SER_REPLY [27-08-2020(online)].pdf 2020-08-27
16 Drawing [16-08-2016(online)].pdf 2016-08-16
17 201621027905-COMPLETE SPECIFICATION [27-08-2020(online)].pdf 2020-08-27
17 Form 18 [16-08-2016(online)].pdf 2016-08-16
18 Form 18 [16-08-2016(online)].pdf_73.pdf 2016-08-16
18 201621027905-CLAIMS [27-08-2020(online)].pdf 2020-08-27
19 Form 20 [16-08-2016(online)].jpg 2016-08-16
19 201621027905-PatentCertificate13-12-2023.pdf 2023-12-13
20 Form 3 [16-08-2016(online)].pdf 2016-08-16
20 201621027905-IntimationOfGrant13-12-2023.pdf 2023-12-13

Search Strategy

1 SS57201621027905_20-02-2020.pdf

ERegister / Renewals

3rd: 12 Mar 2024

From 16/08/2018 - To 16/08/2019

4th: 12 Mar 2024

From 16/08/2019 - To 16/08/2020

5th: 12 Mar 2024

From 16/08/2020 - To 16/08/2021

6th: 12 Mar 2024

From 16/08/2021 - To 16/08/2022

7th: 12 Mar 2024

From 16/08/2022 - To 16/08/2023

8th: 12 Mar 2024

From 16/08/2023 - To 16/08/2024

9th: 16 Aug 2024

From 16/08/2024 - To 16/08/2025

10th: 09 Aug 2025

From 16/08/2025 - To 16/08/2026