Patents by Inventor Steven Freedman

Steven Freedman 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: 20180307721
    Abstract: A data system in which a parent transaction that has multiple nested transactions has isolation between the nested transactions. Each of at least some of the plurality of operations are included within a nested transaction within the parent transaction. For each of at least some of the nested transactions, a begin transaction identifier is assigned to the nested transaction; and on or around completion of the nested transaction, a completion transaction identifier is assigned as a statement identifier at least one object version operated upon by the nested transaction. Visibility of a particular version of an object to an active nested transaction may be verified by comparing the begin transaction identifier of the active nested transaction to the statement identifier of the particular version of the object. The comparison is done such that visibility achieves the proper isolation between nested transactions.
    Type: Application
    Filed: June 22, 2018
    Publication date: October 25, 2018
    Inventors: Nikola Vujic, Milos Andelkovic, Marko Zivanovic, Craig Steven Freedman, Erik Ismert
  • Patent number: 10055449
    Abstract: An in-memory database system stores the entirety of a database that is being operated on by a database system within main memory. The database includes a table that comprises a plurality of rows including a particular row. The database table comprises a first version of the particular row having a first valid time, and a second version having a second valid time. Index(es) are associated with the database table. Each index is implemented as a lock-free data structure and references the plurality of rows, including referencing the first and second versions of the particular row. A transaction acting on the first version of the particular row is executed. The first version of the particular row is visible to the transaction based on the first valid time and the second version of the particular row being not visible to the transaction based on the second valid time.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: August 21, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Patent number: 10019476
    Abstract: A data system in which a parent transaction that has multiple nested transactions has isolation between the nested transactions. Each of at least some of the plurality of operations are included within a nested transaction within the parent transaction. For each of at least some of the nested transactions, a begin transaction identifier is assigned to the nested transaction; and on or around completion of the nested transaction, a completion transaction identifier is assigned as a statement identifier at least one object version operated upon by the nested transaction. Visibility of a particular version of an object to an active nested transaction may be verified by comparing the begin transaction identifier of the active nested transaction to the statement identifier of the particular version of the object. The comparison is done such that visibility achieves the proper isolation between nested transactions.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: July 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikola Vujić, Milo{hacek over (s)} Andelković, Marko {hacek over (Z)}ivanović, Craig Steven Freedman, Erik Ismert
  • Publication number: 20180075089
    Abstract: An in-memory database system stores the entirety of a database that is being operated on by a database system within main memory. The database includes a table that comprises a plurality of rows including a particular row. The database table comprises a first version of the particular row having a first valid time, and a second version having a second valid time. Index(es) are associated with the database table. Each index is implemented as a lock-free data structure and references the plurality of rows, including referencing the first and second versions of the particular row. A transaction acting on the first version of the particular row is executed. The first version of the particular row is visible to the transaction based on the first valid time and the second version of the particular row being not visible to the transaction based on the second valid time.
    Type: Application
    Filed: November 27, 2017
    Publication date: March 15, 2018
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Patent number: 9830350
    Abstract: An in-memory database system includes database table stored in system memory. The database table comprises a plurality of rows including a particular row. Data corresponding to each row is stored entirely in the system memory. The database table comprises a first version of the particular row having a first valid time, and a second version having a second valid time. Index(es) are associated with the database table. Each index is implemented as a lock-free data structure and references the plurality of rows, including referencing the first and second versions of the particular row. A first transaction acting on the first version of the particular row is executed. The first version of the particular row is visible to the first transaction based on the first valid time and the second version of the particular row being not visible to the first transaction based on the second valid time.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: November 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Patent number: 9767147
    Abstract: Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: September 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Craig Steven Freedman, Erik Ismert
  • Patent number: 9547685
    Abstract: Mitigating problems related to the Halloween problem including where update operations potentially allow the record to be visited more than once during the operation. A method includes accessing an instance of a data store operation statement. The instance of the data store operation statement is executed causing an update or delete to an old version of data store record or creation of a data store record resulting in a new version of the data store record in the case of an update or creation of a data store record and a deleted version of the data store record in the case of a delete in the data store. The instance of the data store operation statement is correlated with the new version of the data store record or the deleted version of the data store record.
    Type: Grant
    Filed: August 18, 2015
    Date of Patent: January 17, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Craig Steven Freedman, Conor John Cunningham
  • Publication number: 20160350356
    Abstract: A data system in which a parent transaction that has multiple nested transactions has isolation between the nested transactions. Each of at least some of the plurality of operations are included within a nested transaction within the parent transaction. For each of at least some of the nested transactions, a begin transaction identifier is assigned to the nested transaction; and on or around completion of the nested transaction, a completion transaction identifier is assigned as a statement identifier at least one object version operated upon by the nested transaction. Visibility of a particular version of an object to an active nested transaction may be verified by comparing the begin transaction identifier of the active nested transaction to the statement identifier of the particular version of the object. The comparison is done such that visibility achieves the proper isolation between nested transactions.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Nikola Vujic, Milos Andelkovic, Marko Zivanovic, Craig Steven Freedman, Erik Ismert
  • Publication number: 20160147827
    Abstract: An in-memory database system includes database table stored in system memory. The database table comprises a plurality of rows including a particular row. Data corresponding to each row is stored entirely in the system memory. The database table comprises a first version of the particular row having a first valid time, and a second version having a second valid time. Index(es) are associated with the database table. Each index is implemented as a lock-free data structure and references the plurality of rows, including referencing the first and second versions of the particular row. A first transaction acting on the first version of the particular row is executed. The first version of the particular row is visible to the first transaction based on the first valid time and the second version of the particular row being not visible to the first transaction based on the second valid time.
    Type: Application
    Filed: January 29, 2016
    Publication date: May 26, 2016
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Publication number: 20160078084
    Abstract: Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program.
    Type: Application
    Filed: November 23, 2015
    Publication date: March 17, 2016
    Inventors: Craig Steven Freedman, Erik Ismert
  • Publication number: 20160048553
    Abstract: Mitigating problems related to the Halloween problem including where update operations potentially allow the record to be visited more than once during the operation. A method includes accessing an instance of a data store operation statement. The instance of the data store operation statement is executed causing an update or delete to an old version of data store record or creation of a data store record resulting in a new version of the data store record in the case of an update or creation of a data store record and a deleted version of the data store record in the case of a delete in the data store. The instance of the data store operation statement is correlated with the new version of the data store record or the deleted version of the data store record.
    Type: Application
    Filed: August 18, 2015
    Publication date: February 18, 2016
    Inventors: Craig Steven Freedman, Conor John Cunningham
  • Patent number: 9251214
    Abstract: A computer system includes a memory and a processor coupled to the memory. The processor is configured to execute instructions that cause execution of an in-memory database system that includes one or more database tables. Each database table includes a plurality of rows, where data representing each row is stored in the memory. The in-memory database system also includes a plurality of indexes associated with the one or more database tables, where each index is implemented by a lock-free data structure. Update logic at the in-memory database system is configured to update a first version of a particular row to create a second version of the particular row. The in-memory database system includes a non-blocking garbage collector configured to identify data representing outdated versions of rows.
    Type: Grant
    Filed: April 8, 2010
    Date of Patent: February 2, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
  • Patent number: 9195712
    Abstract: Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program.
    Type: Grant
    Filed: March 12, 2013
    Date of Patent: November 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Craig Steven Freedman, Erik Ismert
  • Publication number: 20150242439
    Abstract: Running a transaction against a database that allows the transaction to be automatically retried when the transaction fails such that certain transaction failures that cause the transaction to be automatically retried are not visible to an entity that receives data as a result of the execution of the transaction. A first set of statements of a transaction is identified by identifying statements that will cause a change in the database state. A second set of statements is identified, that result in data being generated to be sent to the entity. The method further includes executing the first set of statements to change the database. The method further includes running the second set of statements separately from the first set of statements to generate data to be sent to the entity.
    Type: Application
    Filed: February 24, 2014
    Publication date: August 27, 2015
    Applicant: Microsoft Corporation
    Inventors: Craig Steven Freedman, Michael James Zwilling, Erik Ismert
  • Patent number: 9116943
    Abstract: Mitigating problems related to the Halloween problem including where update operations potentially allow the record to be visited more than once during the operation. A method includes accessing an instance of a data store operation statement. The instance of the data store operation statement is executed causing an update or delete to an old version of data store record or creation of a data store record resulting in a new version of the data store record in the case of an update or creation of a data store record and a deleted version of the data store record in the case of a delete in the data store. The instance of the data store operation statement is correlated with the new version of the data store record or the deleted version of the data store record.
    Type: Grant
    Filed: May 7, 2014
    Date of Patent: August 25, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Craig Steven Freedman, Conor John Cunningham
  • Patent number: 8985281
    Abstract: An elevator installation with an elevator cab in an elevator shaft and a measurement tape for determining the position of the elevator cab within the elevator shaft, which measurement tape is arranged vertically in the elevator shaft and has a code along the measurement tape, and at least one marking element which is attached in the elevator shaft and has a reference marking, and a sensor apparatus which is attached to the elevator cab and includes an illumination source and a sensor, which form a detection field for detecting the measurement tape and with an evaluation apparatus. The reference marking is arranged such that it can be captured by the detection field and the sensor apparatus is also provided for detecting the reference marking and the evaluation apparatus aligns the position determined by the measurement tape with the reference marking.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: March 24, 2015
    Assignee: Cedes AG
    Inventors: Beat De Coi, Steven Freedman, Jan Giger, Tobias Leutenegger
  • Patent number: 8988213
    Abstract: A safety device for safeguarding a movable, guided movement element against undesired collisions with an object situated on a movement path of the movement element, said device comprising at least two sensors for detecting the object and the movement element and for outputting signals depending on the detection, and also having an evaluation unit for evaluating signals of the sensors and for generating a switch-off signal on the basis of the evaluation. For improved recognition of a risk of collision, the evaluation unit is designed to acquire from the at least two sensors a currently detected state vector from a set of state vectors which unambiguously comprise all possible combinations of the signals of the sensors, and to generate the switch-off signal in the case of predetermined state vectors.
    Type: Grant
    Filed: October 28, 2011
    Date of Patent: March 24, 2015
    Assignee: Cedes AG
    Inventors: Tobias Leutenegger, Steven Freedman
  • Patent number: 8857572
    Abstract: An elevator device for transporting persons and/or objects within an elevator shaft of a three-dimensional formation including at least two levels, in particular a building or the like. The elevator device includes an elevator car, in which the persons and/or objects to be transported can be accommodated, a running framework for mounting and guiding the elevator car, a position determining device for determining the position of the elevator car within the elevator shaft and/or with respect to the running framework. The position determining device includes marking units for marking the position of the elevator car relative to the running framework and the elevator shaft, a detection unit for detecting and/or reading out the marking units and also an evaluation unit for evaluating the measured values of the detection unit. The marking units are formed as carriers of a barcode, in particular a 2-D code, and the detection unit is formed as an image sensor, in particular as a camera.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: October 14, 2014
    Assignee: Cedes AG
    Inventors: Tobias Leutenegger, Steven Freedman
  • Publication number: 20140280030
    Abstract: Performing database queries. A method includes receiving a particular database query. The method further includes accessing a query plan based on the particular database query. The query plan has operators and specific operational parameters associated with each of the operators. The association of operators and specific operational parameters is specific to the particular database query. From the query plan, the method further includes instantiating a plurality of compiled code templates. Each code template includes executable code that when executed performs functionality of one of the operators from the query plan with the specific operational parameters applied in the compilation. The method further includes binding the code templates together using programmatic control flow to create a functioning program.
    Type: Application
    Filed: March 12, 2013
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: Craig Steven Freedman, Erik Ismert
  • Publication number: 20140244597
    Abstract: Mitigating problems related to the Halloween problem including where update operations potentially allow the record to be visited more than once during the operation. A method includes accessing an instance of a data store operation statement. The instance of the data store operation statement is executed causing an update or delete to an old version of data store record or creation of a data store record resulting in a new version of the data store record in the case of an update or creation of a data store record and a deleted version of the data store record in the case of a delete in the data store. The instance of the data store operation statement is correlated with the new version of the data store record or the deleted version of the data store record.
    Type: Application
    Filed: May 7, 2014
    Publication date: August 28, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Craig Steven Freedman, Conor John Cunningham