WO2013149296A1 - Digital rights management for three dimensional object production - Google Patents

Digital rights management for three dimensional object production Download PDF

Info

Publication number
WO2013149296A1
WO2013149296A1 PCT/AU2013/000341 AU2013000341W WO2013149296A1 WO 2013149296 A1 WO2013149296 A1 WO 2013149296A1 AU 2013000341 W AU2013000341 W AU 2013000341W WO 2013149296 A1 WO2013149296 A1 WO 2013149296A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
dimensional object
processing system
server processing
production device
Prior art date
Application number
PCT/AU2013/000341
Other languages
French (fr)
Inventor
Scott POBIHUN
Original Assignee
Sgat Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2012901304A external-priority patent/AU2012901304A0/en
Application filed by Sgat Pty Ltd filed Critical Sgat Pty Ltd
Priority to AU2013243229A priority Critical patent/AU2013243229A1/en
Publication of WO2013149296A1 publication Critical patent/WO2013149296A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Definitions

  • the present invention relates to digital rights management for production of a three dimensional object.
  • three dimensional object production devices such as additive and/or subtractive three dimensional printers and CNC (Computer Numerical Control) machines
  • three dimensional object production devices have now become more common place and are more easily accessible by the public today.
  • the increased accessibility of three dimensional object production devices clearly provides a number of advantageous opportunities for users.
  • the expected increase in ownership and access of three dimensional object production devices also poses a significant problem for intellectual property owners whom own intellectual property rights in relation to objects which can be reproduced using such devices.
  • digital data for production of a three dimensional object can be distributed widely between members of the public without authorisation, copies of the three dimensional object can be produced without the permission of the intellectual property owner.
  • a server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the server processing system is configured to:
  • license data indicative of the user's acquisition of the license for producing the 3D object
  • the server processing system in response to the positive authentication, is configured to transfer the three dimensional object data, stored in the data store, to the three dimensional object production device. In certain embodiments, in response to the positive authentication, the server processing system, identifies a source device having stored therein the three dimensional object data, wherein the three dimensional object data is transferred from the source device to the three dimensional object production device. In certain embodiments, at least part of the three dimensional object data is encrypted.
  • the server processing system is configured to:
  • the server processing system is configured to:
  • the data store in the data store, the three dimensional object data based on the submission data.
  • the submission data is indicative of a remote server processing system facilitating transfer of the three dimensional object data, wherein in response to a positive authentication of the production request, the server processing system facilitates transfer of the three dimensional object data between the remote server processing system and the three dimensional object production device.
  • the server processing system is configured to transfer separate portions of the three dimensional object data to the three dimensional object production device.
  • the server processing system is configured to:
  • the server processing system is configured to stream the three dimensional object data to the three dimensional object production device.
  • the server processing system prior to the server processing system facilitating transfer of the three dimensional object data to the three dimensional object production device, the server processing system is configured to:
  • the three dimensional object data includes layer data portions, wherein each layer data portion includes:
  • point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
  • the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
  • the three dimensional object data includes:
  • point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
  • the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately.
  • the plurality of points of the point data are randomly ordered.
  • at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
  • the server processing system is configured to facilitate transfer of the three dimensional object data to the three dimensional object production device via an intermediary processing system in data communication with the three dimensional object production device.
  • the server processing system facilitates transfer of a user interface to the user to enable the user to submit the acquisition request.
  • the server processing system is configured to receive login data, wherein upon an unsuccessful login the user is restricted from submitting the acquisition request.
  • the user interface indicates one or more 3D objects which have associated therewith three dimensional object data available for license.
  • the user transfers search criteria to identify one or more 3D objects which satisfy the search criteria
  • the server processing system is configured to search the data store to generate search results indicative of one or more 3D objects which satisfy the search criteria.
  • the server processing system receives, from the user, selection data indicative of a three dimensional object production device for producing the 3D object.
  • the method includes, in a server processing system, steps of:
  • a computer readable medium for configuring a server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the computer readable medium includes executable instructions to configure the server processing system to:
  • license data indicative of the user's acquisition of the license for producing the 3D object
  • a three dimensional object production device for producing a three dimensional (3D) object in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production.
  • a three dimensional object production device for producing a three dimensional (3D) object wherein the three dimensional object production device includes:
  • a processing system configured to:
  • the three dimensional object data includes layer data portions, wherein each layer data portion includes:
  • the three dimensional object production device is configured to receive the point data and the point sequence data for each layer data portion separately from the server processing system.
  • the three dimensional object data includes layer data portions, wherein each layer data portion includes:
  • point data indicative of a plurality of points of a plurality of layers of the 3D object; layer identification data indicating the respective layer which the plurality of points are associated therewith;
  • the three dimensional object production device is configured to receive the point data, the point sequence data and the layer identification data separately from the server processing system.
  • the plurality of points of the point data are randomly ordered.
  • At least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
  • the processing system is configured to:
  • the server processing system facilitates determining, based on the identification data, if the three dimensional object production device is authentic, wherein in response to a successful authentication, the three dimensional object production device receives the three dimensional object data.
  • the three dimensional object production device is configured to: receive a first portion of the three dimensional object data
  • the three dimensional object production device is configured to receive a stream of the three dimensional object data.
  • the three dimensional object production device prior to three dimensional object production device receiving the three dimensional object data, the three dimensional object production device is configured to:
  • firmware identification data indicative of firmware of the three dimensional object production device, wherein the server determines, based on the firmware identification data, whether the firmware of the three dimensional object production device is current;
  • a system for producing a three dimensional (3D) object wherein the system includes:
  • a system for producing a three dimensional (3D) object wherein the system includes a server processing system, a user processing system and a three dimensional object production device, wherein:
  • the server processing system is configured to:
  • license data indicative of the user's acquisition of the license for producing the 3D object
  • the user processing system in response to a positive authentication, facilitate transfer of encrypted three dimensional object data indicative of the 3D object to the user processing system;
  • the user processing system is configured to:
  • the three dimensional object production device is configured to produce the 3D object based on the instructions or the three dimensional object data received from the user processing system.
  • the three dimensional object data includes layer data portions, wherein each layer data portion includes:
  • point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
  • the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
  • the three dimensional object data includes:
  • point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
  • the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately.
  • the plurality of points of the point data are randomly ordered.
  • at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
  • the three dimensional object production device is configured to: receive, via the user processing system, a first portion of the three dimensional object data; - transfer, to the server processing system via the user processing system, a request for a second portion of the three dimensional object data upon the three dimensional object production device producing a portion of the 3D object corresponding to the first portion; and
  • the user processing system receives a stream of the three dimensional object data.
  • Figure 1 illustrates a functional block diagram of an example processing system that can be utilised to embody or give effect to a particular embodiment
  • Figure 2A is a system diagram representing an example system for managing digital rights for producing a three dimensional object
  • Figure 2B is a system diagram representing another example system for managing digital rights for producing a three dimensional object
  • Figure 2C is a system diagram representing another example system for managing digital rights for producing a three dimensional object
  • Figure 2D is a system diagram representing another example system for managing digital rights for producing a three dimensional object
  • Figure 2E is a system diagram representing another example system for managing digital rights for producing a three dimensional object
  • Figure 3 is a flowchart representing a method for managing digital rights in relation to three dimensional object production
  • Figure 4 is a flowchart representing an example method of a user submitting one or more 3D object files to the server processing system
  • Figure 5 is a flowchart representing an example method of a user acquiring a license for producing a three dimensional object
  • Figures 6A and 6B is a flowchart representing an example method of a user producing a three dimensional object based upon the acquired license
  • Figure 7 is a flowchart representing an example method performed by the three dimensional object production device for connecting to the server processing system
  • Figure 8A is a block diagram representing an example of three dimensional object data
  • Figure 8B is a block diagram representing a further example of three dimensional object data
  • Figure 8C is a block diagram representing a further example of three dimensional object data
  • Figure 8D is a representation of a representation of a layer of a three dimensional object for production
  • Figure 8E is a block diagram representing a further example of three dimensional object data.
  • Figure 9 is a system diagram representing a peer-to-peer transfer of three dimensional object data between a first user processing system and a second user processing system.
  • the processing system 100 generally includes at least one processor 102, or processing unit or plurality of processors, memory 104, at least one input device 106 and at least one output device 108, coupled together via a bus or group of buses 110.
  • input device 106 and output device 108 could be the same device.
  • An interface 112 also can be provided for coupling the processing system 100 to one or more peripheral devices, for example interface 112 could be a PCI card or PC card.
  • At least one storage device 114 which houses at least one database 116 can also be provided.
  • the memory 104 can be any form of memory device, for example, volatile or non-volatile memory, solid state storage devices, magnetic devices, etc.
  • the processor 102 could include more than one distinct processing device, for example to handle different functions within the processing system 100.
  • Input device 106 receives input data 118 and can include, for example, a keyboard, a pointer device such as a pen-like device or a mouse, audio receiving device for voice controlled activation such as a microphone, data receiver or antenna such as a modem or wireless data adaptor, data acquisition card, etc..
  • Input data 1 18 could come from different sources, for example keyboard instructions in conjunction with data received via a network.
  • Output device 108 produces or generates output data 120 and can include, for example, a display device or monitor in which case output data 120 is visual, a printer in which case output data 120 is printed, a port for example a USB port, a peripheral component adaptor, a data transmitter or antenna such as a modem or wireless network adaptor, etc..
  • Output data 120 could be distinct and derived from different output devices, for example a visual display on a monitor in conjunction with data transmitted to a network.
  • a user could view data output, or an interpretation of the data output, on, for example, a monitor or using a printer.
  • the storage device 1 14 can be any form of data or information storage means, for example, volatile or non-volatile memory, solid state storage devices, magnetic devices, etc..
  • the processing system 100 is adapted to allow data or information to be stored in and/or retrieved from, via wired or wireless communication means, the at least one database 1 16 and/or the memory 104.
  • the interface 1 12 may allow wired and/or wireless communication between the processing unit 102 and peripheral components that may serve a specialised purpose.
  • the processor 102 receives instructions as input data 118 via input device 106 and can display processed results or other output to a user by utilising output device 108. More than one input device 106 and/or output device 108 can be provided. It should be appreciated that the processing system 100 may be any form of terminal, server, specialised hardware, or the like.
  • the system 200 includes a processing system provided in the form of a server processing system 210 and a data store 215 which the server processing system 210 is able to access.
  • the system 200 also includes a production system including at least one three dimensional object production device 220 in data communication with the server processing system 210.
  • the system 200 includes a plurality of three dimensional object production devices 220 in data communication with the server processing system 210.
  • the server processing system 210 can be a single processing system. However, depending upon the scale of the system and number of users of the system 200, the server processing system 210 can include a number of processing systems operating in a distributed manner.
  • the data store 215 is configured to store license data for one or more users.
  • the license data is indicative of digital rights which users have purchased in relation to one or more authorised actions which can be performed by users (i.e. licensees) in relation to three dimensional object data for one or more 3D objects.
  • the one or more actions relate to using the three dimensional object data to produce the 3D object.
  • the data store 215 can also include the three dimensional object data 800. As the data store 215 can be used for managing digital rights in relation to multiple 3D objects, the data store 215 can have stored therein three dimensional object data 800 for multiple objects.
  • the data store 215 may be a single component such as a hard drive or the like, it is possible and in certain circumstances preferable that the data store 215 has a distributed configuration which enables operation of the system using cloud computing and the like.
  • the data store 215 can also include three dimensional object production device data indicative of three dimensional object production devices 220 of the system 200.
  • the three dimensional object production device data may include authentication data indicative of authentic three dimensional object production devices 220 of the system 200.
  • the three dimensional object production device data may include specification data indicative of production capabilities of each three dimensional object production device 220 of the system 200.
  • the three dimensional object production device 220 is configured to create a three dimensional object from the three dimensional object data 800.
  • a number of different devices can be used as a three dimensional object production device 220 including a 3D printer using additive or subtractive printing techniques, a CNC machine, or any other type of device which can be used to produce a 3D object.
  • the three dimensional object production device 220 is a stereolithographic printer.
  • the three dimensional object production device 220 includes a production module 221 for generating the 3D object.
  • the three dimensional object production device includes memory having stored therein data for decrypting encrypted three dimensional object data 800.
  • the three dimensional object production device 220 can include an integrated processing system 223 which is of the type processing system 100.
  • the processing system 223 is provided in the form of a microprocessor which includes a processor 224, memory 225, an input interface 226, and an output interface 227, interconnected via a bus 228.
  • the processing system 223 is configured to receive, from the server processing system 210, three dimensional object data 800, decrypt the three dimensional object data if required, and control the production module 221 to produce the 3D object in accordance with the three dimensional object data 800.
  • the memory for storing the data for decrypting the encrypted data may be the memory 225 of the processing system 223.
  • the memory storing the data for decrypting the encrypted data may be a data storage module 222, such as a smart card.
  • the data for decrypting the encrypted data may be stored in volatile or non- volatile memory.
  • the user can interact with the three dimensional object production device 220 to purchase a license to produce the 3D object, and obtain the three dimensional object data 800 for producing the 3D object using the three dimensional object production device 220 as will be explained in further detail below.
  • the three dimensional object production device 220 may include an input device, such as a keyboard and/or mouse, an output device, such as a display, and an interface, such as a network interface, to enable communication with the server processing system 210.
  • an input device such as a keyboard and/or mouse
  • an output device such as a display
  • an interface such as a network interface
  • FIG. 2B, 2C, 2D and 2E there is shown further system diagrams of other example systems 200 for providing digital rights management services for three dimensional object production. Common portions between the systems 200 in Figures 2A, to 2E share similar reference numerals.
  • the system 200 includes a user processing system 230 which is in data communication with the server processing system 210.
  • a plurality of user processing systems 230 are in data communication with the server processing system 210.
  • the user processing system 230 is in data communication with the server processing system 210 via the three dimensional object production device 220. It will be appreciated that in this arrangement the user processing system 230 can be in communication with the server processing system 210 directly. Additionally or alternatively, the user processing system 230 may be in indirect communication with the server processing system 210 via the three dimensional object production device 220.
  • Processing system 100 depicted in Figure 1 is suitable for use as the user processing system 230 in Figure 2B, 2C, 2D and 2E.
  • the user processing systems 230 may include standard personal computers, but also other processing devices such as mobile telecommunication devices (i.e. smart phones) and the like.
  • the user is able to interact with the user processing system 230, via the input device of the user processing system 230, to purchase a license to the three dimensional object data 800.
  • the three dimensional object data 800 is then transferred to either the user processing system 230 which is then forwarded to the three dimensional object production device 220, or alternatively the data 800 is transferred directly to the three dimensional object production device 220 as will be explained in further detail below.
  • the user processing system 230 forwards the data 800 or instructs the three dimensional object production device based on the data 800
  • the user processing system 230 together with the three dimensional object production device 220 define a production environment.
  • the input interface 226 of the three dimensional object production device 220 is optional.
  • the data storage module 222 or the memory 225 of the three dimensional object production device 220 may not include decryption data (i.e, one or more private keys) for decrypting encrypted three dimensional object data 800.
  • the encrypted three dimensional object data 800 is transferred from the server processing system 210 to the user processing system 230, wherein the user processing system 230 decrypts, using a private key, the encrypted three dimensional object data 800 which is then transferred to, or used to instruct, the three dimensional object production device 220 to produce the corresponding three dimensional object.
  • the three dimensional object data 800 may be stored by a remote source 265 controlled by a remote server processing system 265.
  • the server processing system 210 stores the license data in the data store 215.
  • the server processing system is also configured to receive a production request from the three dimensional object production device 220 or the user processing system 230.
  • the server processing system 210 controls the digital rights management relating to the three dimensional object data 800.
  • the three dimensional object data 800 is located remotely to the server processing system 210, wherein the server processing system 210 communicates with the remote server processing system 260 to transfer the three dimensional object data 800 stored in the remote source 265 to the requesting device 220, 230.
  • the transfer of the three dimensional object data 800 may be transferred directly from the remote server processing system 260 to the requesting device 220, 230.
  • this data transfer could also be performed via the server processing system 210.
  • the remote server processing 260 may operate a marketplace selling the digital rights to the three dimensional object data 800, wherein the server processing system 210 advertises the availability of the three dimensional object data and handles the digital rights management of the transfer of the three dimensional object data 800 and manages the production of the associated three dimensional object on behalf of the remote server processing system 260.
  • the remote server processing system 260 may be marketplace websites such as EbayTM and AmazonTM.
  • the server processing system 210 is in data communication, via data communication means 240 with an authentication server 270.
  • the authentication server 270 has associated therewith a data store 275 having stored therein the three dimensional object production device data.
  • the data store 215 of the server processing system 210 has stored therein the three dimensional object data 800 and the license data
  • the data store 275 of the authentication server processing system 270 has stored therein the three dimensional object production device data.
  • the server processing system 210 requests the authentication server 270 to authenticate the three dimensional object production device 220 which the user wishes to utilise to produce the 3D object.
  • the server processing system 210 can request' that the authentication server 270 determine and return to the server processing system 210 a list of available authentic three dimensional object production devices 220 which are capable of producing the licensed 3D object.
  • the server processing system 210 may be operated by marketplace websites such as EbayTM and AmazonTM.
  • the authentication server may also be used to authenticate a user requesting access to the system.
  • user account data may be stored in data store 275, wherein the server processing system 210 facilitates user authentication by transferring a user authentication request to the authentication server processing system 270, and wherein the server processing system 210 receives a user authentication response from the authentication server processing system 270.
  • the license data may also be stored in the data store 275 rather than 215, wherein upon receiving an acquisition request, the server processing system 210 may facilitate transfer of data to the authentication server processing system to store in data store 275.
  • the server processing system 210 may facilitate determining if the user has rights to produce the 3D object by transferring a request to the authentication server processing system 270, wherein the authentication server processing system 275 generates a response upon querying the data store 275 based on the request.
  • the components of the system 200 can be interconnected via a network 240, such as the computer network which can include Wide Area Networks (WAN) such as the Internet and/or Local Area Networks (LAN) such as an Intranet. It will be appreciated that the network 240 may utilise a wired or wireless medium.
  • WAN Wide Area Networks
  • LAN Local Area Networks
  • FIG. 3 there is shown a flowchart representing a method 300 for managing digital rights in relation to three dimensional object production.
  • the method 300 includes receiving an acquisition request from a user to acquire a license for producing a 3D object.
  • the method 300 includes storing, in a data store 215, license data indicative of the user's acquisition of the license for producing the 3D object.
  • the method 300 includes receiving a production request from a user to produce the 3D object.
  • the method 300 includes authenticating, based on the license data stored 215 in the data store 215, whether the user is entitled to produce the 3D object.
  • the method 300 includes facilitating transfer, in response to a positive authentication, three dimensional object data 800 indicative of the 3D object to the three dimensional object production device 220 for production.
  • the server processing system 210 maintains a number of user accounts in data store 215, although as discussed this may also be stored remotely in data store 275.
  • a user can complete a registration form presented via the server processing system 210 in order to register an account.
  • a user can register an account with the server processing system 210 via a third party service, wherein protocols such as Oauth (www.oauth.net) can be utilised.
  • Oauth www.oauth.net
  • the user can be associated with the registered three dimensional object production device 220 wherein the user account data represents this association.
  • the user can nominate, or the server processing system 210 can recommend, a three dimensional object production device 220 for use by the user which is generally referred to as a bureau device 220.
  • the bureau device 220 can be owned by another user (referred to as the bureau) which can produce a 3D object on behalf of the user so long as the user has acquired the digital rights to produce the 3D object.
  • the bureau may charge the user a fee for use of the bureau device 220.
  • each three dimensional object production device 220 used with the system 200 generally requires registration with the server processing system 210.
  • the three dimensional object production device 220 when the three dimensional object production device 220 is connected to a network, the three dimensional object production device 220 establishes, based on executable instructions stored in the three dimensional object production device's 220 memory 225, a connection with the server pfocessing system 210 and transfers registration data.
  • the server processing system 210 identifies or at least facilitates identification (i.e. in the case of the system illustrated in Figure 2E), based on the registration data and using the authentication data, whether the three dimensional object production device 220 is authentic, wherein in response to a positive authentication, the server processing system 210 records an enablement field in the authentication data for the specific three dimensional object production device 220 such that the three dimensional object production device 220 is registered for use with the system.
  • FIG 4 there is shown a flowchart of a user submitting one or more three dimensional object files 801 to the server processing system 210.
  • the method 400 includes the user creating one or more three dimensional object files 801 such as an STL (Standard Tessellation Language) file, an AMF (Additive Manufacturing File) file, an SVG (Scalable Vector Graphics) file, a G- Code file, or the like.
  • STL Standard Tessellation Language
  • AMF Additional Manufacturing File
  • SVG Scalable Vector Graphics
  • G- Code file or the like.
  • the user submitting the file does not necessarily need to be the user who created the file, wherein the submitting user has the permission of the author.
  • the method 400 includes the user being presented with a file submission form.
  • this includes the user viewing, via a processing system such as the user processing system 230, a file submission webpage hosted by the server processing system 210, however it will be appreciated that a dedicated, application may be executed by the processing system 230 or device 220 which presents the file submission form.
  • the method 400 includes the user submitting, via the submission form, submission data indicative of the one or more three dimensional object files.
  • the method includes the server processing system 210 storing, in the data store 215, three dimensional object data 800 based on the submission data.
  • the server processing system 210 can perform processing upon the one or more three dimensional object files 801 to generate the three dimensional object data 800.
  • the server processing system 210 is configured to extract point data 810, point sequence data 820 and optionally layer identification data 830 as will be discussed in relation to Figures 8C to 8E.
  • the method 400 includes the server processing system 210 optionally generating one or more digital representations (i.e. pictures) of the 3D object based on the one or more three dimensional object files 801, wherein the digital representations are then recorded by the server processing system 210 in the data store 215. It will be appreciated that the user may alternatively provide the one or more digital representations in the submission data.
  • the server processing system 210 optionally generating one or more digital representations (i.e. pictures) of the 3D object based on the one or more three dimensional object files 801, wherein the digital representations are then recorded by the server processing system 210 in the data store 215. It will be appreciated that the user may alternatively provide the one or more digital representations in the submission data.
  • the method 400 includes the server processing system 210 transferring a production request to the user to produce the 3D object using a registered three dimensional object production device 220.
  • the method 400 includes the server processing system 210 receiving production completion data which is recorded in the data store 215.
  • the production completion data may be indicative of the materials, and the amount of materials, used to produce the object which are stored in the data store 215, wherein this data can be used to determine the cost for a user to produce the 3D object.
  • the method 400 includes the server processing system 210 requesting the user to nominate conditions of the license in order to enable a license to be acquired by a registered user.
  • the user can nominate particular three dimensional object production devices 220 for generating the 3D object, restrictions on producing the 3D object, restricted materials for producing the 3D object, scaling, and a license charge for producing the object.
  • the server processing system 210 receives the nominated conditions which are stored in the data store 215.
  • the 3D object is accessible by users of the system, wherein one or more users can acquire a license to produce the 3D object.
  • FIG. 5 there is shown a flowchart representing a method 500 of a user acquiring a license to produce a 3D object.
  • the method 500 is described in relation to the system depicted in Figure 2B. However, the principles of the method equally apply to the other embodiments of the system 200 described herein.
  • the method 500 includes the user accessing a user portal via the user processing system 230.
  • the user portal can be provided in the form of a webpage which can be accessed by the user via a web browser.
  • the server processing system 210 hosts the user portal which can act as a virtual marketplace.
  • the user portal can be hosted by a third party processing system which is in data communication with the server processing system 210.
  • the user is presented with a login interface, wherein the user is required to provide a username and password for user authentication.
  • the username and password may be credentials for a third party service using authentication protocols such as Oauth.
  • the username and password is transferred to the server processing system 210 for authentication. It will be appreciated that the username and password are preferably encrypted when transferred to the server processing system 210 for authentication. In one form, a combination of RSA 1024 and AES 192/256 encryption may be used by the system.
  • the method 500 includes the server processing system 210 authenticating the user.
  • the server processing system 210 accesses account data stored in the data store 215 for authenticating the user, although it will be appreciated that this may be stored in data store 275 in relation to other embodiments.
  • the user name and password can be compared against the account data in the data store 215, wherein upon a successful authentication, the method proceeds to step 525. However, upon an unsuccessful authentication, the method ends.
  • the authentication process may include the use of Public Key Infrastructure (PKI) wherein the account data may include one or more digital certificates for authenticating users.
  • PKI Public Key Infrastructure
  • the server processing system 210 upon successful authentication, the server processing system 210 generates a user interface for the user which is transferred to the device used by the user to communicate with the server processing system 210.
  • the user processing system 230 displays upon the user processing system 230 or the three dimensional object production device 220 the user interface representing a virtual marketplace.
  • the interface may be customised for the user based upon the three dimensional object production device 220 which the user wishes to utilise.
  • the user's account data stored in the data store 215 may have associated therewith one or more three dimensional object production device identifiers indicative of one or more three dimensional object production devices 220 which the user wishes to utilise to produce the 3D object.
  • the server processing system 210 is configured to identify the three dimensional object production device identifiers using the user account.
  • the server processing system 210 determines, using the three dimensional object production device data, one or more 3D objects which the identified three dimensional object production device 220 is capable of producing.
  • the user interface is populated with interface data indicative of the 3D objects which the user can generate using the specified three dimensional object production device 220, wherein the user interface is transferred to the user processing system 230 for presentation to the user via the display.
  • the user may not be associated with a particular three dimensional object production device 220, thus a list of potential three dimensional object production devices 220 for use by the user may be presented in the user interface.
  • the user may have predefined that the interface is to display 3D objects from one or more selected users, wherein the interface is generated by the server processing system 210 according to this setting.
  • the server processing system 210 may generate an interface which filters 3D objects according to the specification of the three dimensional object production device 220 associated with the user.
  • Three dimensional object data 800 may be stored in the data store 215 according to a category, wherein the user can interface with the interface to filter the 3D objects presented.
  • the method 500 includes the user selecting, using the input device of the user processing system 230 or the three dimensional object production device 220, a 3D object which the user would like to purchase a license thereof for producing the 3D object.
  • the method 500 includes transferring selection data indicative of the user's selected 3D object to the server processing system 210.
  • the method 500 includes the server processing system 210 storing, in the data store 215, license data indicative of the license which the user has acquired. It will be appreciated that in the event that the license requires the user to purchase the rights, the user may perform a financial transaction via the user processing system 230 in order to acquire the license. It will be appreciated that a third party gateway processing system may be utilised in order to purchase the license wherein the third party processing system transfers transaction confirmation data to the server processing system 210 indicative of a confirmation of the transaction having been performed such that the license data can be stored by the server processing system 210 in the data store 215. However it will be appreciated that it is possible that the server processing system 210 to be configured to include a transaction module to manage the transaction service, wherein upon successful transaction, the server processing system 210 records in the data store 215 the license data associated with the user.
  • the user is able to advantageously request production of the 3D object at a later time.
  • the license may be obtained by the user on a first day, but the user may request production on a different day to the first day.
  • FIG. 6A and 6B there is shown a method 600 of a user requesting production of the 3D object in accordance with the license data.
  • the method 600 will be described in relation to the system depicted in Figure 2B.
  • the teachings of this example equally apply in principle to the other embodiments described in relation to Figures 2A, and 2C to 2E.
  • the method 600 includes the user accessing, via the user processing system 230, the user interface.
  • the method includes the user transferring identification data (i.e. username and password) to authenticate the user.
  • the server processing system 210 authenticates the user based on the identification data and in response to positive authentication, the method 600 includes, at step 608, the server processing system 210 generating the user interface based on the user settings stored in the data store 215.
  • the user interface is transferred to user processing system 230 for presentation upon the display of the user processing system 230.
  • the method 600 includes the user interacting with the user interface to transfer, to the server processing system 210, a production request for producing the 3D object utilising the license which the user has previously acquired.
  • the production request is indicative of the user identifier (i.e. username), a three dimensional object production device identifier, and an object identifier indicative of the object which the license relates thereto.
  • the production request may additionally be indicative of a marketplace identifier.
  • the method 600 includes the server processing system 210 determining the user's three dimensional object production device specification based on the three dimensional object production device identifier and the three dimensional object production device data.
  • the method 600 includes the server processing system 210 determining, based on the license data associated with the user account in the data store 215, whether the user has the appropriate rights to produce the specified object identified by the object identity. In the event that the user has acquired a license which permits the object to be produced, the method proceeds to step 618. In the event that the user does not possess rights via a license to have the object produced, the method ends.
  • the method 600 includes the server processing system 210 determining, based on the three dimensional object production device specification associated with the identified three dimensional object production device 220, if the three dimensional object production device 220 nominated by the user is capable of producing the object. In the event that the three dimensional object production device 220 is capable of producing the object, the method 600 proceeds to step 620. It will be appreciated that the server processing system 210 may indicate that the selected three dimensional object production device 220 is currently producing other 3D objects and that the production request may be placed in a queue. The user is then given the option to accept that the production request is to be placed in a queue or is able to select a different three dimensional object production device 220 for producing the 3D object. In the event that the three dimensional object production device 220 is not capable of producing the 3D object, the user is informed and is able to select a different 3D object or a different three dimensional object production device 220.
  • the method 600 includes the server processing system 210 transferring an authentication request to the three dimensional object production device 220.
  • the server processing system 210 requests identification data to authenticate that the three dimensional object production device 220 is trusted by the system for producing the 3D object.
  • the method includes the three dimensional object production device 220 transferring three dimensional object production device identification data for the server processing system 210 to authenticate the three dimensional object production device 220.
  • the server processing system 210 authenticates the three dimensional object production device 220 using the three dimensional object production device identification data and the authentication data.
  • the authentication data includes a list of trusted three dimensional object production devices 220 which the system allows production of a 3D object.
  • a session key may optionally be created for the production request by the server processing system 210 which is later used to encrypt the three dimensional object data 800.
  • the server processing system 210 establishes a secure communication connection with the authenticated three dimensional object production device 220.
  • the secure communication connection may operate using Transport Layer Security (TLS) protocol.
  • TLS Transport Layer Security
  • the server processing system 210 verifies that the three dimensional object production device 220 has sufficient resources for producing the 3D object.
  • the three dimensional object production device 220 includes a material identification unit which identifies the type and amount of material (s) which the three dimensional object production device 220 is able to utilise.
  • the server processing system 210 can transfer a materials query to the three dimensional object production device 220, wherein the three dimensional object production device 220 responds with a materials response such that the server processing system 210 can determine whether the three dimensional object production device 220 is able to print the requested 3D object.
  • the method proceeds to step 630, otherwise the method ends or the user is requested by the server processing system 210 to select a different device 220.
  • the server processing system 210 maintains a materials usage database to track the usage of materials by registered three dimensional object production device 220, wherein materials can be automatically ordered and supplied to particular registered users of the system automatically such that down time of the three dimensional object production device 220 is reduced.
  • the server processing system 210 retrieves the three dimensional object data 800 from the data store 215, wherein the three dimensional object data 800 may be stored locally or remotely.
  • the three dimensional object data 800 may be stored as encrypted data and may be decrypted by the server processing system for encryption in step 632.
  • the retrieval of the three dimensional object data 800 is performed using Transport Layer Security (TLS) protocol.
  • TLS Transport Layer Security
  • the server processing system 210 encrypts data at least partially indicative of the three dimensional object data 800.
  • an encryption key i.e. a public key
  • the server processing system 210 encrypts data at least partially indicative of the three dimensional object data 800.
  • the server processing system 210 transfers encrypted data indicative of at least part of the three dimensional object data 800 to the three dimensional object production device 220.
  • the three dimensional object production device 220 decrypts the encrypted data indicative of at least part of the three dimensional object data 800.
  • the three dimensional object production device 220 includes in the data storage medium 222 or memory 225 a private key for decrypting the data.
  • the private key may be stored in volatile or non-volatile memory.
  • the data storage medium 222 may be provided in the form of a removable storage medium such as smart card although it will be appreciated that other removable data storage mediums can also be utilised.
  • the key used by the server processing system 210 may be a public key, wherein the public key of the server processing system 210 has a mathematical relationship with the private key of the three dimensional object production device 220 in accordance with Public Key Infrastructure (PKI).
  • PKI Public Key Infrastructure
  • the three dimensional object production device 220 produces the 3D object using the three dimensional object data 800.
  • the three dimensional object production device 220 transfers a completion message to the server processing system 210 to indicate that production of the 3D object has been completed.
  • the server processing system 210 updates the user record or the license data to indicate that an instance of the 3D object has been produced. In instances where the user has acquired a license for a plurality of production instances of the 3D object, the server processing system 210 can utilise this data to ensure that the user is entitled to generate further instances of the 3D object if permitted.
  • a number of techniques can be used for transferring the three dimensional object data 800 to the three dimensional object production device 220 for producing the 3D object.
  • the encrypted three dimensional object data 800 is transferred from the server processing system 210 to the three dimensional object production device 220.
  • the three dimensional object production device 220 stores the encrypted three dimensional object data 800 in memory, decrypts the three dimensional object data 800, as discussed above, then produces the 3D object using the decrypted data accordingly.
  • the three dimensional object production data 800 may be indicative of the one or more three dimensional object files 801.
  • the one or more three dimensional object files 801 are encrypted.
  • the user processing system 230 or the three dimensional object production device 220 can decrypt the data 800 to obtain the one or more three dimensional object files 801.
  • the user processing system 230 or the three dimensional object production device 220 may then split the three dimensional object files 801 into layers for production by the three dimensional object production device 220.
  • the one or more 3D object files are segmented, by the server processing system 210, into a plurality of layer data portions 802a, 802b...802n, wherein each layer data portion 802 is indicative of a layer of the 3D object for production.
  • the layer data portions 802 may already be stored in the data store 215, and thus the server processing system 210 simply retrieves the portions accordingly. However, it will be appreciated that this process can be performed on the fly by the server upon receiving the request from the user.
  • FIG. 8C there is shown a further representation of the three dimensional object data 800 including a plurality of layer data portions 802 which include further data.
  • each layer data portion 802 includes point data 810 indicative of a plurality of points of the respective layer of the three dimensional object.
  • the points of the point data 810 define a production path of a toolhead of the three dimensional object production device. It will be appreciated that for stereolithographic printing, the toolhead is considered to be one or more mirrors used to control the laser.
  • the points of the point data 810 are unordered, and preferably randomly ordered such that the point data is not directly indicative of the production path of the toolhead. Each point is preferably indicative of a two dimensional coordinate in the respective layer.
  • the points of the point data 810 may be indicative of a point matrix.
  • Each layer data portion 802 also includes point sequence data 820 indicative of a reordering sequence to reorder the randomly ordered points, whereby the reordered points define the production path of a toolhead for generating the respective layer of the respective three-dimensional object.
  • the unordered points of the point data 810 in combination with the point sequence data 820 can be particularly advantageous in digital rights management of the three dimensional object data 800.
  • the three dimensional object may not be able to be produced solely based on this data.
  • the order which the points are to be produced is known, - the three dimensional object cannot be produced based only on a plurality of points.
  • the order which points are generated can additionally provide accuracy in the production quality of the produced three dimensional object.
  • FIG. 8D there is shown a representation of a layer - 850 of a polygon 'A' which comprises of a number of lines, where each line includes a pair of points.
  • the layer 850 includes five points which are represented by two-dimensional coordinates.
  • Coordinate (A x i, A y i) is to be generated prior to (Ax2,A y2 ) and so on.
  • the point data includes randomly ordered points.
  • the non-sequential point data 810 (PD) may be indicative of the following non-sequential coordinates of the layer 850:
  • the point sequence data 820 is indicative of a reordering sequence of the points to thereby define a production path which a toolhead of the three dimensional object production device 220 should travel to generate the layer 850.
  • the point sequence data (PSD) may be:
  • PSD [PD[4], PD[1], PD[5], PD[2], PD[3]]
  • the three dimensional production device 220 or the user processing system 230 instructing the three dimensional production device 220 uses the point sequence data 820 to reorder the non-sequential point data 810 to generate a production path for the toolhead.
  • the production path (PP) for example layer 850 may be generated as:
  • the three dimensional object data 800 includes the point data 810 which is indicative of the points of a plurality of production paths for multiple layers of the three-dimensional object.
  • the three dimensional object data 800 also includes point sequence data 820 indicative of a reordering sequence to reorder the points of the point data 810 to produce a production path for each particular layer.
  • the three dimensional object data 800 also includes layer identification data 830 indicating a respective layer which each point, line (i.e. pairs of points) and/or production pathway (i.e. multiple lines) is associated therewith for the three dimensional object.
  • the server processing system 210 can extract the point data 810, the point sequence data 820, and the layer identification data 830 from the one or more uploaded three dimensional object files uploaded by a server to generate the three dimensional object data 800.
  • the three dimensional object data 800 may be stored in the data store 215 for retrieval when required.
  • the server processing system 210 may perform this extraction process at the time of receiving the three dimensional object files.
  • the generation of the three dimensional object data 800 based upon the one or more three dimensional object files 801 may occur at the time of receiving a production request.
  • At least some of the points of the point data 810 may include one or more associated attributes.
  • one or more points may include an end path marker attribute indicating that the production path ends with the respective coordinate.
  • at least some points may include a toolhead attribute to indicate the type of toolhead to be used for the production path from the one point to the next point in the production path.
  • at least some of the points can include a path speed attribute or an extrusion speed attribute to be used by the toolhead for the production path from the one point to the next point in the production path.
  • the points can include a path method attribute which can be indicative of a shape of the line of the path from the respective point to the next point, such as a direct line between the points, an arc shaped line, etc.
  • a path method attribute which can be indicative of a shape of the line of the path from the respective point to the next point, such as a direct line between the points, an arc shaped line, etc.
  • the point data 810, the point sequence data 820, and the layer identification data 830 may be encrypted when transferred by the server processing system 210.
  • the point data 810, the point sequence data 820, and the layer identification data 830 are separately encrypted into separate encrypted data portions.
  • the three dimensional object production device 220 or the user processing system 830 instructing the three dimensional object production device 220 may decrypt the data transmissions, then reorder the point data 810 according to the point sequence data 820, as described above, to then generate the three dimensional object.
  • the three dimensional object data 800 can include a plurality of layer data portions 802.
  • the server processing system 210 can be configured to incrementally transfer the data 800 where data portions 802 are transferred in separate data transmissions in response to receiving notifications of layers being incrementally completed by the three dimensional object production device 220.
  • the server 210 can transfer a first layer data portion 802 to the user processing system 230 or the three dimensional object production device 220 for production.
  • the server processing system 210 receives a notification from the user processing system 230 or the three dimensional object production device 220 indicating that the first layer 802 has been completed.
  • the server processing system 210 then identifies the next layer data portion 802 of the data 800 which is then transferred accordingly. As will be appreciated, each layer data portion may be encrypted.
  • the three dimensional object production device 220 or user processing system 230 determines if the final layer of the 3D object has been produced based on a final layer marker indicated in the decrypted data. If the final layer marker is detected, then an object completion message is transferred from the three dimensional object production device 220 to the server processing system 210 to indicate that the object has been completely produced.
  • the three dimensional object production device 220 If the final layer has not been produced, the three dimensional object production device 220 generates and transfers a layer completion request to the server processing system 210, wherein the server processing system 210 transfers the next layer data portion 802 to the three dimensional object production device 220, wherein it will be appreciated that the process continues in a loop until the 3D object has been produced.
  • contents of the one or more three dimensional object files 801 can be reproduced by the three dimensional object production device 220 or the user processing system 230 instructing the three dimensional object production device 220 using the three dimensional object data 800.
  • the points extracted from the one or more three dimensional object files 801 to generate the three dimensional object data 800 may be vertices (i.e. a three dimensional point) and thus the above processes can similarly apply to file formats using this technique.
  • point data may be separated into unordered X-coordinate point data and unordered Y-coordinate point data, wherein the three dimensional object data 800 may include coordinate portion sequencing data to match corresponding X coordinates with the respective Y coordinates to form the point data.
  • the server processing system 210 may stream the encrypted three dimensional object data 800 to the user processing system 230 or the three dimensional object production device 220.
  • the three dimensional object production device 220 or the user processing system 230 stores the streamed data in memory 222. As portions of the 3D object are produced, the three dimensional object production device 220 or the user processing system 230 purges the streamed data from memory.
  • the user processing system 230 may have stored thereon a client application which controls the user processing system 230 for the management of the digital rights, wherein the client application controls the user processing system 230 to purge the data 800 from memory.
  • the streamed data may be stored in the three dimensional object production device's 220 memory 225 more quickly than the production can be performed, and in the instance where the three dimensional object production device 220 has a limited memory size, streamed data may be lost.
  • the three dimensional object production device 220 transfers a pause message to the server processing system 210 indicating that streaming of data should be paused, and that the encrypted data should be re-streamed at a certain position once a recommence command has been issued by the three dimensional Object production device 220.
  • the three dimensional object production device 220 Once a sufficient threshold amount of memory has been purged, the three dimensional object production device 220 generates and transfers a recommence message to the server processing system 210 to recommence streaming of the encrypted data. It will be appreciated that the pause or recommence message may be indicative of a position or portion of the streamed data which the three dimensional object production device 220 has produced or next expects to produce, such that the streamed data recommences correctly by the server processing system 210.
  • one or more users can submit one or more three dimensional object files, or a link thereto, for storage in the data store 215 such that another user can acquire a license to produce the 3D object.
  • the submitting user can access a server interface, wherein the user is required to input a usemame and password to be authenticated by the server processing system 210.
  • the user can select one or more three dimensional object files, such as an STL file, AMF file, SVG file, G-code file which is then transferred to the server processing system 210.
  • the server processing system 210 can perform processing on the received data which is stored in the data store 215.
  • the user may have a data store of 3D objects which the user wishes to provide access to users of the system.
  • a link can be stored in the server's data store 215 to provide access to the user's data store, generally via TLS protocol or the like.
  • the method 700 includes firmware of the three dimensional object production device 220 performing a self check to determine that the three dimensional object production device 220 is in a ready state.
  • the method 700 includes the three dimensional object production device firmware indicating to a production server (such as a printer server for a three dimensional printer) a firmware version and the ready state of the three dimensional object production device 220.
  • the method 700 includes the production server connecting to the server processing system 210 requesting authentication with firmware status.
  • the server processing system 210 acknowledges connection, advises of the status of the firmware and provides a copy of the server's digital certificate.
  • the method 700 includes the three dimensional object production device 220 utilising the data storage medium 222 or memory 225 to validate the server's digital certificate.
  • the method includes, at step 730, the production server validating the connection with the server processing system 210 which may be via a relay processing system.
  • the method 700 proceeds to step 735. Otherwise, if the firmware status indicates that the firmware requires an update, the method 700 proceeds to step 745.
  • the production server authenticates the connection with the server processing system 210, which may be via a relay processing system.
  • the method includes the production server sending an acknowledgement to the server processing system 210 and advising that the three dimensional object production device 220 is ready for use with the system 200.
  • the method 700 includes the production server removing current firmware from memory 222 of the three dimensional object production device 220 such that new firmware can be installed.
  • the method 700 includes the production server sending an acknowledgement to the server processing system 210 and requesting transfer of new firmware.
  • the method includes the production server receiving the new firmware from the server processing system 210.
  • the method includes the production server updating the three dimensional object production device 220 with the new firmware and the automatically performs a reboot process.
  • the three dimensional object production device 220 can include components to prevent physical intrusion thereof.
  • circuitry may be encased in - tamper resistant material such that upon physical intrusion by a user, the circuitry is physically compromised, thereby disabling the three dimensional object production device 220.
  • the firmware installed upon the three dimensional object production device 220 can detect if the three dimensional object production device 220 has been compromised. Upon detection, the three dimensional object production device 220 establishes a connection with the server processing system 210 and reports the detection.
  • the server processing system 210 In response to the detected compromise, the server processing system 210 records in the data store 215 that the particular three dimensional object production device 220 has been compromised, thereby disabling the three dimensional object production device 220 from using the digital rights management service provided by the server processing system 210.
  • a user's account may be suspended as a result of a detected compromised three dimensional object production device 220.
  • the object data may not necessarily need to be transferred from the server processing system 210 to the three dimensional object production device 230.
  • a remote source of three dimensional object data 800 may facilitate transfer of the three dimensional object data 800 to the three dimensional object production device 220, wherein the server processing system 210 facilitates the transfer of the three dimensional object data 800 from the remote server processing system 260 to the three dimensional production device 220.
  • the server processing system 210 facilitates the transfer of the three dimensional object data 800 from the remote server processing system 260 to the three dimensional production device 220.
  • other marketplaces which offer three dimensional object data 800 for license can list the availability of the three dimensional object data 800 via the server processing system 210.
  • the three dimensional object data 800 can be transferred from the remote processing system 260 to the server processing system 210 in order for object identification data to be generated and stored in the data store 215.
  • the object identification data may be indicative of a hash of the object data.
  • the identification data is then compared against current listings of available object for license in the data store 215 to ensure that no duplicate object is stored in the data store 215.
  • the server processing system 215 then stores listing data in the data store 215 indicative of the object identification data, an object description, a marketplace identifier and a marketplace product identifier.
  • the marketplace identifier is indicative of the remote server processing system and the marketplace product identifier is a unique identifier which the remote server processing system 260 can identify the three dimensional object data 800 associated with the 3D object.
  • the server processing system 210 Upon receiving a production request from a user, the server processing system 210 identifies the remote server processing system 260 based on the marketplace identifier indicated by the listing data and facilitates the transfer of the three dimensional object data 800 from the remote server processing system 260 to the three dimensional object production device 220 or user processing system 230.
  • a request for the transfer of the three dimensional object data 800 is sent to the remote server processing system 260, wherein the request is indicative of the marketplace identifier of the three dimensional object data 800 and data indicative of the three dimensional object production device 220 associated with the requesting user or alternatively data indicative of the user processing system 230 associated with the requesting user.
  • the remote server processing system 260 can then directly transfer the three dimensional object data 800 to the identified three dimensional object production device 220 or user processing system 230.
  • the server processing system 210 may facilitate a handshaking process to establish the data transfer connection between the remote processing system 260 and either the identified three dimensional object production device 220 or user processing system 230.
  • the production process carried out by the three dimensional object production device 220 and the digital rights management process undertaken by the server processing system 210 as described in relation to the previous examples would also be carried out in this embodiment. Referring to Figure 9 there is shown a system diagram of the server processing system 210 in data communication with a first user processing system 910 and a second user processing system 920.
  • the first user processing system 910 has stored in a data store the three dimensional object data 800 for generating a 3D object, wherein the three dimensional object data 800 was acquired from the server processing system 210.
  • the server processing system 210 receives a production request to generate the corresponding 3D object from the second user processing system 1020.
  • the server processing system 210 can facilitate a structured peer-to-peer transfer of the three dimensional object data 800 from the first user processing system 1010 to the second user processing system 920.
  • the server processing system 210 may determine that the peer-to- peer transfer of the three dimensional object data 800 may be more efficient than transfer of the object data from the data store 215 associated with the server processing system 210.
  • the server processing system 210 can communicate with a client application 915 stored on the first user processing system 910 wherein an identifier associated with the second user processing system 920 is provided to the client application 925.
  • the first user processing system 910 under control by the client application 915 then transfers the three dimensional object data 800 to the second user processing system 920 under control by client application 925.
  • the server processing system 210 may facilitate a handshaking process to establish a data transfer connection between the first user processing system 910 and the second user processing system 920.
  • the production process carried out by the three dimensional object production device 220 and the digital rights management process undertaken by the server processing system 210 as described in relation to the previous •examples would also be carried out in this embodiment.
  • the server processing system 210 may have access to three dimensional object production device data which is indicative of a list of three dimensional object production devices 220 which are currently connected to the server processing system 210.
  • the server processing system 210 can utilise the three dimensional object production device data to suggest an available three dimensional object production device 220 which the user may wish to use.
  • this process may be performed by an authentication server processing system 270 which receives instructions from the server processing system 210.
  • the IP address of the user processing system 230 may be used by the server processing system 210 to determine a general location of the user, wherein the list of available three dimensional object production devices 220 may be filtered according to the determined general location.
  • a user who has acquired a license to produce a particular 3D object may request modification to the three dimensional object data 800, via the server processing system 210, prior to production. For example, scaling, modification of materials, or inclusion of particular changes to the design of the 3D object may be performed via the server interface if enabled under the conditions of the license acquired by the user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The present invention relates to a system, server processing system, method, computer readable medium, and three dimensional object production device for managing digital rights in relation to producing a three dimensional (3D) object. In one aspect, the server processing system is configured to: receive an acquisition request from a user to acquire a license for producing a 3D object; store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object; receive a production request from a user to produce the 3D object; authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production.

