Patents by Inventor Peter Carlin

Peter Carlin 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: 8140495
    Abstract: This disclosure provides techniques for asynchronously maintaining database indexes or sub-indexes. For example, a database management server may receive a data manipulation statement to modify particular data stored in a database and determine whether an index associated with executing the statement is maintained asynchronously. When the index is maintained asynchronously, maintenance of the index to reflect changes made to the particular data by executing the data manipulation statement may be delayed until an index maintenance event. The index maintenance may be based on an isolation level of a transaction including a query that triggered the index maintenance.
    Type: Grant
    Filed: May 4, 2009
    Date of Patent: March 20, 2012
    Assignee: Microsoft Corporation
    Inventors: Peter A. Carlin, Per-Ake Larson, Jingren Zhou
  • Patent number: 8112383
    Abstract: Various embodiments of the present invention enable functions, procedures, and triggers to be written in any of the .NET languages and executed by the RDBMS. User code can access data from the local or other SQL servers using the SQL Programming Model and both the SqlServer or SqlClient implementations respectively. Moreover, to improve upon the previous extensibility mechanism, a set of APIs (commonly known as “the in-process provider” or “inproc provider”) is utilized to provide efficient and easy to use data access while running inproc, a data access API that is an implementation of the ADO.net programming model.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: February 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Alazel Acheson, Shrinivas Ashwin, Jose A. Blakeley, Peter Carlin, Erik Ismert, Christian Kleinerman, Ganapathy Subramaniam Krishnamoorthy, Girkumar Nair
  • Publication number: 20100281005
    Abstract: This disclosure provides techniques for asynchronously maintaining database indexes or sub-indexes. For example, a database management server may receive a data manipulation statement to modify particular data stored in a database and determine whether an index associated with executing the statement is maintained asynchronously. When the index is maintained asynchronously, maintenance of the index to reflect changes made to the particular data by executing the data manipulation statement may be delayed until an index maintenance event. The index maintenance may be based on an isolation level of a transaction including a query that triggered the index maintenance.
    Type: Application
    Filed: May 4, 2009
    Publication date: November 4, 2010
    Applicant: Microsoft Corporation
    Inventors: Peter A. Carlin, Per-Ake Larson, Jingren Zhou
  • Patent number: 7596576
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Grant
    Filed: February 14, 2005
    Date of Patent: September 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose A. Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter A. Carlin
  • Patent number: 7437346
    Abstract: Various embodiments of the present invention are direct to the utilization of Blob Handles (BHs) which are an internal representation of a large value. BHs are immutable and stateless references to a large data object. The structure of a BH contains enough information to return an ILockBytes interface in order to provide access to the corresponding large data block, and a BH can also return information regarding its own lifetime description. A BH can be completely described using (a) a pointer to the beginning of BH data and (b) the byte-length of the BH.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: October 14, 2008
    Assignee: Microsoft Corporation
    Inventors: Shrinivas Ashwin, Jose A. Blakeley, Peter Carlin, Jun Fang, Ajay Kalhan, Christian Kleinerman, Stefano Stefani, Aleksandras Surna, Honggang Zhang
  • Patent number: 7418718
    Abstract: Systems and methods for enhanced runtime hosting are described. In one aspect the runtime hosting interface includes a host abstraction interface. The HAI allowing the runtime to configure host execution environment parameters and/or notify the host of a runtime event. In particular, the host abstraction interface (HAI) corresponds to execution environment abstractions supported by a host application. Responsive to an action or event, the runtime invokes an identified HAI or an associated object during execution of runtime managed code.
    Type: Grant
    Filed: February 3, 2004
    Date of Patent: August 26, 2008
    Assignee: Microsoft Corporation
    Inventors: Weiwen Liu, Steven J. Pratschner, Ian H. Carmichael, Peter A. Carlin, Christopher W. Brumme, Mason K. Bendixen, Beysim Sezgin, Sean E. Trowbridge, Christopher James Brown, Mei-Chin Tsai, Mahesh Prakriya, Raja Krishnaswamy, Alan C. Shi, Suzanne Maurine Cook
  • Patent number: 7406699
    Abstract: Systems and methods for enhanced runtime hosting are described. In one respect, the runtime identifies any abstraction interface(s) exposed by a host application. The abstraction interface(s) correspond to respective execution environment functionality implemented by the hosting application. During execution of runtime managed code and responsive to an action or event associated with an identified one of the respective execution environment abstractions, the runtime calls a specific interface or object corresponding to a specific one of the abstraction interface(s). This allows the host application to customize/enhance its execution environment, which includes the runtime, as a function of the implemented abstraction(s).
    Type: Grant
    Filed: April 2, 2003
    Date of Patent: July 29, 2008
    Assignee: Microsoft Corporation
    Inventors: Weiwen Liu, Steven J. Pratschner, Ian H. Carmichael, Peter A. Carlin, Christopher W. Brumme, Mason K. Bendixen, Beysim Sezgin
  • Patent number: 7376656
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined aggregate and methods that can be invoked on instances of the user-defined aggregate. The class is then registered with the database system, which enforces a specific contract for user-defined aggregates against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined aggregate in a database store. Second, the class must comprise certain specified methods that can be invoked on an instance of the class. Once these requirements are satisfied, the database system enables instances of the user-defined aggregate to be created. Preferably, the database system stores metadata about the user-defined aggregate for subsequent use in creating instances of the aggregate.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: May 20, 2008
    Assignee: Microsoft Corporation
    Inventors: Jose A. Blakeley, Hongang Zhang, Balaji Rathakrishnan, Ramachandran Venkatesh, Beysim Sezgin, Alexios Boukouvalas, Cesar A. Galindo-Legaria, Peter A. Carlin
  • Patent number: 7308460
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: December 11, 2007
    Assignee: Microsoft Corporation
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose A. Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter A. Carlin
  • Patent number: 7155442
    Abstract: Any string in any character set with an arbitrary-leveled weight-based comparison system is transformed into a bitstring in such a way that two transformed strings can be compared byte-by-byte. The resulting bit string has the minimum possible maximum length. The transformed bit strings can be inverted—meaning the original string can be recovered from the transformed string.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: December 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Peter Carlin, Jun Fang, Elizabeth Jean O'Neil, Patrick Eugene O'Neil
  • Patent number: 6976029
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: December 13, 2005
    Assignee: Microsoft Corporation
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose A. Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter A. Carlin
  • Publication number: 20050187893
    Abstract: Various embodiments of the present invention are direct to the utilization of Blob Handles (BHs) which are an internal representation of a large value. BHs are immutable and stateless references to a large data object. The structure of a BH contains enough information to return an ILockBytes interface in order to provide access to the corresponding large data block, and a BH can also return information regarding its own lifetime description. A BH can be completely described using (a) a pointer to the beginning of BH data and (b) the byte-length of the BH.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 25, 2005
    Inventors: Shrinivas Ashwin, Jose Blakeley, Peter Carlin, Jun Fang, Ajay Kalhan, Christian Kleinerman, Stefano Stefani, Aleksandras Surna, Honggang Zhang
  • Publication number: 20050187980
    Abstract: The present invention the is directed to systems and methods for hosting the CLR in a DBMS in order to achieve reliability, scalability, security, and robustness for enabled DBMS programming features. Integrating the CLR with a DBMS enables programming features in the database such as stored procedures, functions, triggers, types, and aggregates to be written in any of the programming languages that are compiled into IL code supported by the CLR. For the various embodiments of the present invention, the CLR is hosted inside the DBMS and, instead of making requests directly to the server operating system, the CLR instead interfaces with the DBMS via DBMS APIs for such requests, and only the DBMS directly interfaces with the server operating system to access the server.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 25, 2005
    Inventors: Peter Carlin, Jose Blakeley, Balaji Rathakrishnan, Beysim Sezgin, Mason Bendixen, Xiaowei Jiang, Aakash Kambuj, Alazel Acheson
  • Publication number: 20050187944
    Abstract: Various embodiments of the present invention enable functions, procedures, and triggers to be written in any of the .NET languages and executed by the RDBMS. User code can access data from the local or other SQL servers using the SQL Programming Model and both the SqlServer or SqlClient implementations respectively. Moreover, to improve upon the previous extensibility mechanism, a set of APIs (commonly known as “the in-process provider” or “inproc provider”) is utilized to provide efficient and easy to use data access while running inproc, a data access API that is an implementation of the ADO.net programming model.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 25, 2005
    Inventors: Alazel Acheson, Shrinivas Ashwin, Jose Blakeley, Peter Carlin, Erik Ismert, Christian Kleinerman, Ganapathy Krishnamoorthy, Girikumar Nair
  • Publication number: 20050177589
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 11, 2005
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter Carlin
  • Publication number: 20050177585
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Application
    Filed: February 14, 2005
    Publication date: August 11, 2005
    Applicant: Microsoft Corporation
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter Carlin
  • Publication number: 20050177579
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined aggregate and methods that can be invoked on instances of the user-defined aggregate. The class is then registered with the database system, which enforces a specific contract for user-defined aggregates against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined aggregate in a database store.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 11, 2005
    Inventors: Jose Blakeley, Hongang Zhang, Balaji Rathakrishnan, Ramachandran Venkatesh, Beysim Sezgin, Alexios Boukouvalas, Cesar Galindo-Legaria, Peter Carlin
  • Publication number: 20050177556
    Abstract: The SQL Algebrizer of the present invention comprises a plurality of algorithms to “algebrize” SQL Trees to QP Algebra using an approach that is more consistent and much more efficient than typical algebrizers. More specifically, the Algebrizer of the present invention processes a SQL Tree using a reduced number of recursive depth-first passes by performing multiple operations in a single pass. Furthermore, the Algebrizer of the present invention also performs the operation of constant folding in this single, multi-operation pass so that the QP, upon receiving the QP Algebra, needs not perform this operation at all.
    Type: Application
    Filed: February 10, 2004
    Publication date: August 11, 2005
    Inventors: Jun Fang, Aakash Kambuj, Evgueni Zabokritski, Honggang Zhang, Peter Carlin
  • Publication number: 20050177583
    Abstract: A database system and method allows a user to write program code in a high-level programming language that implements a class that defines the structure of a user-defined type and methods that can be invoked on instances of the type. The class is then registered with the database system, which enforces a specific contract for user-defined types against the class. The contract comprises the following requirements. First, the class must specify one of a plurality of different formats for persisting instances of the user-defined type in a database store. Second, the class must be capable of returning a null value for the user-defined type. Third, the class must provide a method for converting the user-defined type to another type. Once these requirements are satisfied, the database system enables instances of the user-defined type to be created. A user-defined type can be used in all contexts where any other built-in type can be used.
    Type: Application
    Filed: December 17, 2004
    Publication date: August 11, 2005
    Applicant: Microsoft Corporation
    Inventors: Ramachandran Venkatesh, Jun Fang, Jose Blakeley, Beysim Sezgin, Balaji Rathakrishnan, Peter Carlin
  • Publication number: 20040237064
    Abstract: Systems and methods for enhanced runtime hosting are described. In one aspect the runtime hosting interface includes a host abstraction interface. The HAI allowing the runtime to configure host execution environment parameters and/or notify the host of a runtime event. In particular, the host abstraction interface (HAI) corresponds to execution environment abstractions supported by a host application. Responsive to an action or event, the runtime invokes an identified HAI or an associated object during execution of runtime managed code.
    Type: Application
    Filed: February 3, 2004
    Publication date: November 25, 2004
    Applicant: Microsoft Corporation
    Inventors: Weiwen Liu, Steven J. Pratschner, Ian H. Carmichael, Peter A. Carlin, Christopher W. Brumme, Mason K. Bendixen, Beysim Sezgin, Sean E. Trowbridge, Christopher James Brown, Mei-Chin Tsai, Mahesh Prakriya, Raja Krishnaswamy, Alan C. Shi, Suzanne Maurine Cook