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: 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
-
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: 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: 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
-
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: 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
-
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: 8578399Abstract: 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: July 30, 2004Date of Patent: November 5, 2013Assignee: Microsoft CorporationInventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
-
Publication number: 20130013995Abstract: 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: ApplicationFiled: September 15, 2012Publication date: January 10, 2013Applicant: Microsoft CorporationInventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
-
Patent number: 8161372Abstract: 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: GrantFiled: December 9, 2005Date of Patent: April 17, 2012Assignee: Microsoft CorporationInventors: Charles D. Ellis, Matthew J. Androski, Robert G. Hawking, Simon Peyton Jones
-
Patent number: 7716249Abstract: 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: GrantFiled: September 16, 2005Date of Patent: May 11, 2010Assignee: Microsoft CorporationInventors: Tim L. Harris, Simon Peyton-Jones, Jonathan R. Howell, John R. Douceur
-
Patent number: 7698287Abstract: 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: GrantFiled: September 30, 2004Date of Patent: April 13, 2010Assignee: Microsoft CorporationInventors: 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: 20090235154Abstract: 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: ApplicationFiled: July 30, 2004Publication date: September 17, 2009Applicant: Microsoft CorporationInventors: Dan Y. Khen, Charles D. Ellis, Liviu Asnash, Eran Megiddo, Ira Levin, Simon Peyton-Jones
-
Patent number: 7415481Abstract: 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: GrantFiled: September 30, 2004Date of Patent: August 19, 2008Assignee: Microsoft CorporationInventors: 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: 7266763Abstract: 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: GrantFiled: November 26, 2002Date of Patent: September 4, 2007Assignee: Microsoft CorporationInventors: Simon Peyton-Jones, Alan Frank Blackwell, Margaret Myers Burnett
-
Publication number: 20070073693Abstract: 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: ApplicationFiled: September 16, 2005Publication date: March 29, 2007Applicant: Microsoft CorporationInventors: Tim Harris, Simon Peyton-Jones, Jonathan Howell, John Douceur
-
Publication number: 20060075328Abstract: 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: ApplicationFiled: September 30, 2004Publication date: April 6, 2006Applicant: Microsoft CorporationInventors: Andrew Becker, Charles Ellis, Joseph Chirilov, Juha Niemisto, Matthew Androski, Robert Collie, Robert Hawking, Simon Peyton-Jones
-
Publication number: 20060069696Abstract: 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: ApplicationFiled: September 30, 2004Publication date: March 30, 2006Applicant: Microsoft CorporationInventors: Andrew Becker, Charles Ellis, Joseph Chirilov, Juha Niemisto, Matthew Androski, Robert Collie, Robert Hawking, Simon Peyton-Jones, Weide Zhong