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: 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
  • Patent number: 7472112
    Abstract: A distributed query engine pipeline architecture comprises cascaded analysis engines that accept an input query and each identifies a portion of the input query that it can pass on to an execution engine. Each stage rewrites the input query to remove the portion identified and replaces it with a placeholder. The rewritten query is forwarded to the next analysis engine in the cascade. Each engine compiles the portion it identified so that an execution engine may process that portion. Execution preferably proceeds from the portion of the query compiled by the last analysis engine. The execution engine corresponding to the last analysis engine executes the query and makes a call to the next higher execution engine in the cascade for data from the preceding portion. The process continues until the results from the input query are fully assembled.
    Type: Grant
    Filed: June 23, 2003
    Date of Patent: December 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Todd F. Pfleiger, Andrew E. Kimball, Arpan A. Desai
  • Patent number: 7454436
    Abstract: A system for managing data element names, comprises a parent table for listing names of data elements that is constrained such that the parent table cannot grow beyond a first predetermined size. The system also includes a child table for listing names of data elements that is derived from the parent table and that is constrained such that the child table cannot grow beyond a second predetermined size. Methods for using the system are also provided.
    Type: Grant
    Filed: August 30, 2005
    Date of Patent: November 18, 2008
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, David L. Remy, Arpan A. Desai, Asad Jawahar, Andrew E. Kimball