Patents by Inventor Simon Peyton-Jones

Simon Peyton-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: 11630947
    Abstract: 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: Grant
    Filed: November 1, 2016
    Date of Patent: April 18, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Steven Kraynak, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones, Andrew Becker
  • Patent number: 11093704
    Abstract: 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: Grant
    Filed: March 2, 2020
    Date of Patent: August 17, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
  • Patent number: 10963635
    Abstract: 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: Grant
    Filed: November 1, 2016
    Date of Patent: March 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Benjamin Edward Rampson, Christian Canton, Simon Peyton Jones
  • Publication number: 20200202069
    Abstract: 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: Application
    Filed: March 2, 2020
    Publication date: June 25, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
  • Patent number: 10579724
    Abstract: 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: Grant
    Filed: November 1, 2016
    Date of Patent: March 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
  • Publication number: 20170124050
    Abstract: 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: Application
    Filed: November 1, 2016
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Steven Kraynak, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones, Andrew Becker
  • Publication number: 20170124051
    Abstract: 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: Application
    Filed: November 1, 2016
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Benjamin Edward Rampson, Christian Canton, Simon Peyton Jones
  • Publication number: 20170124049
    Abstract: 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: Application
    Filed: November 1, 2016
    Publication date: May 4, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: John Campbell, Carlos Augusto Otero, Benjamin Edward Rampson, Allison Rutherford, Christian Canton, Samuel C. Radakovitz, Simon Peyton Jones
  • Patent number: 9317495
    Abstract: 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: Grant
    Filed: September 15, 2012
    Date of Patent: April 19, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
  • Patent number: 8578399
    Abstract: 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: Grant
    Filed: July 30, 2004
    Date of Patent: November 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
  • Publication number: 20130013995
    Abstract: 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: Application
    Filed: September 15, 2012
    Publication date: January 10, 2013
    Applicant: Microsoft Corporation
    Inventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
  • Patent number: 8161372
    Abstract: Individual cells within a spreadsheet may contain an extensible value as defined by an extensible value type. The extensible value type is a user defined value type that is incorporated into the spreadsheet as a supported data type. Generally, the extensible data types provide support for types that are not internally defined by a spreadsheet. When the extensible value type is defined, an associated set of functions are developed to operate on the type. These functions are added to the set of base functions supported by the spreadsheet. The functions, therefore, behave in a substantially similar manner to the set of base spreadsheet functions. The extensible values that are contained within the cells may be acted upon in the same way that supported base types are acted upon.
    Type: Grant
    Filed: December 9, 2005
    Date of Patent: April 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Charles D. Ellis, Matthew J. Androski, Robert G. Hawking, Simon Peyton Jones
  • Patent number: 7716249
    Abstract: The described implementations relate to efficient scheduling of transactions and tasks. A memory location, address, or variable previously accessed by a blocked entity is observed periodically to determine an appropriate time to wake and retry the blocked entity. If the previous accessed memory location, address or variable changes state, a scheduler wakes the blocked entity and the blocked entity retries processing. A doubly-indexed data structure of blocked entities and memory locations associated with the blocked entities may be used to efficiently determine when a retrying execution would be profitable.
    Type: Grant
    Filed: September 16, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Tim L. Harris, Simon Peyton-Jones, Jonathan R. Howell, John R. Douceur
  • Patent number: 7698287
    Abstract: The present invention provides several database formulas that can manipulate large sets of data. Each database formula is customizable and repeatable without user intervention. Thus, users may enter numerous options that can cover the user's desire for data output in certain forms or formats, select a set of input data, and consistently receive a set of output data. In some embodiments, the user may refer to the set of data semantically instead of specifying a range of cells to use in the database formula. Referring to the data semantically allows the database formulas to adjust to changes in the range of cells new data may occupy.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew J. Becker, Charles D. Ellis, Joseph M. Chirilov, Juha P. Niemisto, Matthew J. Androski, Robert C. Collie, Robert G. Hawking, Simon Peyton-Jones
  • Publication number: 20090235154
    Abstract: 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: Application
    Filed: July 30, 2004
    Publication date: September 17, 2009
    Applicant: Microsoft Corporation
    Inventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
  • Patent number: 7415481
    Abstract: The present invention relates to a new type of structured name within a spreadsheet program that allows users to refer to tables, columns of data within tables, headers of tables, totals from tables, PivotTables®, and portions of PivotTable® data by the data's headers. Embodiments of the present invention comprise a method for referring to a set of data that comprises receiving one or more semantic designations, wherein the one or more semantic designations name a set of context information that describes one or more items of data in a data structure, automatically creating a structural reference, and associating the context information with the structural reference.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: August 19, 2008
    Assignee: Microsoft Corporation
    Inventors: Andrew J. Becker, Charles D. Ellis, Joseph M. Chirilov, Juha P. Niemisto, Matthew J. Androski, Robert C. Collie, Robert G. Hawking, Simon Peyton-Jones, Weide Zhong
  • Patent number: 7266763
    Abstract: A method of creating a user-defined function in a spreadsheet application is provided. The user-defined function is callable by a calling label in the spreadsheet application. A formula is received in the spreadsheet application. The formula is transferred to a function sheet of the spreadsheet application to define at least a portion of a function body. An interface is defined by identifying the calling label, an input parameter and a result parameter of the user-defined function. The function body operates on an argument corresponding to the input parameter and generates a result corresponding to the result parameter. The interface is stored in association with the function body to create the user-defined function.
    Type: Grant
    Filed: November 26, 2002
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Simon Peyton-Jones, Alan Frank Blackwell, Margaret Myers Burnett
  • Publication number: 20070073693
    Abstract: The described implementations relate to efficient scheduling of transactions and tasks. A memory location, address, or variable previously accessed by a blocked entity is observed periodically to determine an appropriate time to wake and retry the blocked entity. If the previous accessed memory location, address or variable changes state, a scheduler wakes the blocked entity and the blocked entity retries processing. A doubly-indexed data structure of blocked entities and memory locations associated with the blocked entities may be used to efficiently determine when a retrying execution would be profitable.
    Type: Application
    Filed: September 16, 2005
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventors: Tim Harris, Simon Peyton-Jones, Jonathan Howell, John Douceur
  • Publication number: 20060075328
    Abstract: The present invention provides several database formulas that can manipulate large sets of data. Each database formula is customizable and repeatable without user intervention. Thus, users may enter numerous options that can cover the user's desire for data output in certain forms or formats, select a set of input data, and consistently receive a set of output data. In some embodiments, the user may refer to the set of data semantically instead of specifying a range of cells to use in the database formula. Referring to the data semantically allows the database formulas to adjust to changes in the range of cells new data may occupy.
    Type: Application
    Filed: September 30, 2004
    Publication date: April 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Becker, Charles Ellis, Joseph Chirilov, Juha Niemisto, Matthew Androski, Robert Collie, Robert Hawking, Simon Peyton-Jones
  • Publication number: 20060069696
    Abstract: The present invention relates to a new type of structured name within a spreadsheet program that allows users to refer to tables, columns of data within tables, headers of tables, totals from tables, PivotTables®, and portions of PivotTable® data by the data's headers. Embodiments of the present invention comprise a method for referring to a set of data that comprises receiving one or more semantic designations, wherein the one or more semantic designations name a set of context information that describes one or more items of data in a data structure, automatically creating a structural reference, and associating the context information with the structural reference.
    Type: Application
    Filed: September 30, 2004
    Publication date: March 30, 2006
    Applicant: Microsoft Corporation
    Inventors: Andrew Becker, Charles Ellis, Joseph Chirilov, Juha Niemisto, Matthew Androski, Robert Collie, Robert Hawking, Simon Peyton-Jones, Weide Zhong