Sign In to Follow Application
View All Documents & Correspondence

System And Method For Identifying Web Pages Using Invariants

Abstract: Disclosed is a method and system for identifying web pages using invariants. The system comprises receiving module, identifier generation module, unifier module, comparator and optimizer. Receiving module is configured to receive set of web pages, web page instances and set of measurable elements associated with web pages. Identifier generation module is configured to generate identifier for selected instances of each of web page by applying identifier generation technique over the set of measurable elements, to populate a matrix, wherein each cell of matrix includes value of the identifier generated for selected instance of each of the web page. Unifier module is configured to process the matrix to unify the identifiers. Comparator is configured to compare the unified identifiers in order to distinguish web pages. Optimizer is configured to optimize set of measurable elements and parameters of the unified identifier.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
05 July 2013
Publication Number
25/2015
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2023-07-27
Renewal Date

Applicants

TATA CONSULTANCY SERVICES LIMITED
NIRMAL BUILDING, 9TH FLOOR, NARIMAN POINT, MUMBAI 400021, MAHARASHTRA, INDIA

Inventors

1. CHENGOTTUSSERIYIL, JOEL JOSEPH
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA
2. BANAHATTI, VIJAYANAND MAHADEO
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA
3. SHUKLA, MANISH
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA
4. VIDHANI, KUMAR MANSUKHLAL
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA
5. LODHA, SACHIN P
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA
6. KARANDE, SHRISH SUBHASH
TATA CONSULTANCY SERVICES LIMITED, TRDDC 54/B, HADAPSAR INDUSTRIAL ESTATE, HADAPSAR, PUNE - 411013, MAHARASHTRA, INDIA

Specification

FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention: SYSTEM AND METHOD FOR IDENTIFYING WEB PAGES USING INVARIANTS
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 invention and the manner in which it is to be performed.

TECHNICAL FIELD
[001] The present subject matter described herein, in general, relates to web page
identification systems, and more particularly to a system and method for identifying web pages using invariants.
BACKGROUND
[002] Present day web pages are identified by using common page identifiers such as
Uniform Resource Locator (URL) of the pages or the parameters passed to the web pages. However, these techniques have limited use for identifying static web pages only. With the advent of new technologies such as Java Script and AJAX technologies, Web 2.0 HTML pages render the content dynamically where there is no change in the web page URL. Therefore, it is difficult to identify dynamic web pages by using URL based techniques.
[003] Web page identification has various applications such as presentation layer
based dynamic data masking, where identifying the web pages uniquely is a key aspect. It also finds application in auto-login software that automatically fills login credentials to access any web site or web resource. Identification is important and necessary to differentiate the pages that require masking from the ones that do not require masking. In case of auto-login scenario, it is necessary to identify such web pages to enter correct login credentials mapped to the web page.
[004] For dynamic web pages, during run time, the structure of the web pages remains
same across the pages but the content of the web pages changes. While using the prior art techniques, the identifier generated for a set of dynamic web pages will be same as they are relying on the structure of document object model. Two pages A and B can have same structure and layout but the text on the pages may vary. For example, one of the web pages having address related information and the other having social security number related information will be identified as same but these pages will require different masking specification. In enterprise applications for banking domain, customer summary pages for user A and B can be different. User A can have two accounts represented in two nested cells of a HTML table row, whereas user B has five accounts represented in five nested cells of a HTML table row. In such cases of page variations based on user profile the prior art technology will generate different identifier for the same page. Nevertheless, for data masking applications

these pages are just two instances of the same page. Thus, prior art technology fails to identify the dynamic web pages uniquely and correctly, which is essential for data masking application and in auto-login software.
SUMMARY
[005] This summary is provided to introduce aspects related to system and method for
identifying one or more web pages in a computing environment and the aspects are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[006] In one implementation, the present invention discloses a system for identifying
one or more web pages in a computing environment. The system comprises a processor and a memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored in the memory. The plurality of modules further comprises a receiving module, an identifier generation module, a unifier module, a comparator and an optimizer. The receiving module is configured to receive a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages. The identifier generation module is configured to generate an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements, to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instances of each of the web page. The unifier module is configured to process the matrix to unify the identifiers so generated by analyzing the variation in the measurable elements associated with the web page instances to generate a unified identifier for each of the web page. The comparator is configured to compare the unified identifiers so generated for each of the web page in order to distinguish and identify the web pages. The system further comprises the optimizer configured to optimize the set of measurable elements and to optimize one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page.
[007] The present invention also discloses a method for identifying one or more web
pages in a computing environment. The method comprises receiving a set of web pages, one or

more instances of the web pages and a set of measurable elements associated with the web pages. The method further comprises of generating an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page. The method further comprise of processing the matrix to unify the identifiers so generated for selected instances of each of the web page by analyzing the variation in the measurable elements associated with the web page instances to generate a unified identifier for each of the web page. The method further comprises comparing the unified identifiers so generated for each of the web page in order to distinguish and identify the web pages. The method further comprises optimizing the set of measurable elements and optimizing one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page. The method steps such as the receiving, the generating; the populating, the processing, the unifying, the comparing and optimizing are performed by means of a processor.
[008] The present invention also discloses a computer program product having
embodied thereon a computer program for identifying one or more web pages. The computer program product comprises a program code for receiving a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages. The computer program product further comprises a program code for generating an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page; and a program code for processing the matrix to unify the identifiers so generated for selected instances of each of the web page by analyzing the variation in the measurable elements associated with the web page instances to generate an unified identifier for each of the web page. The computer program product further comprises a program code for comparing the unified identifiers so generated for each of the web page in order to distinguish the web pages. The computer program product further comprises a program code for optimizing the set of measurable elements and