Description

DIGITAL RIGHTS MANAGEMENT FOR THREE DIMENSIONAL OBJECT
PRODUCTION
Field of Technology
The present invention relates to digital rights management for production of a three dimensional object.
Background
Whilst three dimensional object production devices, such as additive and/or subtractive three dimensional printers and CNC (Computer Numerical Control) machines, were previously considered highly specialised devices which few members of the public had access thereto, three dimensional object production devices have now become more common place and are more easily accessible by the public today. The increased accessibility of three dimensional object production devices clearly provides a number of advantageous opportunities for users. However, the expected increase in ownership and access of three dimensional object production devices also poses a significant problem for intellectual property owners whom own intellectual property rights in relation to objects which can be reproduced using such devices. As digital data for production of a three dimensional object can be distributed widely between members of the public without authorisation, copies of the three dimensional object can be produced without the permission of the intellectual property owner.
Therefore there is a need to overcome or alleviate one or more of the above-mentioned problems or provide a commercial alternative.
Summary
In a first aspect there is provided a server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the server processing system is configured to:
receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production.
In certain embodiments, in response to the positive authentication, the server processing system is configured to transfer the three dimensional object data, stored in the data store, to the three dimensional object production device. In certain embodiments, in response to the positive authentication, the server processing system, identifies a source device having stored therein the three dimensional object data, wherein the three dimensional object data is transferred from the source device to the three dimensional object production device. In certain embodiments, at least part of the three dimensional object data is encrypted.
In certain embodiments, the server processing system is configured to:
transfer an authentication request to the three dimensional object production device prior to facilitating transfer of the three dimensional object data;
receive identification data identifying the three dimensional object production device; and
facilitate determination, based on the identification data, if the three dimensional object production device is authentic, wherein in response to a successful authentication, the server facilitates transfer of the three dimensional object data to the three dimensional object production device. In certain embodiments, the server processing system is configured to:
receive submission data indicative of one or more three dimensional object files available for license; and
store, in the data store, the three dimensional object data based on the submission data.
In certain embodiments, the submission data is indicative of a remote server processing system facilitating transfer of the three dimensional object data, wherein in response to a positive authentication of the production request, the server processing system facilitates transfer of the three dimensional object data between the remote server processing system and the three dimensional object production device.
In certain embodiments, the server processing system is configured to transfer separate portions of the three dimensional object data to the three dimensional object production device.
In certain embodiments, the server processing system is configured to:
facilitate transfer of a first portion of the three dimensional object data to the three dimensional object production device;
receive, from the three dimensional object production device, a request for a second portion of the three dimensional object data after the three dimensional object production device produces a portion of the 3D object corresponding to the first portion; and
in response to receiving the request for a second portion of the three dimensional object data, facilitate transfer of the second portion of the three dimensional object data to the three dimensional object production device.
In certain embodiments, the server processing system is configured to stream the three dimensional object data to the three dimensional object production device.
In certain embodiments, prior to the server processing system facilitating transfer of the three dimensional object data to the three dimensional object production device, the server processing system is configured to:
receive firmware identification data from the three dimensional object production device indicative of firmware of the three dimensional object production device;
determine, based on the firmware identification data, whether the firmware of the three dimensional object production device is current; and
in response to a negative determination, facilitate transfer of current firmware to the three dimensional object production device for installation.
In certain embodiments, the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the 3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
In certain embodiments, the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
In certain embodiments, the three dimensional object data includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object;
layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
In certain embodiments, the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately. In certain embodiments, the plurality of points of the point data are randomly ordered. In certain embodiments, at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute.
In certain embodiments, the server processing system is configured to facilitate transfer of the three dimensional object data to the three dimensional object production device via an intermediary processing system in data communication with the three dimensional object production device.
In certain embodiments, the server processing system facilitates transfer of a user interface to the user to enable the user to submit the acquisition request.
In certain embodiments, the server processing system is configured to receive login data, wherein upon an unsuccessful login the user is restricted from submitting the acquisition request.
In certain embodiments, the user interface indicates one or more 3D objects which have associated therewith three dimensional object data available for license.
In certain embodiments, the user transfers search criteria to identify one or more 3D objects which satisfy the search criteria, wherein the server processing system is configured to search the data store to generate search results indicative of one or more 3D objects which satisfy the search criteria.
In certain embodiments, the server processing system receives, from the user, selection data indicative of a three dimensional object production device for producing the 3D object. In a second aspect there is provided a method for managing digital rights in relation to producing a three dimensional (3D) object, wherein the method includes, in a server processing system, steps of:
receiving an acquisition request from a user to acquire a license for producing a 3D object;
storing, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receiving a production request from a user to produce the 3D object;
authenticating, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitating transfer of three dimensional object data to a three dimensional object production device for production. In a third aspect there is provided a computer readable medium for configuring a server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the computer readable medium includes executable instructions to configure the server processing system to:
receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production. In a fourth aspect there is provided a three dimensional object production device for producing a three dimensional (3D) object, wherein the three dimensional object production device includes:
a production module for producing the 3D object;
memory having stored therein data for decrypting encrypted three dimensional object data; and
a processing system configured to:
receive, from a server processing system, encrypted three dimensional object data;
decrypt, using the memory, the encrypted three dimensional object data to obtain three dimensional object data; and
control the production module to produce the 3D object in accordance with the three dimensional object data.
In certain embodiments, the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the
3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer. In certain embodiments, the three dimensional object production device is configured to receive the point data and the point sequence data for each layer data portion separately from the server processing system.
In certain embodiments, the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object; layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers. In certain embodiments, the three dimensional object production device is configured to receive the point data, the point sequence data and the layer identification data separately from the server processing system. In certain embodiments, the plurality of points of the point data are randomly ordered.
In certain embodiments, at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute. In certain embodiments, the processing system is configured to:
receive an authentication request from the server processing system prior to receiving the three dimensional object data;
transfer identification data identifying the three dimensional object production device, wherein the server processing system facilitates determining, based on the identification data, if the three dimensional object production device is authentic, wherein in response to a successful authentication, the three dimensional object production device receives the three dimensional object data.
In certain embodiments, the three dimensional object production device is configured to: receive a first portion of the three dimensional object data;
transfer, to the server processing system, a request for a second portion of the three dimensional object data upon the three dimensional object production device producing a portion of the 3D object corresponding to the first portion; and
receive the second portion of the three dimensional object data.
In certain embodiments, the three dimensional object production device is configured to receive a stream of the three dimensional object data.
In certain embodiments, prior to three dimensional object production device receiving the three dimensional object data, the three dimensional object production device is configured to:
transfer, to the server processing system, firmware identification data indicative of firmware of the three dimensional object production device, wherein the server determines, based on the firmware identification data, whether the firmware of the three dimensional object production device is current; and
in response to a negative determination, receiving current firmware for installation.
In a fifth aspect there is provided a system for producing a three dimensional (3D) object, wherein the system includes:
a server processing system according to the first aspect; and
a three dimensional object production device according to the fourth aspect.
In a sixth aspect there is provided a system for producing a three dimensional (3D) object, wherein the system includes a server processing system, a user processing system and a three dimensional object production device, wherein:
the server processing system is configured to:
receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of encrypted three dimensional object data indicative of the 3D object to the user processing system; the user processing system is configured to:
decrypt the encrypted three dimensional object data to obtain three dimensional object data; and
transfer, to the three dimensional object production device, the three dimensional object data or instructions based on the three dimensional object data to produce the 3D object; and
the three dimensional object production device is configured to produce the 3D object based on the instructions or the three dimensional object data received from the user processing system.
In certain embodiments, the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the 3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
In certain embodiments, the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
In certain embodiments, the three dimensional object data includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object;
layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
In certain embodiments, the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately. In certain embodiments, the plurality of points of the point data are randomly ordered. In certain embodiments, at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute.
In certain embodiments, the three dimensional object production device is configured to: receive, via the user processing system, a first portion of the three dimensional object data; - transfer, to the server processing system via the user processing system, a request for a second portion of the three dimensional object data upon the three dimensional object production device producing a portion of the 3D object corresponding to the first portion; and
receive, via the user processing system, the second portion of the three dimensional object data.
In certain embodiments, the user processing system receives a stream of the three dimensional object data.
Other aspects and embodiments will be appreciated from the detailed description.
Brief Description of the Figures
Example embodiments should become apparent from the following description, which is given by way of example only, of at least one preferred but non-limiting embodiment, described in connection with the accompanying figures.
Figure 1 illustrates a functional block diagram of an example processing system that can be utilised to embody or give effect to a particular embodiment; Figure 2A is a system diagram representing an example system for managing digital rights for producing a three dimensional object;
Figure 2B is a system diagram representing another example system for managing digital rights for producing a three dimensional object;
Figure 2C is a system diagram representing another example system for managing digital rights for producing a three dimensional object; Figure 2D is a system diagram representing another example system for managing digital rights for producing a three dimensional object;
Figure 2E is a system diagram representing another example system for managing digital rights for producing a three dimensional object;
Figure 3 is a flowchart representing a method for managing digital rights in relation to three dimensional object production;
Figure 4 is a flowchart representing an example method of a user submitting one or more 3D object files to the server processing system;
Figure 5 is a flowchart representing an example method of a user acquiring a license for producing a three dimensional object; Figures 6A and 6B is a flowchart representing an example method of a user producing a three dimensional object based upon the acquired license; and
Figure 7 is a flowchart representing an example method performed by the three dimensional object production device for connecting to the server processing system;
Figure 8A is a block diagram representing an example of three dimensional object data; Figure 8B is a block diagram representing a further example of three dimensional object data; Figure 8C is a block diagram representing a further example of three dimensional object data;
Figure 8D is a representation of a representation of a layer of a three dimensional object for production;
Figure 8E is a block diagram representing a further example of three dimensional object data; and
Figure 9 is a system diagram representing a peer-to-peer transfer of three dimensional object data between a first user processing system and a second user processing system.
Description of the Preferred Embodiments
The following modes, given by way of example only, are described in order to provide a more precise understanding of the subject matter of a preferred embodiment or embodiments. In the figures, incorporated to illustrate features of an example embodiment, like reference numerals are used to identify like parts throughout the figures.
A particular embodiment can be realised using a processing system, an example of which is shown in Fig. 1. In particular, the processing system 100 generally includes at least one processor 102, or processing unit or plurality of processors, memory 104, at least one input device 106 and at least one output device 108, coupled together via a bus or group of buses 110. In certain embodiments, input device 106 and output device 108 could be the same device. An interface 112 also can be provided for coupling the processing system 100 to one or more peripheral devices, for example interface 112 could be a PCI card or PC card. At least one storage device 114 which houses at least one database 116 can also be provided. The memory 104 can be any form of memory device, for example, volatile or non-volatile memory, solid state storage devices, magnetic devices, etc. The processor 102 could include more than one distinct processing device, for example to handle different functions within the processing system 100. Input device 106 receives input data 118 and can include, for example, a keyboard, a pointer device such as a pen-like device or a mouse, audio receiving device for voice controlled activation such as a microphone, data receiver or antenna such as a modem or wireless data adaptor, data acquisition card, etc.. Input data 1 18 could come from different sources, for example keyboard instructions in conjunction with data received via a network. Output device 108 produces or generates output data 120 and can include, for example, a display device or monitor in which case output data 120 is visual, a printer in which case output data 120 is printed, a port for example a USB port, a peripheral component adaptor, a data transmitter or antenna such as a modem or wireless network adaptor, etc.. Output data 120 could be distinct and derived from different output devices, for example a visual display on a monitor in conjunction with data transmitted to a network. A user could view data output, or an interpretation of the data output, on, for example, a monitor or using a printer. The storage device 1 14 can be any form of data or information storage means, for example, volatile or non-volatile memory, solid state storage devices, magnetic devices, etc..
In use, the processing system 100 is adapted to allow data or information to be stored in and/or retrieved from, via wired or wireless communication means, the at least one database 1 16 and/or the memory 104. The interface 1 12 may allow wired and/or wireless communication between the processing unit 102 and peripheral components that may serve a specialised purpose. The processor 102 receives instructions as input data 118 via input device 106 and can display processed results or other output to a user by utilising output device 108. More than one input device 106 and/or output device 108 can be provided. It should be appreciated that the processing system 100 may be any form of terminal, server, specialised hardware, or the like.
Referring to Figure 2A there is shown a system diagram for providing digital rights management services for three dimensional object production. In particular, the system 200 includes a processing system provided in the form of a server processing system 210 and a data store 215 which the server processing system 210 is able to access. The system 200 also includes a production system including at least one three dimensional object production device 220 in data communication with the server processing system 210. Preferably, the system 200 includes a plurality of three dimensional object production devices 220 in data communication with the server processing system 210.
The server processing system 210 can be a single processing system. However, depending upon the scale of the system and number of users of the system 200, the server processing system 210 can include a number of processing systems operating in a distributed manner.
The data store 215 is configured to store license data for one or more users. In particular, the license data is indicative of digital rights which users have purchased in relation to one or more authorised actions which can be performed by users (i.e. licensees) in relation to three dimensional object data for one or more 3D objects. In one particular example, the one or more actions relate to using the three dimensional object data to produce the 3D object. The data store 215 can also include the three dimensional object data 800. As the data store 215 can be used for managing digital rights in relation to multiple 3D objects, the data store 215 can have stored therein three dimensional object data 800 for multiple objects. It will be appreciated that whilst it is possible that the data store 215 may be a single component such as a hard drive or the like, it is possible and in certain circumstances preferable that the data store 215 has a distributed configuration which enables operation of the system using cloud computing and the like.
The data store 215 can also include three dimensional object production device data indicative of three dimensional object production devices 220 of the system 200. In particular, the three dimensional object production device data may include authentication data indicative of authentic three dimensional object production devices 220 of the system 200. Additionally, the three dimensional object production device data may include specification data indicative of production capabilities of each three dimensional object production device 220 of the system 200. The three dimensional object production device 220 is configured to create a three dimensional object from the three dimensional object data 800. A number of different devices can be used as a three dimensional object production device 220 including a 3D printer using additive or subtractive printing techniques, a CNC machine, or any other type of device which can be used to produce a 3D object. In a preferable form, the three dimensional object production device 220 is a stereolithographic printer. In particular embodiments, the three dimensional object production device 220 includes a production module 221 for generating the 3D object. In particular embodiments where the three dimensional object production device 220 receives encrypted data, the three dimensional object production device includes memory having stored therein data for decrypting encrypted three dimensional object data 800.
Additionally, the three dimensional object production device 220 can include an integrated processing system 223 which is of the type processing system 100. Generally, the processing system 223 is provided in the form of a microprocessor which includes a processor 224, memory 225, an input interface 226, and an output interface 227, interconnected via a bus 228. The processing system 223 is configured to receive, from the server processing system 210, three dimensional object data 800, decrypt the three dimensional object data if required, and control the production module 221 to produce the 3D object in accordance with the three dimensional object data 800.
The memory for storing the data for decrypting the encrypted data may be the memory 225 of the processing system 223. Alternatively, the memory storing the data for decrypting the encrypted data may be a data storage module 222, such as a smart card. The data for decrypting the encrypted data may be stored in volatile or non- volatile memory. In this system 200, the user can interact with the three dimensional object production device 220 to purchase a license to produce the 3D object, and obtain the three dimensional object data 800 for producing the 3D object using the three dimensional object production device 220 as will be explained in further detail below. For example, the three dimensional object production device 220 may include an input device, such as a keyboard and/or mouse, an output device, such as a display, and an interface, such as a network interface, to enable communication with the server processing system 210. However, as will be explained below with reference to particular systems, the licence may be obtained in alternate ways through alternate devices.
Referring to Figure 2B, 2C, 2D and 2E there is shown further system diagrams of other example systems 200 for providing digital rights management services for three dimensional object production. Common portions between the systems 200 in Figures 2A, to 2E share similar reference numerals.
As depicted in Figure 2B, the system 200 includes a user processing system 230 which is in data communication with the server processing system 210. Preferably, a plurality of user processing systems 230 are in data communication with the server processing system 210. In Figure 2C, the user processing system 230 is in data communication with the server processing system 210 via the three dimensional object production device 220. It will be appreciated that in this arrangement the user processing system 230 can be in communication with the server processing system 210 directly. Additionally or alternatively, the user processing system 230 may be in indirect communication with the server processing system 210 via the three dimensional object production device 220. Processing system 100 depicted in Figure 1 is suitable for use as the user processing system 230 in Figure 2B, 2C, 2D and 2E. The user processing systems 230 may include standard personal computers, but also other processing devices such as mobile telecommunication devices (i.e. smart phones) and the like. The user is able to interact with the user processing system 230, via the input device of the user processing system 230, to purchase a license to the three dimensional object data 800. The three dimensional object data 800 is then transferred to either the user processing system 230 which is then forwarded to the three dimensional object production device 220, or alternatively the data 800 is transferred directly to the three dimensional object production device 220 as will be explained in further detail below. In the instance where the user processing system 230 forwards the data 800 or instructs the three dimensional object production device based on the data 800, the user processing system 230 together with the three dimensional object production device 220 define a production environment. It will be appreciated that in particular systems 200, the input interface 226 of the three dimensional object production device 220 is optional. As shown in Figure 2C, in certain embodiments the data storage module 222 or the memory 225 of the three dimensional object production device 220 may not include decryption data (i.e, one or more private keys) for decrypting encrypted three dimensional object data 800. In this embodiment, the encrypted three dimensional object data 800 is transferred from the server processing system 210 to the user processing system 230, wherein the user processing system 230 decrypts, using a private key, the encrypted three dimensional object data 800 which is then transferred to, or used to instruct, the three dimensional object production device 220 to produce the corresponding three dimensional object. Referring to Figure 2D there is shown a further configuration of the system 200. In particular, the three dimensional object data 800 may be stored by a remote source 265 controlled by a remote server processing system 265. In particular, the server processing system 210 stores the license data in the data store 215. The server processing system is also configured to receive a production request from the three dimensional object production device 220 or the user processing system 230. In this embodiment, the server processing system 210 controls the digital rights management relating to the three dimensional object data 800. However, in this embodiment, the three dimensional object data 800 is located remotely to the server processing system 210, wherein the server processing system 210 communicates with the remote server processing system 260 to transfer the three dimensional object data 800 stored in the remote source 265 to the requesting device 220, 230. Preferably, the transfer of the three dimensional object data 800 may be transferred directly from the remote server processing system 260 to the requesting device 220, 230. However, it will be appreciated that this data transfer could also be performed via the server processing system 210. In this embodiment, the remote server processing 260 may operate a marketplace selling the digital rights to the three dimensional object data 800, wherein the server processing system 210 advertises the availability of the three dimensional object data and handles the digital rights management of the transfer of the three dimensional object data 800 and manages the production of the associated three dimensional object on behalf of the remote server processing system 260. For example, the remote server processing system 260 may be marketplace websites such as Ebay™ and Amazon™.
Referring to Figure 2E there is shown a further configuration of the system 200. In particular, the server processing system 210 is in data communication, via data communication means 240 with an authentication server 270. The authentication server 270 has associated therewith a data store 275 having stored therein the three dimensional object production device data. As such, the data store 215 of the server processing system 210 has stored therein the three dimensional object data 800 and the license data, and the data store 275 of the authentication server processing system 270 has stored therein the three dimensional object production device data. When a production request is received by the server processing system 210 from a licensee, the server processing system 210 requests the authentication server 270 to authenticate the three dimensional object production device 220 which the user wishes to utilise to produce the 3D object. Additionally or alternatively, if the licensee requires a non-local three dimensional object production device 220 to be utilised to generate the 3D object, the server processing system 210 can request' that the authentication server 270 determine and return to the server processing system 210 a list of available authentic three dimensional object production devices 220 which are capable of producing the licensed 3D object. In this instance, the server processing system 210 may be operated by marketplace websites such as Ebay™ and Amazon™.
Furthermore, continuing with the example system 200 illustrated in Figure 2E, the authentication server may also be used to authenticate a user requesting access to the system. In particular, user account data may be stored in data store 275, wherein the server processing system 210 facilitates user authentication by transferring a user authentication request to the authentication server processing system 270, and wherein the server processing system 210 receives a user authentication response from the authentication server processing system 270. Additionally or alternatively, the license data may also be stored in the data store 275 rather than 215, wherein upon receiving an acquisition request, the server processing system 210 may facilitate transfer of data to the authentication server processing system to store in data store 275. Furthermore, in response to a production request, the server processing system 210 may facilitate determining if the user has rights to produce the 3D object by transferring a request to the authentication server processing system 270, wherein the authentication server processing system 275 generates a response upon querying the data store 275 based on the request. In Figures 2 A to 2E, the components of the system 200 can be interconnected via a network 240, such as the computer network which can include Wide Area Networks (WAN) such as the Internet and/or Local Area Networks (LAN) such as an Intranet. It will be appreciated that the network 240 may utilise a wired or wireless medium. Referring to Figure 3 there is shown a flowchart representing a method 300 for managing digital rights in relation to three dimensional object production.
In particular, at step 310, the method 300 includes receiving an acquisition request from a user to acquire a license for producing a 3D object.
At step 320, the method 300 includes storing, in a data store 215, license data indicative of the user's acquisition of the license for producing the 3D object.
At step 330, the method 300 includes receiving a production request from a user to produce the 3D object. At step 340, the method 300 includes authenticating, based on the license data stored 215 in the data store 215, whether the user is entitled to produce the 3D object.
At step 350, the method 300 includes facilitating transfer, in response to a positive authentication, three dimensional object data 800 indicative of the 3D object to the three dimensional object production device 220 for production.
Generally, the server processing system 210 maintains a number of user accounts in data store 215, although as discussed this may also be stored remotely in data store 275. In one form, a user can complete a registration form presented via the server processing system 210 in order to register an account. In another form, a user can register an account with the server processing system 210 via a third party service, wherein protocols such as Oauth (www.oauth.net) can be utilised. In the event that the user possesses a three dimensional object production device 220 which is registered with the server processing system 210, the user can be associated with the registered three dimensional object production device 220 wherein the user account data represents this association. However, in the event that the user does not possess a three dimensional object production device 220 or would like to utilise a different three dimensional object production device 220 for particular jobs, the user can nominate, or the server processing system 210 can recommend, a three dimensional object production device 220 for use by the user which is generally referred to as a bureau device 220. The bureau device 220 can be owned by another user (referred to as the bureau) which can produce a 3D object on behalf of the user so long as the user has acquired the digital rights to produce the 3D object. As will be appreciated, the bureau may charge the user a fee for use of the bureau device 220.
In the event that the user wishes to submit one or more three dimensional object files 801 representing a 3D object for license, the user may request permission from the server processing system 210, wherein the server processing system 210 may store an enablement field in the user's account stored in the data store 215 indicative of the user's permission to upload one or more three dimensional object files accordingly. As outlined above, each three dimensional object production device 220 used with the system 200 generally requires registration with the server processing system 210. In particular, when the three dimensional object production device 220 is connected to a network, the three dimensional object production device 220 establishes, based on executable instructions stored in the three dimensional object production device's 220 memory 225, a connection with the server pfocessing system 210 and transfers registration data. The server processing system 210 then identifies or at least facilitates identification (i.e. in the case of the system illustrated in Figure 2E), based on the registration data and using the authentication data, whether the three dimensional object production device 220 is authentic, wherein in response to a positive authentication, the server processing system 210 records an enablement field in the authentication data for the specific three dimensional object production device 220 such that the three dimensional object production device 220 is registered for use with the system. Referring to Figure 4, there is shown a flowchart of a user submitting one or more three dimensional object files 801 to the server processing system 210.
In particular, at step 410, the method 400 includes the user creating one or more three dimensional object files 801 such as an STL (Standard Tessellation Language) file, an AMF (Additive Manufacturing File) file, an SVG (Scalable Vector Graphics) file, a G- Code file, or the like. However, it will be appreciated that the user submitting the file does not necessarily need to be the user who created the file, wherein the submitting user has the permission of the author.
At step 420, the method 400 includes the user being presented with a file submission form. Generally, this includes the user viewing, via a processing system such as the user processing system 230, a file submission webpage hosted by the server processing system 210, however it will be appreciated that a dedicated, application may be executed by the processing system 230 or device 220 which presents the file submission form.
At step 430, the method 400 includes the user submitting, via the submission form, submission data indicative of the one or more three dimensional object files.
At step 440, the method includes the server processing system 210 storing, in the data store 215, three dimensional object data 800 based on the submission data. As will be discussed in more detail with further examples, the server processing system 210 can perform processing upon the one or more three dimensional object files 801 to generate the three dimensional object data 800. In certain embodiments, the server processing system 210 is configured to extract point data 810, point sequence data 820 and optionally layer identification data 830 as will be discussed in relation to Figures 8C to 8E.
At step 450, the method 400 includes the server processing system 210 optionally generating one or more digital representations (i.e. pictures) of the 3D object based on the one or more three dimensional object files 801, wherein the digital representations are then recorded by the server processing system 210 in the data store 215. It will be appreciated that the user may alternatively provide the one or more digital representations in the submission data.
At step 460, the method 400 includes the server processing system 210 transferring a production request to the user to produce the 3D object using a registered three dimensional object production device 220.
At step 470, the method 400 includes the server processing system 210 receiving production completion data which is recorded in the data store 215. The production completion data may be indicative of the materials, and the amount of materials, used to produce the object which are stored in the data store 215, wherein this data can be used to determine the cost for a user to produce the 3D object.
At step 480, the method 400 includes the server processing system 210 requesting the user to nominate conditions of the license in order to enable a license to be acquired by a registered user. For example, the user can nominate particular three dimensional object production devices 220 for generating the 3D object, restrictions on producing the 3D object, restricted materials for producing the 3D object, scaling, and a license charge for producing the object.
At step 490, the server processing system 210 receives the nominated conditions which are stored in the data store 215. After step 490, the 3D object is accessible by users of the system, wherein one or more users can acquire a license to produce the 3D object.
Referring to Figure 5 there is shown a flowchart representing a method 500 of a user acquiring a license to produce a 3D object. The method 500 is described in relation to the system depicted in Figure 2B. However, the principles of the method equally apply to the other embodiments of the system 200 described herein.
In particular, at step 505, the method 500 includes the user accessing a user portal via the user processing system 230. The user portal can be provided in the form of a webpage which can be accessed by the user via a web browser.
It will be appreciated that in one configuration, the server processing system 210 hosts the user portal which can act as a virtual marketplace. However, in other configurations, the user portal can be hosted by a third party processing system which is in data communication with the server processing system 210.
At step 510, the user is presented with a login interface, wherein the user is required to provide a username and password for user authentication. As will be appreciated from above, the username and password may be credentials for a third party service using authentication protocols such as Oauth. At step 515, the username and password is transferred to the server processing system 210 for authentication. It will be appreciated that the username and password are preferably encrypted when transferred to the server processing system 210 for authentication. In one form, a combination of RSA 1024 and AES 192/256 encryption may be used by the system.
At step 520, the method 500 includes the server processing system 210 authenticating the user. In particular, the server processing system 210 accesses account data stored in the data store 215 for authenticating the user, although it will be appreciated that this may be stored in data store 275 in relation to other embodiments. The user name and password can be compared against the account data in the data store 215, wherein upon a successful authentication, the method proceeds to step 525. However, upon an unsuccessful authentication, the method ends. The authentication process may include the use of Public Key Infrastructure (PKI) wherein the account data may include one or more digital certificates for authenticating users. At step 525, upon successful authentication, the server processing system 210 generates a user interface for the user which is transferred to the device used by the user to communicate with the server processing system 210.
In particular configurations, the user processing system 230 displays upon the user processing system 230 or the three dimensional object production device 220 the user interface representing a virtual marketplace. In one form, the interface may be customised for the user based upon the three dimensional object production device 220 which the user wishes to utilise. In one particular configuration, the user's account data stored in the data store 215 may have associated therewith one or more three dimensional object production device identifiers indicative of one or more three dimensional object production devices 220 which the user wishes to utilise to produce the 3D object. The server processing system 210 is configured to identify the three dimensional object production device identifiers using the user account. Then, the server processing system 210 determines, using the three dimensional object production device data, one or more 3D objects which the identified three dimensional object production device 220 is capable of producing. The user interface is populated with interface data indicative of the 3D objects which the user can generate using the specified three dimensional object production device 220, wherein the user interface is transferred to the user processing system 230 for presentation to the user via the display. Alternatively, the user may not be associated with a particular three dimensional object production device 220, thus a list of potential three dimensional object production devices 220 for use by the user may be presented in the user interface.
In particular embodiments, the user may have predefined that the interface is to display 3D objects from one or more selected users, wherein the interface is generated by the server processing system 210 according to this setting. In additional or alternate embodiments, the server processing system 210 may generate an interface which filters 3D objects according to the specification of the three dimensional object production device 220 associated with the user. Three dimensional object data 800 may be stored in the data store 215 according to a category, wherein the user can interface with the interface to filter the 3D objects presented. At step 530, the method 500 includes the user selecting, using the input device of the user processing system 230 or the three dimensional object production device 220, a 3D object which the user would like to purchase a license thereof for producing the 3D object.
At step 535, the method 500 includes transferring selection data indicative of the user's selected 3D object to the server processing system 210.
At step 540, the method 500 includes the server processing system 210 storing, in the data store 215, license data indicative of the license which the user has acquired. It will be appreciated that in the event that the license requires the user to purchase the rights, the user may perform a financial transaction via the user processing system 230 in order to acquire the license. It will be appreciated that a third party gateway processing system may be utilised in order to purchase the license wherein the third party processing system transfers transaction confirmation data to the server processing system 210 indicative of a confirmation of the transaction having been performed such that the license data can be stored by the server processing system 210 in the data store 215. However it will be appreciated that it is possible that the server processing system 210 to be configured to include a transaction module to manage the transaction service, wherein upon successful transaction, the server processing system 210 records in the data store 215 the license data associated with the user.
As the license data has been stored by the server processing system 210 in the data store 215, the user is able to advantageously request production of the 3D object at a later time. For example, the license may be obtained by the user on a first day, but the user may request production on a different day to the first day.
Referring to Figures 6A and 6B there is shown a method 600 of a user requesting production of the 3D object in accordance with the license data. For the purposes of clarity the method 600 will be described in relation to the system depicted in Figure 2B. However, it will be appreciated that the teachings of this example equally apply in principle to the other embodiments described in relation to Figures 2A, and 2C to 2E.
In particular, at step 602, the method 600 includes the user accessing, via the user processing system 230, the user interface. At step 604, the method includes the user transferring identification data (i.e. username and password) to authenticate the user. At step 606, the server processing system 210 authenticates the user based on the identification data and in response to positive authentication, the method 600 includes, at step 608, the server processing system 210 generating the user interface based on the user settings stored in the data store 215. At step 610, the user interface is transferred to user processing system 230 for presentation upon the display of the user processing system 230.
At step 612, the method 600 includes the user interacting with the user interface to transfer, to the server processing system 210, a production request for producing the 3D object utilising the license which the user has previously acquired. In particular, the production request is indicative of the user identifier (i.e. username), a three dimensional object production device identifier, and an object identifier indicative of the object which the license relates thereto. In instances where the three dimensional object data 800 is hosted by a remote server, such as a third party marketplace, the production request may additionally be indicative of a marketplace identifier.
At step 614, the method 600 includes the server processing system 210 determining the user's three dimensional object production device specification based on the three dimensional object production device identifier and the three dimensional object production device data.
At step 616, the method 600 includes the server processing system 210 determining, based on the license data associated with the user account in the data store 215, whether the user has the appropriate rights to produce the specified object identified by the object identity. In the event that the user has acquired a license which permits the object to be produced, the method proceeds to step 618. In the event that the user does not possess rights via a license to have the object produced, the method ends.
At step 618, the method 600 includes the server processing system 210 determining, based on the three dimensional object production device specification associated with the identified three dimensional object production device 220, if the three dimensional object production device 220 nominated by the user is capable of producing the object. In the event that the three dimensional object production device 220 is capable of producing the object, the method 600 proceeds to step 620. It will be appreciated that the server processing system 210 may indicate that the selected three dimensional object production device 220 is currently producing other 3D objects and that the production request may be placed in a queue. The user is then given the option to accept that the production request is to be placed in a queue or is able to select a different three dimensional object production device 220 for producing the 3D object. In the event that the three dimensional object production device 220 is not capable of producing the 3D object, the user is informed and is able to select a different 3D object or a different three dimensional object production device 220.
At step 620, the method 600 includes the server processing system 210 transferring an authentication request to the three dimensional object production device 220. In this step, the server processing system 210 requests identification data to authenticate that the three dimensional object production device 220 is trusted by the system for producing the 3D object.
At step 622, the method includes the three dimensional object production device 220 transferring three dimensional object production device identification data for the server processing system 210 to authenticate the three dimensional object production device 220.
At step 624, the server processing system 210 authenticates the three dimensional object production device 220 using the three dimensional object production device identification data and the authentication data. In particular, the authentication data includes a list of trusted three dimensional object production devices 220 which the system allows production of a 3D object. In the event of a successful authentication, a session key may optionally be created for the production request by the server processing system 210 which is later used to encrypt the three dimensional object data 800.
At step 626, the server processing system 210 establishes a secure communication connection with the authenticated three dimensional object production device 220. In one form, the secure communication connection may operate using Transport Layer Security (TLS) protocol.
At step 628, the server processing system 210 verifies that the three dimensional object production device 220 has sufficient resources for producing the 3D object. In certain embodiments, the three dimensional object production device 220 includes a material identification unit which identifies the type and amount of material (s) which the three dimensional object production device 220 is able to utilise. The server processing system 210 can transfer a materials query to the three dimensional object production device 220, wherein the three dimensional object production device 220 responds with a materials response such that the server processing system 210 can determine whether the three dimensional object production device 220 is able to print the requested 3D object. In the event of a positive determination, the method proceeds to step 630, otherwise the method ends or the user is requested by the server processing system 210 to select a different device 220. In particular embodiments, the server processing system 210 maintains a materials usage database to track the usage of materials by registered three dimensional object production device 220, wherein materials can be automatically ordered and supplied to particular registered users of the system automatically such that down time of the three dimensional object production device 220 is reduced.
At step 630, the server processing system 210 retrieves the three dimensional object data 800 from the data store 215, wherein the three dimensional object data 800 may be stored locally or remotely. The three dimensional object data 800 may be stored as encrypted data and may be decrypted by the server processing system for encryption in step 632. In a preferable configuration, the retrieval of the three dimensional object data 800 is performed using Transport Layer Security (TLS) protocol.
At step 632, the server processing system 210 encrypts data at least partially indicative of the three dimensional object data 800. In one form, an encryption key (i.e. a public key) associated with either the three dimensional object production device 220 or the session key, is and utilised when encrypting data at least partially indicative of the three dimensional object data 800.
At step 634, the server processing system 210 transfers encrypted data indicative of at least part of the three dimensional object data 800 to the three dimensional object production device 220.
At step 636, the three dimensional object production device 220 decrypts the encrypted data indicative of at least part of the three dimensional object data 800. In particular, the three dimensional object production device 220 includes in the data storage medium 222 or memory 225 a private key for decrypting the data. The private key may be stored in volatile or non-volatile memory. The data storage medium 222 may be provided in the form of a removable storage medium such as smart card although it will be appreciated that other removable data storage mediums can also be utilised. The key used by the server processing system 210 may be a public key, wherein the public key of the server processing system 210 has a mathematical relationship with the private key of the three dimensional object production device 220 in accordance with Public Key Infrastructure (PKI).
At step 638, the three dimensional object production device 220 produces the 3D object using the three dimensional object data 800. At step 640, the three dimensional object production device 220 transfers a completion message to the server processing system 210 to indicate that production of the 3D object has been completed.
At step 640, the server processing system 210 updates the user record or the license data to indicate that an instance of the 3D object has been produced. In instances where the user has acquired a license for a plurality of production instances of the 3D object, the server processing system 210 can utilise this data to ensure that the user is entitled to generate further instances of the 3D object if permitted.
A number of techniques can be used for transferring the three dimensional object data 800 to the three dimensional object production device 220 for producing the 3D object.
In particular, in one form, the encrypted three dimensional object data 800 is transferred from the server processing system 210 to the three dimensional object production device 220. The three dimensional object production device 220 stores the encrypted three dimensional object data 800 in memory, decrypts the three dimensional object data 800, as discussed above, then produces the 3D object using the decrypted data accordingly.
In one particular form, as shown in Figure 8A, the three dimensional object production data 800 may be indicative of the one or more three dimensional object files 801. Preferably, as discussed above, the one or more three dimensional object files 801 are encrypted. The user processing system 230 or the three dimensional object production device 220 can decrypt the data 800 to obtain the one or more three dimensional object files 801. The user processing system 230 or the three dimensional object production device 220 may then split the three dimensional object files 801 into layers for production by the three dimensional object production device 220. In an alternate form, as shown in Figure 8B, the one or more 3D object files are segmented, by the server processing system 210, into a plurality of layer data portions 802a, 802b...802n, wherein each layer data portion 802 is indicative of a layer of the 3D object for production. Potentially, the layer data portions 802 may already be stored in the data store 215, and thus the server processing system 210 simply retrieves the portions accordingly. However, it will be appreciated that this process can be performed on the fly by the server upon receiving the request from the user.
Referring to Figure 8C there is shown a further representation of the three dimensional object data 800 including a plurality of layer data portions 802 which include further data.
In particular, each layer data portion 802 includes point data 810 indicative of a plurality of points of the respective layer of the three dimensional object. The points of the point data 810 define a production path of a toolhead of the three dimensional object production device. It will be appreciated that for stereolithographic printing, the toolhead is considered to be one or more mirrors used to control the laser. The points of the point data 810 are unordered, and preferably randomly ordered such that the point data is not directly indicative of the production path of the toolhead. Each point is preferably indicative of a two dimensional coordinate in the respective layer. The points of the point data 810 may be indicative of a point matrix.
Each layer data portion 802 also includes point sequence data 820 indicative of a reordering sequence to reorder the randomly ordered points, whereby the reordered points define the production path of a toolhead for generating the respective layer of the respective three-dimensional object.
The unordered points of the point data 810 in combination with the point sequence data 820 can be particularly advantageous in digital rights management of the three dimensional object data 800. In particular, in the event that an unauthorised person obtains access to the unordered point data 810, the three dimensional object may not be able to be produced solely based on this data. Unless the order which the points are to be produced is known, - the three dimensional object cannot be produced based only on a plurality of points. Additionally, the order which points are generated can additionally provide accuracy in the production quality of the produced three dimensional object. In particular, there may be production quality advantages in producing particular portions of a layer of a three dimensional object prior to other portions of the respective layer. For example, in stereolithographic printing, due to the heat produced in certain sections of the substrate, it may be advantageous to define a production path which allows particular areas of the substrate to cool first prior to further work being performed by the device 220.
To illustrate this concept, referring to Figure 8D there is shown a representation of a layer - 850 of a polygon 'A' which comprises of a number of lines, where each line includes a pair of points. The layer 850 includes five points which are represented by two-dimensional coordinates.
Coordinate (Axi, Ayi) is to be generated prior to (Ax2,Ay2) and so on. In this example, the point data includes randomly ordered points. For example, the non-sequential point data 810 (PD) may be indicative of the following non-sequential coordinates of the layer 850:
PD = [(Ax2,Ay2), (Ax4,Ay4), (Ax5, Ay5), (Axi, Ayi), (Ax3, Ay3)] The point sequence data 820 is indicative of a reordering sequence of the points to thereby define a production path which a toolhead of the three dimensional object production device 220 should travel to generate the layer 850. For the example of layer 850, the point sequence data (PSD) may be:
PSD = [PD[4], PD[1], PD[5], PD[2], PD[3]] The three dimensional production device 220 or the user processing system 230 instructing the three dimensional production device 220 uses the point sequence data 820 to reorder the non-sequential point data 810 to generate a production path for the toolhead. In particular, the production path (PP) for example layer 850 may be generated as:
PP = [(AxiAyi), (Ax2,Ay2), (Αχ3, Ay3), (Ax4, Ay4), (Ax5, Ay5)]
Referring to Figure 8E there is shown a further representation of the three dimensional object data 800 for multiple layers (potentially all layers) of a three dimensional object for production. In particular, the three dimensional object data 800 includes the point data 810 which is indicative of the points of a plurality of production paths for multiple layers of the three-dimensional object. The three dimensional object data 800 also includes point sequence data 820 indicative of a reordering sequence to reorder the points of the point data 810 to produce a production path for each particular layer. The three dimensional object data 800 also includes layer identification data 830 indicating a respective layer which each point, line (i.e. pairs of points) and/or production pathway (i.e. multiple lines) is associated therewith for the three dimensional object.
As will be appreciated, the server processing system 210 can extract the point data 810, the point sequence data 820, and the layer identification data 830 from the one or more uploaded three dimensional object files uploaded by a server to generate the three dimensional object data 800. Once, generated, the three dimensional object data 800 may be stored in the data store 215 for retrieval when required. Thus, the server processing system 210 may perform this extraction process at the time of receiving the three dimensional object files. Alternatively, it is also possible that the generation of the three dimensional object data 800 based upon the one or more three dimensional object files 801 may occur at the time of receiving a production request.
In one form, at least some of the points of the point data 810 may include one or more associated attributes. In particular, one or more points may include an end path marker attribute indicating that the production path ends with the respective coordinate. Additionally, at least some points may include a toolhead attribute to indicate the type of toolhead to be used for the production path from the one point to the next point in the production path. Additionally, at least some of the points can include a path speed attribute or an extrusion speed attribute to be used by the toolhead for the production path from the one point to the next point in the production path. Additionally or alternatively, at least some of the points can include a path method attribute which can be indicative of a shape of the line of the path from the respective point to the next point, such as a direct line between the points, an arc shaped line, etc. It will be appreciated that the point data 810, the point sequence data 820 and the layer identification data 830 of the three dimensional object data 800 may be transferred by the server processing system 210 in separate data transmissions. This is particularly advantageous if an unauthorised person utilises data capturing techniques, such as packet sniffing or the like, in order to obtain the three dimensional object data 800. As the data 800 is sent in separate data transmissions, this may make it more difficult to obtain sufficient data to produce the three dimensional object.
It will also be appreciated that the point data 810, the point sequence data 820, and the layer identification data 830 may be encrypted when transferred by the server processing system 210. Preferably, the point data 810, the point sequence data 820, and the layer identification data 830 are separately encrypted into separate encrypted data portions. The three dimensional object production device 220 or the user processing system 830 instructing the three dimensional object production device 220 may decrypt the data transmissions, then reorder the point data 810 according to the point sequence data 820, as described above, to then generate the three dimensional object.
As has been discussed earlier in relation to Figure 8B to 8E, the three dimensional object data 800 can include a plurality of layer data portions 802. The server processing system 210 can be configured to incrementally transfer the data 800 where data portions 802 are transferred in separate data transmissions in response to receiving notifications of layers being incrementally completed by the three dimensional object production device 220. In particular, the server 210 can transfer a first layer data portion 802 to the user processing system 230 or the three dimensional object production device 220 for production. Once the layer of the 3D object has been generated, the server processing system 210 receives a notification from the user processing system 230 or the three dimensional object production device 220 indicating that the first layer 802 has been completed. The server processing system 210 then identifies the next layer data portion 802 of the data 800 which is then transferred accordingly. As will be appreciated, each layer data portion may be encrypted. The three dimensional object production device 220 or user processing system 230 determines if the final layer of the 3D object has been produced based on a final layer marker indicated in the decrypted data. If the final layer marker is detected, then an object completion message is transferred from the three dimensional object production device 220 to the server processing system 210 to indicate that the object has been completely produced. If the final layer has not been produced, the three dimensional object production device 220 generates and transfers a layer completion request to the server processing system 210, wherein the server processing system 210 transfers the next layer data portion 802 to the three dimensional object production device 220, wherein it will be appreciated that the process continues in a loop until the 3D object has been produced.
In one particular form, contents of the one or more three dimensional object files 801 can be reproduced by the three dimensional object production device 220 or the user processing system 230 instructing the three dimensional object production device 220 using the three dimensional object data 800.
It will also be appreciated that the points extracted from the one or more three dimensional object files 801 to generate the three dimensional object data 800 may be vertices (i.e. a three dimensional point) and thus the above processes can similarly apply to file formats using this technique.
It will also be appreciated that point data may be separated into unordered X-coordinate point data and unordered Y-coordinate point data, wherein the three dimensional object data 800 may include coordinate portion sequencing data to match corresponding X coordinates with the respective Y coordinates to form the point data.
In another alternative configuration, the server processing system 210 may stream the encrypted three dimensional object data 800 to the user processing system 230 or the three dimensional object production device 220. The three dimensional object production device 220 or the user processing system 230 stores the streamed data in memory 222. As portions of the 3D object are produced, the three dimensional object production device 220 or the user processing system 230 purges the streamed data from memory. As will be appreciated, the user processing system 230 may have stored thereon a client application which controls the user processing system 230 for the management of the digital rights, wherein the client application controls the user processing system 230 to purge the data 800 from memory.
It will be appreciated that in particular instances that the streamed data may be stored in the three dimensional object production device's 220 memory 225 more quickly than the production can be performed, and in the instance where the three dimensional object production device 220 has a limited memory size, streamed data may be lost. Thus, in the event that the streamed data stored in memory 225 reaches a threshold limit, the three dimensional object production device 220 transfers a pause message to the server processing system 210 indicating that streaming of data should be paused, and that the encrypted data should be re-streamed at a certain position once a recommence command has been issued by the three dimensional Object production device 220. Once a sufficient threshold amount of memory has been purged, the three dimensional object production device 220 generates and transfers a recommence message to the server processing system 210 to recommence streaming of the encrypted data. It will be appreciated that the pause or recommence message may be indicative of a position or portion of the streamed data which the three dimensional object production device 220 has produced or next expects to produce, such that the streamed data recommences correctly by the server processing system 210.
In particular embodiments, one or more users can submit one or more three dimensional object files, or a link thereto, for storage in the data store 215 such that another user can acquire a license to produce the 3D object. In one form, the submitting user can access a server interface, wherein the user is required to input a usemame and password to be authenticated by the server processing system 210. After authentication by the server processing system 210, the user can select one or more three dimensional object files, such as an STL file, AMF file, SVG file, G-code file which is then transferred to the server processing system 210. The server processing system 210 can perform processing on the received data which is stored in the data store 215. Alternatively, the user may have a data store of 3D objects which the user wishes to provide access to users of the system. Thus, a link can be stored in the server's data store 215 to provide access to the user's data store, generally via TLS protocol or the like.
Referring to Figure 7 there is shown a flowchart representing a method 700 performed by the three dimensional object production device 220 for connecting to the server processing system 210. In particular, at step 705, the method 700 includes firmware of the three dimensional object production device 220 performing a self check to determine that the three dimensional object production device 220 is in a ready state. At step 710, the method 700 includes the three dimensional object production device firmware indicating to a production server (such as a printer server for a three dimensional printer) a firmware version and the ready state of the three dimensional object production device 220.
At step 715, the method 700 includes the production server connecting to the server processing system 210 requesting authentication with firmware status. At step 720, the server processing system 210 acknowledges connection, advises of the status of the firmware and provides a copy of the server's digital certificate. At step 725, the method 700 includes the three dimensional object production device 220 utilising the data storage medium 222 or memory 225 to validate the server's digital certificate. Upon validation, the method includes, at step 730, the production server validating the connection with the server processing system 210 which may be via a relay processing system.
In the event that the firmware status indicates that the version of the firmware is up to date, the method 700 proceeds to step 735. Otherwise, if the firmware status indicates that the firmware requires an update, the method 700 proceeds to step 745.
At step 735, the production server authenticates the connection with the server processing system 210, which may be via a relay processing system. At step 740, the method includes the production server sending an acknowledgement to the server processing system 210 and advising that the three dimensional object production device 220 is ready for use with the system 200. At step 745, the, method 700 includes the production server removing current firmware from memory 222 of the three dimensional object production device 220 such that new firmware can be installed. At step 750, the method 700 includes the production server sending an acknowledgement to the server processing system 210 and requesting transfer of new firmware. At step 755, the method includes the production server receiving the new firmware from the server processing system 210. At step 760, the method includes the production server updating the three dimensional object production device 220 with the new firmware and the automatically performs a reboot process.
In certain embodiments, the three dimensional object production device 220 can include components to prevent physical intrusion thereof. In particular, circuitry may be encased in - tamper resistant material such that upon physical intrusion by a user, the circuitry is physically compromised, thereby disabling the three dimensional object production device 220. In certain embodiments, the firmware installed upon the three dimensional object production device 220 can detect if the three dimensional object production device 220 has been compromised. Upon detection, the three dimensional object production device 220 establishes a connection with the server processing system 210 and reports the detection. In response to the detected compromise, the server processing system 210 records in the data store 215 that the particular three dimensional object production device 220 has been compromised, thereby disabling the three dimensional object production device 220 from using the digital rights management service provided by the server processing system 210. A user's account may be suspended as a result of a detected compromised three dimensional object production device 220. As discussed in relation to Figure 2D, it will be appreciated from the above examples that the object data may not necessarily need to be transferred from the server processing system 210 to the three dimensional object production device 230. In particular, a remote source of three dimensional object data 800, such as a remote server processing system, may facilitate transfer of the three dimensional object data 800 to the three dimensional object production device 220, wherein the server processing system 210 facilitates the transfer of the three dimensional object data 800 from the remote server processing system 260 to the three dimensional production device 220. As such, other marketplaces which offer three dimensional object data 800 for license can list the availability of the three dimensional object data 800 via the server processing system 210. The three dimensional object data 800 can be transferred from the remote processing system 260 to the server processing system 210 in order for object identification data to be generated and stored in the data store 215. For example, the object identification data may be indicative of a hash of the object data. The identification data is then compared against current listings of available object for license in the data store 215 to ensure that no duplicate object is stored in the data store 215. The server processing system 215 then stores listing data in the data store 215 indicative of the object identification data, an object description, a marketplace identifier and a marketplace product identifier. The marketplace identifier is indicative of the remote server processing system and the marketplace product identifier is a unique identifier which the remote server processing system 260 can identify the three dimensional object data 800 associated with the 3D object.
Upon receiving a production request from a user, the server processing system 210 identifies the remote server processing system 260 based on the marketplace identifier indicated by the listing data and facilitates the transfer of the three dimensional object data 800 from the remote server processing system 260 to the three dimensional object production device 220 or user processing system 230. In particular, a request for the transfer of the three dimensional object data 800 is sent to the remote server processing system 260, wherein the request is indicative of the marketplace identifier of the three dimensional object data 800 and data indicative of the three dimensional object production device 220 associated with the requesting user or alternatively data indicative of the user processing system 230 associated with the requesting user. The remote server processing system 260 can then directly transfer the three dimensional object data 800 to the identified three dimensional object production device 220 or user processing system 230. The server processing system 210 may facilitate a handshaking process to establish the data transfer connection between the remote processing system 260 and either the identified three dimensional object production device 220 or user processing system 230. The production process carried out by the three dimensional object production device 220 and the digital rights management process undertaken by the server processing system 210 as described in relation to the previous examples would also be carried out in this embodiment. Referring to Figure 9 there is shown a system diagram of the server processing system 210 in data communication with a first user processing system 910 and a second user processing system 920. In particular, the first user processing system 910 has stored in a data store the three dimensional object data 800 for generating a 3D object, wherein the three dimensional object data 800 was acquired from the server processing system 210. The server processing system 210 receives a production request to generate the corresponding 3D object from the second user processing system 1020. In this instance, the server processing system 210 can facilitate a structured peer-to-peer transfer of the three dimensional object data 800 from the first user processing system 1010 to the second user processing system 920. The server processing system 210 may determine that the peer-to- peer transfer of the three dimensional object data 800 may be more efficient than transfer of the object data from the data store 215 associated with the server processing system 210. The server processing system 210 can communicate with a client application 915 stored on the first user processing system 910 wherein an identifier associated with the second user processing system 920 is provided to the client application 925. The first user processing system 910 under control by the client application 915 then transfers the three dimensional object data 800 to the second user processing system 920 under control by client application 925. The server processing system 210 may facilitate a handshaking process to establish a data transfer connection between the first user processing system 910 and the second user processing system 920. The production process carried out by the three dimensional object production device 220 and the digital rights management process undertaken by the server processing system 210 as described in relation to the previous •examples would also be carried out in this embodiment.
As indicated earlier, the server processing system 210 may have access to three dimensional object production device data which is indicative of a list of three dimensional object production devices 220 which are currently connected to the server processing system 210. In the event that a user wishes to use a bureau device 220, the server processing system 210 can utilise the three dimensional object production device data to suggest an available three dimensional object production device 220 which the user may wish to use. As described previously, this process may be performed by an authentication server processing system 270 which receives instructions from the server processing system 210. The IP address of the user processing system 230 may be used by the server processing system 210 to determine a general location of the user, wherein the list of available three dimensional object production devices 220 may be filtered according to the determined general location.
In another embodiment, a user who has acquired a license to produce a particular 3D object may request modification to the three dimensional object data 800, via the server processing system 210, prior to production. For example, scaling, modification of materials, or inclusion of particular changes to the design of the 3D object may be performed via the server interface if enabled under the conditions of the license acquired by the user.
The above embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment, firmware, or an embodiment combining software and hardware aspects. Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention.

