Graph database for services planning and configuration in network services domain

US9705815B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9705815-B2
Application numberUS-201414318541-A
CountryUS
Kind codeB2
Filing dateJun 27, 2014
Priority dateJun 27, 2014
Publication dateJul 11, 2017
Grant dateJul 11, 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.

In general, techniques are described for representing services, network resources, and relationships between such services and resources in a graph database with which to validate, provision, and manage the services in near real-time. In one example, a controller device includes at least one processor; and at least one memory to store a graph database comprising a graph that represents network resources and relationships between network resources. The controller device receives, at an application programming interface, a data-interchange formatted message that indicates a service request to configure a network service; queries, at least a portion of the plurality of the graph, to determine whether a set of the plurality of network resources can satisfy the service request to provision the network service within the network; and configures the set of the plurality of network resources to provide the network service.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing a graph database comprising a plurality of vertexes, the plurality of vertexes including a first subset of vertexes representing a plurality of network resources and a second subset of vertexes representing a plurality of network services, and the graph database comprising a plurality of edges between a set of the plurality of vertexes, each respective edge indicating a relationship between at least one network resource of the plurality of network resources and at least one network service of the plurality of network services; receiving, at an application programming interface of a software defined network (SDN) controller, a data-interchange formatted message that indicates a service request to configure a network service within a network; querying, at least a portion of the plurality of vertexes and plurality of edges of the graph database based at least in part on the service request, to determine whether at least one network resource of the plurality of network resources and at least one network service of the plurality of network services can satisfy the service request to provision the network service within the network; and responsive to determining that the at least one network resource and the at least one network service can satisfy the service request, configuring, by the SDN controller, the at least one network resource and the at least one network service to provide the network service within the network. 2. The method of claim 1 , wherein querying the graph database comprises: determining a service abstraction included in the data-interchange formatted message, wherein the service abstraction includes a plurality of parameters that define the service request; translating, based at least in part on the parameters, the service request into a query usable to determine whether the at least one network resource and the at least one network service satisfies the service request; and determining, based at least in part on the query, that the at least one network resource and the at least one network service satisfies the service request. 3. The method of claim 2 , wherein determining that the at least one network resource and the at least one network service satisfies the service request comprises: determining for a respective edge of the plurality of edges, a type of respective relationship between the at least one network resource and the at least one network service that respectively correspond to first and second vertexes of the respective edge; and responsive to determining that the type of relationship satisfies the query, selecting the at least one network resource and the at least one network service to provide the network service within the network. 4. The method of claim 1 , wherein configuring the at least one network resource and the at least one network service to provide the network service within the network comprises: generating, based at least in part on the at least one network resource and the at least one network service that satisfy the service request, one or more data models that define one or more configurations of one or more service nodes to provide the network service; and configuring, based at least in part on the one or more data models, the one or more service nodes to provide the network service. 5. The method of claim 1 , further comprising: updating, based at least in part on configuring the at least one network resource and the at least one network service to provide the network service within the network, at least one edge or at least one vertex in the graph database that corresponds to at least one network resource or network service that satisfy the service request. 6. The method of claim 1 , wherein querying at least a portion of the plurality of vertexes and plurality of edges of the graph database based at least in part on the service request comprises: applying at least one tag to at least one vertex or one edge of the graph database; simulating, using the at least one tag, the configuring of the at least one network resource and the at least one network service to provide the network service within the network; and determining, based on the simulating, whether the at least one network resource and the at least one network service can satisfy the service request. 7. The method of claim 1 , further comprising: determining, based at least in part on a schema, whether the format of the data-interchange formatted message is valid; and if the format of the data-interchange formatted message is valid, querying, at least the portion of the plurality of vertexes and plurality of edges of the graph database based at least in part on the service request, and if the format of the data-interchange formatted message is not valid, sending an error message to a sender of the data-interchange formatted message. 8. The method of claim 1 , further comprising: determining a network event has occurred that indicates at least one change to the network; and updating, in real-time and based at least in part on the network event, at least one edge or at least one vertex in the graph database that corresponds to at least one of the network resource or network service that is affected by the network event. 9. The method of claim 1 , wherein the data-interchange formatted message is a JavaScript Object Notation (JSON) message and the interface is a Representational State Transfer (REST) interface. 10. The method of claim 1 , wherein the graph database includes at least one sub-graph that corresponds to the network service for a particular customer, the sub-graph comprising the set of the plurality of vertexes and the plurality of edges, wherein the plurality of edges collectively indicate relationships between network resources to provision the network service for the particular customer of the network. 11. A non-transitory computer-readable medium comprising instructions that cause at least one processor of a controller device to: store a graph database comprising a plurality of vertexes, the plurality of vertexes including a first subset of vertexes representing a plurality of network resources and a second subset of vertexes representing a plurality of network services, and the graph database comprising a plurality of edges between a set of the plurality of vertexes, each respective edge indicating a relationship between at least one network resource of the plurality of network resources and at least one network service of the plurality of network services; receive, at an application programming interface of the controller device, a data-interchange formatted message that indicates a service request to configure a network service within a network; query, at least a portion of the plurality of vertexes and plurality of edges of the graph database based at least in part on the service request, to determine whether at least one network resource of the plurality of network resources and at least one network service of the plurality of network services can satisfy the service request to provision the network service within the network; and responsive to determining that the at least one network resource and the at least one network service can satisfy the service request, configure the at least one network resource and the at least one network service to provide the network service within the network. 12. A controller device comprising: at least one processor; at least one memory to store a graph database comprising a plurality of vertexes, the plurality of vertexes including a first subset of vertexes representing a plurality of network resources and a second subset of vertexes r

Assignees

Inventors

Classifications

  • H04L47/70Primary

    Admission control; Resource allocation · CPC title

  • Physics · mapped topic

  • involving simulating, designing, planning or modelling of a network · CPC title

  • Service on demand, e.g. definition and deployment of services in real time · CPC title

  • based on usage prediction · 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 US9705815B2 cover?
In general, techniques are described for representing services, network resources, and relationships between such services and resources in a graph database with which to validate, provision, and manage the services in near real-time. In one example, a controller device includes at least one processor; and at least one memory to store a graph database comprising a graph that represents network …
Who is the assignee on this patent?
Juniper Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/70. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 11 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).