Parallel edge scan for single-source earliest-arrival in temporal graphs

US10360263B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10360263-B2
Application numberUS-201715658674-A
CountryUS
Kind codeB2
Filing dateJul 25, 2017
Priority dateJul 25, 2017
Publication dateJul 23, 2019
Grant dateJul 23, 2019

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.

Methods, systems, and computer-readable storage media for receiving data representative of the temporal graph, the data representing vertices, edges between vertices, and temporal features, determining a set of earliest-arrival dependencies, each earliest arrival dependency including an earliest feasible edge between vertices from a list of edges of the temporal graph, providing data representative of an edge-scan-dependency graph (ESD-graph) based on the data representative of the temporal graph, and the set of earliest-arrival dependencies, the ESD-graph including vertices representing edges of the temporal graph, and edges representing earliest-arrival dependencies between vertices, providing data representative of a level-assigned ESD-graph including a level assigned to each vertex of the ESD-graph, and determining earliest-arrival times between a source vertex, and each vertex of the temporal graph by executing a parallel edge scan of the level-assigned ESD-graph.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for determining earliest-arrival times in a temporal graph, the method being executed by one or more processors and comprising: receiving, by the one or more processors, data representative of the temporal graph, the data representing vertices, edges between vertices, and temporal features; determining, by the one or more processors, a set of earliest-arrival dependencies, each earliest-arrival dependency comprising an earliest feasible edge between vertices from a list of edges of the temporal graph; providing, by the one or more processors, data representative of an edge-scan-dependency graph (ESD-graph) based on the data representative of the temporal graph, and the set of earliest-arrival dependencies, the ESD-graph comprising vertices representing edges of the temporal graph, and edges representing earliest-arrival dependencies between vertices; providing, by the one or more processors, data representative of a level-assigned ESD-graph comprising a property level assigned to each vertex of the ESD-graph; and determining, by the one or more processors, for a particular departure time, the earliest-arrival times between a source vertex, and each vertex of the temporal graph by executing a parallel edge scan of the level-assigned ESD-graph such that all edges of a respective property level are scanned in parallel. 2. The method of claim 1 , wherein executing the parallel edge scan comprises, for each level, perform an atomic scan operation for each edge in parallel. 3. The method of claim 2 , wherein the atomic scan operation comprises updating a tentative earliest arrival time of a destination vertex an edge if a starting time associated with the edge exceeds the tentative earliest arrival time of an origin vertex of the edge, and an ending time associated with the edge is greater than the tentative earliest arrival time of the destination vertex. 4. The method of claim 3 , wherein updating is performed by compare-and-swap (CAS). 5. The method of claim 1 , further comprising storing all temporal edges of the ESD-graph in memory using a single array. 6. The method of claim 1 , further comprising storing sets of temporal edges in respective arrays, at least one array comprising edges from multiple level, and are ordered based on level within the at least one array. 7. The method of claim 6 , wherein a number of arrays is equal to a number of threads that execute the parallel edge scan. 8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for parallel edge scan for determining earliest-arrival times in a temporal graph, the operations comprising: receiving data representative of the temporal graph, the data representing vertices, edges between vertices, and temporal features; determining a set of earliest-arrival dependencies, each earliest arrival dependency comprising an earliest feasible edge between vertices from a list of edges of the temporal graph; providing data representative of an edge-scan-dependency graph (ESD-graph) based on the data representative of the temporal graph, and the set of earliest-arrival dependencies, the ESD-graph comprising vertices representing edges of the temporal graph, and edges representing earliest-arrival dependencies between vertices; providing data representative of a level-assigned ESD-graph comprising a property level assigned to each vertex of the ESD-graph; and determining, for a particular departure time, the earliest-arrival times between a source vertex, and each vertex of the temporal graph by executing a parallel edge scan of the level-assigned ESD-graph such that all edges of a respective property level are scanned in parallel. 9. The non-transitory computer-readable storage medium of claim 8 , wherein executing the parallel edge scan comprises, for each level, perform an atomic scan operation for each edge in parallel. 10. The non-transitory computer-readable storage medium of claim 9 , wherein the atomic scan operation comprises updating a tentative earliest arrival time of a destination vertex an edge if a starting time associated with the edge exceeds the tentative earliest arrival time of an origin vertex of the edge, and an ending time associated with the edge is greater than the tentative earliest arrival time of the destination vertex. 11. The non-transitory computer-readable storage medium of claim 10 , wherein updating is performed by compare-and-swap (CAS). 12. The non-transitory computer-readable storage medium of claim 8 , wherein operations further comprise storing all temporal edges of the ESD-graph in memory using a single array. 13. The non-transitory computer-readable storage medium of claim 8 , wherein operations further comprise storing sets of temporal edges in respective arrays, at least one array comprising edges from multiple level, and are ordered based on level within the at least one array. 14. The non-transitory computer-readable storage medium of claim 13 , wherein a number of arrays is equal to a number of threads that execute the parallel edge scan. 15. A system, comprising: a computing device; and a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for parallel edge scan for determining earliest-arrival times in a temporal graph, the operations comprising: receiving data representative of the temporal graph, the data representing vertices, edges between vertices, and temporal features; determining a set of earliest-arrival dependencies, each earliest arrival dependency comprising an earliest feasible edge between vertices from a list of edges of the temporal graph; providing data representative of an edge-scan-dependency graph (ESD-graph) based on the data representative of the temporal graph, and the set of earliest-arrival dependencies, the ESD-graph comprising vertices representing edges of the temporal graph, and edges representing earliest-arrival dependencies between vertices; providing data representative of a level-assigned ESD-graph comprising a property level assigned to each vertex of the ESD-graph; and determining, for a particular departure time, the earliest-arrival times between a source vertex, and each vertex of the temporal graph by executing a parallel edge scan of the level-assigned ESD-graph such that all edges of a respective property level are scanned in parallel. 16. The system of claim 15 , wherein executing the parallel edge scan comprises, for each level, perform an atomic scan operation for each edge in parallel. 17. The system of claim 16 , wherein the atomic scan operation comprises updating a tentative earliest arrival time of a destination vertex an edge if a starting time associated with the edge exceeds the tentative earliest arrival time of an origin vertex of the edge, and an ending time associated with the edge is greater than the tentative earliest arrival time of the destination vertex. 18. The system of claim 17 , wherein updating is performed by compare-and-swap (CAS). 19. The system of claim 15 , wherein operations further comprise storing all temporal edges of the ESD-graph in memory using a single array. 20. The system of claim 15 , wherein operations further comprise storing sets of temporal edges in respecti

Assignees

Inventors

Classifications

  • Parallel file systems, i.e. file systems supporting multiple processors · CPC title

  • using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013) · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

  • Temporal data queries · CPC title

  • with details for data modelling support · 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 US10360263B2 cover?
Methods, systems, and computer-readable storage media for receiving data representative of the temporal graph, the data representing vertices, edges between vertices, and temporal features, determining a set of earliest-arrival dependencies, each earliest arrival dependency including an earliest feasible edge between vertices from a list of edges of the temporal graph, providing data representa…
Who is the assignee on this patent?
Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F11/3608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 23 2019 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).