IP Library Granted Patent US 12,423,373
Granted Patent B2
US 12,423,373 · App. 17/246,429 · Granted Sep 23, 2025

Identifying and monitoring relevant enterprise data stored in software development repositories

Inventors: Prakash Linga (San Jose, CA); Ajay K. Arora (Redwood City, CA); Payman Kamali (San Anselmo, CA); Paul Gerlich (Bettendorf, IA)
Assignee: HashiCorp
G06F16/972G06F16/90348G06F16/9035G06F16/9038
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,423,373
App. No.
17/246,429
Filed
Apr 30, 2021
Granted
Sep 23, 2025
Kind
B2
Art Unit
2164
USPC
707/708
Abstract

One example operation may include selecting one or more terms to query one or more software repositories, querying the one or more of the software repositories for instances of the one or more query terms, identifying one or more domain names included in the one or more software repositories based on the query, and determining one or more relevancy scores corresponding to the one or more public software repositories based on a quantity of identified terms instances and domain names.

Claims (62)

1. A computer-implemented method of identifying and monitoring relevant enterprise data stored in one or more software development repositories, the method comprising:

selecting, by a computer processor, one or more terms in a query configured to query one or more software repositories related to a software development context;

querying, by the computer processor, the one or more of the software repositories for instances of the one or more query terms;

identifying, by the computer processor, one or more domain names included in the one or more software repositories related to the software development context and based on the query;

calculating, by the computer processor, one or more relevancy scores corresponding to each of the one or more software repositories, each relevancy score having a value based on a quantity of identified terms instances and domain names in each of the one or more software repositories identified from the querying;

generating, by the computer processor, an optimized query result set by ranking the one or more domain names based on the one or more relevancy scores; and

transmitting, by the computer processor, the optimized query result set to a user interface, wherein the optimized query result enables faster access to software artifacts related to the software development context.

2. The method of claim 1 , comprising

responsive to identifying one or more domain names included in the one or more software repositories based on the query, querying the one or more software repositories for the domain names, subdomain names and email address strings contained in the one or more software repositories.

3. The method of claim 1 , comprising subtracting an amount from the value of one or more relevancy scores when one or more terms included in a block list are identified in the one or more software repositories corresponding to the one or more relevancy scores.

4. The method of claim 1 , comprising subtracting an amount from the value of one or more relevancy scores when a threshold number of identified domain names is exceeded from querying a single data repository.

5. The method of claim 1 , comprising

determining the one or more relevancy scores are above a predefined relevancy score threshold; and

adding the one or more software repositories which are associated with relevancy scores above the predefined relevancy score to a list of monitored software repositories.

6. The method of claim 5 , comprising

adding one or more domain names and subdomain names identified from the one or more software repositories to the one or more terms to query during a next query operation; and

monitoring the one or more software repositories associated with the added one or more domain names and subdomain names during the next query operation.

7. The method of claim 5 , comprising

adding one or more software repositories having relevancy scores below the predefined relevancy score to a list of unmonitored software repositories; and

monitoring the one or more added software repositories during a next query operation and disregarding software repositories in the list of unmonitored software repositories.

8. An apparatus for identifying and monitoring relevant enterprise data stored in one or more software development repositories, the apparatus comprising:

a processor configured to:

select one or more terms in a query configured to query one or more software repositories related to a software development context;

query the one or more of the software repositories for instances of the one or more query terms;

identify one or more domain names included in the one or more software repositories related to the software development context and based on the query;

calculate one or more relevancy scores corresponding to each of the one or more software repositories, each relevancy score having a value based on a quantity of identified terms instances and domain names in each of the one or more software repositories identified from the querying;

generate an optimized query result set by ranking the one or more domain names based on the one or more relevancy scores; and

transmit the optimized query result set to a user interface, wherein the optimized query result enables faster access to software artifacts related to the software development context.

9. The apparatus of claim 8 , wherein the processor is further configured to:

responsive to identification of one or more domain names included in the one or more software repositories based on the query, query the one or more identified software repositories for the domain names, subdomain names and email address strings contained in the one or more software repositories.

10. The apparatus of claim 8 , wherein the processor is further configured to:

subtract an amount from the value of one or more relevancy scores when one or more terms included in a block list are identified in the one or more software repositories corresponding to the one or more relevancy scores.

11. The apparatus of claim 8 , wherein the processor is further configured to:

subtract an amount from the value of one or more relevancy scores when a threshold number of identified domain names is exceeded from querying a single data repository.

12. The apparatus of claim 8 , wherein the processor is further configured to:

determine the one or more relevancy scores are above a predefined relevancy score threshold; and

add the one or more software repositories which are associated with relevancy scores above the predefined relevancy score to a list of monitored software repositories.

