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: 20180307721Abstract: 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: ApplicationFiled: June 22, 2018Publication date: October 25, 2018Inventors: Nikola Vujic, Milos Andelkovic, Marko Zivanovic, Craig Steven Freedman, Erik Ismert
-
Patent number: 10055449Abstract: 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: GrantFiled: November 27, 2017Date of Patent: August 21, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Patent number: 10019476Abstract: 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: GrantFiled: May 27, 2015Date of Patent: July 10, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Nikola Vujić, Milo{hacek over (s)} Andelković, Marko {hacek over (Z)}ivanović, Craig Steven Freedman, Erik Ismert
-
Publication number: 20180075089Abstract: 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: ApplicationFiled: November 27, 2017Publication date: March 15, 2018Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Patent number: 9830350Abstract: 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: GrantFiled: January 29, 2016Date of Patent: November 28, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Patent number: 9767147Abstract: 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: GrantFiled: November 23, 2015Date of Patent: September 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Craig Steven Freedman, Erik Ismert
-
Patent number: 9547685Abstract: 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: GrantFiled: August 18, 2015Date of Patent: January 17, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Craig Steven Freedman, Conor John Cunningham
-
Publication number: 20160350356Abstract: 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: ApplicationFiled: May 27, 2015Publication date: December 1, 2016Inventors: Nikola Vujic, Milos Andelkovic, Marko Zivanovic, Craig Steven Freedman, Erik Ismert
-
Publication number: 20160147827Abstract: 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: ApplicationFiled: January 29, 2016Publication date: May 26, 2016Inventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Publication number: 20160078084Abstract: 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: ApplicationFiled: November 23, 2015Publication date: March 17, 2016Inventors: Craig Steven Freedman, Erik Ismert
-
Publication number: 20160048553Abstract: 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: ApplicationFiled: August 18, 2015Publication date: February 18, 2016Inventors: Craig Steven Freedman, Conor John Cunningham
-
Patent number: 9251214Abstract: 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: GrantFiled: April 8, 2010Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Cristian Diaconu, Craig Steven Freedman, Per-Ake Larson, Michael James Zwilling
-
Patent number: 9195712Abstract: 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: GrantFiled: March 12, 2013Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Craig Steven Freedman, Erik Ismert
-
Publication number: 20150242439Abstract: 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: ApplicationFiled: February 24, 2014Publication date: August 27, 2015Applicant: Microsoft CorporationInventors: Craig Steven Freedman, Michael James Zwilling, Erik Ismert
-
Patent number: 9116943Abstract: 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: GrantFiled: May 7, 2014Date of Patent: August 25, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Craig Steven Freedman, Conor John Cunningham
-
Patent number: 8985281Abstract: 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: GrantFiled: May 25, 2012Date of Patent: March 24, 2015Assignee: Cedes AGInventors: Beat De Coi, Steven Freedman, Jan Giger, Tobias Leutenegger
-
Patent number: 8988213Abstract: 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: GrantFiled: October 28, 2011Date of Patent: March 24, 2015Assignee: Cedes AGInventors: Tobias Leutenegger, Steven Freedman
-
Patent number: 8857572Abstract: 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: GrantFiled: June 22, 2012Date of Patent: October 14, 2014Assignee: Cedes AGInventors: Tobias Leutenegger, Steven Freedman
-
Publication number: 20140280030Abstract: 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: ApplicationFiled: March 12, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Craig Steven Freedman, Erik Ismert
-
Publication number: 20140244597Abstract: 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: ApplicationFiled: May 7, 2014Publication date: August 28, 2014Applicant: MICROSOFT CORPORATIONInventors: Craig Steven Freedman, Conor John Cunningham