Claims

Claims
1. A server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the server processing system is configured to: receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production.
2. The server processing system according to claim 1, wherein in response to the positive authentication, the server processing system is configured to transfer the three dimensional object data, stored in the data store, to the three dimensional object production device.
3. The server processing system according to claim 1, wherein in response to the positive authentication, the server processing system, identifies a source device having stored therein the three dimensional object data, wherein the three dimensional object data is transferred from the source device to the three dimensional object production device.
4. The server processing system according to claims 1 to 3, wherein at least part of the three dimensional object data is encrypted.
5. The server processing system according to claim 1 to 4, wherein the server processing system is configured to:
transfer an authentication request to the three dimensional object production device prior to facilitating transfer of the three dimensional object data;
receive identification data identifying the three dimensional object production device; and
facilitate determination, based on the identification data, if the three dimensional object production device is authentic, wherein in response to a successful authentication, the server facilitates transfer of the three dimensional object data to the three dimensional object production device.
6. The server processing system according to any one of claims 1 to 5, wherein the server processing system is configured to:
receive submission data indicative of one or more three dimensional object files available for license; and
store, in the data store, the three dimensional object data based on the submission data.
7. The server processing system according to claim 6, wherein the submission data is indicative of a remote server processing system facilitating transfer of the three dimensional object data, wherein in response to a positive authentication of the production request, the server processing system facilitates transfer of the three dimensional object data between the remote server processing system and the three dimensional object production device."
8. The server processing system according to any one of claims 1 to 7, wherein the server processing system is configured to transfer separate portions of the three dimensional object data to the three dimensional object production device.
9. The server processing system according to claim 8, wherein the server processing system is configured to:
facilitate transfer of a first portion of the three dimensional object data to the three dimensional object production device;
receive, from the three dimensional object production device, a request for a second portion of the three dimensional object data after the three dimensional object production device produces a portion of the 3D object corresponding to the first portion; and
in response to receiving the request for a second portion of the three dimensional object data, facilitate transfer of the second portion of the three dimensional object data to the three dimensional object production device.
10. The server processing system according to claim 9, wherein the server processing system is configured to stream the three dimensional object data to the three dimensional object production device.
1 1. The server processing system according to any one of claims 1 to 10, wherein prior to the server processing system facilitating transfer of the three dimensional object data to the three dimensional object production device, the server processing system is configured to:
receive firmware identification data from the three dimensional object production device indicative of firmware of the three dimensional obj ect production device;
determine, based on the firmware identification data, whether the firmware of the three dimensional object production device is current; and
in response to a negative determination, facilitate transfer of current firmware to the three dimensional object production device for installation.
12. The server processing system according to any one of claims 1 to 11, wherein the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the
3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
13. The server processing system according to claim 12, wherein the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
14. The server processing system according to any one of claims 1 to 11, wherein the three dimensional object data includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object;
layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
15. The server processing system according to claim 14, wherein the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately.
16. The server processing system according to any one of claims 12 to 15, wherein the plurality of points of the point data are randomly ordered.
17. The server processing system according to any one of claims 12 to 16, wherein at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute.
18. The server processing system according to any one of claims 1 to 17, wherein the server processing system is configured to facilitate transfer of the three dimensional object data to the three dimensional object production device via an intermediary processing system in data communication with the three dimensional object production device.
19. The server processing system according to any one of claims 1 to 18, wherein the server processing system facilitates transfer of a user interface to the user to enable the user to submit the acquisition request.
5
20. The server processing system according to claim 19, wherein the server processing system is configured to receive login data, wherein upon an unsuccessful login the user is restricted from submitting the acquisition request. 0
21. The server processing system according to claim 19 or 20, wherein the user interface indicates one or more 3D objects which have associated therewith three dimensional object data available for license.
22. The server processing system according to any one of claims 19 to 21, wherein the5 user transfers search criteria to identify one or more 3D objects which satisfy the search criteria, wherein the server processing system is configured to search the data store to generate search results indicative of one or more 3D objects which satisfy the search criteria. 0
23. The server processing system according to any one of claims 1 to 22, wherein the server processing system receives, from the user, selection data indicative of a three dimensional object production device for producing the 3D object.
24. A method for managing digital rights in relation to producing a three dimensional5 (3D) object, wherein the method includes, in a server processing system, steps of:
receiving an acquisition request from a user to acquire a license for producing a 3D object;
storing, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
Q receiving a production request from a user to produce the 3D object;
authenticating, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitating transfer of three dimensional object data to a three dimensional object production device for production.
25. A computer readable medium for configuring a server processing system for managing digital rights in relation to producing a three dimensional (3D) object, wherein the computer readable medium includes executable instructions to configure the server processing system to:
receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of three dimensional object data indicative of the 3D object to a three dimensional object production device for production.
26. A three dimensional object production device for producing a three dimensional (3D) object, wherein the three dimensional object production device includes:
a production module for producing the 3D object;
memory having stored therein data for decrypting encrypted three dimensional object data; and
a processing system configured to:
receive, from a server processing system, encrypted three dimensional object data;
decrypt, using the memory, the encrypted three dimensional object data to obtain three dimensional object data; and
control the production module to produce the 3D object in accordance with the three dimensional object data.
27. The three dimensional object production device according to claim 26, wherein the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the
3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
28. The three dimensional object production device according to claim 27, wherein the three dimensional object production device is configured to receive the point data and the point sequence data for each layer data portion separately from the server processing system.
29. The three dimensional object production device according to claim 26, wherein the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object; layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
30. The three dimensional object production device according to claim 29, wherein the three dimensional object production device is configured to receive the point data, the point sequence data and the layer identification data separately from the server processing system.
31. The three dimensional object production device according to any one of claims 26 to 30, wherein the plurality of points of the point data are randomly ordered.
32. The three dimensional object production device according to any one of claims 26 to 31, wherein at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute.
33. The three dimensional object production device according to any one of claims 26 to 32, wherein the processing system is configured to:
receive an authentication request from the server processing system prior to receiving the three dimensional object data;
transfer identification data identifying the three dimensional object production device, wherein the server processing system facilitates determining, based on the identification data, if the three dimensional object production device is authentic, wherein in response to a successful authentication, the three dimensional object production device receives the three dimensional object data.
34. The three dimensional object production device according to any one of claims 26 to 33, wherein the three dimensional object production device is configured to:
receive a first portion of the three dimensional object data;
transfer, to the server processing system, a request for a second portion of the three dimensional object data upon the three dimensional object production device producing a portion of the 3D object corresponding to the first portion; and
receive the second portion of the three dimensional object data.
35. The three dimensional object production device according to any one of claims 26 to 34, wherein the three dimensional object production device is configured to receive a stream of the three dimensional object data.
36. The three dimensional object production device according to any one of claims 26 to 35, wherein prior to three dimensional object production device receiving the three dimensional object data, the three dimensional object production device is configured to: transfer, to the server processing system, firmware identification data indicative of firmware of the three dimensional object production device, wherein the server determines, based on the firmware identification data, whether the firmware of the three dimensional object production device is current; and
in response to a negative determination, receiving current firmware for installation.
37. A system for producing a three dimensional (3D) object, wherein the system includes:
a server processing system according to any one of claims 1 to 23; and
a three dimensional object production device according to any one of claims 26 to
36.
38. A system for producing a three dimensional (3D) object, wherein the system includes a server processing system, a user processing system and a three dimensional object production device, wherein:
the server processing system is configured to:
receive an acquisition request from a user to acquire a license for producing a 3D object;
store, in a data store, license data indicative of the user's acquisition of the license for producing the 3D object;
receive a production request from a user to produce the 3D object;
authenticate, based on the license data stored in the data store, whether the user is entitled to produce the 3D object; and
in response to a positive authentication, facilitate transfer of encrypted three dimensional object data indicative of the 3D object to the user processing system; the user processing system is configured to:
decrypt the encrypted three dimensional object data to obtain three dimensional object data; and transfer, to the three dimensional object production device, the three dimensional object data or instructions based on the three dimensional object data to produce the 3D object; and
the three dimensional object production device is configured to produce the 3D object based on the instructions or the three dimensional object data received from the user processing system.
39. The system according to claim 38, wherein the three dimensional object data includes layer data portions, wherein each layer data portion includes:
point data indicative of a plurality of unordered points of a respective layer of the
3D object; and
point sequence data indicative of a reordering sequence for reordering the points to define a production path for producing the respective layer.
40. The system according to claim 39, wherein the server processing system is configured to facilitate the transfer of the point data and the point sequence data for each layer data portion separately.
41. The system according to claim 38, wherein the three dimensional object data includes:
point data indicative of a plurality of points of a plurality of layers of the 3D object; ,
layer identification data indicating the respective layer which the plurality of points are associated therewith; and
point sequence data indicative of a reordering sequence for reordering the points to define a plurality of production paths for producing the plurality of layers.
42. The system according to claim 41, wherein the server processing system is configured to facilitate the transfer of the point data, the point sequence data, and the layer identification data separately.
43. The system according to any one of claims 38 to 42, wherein the plurality of points of the point data are randomly ordered.
44. The system according to any one of claims 38 to 43, wherein at least some of the points have associated therewith one or more attributes, wherein the one or more attributes include at least one of:
an end path marker;
a toolhead attribute;
path speed attribute;
an extrusion speed attribute; and
path method attribute.
45. The system according to any one of claims 38 to 44, wherein the three dimensional object production device is configured to:
receive, via the user processing system, a first portion of the three dimensional object data;
transfer, to the server processing system via the user processing system, a request for a second portion of the three dimensional object data upon the three dimensional object production device producing a portion of the 3D object corresponding to the first portion; and
receive, via the user processing system, the second portion of the three dimensional object data.
46. The system according to any one of claims 38 to 45, wherein the user processing system receives a stream of the three dimensional object data.
PCT/AU2013/000341 2012-04-02 2013-04-02 Digital rights management for three dimensional object production WO2013149296A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2013243229A AU2013243229A1 (en) 2013-04-02 2013-04-02 Digital rights management for three dimensional object production

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012901304A AU2012901304A0 (en) 2012-04-02 Three dimensional object production device interface and digital rights management for three dimensional object production
AU2012901304 2012-04-02

