IP Library Granted Patent US 12,367,034
Granted Patent B2
US 12,367,034 · App. 18/113,659 · Granted Jul 22, 2025

Providing access to metadata modifications to facilitate software build reproduction

Inventors: Pierre-Yves Chibon (Saint-Pol-de-Leon, FR); Leigh Griffin (Waterford, IE)
Assignee: Red Hat, Inc.
G06F8/71G06F8/36
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,367,034
App. No.
18/113,659
Granted
Jul 22, 2025
Kind
B2
Abstract

Software builds can be constructed based on previously recorded modifications to metadata. For example, a computing device can record modification logs. Each of the modification logs can be associated with a modification to metadata for a software repository. The computing device can also receive, from a client device, a request for the metadata for the software repository at a particular time. The computing device can provide access, for the client device, to one or more modification logs of the modification logs associated with the particular time. The one or more modification logs can be used by the client device to produce a software build having characteristics of the metadata at the particular time.

Claims (48)

1. A system comprising:

a processing device; and

a memory device that includes instructions executable by the processing device for causing the processing device to perform operations comprising:

recording a plurality of modification logs, each modification log of the plurality of modification logs associated with a modification to metadata for a software repository;

storing, in a version control system repository, the plurality of modification logs;

receiving, from a client device, a request for the metadata for the software repository at a particular time;

providing access, for the client device, to at least one modification log of the plurality of modification logs associated with the particular time, the at least one modification log usable by the client device to produce a software build having characteristics of the metadata at the particular time;

storing, in a software package file repository, a plurality of software package files associated with the software build, each software package file of the plurality of software package files comprising a timeframe corresponding to deployment of a software package including the software package file in the software build; and

providing access for the client device to the software package file repository, the software package file repository usable by the client device to determine a version of the software package at the particular time based on the timeframe for each software package file and usable by the client device to download the version of the software package.

2. The system of claim 1 , wherein the version control system repository is downloaded by the client device.

3. The system of claim 1 , wherein the request is a first request and the memory device further comprises instructions executable by the processing device for causing the processing device to perform operations comprising:

receiving, from the client device, a second request for the version of the software package associated with the software build at the particular time; and

providing, for the client device, at least one modification log of the plurality of modification logs associated with the particular time and with the software package, the at least one modification log usable by the client device to produce the version of the software package.

4. The system of claim 1 , wherein the memory device further includes instructions executable by the processing device for causing the processing device to perform operations comprising:

generating, based on the at least one modification log, the software build having characteristics of the metadata at the particular time; and

providing, for use by the client device, the software build.

5. The system of claim 1 , wherein each modification log of the plurality of modification logs includes a timestamp and wherein the memory device further includes instructions executable by the processing device for causing the processing device to perform operations comprising:

determining, based on the timestamp of each modification log, the at least one modification log associated with the particular time.

6. A method comprising:

recording a plurality of modification logs, each modification log of the plurality of modification logs associated with a modification to metadata for a software repository;

storing, in a version control system repository, the plurality of modification logs;

receiving, from a client device, a request for the metadata for the software repository at a particular time;

providing access, for the client device, to at least one modification log of the plurality of modification logs associated with the particular time, the at least one modification log usable by the client device to produce a software build having characteristics of the metadata at the particular time;

storing, in a software package file repository, a plurality of software package files associated with the software build, each software package file of the plurality of software package files comprising a timeframe corresponding to deployment of a software package including the software package file in the software build; and

providing access for the client device to the software package file repository, the software package file repository usable by the client device to determine a version of the software package at the particular time based on the timeframe for each software package file and usable by the client device to download the version of the software package.

7. The method of claim 6 , wherein the version control system repository is downloaded by the client device.

8. The method of claim 6 , wherein the request is a first request, and wherein the method further comprises:

receiving, from the client device, a second request for the version of the software package associated with the software build at the particular time; and

providing, for the client device, at least one modification log of the plurality of modification logs associated with the particular time and with the software package, the at least one modification log usable by the client device to produce the version of the software package.

9. The method of claim 6 , further comprising:

generating, based on the at least one modification log, the software build having characteristics of the metadata at the particular time; and

providing, for use by the client device, the software build.

10. The method of claim 6 , wherein each modification log of the plurality of modification logs further comprises a timestamp and wherein the method further comprises:

determining, based on the timestamp of each modification log, the at least one modification log associated with the particular time.

11. A non-transitory computer-readable medium comprising instructions that are executable by a processing device for causing the processing device to perform operations comprising:

recording a plurality of modification logs, each modification log of the plurality of modification logs associated with a modification to metadata for a software repository;

