US 12,086,139 B2
In-memory graph query engine with persisted storage
Manish Sharma, Gurugram (IN); Oliver Drew Leonard Towers, Seattle, WA (US); Jayanta Mondal, Seattle, WA (US); Siddhesh Dilip Vethe, Redmond, WA (US); and John Robert Pao, Bozeman, MT (US)
Assigned to Microsoft Technology Licensing, LLC., Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jul. 25, 2022, as Appl. No. 17/814,774.
Prior Publication US 2024/0028593 A1, Jan. 25, 2024
Int. Cl. G06F 16/2455 (2019.01); G06F 16/22 (2019.01); G06F 16/25 (2019.01)
CPC G06F 16/2455 (2019.01) [G06F 16/2264 (2019.01); G06F 16/258 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
receiving, at a first in-memory graph query engine, an electronic request;
processing, by the first in-memory graph query engine, the received electronic request, wherein processing the electronic request includes updating in-memory data stored in the first in-memory graph query engine;
converting, by the first in-memory graph query engine, the updated in-memory data to a document format;
outputting, by the first in-memory graph query engine, the converted in-memory data in the document format to a persistent storage;
causing the persistent storage to:
update persistent storage data at the persistent storage with the converted in-memory data in the document format;
update, by the persistent storage, a change feed based on the updated persistent storage data, wherein the change feed is a record of changes made to the persistent storage data;
output the updated change feed to a second in-memory graph query engine; and
causing a second in-memory graph query engine to, in response to receiving, from the persistent storage, the change feed, updating in-memory data stored in the second in-memory graph query engine based on the record of changes in the change feed, such that the in-memory data stored in the second in-memory graph query engine is the same as the in-memory data stored in the first in-memory graph query engine.