Publications (1)

Publication Number Publication Date
WO2013149296A1 true WO2013149296A1 (en) 2013-10-10

Family

ID=49299862

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2013/000341 WO2013149296A1 (en) 2012-04-02 2013-04-02 Digital rights management for three dimensional object production

Country Status (1)

Country Link
WO (1) WO2013149296A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014118635A2 (en) 2013-02-04 2014-08-07 Authentise Inc. System, method, and program product for digital production management
WO2015116341A1 (en) * 2014-01-31 2015-08-06 Ebay Inc. Managing digital rights in 3d printing
US9229674B2 (en) 2014-01-31 2016-01-05 Ebay Inc. 3D printing: marketplace with federated access to printers
WO2016100126A1 (en) * 2014-12-16 2016-06-23 Ebay Inc. Digital rights management in 3d printing
AU2016231592A1 (en) * 2015-10-16 2017-05-04 Accenture Global Solutions Limited 3-d printing protected by digital rights management
US10218509B2 (en) 2015-03-02 2019-02-26 Xerox Corporation System to authenticate 3D printed objects
US10248109B2 (en) 2016-01-11 2019-04-02 International Business Machines Corporation Three-dimensional printing based on a license
CN109716344A (en) * 2016-09-16 2019-05-03 惠普发展公司有限责任合伙企业 Indicate the data set of the various aspects of 3D object
US10558764B2 (en) * 2014-03-10 2020-02-11 Leo Lane Ltd. System and method for controlling manufacturing of an item

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090165147A1 (en) * 2007-12-21 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Control technique for object production rights
US8065741B1 (en) * 2007-04-24 2011-11-22 Adobe Systems Incorporated Method and apparatus for locally caching digital rights information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065741B1 (en) * 2007-04-24 2011-11-22 Adobe Systems Incorporated Method and apparatus for locally caching digital rights information
US20090165147A1 (en) * 2007-12-21 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Control technique for object production rights

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIN, F. ET AL.: "A decomposition -accumlation model for layered manufacturing fabrication", RAPID PROTOTYPING JOURNAL, vol. 7, no. 1, 2001, pages 24 - 31 *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204178B2 (en) 2013-02-04 2019-02-12 Authentise Inc. System, method, and program product for digital production management
US10614177B2 (en) 2013-02-04 2020-04-07 Authentise Inc. System, method, and program product for digital production management
US11029896B2 (en) 2013-02-04 2021-06-08 Authentise Inc. System, method, and program product for digital production management
WO2014118635A2 (en) 2013-02-04 2014-08-07 Authentise Inc. System, method, and program product for digital production management
EP2954460A4 (en) * 2013-02-04 2017-02-22 Authentise Inc. System, method, and program product for digital production management
US9818147B2 (en) 2014-01-31 2017-11-14 Ebay Inc. 3D printing: marketplace with federated access to printers
US9229674B2 (en) 2014-01-31 2016-01-05 Ebay Inc. 3D printing: marketplace with federated access to printers
WO2015116341A1 (en) * 2014-01-31 2015-08-06 Ebay Inc. Managing digital rights in 3d printing
US11341563B2 (en) 2014-01-31 2022-05-24 Ebay Inc. 3D printing: marketplace with federated access to printers
US10963948B2 (en) 2014-01-31 2021-03-30 Ebay Inc. 3D printing: marketplace with federated access to printers
US10558764B2 (en) * 2014-03-10 2020-02-11 Leo Lane Ltd. System and method for controlling manufacturing of an item
US10055774B2 (en) 2014-12-16 2018-08-21 Ebay Inc. Digital rights and integrity management in three-dimensional (3D) printing
KR101914945B1 (en) * 2014-12-16 2018-11-06 이베이 인크. Digital rights management in 3d printing
KR20180120811A (en) * 2014-12-16 2018-11-06 이베이 인크. Digital rights management in 3d printing
US20180330418A1 (en) * 2014-12-16 2018-11-15 Ebay Inc. Digital rights and integrity management in three-dimensional (3d) printing
US9595037B2 (en) 2014-12-16 2017-03-14 Ebay Inc. Digital rights and integrity management in three-dimensional (3D) printing
WO2016100126A1 (en) * 2014-12-16 2016-06-23 Ebay Inc. Digital rights management in 3d printing
US11282120B2 (en) 2014-12-16 2022-03-22 Ebay Inc. Digital rights management in three-dimensional (3D) printing
CN107209823B (en) * 2014-12-16 2023-07-14 电子湾有限公司 Digital rights management in 3D printing
CN107209823A (en) * 2014-12-16 2017-09-26 电子湾有限公司 Digital rights management in 3d printing
US10672050B2 (en) 2014-12-16 2020-06-02 Ebay Inc. Digital rights and integrity management in three-dimensional (3D) printing
KR102041065B1 (en) 2014-12-16 2019-11-05 이베이 인크. Digital rights management in 3d printing
KR20170095981A (en) * 2014-12-16 2017-08-23 이베이 인크. Digital rights management in 3d printing
US10218509B2 (en) 2015-03-02 2019-02-26 Xerox Corporation System to authenticate 3D printed objects
US10216171B2 (en) 2015-10-16 2019-02-26 Accenture Global Services Limited 3-D printing protected by digital rights management
AU2016231592B2 (en) * 2015-10-16 2017-08-31 Accenture Global Solutions Limited 3-d printing protected by digital rights management
AU2016231592A1 (en) * 2015-10-16 2017-05-04 Accenture Global Solutions Limited 3-d printing protected by digital rights management
US10248108B2 (en) 2016-01-11 2019-04-02 International Business Machines Corporation Three-dimensional printing based on a license
US10248109B2 (en) 2016-01-11 2019-04-02 International Business Machines Corporation Three-dimensional printing based on a license
EP3485417A4 (en) * 2016-09-16 2020-01-22 Hewlett-Packard Development Company, L.P. Datasets representing aspects of 3d object
CN109716344A (en) * 2016-09-16 2019-05-03 惠普发展公司有限责任合伙企业 Indicate the data set of the various aspects of 3D object
US11036880B2 (en) 2016-09-16 2021-06-15 Hewlett-Packard Development Company, L.P. Datasets representing aspects of 3D object

