Patents by Inventor Avnish Kumar Chhabra
Avnish Kumar Chhabra 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).
-
Patent number: 11366744Abstract: Systems, methods and computer program products are described herein that can be used to help achieve a safe rollout of software in a production datacenter environment. In accordance with certain embodiments, cloud services requests from certain users of a cloud services system (e.g., users that are authorized to receive cloud services via computing devices running test versions of infrastructure software) are dynamically matched to clusters (groups of commonly-managed computing devices called nodes) that are capable of providing the requested services on nodes running test versions of infrastructure software. Within such clusters, the requested services are provided to the users on a subset of cluster nodes that run a test version of an infrastructure software component, while the remaining cluster nodes are not running the particular test version.Type: GrantFiled: September 29, 2017Date of Patent: June 21, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Reza Sherafat Kazemzadeh, Harsh Gupta, Binit R. Mishra, Yevgeniy Olegovich Razuvayev, Muhammad Usman Sharif, Li-Fen Wu, Cristina del Amo Casado, Avnish Kumar Chhabra, Hariharan Jayaraman, Li Xiong, Abhishek Singh
-
Patent number: 11038947Abstract: Methods, systems, apparatuses, and computer program products are provided that enable the automated deployment of microservices to a network-accessible server set. The automated deployment may be based on constraint(s) that are specified by a declarative deployment model that is associated with the microservice to be deployed. For example, a centralized deployment orchestrator may receive microservice(s) and their associated declarative deployment model(s). The deployment orchestrator analyzes the declarative deployment model(s) and determines which microservice(s) are to be deployed based on the constraint(s) specified by the declarative deployment model(s). The foregoing techniques advantageously determine when to deploy microservice(s), while also minimizing human intervention typically required to deploy microservice(s).Type: GrantFiled: April 21, 2017Date of Patent: June 15, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Yue Zhao, Siddharth Verma, Huaming Huang, Ash Beitz, Arbab Amjad, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Patent number: 10768920Abstract: Software updates within one or more regions of a multi-tenant cloud are coordinated. Tenant vs. tenant conflicts, tenant vs. infrastructure provider conflicts, and conflicts between security and another priority are identified and resolved using a shared update coordinator, update priority specifications, and availability specifications. An infrastructure update request may be presented to tenants for approval. Postponed infrastructure updates may be prioritized higher. Preventing exploits of zero-day vulnerabilities may be prioritized over meeting availability targets. Updates may be merged to reduce downtime, even when the updates originate from independently controlled entities. Maximum downtime, minimum fault domains, minimum virtual machines, permitted update start times, and other availability criteria may be specified. Updates may be preempted, or allowed to complete, based on their relative priorities.Type: GrantFiled: June 15, 2016Date of Patent: September 8, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Marcus Fontoura, Mark Russinovich, Yunus Mohammed, Pritesh Patwa, Avnish Kumar Chhabra, Ziv Rafalovich
-
Patent number: 10740086Abstract: Methods, systems, and apparatuses manage rolling out of updates in a network-accessible server infrastructure which operates a plurality of instances of a supporting service. The supporting service is comprised by a plurality of service portions. The instances of the supporting service each include of the service portions. The instances of the supporting service are partitioned into a plurality of slices. Each instance is partitioned to include one or more of the slices, and each slice of an instance includes one or more of the service portions. A software update is deployed to the instances by applying the software update to the slices in a sequence such that the software update is applied to a same slice in parallel across the instances containing that same slice before being applied to a next slice, and waiting a wait time before applying the software domain to a next slice in the sequencing.Type: GrantFiled: December 13, 2018Date of Patent: August 11, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Huaming Huang, Yue Zhao, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Publication number: 20190250901Abstract: Methods, systems, and apparatuses manage rolling out of updates in a network-accessible server infrastructure which operates a plurality of instances of a supporting service. The supporting service is comprised by a plurality of service portions. The instances of the supporting service each include of the service portions. The instances of the supporting service are partitioned into a plurality of slices. Each instance is partitioned to include one or more of the slices, and each slice of an instance includes one or more of the service portions. A software update is deployed to the instances by applying the software update to the slices in a sequence such that the software update is applied to a same slice in parallel across the instances containing that same slice before being applied to a next slice, and waiting a wait time before applying the software domain to a next slice in the sequencing.Type: ApplicationFiled: December 13, 2018Publication date: August 15, 2019Inventors: Huaming Huang, Yue Zhao, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Patent number: 10191731Abstract: Methods, systems, and apparatuses manage rolling out of updates in a network-accessible server infrastructure which operates a plurality of instances of a supporting service. The supporting service is comprised by a plurality of service portions. The instances of the supporting service each include of the service portions. The instances of the supporting service are partitioned into a plurality of slices. Each instance is partitioned to include one or more of the slices, and each slice of an instance includes one or more of the service portions. A software update is deployed to the instances by applying the software update to the slices in a sequence such that the software update is applied to a same slice in parallel across the instances containing that same slice before being applied to a next slice, and waiting a wait time before applying the software domain to a next slice in the sequencing.Type: GrantFiled: June 27, 2017Date of Patent: January 29, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Huaming Huang, Yue Zhao, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Publication number: 20180373521Abstract: Methods, systems, and apparatuses manage rolling out of updates in a network-accessible server infrastructure which operates a plurality of instances of a supporting service. The supporting service is comprised by a plurality of service portions. The instances of the supporting service each include of the service portions. The instances of the supporting service are partitioned into a plurality of slices. Each instance is partitioned to include one or more of the slices, and each slice of an instance includes one or more of the service portions. A software update is deployed to the instances by applying the software update to the slices in a sequence such that the software update is applied to a same slice in parallel across the instances containing that same slice before being applied to a next slice, and waiting a wait time before applying the software domain to a next slice in the sequencing.Type: ApplicationFiled: June 27, 2017Publication date: December 27, 2018Inventors: Huaming Huang, Yue Zhao, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Publication number: 20180309630Abstract: Methods, systems, apparatuses, and computer program products are provided that enable the automated deployment of microservices to a network-accessible server set. The automated deployment may be based on constraint(s) that are specified by a declarative deployment model that is associated with the microservice to be deployed. For example, a centralized deployment orchestrator may receive microservice(s) and their associated declarative deployment model(s). The deployment orchestrator analyzes the declarative deployment model(s) and determines which microservice(s) are to be deployed based on the constraint(s) specified by the declarative deployment model(s). The foregoing techniques advantageously determine when to deploy microservice(s), while also minimizing human intervention typically required to deploy microservice(s).Type: ApplicationFiled: April 21, 2017Publication date: October 25, 2018Inventors: Yue Zhao, Siddharth Verma, Huaming Huang, Ash Beitz, Arbab Amjad, Muhammad Usman Sharif, Abhishek Singh, Avnish Kumar Chhabra
-
Publication number: 20180293152Abstract: Systems, methods and computer program products are described herein that can be used to help achieve a safe rollout of software in a production datacenter environment. In accordance with certain embodiments, cloud services requests from certain users of a cloud services system (e.g., users that are authorized to receive cloud services via computing devices running test versions of infrastructure software) are dynamically matched to clusters (groups of commonly-managed computing devices called nodes) that are capable of providing the requested services on nodes running test versions of infrastructure software. Within such clusters, the requested services are provided to the users on a subset of cluster nodes that run a test version of an infrastructure software component, while the remaining cluster nodes are not running the particular test version.Type: ApplicationFiled: September 29, 2017Publication date: October 11, 2018Inventors: Reza Sherafat Kazemzadeh, Harsh Gupta, Binit R. Mishra, Yevgeniy Olegovich Razuvayev, Muhammad Usman Sharif, Li-Fen Wu, Cristina del Amo Casado, Avnish Kumar Chhabra, Hariharan Jayaraman, Li Xiong, Abhishek Singh
-
Patent number: 9858214Abstract: In one embodiment, to determine what tasks may be offloaded to a peripheral hardware device (e.g., to be performed in hardware on the peripheral device, rather than on the CPU(s) of the host computer), an indication from the at least one peripheral hardware device may be provided, without the peripheral hardware device first being queried to determine the task offload capabilities provided by the peripheral hardware device. In one embodiment, a large packet that includes a plurality of extension headers may be offloaded to the peripheral hardware device for segmentation. An indication of the offset where the extension headers end may be provided in connection with the large packet. In another embodiment, a packet with extension headers that come before an encryption header in the packet are not offloaded to peripheral hardware device for encryption, while packets with no extension headers before the encryption header may be offloaded.Type: GrantFiled: May 16, 2013Date of Patent: January 2, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Avnish Kumar Chhabra, Aditya Dube, Sanjay Kaniyar, James T. Pinkerton
-
Publication number: 20170364345Abstract: Software updates within one or more regions of a multi-tenant cloud are coordinated. Tenant vs. tenant conflicts, tenant vs. infrastructure provider conflicts, and conflicts between security and another priority are identified and resolved using a shared update coordinator, update priority specifications, and availability specifications. An infrastructure update request may be presented to tenants for approval. Postponed infrastructure updates may be prioritized higher. Preventing exploits of zero-day vulnerabilities may be prioritized over meeting availability targets. Updates may be merged to reduce downtime, even when the updates originate from independently controlled entities. Maximum downtime, minimum fault domains, minimum virtual machines, permitted update start times, and other availability criteria may be specified. Updates may be preempted, or allowed to complete, based on their relative priorities.Type: ApplicationFiled: June 15, 2016Publication date: December 21, 2017Inventors: Marcus FONTOURA, Mark RUSSINOVICH, Yunus MOHAMMED, Pritesh PATWA, Avnish Kumar CHHABRA, Ziv RAFALOVICH
-
Patent number: 8689315Abstract: A method and system are provided for adding, removing, and managing a plurality of network policy filters in a network device. Filters are installed in a framework and designated as active or disabled. Each filter has a priority. When a new filter is to be installed into the framework, it is compared to installed filters to determine if a conflict exists. If no conflict exists, the new filter is added as an active filter. If a conflict exists, a higher priority conflicting filter is added as active and a lower priority filter is added as inactive.Type: GrantFiled: July 31, 2008Date of Patent: April 1, 2014Assignee: Microsoft CorporationInventors: Brian D. Swander, Avnish Kumar Chhabra, Paul G. Mayfield
-
Publication number: 20130254436Abstract: In one embodiment, to determine what tasks may be offloaded to a peripheral hardware device (e.g., to be performed in hardware on the peripheral device, rather than on the CPU(s) of the host computer), an indication from the at least one peripheral hardware device may be provided, without the peripheral hardware device first being queried to determine the task offload capabilities provided by the peripheral hardware device. In one embodiment, a large packet that includes a plurality of extension headers may be offloaded to the peripheral hardware device for segmentation. An indication of the offset where the extension headers end may be provided in connection with the large packet. In another embodiment, a packet with extension headers that come before an encryption header in the packet are not offloaded to peripheral hardware device for encryption, while packets with no extension headers before the encryption header may be offloaded.Type: ApplicationFiled: May 16, 2013Publication date: September 26, 2013Applicant: Microsoft CorporationInventors: Avnish Kumar Chhabra, Aditya Dube, Sanjay Kaniyar, James T. Pinkerton
-
Patent number: 8447898Abstract: In one embodiment, to determine what tasks may be offloaded to a peripheral hardware device (e.g., to be performed in hardware on the peripheral device, rather than on the CPU(s) of the host computer), an indication from the at least one peripheral hardware device may be provided, without the peripheral hardware device first being queried to determine the task offload capabilities provided by the peripheral hardware device. In one embodiment, a large packet that includes a plurality of extension headers may be offloaded to the peripheral hardware device for segmentation. An indication of the offset where the extension headers end may be provided in connection with the large packet. In another embodiment, a packet with extension headers that come before an encryption header in the packet are not offloaded to peripheral hardware device for encryption, while packets with no extension headers before the encryption header may be offloaded.Type: GrantFiled: October 28, 2005Date of Patent: May 21, 2013Assignee: Microsoft CorporationInventors: Avnish Kumar Chhabra, Aditya Dube, Sanjay Kaniyar, James T. Pinkerton
-
Publication number: 20090077648Abstract: A method and system are provided for adding, removing, and managing a plurality of network policy filters in a network device. Filters are installed in a framework and designated as active or disabled. Each filter has a priority. When a new filter is to be installed into the framework, it is compared to installed filters to determine if a conflict exists. If no conflict exists, the new filter is added as an active filter. If a conflict exists, a higher priority conflicting filter is added as active and a lower priority filter is added as inactive.Type: ApplicationFiled: July 31, 2008Publication date: March 19, 2009Applicant: Microsoft CorporationInventors: Brian D. Swander, Avnish Kumar Chhabra, Paul G. Mayfield
-
Patent number: 7409707Abstract: A method and system are provided for adding, removing, and managing a plurality of network policy filters in a network device. Filters are installed in a framework and designated as active or disabled. Each filter has a priority. When a new filter is to be installed into the framework, it is compared to installed filters to determine if a conflict exists. If no conflict exists, the new filter is added as an active filter. If a conflict exists, a higher priority conflicting filter is added as active and a lower priority filter is added as inactive.Type: GrantFiled: June 6, 2003Date of Patent: August 5, 2008Assignee: Microsoft CorporationInventors: Brian D. Swander, Avnish Kumar Chhabra, Paul G. Mayfield
-
Publication number: 20040250131Abstract: A method and system are provided for adding, removing, and managing a plurality of network policy filters in a network device. Filters are installed in a framework and designated as active or disabled. Each filter has a priority. When a new filter is to be installed into the framework, it is compared to installed filters to determine if a conflict exists. If no conflict exists, the new filter is added as an active filter. If a conflict exists, a higher priority conflicting filter is added as active and a lower priority filter is added as inactive.Type: ApplicationFiled: June 6, 2003Publication date: December 9, 2004Applicant: Microsoft CorporationInventors: Brian D. Swander, Avnish Kumar Chhabra, Paul G. Mayfield