Patents by Inventor Peyton A. Jones
Peyton A. Jones 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: 11630947Abstract: The present disclosure describes a value referred to as a compound object that stores multiple values in a single cell, wherein those multiple values are organized according to a defined structure. The compound object may store multiple values according to a known defined data structure such as, for example, a record, vector, matrix, table, or array. In other embodiments, the compound object may store multiple values as any nested combination of any one of the known or user-defined data structures. Each of the values stored in the compound object are individually referenceable and can fully participate with spreadsheet functionality including calculations, referencing, and formatting.Type: GrantFiled: November 1, 2016Date of Patent: April 18, 2023Assignee: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Steven Kraynak, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones, Andrew Becker
-
Patent number: 11093704Abstract: The present disclosure is directed to systems and methods for implementing rich data types in a spreadsheet application. Generally, a value being of a rich data type is as a type of value that has context and established relationships with other types of data. In particular, a rich data type is a data value having associated context, which may be units (e.g., inches, miles, meters, kilograms, seconds, joules, hertz, Fahrenheit, etc.) or other information about the data's type (e.g., city, stock, NCAA football team, car, restaurant, school, etc.). Additionally, a value being of a rich data type further includes established relationships with other types of data.Type: GrantFiled: March 2, 2020Date of Patent: August 17, 2021Assignee: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
-
Patent number: 10963635Abstract: Aspects of the present disclosure further provide the ability to define, among other features, the layout of the cell view of the cell in which the compound object is stored as well as the card view of the compound object. Aspects of the present disclosure further provide the ability to modify properties associated with the values stored in a compound object, including, but not limited to properties of calculated values, value formatting, and permissions.Type: GrantFiled: November 1, 2016Date of Patent: March 30, 2021Assignee: Microsoft Technology Licensing, LLCInventors: John Campbell, Benjamin Edward Rampson, Christian Canton, Simon Peyton Jones
-
Patent number: 10936804Abstract: To prevent spreadsheet errors, a solution is disclosed that provides a multiple-region spreadsheet including additional representations, providing readily usable creation and editing of computational structure operations, without altering the conventional grid representation of a spreadsheet or its formula syntax. The multiple-region spreadsheet may include a traditional row-column arrangement of cells in a grid format, along with a calculation view pane intended to display underlying formulas used in the grid along with truncated cell assignments.Type: GrantFiled: July 27, 2018Date of Patent: March 2, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Donald Gordon, Neil Toronto, Simon Loftus Peyton Jones, Advait Sarkar, Richard Matthew McCutchen
-
Patent number: 10891434Abstract: Methods for generation and execution of elastic sheet-defined functions and arrays are performed by systems, devices, and apparatuses. Elastic sheet-defined functions are generated from inelastic defined functions. Specific notations for tile ranges and range references of inputs for an inelastic function are generated, and heights, widths, rows, and columns of the inputs are modified with delta variables. Constraints for the delta variables are generated and mapped to solve for a constraints solution for a given inelastic function. Based on the constraints solution, an elastic sheet-defined function is generated that takes dynamic input ranges of different sizes. Elastic sheet-defined functions are executed to prevent overlap of tiles and ranges for variables by generating new sheets for tiles and ranges, dynamically moving tiles and ranges, and assigning cells as arrays. Software programming arrays are also dynamically sized in a similar manner.Type: GrantFiled: November 21, 2018Date of Patent: January 12, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Simon L. Peyton Jones, Advait Sarkar, Andrew Gordon, Richard Matthew McCutchen
-
Publication number: 20200202069Abstract: The present disclosure is directed to systems and methods for implementing rich data types in a spreadsheet application. Generally, a value being of a rich data type is as a type of value that has context and established relationships with other types of data. In particular, a rich data type is a data value having associated context, which may be units (e.g., inches, miles, meters, kilograms, seconds, joules, hertz, Fahrenheit, etc.) or other information about the data's type (e.g., city, stock, NCAA football team, car, restaurant, school, etc.). Additionally, a value being of a rich data type further includes established relationships with other types of data.Type: ApplicationFiled: March 2, 2020Publication date: June 25, 2020Applicant: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
-
Patent number: 10691681Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing local distribution heuristics. One of the methods includes receiving an original expression having a conjunction comprising a context term and a disjunction of a plurality of other terms. The context term and the disjunction are evaluated according to one or more local distribution heuristics to determine that the context term is a candidate for distribution across the disjunction of the plurality of other terms. In response, a transformed expression is generated in which the candidate context term is distributed across the disjunction of the plurality of other terms.Type: GrantFiled: September 21, 2017Date of Patent: June 23, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Aditya Sharad, Alexander Eyers-Taylor, Michael Peyton Jones
-
Publication number: 20200167415Abstract: Methods for generation and execution of elastic sheet-defined functions and arrays are performed by systems, devices, and apparatuses. Elastic sheet-defined functions are generated from inelastic defined functions. Specific notations for tile ranges and range references of inputs for an inelastic function are generated, and heights, widths, rows, and columns of the inputs are modified with delta variables. Constraints for the delta variables are generated and mapped to solve for a constraints solution for a given inelastic function. Based on the constraints solution, an elastic sheet-defined function is generated that takes dynamic input ranges of different sizes. Elastic sheet-defined functions are executed to prevent overlap of tiles and ranges for variables by generating new sheets for tiles and ranges, dynamically moving tiles and ranges, and assigning cells as arrays. Software programming arrays are also dynamically sized in a similar manner.Type: ApplicationFiled: November 21, 2018Publication date: May 28, 2020Inventors: Simon L. Peyton Jones, Advait Sarkar, Andrew Gordon, Richard Matthew McCutchen
-
Patent number: 10579724Abstract: The present disclosure is directed to systems and methods for implementing rich data types in a spreadsheet application. Generally, a value being of a rich data type is as a type of value that has context and established relationships with other types of data. In particular, a rich data type is a data value having associated context, which may be units (e.g., inches, miles, meters, kilograms, seconds, joules, hertz, Fahrenheit, etc.) or other information about the data's type (e.g., city, stock, NCAA football team, car, restaurant, school, etc.). Additionally, a value being of a rich data type further includes established relationships with other types of data.Type: GrantFiled: November 1, 2016Date of Patent: March 3, 2020Assignee: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
-
Publication number: 20200034415Abstract: To prevent spreadsheet errors, a solution is disclosed that provides a multiple-region spreadsheet including additional representations, providing readily usable creation and editing of computational structure operations, without altering the conventional grid representation of a spreadsheet or its formula syntax. The multiple-region spreadsheet may include a traditional row-column arrangement of cells in a grid format, along with a calculation view pane intended to display underlying formulas used in the grid along with truncated cell assignments.Type: ApplicationFiled: July 27, 2018Publication date: January 30, 2020Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Andrew Donald GORDON, Neil TORONTO, Simon Loftus PEYTON JONES, Advait SARKAR, Richard Matthew McCUTCHEN
-
Publication number: 20190087456Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing local distribution heuristics. One of the methods includes receiving an original expression having a conjunction comprising a context term and a disjunction of a plurality of other terms. The context term and the disjunction are evaluated according to one or more local distribution heuristics to determine that the context term is a candidate for distribution across the disjunction of the plurality of other terms. In response, a transformed expression is generated in which the candidate context term is distributed across the disjunction of the plurality of other terms.Type: ApplicationFiled: September 21, 2017Publication date: March 21, 2019Inventors: Aditya Sharad, Alexander Eyers-Taylor, Michael Peyton Jones
-
Patent number: 10055197Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing differential recursive evaluation. One of the methods includes receiving an original recursive expression that defines tuples belonging to an output relation. A final delta expression is generated including repeatedly applying one or more delta rules to the initial delta expression, wherein the final delta expression has at least one call to a delta relation that represents tuples generated by the final delta expression on a previous iteration. Until the final delta expression generates no new tuples, the final delta expression is evaluated using the tuples computed by the final delta expression on the previous iteration wherever the call to the delta relation occurs and the output relation is updated including adding to the output relation any tuples newly generated by evaluating the final delta expression.Type: GrantFiled: May 25, 2017Date of Patent: August 21, 2018Assignee: Semmle LimitedInventor: Michael Peyton Jones
-
Patent number: 9996583Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing differential recursive evaluation of recursive aggregates. One of the methods includes receiving an original recursive expression that defines tuples belonging to an output relation, wherein the original recursive expression has a recursive aggregation construct, the recursive aggregation construct having a range and a recursive term. An aggregates delta rule is applied to the initial delta expression to generate a final delta expression having an existential term and a gamma term. The existential term is evaluated to generate tuples related by the range and tuples in the delta relation, and the aggregation construct is evaluated using tuples generated by the existential term as the range of the aggregation construct. The output relation is updated including adding to the output relation any tuples newly generated by evaluating the final delta expression.Type: GrantFiled: May 25, 2017Date of Patent: June 12, 2018Assignee: Semmle LimitedInventor: Michael Peyton Jones
-
Patent number: 9792273Abstract: A spreadsheet application or other application supporting formulaic cells that automatically provides support for a number of diverse formulaic functions. The automatically provided diverse formulaic functions include a function returning the value of the formula logic if the logic can be evaluated without an error. Another function finds a value in a formulaic cell that is in the same row as a particular value from the first column and the same column as a particular value in the first row. Other functions allow a selection of a set of multiple lookup rows and columns for matching the values used as variables in the function. The spreadsheet application is further configured to automatically supply other functions in addition to those described.Type: GrantFiled: April 15, 2014Date of Patent: October 17, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Roy Simkhay, Charles D. Ellis, Alexander Babanov, David F. Gainer, Daniel P. Cory, Matthew J. Androski, Andrew J. Becker, Jeremy R. Pankratz, Monica McAmis, Simon Loftus Peyton Jones
-
Publication number: 20170124050Abstract: The present disclosure describes a value referred to as a compound object that stores multiple values in a single cell, wherein those multiple values are organized according to a defined structure. The compound object may store multiple values according to a known defined data structure such as, for example, a record, vector, matrix, table, or array. In other embodiments, the compound object may store multiple values as any nested combination of any one of the known or user-defined data structures. Each of the values stored in the compound object are individually referenceable and can fully participate with spreadsheet functionality including calculations, referencing, and formatting.Type: ApplicationFiled: November 1, 2016Publication date: May 4, 2017Applicant: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Steven Kraynak, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones, Andrew Becker
-
Publication number: 20170124051Abstract: Aspects of the present disclosure further provide the ability to define, among other features, the layout of the cell view of the cell in which the compound object is stored as well as the card view of the compound object. Aspects of the present disclosure further provide the ability to modify properties associated with the values stored in a compound object, including, but not limited to properties of calculated values, value formatting, and permissions.Type: ApplicationFiled: November 1, 2016Publication date: May 4, 2017Applicant: Microsoft Technology Licensing, LLCInventors: John Campbell, Benjamin Edward Rampson, Christian Canton, Simon Peyton Jones
-
Publication number: 20170124049Abstract: The present disclosure is directed to systems and methods for implementing rich data types in a spreadsheet application. Generally, a value being of a rich data type is as a type of value that has context and established relationships with other types of data. In particular, a rich data type is a data value having associated context, which may be units (e.g., inches, miles, meters, kilograms, seconds, joules, hertz, Fahrenheit, etc.) or other information about the data's type (e.g., city, stock, NCAA football team, car, restaurant, school, etc.). Additionally, a value being of a rich data type further includes established relationships with other types of data.Type: ApplicationFiled: November 1, 2016Publication date: May 4, 2017Applicant: Microsoft Technology Licensing, LLCInventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
-
Patent number: 9317495Abstract: A method, system, and apparatus are provided for exposing and calling workbook models via remote function calls. According to the system, a client computer executes a spreadsheet program for creating a workbook model. The workbook model may be published to a server computer along with data defining a function name and the cells that should be used as inputs and outputs to the model. The system also includes a server computer that receives and responds to remote function calls directed toward workbook functions. When a function call is received at the server computer for a workbook function, the server computer populates the cells in the workbook identified as inputs with input parameters received with the function call and recalculates the workbook. The data contained in the output cells is then returned as a reply to the remote function call.Type: GrantFiled: September 15, 2012Date of Patent: April 19, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
-
Patent number: 9261037Abstract: A system including a channel; a particulate matter sensor disposed in fluid communication with the channel, the particulate matter sensor having a sensitivity that increases in response to exposure to particulate matter; and a controller coupled to the particulate matter sensor and configured to monitor the channel in response to the sensitivity of the particular matter sensor.Type: GrantFiled: September 14, 2012Date of Patent: February 16, 2016Assignee: CUMMINS EMISSION SOLUTIONS, INC.Inventors: Daniel R. Harshbarger, Ross C. Berryhill, James Peyton-Jones
-
Publication number: 20140229813Abstract: A spreadsheet application or other application supporting formulaic cells that automatically provides support for a number of diverse formulaic functions. The automatically provided diverse formulaic functions include a function returning the value of the formula logic if the logic can be evaluated without an error. Another function finds a value in a formulaic cell that is in the same row as a particular value from the first column and the same column as a particular value in the first row. Other functions allow a selection of a set of multiple lookup rows and columns for matching the values used as variables in the function. The spreadsheet application is further configured to automatically supply other functions in addition to those described.Type: ApplicationFiled: April 15, 2014Publication date: August 14, 2014Applicant: MICROSOFT CORPORATIONInventors: Roy Simkhay, Charles D. Ellis, Alexander Babanov, David F. Gainer, Daniel P. Cory, Matthew J. Androski, Andrew J. Becker, Jeremy R. Pankratz, Monica McAmis, Simon Loftus Peyton Jones