Similar Documents

Publication Publication Date Title
WO2013149296A1 (en) Digital rights management for three dimensional object production
US10558764B2 (en) System and method for controlling manufacturing of an item
JP6961818B2 (en) Data sharing methods, clients, servers, computing devices, and storage media
JP7007985B2 (en) Resource locator with key
US20190080098A1 (en) System and method to protect user privacy in multimedia uploaded to internet sites
CA2994055C (en) System and method for electronically providing legal instrument
CN109274652B (en) Identity information verification system, method and device and computer storage medium
US9811295B2 (en) Communication system and relay device
JP2019507419A (en) Information processing apparatus, information processing method, and distributed component
US10305961B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium storing program
US10445477B2 (en) Information processing system, method of controlling the system, information processing apparatus, web server, and storage medium
JP2012137960A (en) Pull printing system and program
US20230108366A1 (en) Systems for encryption using blockchain distributed ledgers
JP6536609B2 (en) Management device and document management system
JP2014052843A (en) Information processing system, information processing method, image input device, information processing device, and program
AU2013243229A1 (en) Digital rights management for three dimensional object production
US9930022B2 (en) Information processing system, information processing apparatus, method of controlling the same, and storage medium
JP2014032610A (en) Online storage system, management server program, and file control program
KR102120929B1 (en) Method for contents distribution based peer to peer, apparatus and system for executing the method
CN110063089A (en) Content transmission network including mobile device
CN111740940A (en) Information processing system
US20220398335A1 (en) Secure three-dimensional print files
JP7139818B2 (en) Delivery management system and delivery management method
WO2023080075A1 (en) Nft issuing method, computer, and program
JP6819734B2 (en) Information processing equipment and terminals used

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13772555

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WPC Withdrawal of priority claims after completion of the technical preparations for international publication

Ref document number: 2012901304

Country of ref document: AU

Date of ref document: 20140806

Free format text: WITHDRAWN AFTER TECHNICAL PREPARATION FINISHED

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013243229

Country of ref document: AU

Date of ref document: 20130402

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 13772555

Country of ref document: EP

Kind code of ref document: A1