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: 20240070145Abstract: 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: ApplicationFiled: November 8, 2023Publication date: February 29, 2024Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
-
Patent number: 11860860Abstract: 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: GrantFiled: July 9, 2021Date of Patent: January 2, 2024Assignee: Cockroach Labs, Inc.Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
-
Publication number: 20230021150Abstract: 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: ApplicationFiled: July 9, 2021Publication date: January 19, 2023Inventors: Nathan J. VanBenschoten, Andrei Matei, Andrew E. Kimball
-
Patent number: 9697379Abstract: 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: GrantFiled: June 8, 2015Date of Patent: July 4, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 9679156Abstract: 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: GrantFiled: March 7, 2016Date of Patent: June 13, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Publication number: 20160188901Abstract: 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: ApplicationFiled: March 7, 2016Publication date: June 30, 2016Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 9305017Abstract: 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: GrantFiled: December 12, 2014Date of Patent: April 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Publication number: 20150269186Abstract: 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: ApplicationFiled: June 8, 2015Publication date: September 24, 2015Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 9069791Abstract: 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: GrantFiled: December 12, 2014Date of Patent: June 30, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Publication number: 20150100551Abstract: 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: ApplicationFiled: December 12, 2014Publication date: April 9, 2015Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Publication number: 20150095377Abstract: 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: ApplicationFiled: December 12, 2014Publication date: April 2, 2015Inventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 8924575Abstract: 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: GrantFiled: February 3, 2014Date of Patent: December 30, 2014Assignee: Microsoft CorporationInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Publication number: 20140150076Abstract: 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: ApplicationFiled: February 3, 2014Publication date: May 29, 2014Applicant: Microsoft CorporationInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 8645550Abstract: 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: GrantFiled: February 18, 2010Date of Patent: February 4, 2014Assignee: Microsoft CorporationInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 8132093Abstract: 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: GrantFiled: August 14, 2006Date of Patent: March 6, 2012Assignee: Microsoft CorporationInventors: Ralf Lammel, Anders Hejlsberg, Andrew E. Kimball, David Lawrence Remy, Erik Meijer
-
Publication number: 20110202667Abstract: 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: ApplicationFiled: February 18, 2010Publication date: August 18, 2011Applicant: Microsoft CorporationInventors: Andrew E. Kimball, Jeffrey R. Currier, Xiaoyu Wu, Zhongwei Wu
-
Patent number: 7676476Abstract: 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: GrantFiled: August 25, 2004Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Yan V. Leshinsky, Arpan A. Desai, Andrew E. Kimball
-
Publication number: 20090037876Abstract: 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: ApplicationFiled: July 31, 2007Publication date: February 5, 2009Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, Avner Y. Aharoni, David N. Schach, Andrew E. Kimball
-
Patent number: 7472112Abstract: 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: GrantFiled: June 23, 2003Date of Patent: December 30, 2008Assignee: Microsoft CorporationInventors: Todd F. Pfleiger, Andrew E. Kimball, Arpan A. Desai
-
Patent number: 7454436Abstract: 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: GrantFiled: August 30, 2005Date of Patent: November 18, 2008Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, David L. Remy, Arpan A. Desai, Asad Jawahar, Andrew E. Kimball