Enterprise graph search based on object and actor relationships

US9542440B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9542440-B2
Application numberUS-201314070734-A
CountryUS
Kind codeB2
Filing dateNov 4, 2013
Priority dateNov 4, 2013
Publication dateJan 10, 2017
Grant dateJan 10, 2017

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.

Systems, methods, and software are disclosed herein for implementing enterprise graph search. In at least one implementation, an enterprise search service receives a search request that includes a graph query directed to an enterprise graph. The graph is representative of various objects and actors associated with an enterprise, as well as which of the actors performed which of various actions with respect to each of the various objects. The service searches at least a portion of the enterprise graph to identify a subset of the objects that relate to the actors as defined by the graph query in terms of at least the actors and actions. A reply to the search request may include graph results indicative of the subset of the objects.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, implemented by a computing system, for performing enterprise search comprising: receiving a search request comprising a graph query directed to an enterprise graph representative of a plurality of objects associated with an enterprise and a plurality of actors associated with the enterprise and further representative of which of the plurality of actors performed which of a plurality of actions with respect to each of the plurality of objects; searching at least a portion of the enterprise graph to identify a subset of the plurality of objects that relate to the plurality of actors as defined by the graph query in terms of at least the plurality of actors and the plurality of actions; receiving graph results indicative of the subset of the plurality of objects that relate to the plurality of actors as defined by the graph query; searching at least a portion of the full-text database to identify an additional subset of the plurality of objects based at least in part on the full-text query; receiving full-text results indicative of the additional subset of the plurality of objects; and merging the graph results and the full-text results to produce search results. 2. The method of claim 1 wherein the plurality of objects comprise documents and emails and wherein the plurality of actions comprise composing, reading, modifying, sending, receiving, and forwarding, and wherein the graph query comprises a graph query expression that defines the subset of the plurality of objects as any of the plurality of objects acted upon by at least one actor of the plurality of actors in accordance with at least one action of the plurality of actions. 3. The method of claim 2 wherein the enterprise graph comprises a first plurality of nodes corresponding to the plurality of objects, a second plurality of nodes corresponding to the plurality of actors, and a plurality of edges corresponding to the plurality of actions, wherein each the plurality of edges connects at least one of the plurality of objects to at least one of the plurality of actors. 4. The method of claim 3 wherein the graph query expression specifies at least the one actor and at least the one action, and wherein searching at least the portion of the enterprise graph to identify the subset of the plurality of objects that relate to the plurality of actors as defined by the graph query comprises determining which subset of the first plurality of nodes are connected to any of the second plurality of nodes corresponding to at least the one actor by any of the plurality of edges corresponding to at least the one action. 5. The method of claim 4 further comprising capturing a plurality of events occurring in the enterprise, deriving event information from the plurality of events representative of the plurality of objects, the plurality of actors, and the plurality of actions, and generating the enterprise graph based at least in part on the event information. 6. The method of claim 2 wherein the search request further comprises a full-text query directed to a full-text database comprising at least a portion of the plurality of objects and wherein the method further comprises: replying to the search request with at least a portion of the graph results and at least a portion of the full-text results. 7. The method of claim 6 wherein the search request comprises a natural language query and wherein the method further comprises deriving the graph query from at least a portion of the natural language query and deriving the full-text query from another portion of the natural language query. 8. An apparatus comprising: a processing system; and one or more computer readable storage media including program instructions stored on the one or more computer readable media that, when executed by the processing system, direct the processing system to at least: generate an enterprise graph representative of a plurality of objects associated with an enterprise and a plurality of actors associated with the enterprise and further representative of which of the plurality of actors performed which of a plurality of actions with respect to each of the plurality of objects; search at least a portion of the enterprise graph to identify a subset of the plurality of objects that relate to the plurality of actors as defined by a graph query expression in a graph query in terms of at least the plurality of actors and the plurality of actions; generate graph results indicative of the subset of the plurality of objects that relate to the plurality of actors as defined by the graph query expression; search at least a portion of a full-text database to identify an additional subset of the plurality of objects based at least in part on the full-text query; and generate full-text results indicative of the additional subset of the plurality of objects; and merge the graph results and the full-text results to produce search results. 9. The apparatus of claim 8 further comprising the processing system configured to execute the program instructions, wherein the program instructions further direct the processing system to receive a search request comprising the graph query and reply to the graph query with the graph results. 10. The apparatus of claim 9 wherein the plurality of objects comprise documents and emails and wherein the plurality of actions comprise composing, reading, modifying, sending receiving, and forwarding, and wherein the graph query expression defines the subset of the plurality of objects as any of the plurality of objects acted upon by at least one actor of the plurality of actors in accordance with at least one action of the plurality of actions. 11. The apparatus of claim 10 wherein the enterprise graph comprises a first plurality of nodes corresponding to the plurality of objects, a second plurality of nodes corresponding to the plurality of actors, and a plurality of edges corresponding to the plurality of actions, wherein each the plurality of edges connects at least one of the plurality of objects to at least one of the plurality of actors. 12. The apparatus of claim 11 wherein the graph query expression specifies at least the one actor and at least the one action, and wherein: to search at least the portion of the enterprise graph to identify the subset of the plurality of objects that relate to the plurality of actors as defined by the graph query expression, the program instructions direct the processing system to determine which subset of the first plurality of nodes are connected to any of the second plurality of nodes corresponding to at least the one actor by any of the plurality of edges corresponding to at least the one action. 13. The apparatus of claim 12 wherein the program instructions further direct the processing system to capture a plurality of events occurring in the enterprise, derive event information from the plurality of events representative of the plurality of objects, the plurality of actors, and the plurality of actions, and generate the enterprise graph based at least in part on the event information. 14. The apparatus of claim 10 wherein the search request further comprises a full-text query directed to a full-text database comprising at least a portion of the plurality of objects and wherein the program instructions further direct the processing system to: reply to the search request with at least a portion of the graph results and at least a portion of the full-text results. 15. The apparatus of claim 14 wherein the program instructions further direct the processing system to receive a natural language query

Assignees

Inventors

Classifications

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 US9542440B2 cover?
Systems, methods, and software are disclosed herein for implementing enterprise graph search. In at least one implementation, an enterprise search service receives a search request that includes a graph query directed to an enterprise graph. The graph is representative of various objects and actors associated with an enterprise, as well as which of the actors performed which of various actions …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F17/30424. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 2017 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).