optimizing one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page.
BRIEF DESCRIPTION OF THE DRAWINGS
[009] The detailed description is provided with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
[0010] Figure 1 illustrates a network implementation of a system for identifying web
pages in a computing environment, in accordance with an embodiment of the present subject matter.
[0011J Figure 2 illustrates the system for identifying one or more web pages in a
computing environment, in accordance with an embodiment of the present subject matter.
[0012] Figure 3 illustrates a method for identifying one or more web pages in a
computing environment, in accordance with an embodiment of the present subject matter.
[0013] Figure 4 illustrates an overall functioning of the invention in accordance with an
embodiment of the present subject matter.
[0014] Figure 5 illustrates the web pages and its multiple instances in accordance with
an embodiment of the present subject matter.
[0015] Figure 6 illustrates the count based method-in accordance with an embodiment
of the present subject matter.
[0016] Figure 7 illustrates the sequence-based method in accordance with an
embodiment of the present subject matter.
[0017] Figure 8 illustrates the value-based method in accordance with an embodiment
of the present subject matter.
[0018] Figure 9 illustrates the level based sibling sequence method, in accordance with
an embodiment of the present subject matter.
[0019] Figure 10 illustrates the XPath method, in accordance with an embodiment of
the present subject matter.

[0020] Figure 11 illustrates the Document Object Model of the HTML code in
accordance with an exemplary embodiment of the present subject matter.
DETAILED DESCRIPTION
[0021] System and method for identifying one or more web pages in a computing
environment are described. Web page identification technique disclosed in present invention is based on the structure and elements present in the page, which helps to create a unique identifier of that page that will remain unaffected by internal content of that page. The invention takes a set of measurable elements and applies a set of identifier generation techniques individually on each of the web pages to generate an identifier by applying one or more techniques. The identifier generated is used to populate a matrix consisting identifiers v/s web pages. Then resultant matrix is processed to find the optimized set of measurable elements, the optimized identifier and the identifier generation technique that can differentiate the web pages for the given application.
[0022] System and method for identifying one or more web pages in computing
environment may make use of various identifier generation techniques which include document object model based techniques and non- document object model based techniques. The present subject matter uses a set of measurable elements comprising invariants to identify the web pages for given application individually. The identifier is generated for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements to populate a matrix. The matrix is further processed to unify the identifiers so generated for each of the web page and the unified identifiers are compared in order to distinguish and identify the web pages. Further the set of measurable elements and one or more parameters of the unified identifier are optimized to provide optimized set of measurable elements and an optimized unified identifier of the web page.
[0023] While aspects of described system and method for identifying one or more web
pages may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system.

[0024] Referring now to Figure 1, a network implementation 100 of a system 102
identifying one or more web pages are illustrated, in accordance with an embodiment of the present subject matter.
[0025] Although the present subject matter is explained considering that the system 102
is implemented on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2... 104-N, collectively referred to as user 104 hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
[0026] In one implementation, the network 106 may be a wireless network, a wired
network or a combination thereof. The network 106 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 the like. The network 106 may either be a dedicated network or a shared network. The shared network 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), and the like, to communicate with one another. Further the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0027] Referring now'to Figure 2, the system 102 is illustrated in accordance with an
embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the at least one processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 206.

[0028] The I/O interface 204 may include a variety of software and hardware
interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with a user directly or through the client devices 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0029] The memory 206 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. The memory 206 may include modules 208 and data 210.
[0030] The modules 208 include routines, programs, objects, components, data
structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the modules 208 may include a receiving module (212), an identifier generation module (214), unifier module (216), a comparator (218), an optimizer (220) and other modules 222. The other modules 222 may include programs or coded instructions that supplement applications and functions of the system 102.
[0031] The data 210, amongst other things, serves as a repository for storing data
processed, received, and generated by one or more of the modules 208. The data 210 may also include a system database 224, and other data 226. The other data 226 may include data generated as a result of the execution of one or more modules in the other module 222.
[0032] In one implementation, at first, a user may use the client device 104 to access
the system 102 via the I/O interface 204. The user may register them using the I/O interface 204 in order to use the system 102. The working of the system 102 may be explained in detail in Figure 2 and Figure 4 explained below. The system 102 may be used for identifying one or more web pages.

[0033] In accordance with an embodiment of the present subject matter, referring to
figure 2, the system (102) for identifying one or more web pages is described. The system (102) comprises the receiving module (212). Referring now to Figure 2 and Figure 4, the working of the receiving module is illustrated, in accordance with an embodiment of the present subject matter. The receiving module (212) is configured to receive a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages. The web pages further comprises but not limited to Hyper Text Markup Language (HTML) pages, Extensible Hyper Text Markup Language (XHTML) pages, Extended Markup Language (XML), JavaScript Object Notation (JSON), Java server pages, active server pages, Web 2.0 HTML pages with embedded JavaScript, Web pages using templates such as Java Server Pages or Java Server Faces, Web 2.0 HTML pages having use of AJAX technology. The set of measurable elements further comprise of static text, html elements or attributes. By way of an example the html elements and attributes may comprise of {form, th, style, script, head, body, script} etc. The measurable elements may be used by the identifier generation techniques for generating identifier for a given web page. The measurable element may comprise of invariants and the invariants further comprise of static text, html elements or attributes. Invariants are the measurable elements, which do not vary in a web page over its various instances.
[0034] Referring to figure 2 and figure 4, the system (102) further comprises of the
identifier generation module (214) configured to generate an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements. The so generated identifiers are further employed to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instances of each of the web page.
[0035] Referring to figure 5, an application contains multiple web pages. Let's say
there are 'n' web pages denoted as Wp 1, Wp 2, Wp 3, Wp n as shown in figure 5. Each
web page can have multiple instances. For example, a customer summary web page in a banking application for user A is considered an instance of that web page. In the same application customer summary web page for user B is another instance. As shown in figure 5,
each web page can have multiple instances as (Wp11, Wp12, Wp13 Wp1kl ) (Wpn1,
Wpn2,Wpn3 Wpnkn).

