Patents by Inventor Willis Lang

Willis Lang 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: 20240103994
    Abstract: Methods, systems, and computer program products are provided for creating a resource management testing environment. An initial population of databases is established in a database ring, having an in initial count of databases and different types of databases that are determined based on an initial database population model. The initial population model receives ring classification information for the database ring from a ring grouping model. A sequence of database population-change events is generated based on a model, to change the population of the databases over time in the ring. An orchestration framework performs testing of resource manager operations based on the model-defined initial population of databases and the model-defined populations of databases changed over time. Model-defined resource usage metrics for each database are utilized to test the resource manager operations. Resource usage metrics and database add/drop events of a production system are used to train the models.
    Type: Application
    Filed: December 6, 2023
    Publication date: March 28, 2024
    Inventors: Zi YE, Justin Grant MOELLER, Ya LIN, Willis LANG
  • Patent number: 11907096
    Abstract: Methods, systems, and computer program products are provided for creating a resource management testing environment. An initial population of databases is established in a database ring, having an in initial count of databases and different types of databases that are determined based on an initial database population model. The initial population model receives ring classification information for the database ring from a ring grouping model. A sequence of database population-change events is generated based on a model, to change the population of the databases over time in the ring. An orchestration framework performs testing of resource manager operations based on the model-defined initial population of databases and the model-defined populations of databases changed over time. Model-defined resource usage metrics for each database are utilized to test the resource manager operations. Resource usage metrics and database add/drop events of a production system are used to train the models.
    Type: Grant
    Filed: December 30, 2021
    Date of Patent: February 20, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Zi Ye, Justin Grant Moeller, Ya Lin, Willis Lang
  • Publication number: 20230385187
    Abstract: Testing methods and systems are provided for testing a resource manager of an application management system. The testing systems include a load orchestrator configured to obtain an artificial metric that is determined based on a utilization model (e.g., CPU usage, memory allocation, or disk usage, number of webserver sessions). The load orchestrator transmits the artificial metric to applications in a cluster of computing nodes. The applications transmit the artificial metric to the resource manager. In response, the resource manager generates control output for managing applications in the cluster based on the artificial metric (e.g., scaling, load balancing, application placement, failover of applications, or defragmenting data). The utilization model may include executable code for generating artificial metric values. The model may be received as a result of an API call. The load orchestrator may be instantiated in an orchestration framework or in each node of the cluster.
    Type: Application
    Filed: August 7, 2023
    Publication date: November 30, 2023
    Inventors: Justin G. MOELLER, Willis LANG
  • Patent number: 11768760
    Abstract: Testing methods and systems are provided for testing a resource manager of an application management system. The testing systems include a load orchestrator configured to obtain an artificial metric that is determined based on a utilization model (e.g., CPU usage, memory allocation, or disk usage, number of webserver sessions). The load orchestrator transmits the artificial metric to applications in a cluster of computing nodes. The applications transmit the artificial metric to the resource manager. In response, the resource manager generates control output for managing applications in the cluster based on the artificial metric (e.g., scaling, load balancing, application placement, failover of applications, or defragmenting data). The utilization model may include executable code for generating artificial metric values. The model may be received as a result of an API call. The load orchestrator may be instantiated in an orchestration framework or in each node of the cluster.
    Type: Grant
    Filed: June 24, 2020
    Date of Patent: September 26, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Justin G. Moeller, Willis Lang
  • Publication number: 20230259407
    Abstract: Methods, systems, and computer program products are provided for a compute cluster comprising placement and load balancing (PLB) logic that receives data (e.g., state metadata) relating to a service (e.g., database service) executing on the compute cluster, from a resource manager executing on the compute cluster, via a first API associated with the resource manager. The PLB logic receives second data from the service via a second API and determines whether a PLB action is indicated based on one of the second data or a combination of the first data and the second data. When a PLB action is indicated, the PLB logic sends a command to the resource manager to execute the PLB action. The PLB logic also receives queries from clients external to the compute cluster and may spawn a child PLB logic to offload PLB operations, respond to queries, or perform software validation in the child.
    Type: Application
    Filed: February 17, 2022
    Publication date: August 17, 2023
    Inventors: Willis LANG, Justin Grant MOELLER, Ajay KALHAN, Monika COLIC, Aleksandar CUKANOVIC, Nikola PUZOVIC, Marko STOJANOVIC, Jiaqi LIU, Arnd Christian KÖNIG, Yi SHAN, Vivek Ravindranath NARASAYYA
  • Publication number: 20230214306
    Abstract: Methods, systems, and computer program products are provided for creating a resource management testing environment. An initial population of databases is established in a database ring, having an in initial count of databases and different types of databases that are determined based on an initial database population model. The initial population model receives ring classification information for the database ring from a ring grouping model. A sequence of database population-change events is generated based on a model, to change the population of the databases over time in the ring. An orchestration framework performs testing of resource manager operations based on the model-defined initial population of databases and the model-defined populations of databases changed over time. Model-defined resource usage metrics for each database are utilized to test the resource manager operations. Resource usage metrics and database add/drop events of a production system are used to train the models.
    Type: Application
    Filed: December 30, 2021
    Publication date: July 6, 2023
    Inventors: Zi YE, Justin Grant MOELLER, Ya LIN, Willis LANG
  • Publication number: 20230144954
    Abstract: An electrical and/or optical plug connection has a first plug connector and a second plug connector which can be fit to the first plug connector and which corresponds to the first plug connector. The first and second plug connectors each have a plug face which has a first sheet metal contact and a corresponding second sheet metal contact which can be fit together in an electrically contacting manner. The plug connectors further include first and second optical and/or electrical plug contacts which are fit together and which arranged with spacing from the first and second sheet metal contacts. A latching hook having a latching hook and latching arm is provided on the first plug connector and a corresponding latching recess having a latching edge is provided on the second plug connector. A hook portion (1 of the latching hook is connected to the latching arm via a bending line which deviates from a straight line and has a raised 3D shaped surface region with at least one open side.
    Type: Application
    Filed: March 4, 2021
    Publication date: May 11, 2023
    Inventors: Benedikt STEUBE, Stefan APORIUS, Lars BRINKMANN, Roman HENZE, Robin REINKE, Willi LANG, Karsten KROME
  • Patent number: 11487771
    Abstract: Distributed query processing is often performed by a set of nodes that apply MapReduce to a data set and materialize partial results to storage, which are then aggregated to produce the query result. However, this architecture requires a preconfigured set of database nodes; can only fulfill queries that utilize MapReduce processing; and may be slowed down by materializing partial results to storage. Instead, distributed query processing can be achieved by choosing a node for various portions of the query, and generating customized code for the node that only performs the query portion that is allocated to the node. The node executes the code to perform the query portion, and rather than materializing partial results to storage, streams intermediate query results to a next selected node in the distributed query. Nodes selection may be involve matching the details of the query portion with the characteristics and capabilities of the available nodes.
    Type: Grant
    Filed: December 7, 2016
    Date of Patent: November 1, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
  • Patent number: 11474846
    Abstract: A method of bridging a first database and a second database. The method includes maintaining a state machine representing a state of a virtual node in the first database, wherein the state of the virtual node conforms to a native protocol for native nodes of the first database, said native protocol of the first database differing from a foreign protocol of the second database. The method further includes receiving an incoming message for the virtual node from one of the native nodes according to the native protocol, and based on the incoming message, accessing the second database. The method further includes updating the state of the virtual node based on the incoming message according to the native protocol, and based on the state of the virtual node as updated, sending an outgoing message to one or more of the native nodes according to the native protocol.
    Type: Grant
    Filed: July 11, 2019
    Date of Patent: October 18, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Karthik Raman
  • Patent number: 11263035
    Abstract: Computer resources are provisioned for a virtual machine based on expected lifespan. After a request to create a virtual machine is received, the virtual machine can be classified into one of a plurality of longevity classes utilizing a machine learning classifier based on data pertaining to the requestor or the virtual machine. The longevity classes capture different lifespans of the virtual machine between when the virtual machine is created and when the virtual machine is deleted. Subsequently, resources for the virtual machine are provisioned from a hardware resource pool of a set of disjoint resource pools specific to the longevity class of the virtual machine.
    Type: Grant
    Filed: April 13, 2018
    Date of Patent: March 1, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Willis Lang, Jose Manuel Picado Leiva
  • Publication number: 20210406159
    Abstract: Testing methods and systems are provided for testing a resource manager of an application management system. The testing systems include a load orchestrator configured to obtain an artificial metric that is determined based on a utilization model (e.g., CPU usage, memory allocation, or disk usage, number of webserver sessions). The load orchestrator transmits the artificial metric to applications in a cluster of computing nodes. The applications transmit the artificial metric to the resource manager. In response, the resource manager generates control output for managing applications in the cluster based on the artificial metric (e.g., scaling, load balancing, application placement, failover of applications, or defragmenting data). The utilization model may include executable code for generating artificial metric values. The model may be received as a result of an API call. The load orchestrator may be instantiated in an orchestration framework or in each node of the cluster.
    Type: Application
    Filed: June 24, 2020
    Publication date: December 30, 2021
    Inventors: Justin G. MOELLER, Willis LANG
  • Publication number: 20210011747
    Abstract: A method of bridging a first database and a second database. The method includes maintaining a state machine representing a state of a virtual node in the first database, wherein the state of the virtual node conforms to a native protocol for native nodes of the first database, said native protocol of the first database differing from a foreign protocol of the second database. The method further includes receiving an incoming message for the virtual node from one of the native nodes according to the native protocol, and based on the incoming message, accessing the second database. The method further includes updating the state of the virtual node based on the incoming message according to the native protocol, and based on the state of the virtual node as updated, sending an outgoing message to one or more of the native nodes according to the native protocol.
    Type: Application
    Filed: July 11, 2019
    Publication date: January 14, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Willis LANG, Karthik RAMAN
  • Publication number: 20190317788
    Abstract: Computer resources are provisioned for a virtual machine based on expected lifespan. After a request to create a virtual machine is received, the virtual machine can be classified into one of a plurality of longevity classes utilizing a machine learning classifier based on data pertaining to the requestor or the virtual machine. The longevity classes capture different lifespans of the virtual machine between when the virtual machine is created and when the virtual machine is deleted. Subsequently, resources for the virtual machine are provisioned from a hardware resource pool of a set of disjoint resource pools specific to the longevity class of the virtual machine.
    Type: Application
    Filed: April 13, 2018
    Publication date: October 17, 2019
    Inventors: Willis Lang, Jose Manuel Picado Leiva
  • Patent number: 10225337
    Abstract: Managing cluster resources for a cluster. The method includes identifying a plurality of quiescence policies. Each of the quiescence policies define one or more conditions for cluster entities which when met, identify that cluster resources should be reclaimed from cluster entities by quiescing cluster entities. The method further includes, for each quiescence policy, identifying an amount of reclaimed capacity defining the amount of cluster resources that will be reclaimed by implementing the quiescence policy. The method further includes, for each quiescence policy, identifying an amount of reserve capacity defining the amount of cluster resources that should be reserved for resuming quiesced cluster entities. The method further includes; selecting a quiescence policy based on comparing the reclaimed capacities and reserve capacities for the quiescence policies. The method further includes, booking cluster resources for cluster entities on the cluster according to the selected quiescence policy.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: March 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthik Saligrama Ramachandra, David Johns DeWitt, Shize Xu, Qun Guo, Ajay Kalhan, Peter Alan Carlin, Willis Lang
  • Patent number: 9888065
    Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.
    Type: Grant
    Filed: May 16, 2016
    Date of Patent: February 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Publication number: 20180007128
    Abstract: Managing cluster resources for a cluster. The method includes identifying a plurality of quiescence policies. Each of the quiescence policies define one or more conditions for cluster entities which when met, identify that cluster resources should be reclaimed from cluster entities by quiescing cluster entities. The method further includes, for each quiescence policy, identifying an amount of reclaimed capacity defining the amount of cluster resources that will be reclaimed by implementing the quiescence policy. The method further includes, for each quiescence policy, identifying an amount of reserve capacity defining the amount of cluster resources that should be reserved for resuming quiesced cluster entities. The method further includes; selecting a quiescence policy based on comparing the reclaimed capacities and reserve capacities for the quiescence policies.
    Type: Application
    Filed: June 30, 2016
    Publication date: January 4, 2018
    Inventors: Karthik Saligrama Ramachandra, David Johns DeWitt, Shize Xu, Qun Guo, Ajay Kalhan, Peter Alan Carlin, Willis Lang
  • Publication number: 20170083588
    Abstract: Distributed query processing is often performed by a set of nodes that apply MapReduce to a data set and materialize partial results to storage, which are then aggregated to produce the query result. However, this architecture requires a preconfigured set of database nodes; can only fulfill queries that utilize MapReduce processing; and may be slowed down by materializing partial results to storage. Instead, distributed query processing can be achieved by choosing a node for various portions of the query, and generating customized code for the node that only performs the query portion that is allocated to the node. The node executes the code to perform the query portion, and rather than materializing partial results to storage, streams intermediate query results to a next selected node in the distributed query. Nodes selection may be involve matching the details of the query portion with the characteristics and capabilities of the available nodes.
    Type: Application
    Filed: December 7, 2016
    Publication date: March 23, 2017
    Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra
  • Publication number: 20160261687
    Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.
    Type: Application
    Filed: May 16, 2016
    Publication date: September 8, 2016
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Patent number: 9350800
    Abstract: Defragmenting a cluster service to service additional capacity requests on the service. A method includes determining an amount of server resources needed for an additional deployment reservation request for a new deployment or increasing reservation of resources of an existing deployment. The method further includes determining a server that currently does not have capacity to service the additional deployment reservation request. The method further includes determining how resources on the server can be freed up by moving other replicas of other deployments on the server to other servers to allow the server to service the additional deployment reservation request.
    Type: Grant
    Filed: June 5, 2013
    Date of Patent: May 24, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Willis Lang, Nikhil Teletia, Ajay Kalhan, Alan Dale Halverson, Prashant Varanasi
  • Publication number: 20150379083
    Abstract: A custom query execution engine can be generated that captures a query. More particularly, the custom query execution engine can be generated based on combination of a query and an execution engine. Subsequent to generation, a custom query execution engine can be submitted to a system configured to execute the custom query execution engine and evaluate the query over a data store.
    Type: Application
    Filed: June 25, 2014
    Publication date: December 31, 2015
    Inventors: Willis Lang, Nikhil Teletia, Hideaki Kimura, Alan D. Halverson, Srinath Shankar, Karthik Ramachandra