13. The apparatus of claim 12 , wherein the processor is further configured to:

add one or more domain names and subdomain names identified from the one or more software repositories to the one or more terms to query during a next query operation; and

monitor the one or more software repositories associated with the added one or more domain names and subdomain names during the next query cycle.

14. The apparatus of claim 12 , wherein the processor is further configured to:

add the one or more software repositories having relevancy scores below the predefined relevancy score to a list of unmonitored software repositories; and

monitor the one or more added software repositories during a next query operation and disregarding software repositories in the list of unmonitored software repositories.

15. A non-transitory computer readable storage medium configured to identify and monitor relevant enterprise data stored in one or more software development repositories, the non-transitory computer readable storage medium being configured to store instructions that when executed cause a processor to perform:

selecting one or more terms in a query configured to query one or more software repositories related to a software development context;

querying the one or more of the software repositories for instances of the one or more query terms;

identifying one or more domain names included in the one or more software repositories related to the software development context and based on the query;

calculating one or more relevancy scores corresponding to each of the one or more software repositories, each relevancy score having a value based on a quantity of identified terms instances and domain names in each of the one or more software repositories identified from the querying;

generating an optimized query result set by ranking the one or more domain names based on the one or more relevancy scores; and

transmitting the optimized query result set to a user interface, wherein the optimized query result enables faster access to software artifacts related to the software development context.

16. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

responsive to identifying one or more domain names included in the one or more software repositories based on the query, querying the one or more software repositories for the domain names, subdomain names and email address strings contained in the one or more software repositories.

17. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

subtracting an amount from the value of one or more relevancy scores when one or more terms included in a block list are identified in the one or more software repositories corresponding to the one or more relevancy scores.

18. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

subtracting an amount from the value of one or more relevancy scores when a threshold number of identified domain names is exceeded from querying a single data repository.

19. The non-transitory computer readable storage medium of claim 15 , wherein the processor is further configured to perform:

determining the one or more relevancy scores are above a predefined relevancy score threshold; and

adding the one or more software repositories which are associated with relevancy scores above the predefined relevancy score to a list of monitored software repositories.

20. The non-transitory computer readable storage medium of claim 19 , wherein the processor is further configured to perform:

adding one or more domain names and subdomain names identified from the one or more software repositories to the one or more terms to query during a next query operation; and