[0036] The web pages supplied have one or more web page instances. The web page
instances are provided as input to the receiving module (212). The identifier generation technique is applied to selected instances of the web page for further processing. To determine the required number of web page instances for any web page either of the following two approaches can be used. The instances of the web page may be selected based on the percentage approach where the specific percentage of distinct instances of the web pages from the total web page instances from an application is selected. The instances of the web page may be selected based on the time duration approach where distinct web page instances from an application are captured for specific duration of time and selected.
[0037] The identifier generation technique further comprises of a Document Object
Model (DOM) based method and a non-Document Object Model (non-DOM) based method. The non-DOM based method further comprises of a count based method, a sequence based method and HTML element or attribute value based method. The DOM based method further comprises of a level based sibling sequence method and an XPath method. The identifier generation techniques are stored in the system database (220) and will be accessed by the identifier generation module (214) in order to generate the identifier for selected instances of each of the web page.
[0038] Referring to figure 2 and figure 4, the identifier generation module (214) is
further configured to populate the matrix by employing the values of the identifiers generated by using at least one of the identifier generation techniques explained below for selected instances of each of the web page over the set of measurable elements.
[0039] In accordance with an exemplary embodiment, the non-DOM based methods
and the DOM based methods can be explained further. By way of an example, the measurable elements set can be: {form, action, th, style, script} and the input html can be: "
function test(){}functiontest2(){}Test

Header 1/th>Header 2Header 3Header 4Header 5Rowl ColumnK/td>Rowl Column2Rowl Column3Rowl

Column4Rowl Column5
"
Figure 11 illustrates the Document Object Model for the HTML code explained above.
[0040] The non-DOM based method further comprises of the Count-based method.
Referring to figure 6, according to the count based method; the html page is first tokenized. Then for each token, the token is matched for the measurable element set for each element in the set provided as input to the system (102). There is a counter which will count the occurrences of the measurable element in the given html page. If the measurable element from the set is found then its count is incremented. If the measurable element is not matching with the token, next token is taken and matched. After all the tokens are matched, appending the count of each measurable element in the set, the identifier for the web page is generated. The measurable element can be one or more invariants. Measurable elements can be static text, html element or attribute. By way of an example for the above mentioned html code, the measurable element set containing {form, action, th, style, script}, the count generated is {2, 1, 10, 2, 4}. Therefore identifier for the web page is 2-1-10-2-4.
[0041] The non-DOM based method further comprises of the sequence-based method.
Referring to figure 7, according to the sequence-based method, the html page is first tokenized. Then each token is matched for each of the measurable element in the set. If the token is matched, it is appended to the string to form a sequence. A hash is applied to the final sequence formed after appending all matched tokens to get the identifier for the web page. For sequence based, value based and DOM based techniques the identifier length can add to storage complexity. In such cases standard hashing algorithms such as MD5 or SHA1 can be applied to reduce the storage space required for these identifiers. For the example, in above case the sequence output is {script script style th form action form}. Using hashing function MD5 for above sequence output, the output is F650A48DB14281B7C479812B03C7E4 which is the identifier for the web page.

[0042] The non-DOM based method further comprises of the value-based method.
Referring to figure 8, according to the value-based method, value of each measurable element in the set is extracted from the html. For example if the measurable element is "action" then the value of this element is extracted from the html. Similarly the value of all the measurable elements from the set are extracted and appended to form an identifier. The measurable elements can be invariants. By way of an example, for the above mentioned html code, the values extracted for the measurable elements are {language background-color: border: solid Header method action.php} and after applying hashing function MD5 the output is 3FF71DD19080737412414773493E2 that is the identifier for the web page.
[0043] The DOM based methods further comprises of the level based sibling sequence
method. Referring to figure 9 and figure 11, according to the level based sibling sequence
method; web page is first parsed to create a Document Object Model (DOM). Further a breadth
first search (BFS) is applied on the DOM tree up to a user defined level. The user defined level
is the depth of the DOM tree up to which the BFS should be applied. At each level and for each
node in the DOM tree, the node name and its text is evaluated against the measurable element
from the user provided measurable element set. If the node name or text matches with the
measurable element then the node name or text or both are appended to form the identifier for
the web page. By way of an example, for the above mentioned html code, the sibling sequence
generated with level 5 and using the measurable element set is {script script form}.
[0044] The DOM based methods further comprises of the XPath method. Referring to
figure 10 and figure 11, according to the XPath method, the html page is first parsed to create DOM. XPath expression is the path of a DOM element traversed from the root node to that element. In this approach, the XPath of each measurable element in the set is computed. The measurable element is evaluated to exactly match with the node's text. All the XPath values of the measurable element are then appended to form the identifier for the web page. By way of an example, the XPath values for the measurable elements for the above mentioned html code is { html/body/form-html/ody/div/table/tbody/tr/th/-html/body/div/table/tbody/tr/th/-html/body/div/table/tbody/tr/th/-htm/ody/div/table/tbody/tr/th/-
html/body/div/table/tbody/tr/th/-html/head/script-html/head/script} and its MD5 hashing output is 0C6D7B894830E3DCB7A8161828F08F17 is the identifier for the web page.

