Data model API for live applications in a cloud collaboration platform

US11656859B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11656859-B2
Application numberUS-202017070605-A
CountryUS
Kind codeB2
Filing dateOct 14, 2020
Priority dateOct 26, 2018
Publication dateMay 23, 2023
Grant dateMay 23, 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.

Disclosed herein are system, method, and computer program product embodiments for providing a data model application programming interface (“API”) to customizable live applications in a cloud collaboration platform. The cloud collaboration platform provides data storage, a data model, and an API to embedded third-party live applications to allow the live applications to securely create, store, and access data within the cloud collaboration platform. The data model allows records stored in the cloud collaboration platform to sync independently, merge intelligently, and function offline.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: causing, by one or more processors, display of a user interface of a live application within a document of a cloud collaboration platform; providing, by the one or more processors, a data storage and a data model application programming interface to the live application within the document of the cloud collaboration platform; initializing, by the one or more processors, a record in the data storage for the live application using the data model application programming interface; transmitting, by the one or more processors, data to a device enabling the device to create a local cache of at least a portion of the data storage and to edit the document and use the live application in an offline mode; and updating, by the one or more processors, the record in the data storage based on a change received via the user interface of the live application when the device was in the offline mode, wherein the change was stored in the local cache. 2. The method of claim 1 , further comprising: identifying, by the one or more processors, a conflicting edit in the change and a second change from a second device having a second local cache; and updating, by the one or more processors, the record in the data storage based on a resolved change derived using a conflict resolution methodology to resolve the conflicting edit. 3. The method of claim 1 , wherein the record comprises one or more properties, wherein a property in the one or more properties is a key-value pair comprising a key and a value, and wherein the property is associated with a data type. 4. The method of claim 3 , the updating further comprising: updating, by the one or more processors, the value in the key-value pair corresponding to the key to reflect a changed value; and storing, by the one or more processors, the updated key-value pair in the data storage in association with an instance of the live application. 5. The method of claim 3 , further comprising: retrieving, by the one or more processors, the value from the data storage, wherein the key associated with the value via the key-value pair matches a request key received in a get request from an instance of the live application; and providing, by the one or more processors, the value to the instance of the live application. 6. The method of claim 3 , wherein the data type indicates the property is a binary file, an account in the cloud collaboration platform, a rich text record, or an image. 7. The method of claim 3 , wherein the value is a second record or a list of records. 8. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: cause display of a user interface of a live application within a document of a cloud collaboration platform; provide a data storage and a data model application programming interface to the live application within the document of the cloud collaboration platform; initialize a record in the data storage for the live application using the data model application programming interface; transmit data to a device enabling the device to create a local cache of at least a portion of the data storage and to edit the document and use the live application in an offline mode; and update the record in the data storage based on a change recorded via the user interface of the live application when the device was in the offline mode, wherein the change was stored in the local cache. 9. The system of claim 8 , the at least one processor further configured to: identify a conflicting edit in the change and a second change from a second device having a second local cache; and update the record in the data storage based on a resolved change derived using a conflict resolution methodology to resolve the conflicting edit. 10. The system of claim 8 , wherein the record comprises one or more properties, wherein a property in the one or more properties is a key-value pair comprising a key and a value, and wherein the property is associated with a data type. 11. The system of claim 10 , wherein to update the at least one processor is further configured to: update the value in the key-value pair corresponding to the key to reflect a changed value; and store the updated key-value pair in the data storage in association with an instance of the live application. 12. The system of claim 10 , the at least one processor further configured to: retrieve the value from the data storage, wherein the key associated with the value via the key-value pair matches a request key received in a get request from an instance of the live application; and provide the value to an instance of the live application. 13. The system of claim 10 , wherein the data type indicates the property is a binary file, an account in the cloud collaboration platform, a rich text record, or an image. 14. The system of claim 10 , wherein the value is a second record or a list of records. 15. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising: causing display of a user interface of a live application within a document of a cloud collaboration platform; providing a data storage and a data model application programming interface to the live application within the document of the cloud collaboration platform; initializing a record in the data storage for the live application using the data model application programming interface; transmitting data to a device enabling the device to create a local cache of at least a portion of the data storage and to edit the document and use the live application in an offline mode; and updating the record in the data storage based on a change received via the user interface of the live application when the device was in the offline mode, wherein the change was stored in the local cache. 16. The non-transitory computer-readable device of claim 15 , the operations further comprising: identifying a conflicting edit in the change and a second change from a second device having a second local cache; and updating the record in the data storage based on a resolved change derived using a conflict resolution methodology to resolve the conflicting edit. 17. The non-transitory computer-readable device of claim 15 , wherein the record comprises one or more properties, wherein a property in the one or more properties is a key-value pair comprising a key and a value, and wherein the property is associated with a data type. 18. The non-transitory computer-readable device of claim 17 , the operations further comprising: updating the value in the key-value pair corresponding to the key to reflect a changed value; and storing the updated key-value pair in the data storage in association with an instance of the live application. 19. The non-transitory computer-readable device of claim 17 , the operations further comprising: retrieving value from the data storage, wherein the key associated with the value via the key-value pair matches a request key received in a get request from an instance of the live application; and providing the value to an instance of the live application. 20. The non-transitory computer-readable device of claim 17 , wherein the data type indicates the property is a binary file, an account in the cloud collaboration platform, a rich text record, or an image.

Assignees

Inventors

Classifications

  • Editing, e.g. inserting or deleting · CPC title

  • Graphical or visual programming · CPC title

  • Allocation or management of cache space · CPC title

  • Grid computing · CPC title

  • G06F9/541Primary

    via adapters, e.g. between incompatible applications · 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 US11656859B2 cover?
Disclosed herein are system, method, and computer program product embodiments for providing a data model application programming interface (“API”) to customizable live applications in a cloud collaboration platform. The cloud collaboration platform provides data storage, a data model, and an API to embedded third-party live applications to allow the live applications to securely create, store, …
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/541. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 23 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).