Abstract: The present disclosure relates to methods and systems for testing navigation graph services. Embodiments of the present disclosure may provide a directed graph based on a navigation graph service, determine a set of paths between nodes in the directed graph, and generate a testing script for an arbitrary performance testing tool based on the determined set of paths. The set of paths may comprise edge-disjoint paths between nodes in the directed graph.
CLIAMS:We claim:
1. A method for testing a navigation graph service comprising:
providing a directed graph based on the navigation graph service, wherein nodes of the directed graph are associated with load levels;
determining, by one or more hardware processors, a set of paths (S) between a root node (R) in the directed graph and other non-root nodes in the directed graph based on the load levels associated with the nodes, wherein each path in the set of paths (S) corresponds to an edge-disjoint path between R and another non-root node in the directed graph;
generating, by the one or more hardware processors, a testing script for an arbitrary performance testing tool based on the set of paths (S); and
executing the testing script using the performance testing tool.
2. The method according to claim 1, wherein determining, by one or more hardware processors, the set of paths (S) between R and other non-root nodes in the directed graph based on the load levels associated with the nodes comprises:
(a) determining a node (X) in the directed graph that is associated with the lowest nonzero and positive load level (L), wherein ties between nodes are arbitrarily resolved;
(b) determining a set of edge-disjoint paths between R and X, wherein the number of determined edge-disjoint paths is K;
(c) selecting a previously non-selected path (P) from the set of edge-disjoint paths between R and X, and adding P to the set of the paths (S), wherein the load level of each node in P is reduced by L/K.
3. The method according to claim 2, wherein step (c) is repeated until K paths are added to the set of paths (S).
4. The method according to claim 3, wherein steps (a), (b), and (c) are repeated until every node in the directed graph besides root node (R) has a load value of zero.
5. The method according to claim 1, wherein the directed graph is validated by checking that all nodes in the directed graph are connected and that a path exists between the root node (R) and each non-root node.
6. The method according to claim 1, wherein the navigation graph service comprises a website, and the nodes of the directed graph correspond to pages of the website.
7. The method according to claim 1, wherein the navigation graph service comprises an application, and the nodes of the directed graph correspond to views of the application.
8. The method according to claim 1, wherein each path in the set of the paths (S) has at most N loops, wherein N ranges from 0 to 10.
9. The method according to claim 1, wherein determining, by one or more hardware processors, the set of paths (S) between the root node (R) and other non-root nodes in the directed graph based on the load levels associated with the nodes comprises determining a set of edge-disjoint paths between R and another non-root node in the directed graph based the load levels associated the nodes.
10. The method according to claim 1, wherein in the set of paths (S), paths between the root node (R) and another non-root node in the directed graph are edge-disjoint.
11. A system for testing a navigation graph service comprising:
a memory storing instructions; and
one or more hardware processors configured to execute the instructions to:
provide a directed graph based on the navigation graph service, wherein nodes of the directed graph are associated with load levels;
determine a set of paths (S) between a root node (R) in the directed graph and other non-root nodes in the directed graph based on the load levels associated with the nodes, wherein each path in the set of paths (S) corresponds to an edge-disjoint path between R and another non-root node in the directed graph;
generate a testing script for an arbitrary performance testing tool based on the set of paths (S); and
execute the testing script using the performance testing tool.
12. The system according to claim 11, wherein to determine a set of paths (S) between a root node (R) in the directed graph and other non-root nodes in the directed graph based on the load levels associated with the nodes, the one or more hardware processors are configured by the instructions to:
(a) determine a node (X) in the directed graph that is associated with the lowest nonzero and positive load level (L), wherein ties between nodes are arbitrarily resolved;
(b) determine a set of edge-disjoint paths between R and X, wherein the number of determined edge-disjoint paths is K;
(c) select a previously non-selected path (P) from the set of edge-disjoint paths between R and X, and add the set of edge-disjoint paths between R and X to the set of the paths (S), wherein the load level of each node in P is reduced by L/K for each edge-disjoint path (P) added to the set of paths (S).
13. The system according to claim 12, wherein step (c) is repeated until K paths are added to the set of paths (S).
14. The system according to claim 13, wherein steps (a), (b), and (c) are repeated until every node in the directed graph besides root node (R) has a load value of zero.
15. The system according to claim 11, wherein the directed graph is validated by checking that all nodes in the directed graph are connected and that a path exists between the root note (R) and each non-root node.
16. The system according to claim 11, wherein the navigation graph service comprises a website, and the nodes of the directed graph correspond to pages of the website.
17. The system according to claim 11, wherein the navigation graph service comprises an application, and the nodes of the directed graph correspond to views of the application.
18. The system according to claim 11, wherein each path in the set of the paths (S) has at most N loops, wherein N ranges from 0 to 10.
19. A non-transitory computer-readable medium storing instructions for testing a navigation graph service, wherein upon execution of the instructions by one or more hardware processors, the one or more hardware processors are configured by the instructions to:
provide a directed graph based on the navigation graph service, wherein nodes of the directed graph are associated with load levels;
determine a set of paths (S) between a root node (R) in the directed graph and other non-root nodes in the directed graph based on the load levels associated with the nodes, wherein each path in the set of paths (S) corresponds to an edge-disjoint path between R and another non-root node in the directed graph;
generate a testing script for an arbitrary performance testing tool based on the set of paths (S); and
execute the testing script using the performance testing tool.
Dated this 21st day of August, 2014
Swetha S.N
Of K&S Partners
Agent for the Applicant
,TagSPECI:BACKGROUND
Advances in mobile technology platforms and Internet protocols have encouraged many organizations to move their transactions into the digital space. For example, retailers of all sizes are increasingly reliant on websites and digital applications not only as a promotional advertising medium, but as a means to sell their products and/or services, negotiate pricing and support arrangements, receive and respond to customer feedback and requests, and collect data about usage patterns and trends. Government agencies are also turning to digital technologies in order to increase access to public services (such as obtaining licenses and permits, signing up for social services, payment of government fees and fines, filing and transmission of official documents, etc.) and to interact with constituents. Thus, it is not surprising that websites and digital applications have become an important gateway between transacting parties, and, in many circumstances, provide the only means by which transacting parties may communicate.
| # | Name | Date |
|---|---|---|
| 1 | 4075-CHE-2014 FORM-9 21-08-2014.pdf | 2014-08-21 |
| 1 | 4075-CHE-2014-IntimationOfGrant03-01-2023.pdf | 2023-01-03 |
| 2 | 4075-CHE-2014-PatentCertificate03-01-2023.pdf | 2023-01-03 |
| 2 | 4075-CHE-2014 FORM-18 21-08-2014.pdf | 2014-08-21 |
| 3 | IP28216-SPEC.pdf | 2014-08-25 |
| 3 | 4075-CHE-2014-ABSTRACT [10-01-2020(online)].pdf | 2020-01-10 |
| 4 | IP28216-FIG.pdf | 2014-08-25 |
| 4 | 4075-CHE-2014-CLAIMS [10-01-2020(online)].pdf | 2020-01-10 |
| 5 | FORM 5.pdf | 2014-08-25 |
| 5 | 4075-CHE-2014-COMPLETE SPECIFICATION [10-01-2020(online)].pdf | 2020-01-10 |
| 6 | FORM 3.pdf | 2014-08-25 |
| 6 | 4075-CHE-2014-CORRESPONDENCE [10-01-2020(online)].pdf | 2020-01-10 |
| 7 | 4075-CHE-2014-DRAWING [10-01-2020(online)].pdf | 2020-01-10 |
| 7 | 4075-CHE-2014 CORRESPONDENCE OTHERS 17-11-2014.pdf | 2014-11-17 |
| 8 | 4075-CHE-2014-FER_SER_REPLY [10-01-2020(online)].pdf | 2020-01-10 |
| 8 | 4075-CHE-2014 POWER OF ATTORNEY 19-02-2015.pdf | 2015-02-19 |
| 9 | 4075-CHE-2014-FORM 3 [10-01-2020(online)].pdf | 2020-01-10 |
| 9 | 4075-CHE-2014 FORM-1 19-02-2015.pdf | 2015-02-19 |
| 10 | 4075-CHE-2014 CORRESPONDENCE OTHERS 19-02-2015.pdf | 2015-02-19 |
| 10 | 4075-CHE-2014-Information under section 8(2) (MANDATORY) [10-01-2020(online)]-1.pdf | 2020-01-10 |
| 11 | 4075-CHE-2014-FER.pdf | 2019-07-10 |
| 11 | 4075-CHE-2014-Information under section 8(2) (MANDATORY) [10-01-2020(online)].pdf | 2020-01-10 |
| 12 | 4075-CHE-2014-OTHERS [10-01-2020(online)].pdf | 2020-01-10 |
| 13 | 4075-CHE-2014-FER.pdf | 2019-07-10 |
| 13 | 4075-CHE-2014-Information under section 8(2) (MANDATORY) [10-01-2020(online)].pdf | 2020-01-10 |
| 14 | 4075-CHE-2014 CORRESPONDENCE OTHERS 19-02-2015.pdf | 2015-02-19 |
| 14 | 4075-CHE-2014-Information under section 8(2) (MANDATORY) [10-01-2020(online)]-1.pdf | 2020-01-10 |
| 15 | 4075-CHE-2014 FORM-1 19-02-2015.pdf | 2015-02-19 |
| 15 | 4075-CHE-2014-FORM 3 [10-01-2020(online)].pdf | 2020-01-10 |
| 16 | 4075-CHE-2014 POWER OF ATTORNEY 19-02-2015.pdf | 2015-02-19 |
| 16 | 4075-CHE-2014-FER_SER_REPLY [10-01-2020(online)].pdf | 2020-01-10 |
| 17 | 4075-CHE-2014 CORRESPONDENCE OTHERS 17-11-2014.pdf | 2014-11-17 |
| 17 | 4075-CHE-2014-DRAWING [10-01-2020(online)].pdf | 2020-01-10 |
| 18 | 4075-CHE-2014-CORRESPONDENCE [10-01-2020(online)].pdf | 2020-01-10 |
| 18 | FORM 3.pdf | 2014-08-25 |
| 19 | 4075-CHE-2014-COMPLETE SPECIFICATION [10-01-2020(online)].pdf | 2020-01-10 |
| 19 | FORM 5.pdf | 2014-08-25 |
| 20 | IP28216-FIG.pdf | 2014-08-25 |
| 20 | 4075-CHE-2014-CLAIMS [10-01-2020(online)].pdf | 2020-01-10 |
| 21 | IP28216-SPEC.pdf | 2014-08-25 |
| 21 | 4075-CHE-2014-ABSTRACT [10-01-2020(online)].pdf | 2020-01-10 |
| 22 | 4075-CHE-2014-PatentCertificate03-01-2023.pdf | 2023-01-03 |
| 22 | 4075-CHE-2014 FORM-18 21-08-2014.pdf | 2014-08-21 |
| 23 | 4075-CHE-2014-IntimationOfGrant03-01-2023.pdf | 2023-01-03 |
| 23 | 4075-CHE-2014 FORM-9 21-08-2014.pdf | 2014-08-21 |
| 1 | TPOSEARCH_04-07-2019.pdf |