[0045] In accordance with an embodiment, the identifier generation module (214)
receives the set of measurable elements, web page instances and the choice of an identifier generation technique to generate identifier for selected instances of each web page. The identifier generated for each of the selected instances is represented as a vector. Vectors for all web pages form a data matrix as shown be1OW in Table 1. Consider Set of measurable elements asM= {m1, m2, m3 ..., m4} where j= number of measurable element;
Input web pages in an application as W = {Wp1, Wp2, Wp3 ..... Wpn} where n= number of web pages, Web page instances as Wpn = {Wpn1, Wpn2, Wpn3..., Wpnk} where k=number of instances for a web page. For example identifier generation technique such as counter based technique, a data matrix is shown below.

Web page Web page instance m1 m2 m2 m4 m5 Identifier Unified Identifier
Wp, Wp/ 2 13 4 7 16 2-13-4-7-16 2-U-U-7-16
Wp/ 2 11 6 7 16 2-11-6-7-16
Wp2 Wp/ 5 8 14 4 21 5-8-14-4-21 U-8-14-U-21
Wp/ 4 8 14 4 21 4-8-14-4-21

Wp/ 9 8 14 5 21 9-8-14-5-21

Table 1: Data matrix for Counter based Technique
In a representation, an appended string of all measurable counts can be the identifier for each web page. For example, in the above case 2-13-4-7-16 is the identifier for web page 1 instance 1 and so on.
[0046] In accordance with an exemplary embodiment, the data matrix for sequence
based method with the measurable element set as{form, th , script, style}, the data matrix formed after processing the web pages can be as shown below in Table 2.

Web page Web page instance Identifier Unified Identifiers
Wp1 Wp,1 form th th script style form-th-U-script-style
WPl2 form th style script style
Wp2 Wp21 style script th th th th U-U-th-th-U-U
Wp22 script style th th form
Wp23 script style th th th form
Table 2: Data matrix for sequence based method
[0047] Referring to Table 2, the data matrix for HTML element or attributes value-
based method, Sibling sequence method can be similarly developed as explained in table 2 for Sequence based method. The data matrix for X-path method with the measurable elements as {form, th, style}, the data matrix formed after processing the web pages can be as shown in Table 3.

Web Web ml m2 m3 Identifier Unified
page page
instance Identifiers
Wp, Wp/ /html/body/ 'html/body/table/ /html/head/st /html/body/form-/ /html/body/fo
Form tr/th yle html/body/table/tr/ th-/html/head/style rm-
/html/body/
table/tr/th-U
Wp,2 /html/body/ Form /html/body/table/ tr/th null html/body/form-/
html/body/table/tr/
th-null

