Compound data objects

US11630947B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11630947-B2
Application numberUS-201615340201-A
CountryUS
Kind codeB2
Filing dateNov 1, 2016
Priority dateNov 2, 2015
Publication dateApr 18, 2023
Grant dateApr 18, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of a spreadsheet, comprising: receiving a selection to create a compound object for storing multiple values in a spreadsheet cell, the multiple values organized according to a data structure; identifying the data structure for the multiple values based on determining a first data structure type for a first set of values and a second data structure type for a second subset of values in the first set; receiving, via a first user interface in a card view, properties defining the data structure for the compound object based on the first and second data structure types; creating the compound object for storing the multiple values in the spreadsheet cell based on the properties defining the data structure; populating the compound object with the multiple values via a second user interface in the card view; associating the compound object with the spreadsheet cell; receiving a first signal to expand the compound object across multiple cells of the spreadsheet; determining that there are no value-storing spreadsheet cells proximate to the spreadsheet cell that would be overwritten by expanding the compound object across the multiple cells of the spreadsheet; and storing values from the compound object across the multiple spreadsheet cells responsive to determining that there are not value-storing spreadsheet cells that would be overwritten. 2. The method of claim 1 , further comprising: receiving a selection of the first or second data structure type; and displaying an input field for receiving the selection of the first or second data structure type. 3. The method of claim 2 , wherein receiving the selection of the first or second data structure type comprises receiving a partial entry corresponding to the first or second data structure type. 4. The method of claim 3 , wherein the second user interface includes a guide display that prompts a user to provide the multiple values according to a schema of a structural definition of the first or second data structure type. 5. The method of claim 1 , wherein the multiple values comprise one or more of: a string; a number; a graph; a chart; or an error. 6. The method of claim 1 , further comprising receiving the multiple values in one of: a formula bar; and the user interface. 7. The method of claim 1 , wherein the first data structure type and the second data structure type are mutually different. 8. The method of claim 1 , wherein the first or second data structure type includes at least one of a record, a vector, a matrix, a table, or an array. 9. The method of claim 1 , further comprising: receiving a second signal to collapse values from the multiple cells back into an instance of the compound object; creating the instance of the compound object responsive to receiving the second signal; storing values from the multiple spreadsheet cells in the instance of the compound object; storing the instance of the compound object in the spreadsheet cell of the spreadsheet; and clearing the values associated with the instance of the compound object from the multiple spreadsheet cells. 10. The method of claim 1 , further comprising: determining that there is a first value-storing spreadsheet cell proximate to the spreadsheet cell that would be overwritten by expanding the compound across the multiple cells of the spreadsheet; shifting a value of the first value-storing spreadsheet cell to an open spreadsheet cell that does not include a value; and storing values from the compound object across the multiple spreadsheet cells after shifting the values of the first value-storing spreadsheet cell to the open spreadsheet cell. 11. A system comprising: at least one processing unit; and at least one memory storing computer executable instructions that, when executed by the at least one processing unit, cause the system to perform operations comprising: receiving a selection to create a compound object for storing multiple values in a spreadsheet cell, the multiple values organized according to a data structure; identifying the data structure for the multiple values based on determining a first data structure type for a first set of values and a second data structure type for a second subset of values in the first set; receiving, via a first user interface in a card view, properties defining the data structure for the compound object based on the first and second data structure types; creating the compound object for storing the multiple values in the spreadsheet cell based on the properties defining the data structure; populating the compound object with the multiple values via a second user interface in the card view; associating the compound object with the spreadsheet cell; receiving a first signal to expand the compound object across multiple coils of the spreadsheet; determining that there are no value-storing spreadsheet cells proximate to the spreadsheet cell that would be overwritten by expanding the compound object across the multiple cells of the spreadsheet; and storing values from the compound object across the multiple spreadsheet cells responsive to determining that there are not value-storing spreadsheet cells that would de overwritten. 12. The system of claim 11 , further comprising: determining that a value in the first set of values is a nested value based at least in part on a schema defining the value. 13. The system of claim 12 , wherein the schema has a syntax indicating that the value is a nested value. 14. The system of claim 12 , further comprising: determining that the nested value comprises a first nested value and a second nested value. 15. The system of claim 14 , wherein the first nested value and the second nested value are organized according to a structural definition of the first data structure type and the second data structure type. 16. The system of claim 15 , wherein the structural definition is one of predefined and user defined. 17. The system of claim 11 , wherein the compound object is created based on a schema associated with a structural definition of the first data structure type and the second data structure type. 18. A computer implemented method of a spreadsheet, comprising: receiving a selection of a spreadsheet cell associated with a compound object having a data structure of a first data structure type and a second data structure type, wherein the compound object stores multiple values in the spreadsheet cell, and the first data structure type is associated with a first set of values of the multiple values and the second data structure is associated with a second subset of values in the first set; launching a card view of the compound object based on the first and second data structure types, the card view providing a first user interface for manipulating one or more properties of the first and second data structure types and a second user interface for receiving the multiple values associated with the compound object; receiving a change to a value provided in the card view via the second user interface; storing the changed value in the compound object; receiving a first signal to expand the compound object across multiple cells of the spreadsheet; determining that there are no value-storing spreadsheet cells proximate to the spreadsheet cell that would be overwritten by expanding the compound object across the multiple cells of the spreadsheet; and storing values from the compound object across the multiple spreadsheet cells responsive to determining that there

Assignees

Inventors

Classifications

  • Drawing of charts or graphs · CPC title

  • for image manipulation, e.g. dragging, rotation, expansion or change of colour · CPC title

  • Interaction with lists of selectable items, e.g. menus · CPC title

  • Interaction techniques to control parameter settings, e.g. interaction with sliders or dials · CPC title

  • Version control (for software G06F8/71) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11630947B2 cover?
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 ma…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F40/18. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 18 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).