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: 20240015072
    Abstract: 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: Application
    Filed: September 20, 2023
    Publication date: January 11, 2024
    Inventors: Karthick JAYARAMAN, Ryan Andrew BECKETT, Nikolaj Skallerud BJORNER
  • Patent number: 11824727
    Abstract: 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: Grant
    Filed: October 31, 2022
    Date of Patent: November 21, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Karthick Jayaraman, Ryan Andrew Beckett, Nikolaj Skallerud Bjorner
  • Publication number: 20230134981
    Abstract: 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: Application
    Filed: October 31, 2022
    Publication date: May 4, 2023
    Inventors: Karthick JAYARAMAN, Ryan Andrew BECKETT, Nikolaj Skallerud BJORNER
  • Patent number: 11516088
    Abstract: 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: Grant
    Filed: December 3, 2021
    Date of Patent: November 29, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthick Jayaraman, Ryan Andrew Beckett, Nikolaj Skallerud Bjorner
  • Patent number: 10574536
    Abstract: 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: Grant
    Filed: August 9, 2018
    Date of Patent: February 25, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhao Cheng, Muhammad Muntazir Mehdi, Nikolaj Skallerud Bjorner
  • Publication number: 20190268234
    Abstract: 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: Application
    Filed: August 9, 2018
    Publication date: August 29, 2019
    Inventors: Zhao Cheng, Muhammad Muntazir Mehdi, Nikolaj Skallerud Bjorner
  • Patent number: 10333794
    Abstract: 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: Grant
    Filed: February 17, 2018
    Date of Patent: June 25, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
  • Patent number: 10241904
    Abstract: 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: Grant
    Filed: April 10, 2017
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suresh Thummalapenta, Jacek Andrzej Czerwonka, Shuvendu K. Lahiri, Nikolaj Skallerud Bjorner, August Shi
  • Publication number: 20180293159
    Abstract: 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: Application
    Filed: April 10, 2017
    Publication date: October 11, 2018
    Inventors: Suresh Thummalapenta, Jacek Andrzej Czerwonka, Shuvendu K. Lahiri, Nikolaj Skallerud Bjorner, August Shi
  • Publication number: 20180176094
    Abstract: 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: Application
    Filed: February 17, 2018
    Publication date: June 21, 2018
    Inventors: Nikolaj Skallerud BJORNER, Karthick JAYARAMAN, Geoffrey Hugh OUTHRED
  • Patent number: 9900222
    Abstract: 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: Grant
    Filed: October 26, 2015
    Date of Patent: February 20, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
  • Publication number: 20170118083
    Abstract: 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: Application
    Filed: October 26, 2015
    Publication date: April 27, 2017
    Inventors: Nikolaj Skallerud Bjorner, Karthick Jayaraman, Geoffrey Hugh Outhred
  • Patent number: 7640354
    Abstract: 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: Grant
    Filed: December 1, 2006
    Date of Patent: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Nikolaj Skallerud Bjorner, Mark Steven Manasse, Guilherme Issao Camarinha Fujiwara
  • Publication number: 20090216701
    Abstract: 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: Application
    Filed: February 21, 2008
    Publication date: August 27, 2009
    Applicant: Microsoft Corporation
    Inventors: Nikolaj Skallerud Bjorner, Leonardo Mendonca de Moura
  • Publication number: 20080133536
    Abstract: 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: Application
    Filed: December 1, 2006
    Publication date: June 5, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Nikolaj Skallerud Bjorner, Mark Steven Manasse, Guilherme Issao Camarinha Fujiwara