Graph processing service component in a catalog service platform
US-10089676-B1 · Oct 2, 2018 · US
US10922740B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10922740-B2 |
| Application number | US-201816148956-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 1, 2018 |
| Priority date | Nov 11, 2014 |
| Publication date | Feb 16, 2021 |
| Grant date | Feb 16, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A service provider system may implement an enterprise catalog service that manages software products and portfolios of software products on behalf of service provider customer organizations. A graph processing service of the enterprise catalog service may create a graph representation of the enterprise catalog service data, including principals, product listings, portfolios, and constraints (and the relationships between them) that may be used to manage access control, launch contexts, and searches within the enterprise catalog service. A primary (key-value) store may maintain an adjacency list and a secondary index of de-normalized edges. A secondary (document) store may maintain the de-normalized edges. In response to various queries directed to the graph processing service, the service may query the adjacency list or the secondary index. For example, one query may return a list of products that an end user can access, and another may return a count of products within a portfolio.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a plurality of computing nodes that provide services to a customer of a service provider, each of the computing nodes comprising at least one processor and a memory, wherein one or more of the plurality of computing nodes implement an enterprise catalog service; a data store that stores a collection of data describing principals, portfolios, and listings, as well as corresponding relationships and constraints within a context of the enterprise catalog service, wherein a principal is a user, role, or root account; and a graph representation data store, distinct from the data store, that stores a graph representation that comprises an adjacency list in which each of a plurality of vertexes represents a respective principal, respective group of principals, respective portfolio, or respective listing and in which each of a plurality of edges represents a relationship between two vertices; and wherein the enterprise catalog service is configured to: receive, on behalf of another component of the enterprise catalog service, a request for information that is directed to the collection of data; access the adjacency list of the graph representation or a search index to obtain the requested information; and provide, to the other component of the enterprise catalog service, the requested information. 2. The system of claim 1 , wherein the request for information comprises a request for an indication on whether or not a given principal is allowed to access a specified product listing. 3. The system of claim 1 , wherein the request for information comprises a request for all constraints that are applicable when launching a specified product listing on behalf of a given principal for one or more paths from the given principal to the specified product listing. 4. The system of claim 1 , wherein the request for information comprises a request to query the collection of data for information using search criteria specified in the request. 5. The system of claim 1 , wherein: the data store stores a definitive view of the collection of data; a communication feed is received from the data store in response to an administrative change made in the definitive view of the collection of data; and the change comprises: creation of a new product listing, portfolio, or constraint; addition or removal of a product listing, principal, or constraint to a portfolio; addition or removal of permission to access a product by a principal; application of a constraint to a product listing; share of a portfolio, product listing, or constraint with another entity; or import of a portfolio, product listing, or constraint from another entity. 6. The system of claim 1 , wherein: the data store stores a definitive view of the collection of data; and the enterprise catalog service is further configured to: receive, from the data store that stores the view of the collection of data, a communication feed indicating an update to the definitive view of the collection of data; modify, in response to receipt of the communication feed, the graph representation of the collection of data; and send, to a downstream component of the enterprise catalog service, in response to the modification of the graph representation of the collection of data, a communication feed that indicates that the graph representation of the collection of data has been modified. 7. The system of claim 1 , wherein: the request for information comprises a search request for a list of identifiers for portfolios that meet specified filter criteria; said access the adjacency list of the graph representation or a search index to obtain the requested information comprises query the search index to identify portfolios that match the specified filter criteria; and said provide the requested information comprises return a list of identifiers for the identified portfolios. 8. A method, comprising: performing, by one or more computers that implement a graph processing service of an enterprise catalog service on behalf of a service provider: maintaining, in a graph representation data store, a graph representation of a collection of data stored in a data store distinct from the graph representation data store, the collection of data describing principals, portfolios, and listings, as well as corresponding relationships and constraints within a context of the enterprise catalog service, wherein a principal is a user, role, or root account, and wherein the graph representation comprises an adjacency list in which each of a plurality of vertexes represents a respective principal, respective group of principals, respective portfolio, or respective listing and in which each of a plurality of edges represents a relationship between two vertices; receiving, on behalf of another component of the enterprise catalog service, a request for information from the collection of data; accessing the graph representation of the collection of data to obtain the requested information; and providing, to the another component of the enterprise catalog service, the requested information. 9. The method of claim 8 , wherein an edge between a vertex representing a given principal and a vertex representing a given portfolio indicates that the given principal owns or has access to the given portfolio. 10. The method of claim 8 , wherein an edge between a vertex representing a given principal and a vertex representing a given listing indicates that the given principal owns or has access to the given listing. 11. The method of claim 8 , wherein an edge between a vertex representing a given portfolio and a vertex representing a given listing indicates that the given portfolio contains the given listing. 12. The method of claim 8 , wherein: the request for information comprises a request for a count of the listings included in a specified portfolio; said accessing the graph representation of the collection of data to obtain the requested information comprises performing a lookup operation on a vertex row in the graph representation that represents the portfolio to count edges in the vertex row, each of which represents a listing contained in the portfolio; and said returning the requested information comprises returning the count. 13. The method of claim 8 , wherein: the request for information comprises a request for a list of portfolios in which a specified listing is contained or a count of the portfolios in which the specified listing is contained; said accessing the graph representation of the collection of data to obtain the requested information comprises performing a lookup operation on each vertex row in the graph representation for a vertex that represents a portfolio to determine whether it includes an edge between the vertex and a vertex representing the specified listing; and said returning the requested information comprises returning a count of a number of vertex rows in which an edge between the corresponding portfolio and a vertex representing the specified listing was found or a respective identifier of each portfolio for which an edge between a vertex representing the portfolio and a vertex representing the specified listing was found. 14. The method of claim 8 , wherein: the request for information comprises a request for an indication of whether a given principal is authorized to access a specified listing or to obtain constraints to be applied when the specified listing is launched by the given principal; said accessing the graph representation of the collection of data to obtain the requested information comprises traversing the graph represen
Managing shopping lists, e.g. compiling or processing purchase lists (shipping orders G06Q10/083; order filling G06Q10/087) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.