Collaborative editing of vector graphics

US12347003B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12347003-B2
Application numberUS-202318098912-A
CountryUS
Kind codeB2
Filing dateJan 19, 2023
Priority dateJan 19, 2023
Publication dateJul 1, 2025
Grant dateJul 1, 2025

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.

Graphical constructs are efficiently described by integer-based identifiers, and graphical constructs of the same type are stored in a definitional component. Each client maintains both a pending state representation and a synchronized state representation of the graphical design to independently track the state of the representation at a live editing server. The use of integer-based identifiers for graphical constructs provides an efficient change representation that can be communicated with minimal network traffic. All copies of the graphical design represented among clients reach a consistent state quickly even when multiple users are making changes to the same vector path, eliminating the need to track changes manually or to move large files.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at a first client application of a plurality of client applications, a command corresponding to an input delta of a vector path for a graphical design, the command including a component defining a type, and attributes, of a vector graphics entity, wherein the attributes are stored in a sparse set providing spatial coherence; transmitting the input delta of the vector path from the client application to a live editing server; receiving, from the live editing server, an acknowledgement of the input delta and at least one additional delta from at least a second client application from among the plurality of client applications; serially merging, in response to the acknowledgement and the at least one additional delta, the input delta and the at least one additional delta into a synchronized version of the graphical design, wherein the synchronized version represents an editing state of the graphical design; and storing the synchronized version of the graphical design, wherein the synchronized version as stored includes the input delta and the at least one additional delta. 2. The method of claim 1 , further comprising applying, in response to the command, the input delta of the vector path to a pending version of the graphical design. 3. The method of claim 2 , wherein displaying the graphical design further comprises: setting the pending version of the graphical design at the first client application to correspond to the synchronized version of the graphical design; and displaying the pending version of the graphical design. 4. The method of claim 1 , wherein the component includes an entity for the vector path and attributes of the entity for the vector path. 5. The method of claim 1 , wherein the sparse set further comprises: a values array; a sparse array including an index of the values array; and a dense array. 6. The method of claim 1 , wherein: any construct within the component is configured to be uniquely referenced by an integer-based unique entity identifier; and the vector path is configured to be uniquely referenced by a vector path identifier. 7. A system comprising: a memory component; and a processing device coupled to the memory component, the processing device to perform operations comprising: receiving, at a first client application of a plurality of client applications, a command corresponding to an input delta of a vector path for a graphical design, the command including a component defining an entity for the vector path and attributes of the entity for the vector path, wherein the attributes are stored in a sparse set providing spatial coherence; transmitting the input delta of the vector path from the client application to a live editing server; receiving, from the live editing server, an acknowledgement of the input delta and at least one additional delta from at least a second client application from among the plurality of client applications; serially merging, in response to the acknowledgement and the at least one additional delta, the input delta and the at least one additional delta into a synchronized version of the graphical design, wherein the synchronized version represents an editing state of the graphical design; and storing the synchronized version of the graphical design, wherein the synchronized version as stored includes the input delta and the at least one additional delta. 8. The system of claim 7 , wherein the operations further comprise displaying the graphical design including the input delta and the at least one additional delta. 9. The system of claim 7 , wherein the operations further comprise applying, in response to the command, the input delta of the vector path to a pending version of the graphical design. 10. The system of claim 9 , wherein the operation of displaying the graphical design further comprises: setting the pending version of the graphical design at the first client application to correspond to the synchronized version of the graphical design; and displaying the pending version of the graphical design. 11. The system of claim 7 , wherein the sparse set further comprises: a values array; a sparse array including an index of the values array; and a dense array. 12. The system of claim 7 , wherein: any construct within the component is configured to be uniquely referenced by an integer-based unique entity identifier; and the vector path is configured to be uniquely referenced by a vector path identifier. 13. A non-transitory computer-readable medium storing executable instructions, which when executed by a processing device, cause the processing device to perform operations comprising: receiving, at a first client application of a plurality of client applications, a command corresponding to an input delta of a vector path for a graphical design, the command including a component defining a type, and attributes, of a vector graphics entity, wherein the attributes are stored in a sparse set providing spatial coherence; a step for serially merging, the input delta and at least one additional delta from at least a second client application into a synchronized version of the graphical design corresponding to an editing state of the graphical design; and storing the synchronized version of the graphical design, wherein the synchronized version as stored includes the input delta and the at least one additional delta. 14. The non-transitory computer-readable medium of claim 13 , wherein the operation of displaying the graphical design further comprises: setting a pending version of the graphical design at the first client application to correspond to the synchronized version of the graphical design; and displaying the pending version of the graphical design. 15. The non-transitory computer-readable medium of claim 13 , wherein the component includes an entity for the vector path and attributes of the entity for the vector path. 16. The non-transitory computer-readable medium of claim 13 , wherein the sparse set further comprises: a values array; a sparse array including an index of the values array; and a dense array. 17. The non-transitory computer-readable medium of claim 13 , wherein: any construct within the component is configured to be uniquely referenced by an integer-based unique entity identifier; and the vector path is configured to be uniquely referenced by a vector path identifier.

Assignees

Inventors

Classifications

  • Collaborative creation, e.g. joint development of products or services · CPC title

  • G06T11/60Primary

    Creating or editing images; Combining images with text · 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 US12347003B2 cover?
Graphical constructs are efficiently described by integer-based identifiers, and graphical constructs of the same type are stored in a definitional component. Each client maintains both a pending state representation and a synchronized state representation of the graphical design to independently track the state of the representation at a live editing server. The use of integer-based identifier…
Who is the assignee on this patent?
Adobe Inc
What technology area does this patent fall under?
Primary CPC classification G06T11/60. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 01 2025 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).