WP2
Wp21 /html/body/ div/div/
form /html/body/div/ table/tr[2]/th /html/ body/style /html/body/div/
div/form-/html/body/div/
table/tr[2]/th-/html/
body/style U-
/html/body/di
v/table/tr[2]/
th-
/html/body/st
yle
Wp22 Null /html/body/div/
table/tr[2]/th /html/ body/style nul l-/htm 1/body/div/
table/tr[2]/th-/html/
body/style
Wp23 /html/body/ /html/body/div/ /html/ /html/body/div/
div/ Form table/tr[2]/th body/style form-/html/body/div/
table/tr[2]/th-/html/
body/style
Table 3: Data matrix for X-path method
[0048] Referring to figure 2, system 102 further comprises the unifier module (216).
Referring now to Figure 2 and Figure 4, the working of the unifier module (216) is illustrated, in accordance with an embodiment of the present subject matter. The unifier module (216) is configured to process the matrix received from the identifier generation module (214) to further unify the identifiers so generated. The identifiers are unified by analyzing the variation in the measurable elements associated with the web page instances to generate a unified identifier for each of the web page. The function of this module is to detect invariants from the data matrix for each web page and unify the identifiers values of web page instances. Invariants are the measurable elements, which do not vary over the instances of web page.
[0049] As shown in Table 1, web page 1 has two instances with identifiers as 2-13-4-7-
16 and 2-11-6-7-16. Values of measurable elements ml, m4 and m5 for web page 1 do not vary making them invariants. Once the invariants are identified for each web page, the varying measurable elements are normalized such that the identifiers are unified. In case of web page 1, m2 and m3 are the varying measurable elements so their values are replaced with (U' thus

unifying the identifiers as 2-U-U-7-16. Likewise the invariant detection , varying measurable elements detection and identifier unification is carried out for all web pages by this module thus producing unified identifiers for all the web pages.
[0050] Referring to figure 2, system 102 further comprises the comparator (218).
Referring now to Figure 2 and Figure 4, the working of the comparator (218) is illustrated, in accordance with an embodiment of the present subject matter. The comparator (218) is configured to compare the unified identifiers so generated for each of the web page in order to distinguish the web pages. In one implementation, the comparator compares the unified identifiers generated for each web page. If they are different then the system 102 invokes the optimizer module. If they are not different then the identifier generator module is invoked by the system 102 with a new technique which may be sequence based, value based or DOM based techniques to generate identifiers for web page (web pages). The comparator compares the identifiers so generated by use of one of the identifier generation technique to check whether they are different or not. If the output of the comparator confirms that unified identifiers are not different and not distinguishing the web pages then another identifier generation technique is selected by invoking the identifier generation module (214). If the output of the comparator confirms that unified identifiers are different so distinguishing the web pages then the system 102 invokes the optimizer (220) and the unified identifiers and the measurable set of elements of the web pages are provided to the optimizer (220) for further optimization.
[0051] Referring to figure 2, system 102 further comprises the optimizer (220).
Referring now to Figure 2 and Figure 4, the working of the optimizer (220) is illustrated, in accordance with an embodiment of the present subject matter. The optimizer (220) is configured to optimize the set of measurable elements and to optimize one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page. In one implementation, the unified identifiers are formed for all web pages, the measurable elements set and/or one or more parameters of the unified identifier can be optimized to improve computational and storage efficiency. The parameter of the unified identifier to be optimized comprises of length of the unified identifier.

[0052] According to another embodiment of the present subject matter, the
optimization of measurable elements set can be explained as followed. One way to reduce the computational complexity for generating unified identifiers for the web page or web pages during runtime is to reduce the number of measurable elements. One of the methods for optimizing the measurable elements set comprises reducing the measurable elements set iteratively till the unified identifiers generated using the remaining set can distinctly identify the web pages/web pages.
[0053] As shown in Table 1, unified identifiers generated for web pages 1 and 2 using the set of measurable elements ml, m2, m3, m4 and m5 were distinct. In such scenarios the optimization can be done on the measurable elements set. For instance the measurable elements m2 and m4 can be excluded and recomputed the unified identifiers. The output may be the data matrix as shown in Table 4 below.

Web page Web
page instance mi m3 m5 Identifier Optimized
Unified
Identifier
Wpi WPl1 2 4 16 2-4-16 2-U-16
wPl2 2 6 16 2-6-16
Wp2 Wp21 5 14 21 5-14-21 U-14-21
Wp22 4 14 21 4-14-21
Wp23 9 14 21 9-14-21
Table 4: Optimization of Unified Identifiers
[0054] Further, it may happen that even with the reduction on the measurable elements
set these two web pages may be distinctly identified. This process is iteratively carried out till the measurable element set size is minimum but greater than 0 and the minimum set distinctly identifies the web pages.
[0055] According to another embodiment of the present subject matter, the
optimization of the unified identifier parameters can be explained as follows. By way of an

example, optimization of unified identifier length is explained. For sequence based, value based and DOM based techniques the identifier length can add to storage complexity. In such cases standard hashing algorithms such as MD5 or SHA1 can be applied to reduce the storage space required for these unified identifiers.
[0056] Referring to figure 3, a method (300) for identifying one or more web pages in a
computing environment is shown in accordance with an embodiment of the present subject matter. The method (300) may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method 300 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
{0057] The order in which the method 300 described are not intended to be construed
as a limitation, and any number of the described method blocks can be combined in any order to implement the method 300 or alternate methods. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 300 may be considered to be implemented in the above described system 102.
[0058] Referring to figure 3, a method (300) for identifying one or more web pages in a
computing environment is described. In step 302, a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages are received. In one implementation, the set of web pages, one or more instances of the web pages and the set of measurable elements associated with the web pages are received by the receiving module (212). The web pages further comprises of but not limited to HTML pages, XHTML pages, Web 2.0 HTML pages with embedded JavaScript, Extended Markup Language (XML), JavaScript Object Notation (JSON), Java server pages, active server pages ,Web pages using

templates such as Java Server Pages or Java Server Faces, Web 2.0 HTML pages having use of AJAX technology etc. The set of measurable elements further comprises of static text html elements or attribute. The set of measurable elements may comprise one or more invariants. The invariants further include words, html elements or attributes.
[0059] Referring to figure 3, in step 304, an identifier is generated for selected
instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements and in step 306, a matrix is populated, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page. In one implementation, the identifier is generated for selected instance of each of the web page by the identifier generation module (214) by applying one or more identifier generation technique over the set of measurable elements and the matrix is populated by the identifier generation module (214), wherein each cell of the matrix includes the value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page. The identifier generation technique further comprises of at least one of a DOM based method and a non-DOM based method. The non-DOM based method further comprises of a count based method, a sequence based method and HTML value or attribute value based method. The DOM based method further comprises of level based sibling sequence method and an X Path method.
[0060] Referring to figure 3, in step 308, the matrix is processed to unify the identifiers
so generated for selected instances of each of the web page. The identifiers are unified by analyzing the variation in the measurable elements associated with the web page instances to further generate a unified identifier for each of the web page. In unifying method step, invariants are detected from the data matrix for each web page and the identifier values of web page instances are unified. The identifier values from the data matrix are analyzed to find out the measurable elements which do not vary in the web page instance that make them invariant. Thus invariants are identified for each web page by analyzing the variation of the measurable elements in the web page instances. In one implementation, the matrix is processed by the unifier module (216) to unify the identifiers so generated for selected instances of each of the web page. Once the invariants are identified for each web page, the varying measurable elements are normalized to unify the identifiers. The varying measurable elements, so their

values or attributes are replaced with 'U' thus are unifying the identifiers. Invariant detection and identifier unification is carried out for all web pages supplied to the receiving module (212) in order to generate unified identifiers for all the web pages.
Referring to figure 3, in step 310, the unified identifiers so generated for each of the web page are compared in order to distinguish the web pages. In one implementation, the unified identifiers so generated for each of the web page are compared by the comparator (218) in order to distinguish the web pages. Further, when the comparator confirms that unified identifiers are not different for different web pages so not distinguishing the web pages then another identifier generation technique is selected. When the comparator confirm that unified identifiers are different for different web pages so distinguishing the web pages then the unified identifiers and the measurable set of elements of the web pages are further processed for optimization. The method comprises of enabling a selection of another identifier generation technique in case the unified identifiers so generated fails to distinguish and identify the web pages, the method comprises of providing the unified identifiers and the measurable elements for an optimization in case the unified identifier so generated succeeds in distinguishing and identifying the web pages.
[0061] Referring to figure 3, in step 312, the set of measurable elements is optimized
and one or more parameters of the unified identifier is optimized to provide optimized set of measurable elements and an optimized unified identifier of the web page. The parameter of the unified identifier that is optimized comprises of length of the unified identifier. In one implementation, the set of measurable elements and one or more parameters of the unified identifier are optimized by the optimizer (220) to provide the optimized set of measurable elements and the optimized unified identifier of the web page. The method 300 can be performed iteratively.
[0062] Referring to figure 2 and figure" 3 and figure 4, the steps 302, 304,306, 308, 310,
312 such as the receiving, the generating, the populating, the processing, the unifying, the
comparing and the optimizing are performed by means of a processor (202).
[0063] As disclosed above any of the identifier generation technique may be used to
generate distinct identifiers for different web pages and optimized measurable element set may be obtained which may be used in data masking for identification of web pages.

[0064] In accordance with another embodiment, in the case wherein set of web pages in
an application are not identified distinctly using a single technique of identifier generation, then smart-indexing may be used. In smart indexing, the identifiers are generated using the solution approach for each web page and for each technique stored in an indexed table. By way of an example, referring to Table 5, unified identifiers are generated for four web pages and stored using two identifier generation techniques. Idl corresponds to technique 1 and Id2 to technique 2. A column named "to use" indicates which identifier to use for the corresponding web page since there can be conflicting identifiers generated for different web pages.

Web page Idl 1d2 To Use
Wp, ABC DEF Id2
Wp2 GHI JKL Idl
WP3 LMN JKL Idl
WP4 ABC PQR Id2
Table 5: Smart Indexing During runtime execution when a web page for example Wpi needs to be identified, then an identifier is generated using technique 1 and compared against values in Id 1 column in the above table. When it matches a value in the Id 1 column, in this case ABC, the system looks at the "to use" column and finds the column whose identifier is to be used. For this case id 2 needs to be used. Therefore an identifier is generated using technique 2. This will ensure that all identifier generation techniques are not invoked together and invoked only when it is required.
[0065] In accordance with an embodiment, identifier generation during runtime can be
prioritized based on the frequency of occurrences of web pages. The frequency of occurrences of web pages, data from indexed table as disclosed above and time calculated for each identifier generation technique can be used for prioritizing the identifier generation.
[0066] By way of an example referring Table 5, Consider fl, f2, f3 and f4 be the
frequencies of occurrences for web pages 1 to 4. Web pages are referred here as web pages. If

Tl and T2 are the identifier generation calculated times for technique 1 and 2, and we know (from the smart index data) that web page 1 and 4 requires technique 2 for identification and web pages 2 and 3 require technique 1 then Fp or prioritization factor is computed for the following possibilities,
Case I
Consider that Identifier generation technique 1 runs first and then second.
Fpl-2- f1 (Tl + T2) + f2 (Tl) + f3 (Tl) + f4 (Tl + T2)
Fpl-2 = (fl + £2 + fl + f4) Tl + (fl + f4) T2
Case II
Consider that Identifier generation technique 2 runs first and then first
Fp2-1 - fl (T2) + f2 (T2 + Tl) + fl (T2 + Tl) + f4 (T2)
Fp2-1 = (fl + £2 + f3 + f4) T2 + (f2 + f3) Tl
[0067] After computing the prioritization factor for the above two possibilities (cases),
if Fpl-2 > Fp2-1 then technique 2 is given higher priority. Likewise if Fpl-2 < Fp2-lthen technique 1 is given higher priority. It is worth noting that the number of identifier generation techniques used can be more and hence the number of possibilities will increase accordingly. The foregoing description of specific embodiments of the present disclosure has been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical application, to thereby enable others skilled in the art to best utilize the disclosure and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the disclosure be defined by the claims appended hereto and their equivalents. The listing of steps within method claims do not imply any particular order to performing the steps, unless explicitly stated in the claim.

WE CLAIM:
1. A system for identifying one or more web pages in a computing environment, the system
comprising:
a processor;
a memory coupled to the processor, wherein the processor is capable of executing a plurality of modules stored in the memory, and wherein the plurality of module comprising:
a receiving module configured to receive a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages;
an identifier generation module configured to generate an identifier for a selected instances of each of the web page by applying one or more identifier generation techniques over the set of measurable elements to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instances of each of the web page; and
a unifier module configured to process the matrix to unify the identifiers so generated by analyzing variation in the measurable elements associated with the web page instances to generate an unified identifier for each of the web page;
a comparator configured to compare the unified identifiers so generated for each of the web page in order to distinguish and identify the web pages.
2. The system of claim 1, wherein the system further comprises an optimizer configured to
optimize the set of measurable elements and to optimize one or more parameters of the unified
identifier to provide optimized set of measurable elements and an optimized unified identifier
of the web page, such that the parameter of the unified identifier further comprises of length of
the unified identifier.

3. The system of claim 1, wherein the set of measurable element further comprises of static text, HTML element or attributes and the measurable elements also comprise of invariants.
4. The system of claim 1, wherein the identifier generation technique further comprises at least one of a Document Object Model (DOM) based method and a non-Document Object Model (non-DOM) based method, such that the non-DOM based method further comprise of a count based method, a sequence based method and value based method and the DOM based method further comprise of level based sibling sequence method and an XPath method.
5. The system of claim 1, wherein the web pages further comprises of Hyper Text Markup Language (HTML), Extensible Hyper Text Markup Language (XHTML), Extended Markup Language (XML), JavaScript Object Notation (JSON), Java server pages, active server pages.
6. The system of claim 1, wherein the system enables a selection of another identifier generation technique in case the unified identifiers so generated fails to distinguish and identify the web pages, the system further provides unified identifiers and the measurable elements to an optimizer in case the unified identifier so generated succeeds in distinguishing and identifying the web pages.
7. A method for identifying one or more web pages in a computing environment, the method comprising:
receiving a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages;
generating an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page; and
processing the matrix to unify the identifiers so generated for selected instances of each of the web page by analyzing variation in the measurable elements associated with the web page instances to generate an unified identifier for each of the web page;

comparing the unified identifiers so generated for each of the web page in order to distinguish and identify the web pages;
wherein the receiving, the generating , the populating, the processing, the unifying and the comparing are performed by means of a processor,
8. The method of claim 7, wherein the method further comprises optimizing the set of measurable elements and optimizing one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page, such that the parameters of the unified identifier further comprises of length of the unified identifier.
9. The method of claim 7, wherein the set of measurable elements further comprise of static text, HTML elements or attributes and the measurable elements also comprise of invariants.

10. The method of claim 7, wherein the identifier generation technique further comprises of at least one of a DOM based method and a non-DOM based method wherein the non-DOM based method further comprise of a count based method, a sequence based method and value based method and the DOM based method further comprise of level based sibling sequence method and an X Path method.
11. The method of claim 7, wherein the web pages further comprises of HTML language and XHTML language , Extended Markup Language (XML), JavaScript Object Notation (JSON), java server pages, active server pages.
12. The method of claim 7, wherein the instances of the web page are selected based on the percentage approach where the specific percentage of distinct instances of the web pages from the total web page instances from an application is selected.
13. The method of claim 7, wherein the instances of the web page are selected based on the time duration approach where distinct web page instances from an application are captured for specific duration of time and further selected.
14. The method of claim 7, wherein the method further comprises of enabling a selection of another identifier generation technique in case the unified identifiers so generated fails to distinguish and identify the web pages, the method comprises of providing the unified

identifiers and the measurable elements for an optimization in case the unified identifier so generated succeeds in distinguishing and identifying the web pages.
15. The method of claim 7, wherein one or more identifier generation techniques may be supplied as input to the receiving module.
16. The method of claim 7, wherein the method can be performed iteratively.
17. The method of claim 7, wherein when a set of web pages are not identified distinctly using a single technique of identifier generation, then the identifiers are generated using the indexed table solution.
18. The method of claim 7, wherein frequency of occurrences of web pages, data from indexed table and time calculated for each identifier generation technique is used for prioritizing the identifier generation.
19. A computer program product having embodied thereon a computer program for identifying one or more web pages, the computer program product comprising:
a program code for receiving a set of web pages, one or more instances of the web pages and a set of measurable elements associated with the web pages;
a program code for generating an identifier for selected instances of each of the web page by applying one or more identifier generation technique over the set of measurable elements to populate a matrix, wherein each cell of the matrix includes a value of the identifier generated by applying one of the identifier generation technique for each of the selected instance of each of the web page; and
a program code for processing the matrix to unify the identifiers so generated for selected instances of each of the web page by analyzing the variation in the measurable elements associated with the web page instances to generate an unified identifier for each of the web page;
a program code for comparing the unified identifiers so generated for each of the web page in order to distinguish the web pages.

20. The computer program product of claim 19, wherein the computer program product further comprises a program code for optimizing the set of measurable elements and optimizing one or more parameters of the unified identifier to provide optimized set of measurable elements and an optimized unified identifier of the web page where the parameters of the unified identifier comprise of length of the unified identifier.

Documents

Application Documents

# Name Date
1 2272-MUM-2013-IntimationOfGrant27-07-2023.pdf 2023-07-27
1 ABSTRACT.jpg 2018-08-11
2 2272-MUM-2013-FORM 3.pdf 2018-08-11
2 2272-MUM-2013-PatentCertificate27-07-2023.pdf 2023-07-27
3 2272-MUM-2013-Written submissions and relevant documents [20-07-2023(online)].pdf 2023-07-20
3 2272-MUM-2013-FORM 26(6-9-2013).pdf 2018-08-11
4 2272-MUM-2013-PETITION UNDER RULE 137 [19-07-2023(online)].pdf 2023-07-19
4 2272-MUM-2013-FORM 2.pdf 2018-08-11
5 2272-MUM-2013-RELEVANT DOCUMENTS [19-07-2023(online)].pdf 2023-07-19
5 2272-MUM-2013-FORM 2(TITLE PAGE).pdf 2018-08-11
6 2272-MUM-2013-FORM-26 [06-07-2023(online)].pdf 2023-07-06
6 2272-MUM-2013-FORM 18.pdf 2018-08-11
7 2272-MUM-2013-FORM 1.pdf 2018-08-11
7 2272-MUM-2013-Correspondence to notify the Controller [05-07-2023(online)].pdf 2023-07-05
8 2272-MUM-2013-FORM-26 [05-07-2023(online)].pdf 2023-07-05
8 2272-MUM-2013-FORM 1(30-7-2013).pdf 2018-08-11
9 2272-MUM-2013-DRAWING.pdf 2018-08-11
9 2272-MUM-2013-US(14)-HearingNotice-(HearingDate-10-07-2023).pdf 2023-06-05
10 2272-MUM-2013-CLAIMS [24-01-2020(online)].pdf 2020-01-24
10 2272-MUM-2013-DESCRIPTION(COMPLETE).pdf 2018-08-11
11 2272-MUM-2013-COMPLETE SPECIFICATION [24-01-2020(online)].pdf 2020-01-24
11 2272-MUM-2013-CORRESPONDENCE.pdf 2018-08-11
12 2272-MUM-2013-CORRESPONDENCE(6-9-2013).pdf 2018-08-11
12 2272-MUM-2013-FER_SER_REPLY [24-01-2020(online)].pdf 2020-01-24
13 2272-MUM-2013-CORRESPONDENCE(30-7-2013).pdf 2018-08-11
13 2272-MUM-2013-OTHERS [24-01-2020(online)].pdf 2020-01-24
14 2272-MUM-2013-CLAIMS.pdf 2018-08-11
14 2272-MUM-2013-FER.pdf 2019-07-24
15 2272-MUM-2013-ABSTRACT.pdf 2018-08-11
16 2272-MUM-2013-CLAIMS.pdf 2018-08-11
16 2272-MUM-2013-FER.pdf 2019-07-24
17 2272-MUM-2013-OTHERS [24-01-2020(online)].pdf 2020-01-24
17 2272-MUM-2013-CORRESPONDENCE(30-7-2013).pdf 2018-08-11
18 2272-MUM-2013-FER_SER_REPLY [24-01-2020(online)].pdf 2020-01-24
18 2272-MUM-2013-CORRESPONDENCE(6-9-2013).pdf 2018-08-11
19 2272-MUM-2013-COMPLETE SPECIFICATION [24-01-2020(online)].pdf 2020-01-24
19 2272-MUM-2013-CORRESPONDENCE.pdf 2018-08-11
20 2272-MUM-2013-CLAIMS [24-01-2020(online)].pdf 2020-01-24
20 2272-MUM-2013-DESCRIPTION(COMPLETE).pdf 2018-08-11
21 2272-MUM-2013-DRAWING.pdf 2018-08-11
21 2272-MUM-2013-US(14)-HearingNotice-(HearingDate-10-07-2023).pdf 2023-06-05
22 2272-MUM-2013-FORM 1(30-7-2013).pdf 2018-08-11
22 2272-MUM-2013-FORM-26 [05-07-2023(online)].pdf 2023-07-05
23 2272-MUM-2013-Correspondence to notify the Controller [05-07-2023(online)].pdf 2023-07-05
23 2272-MUM-2013-FORM 1.pdf 2018-08-11
24 2272-MUM-2013-FORM 18.pdf 2018-08-11
24 2272-MUM-2013-FORM-26 [06-07-2023(online)].pdf 2023-07-06
25 2272-MUM-2013-RELEVANT DOCUMENTS [19-07-2023(online)].pdf 2023-07-19
25 2272-MUM-2013-FORM 2(TITLE PAGE).pdf 2018-08-11
26 2272-MUM-2013-PETITION UNDER RULE 137 [19-07-2023(online)].pdf 2023-07-19
26 2272-MUM-2013-FORM 2.pdf 2018-08-11
27 2272-MUM-2013-Written submissions and relevant documents [20-07-2023(online)].pdf 2023-07-20
27 2272-MUM-2013-FORM 26(6-9-2013).pdf 2018-08-11
28 2272-MUM-2013-PatentCertificate27-07-2023.pdf 2023-07-27
28 2272-MUM-2013-FORM 3.pdf 2018-08-11
29 ABSTRACT.jpg 2018-08-11
29 2272-MUM-2013-IntimationOfGrant27-07-2023.pdf 2023-07-27

Search Strategy

1 Search_strategy_2272MUM2013_24-07-2019.pdf

ERegister / Renewals

3rd: 27 Oct 2023

From 05/07/2015 - To 05/07/2016

4th: 27 Oct 2023

From 05/07/2016 - To 05/07/2017

5th: 27 Oct 2023

From 05/07/2017 - To 05/07/2018

6th: 27 Oct 2023

From 05/07/2018 - To 05/07/2019

7th: 27 Oct 2023

From 05/07/2019 - To 05/07/2020

8th: 27 Oct 2023

From 05/07/2020 - To 05/07/2021

9th: 27 Oct 2023

From 05/07/2021 - To 05/07/2022

10th: 27 Oct 2023

From 05/07/2022 - To 05/07/2023

11th: 27 Oct 2023

From 05/07/2023 - To 05/07/2024

12th: 05 Jul 2024

From 05/07/2024 - To 05/07/2025

13th: 25 Jun 2025

From 05/07/2025 - To 05/07/2026