IP Library Granted Patent US 11,550,943
Granted Patent B2
US 11,550,943 · App. 17/178,228 · Granted Jan 10, 2023

Monitoring code provenance

Inventors: Prakash Linga (San Jose, CA); Ajay K. Arora (Redwood City, CA); Vladimir Buzuev (Castro Valley, CA)
Assignee: BluBracket, Inc.
G06F21/6218G06F8/70G06F8/71G06F21/31G06F21/54G06F21/554G06F21/563G06F21/604G06F21/62G06F21/629G06F21/6227G06F21/6281G06F21/64H04L63/102G06F2221/2141
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 11,550,943
App. No.
17/178,228
Granted
Jan 10, 2023
Kind
B2
Abstract

One example method of operation may include determining one or more of a file type and a code segment accessed during a code access event, identifying code origin information appended to the code segment during previous code access events, appending an updated code access location to the code segment identifying the current code access event and a current code location, and applying one or more code access restrictions to the code segment based on the current code location.

Claims (50)

1. A method comprising:

determining a code segment is being accessed during a code access event associated with a user profile, wherein the code segment comprises blocks of code therewithin;

identifying code origin information appended to the code segment during one or more previous code access events;

appending an updated code access location to the code segment identifying the current code access event and a current code location;

determining whether the current code location corresponds to one or more blocks of code with one or more code access restrictions that apply to the user profile; and

applying, based on the user profile, the one or more code access restrictions to the one or more blocks of code but not all of the blocks of code within the code segment.

2. The method of claim 1 , wherein the user profile comprises one or more of a device profile and a network address.

3. The method of claim 1 , comprising

identifying a previous code location from metadata;

updating code storage repository information based on the current code location; and

determining whether the current code location is associated with code access privileges which match the previous code location.

4. The method of claim 3 , comprising

applying one or more rules to the current code location based on rules associated with the previous code location.

5. The method of claim 1 , comprising

performing a string comparison of the code segment to one or more other code segments, and wherein the one or more other code segments are additional copies of the code segment.

6. The method of claim 1 , comprising

detecting a plurality of code segment copies which correspond to a plurality of code segment access events associated with the code segment.

7. The method of claim 1 , comprising

hashing the code segment; and

storing the hash key in a file associated with the code segment.

8. An apparatus comprising:

a hardware processor configured to:

determine a code segment is being accessed during a code access event associated with a user profile, wherein the code segment comprises blocks of code therewithin;

identify code origin information appended to the code segment during previous code access events;

append an updated code access location to the code segment identifying the current code access event and a current code location;

determine whether the current code location corresponds to one or more blocks of code with one or more code access restrictions that apply to the user profile; and

apply, based on the user profile, the one or more code access restrictions to the one or more blocks of code but not all of the blocks of code within the code segment.

9. The apparatus of claim 8 , wherein the user profile comprises one or more of a device profile and a network address.

10. The apparatus of claim 8 , wherein the hardware processor is further configured to identify a previous code location from metadata; update code storage repository information based on the current code location; and determine whether the current code location is associated with code access privileges which match the previous code location.

11. The apparatus of claim 10 , wherein the hardware processor is further configured to apply one or more rules to the current code location based on rules associated with the previous code location.

12. The apparatus of claim 8 , wherein the hardware processor is further configured to perform a string comparison of the code segment to one or more other code segments, and wherein the one or more other code segments are additional copies of the code segment.

13. The apparatus of claim 8 , wherein the hardware processor is further configured to detect a plurality of code segment copies which correspond to a plurality of code segment access events associated with the code segment.

14. The apparatus of claim 8 , wherein the hardware processor is further configured to hash the code segment; and store the hash key in a file associated with the code segment.

15. A non-transitory computer readable storage medium storing instructions that when executed cause a processor to perform:

determining a code segment is being accessed during a code access event associated with a user profile, the code segment comprising blocks of code therewithin;

identifying code origin information appended to the code segment during one or more previous code access events;

appending an updated code access location to the code segment identifying the current code access event and a current code location;

determining whether the current code location corresponds to one or more blocks of code with one or more code access restrictions that apply to the user profile; and

applying, based on the user profile, the one or more code access restrictions to the one or more blocks of code but not all of the blocks of code within the code segment.

16. The non-transitory computer readable storage medium of claim 15 , wherein the user profile comprises one or more of a device profile and a network address.

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

identifying a previous code location from metadata;

updating code storage repository information based on the current code location; and

determining whether the current code location is associated with code access privileges which match the previous code location.

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

applying one or more rules to the current code location based on rules associated with the previous code location.

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

performing a string comparison of the code segment to one or more other code segments, and wherein the one or more other code segments are additional copies of the code segment.

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

detecting a plurality of code segment copies which correspond to a plurality of code segment access events associated with the code segment.

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 Feb 17, 2021
From: LINGA, PRAKASH; ARORA, AJAY; BUZUEV, VLADIMIR
To: BLUBRACKET, INC.
Reel/Frame 055327/0281 →
Continuity (7)
Provisional Application 62978238 · Feb 18, 2020
Provisional Application 62978250 · Feb 18, 2020
Provisional Application 62978245 · Feb 18, 2020
Provisional Application 62978242 · Feb 18, 2020
Provisional Application 62978248 · Feb 18, 2020
Provisional Application 62978240 · Feb 18, 2020
Related Publication 20210256142A1 · Aug 19, 2021