storing, in a version control system repository, the plurality of modification logs;

receiving, from a client device, a request for the metadata for the software repository at a particular time; and

providing access, for the client device, to at least one modification log of the plurality of modification logs associated with the particular time, the at least one modification log usable by the client device to produce a software build having characteristics of the metadata at the particular time;

storing, in a software package file repository, a plurality of software package files associated with the software build, each software package file of the plurality of software package files comprising a timeframe corresponding to deployment of a software package including the software package file in the software build; and

providing access for the client device to the software package file repository, the software package file repository usable by the client device to determine a version of the software package at the particular time based on the timeframe for each software package file and usable by the client device to download the version of the software package.

12. The non-transitory computer-readable medium of claim 11 , wherein the version control system repository is downloaded by the client device.

13. The non-transitory computer-readable medium of claim 11 , wherein the request is a first request, and further comprising instructions executable by the processing device for causing the processing device to perform operations comprising:

receiving, from the client device, a second request for the version of the software package associated with the software build at the particular time; and

providing, for the client device, at least one modification log of the plurality of modification logs associated with the particular time and with the software package, the at least one modification log usable by the client device to produce the version of the software package.

14. The non-transitory computer-readable medium of claim 11 , further comprising instructions executable by the processing device for causing the processing device to perform operations comprising:

generating, based on the at least one modification log, the software build having characteristics of the metadata at the particular time; and

providing, for use by the client device, the software build.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2023
From: CHIBON, PIERRE-YVES; GRIFFIN, LEIGH
To: RED HAT, INC.
Reel/Frame 062791/0688 →
Continuity (1)
Related Publication 20240289123A1 · Aug 29, 2024
References Cited (35)
US 8347263B1 · Offer · 2013 [cited by applicant]
US 8630981B1 · Chirhart · 2014 [cited by examiner]
US 8863114B2 · Shah · 2014 [cited by examiner]
US 9116899B2 · Cullen · 2015 [cited by examiner]
US 9448780B1 · Hall · 2016 [cited by examiner]
US 9678737B2 · Wei · 2017 [cited by examiner]
US 9753929B2 · Clemm · 2017 [cited by examiner]
US 10528537B2 · McHugh · 2020 [cited by examiner]
US 10545737B2 · Puszkiewicz et al. · 2020 [cited by applicant]
US 11106626B2 · Cullen · 2021 [cited by examiner]
US 11144438B1 · Teixeira · 2021 [cited by examiner]
US 11301217B1 · Gezen · 2022 [cited by examiner]
US 11586436B1 · Jennings · 2023 [cited by examiner]
US 12032953B2 · Rathinagiri · 2024 [cited by examiner]
US 12067392B2 · Starr · 2024 [cited by examiner]
US 12124406B2 · Singh · 2024 [cited by examiner]
US 20130174124A1 · Watters · 2013 [cited by examiner]
US 20150100945A1 · Nadar · 2015 [cited by examiner]
US 20150363195A1 · Schlueter · 2015 [cited by examiner]
US 20160259795A1 · Brandys · 2016 [cited by examiner]
US 20170262268A1 · Godowski · 2017 [cited by examiner]
US 20180060065A1 · Lai · 2018 [cited by examiner]
US 20180260206A1 · Pandey · 2018 [cited by examiner]
US 20190286438A1 · Bregman · 2019 [cited by examiner]
US 20190303138A1 · Szulman · 2019 [cited by examiner]
US 20210149682A1 · Muthu · 2021 [cited by examiner]
US 20230185559A1 · Landman · 2023 [cited by examiner]
US 20240037236A1 · Duprez · 2024 [cited by examiner]
US 20240045786A1 · Bell · 2024 [cited by examiner]
US 20240289123A1 · Chibon · 2024 [cited by examiner]
RTEMS User Manual, https://docs.rtems.org/releases/rtems-5.1/user.pdf, Aug. 26, 2020; pp. 1-343. [cited by applicant]
“Repositories and Sources,” https://docs.rstudio.com/rspm/1.2.0/admin/repositories/, 2022; 1-18. [cited by applicant]
“Git-Build-Rpm,” https://github.com/iovation/git-build-rpm, 2022; pp. 1-4. [cited by applicant]
“Git Basics—Recording Changes to the Repository”, https://git-scm.com/book/id/v2/Git-Basics-Recording-Changes-to-the-Repository, 2022; pp. 4-12. [cited by applicant]
Prett, D., “Introduction to RPM Packaging”, https://documentation-suse.com/sbp/all/html/SBP-RPM-Packaging/index.html, May 29, 2017; pp. 1-33. [cited by applicant]