Patents by Inventor Karthick Jayaraman
Karthick Jayaraman 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: 20250141777Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.Type: ApplicationFiled: January 6, 2025Publication date: May 1, 2025Inventors: Jitendra PADHYE, Karthick JAYARAMAN, Wei BAI, Rachee SINGH, Ryan Andrew BECKETT, Sarah Elisabeth MCCLURE, Neha Milind RAJE, Steven Jeffrey BENALOH, Christopher Scott JOHNSTON
-
Patent number: 12199863Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.Type: GrantFiled: March 28, 2023Date of Patent: January 14, 2025Assignee: Microsoft Technology Licensing, LLCInventors: Jitendra Padhye, Karthick Jayaraman, Wei Bai, Rachee Singh, Ryan Andrew Beckett, Sarah Elisabeth McClure, Neha Milind Raje, Steven Jeffrey Benaloh, Christopher Scott Johnston
-
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: 20230300053Abstract: A network verification system uses general-purpose programming language to create network verification tests. A test orchestrator builds a model of the network only using data from the network verification test. An optimization testing manager creates symbolic packets for verification tests using assertions based on a packet library embedded into the testing manager and the general-purpose programming language.Type: ApplicationFiled: April 30, 2021Publication date: September 21, 2023Inventors: Ryan Andrew BECKETT, Karthick JAYARAMAN, Neha Milind RAJE, Jitendra PADHYE, Christopher Scott JOHNSTON, Steven Jeffrey BENALOH, Nikolaj BJORNER, Andrey Aleksandrovic RYBALCHENKO, Nuno CERQUEIRA AFONSO, Nuno CLAUDINO PEREIRA LOPES, Sharad AGARWAL, Hang Kwong LEE, Aniruddha PARKHI, Maik RIECHERT
-
Publication number: 20230231806Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.Type: ApplicationFiled: March 28, 2023Publication date: July 20, 2023Inventors: Jitendra PADHYE, Karthick JAYARAMAN, Wei BAI, Rachee SINGH, Ryan Andrew BECKETT, Sarah Elisabeth MCCLURE, Neha Milind RAJE, Steven Jeffrey BENALOH, Christopher Scott JOHNSTON
-
Patent number: 11652742Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.Type: GrantFiled: October 16, 2020Date of Patent: May 16, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Jitendra Padhye, Karthick Jayaraman, Wei Bai, Rachee Singh, Ryan Andrew Beckett, Sarah Elisabeth McClure, Neha Milind Raje, Steven Jeffrey Benaloh, Christopher Scott Johnston
-
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
-
Publication number: 20220124031Abstract: Ghost routing is a network verification technique that uses a portion of a production network itself to verify the impact of potential network changes. Ghost routing logically partitions the production network into a main network and a ghost network. The main network handles live traffic while the ghost network handles traffic generated for diagnostic purposes. The ghost network may have a network topology identical to the production network and may use the same hardware and software as the production network. An operator may implement a network configuration change on the ghost network and then use verification tools to verify that the network configuration change on the ghost network does not result in bugs. Verifying on the ghost network may not affect the main network. If the network operator verifies the network configuration change on the ghost network, the network operator may implement the network configuration change on the main network.Type: ApplicationFiled: October 16, 2020Publication date: April 21, 2022Inventors: Jitendra PADHYE, Karthick JAYARAMAN, Wei BAI, Rachee SINGH, Ryan Andrew BECKETT, Sarah Elisabeth MCCLURE, Neha Milind RAJE, Steven Jeffrey BENALOH, Christopher Scott JOHNSTON
-
Patent number: 11121934Abstract: A network verification system uses general-purpose programming language to create network verification tests. A test orchestrator builds a model of the network only using data from the network verification test. An optimization testing manager creates symbolic packets for verification tests using assertions based on a packet library embedded into the testing manager and the general-purpose programming language.Type: GrantFiled: December 8, 2020Date of Patent: September 14, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Ryan Andrew Beckett, Karthick Jayaraman, Neha Milind Raje, Jitendra Padhye, Christopher Scott Johnston, Steven Jeffrey Benaloh, Nikolaj Bjorner, Andrey Aleksandrovic Rybalchenko, Nuno Cerqueira Afonso, Nuno Claudino Pereira Lopes, Sharad Agarwal, Hang Kwong Lee, Aniruddha Parkhi, Maik Riechert
-
Publication number: 20210021471Abstract: Examples described herein generally relate to determining a current network state of the set of virtual networks, detecting, based at least in part on obtaining at least a portion of a high-level virtual network policy, an indicated change to the current network state, compiling, based on detecting the indicated change, at least a portion of the high-level virtual network policy to generate a set of low-level intermediate representation instructions to implement the indicated change to the high-level virtual network policy, and applying the set of low-level intermediate representation instructions in a network configuration for managing the set of virtual networks.Type: ApplicationFiled: July 15, 2019Publication date: January 21, 2021Inventors: Karthick JAYARAMAN, Parag SHARMA, Ashish BHARGAVA, Ryan BECKETT
-
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
-
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: 9467473Abstract: A system is described that analyzes and validates network security policies associated with network devices. The system includes a compiler and a security policy analysis and validation tool. The compiler encodes a security policy associated with a network device into a predicate expressed in bit-vector logic and generates a bit-vector formula based on the predicate. The tool receives the bit-vector formula and applies a Satisfiability Modulo Theories (SMT) solver thereto to identify and enumerate solutions to the bit-vector formula. The enumerated solutions provide information about the validity of the first security policy. The solutions may be compactly enumerated in a as product of intervals or a product of unions of intervals.Type: GrantFiled: September 19, 2013Date of Patent: October 11, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Karthick Jayaraman, Charles W. Kaufman, Nikolaj S. Bjorner
-
Publication number: 20150082370Abstract: A system is described that analyzes and validates network security policies associated with network devices. The system includes a compiler and a security policy analysis and validation tool. The compiler encodes a security policy associated with a network device into a predicate expressed in bit-vector logic and generates a bit-vector formula based on the predicate. The tool receives the bit-vector formula and applies a Satisfiability Modulo Theories (SMT) solver thereto to identify and enumerate solutions to the bit-vector formula. The enumerated solutions provide information about the validity of the first security policy. The solutions may be compactly enumerated in a as product of intervals or a product of unions of intervals.Type: ApplicationFiled: September 19, 2013Publication date: March 19, 2015Applicant: Microsoft CorporationInventors: Karthick Jayaraman, Charles W. Kaufman, Nikolaj S. Bjorner