monitoring the one or more software repositories associated with the added one or more domain names and subdomain names during the next query operation.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: HASHICORP, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072476/0436 →
MERGER Recorded Apr 25, 2024
From: BLUEBRACKET INC.; SHAREHOLDER REPRESENTATIVE SERVICES LLC; PUMBAA MERGER SUB, INC.
To: HASHICORP, INC.
Reel/Frame 067245/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2022
From: LINGA, PRAKASH; ARORA, AJAY K.; KAMALI, PAYMAN; GERLICH, PAUL
To: BLUBRACKET, INC.
Reel/Frame 061124/0035 →
Continuity (8)
Continuation In Part 17178224 · Feb 17, 2021
Provisional Application 62978245 · Feb 18, 2020
Provisional Application 62978250 · Feb 18, 2020
Provisional Application 62978242 · Feb 18, 2020
Provisional Application 62978248 · Feb 18, 2020
Provisional Application 62978238 · Feb 18, 2020
Provisional Application 62978240 · Feb 18, 2020
Related Publication 20210256089A1 · Aug 19, 2021
References Cited (67)
US 6609115B1 · Mehring et al. · 2003 [cited by applicant]
US 6785671B1 · Bailey · 2004 [cited by examiner]
US 6957366B1 · McDonald · 2005 [cited by applicant]
US 7039631B1 · Finger, II · 2006 [cited by examiner]
US 7076496B1 · Ruizandrade · 2006 [cited by applicant]
US 8432570B1 · Couvering · 2013 [cited by applicant]
US 8819856B1 · Tiffe et al. · 2014 [cited by applicant]
US 8856725B1 · Anderson · 2014 [cited by examiner]
US 9208232B1 · Tirumalareddy · 2015 [cited by examiner]
US 9449181B1 · Umapathy et al. · 2016 [cited by applicant]
US 9921976B2 · Linga · 2018 [cited by examiner]
US 10354093B1 · Farber et al. · 2019 [cited by applicant]
US 10387669B1 · Lim et al. · 2019 [cited by applicant]
US 10614071B1 · Chen · 2020 [cited by examiner]
US 10768929B1 · Turner et al. · 2020 [cited by applicant]
US 11475081B2 · Galatzer · 2022 [cited by examiner]
US 20030046282A1 · Carlson · 2003 [cited by examiner]
US 20050097364A1 · Edeki et al. · 2005 [cited by applicant]
US 20050273600A1 · Seeman · 2005 [cited by applicant]
US 20060048230A1 · Hameau et al. · 2006 [cited by applicant]
US 20060080546A1 · Brannon et al. · 2006 [cited by applicant]
US 20070061782A1 · Schreiner et al. · 2007 [cited by applicant]
US 20070130149A1 · Kelso et al. · 2007 [cited by applicant]
US 20070169071A1 · Martin et al. · 2007 [cited by applicant]
US 20080104040A1 · Ramakrishna · 2008 [cited by examiner]
US 20080154855A1 · Balabhadrapatruni · 2008 [cited by examiner]
US 20080183691A1 · Kwok · 2008 [cited by examiner]
US 20080288330A1 · Hildebrand et al. · 2008 [cited by applicant]
US 20090293121A1 · Bigus et al. · 2009 [cited by applicant]
US 20090328188A1 · Raymer et al. · 2009 [cited by applicant]
US 20100007489A1 · Misra et al. · 2010 [cited by applicant]
US 20120278902A1 · Martin et al. · 2012 [cited by applicant]
US 20140090012A1 · Lim · 2014 [cited by applicant]
US 20140283127A1 · Chacko et al. · 2014 [cited by applicant]
US 20150046463A1 · Mohan · 2015 [cited by applicant]
US 20150067861A1 · Foley et al. · 2015 [cited by applicant]
US 20150082274A1 · Resig et al. · 2015 [cited by applicant]
US 20160283406A1 · Linga · 2016 [cited by examiner]
US 20160283727A1 · Linga · 2016 [cited by examiner]
US 20160285835A1 · Linga et al. · 2016 [cited by applicant]
US 20160352748A1 · Hwang et al. · 2016 [cited by applicant]
US 20170103192A1 · Hussey et al. · 2017 [cited by applicant]
US 20170154188A1 · Meier et al. · 2017 [cited by applicant]
US 20170366551A1 · Brandwine · 2017 [cited by applicant]
US 20180097787A1 · Murthy et al. · 2018 [cited by applicant]
US 20180129497A1 · Biddle et al. · 2018 [cited by applicant]
US 20180139210A1 · Gideon, III · 2018 [cited by applicant]
US 20190073455A1 · Chen et al. · 2019 [cited by applicant]
US 20190121855A1 · Alexander · 2019 [cited by examiner]
US 20190220542A1 · Tena et al. · 2019 [cited by applicant]
US 20190327271A1 · Saxena et al. · 2019 [cited by applicant]
US 20200104248A1 · Mm · 2020 [cited by applicant]
US 20200104519A1 · Farber et al. · 2020 [cited by applicant]
US 20200218535A1 · Alomari · 2020 [cited by applicant]
US 20200242536A1 · Schwantes · 2020 [cited by applicant]
US 20210097024A1 · Miller et al. · 2021 [cited by applicant]
US 20210097168A1 · Patel · 2021 [cited by examiner]
US 20210243223A1 · Arora et al. · 2021 [cited by applicant]
US 20210247976A1 · Masis et al. · 2021 [cited by applicant]
US 20220279004A1 · Erlingsson · 2022 [cited by examiner]
WO WO2016154520A1 · 2016 [cited by examiner]
Sharma, Abhishek, et al., “Cataloging GitHub Repositories”, EASE '17, Karlskrona, Sweden, Jun. 201, pp. 314-319. [cited by examiner]
Rahman, Mohammad Masudur, et al., “Effective Reformulation of Query for Code Search using Crowdsourced Knowledge an Extra-Large Data Analytics”, ICSME 2018, Madrid, Spain, Sep. 23-29, 2018, pp. 473-484. [cited by examiner]
Feiner, Johannes, et al., “RepoVis: Visual Overviews and Full-Text Search in Software Repositories”, VISSOFT 2018, Madrid, Spain, Sep. 24-25, 2018, pp. 1-11. [cited by examiner]
Bozzon, Alessandro, et al., “Searching Repositories of Web Application Models”, ICWE 2010, LNCS 6189, Springer-Verlag, Heidelberg, Germany, © 2010, pp. 1-15. [cited by examiner]
Xu, Bowen, et al., “Domain-Specific Cross-Language Relevant Question Retrieval”, MSR '16, Austin, TX, May 14-15, 2016, pp. 413-424. [cited by examiner]
Povey, Dean. “Optimistic security: a new access control paradigm.” [Online], 1999 [Retrieved on: Jul. 30, 2022], In Proceedings of the 1999 workshop on New security paradigms, pp. 40-45, Retrieved from: < https://dl .ac… [cited by applicant]