IP Library Granted Patent US 10,345,989
Granted Patent B2
US 10,345,989 · App. 14/181,376 · Granted Jul 9, 2019

Collaborative, multi-user system for viewing, rendering, and editing 3D assets

Inventors: Thiago Da Costa (Montreal, CA); Arno Zinke (Bonn, DE); Dov Amihod (Montreal, CA)
Assignee: AUTODESK, INC.
G06F3/04815G06Q10/101G06F2217/04G06T2200/16
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 10,345,989
App. No.
14/181,376
Filed
Feb 14, 2014
Granted
Jul 9, 2019
Kind
B2
Examiner
LI, LIANG Y
Art Unit
2143
USPC
715/757
Abstract

Systems and methods are presented for allowing multiple users to collaboratively edit 3-D assets in real-time, using a distributed 3-D editing/rendering software application. The software application may include a lightweight, browser-based user interface that is able to run on computing devices with relatively little memory and processing power. The software application may further include a progressive rendering engine.

Claims (49)

1. A method of allowing multiple users to collaboratively edit 3-D projects in real-time using multiple end-user client devices distributed over a network, the method including:

modifying a 3-D project using a graphical user interface running on a first end-user client device by creating or changing, in accordance with capabilities of the first end-user client device, 3-D assets belonging to the 3-D project, wherein objects are associated with the 3D project, wherein the objects comprise a set of associated properties and parameters with associated numeric values and binary geometric data comprising object geometry information, wherein the modifying creates a modification, wherein the modification comprises first information representing a modification to the set of properties and parameters associated with an object of the 3-D project;

maintaining, on the first end-user client device, a first end-user client relevant project state that represents project settings and data that are relevant to the first end-user client device;

distributing the first information representing the modification to one or more additional end-user client devices over a network, wherein the one or more additional end-user client devices each maintain a respective second end-user client relevant project state that represents project settings and data that are relevant to the respective additional end-user client device;

displaying said 3-D project using a graphical user interface running on said one or more additional end-user client devices, wherein capabilities of the one or more additional end-user client device are different from the capabilities of the first end-user client device, and wherein the one or more additional end-user client device consume the modification, and adjusts its respective second end-user client relevant project state to reflect the modification, and either applies or does not apply the modification according to the capabilities of the additional end-user client device, and wherein one or more of the additional end-user client devices does not download the binary geometric data but applies the modification;

wherein the steps of modifying, distributing, and displaying occur in real-time, allowing the first end-user client device and the one or more additional end-user client device to display a substantially synchronized view of the 3-D project;

wherein more than one collaborative editing session at a time is enabled;

wherein a number of the multiple end-user client devices that are simultaneously collaborating is scalable based on a pool of rendering client devices, of the multiple end-user client devices, that are allocated to one or more editing sessions;

wherein each object in the 3D project is identified by a unique and persistent identifier (GUID) that is used across all of the multiple end user client devices to reference the object when distributing the first information representing the modification; and

wherein the first information comprises the GUID and modifications to properties and parameters encoded as human readable textual data.

2. The method of claim 1 wherein:

asynchronous communication between different end-user client devices occurs via a channel associated with the 3-D project;

the information representing the modification is distributed to end-user client devices in the channel;

each end-user client device in the channel applies the modification according to its role; and

application of the modification by each end-user client device in the channel is asynchronously distributed to other end-user client devices in the channel such that the application is available for consumption by the other end-user client devices.

3. The method of claim 1 wherein:

the human readable textual data comprises ASCII data.

4. The method of claim 1 wherein:

the set of properties and parameters is associated with the object of the 3-D project using a unique and persistent global unique identifier (GUID) that is used across all of the multiple end-user client devices.

5. The method of claim 1 wherein:

the binary data is stored in a storage server where it is associated with an object identifier for the object.

6. A system for allowing multiple users to collaboratively edit 3-D projects in real-time using multiple end-user client devices distributed over a network, the system including:

(a) a first end-user client device comprising a processor, the first end-user client device operable to:

(1) provide a graphical user interface that permits a user to modify a 3-D project by creating or changing, in accordance with capabilities of the first end-user client device, 3-D assets belonging to the 3-D project by creating a modification, wherein objects are associated with the 3D project, wherein the objects comprises a set of associated properties and parameters with associated numeric values and binary geometric data comprising object geometry information, wherein the modification comprises first information representing a modification to the set of properties and parameters associated with an object of the 3-D project; and

(2) maintain a first end-user client relevant project state that represents project settings and data that are relevant to the first end-user client device;

(b) one or more additional end-user client devices each operable to:

(1) receive the first information representing the modification;

(2) maintain a respective second end-user client relevant project state that represents project settings and data that are relevant to the respective additional end-user client device;

(3) display the 3-D project using a graphical user interface; and

wherein:

each additional end-user client device is operable to receive and display the modification to the 3-D project in real-time, allowing the first end-user client device and the one or more additional end-user client devices to display a substantially synchronized view of the 3-D project as it is modified;

capabilities of the one or more additional end-user client device are different from the capabilities of the first end-user client device; and

the one or more additional end-user client devices consume the modification, and adjusts its respective second end-user client relevant project state to reflect the modification, and either applies or does not apply the modification according to the capabilities of the additional end-user client device;

at least one of the additional end-user client devices does not download the binary geometric data but applies the modification;

more than one collaborative editing session at a time is enabled;

a number of the multiple end-user client devices that are simultaneously collaborating is scalable based on a pool of rendering client devices, of the multiple end-user client devices, that are allocated to one or more editing sessions;

each object in the 3D project is identified by a unique and persistent identifier (GUID) that is used across all of the multiple end user client devices to reference the object when distributing the first information representing the modification; and

the first information comprises the GUID and modifications to properties and parameters encoded as human readable textual data.

7. The system of claim 6 , wherein:

asynchronous communication between different end-user client devices occurs via a channel associated with the 3-D project;

the information representing the modification is distributed to end-user client devices in the channel;

each end-user client device in the channel applies the modification according to its role; and

application of the modification by each end-user client device in the channel is asynchronously distributed to other end-user client devices in the channel such that the application is available for consumption by the other end-user client devices.

8. The system of claim 6 wherein:

the human readable textual data comprises ASCII data.

9. The system of claim 6 wherein:

the set of properties and parameters is associated with the object of the 3-D project using a unique and persistent global unique identifier (GUID) that is used across all of the multiple end-user client devices.

10. The system of claim 6 wherein:

the binary data is stored in a storage server where it is associated with an object identifier for the object.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2015
From: TEAMUP TECHNOLOGIES, INC.
To: AUTODESK, INC.
Reel/Frame 035175/0458 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2014
From: DACOSTA, THIAGO; ZINKE, ARNO; AMIHOD, DOV
To: TEAMUP TECHNOLOGIES, INC.
Reel/Frame 032848/0425 →
Continuity (3)
Provisional Application 61771473 · Mar 1, 2013
Provisional Application 61764871 · Feb 14, 2013
Related Publication 20140229865A1 · Aug 14, 2014
Cited By (6)
US 12,277,533 US 12,464,252 US 12,586,326 US 12,614,355 US 12,712,840 US 12,719,882