# US 11,308,168 B2 · Application update system, method and computer program product

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,168 B2
- Document ID: US11308168B2
- Status: Granted
- Kind: B2
- Application number: 16/809,463
- Filed: 2020-03-04
- Published: 2020-07-09
- Granted: 2022-04-19
- Earliest claimed: 2007-07-20
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Timothy J. Barker; Ryan Lissack; Daniel L. Pletter
- Web page: https://patentgrep.com/patent/US11308168B2

## CPC

- G06F 16/93: Document management systems
- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/275: {Synchronous replication}
- G06F 16/38: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 16/986: {Document structures and storage, e.g. HTML extensions}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with embodiments, there are provided mechanisms and methods for storing documents that are being tracked in an on-demand service. These mechanisms and methods for storing documents in an on-demand service can enable embodiments to provide the sharing of documents and the storing of the documents in association with a tag. The ability of embodiments to provide the sharing of documents and the storing can enable an efficient searching for a shared document. In an embodiment, the shared document is categorized upon being stored.

## Claims

### Claim 1

A content manager system (CMS) comprising:
a processing system; and
a memory device communicatively coupled to the processing system and including instructions stored thereon, and execution of the instructions by the processing system is operable to cause the CMS to:
store a plurality of documents in content management repositories for a tenant of a plurality of tenants of the CMS, the plurality of documents being accessible by one or more users associated with the tenant;
send a first webpage to a client device of a user of a plurality of users, the first webpage including information associated with a current version of a document of the plurality of documents and one or more previous versions of the document, wherein the one or more previous versions of the document provide a history of changes to the document from a time the document was initially created;
in response to receipt, from the client device, of an indication of a user input corresponding to the first webpage, send a second webpage to the client device, the second webpage operable to cause the client device to display a preview of the document in a web browser operated by the client device;
determine whether to sync the document stored on the client device and the document of the plurality of documents stored in the content management repositories; and
sync changes to the document across devices including the client device and sync the changes to the document of the plurality of documents stored in the content management repositories, responsive to a result of the determining.

### Claim 2 (depends on 1)

The CMS of claim 1, wherein the second webpage is operable to cause the client device to display the preview of the document of the plurality of documents in the web browser without the CMS sending the document of the plurality of documents to the client device.

### Claim 3 (depends on 1)

The CMS of claim 1, wherein the first webpage or the second webpage further includes a hyperlink to the document of the plurality of documents and one or more items of metadata associated with the document of the plurality of documents.

### Claim 4 (depends on 1)

The CMS of claim 1, wherein the document of the plurality of documents is created by a different user of the one or more users associated with the tenant.

### Claim 5 (depends on 1)

The CMS of claim 1, wherein one or more of: the plurality of documents are accessible to the one or more users based on a set of permissions associated with respective users of the one or more users, the preview of the document of the plurality of documents includes an excerpt of the document of the plurality of documents, and the information includes an indication of activity associated with the document of the plurality of documents.

### Claim 6 (depends on 1)

The CMS of claim 1, wherein execution of the instructions by the processing system is further operable to cause the CMS to:
store a version number of the current version of the document of the plurality of documents.

### Claim 7 (depends on 6)

The CMS of claim 6, wherein execution of the instructions by the processing system is further operable to cause the CMS to:
compare the version number of the current version of the document of the plurality of documents with a version number of the document stored on the client device.

### Claim 8 (depends on 1)

The CMS of claim 1, wherein, to determine whether to synchronize the document stored on the client device and the document of the plurality of documents, execution of the instructions by the processing system is further operable to cause the CMS to:
compare a hash value associated with the current version of the document of the plurality of documents with a hash value associated with a version of the document stored on the client device.

### Claim 9 (depends on 1)

The CMS of claim 1, wherein execution of the instructions by the processing system is further operable to cause the CMS to:
send a copy of the current version of the document of the plurality of documents to the user or the client device in response to the version of the document stored on the client device not matching the current version of the document of the plurality of documents.

### Claim 10 (depends on 1)

The CMS of claim 1, wherein execution of the instructions by the processing system is further operable to cause the CMS to:
search the plurality of documents based on a tag received from the client device; and
identify the document of the plurality of documents responsive to a result of the searching.

### Claim 11 (depends on 10)

The CMS of claim 10, wherein the first webpage or the second webpage is a search result webpage indicating the result of the searching, the result of the searching including a set of documents of the plurality of documents.

### Claim 12

One or more non-transitory computer readable media (NTCRM) comprising instructions, wherein execution of the instructions by at least one processor of a content management system (CMS) is operable to cause the CMS to:
store a plurality of documents in content management repositories for a tenant of a plurality of tenants of the CMS, the plurality of documents being accessible by one or more users associated with the tenant;
send a first webpage to a client device of a user of the plurality of users, the first webpage including information associated with a current version of a document of the plurality of documents and one or more previous versions of the document, wherein the one or more previous versions provide a history of changes to the document from a time the document was initially created;
in response to receipt of an indication of a user input corresponding to the first webpage from the client device, send a second webpage to the client device, the second webpage operable to cause the client device to display a preview of the document in a web browser operated by the client device;
determine whether to sync the document stored on the client device and the document of the plurality of documents stored in the content management repositories; and
sync changes to the document across devices including the client device and sync the changes to the document to the document of the plurality of documents stored in the content management repositories, responsive to a result of the determining.

### Claim 13 (depends on 12)

The one or more NTCRM of claim 12, wherein the second webpage is operable to cause the client device to display the preview of the document of the plurality of documents in the web browser without the CMS sending the document of the plurality of documents to the client device.

### Claim 14 (depends on 12)

The one or more NTCRM of claim 12, wherein the first webpage or the second webpage includes a hyperlink to the document of the plurality of documents and one or more items of metadata associated with the document of the plurality of documents.

### Claim 15 (depends on 12)

The one or more NTCRM of claim 12, wherein the document of the plurality of documents is created by a different user of the one or more users associated with the tenant.

### Claim 16 (depends on 12)

The one or more NTCRM of claim 12, wherein one or more of: the plurality of documents are accessible to the one or more users based on a set of permissions associated with respective users of the one or more users, the preview of the document of the plurality of documents includes an excerpt of the document of the plurality of documents, and the information includes an indication of activity associated with the document of the plurality of documents.

### Claim 17 (depends on 12)

The one or more NTCRM of claim 12, wherein, to determine whether to synchronize the document stored on the client device and the document of the plurality of documents, execution of the instructions is further operable to cause the CMS to:
store a version number of the current version of the document of the plurality of documents; and
compare the version number of the current version of the document of the plurality of documents with a version number of the document stored on the client device.

### Claim 18 (depends on 17)

The one or more NTCRM of claim 17, wherein, to determine whether to synchronize the document stored on the client device and the document of the plurality of documents, execution of the instructions is further operable to cause the CMS to:
compare a hash value associated with the current version of the document of the plurality of documents with a hash value associated with a version of the document stored on the client device.

### Claim 19 (depends on 12)

The one or more NTCRM of claim 12, further comprising:
send a copy of the current version of the document of the plurality of documents to the user in response to the version of the document stored on the client device not matching the current version of the document of the plurality of documents.

### Claim 20 (depends on 12)

The one or more NTCRM of claim 12, further comprising:
search the plurality of documents based on a tag received from the client device; and
identify the document of the plurality of documents responsive to a result of the searching.
