Offline capabilities for live applications in a cloud collaboration platform

US10936292B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10936292-B2
Application numberUS-201916264077-A
CountryUS
Kind codeB2
Filing dateJan 31, 2019
Priority dateOct 26, 2018
Publication dateMar 2, 2021
Grant dateMar 2, 2021

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 offline capabilities to customizable live applications in a cloud collaboration platform. The cloud collaboration platform may provide offline functions and a data application programming interface to devices connecting to the cloud collaboration platform. The offline capabilities allow devices to store data related to documents and customizable live applications in a local cache. The offline capabilities retrieve data from and store modifications to data within the local cache. The cloud collaboration platform may subsequently process the changes and determine if conflicts arise, resolving conflicts where appropriate and possible. The cloud collaboration platform may then determine a final state for a record, return the final state to the devices, and update the local caches.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: exposing, by a cloud collaboration platform, offline functions and a data API to a live application to facilitate an offline mode on a device, wherein the live application creates a record comprising a sequence number and a record type using the data API; causing, by the cloud collaboration platform, the device to store a local version of the record in a local cache; causing, by the cloud collaboration platform, the device to store a change to the local version of the record in the local cache using the offline functions; receiving, by the cloud collaboration platform, the change from the device; determining, by the cloud collaboration platform, a final state for the record based on the change, the record type, and the sequence number; applying, by the cloud collaboration platform, the final state to the record in a data storage in the cloud collaboration platform; and sending, by the cloud collaboration platform, the final state of the record to the device for application to the local version of the record in the local cache, wherein at least one of the exposing, causing, receiving, determining, applying, and sending are performed by one or more computers. 2. The method of claim 1 , the determining further comprising: receiving, by the cloud collaboration platform, a second change to the record; determining, by the cloud collaboration platform, the change and the second change creates a conflict; and resolving, by the cloud collaboration platform, the conflict based on the record type and the sequence number. 3. The method of claim 1 , the determining further comprising: receiving, by the cloud collaboration platform, a second change to the record; determining, by the cloud collaboration platform, that the change and the second change can be applied to the record without conflict based on the record type, the change, and the second change; and applying, by the cloud collaboration platform, the change and the second change to determine the final state of the record. 4. The method of claim 1 , further comprising: causing, by the cloud collaboration platform, the device to download data enabling the device to load a document in the offline mode and store the data in the local cache, wherein the live application is embedded in the document. 5. The method of claim 1 , wherein the record references a list of records. 6. The method of claim 1 , further comprising: causing, by the cloud collaboration platform, the device to store an unsaved indicator in the local cache in association with the record when the change occurs; and removing, by the cloud collaboration platform, the unsaved indicator after the sending the final state to the device. 7. The method of claim 1 , further comprising: determining, by the cloud collaboration platform, an order to apply received changes based on sequence numbers; and applying, by the cloud collaboration platform, the received changes to the data storage in the determined order. 8. A system, comprising: a memory; and at least one processor coupled to the memory and configured to: expose offline functions and a data API to a live application in a cloud collaboration platform to facilitate an offline mode on a device, wherein the live application creates a record comprising a sequence number and a record type using the data API; cause the device to store a local version of the record in a local cache; cause the device to store a change to the local version of the record in the local cache using the offline functions; receive the change from the device; determine a final state for the record based on the change, the record type, and the sequence number; apply the final state to the record in a data storage in the cloud collaboration platform; and send the final state of the record to the device for application to the local version of the record in the local cache. 9. The system of claim 8 , wherein to determine a final state the at least one processor further configured to: receive a second change to the record; determine the change and the second change creates a conflict; and resolve the conflict based on the record type and the sequence number. 10. The system of claim 8 , wherein to determine a final state the at least one processor further configured to: receive a second change to the record; determine that the change and the second change can be applied to the record without conflict based on the record type, the change, and the second change; and apply the change and the second change to determine the final state of the record. 11. The system of claim 8 , the at least one processor further configured to: cause the device to download data enabling the device to load a document in the offline mode and store the data in the local cache, wherein the live application is embedded in the document. 12. The system of claim 8 , wherein the record references a list of records. 13. The system of claim 8 , the at least one processor further configured to: cause the device to store an unsaved indicator in the local cache in association with the record when the change occurs; and remove the unsaved indicator after the sending the final state to the device. 14. The system of claim 8 , the at least one processor further configured to: determine an order to apply received changes based on sequence numbers; and apply the received changes to the data storage in the determined order. 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: exposing offline functions and a data API to a live application in a cloud collaboration platform to facilitate an offline mode on a device, wherein the live application creates a record comprising a sequence number and a record type using the data API; causing the device to store a local version of the record in a local cache; causing the device to store a change to the local version of the record in the local cache using the offline functions; receiving the change from the device; determining a final state for the record based on the change, the record type, and the sequence number; applying the final state to the record in a data storage in the cloud collaboration platform; and sending the final state of the record to the device for application to the local version of the record in the local cache. 16. The non-transitory computer-readable device of claim 15 , the determining comprising: receiving, by the cloud collaboration platform, a second change to the record; determining, by the cloud collaboration platform, the change and the second change creates a conflict; and resolving, by the cloud collaboration platform, the conflict based on the record type and the sequence number. 17. The non-transitory computer-readable device of claim 15 , the determining comprising: receiving a second change to the record; determining that the change and the second change can be applied to the record without conflict based on the record type, the change, and the second change; and applying the change and the second change to determine the final state of the record. 18. The non-transitory computer-readable device of claim 15 , the operations further comprising: causing the device to download data enabling the device to load a document in the offline mode and store the data in the local cache, wherein the live application is embedded

Assignees

Inventors

Classifications

  • Interprogram communication · CPC title

  • Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951) · CPC title

  • by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • for managing network security; network security policies in general (filtering policies H04L63/0227) · CPC title

  • G06F8/60Primary

    Software deployment · 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 US10936292B2 cover?
Disclosed herein are system, method, and computer program product embodiments for providing offline capabilities to customizable live applications in a cloud collaboration platform. The cloud collaboration platform may provide offline functions and a data application programming interface to devices connecting to the cloud collaboration platform. The offline capabilities allow devices to store …
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 02 2021 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).