Techniques for generating unique identifiers for tracking process activity

US12339786B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12339786-B2
Application numberUS-202218081149-A
CountryUS
Kind codeB2
Filing dateDec 14, 2022
Priority dateDec 14, 2022
Publication dateJun 24, 2025
Grant dateJun 24, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes retrieving, in a kernel space of an operating system executing on a computing device, a first value from a first clock source, retrieving, in a user space of the operating system executing on the computing device, a second value from a second clock source, generating a unique process identifier (UPID) associated with a process identifier (PID) of a process executing in the operating system, wherein the UPID is based on the first value of the first clock source and the second value of the second clock source, and tracking process activity of the process executing in the operating system by utilizing the UPID.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: retrieving, in a kernel space of an operating system executing on a computing device, a first value from a first clock source; retrieving, in a user space of the operating system executing on the computing device, a second value from a second clock source, wherein the retrieving the second value of the second clock source is performed periodically; updating a seed within a seed store based on the second value of the second clock source; generating, by a processing device, a unique process identifier (UPID) associated with a process identifier (PID) of a process executing in the operating system, wherein the UPID is based on the first value of the first clock source and the second value of the second clock source; and tracking process activity of the process executing in the operating system by utilizing the UPID. 2. The method of claim 1 , further comprising: determining if the UPID is present in a least recently used (LRU) map of the operating system; and responsive to determining that the UPID is present in the LRU map: retrieving, in the kernel space of the operating system, a third value from the first clock source; and generating an additional UPID based on the third value of the first clock source and the second value of the second clock source. 3. The method of claim 1 , wherein updating the seed within the seed store based on the second value of the second clock source comprises: retrieving, in the user space of the operating system, a third value from the second clock source; and updating the seed within the seed store based on a difference between the second value and the third value from the second clock source. 4. The method of claim 1 , wherein generating the UPID comprises generating a sum of the first value of the first clock source and the seed. 5. The method of claim 1 , wherein the seed store comprises a memory structure shared between the kernel space and the user space of the operating system, and wherein the UPID is generated by an application extension executing in an extended Berkeley packet filter (eBPF) infrastructure within the operating system of the computing device. 6. The method of claim 1 , further comprising: retrieving a processing device index from the processing device; and generating the UPID further based on the processing device index. 7. A system comprising: a memory; and a processing device, operatively coupled to the memory, to: retrieve, in a kernel space of an operating system executing on a computing device, a first value from a first clock source; retrieve, in a user space of the operating system executing on the computing device, a second value from a second clock source, wherein the retrieval of the second value of the second clock source is performed periodically; update a seed within a seed store based on the second value of the second clock source; generate a unique process identifier (UPID) associated with a process identifier (PID) of a process executing in the operating system, wherein the UPID is based on the first value of the first clock source and the second value of the second clock source; and track process activity of the process executing in the operating system by utilizing the UPID. 8. The system of claim 7 , wherein the processing device is further to: determine if the UPID is present in a least recently used (LRU) map of the operating system; and responsive to determining that the UPID is present in the LRU map: retrieve, in the kernel space of the operating system, a third value from the first clock source; and generate an additional UPID based on the third value of the first clock source and the second value of the second clock source. 9. The system of claim 7 , wherein to update the seed within the seed store based on the second value of the second clock source the processing device is to: retrieve, in the user space of the operating system, a third value from the second clock source; and update the seed within the seed store based on a difference between the second value and the third value from the second clock source. 10. The system of claim 7 , wherein to generate the UPID the processing device is to generate a sum of the first value of the first clock source and the seed. 11. The system of claim 7 , wherein the seed store comprises a memory structure shared between the kernel space and the user space of the operating system, and wherein the UPID is generated by an application extension executing in an extended Berkeley packet filter (eBPF) infrastructure within the operating system of the computing device. 12. The system of claim 8 , wherein the processing device is further to: retrieve a processing device index from the processing device; and generate the UPID further based on the processing device index. 13. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to: retrieve, in a kernel space of an operating system executing on a computing device, a first value from a first clock source; retrieve, in a user space of the operating system executing on the computing device, a second value from a second clock source, wherein the retrieval of the second value of the second clock source is performed periodically; update a seed within a seed store based on the second value of the second clock source; generate a unique process identifier (UPID) associated with a process identifier (PID) of a process executing in the operating system, wherein the UPID is based on the first value of the first clock source and the second value of the second clock source; and track process activity of the process executing in the operating system by utilizing the UPID. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further cause the processing device to: determine if the UPID is present in a least recently used (LRU) map of the operating system; and responsive to determining that the UPID is present in the LRU map: retrieve, in the kernel space of the operating system, a third value from the first clock source; and generate an additional UPID based on the third value of the first clock source and the second value of the second clock source. 15. The non-transitory computer-readable storage medium of claim 13 , wherein to update the seed within the seed store based on the second value of the second clock source the processing device is to: retrieve, in the user space of the operating system, a third value from the second clock source; and update the seed within the seed store based on a difference between the second value and the third value from the second clock source. 16. The non-transitory computer-readable storage medium of claim 13 , wherein to generate the UPID the processing device is to generate a sum of the first value of the first clock source and the seed. 17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further cause the processing device to: retrieve a processing device index from the processing device; and generate the UPID further based on the processing device index.

Assignees

Inventors

Classifications

  • Buffers; Shared memory; Pipes · CPC title

  • G06F1/14Primary

    Time supervision arrangements, e.g. real time clock · CPC title

  • Correctness of operation, e.g. memory ordering · CPC title

  • in a hierarchical protection system, e.g. privilege levels, memory rings · CPC title

  • Performance evaluation by tracing or monitoring · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12339786B2 cover?
A method includes retrieving, in a kernel space of an operating system executing on a computing device, a first value from a first clock source, retrieving, in a user space of the operating system executing on the computing device, a second value from a second clock source, generating a unique process identifier (UPID) associated with a process identifier (PID) of a process executing in the ope…
Who is the assignee on this patent?
Crowdstrike Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 24 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).