System and method for non-blocking state synchronization between services

US12566634B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12566634-B2
Application numberUS-202117507334-A
CountryUS
Kind codeB2
Filing dateOct 21, 2021
Priority dateOct 21, 2021
Publication dateMar 3, 2026
Grant dateMar 3, 2026

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, computer program product, and computer system for implementing a backend service for blocking free processing of physical entities events, including add, remove, update, query. Physical entities blocking delays may be delegated to maintenance tasks, which may run under a single thread with a scheduler and may merge successive pending events.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method comprising: executing, by a computing device, a management task by a backend service, wherein the management task does not block on managed object response delays of a plurality of managed objects, wherein executing the management task per managed object of the plurality of managed objects includes: processing a user command using the management task, wherein the user command includes at least one of: an add command and an update command, in response to the management task being at least one of the add command and the update command; adding an entry for an identifier associated with a managed object of the plurality of managed objects in a data structure to be stored in the system memory, if the identifier associated with the managed object of the plurality of managed objects does not exist, overriding the update command, and if the identifier associated with the managed object of the plurality of managed objects exists in the data structure stored in the system memory, unsetting a first flag in the data structure, and simultaneously receiving a second user command corresponding to the identifier associated with the managed object of the plurality of managed objects, while the update command is still in progress; and executing a maintenance task per managed object of the plurality of managed objects by the backend service, wherein the maintenance task is a background task that blocks on each respective managed object of the plurality of managed objects, wherein executing the maintenance task per managed object of the plurality of managed objects includes starting a new maintenance task corresponding to the identifier associated with the managed object of the plurality of managed objects. 2 . The computer-implemented method of claim 1 wherein all code of the backend service runs in a single thread that includes a scheduler. 3 . The computer-implemented method of claim 1 further comprising: when the management task is a remove command, one of: setting the first flag and unsetting a second flag if the identifier associated with the managed object of the plurality of managed objects exists in the data structure stored in the system memory and the first flag is unset, and triggering an event for the maintenance task corresponding to the identifier. 4 . The computer-implemented method of claim 1 further comprising: when the management task is a query command, one of: collecting information of all the plurality of managed objects, and setting a status for each respective managed object of the plurality of managed objects to active if the respective managed object is idle, and setting the status for each respective managed object of the plurality of managed objects to inactive if the respective managed object is not idle. 5 . The computer-implemented method of claim 1 further comprising at least one of: removing information from a system memory based upon, at least in part, information in the data structure stored in a system memory; tearing down a connection based upon, at least in part, the information in the data structure stored in the system memory; and bringing up a new connection based upon, at least in part, the information in the data structure stored in the system memory. 6 . A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: executing, by a computing device, a management task by a backend service, wherein the management task does not block on managed object response delays of a plurality of managed objects, wherein executing the management task per managed object of the plurality of managed objects includes: processing a user command using the management task, wherein the user command includes at least one of: an add command and an update command, and in response to the management task being at least one of the add command and the update command: adding an entry for an identifier associated with a managed object of the plurality of managed objects in a data structure to be stored in the system memory, if the identifier associated with the managed object of the plurality of managed objects does not exist, overriding the update command, and if the identifier associated with the managed object of the plurality of managed objects exists in the data structure stored in the system memory, unsetting a first flag in the data structure, and simultaneously receiving a second user command corresponding to the identifier associated with the managed object of the plurality of managed objects, while the update command is still in progress; and executing a maintenance task per managed object of the plurality of managed objects by the backend service, wherein the maintenance task is a background task that blocks on each respective managed object of the plurality of managed objects, wherein executing the maintenance task per managed object of the plurality of managed objects includes starting a new maintenance task corresponding to the identifier associated with the managed object of the plurality of managed objects. 7 . The computer program product of claim 6 wherein all code of the backend service runs in a single thread that includes a scheduler. 8 . The computer program product of claim 6 wherein the operations further comprise: when the management task is a remove command, one of: setting the first flag and unsetting a second flag if the identifier associated with the managed object of the plurality of managed objects exists in the data structure stored in the system memory and the first flag is unset, and triggering an event for the maintenance task corresponding to the identifier. 9 . The computer program product of claim 6 wherein the operations further comprise: when the management task is a query command, one of: collecting information of all the plurality of managed objects, and setting a status for each respective managed object of the plurality of managed objects to active if the respective managed object is idle, and setting the status for each respective managed object of the plurality of managed objects to inactive if the respective managed object is not idle. 10 . The computer program product of claim 6 wherein the operations further comprise at least one of: removing information from a system memory based upon, at least in part, information in the data structure stored in a system memory; tearing down a connection based upon, at least in part, the information in the data structure stored in the system memory; and bringing up a new connection based upon, at least in part, the information in the data structure stored in the system memory. 11 . A computing system including one or more processors and one or more memories configured to perform operations comprising: executing, by a computing device, a management task by a backend service, wherein the management task does not block on managed object response delays of a plurality of managed objects, wherein executing the management task per managed object of the plurality of managed objects includes: processing a user command using the management task, wherein the user command includes at least one of: an add command and an update command, and in response to the management task being at least one of the add command and the update command: adding an entry for an identifier associated with a managed object of the plurality of managed objects in a data structure to be stored in the system memor

Assignees

Inventors

Classifications

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Protocols for remote procedure calls [RPC] · CPC title

  • Directories for service discovery · CPC title

  • using domain name system [DNS] · CPC title

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · 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 US12566634B2 cover?
A method, computer program product, and computer system for implementing a backend service for blocking free processing of physical entities events, including add, remove, update, query. Physical entities blocking delays may be delegated to maintenance tasks, which may run under a single thread with a scheduler and may merge successive pending events.
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/5027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 03 2026 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).