IP Library Granted Patent US 12706973
Granted Patent B2
US 12706973 · App. 18/825,438 · Granted Aug 11, 2026

Generating and managing multilocational data blocks

Inventors: Udara Jayawardena (Toronto, CA); Haishan Qian (Toronto, CA)
Assignee: Dropbox, Inc.
H04L67/1097G06F3/0604G06F3/064G06Q10/101G06F3/0655G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12706973
App. No.
18/825,438
Granted
Aug 11, 2026
Kind
B2
Abstract

The present disclosure is directed toward systems, methods, and non-transitory computer readable media for generating and managing multilocational data blocks, generating and summarizing content blocks within a virtual space interface, and generating and providing a content block browser as part of a virtual space platform. In some embodiments, the disclosed systems generate a multilocational data block that includes a block identifier that is tied to a source identifier for embedding digital content from a network location indicated by the source identifier. The disclosed systems can also generate block summaries from content blocks for presenting and modifying digital content embedded within the content blocks via block identifiers and source identifiers. In some embodiments, the content block system can provide a content-block-based web browser in the form of a virtual space that includes embedded content blocks that integrate webpage functionality.

Claims (43)

1 . A method comprising:

determining a source identifier that indicates a network location where a content item is stored;

generating a multilocational data block by tying a block identifier to the source identifier, wherein the block identifier defines an identity of the multilocational data block and incorporates the content item stored at the network location indicated by the source identifier; and

concurrently embedding the multilocational data block into a plurality of virtual spaces using the block identifier that references the source identifier of the content item, wherein the block identifier is consistent across the plurality of virtual spaces.

2 . The method of claim 1 , wherein generating the multilocational data block comprises generating a computer data structure that includes the block identifier designating the identity for the multilocational data block and that further includes the source identifier linked to the block identifier.

3 . The method of claim 1 , wherein concurrently embedding the multilocational data block into the plurality of virtual spaces comprises:

embedding the multilocational data block into a first virtual space presented on a first client device by embedding the block identifier linked to the source identifier; and

embedding the multilocational data block into a second virtual space presented on a second client device by embedding the block identifier linked to the source identifier.

4 . The method of claim 1 , wherein concurrently embedding the multilocational data block into the plurality of virtual spaces comprises embedding the multilocational data block according to respective block configurations defining visual characteristics of the multilocational data block within the plurality of virtual spaces.

5 . The method of claim 1 , wherein generating the multilocational data block comprises determining a block type for the multilocational data block based on the content item indicated by the source identifier.

6 . The method of claim 5 , wherein determining the block type comprises:

determining an external block type based on determining that the source identifier references a content item stored at a server location; or

determining a browser block type based on determining that the source identifier references a webpage.

7 . The method of claim 1 , further comprising propagating changes made to the multilocational data block within a virtual space to the content item through a two-way modification channel that references the source identifier.

8 . A system comprising:

at least one processor; and

a non-transitory computer readable medium comprising instructions that, when executed by the at least one processor, cause the system to:

determine, for a block identifier, a source identifier that indicates a network location where a content item is stored;

generate a multilocational data block by linking the block identifier and the source identifier, wherein the block identifier defines an identity of the multilocational data block and incorporates the content item stored at the network location indicated by the source identifier; and

concurrently embed the multilocational data block into a plurality of virtual spaces using the block identifier that references the source identifier of the content item, wherein the block identifier is consistent across the plurality of virtual spaces.

9 . The system of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the multilocational data block by generating a computer data structure that includes the block identifier designating the identity for the multilocational data block and that further includes the source identifier linked to the block identifier.

10 . The system of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to concurrently embed the multilocational data block into the plurality of virtual spaces by:

embedding the multilocational data block into a first virtual space presented on a first client device by embedding the block identifier linked to the source identifier; and

embedding the multilocational data block into a second virtual space presented on a second client device by embedding the block identifier linked to the source identifier.

11 . The system of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to concurrently embed the multilocational data block into the plurality of virtual spaces by embedding the multilocational data block according to respective block configurations defining visual characteristics of the multilocational data block within the plurality of virtual spaces.

12 . The system of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the multilocational data block by determining a block type for the multilocational data block based on the content item indicated by the source identifier.

13 . The system of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the system to determine the block type by:

determining an external block type based on determining that the source identifier references a content item stored at a server location; or

determining a browser block type based on determining that the source identifier references a webpage.

14 . The system of claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to propagate changes made to the multilocational data block within a virtual space to the content item through a two-way modification channel that references the source identifier.

15 . A non-transitory computer readable medium comprising instructions that, when executed by at least one processor, cause the at least one processor to:

determine, for a content item, a source identifier that indicates a network location where the content item is stored;

generate a multilocational data block by tying a block identifier to the source identifier, wherein the block identifier defines an identity of the multilocational data block and incorporates the content item stored at the network location indicated by the source identifier; and

concurrently embed the multilocational data block into a plurality of virtual spaces using the block identifier that references the source identifier of the content item, wherein the block identifier is consistent across the plurality of virtual spaces.

16 . The non-transitory computer readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the at least one processor to generate the multilocational data block by generating a computer data structure that includes the block identifier designating the identity for the multilocational data block and that further includes the source identifier linked to the block identifier.

17 . The non-transitory computer readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the at least one processor to concurrently embed the multilocational data block into the plurality of virtual spaces by:

embedding the multilocational data block into a first virtual space presented on a first client device by embedding the block identifier linked to the source identifier; and

embedding the multilocational data block into a second virtual space presented on a second client device by embedding the block identifier linked to the source identifier.

18 . The non-transitory computer readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the at least one processor to concurrently embed the multilocational data block into the plurality of virtual spaces by embedding the multilocational data block according to respective block configurations defining visual characteristics of the multilocational data block within the plurality of virtual spaces.

19 . The non-transitory computer readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the at least one processor to generate the multilocational data block by determining a block type for the multilocational data block based on the content item indicated by the source identifier.

20 . The non-transitory computer readable medium of claim 19 , further comprising instructions that, when executed by the at least one processor, cause the at least one processor to determine the block type by:

determining an external block type based on determining that the source identifier references a content item stored at a server location; or

determining a browser block type based on determining that the source identifier references a webpage.