The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Mar. 10, 2020

Filed:

Aug. 01, 2017
Applicant:

Oracle International Corporation, Redwood Shores, CA (US);

Inventors:

Martin Sevenich, Palo Alto, CA (US);

Sungpack Hong, Palo Alto, CA (US);

Alexander Weld, Mountain View, CA (US);

Hassan Chafi, San Mateo, CA (US);

Martijn Dwars, San Francisco, CA (US);

Assignee:

Oracle International Corporation, Redwood Shores, CA (US);

Attorneys:
Primary Examiner:
Int. Cl.
CPC ...
G06F 17/30 (2006.01); G06F 16/901 (2019.01); G06F 8/30 (2018.01); G06F 8/41 (2018.01); G06F 16/2453 (2019.01); G06F 8/34 (2018.01);
U.S. Cl.
CPC ...
G06F 16/9024 (2019.01); G06F 8/30 (2013.01); G06F 8/34 (2013.01); G06F 8/4441 (2013.01); G06F 16/2453 (2019.01);
Abstract

Techniques herein generate, such as during compilation, polymorphic dispatch logic (PDL) to switch between specialized implementations of a polymorphic graph algorithm. In an embodiment, a computer detects, within source logic of a graph algorithm, that the algorithm processes an instance of a generic graph type. The computer generates several alternative implementations of the algorithm. Each implementation is specialized to process the graph instance as an instance of a respective graph subtype. The computer generates PDL that performs dynamic dispatch as follows. At runtime, the PDL receives a graph instance of the generic graph type. The PDL detects which particular graph subtype is the graph instance. The PDL then invokes whichever alternative implementation that is specialized to process the graph instance as an instance of the detected particular graph subtype. In embodiments, the source logic is expressed in a domain specific language (DSL), e.g. for analysis, traversal, or querying of graphs.


Find Patent Forward Citations

Loading…