Patents by Inventor Nikolaj Skallerud Bjorner
Nikolaj Skallerud Bjorner has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240015072Abstract: Techniques of network configuration verification are disclosed herein. One example process includes, upon receiving a query to determine whether a packet from a first endpoint is reachable to a second endpoint in a virtual network, identifying a network path between the first endpoint to the second endpoint in a network graph. The network graph has nodes representing corresponding enforcement points of network policies in the virtual network and edges connecting pairs of the nodes. The example process can also include generating compound function representing conjoined individual constraints of the network policies at each of the nodes in the network graph along the identified network path, compiling the generated compound function into a Boolean formula, and solving the compiled Boolean formula to determine whether an assignment of values to packet fields of the packet exists such that all the conjoined individual constraints of the compound function can be satisfied.Type: ApplicationFiled: September 20, 2023Publication date: January 11, 2024Inventors: Karthick JAYARAMAN, Ryan Andrew BECKETT, Nikolaj Skallerud BJORNER
-
Patent number: 11824727Abstract: Techniques of network configuration verification are disclosed herein. One example process includes, upon receiving a query to determine whether a packet from a first endpoint is reachable to a second endpoint in a virtual network, identifying a network path between the first endpoint to the second endpoint in a network graph. The network graph has nodes representing corresponding enforcement points of network policies in the virtual network and edges connecting pairs of the nodes. The example process can also include generating compound function representing conjoined individual constraints of the network policies at each of the nodes in the network graph along the identified network path, compiling the generated compound function into a Boolean formula, and solving the compiled Boolean formula to determine whether an assignment of values to packet fields of the packet exists such that all the conjoined individual constraints of the compound function can be satisfied.Type: GrantFiled: October 31, 2022Date of Patent: November 21, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Karthick Jayaraman, Ryan Andrew Beckett, Nikolaj Skallerud Bjorner
-
Publication number: 20230134981Abstract: Techniques of network configuration verification are disclosed herein. One example process includes, upon receiving a query to determine whether a packet from a first endpoint is reachable to a second endpoint in a virtual network, identifying a network path between the first endpoint to the second endpoint in a network graph. The network graph has nodes representing corresponding enforcement points of network policies in the virtual network and edges connecting pairs of the nodes. The example process can also include generating compound function representing conjoined individual constraints of the network policies at each of the nodes in the network graph along the identified network path, compiling the generated compound function into a Boolean formula, and solving the compiled Boolean formula to determine whether an assignment of values to packet fields of the packet exists such that all the conjoined individual constraints of the compound function can be satisfied.Type: ApplicationFiled: October 31, 2022Publication date: May 4, 2023Inventors: Karthick JAYARAMAN, Ryan Andrew BECKETT, Nikolaj Skallerud BJORNER
-
Patent number: 11516088Abstract: Techniques of network configuration verification are disclosed herein. One example process includes, upon receiving a query to determine whether a packet from a first endpoint is reachable to a second endpoint in a virtual network, identifying a network path between the first endpoint to the second endpoint in a network graph. The network graph has nodes representing corresponding enforcement points of network policies in the virtual network and edges connecting pairs of the nodes. The example process can also include generating compound function representing conjoined individual constraints of the network policies at each of the nodes in the network graph along the identified network path, compiling the generated compound function into a Boolean formula, and solving the compiled Boolean formula to determine whether an assignment of values to packet fields of the packet exists such that all the conjoined individual constraints of the compound function can be satisfied.Type: GrantFiled: December 3, 2021Date of Patent: November 29, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Karthick Jayaraman, Ryan Andrew Beckett, Nikolaj Skallerud Bjorner
-
Patent number: 10574536Abstract: Improved network optimization and scaling are provided by combining optimization of traffic engineering and network topologies. Sets of minimal link capacities are determined based on the constraints of network topology, network demand, and failure modes. The optimization problem is reframed to allow for simultaneous optimization across all failure modes, reducing or eliminating overprovisioning in link capacity allocation by utilizing convex optimization solvers and techniques.Type: GrantFiled: August 9, 2018Date of Patent: February 25, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Zhao Cheng, Muhammad Muntazir Mehdi, Nikolaj Skallerud Bjorner
-
Publication number: 20190268234Abstract: Improved network optimization and scaling are provided by combining optimization of traffic engineering and network topologies. Sets of minimal link capacities are determined based on the constraints of network topology, network demand, and failure modes. The optimization problem is reframed to allow for simultaneous optimization across all failure modes, reducing or eliminating overprovisioning in link capacity allocation by utilizing convex optimization solvers and techniques.Type: ApplicationFiled: August 9, 2018Publication date: August 29, 2019Inventors: Zhao Cheng, Muhammad Muntazir Mehdi, Nikolaj Skallerud Bjorner
-
Patent number: 10333794Abstract: A system performed by a computing device for validating routing tables of routing devices is provided. The routing tables map destination addresses to a next hops of the routing device. The system accesses one or more contracts that specify the desired behavior of a routing table of a routing device by specifying destination addresses and permissible next hops. For each routing device, the system generates a violation predicate for each contract that is applicable to the routing device. When a violation predicate is evaluated for a target destination address and a target next hop of the routing device, the violation predicate indicates whether the routing table violates the contract. The system then solves the violation predicates for all possible combinations of a target destination address and target next hops to determine whether any routing table violates the desired behavior of its routing device as specified by a contract.Type: GrantFiled: February 17, 2018Date of Patent: June 25, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
-
Patent number: 10241904Abstract: The factorization of test components when performing component-level regression testing in iterative builds of a computing system that consists of many working components. Performance metrics for test components are maintained across multiple builds of the computing program. To perform factorization, multiple factorings of a test component are identified and evaluated until a suitable improvement in the maintained performance metric for each corresponding test component is achieved (e.g., via simulation). This may be performed, across multiple of the test components. This process may be iterated through such that the set of test components being factored and evaluated in a subsequent iteration may in fact be a test component created by factorization in a prior iteration. The net result is that the factorization achieves improvement in performance metrics of the test components.Type: GrantFiled: April 10, 2017Date of Patent: March 26, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Suresh Thummalapenta, Jacek Andrzej Czerwonka, Shuvendu K. Lahiri, Nikolaj Skallerud Bjorner, August Shi
-
Publication number: 20180293159Abstract: The factorization of test components when performing component-level regression testing in iterative builds of a computing system that consists of many working components. Performance metrics for test components are maintained across multiple builds of the computing program. To perform factorization, multiple factorings of a test component are identified and evaluated until a suitable improvement in the maintained performance metric for each corresponding test component is achieved (e.g., via simulation). This may be performed, across multiple of the test components. This process may be iterated through such that the set of test components being factored and evaluated in a subsequent iteration may in fact be a test component created by factorization in a prior iteration. The net result is that the factorization achieves improvement in performance metrics of the test components.Type: ApplicationFiled: April 10, 2017Publication date: October 11, 2018Inventors: Suresh Thummalapenta, Jacek Andrzej Czerwonka, Shuvendu K. Lahiri, Nikolaj Skallerud Bjorner, August Shi
-
Publication number: 20180176094Abstract: A system performed by a computing device for validating routing tables of routing devices is provided. The routing tables map destination addresses to a next hops of the routing device. The system accesses one or more contracts that specify the desired behavior of a routing table of a routing device by specifying destination addresses and permissible next hops. For each routing device, the system generates a violation predicate for each contract that is applicable to the routing device. When a violation predicate is evaluated for a target destination address and a target next hop of the routing device, the violation predicate indicates whether the routing table violates the contract. The system then solves the violation predicates for all possible combinations of a target destination address and target next hops to determine whether any routing table violates the desired behavior of its routing device as specified by a contract.Type: ApplicationFiled: February 17, 2018Publication date: June 21, 2018Inventors: Nikolaj Skallerud BJORNER, Karthick JAYARAMAN, Geoffrey Hugh OUTHRED
-
Patent number: 9900222Abstract: A system performed by a computing device for validating routing tables of routing devices is provided. The routing tables map destination addresses to a next hops of the routing device. The system accesses one or more contracts that specify the desired behavior of a routing table of a routing device by specifying destination addresses and permissible next hops. For each routing device, the system generates a violation predicate for each contract that is applicable to the routing device. When a violation predicate is evaluated for a target destination address and a target next hop of the routing device, the violation predicate indicates whether the routing table violates the contract. The system then solves the violation predicates for all possible combinations of a target destination address and target next hops to determine whether any routing table violates the desired behavior of its routing device as specified by a contract.Type: GrantFiled: October 26, 2015Date of Patent: February 20, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
-
Publication number: 20170118083Abstract: A system performed by a computing device for validating routing tables of routing devices is provided. The routing tables map destination addresses to a next hops of the routing device. The system accesses one or more contracts that specify the desired behavior of a routing table of a routing device by specifying destination addresses and permissible next hops. For each routing device, the system generates a violation predicate for each contract that is applicable to the routing device. When a violation predicate is evaluated for a target destination address and a target next hop of the routing device, the violation predicate indicates whether the routing table violates the contract. The system then solves the violation predicates for all possible combinations of a target destination address and target next hops to determine whether any routing table violates the desired behavior of its routing device as specified by a contract.Type: ApplicationFiled: October 26, 2015Publication date: April 27, 2017Inventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
-
Patent number: 7640354Abstract: The present invention extends to methods, systems, and computer program products for scalable differential compression for network data. Network data exchanged between Wide Area Network (“WAN”) acceleration devices is cached at physical recordable-type computer-readable media having (potentially significantly) larger storage capacities than available system memory. The cached network data is indexed through features taken from a subset of the cached data (e.g., per segment) to reduce overhead associated with searching for cached network data to use for subsequent compression. When a feature match is detected between received and cached network data, the cached network data can be loaded from the physical recordable-type computer-readable media into system memory to facilitate data compression between Wide Area Network (“WAN”) acceleration devices more efficiently.Type: GrantFiled: December 1, 2006Date of Patent: December 29, 2009Assignee: Microsoft CorporationInventors: Nikolaj Skallerud Bjorner, Mark Steven Manasse, Guilherme Issao Camarinha Fujiwara
-
Publication number: 20090216701Abstract: Relevancy propagation for efficient theory combination is described. In one implementation, an efficient SMT solver dynamically applies relevancy propagation to limit propagation of unnecessary constraints in a DPLL-based solver. This provides a drastic increase in speed and performance over conventional DPLL-based solvers. The relevancy propagation is guided by relevancy rules, which in one implementation emulate Tableau rules for limiting constraint propagation, while maintaining the performance of efficient DPLL-based solvers. An exemplary solver propagates truth assignments to constraints of a formula, and tracks which truth assignments are relevant for determining satisfiability of the formula. The solver propagates truth assignments that were marked relevant to a theory solver, while avoiding propagation of irrelevant truth assignments.Type: ApplicationFiled: February 21, 2008Publication date: August 27, 2009Applicant: Microsoft CorporationInventors: Nikolaj Skallerud Bjorner, Leonardo Mendonca de Moura
-
Publication number: 20080133536Abstract: The present invention extends to methods, systems, and computer program products for scalable differential compression for network data. Network data exchanged between Wide Area Network (“WAN”) acceleration devices is cached at physical recordable-type computer-readable media having (potentially significantly) larger storage capacities than available system memory. The cached network data is indexed through features taken from a subset of the cached data (e.g., per segment) to reduce overhead associated with searching for cached network data to use for subsequent compression. When a feature match is detected between received and cached network data, the cached network data can be loaded from the physical recordable-type computer-readable media into system memory to facilitate data compression between Wide Area Network (“WAN”) acceleration devices more efficiently.Type: ApplicationFiled: December 1, 2006Publication date: June 5, 2008Applicant: MICROSOFT CORPORATIONInventors: Nikolaj Skallerud Bjorner, Mark Steven Manasse, Guilherme Issao Camarinha Fujiwara