Abstract:
The present invention comprises a system and method for providing three-dimensional and maintaining digital design rights management. The invention comprises a first server computer configured to transmit, to user terminals, images associated with three-dimensional designs. The server receives at least one request, from at least one user terminal, to fabricate one or more three-dimensional objects from three-dimensional designs. A second server computer in communication with the first server computer, and located remotely from the first server computer is controlled by an entity that does not control the at least one first server computer. The second server computer is configured to store design specifications associated with three-dimensional designs and control a fabricating device in communication with the at least one second server computer. The fabricating device configured to fabricate at least one three-dimensional object based at least partially on at least one design specification without storing the design specifications.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The recent advancements in 3-D printing technology, in combination with the substantial reduction in cost of acquiring the technology, have provided consumers with increased access to the ability to fabricate and/or manufacture products right in their own homes. However, because of the ease at which digital information may be copied and reproduced, any digital designs or instructions sent to the consumer&#39;s location for fabrication may be easily captured and stored for later use by the consumer without further authorization of the company that provided the digital designs or instructions. Moreover, such digital designs or instructions may even be distributed freely across the Internet for download by anyone and, consequently, fabricated or manufactured for only the cost of the raw materials and the fabrication systems. 
         [0003]    2. Description of Related Art 
         [0004]    The drawbacks to the dissemination of fabrication design data pose concerns to those companies seeking to offset their manufacturing costs and/or deliver products to the consumer without physically manufacturing them, by providing digital designs and instructions directly to the consumers for desktop fabrication. Accordingly, an improved system and method is needed to ensure that any digital designs or instructions provided to the consumer may be accessed in accordance with the desires and limitations of the company providing those digital designs or instructions. 
       SUMMARY OF THE INVENTION 
       [0005]    The present disclosure relates to a system and method for providing three-dimensional digital design rights management comprising: at least one first server computer configured to: transmit, to one or a plurality of user terminals, one or a plurality of images associated with one or a plurality of three-dimensional designs; and receive at least one request, from at least one user terminal, to fabricate one or more three-dimensional designs from the one or a plurality of three-dimensional designs; at least one second server computer in communication with the at least one first server computer, the at least one second server computer located remotely from the at least one first server computer and controlled by an entity that does not control the at least one first server computer, the at least one second server computer configured to store design specifications associated with the one or a plurality of three-dimensional designs; and a fabricating device in communication with the at least one second server computer, the fabricating device configured to fabricate at least one three-dimensional object based at least partially on at least one design specification without storing the design specifications. 
         [0006]    The second server computer is located remotely from the at least one first server computer and is controlled by an entity that does not control the at least one first server computer. Only, the second server computer is configured to store design specifications associated with the one or a plurality of three-dimensional designs. 
         [0007]    In some non-limiting embodiments, the fabricating device is further configured to store at least one identifier associated with the at least one design specification or the at least one three-dimensional object. In another example, the fabricating device may be further configured to provide the at least one identifier to a third-party. In another non-limiting embodiment, the fabricating device may not have any memory capable of storing design specifications. Additionally, the fabricating device may be further configured to create, on the at least one three-dimensional object, a unique identifier. The device may also be further configured to delete design specifications from at least one memory device after fabricating the at least one three-dimensional object. 
         [0008]    In one non-limiting embodiment, a fabrication system includes: at least one computer-readable medium; means for fabricating three-dimensional objects; and at least one fabrication controller in communication with the at least one computer-readable medium and the fabrication means, the at least one fabrication controller configured to: receive design specifications and fabrication data from at least one server computer; fabricate at least one three-dimensional object with the fabrication means based at least partially on the design specifications; store an audit database comprising at least a portion of the fabrication data to the at least one computer-readable memory; and provide at least a portion of the audit database to at least one remote computer. 
         [0009]    In some non-limiting embodiments, the fabrication data comprises a unique identifier for each fabrication specification. Additionally, the fabrication controller may erase at least a portion of the design specifications. Further, the at least a portion of the design specifications may be erased in response to a request from at least one remote computer. In one example, the fabrication controller may be further configured to create, on the at least one three-dimensional object, a unique identifier. 
         [0010]    In another non-limiting embodiment, a computer-implemented method for managing rights to design specifications for a three-dimensional printer comprises the steps of: transmitting, to at least one client computer, data configured to display one or a plurality of images representing one or a plurality of three-dimensional objects; receiving, from the at least one client computer, a selection of at least one three-dimensional object of the one or a plurality of three-dimensional objects; transmitting a request to fabricate the at least one three-dimensional object to at least one content providing system, the request configured to cause the at least one content providing system to transmit design specifications for the at least one three-dimensional object to a three-dimensional printer, wherein the three-dimensional printer is remote from the at least one content providing system. 
         [0011]    In some embodiments, at least one of the request and the design specifications may be configured to at least partially cause the three-dimensional printer to create a physical model of the three-dimensional object. Further, the three-dimensional printer may be further caused to imprint a unique identifier on the physical model of a three-dimensional object. Further, the three-dimensional printer may be further caused to erase at least a portion of the design specifications from at least one memory device. Additionally, in some examples, the three-dimensional printer may be further caused to store identifying data associated with the three-dimensional object. In some embodiments, the method further comprises receiving, from the three-dimensional printer, an audit of stored identifying data. The method may include the step of receiving, from the at least one client computer, a request to purchase the at least one three-dimensional object. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]      FIG. 1  illustrates an exemplary embodiment of the system and method for enhancing protection of content owner rights; and 
           [0013]      FIG. 2  illustrates an exemplary embodiment of the Content Protected Fabrication System. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0014]    Numerous specific details are set forth to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components, and/or circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments. It is to be understood that the invention may assume various alternative variations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification, are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical characteristics related to the embodiments disclosed herein are not to be considered as limiting. 
         [0015]    Unless otherwise indicated, references throughout the specification to “various embodiments,” “some embodiments,” “one embodiment,” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of the phrases “in various embodiments,” “in some embodiments,” “in one embodiment,” or “in an embodiment” in places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. 
         [0016]    As used herein, the terms “communication” and “communicate” refer to the receipt or transfer of one or more signals, messages, commands, or other type of data. For one unit or device to be in communication with another unit or device, means that the one unit or device is able to receive data from and/or transmit data to the other unit or device. A communication may use a direct or indirect connection, and may be wired and/or wireless in nature. Additionally, two units or devices may be in communication with each other even though the data transmitted may be modified, processed, routed, etc., between the first and second unit or device. For example, a first unit may be in communication with a second unit even though the first unit passively receives data, and does not actively transmit data to the second unit. As another example, a first unit may be in communication with a second unit if an intermediary unit processes data from one unit and transmits processed data to the second unit. It will be appreciated that numerous other arrangements are possible. 
         [0017]    Unless otherwise indicated, references throughout the specification to “network data” mean information that is encoded and organized in a computer readable format and transmitted between one or more resources or devices via one or more networks. 
         [0018]      FIG. 1  illustrates an exemplary non-limiting embodiment of a three-dimensional digital design rights management system  100 . A three-dimensional printer or Content Printing System (“CPS”)  110  is in communication with a content provider  108  and/or catalog provider  106  via the Internet and/or Intranet  112 . The content provider  108  and the catalog provider  106 , controlled by separate entities, and provide different services. Therefore, the catalog provider does not store the content, i.e. design specifications or any other documents that can provide fabrication instructions. A CPS may include, for example, a three-dimensional printer or other like fabrication device or means for fabricating a three-dimensional object. Additionally, the exemplary embodiment of  FIG. 1  also illustrates an interface, or catalog display  104  in communication with a network environment  112 , such as, but not limited to the Internet, to the catalog provider  106  in order for a user  102  to place a request to fabricate one or more designs illustrated in the catalog display  104  by the CPS  110 . 
         [0019]    In one embodiment, the catalog display  104  is a website interface including webpages, images, and corresponding descriptions for one or a plurality of three-dimensional designs. However, it will be appreciated that the catalog display  104  may take on any other number of forms. In one example, the catalog display  104  may be configured to allow search, selection, and purchase of a three-dimensional design. 
         [0020]    The web server or catalog provider  106 , in the non-limiting exemplary embodiment of  FIG. 1 , may be in communication with one or more catalog databases programmed and/or configured to store product data in order to provide user  102  with a list of products that may be purchased for manufacturing by a CPS  110  under the possession and/or control of the user  102  or to any other CPS specified by the user  102 . It will be appreciated that product data may include, but is not limited to, product identifier data, product name data, product description data, product specification data, product image data, product model data, product material data, or any other data that describes the product. The product data may also include a unique identifier for each fabrication request. 
         [0021]    In one preferred and non-limiting embodiment, the catalog provider  106  is hosted, provided, and/or controlled by a different entity or party than the content provider  108 . For example, the content provider.  108  may also be the content owner, or an entity that the content owner designates as the content provider  108 . In this way, the content provider  108  may be different for all or some of the content owners, or may be a central server that is designated by various content owners. In one embodiment, the content provider  108  may not have any control over the catalog provider  106  and/or the CPS  110 . In this embodiment, the content provider  108  is one or more server computers that are owned or controlled by entities that have no ownership or control over the catalog provider  106  and/or the CPS  110 , and merely make content selectively available to the catalog provider  106  and/or the CPS  110  under appropriate conditions. However, it will be appreciated that numerous control and/or ownership arrangements are possible between the content provider  108 , the catalog provider  106 , and the CPS  110 . 
         [0022]    Additionally, in some implementations of the non-limiting exemplary embodiment of  FIG. 1 , each catalog database may be associated with one or more content providers  108 , such that each catalog database contains product data that describes the product designs or instructions stored in a content database. Furthermore, the catalog database may be programmed and/or configured to store the product data. 
         [0023]    It will be appreciated that the specifications may be compiled or translated to an intermediate data type derived from Computer Aided Design software and/or Computer Aided Manufacturing Software. The design specifications may be programmed and/or configured to be readable or interpretable by the CPS  110  and when further executed or interpreted by the CPS  110 , causes the CPS  110  to print or manufacture the product embodied in the design specifications. Further, it will be appreciated that design specifications may include, but are not limited to, coordinate data (e.g., x, y, and z coordinates), material data (e.g., material type), temperature data (e.g., temperatures of material), and/or color data (e.g., colors and dyes). Additionally, it will be appreciated that the specifications may further include, but are not limited to, control statements similar to those commonly used in computer programming languages. The design specifications for a particular three-dimensional design may be stored in a three-dimensional design file or in any other form of data structure. 
         [0024]    In some implementations, the catalog provider  106  may be programmed and/or configured to provide a catalog display  104  to the user  102 . Moreover, the catalog display  104  may be programmed and/or configured to display Product data for purchase by a User  102  and subsequent fabrication on a CPS  110 . In a non-limiting exemplary implementation, the catalog provider  106  may be programmed and/or configured to read or retrieve product data from the catalog database, and provide product data to the catalog display  104  for selection and/or purchase by a user  102 . The catalog display  104  may be programmed and/or configured to receive the product data and display the product data to the user  102  so that the user  102  may make an informed decision before selecting a product for fabrication or manufacturing on a CPS  110 . Additionally, the catalog display  104  may be programmed and/or configured to enable a user  102  to select a product for fabrication or manufacturing, and enable the user  102  to purchase the selected product for fabrication or manufacturing on a CPS  110  identified by the user  102 . 
         [0025]    Additionally, in some embodiments, the catalog provider  106  may be in communication with a Trusted System database. The database may be programmed and/or configured to contain a list of CPS  110  identified with a CPS Identifier. The catalog provider  106  may be programmed and/or configured to enable fabrication or manufacturing of products only with respect to CPS  110  identified by a CPS Identifier in the Trusted System database. This will ensure that any security comprised content protection system cannot be used to capture design specifications for subsequent unauthorized fabrication or manufacture of products. 
         [0026]    Further, in some implementations of the non-limiting exemplary embodiment of  FIG. 1 , the catalog provider  106  may be in communication with the content provider  108  in order to request the content provider  108  to transmit or send design specifications associated with a product purchased and/or selected by the user  102  to a CPS  110 . Thus, in these implementations, the catalog provider  106  may be programmed and/or configured to send or transmit at least product identifier data to the content provider  108 . Additionally, depending on the implementation, the catalog provider  106  may be further programmed and/or configured to transmit the CPS Identifier to the content provider  108 , so that the content provider  108  may send or transmit the design specifications associated with the Product Identifier Data to the CPS  110  identified by the CPS Identifier. 
         [0027]    In some implementations, the catalog display  104  may be implemented in a web browser and the catalog provider  106  may be implemented as a web server. In other implementations, the catalog display  104  may be implemented as a computer executable and/or interpretable module (as a separate module from the web browser and/or embedded in the web browser) and may be programmed and/or configured to display the product data, including product model data, rendered as a three-dimensional object that is representative of a product that may be fabricated or manufactured. Two-dimensional images and/or renderings may also be displayed in combination with or instead of the three-dimensional renderings. Additionally, the catalog display  104  may be further programmed and/or configured to enable the manipulation of a view point by the user  102  of the three-dimensional object on the display, so that a user  102  may preview the three-dimensional object representative of a product that may be fabricated or manufactured. 
         [0028]    The content provider  108 , in the non-limiting exemplary embodiment of  FIG. 1 , may be in communication with the content database and the Trusted Fabrication System database. The content database may be programmed and/or configured to store product designs or instructions as design specifications. 
         [0029]    Referring now to  FIG. 2 , a further view of a CPS  110  is shown according to one non-limiting embodiment. The CPS  110  includes a three-dimensional printer  114 , and a controller  116 . The controller  116  may include a number of modules including, for example, a communications module  202 , a processing module  204 , a control module  206 , a storage module  208 , and a security module  210 . An Application Programming Interface (API), or other like interfaces, may serve to communicate with the printer  114  and/or entities such as the catalog provider  106  and/or the content provider  108 . 
         [0030]    With continued reference to  FIG. 2 , in one embodiment, certain data may be retained by the CPS  110  by the storage module  208  such as, but not limited to, unique identifiers for each fabrication request, a list of previous fabrication requests, and/or the like. This data may then be accessed by or provided to outside parties, such as, but not limited, to the content provider  108  or an interested third-party, such as an original creator or seller of the three-dimensional design and/or the like. In this manner, outside parties may effectively audit the CPS  110 . Users auditing the CPS  110  may have to supply credentials to the CPS  110  prior to auditing. 
         [0031]    Still referring to  FIG. 2 , the control module  206  may be programmed and/or configured to determine the authenticity of content, and/or perform any necessary decryption and/or encryption. In one example, the control module  206  may have a public key for decrypting digital content (e.g., design specifications) encrypted with a private key. The opposite may also be possible, using a private key to decrypt digital content encrypted with a public key. Other encryption schemes are possible, to encrypt and/or decrypt the content, and to encrypt and/or decrypt any data related to the content. 
         [0032]    In one non-limiting embodiment, the CPS  110  may be configured to etch, engrave, imprint, or otherwise create, on a piece of material being fabricated into a physical model of a three-dimensional object, a unique identifier. The unique identifier may be unique to the content provider, may be unique to the individual, may be unique to the user purchasing the object, and/or may be unique to a specific type of content or third-party content creator. In one example, the unique identifier may be text, characters, a barcode, a design, and/or any other type of identifier. 
         [0033]    In some non-limiting embodiments, the security module in conjunction with the processing module may be configured to provide the ability to attest the running processes and operating system integrity on the CPS  110 . The security module may also have a read only CPS Identifier associated with the CPS  110 . Thus, the Security module in conjunction with the processing module may be able to ensure that all the running processes are only the authorized processes. Any deviation may cause the CPS  110  to send its CPS Identifier to a content provider for black listing, i.e., removal from the Trusted System database. Such removal could prevent the CPS  110  from being able to fabricate or manufacture, because no content provider would send any design data to it. 
         [0034]    The processing module in conjunction with the communications module may be configured to receive design data received either from the catalog provider (indirectly in some examples) or the content provider (directly in some examples). The processing module in conjunction the security module may should be able verify the integrity of design data and decrypt it into memory, i.e., the storage module for further processing (execution, interpretation or translation) by the control module to control the printer via API. The control module may be configured to execute, translate, interpret the design data and print, fabricate, or manufacture the product based on the design data using the API. After the process is complete, the processing module in conjunction with the security module may perform a memory wipe using a three pass algorithm, as an example, on selected number of memory blocks. It will also be appreciated that, in some embodiments, the CPS may not be provided with any memory capable of storing design specifications. The fabricator API may provide a high level interface that abstracts away the detailed algorithms necessary to control the motors and/or any additional embedded controllers within the device. The printer may contain motors, embedded code, controllers, injectors, resin heaters, drills, and/or the like that are governed by the software API and controlled by the fabricator control module. 
         [0035]    The system can be implemented as a hardware element, a software element executed by a computer, a firmware element embedded in hardware, or any combination thereof. In various embodiments, the logic flow may comprise, or be implemented as, executable computer program instructions. The executable computer program instructions may be implemented by software, firmware, a module, an application, a program, a subroutine, an instruction set, computing code, words, values, symbols, or combination thereof. The executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The executable computer program instructions may be implemented according to a predefined computer language, manner, or syntax, for instructing a computer to perform a certain function. The executable computer program instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled, and/or interpreted programming language in accordance with the described embodiments. 
         [0036]    In various embodiments, a logic flow may comprise, or be implemented as, executable computer program instructions stored in an article of manufacture and/or computer-readable storage medium. The article and/or computer-readable storage medium may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and/or operations in accordance with the described embodiments. The article and/or computer-readable storage medium may be implemented by various systems and/or devices in accordance with the described embodiments. In such embodiments, a computer may include any suitable computer platform, device, system, or the like implemented using any suitable combination of hardware and/or software. 
         [0037]    The article and/or computer-readable storage medium may comprise one or more types of computer-readable storage media capable of storing data, including volatile memory or, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Additionally, the article and/or computer-readable storage medium may be of the non-transitory type. Examples of computer-readable storage media may include, but are not limited to, random-access memory (RAM), dynamic RAM (DRAM), double-data-rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory (e.g., NOR or NAND flash memory), content addressable memory (CAM), polymer memory (e.g., ferroelectric polymer memory), phase-change memory, ovonic memory, ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, or any other suitable type of computer-readable storage media in accordance with the described embodiments. 
         [0038]    While certain features of the embodiments have been illustrated as described above, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments.