Graph Database Pathway Querying for SDN Inventory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional graph query languages are inadequate for querying complex and dynamic software-defined networks (SDNs) as they fail to effectively discover pathways of varying length, manipulate network connections, and perform time-travel queries, limiting network management and troubleshooting capabilities.
Innovation Solution
A system and method that utilize a processor to receive queries with class generalization and pathway variables, identify query classes, translate these into pathway algebraic expressions, and execute them on a graph database to return pathway sets, enabling the discovery and manipulation of network pathways and connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional graph query languages (Gremlin, SPARQL) are used to query network inventory, then the query syntax is simple and widely supported, but the ability to discover pathways of varying length and manipulate network connections is limited
Solution Approach 1:
The patent introduces a query translator as an intermediary component that converts high-level pathway queries into executable graph traversal operations. This translator layer enables complex pathway discovery capabilities while maintaining simple query syntax for users, resolving the contradiction between versatility and complexity by mediating between the user's high-level needs and the database's execution requirements
Solution Approach 2:
The patent implements parameterized query templates that allow dynamic adjustment of pathway length, node types, and connection patterns. By changing parameters within standardized query templates rather than requiring completely different query syntaxes, the system achieves versatile pathway discovery while keeping the query language itself relatively simple and consistent
2Adaptability or versatility
If Cypher is used to support pathways of varying length, then pathway flexibility is improved, but the ability to add constraints on extracted pathways is inadequate
Solution Approach 1:
The patent applies preliminary constraints during the query translation phase, where pathway length limits, node type restrictions, and connection requirements are encoded into the query structure before execution. This preliminary action ensures that only pathways satisfying the constraints are returned, maintaining reliability while allowing flexible pathway length specifications through parameters like {0, 5} for zero to five steps
3Adaptability or versatility
If traditional query languages output graphs or tuples, then the output format is standard, but additional queries cannot be posed on the results
Solution Approach 1:
The patent designs the query language and execution model so that pathways are treated as first-class citizens that can serve as inputs to subsequent queries. The same query syntax and execution mechanisms used for initial pathway discovery can be applied again to the result pathways, enabling multi-step analysis and composition without requiring different output formats or additional processing layers
4Difficulty of detecting and measuring
If network inventory is modeled in a graph database, then connectivity and pathways can be discovered, but the dynamic nature of virtualized SDNs makes inventory management challenging
Solution Approach 1:
The patent implements feedback mechanisms where query results and network state changes are continuously monitored and fed back into the inventory database. This enables the system to automatically update network inventory information in response to dynamic changes in virtualized SDNs, maintaining accurate connectivity information without requiring manual intervention or complex synchronization processes
Data Source
AI summary
A system may include a processor, a user input, and memory comprising a graph and executable instructions. The executable instructions may cause the processor to effectuate operations. The operations include receiving, via the user input, a query comprising a class generalization and pathway variables. The operations include identifying a query class based on at least the class generalization and determining an anchor set based on at least one of the pathway variables. The operations also include translating the pathway variables into a pathway algebraic expression based on the anchor set and the query class and executing the pathway algebraic expression on the graph to return a pathway set.


