Patents by Inventor Andrew E. Kimball

Andrew E. Kimball 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: 20240378191
    Abstract: Systems and methods for executing conflicting read and write transactions based on a lock release protocol are provided. An intent present at a version of a key can be identified by a first transaction. The first transaction can verify whether the intent corresponds to a second transaction having a simple-committed type to observe the intent as a committed value and proceed with execution or to wait on the second transaction to complete execution. Based on the second transaction being a simple-committed type, the first transaction can determine a provisional value included in the intent as a read value or write a new intent to a new version of the key without waiting for the second transaction to explicitly commit.
    Type: Application
    Filed: May 12, 2023
    Publication date: November 14, 2024
    Inventors: Sumeer Kumar Bhola, Nathan J. VanBenschoten, Tobias Grieger, Andrew E. Kimball
  • Publication number: 20240220498
    Abstract: Methods and systems for locality-aware query planning in a distributed computing system are provided. A query is received from a client device at a gateway node geographically located in a first database region. A plurality of query plans for execution of the query are generated at the gateway node. A first query plan of the query plans is configured to cause communication between the gateway node and a subset of computing nodes that are geographically located in a first external database region that is external to the first database region. A respective cost for each of the query plans is determined. The respective cost for the first query plan is based on an indication of a latency between the first database region and the first external database region. An optimal query plan from the query plans is determined and executed based on each respective cost for the query plans.
    Type: Application
    Filed: December 29, 2022
    Publication date: July 4, 2024
    Inventors: Rebecca Taft, Mark Sirek, Andrew E. Kimball
  • Publication number: 20240070145
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Application
    Filed: November 8, 2023
    Publication date: February 29, 2024
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
  • Patent number: 11860860
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Grant
    Filed: July 9, 2021
    Date of Patent: January 2, 2024
    Assignee: Cockroach Labs, Inc.
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
  • Publication number: 20230021150
    Abstract: Methods and systems for executing non-blocking transactions at a database are provided. The method includes receiving a write transaction that is directed to a partition of a table stored by a cluster of database nodes. The method includes generating, at a database node of the cluster, a synthetic timestamp based on a first time associated with the database node and a duration, wherein the synthetic timestamp exceeds the first time by the duration. The method includes executing, based on determining the synthetic timestamp, one or more operations of the write transaction at one or more replicas of the partition. The method includes committing, based on a threshold number of acknowledgements, the one or more operations of the write transaction at the one or more replicas. The method includes sending, based on a second time exceeding the synthetic timestamp, an indication of success of the write transaction.
    Type: Application
    Filed: July 9, 2021
    Publication date: January 19, 2023
    Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
  • Patent number: 9697379
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: June 8, 2015
    Date of Patent: July 4, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 9679156
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: March 7, 2016
    Date of Patent: June 13, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Publication number: 20160188901
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: March 7, 2016
    Publication date: June 30, 2016
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 9305017
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: April 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Publication number: 20150269186
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: June 8, 2015
    Publication date: September 24, 2015
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 9069791
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: June 30, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Publication number: 20150100551
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: December 12, 2014
    Publication date: April 9, 2015
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Publication number: 20150095377
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: December 12, 2014
    Publication date: April 2, 2015
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 8924575
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: February 3, 2014
    Date of Patent: December 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Publication number: 20140150076
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: February 3, 2014
    Publication date: May 29, 2014
    Applicant: Microsoft Corporation
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 8645550
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Grant
    Filed: February 18, 2010
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 8132093
    Abstract: Object instance annotation technology is disclosed. This technology is capable of annotating any number of instances for any number of objects. Object instance annotations can be of various types, and annotations can serve as data extensions. Objects are enabled for annotation either by developers, or, alternatively, automatically by a programming language or framework. Furthermore, an interface is provided for annotations. This interface has a variety of operations, some of which allow for adding, retrieving, or removing annotations. Annotations can be reference types or even value types. They may also be private class types. Once object instances are enabled for annotating, and the interface is set up, this interface can annotate a multitude of different kinds of objects. For example, it can annotate generic objects, XML trees, CodeDom trees, and so on.
    Type: Grant
    Filed: August 14, 2006
    Date of Patent: March 6, 2012
    Assignee: Microsoft Corporation
    Inventors: Ralf Lammel, Anders Hejlsberg, Andrew E. Kimball, David Lawrence Remy, Erik Meijer
  • Publication number: 20110202667
    Abstract: Aspects of the subject matter described herein relate database virtualization. In aspects, clusters of database servers may be located at various locations of the Internet. When a client seeks to access a logical database, the client may send a logical server and logical database name in a data structure. These names may be used to find a physical server(s) and database(s) that correspond to the logical database. Once the location is determined, a proxy component is used to intercept and/or forward communications between the client and the physical server(s) and database(s) corresponding to the logical database. Using this system, a client may access data from a logical database without knowing the physical address of the logical user database.
    Type: Application
    Filed: February 18, 2010
    Publication date: August 18, 2011
    Applicant: Microsoft Corporation
    Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
  • Patent number: 7676476
    Abstract: The subject invention pertains to a system and method of incorporating collation information into data types. In particular, the subject invention provides for parameterizing data types with collation information such that a comparison between two different collations generates a static-type error rather than a run-time error. Additionally, the invention affords for conveniently working with localized data types to allow generic parameterization over collations as well as ordinary types. In the context of strings, the present invention enables concurrent use of strings in multiple languages and facilitates the correct handling thereof.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Yan V. Leshinsky, Arpan A. Desai, Andrew E. Kimball
  • Publication number: 20090037876
    Abstract: White space is made visible in a code editor to facilitate identification thereof via color, symbols, characters and/or the like. Further, white space can be explicitly identified and distinctly presented of various types including significant, insignificant and editor introduced. White space information can also be employed to aid code compilation and/or processing.
    Type: Application
    Filed: July 31, 2007
    Publication date: February 5, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Henricus Johannes Maria Meijer, Avner Y. Aharoni, David N. Schach, Andrew E. Kimball