|
[Sponsors] |
Collaboration work - how do you protect your IP? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 2, 2015, 05:30 |
Collaboration work - how do you protect your IP?
|
#1 |
New Member
Jens
Join Date: Oct 2015
Posts: 3
Rep Power: 11 |
Hi All,
Great forum! I was not sure where to post this one so I figured this could be the place. I’m wondering if, upon full automation and some parameterization of a CAE process, there is a way to provide a “black-box” to say a customer, so they can integrate my CAE routine into theirs without getting access to the IP embedded in my models (e.g. detailed geometry, mesh and solver settings, complete result dataset). Basically, I’m looking after the functionality of a meta-model, but with the actual detailed CAE model being run at each query. I believe I’ve seen this feature advertised in some 0D-calculation tools. However, I could not find equivalent feature in 3D simulation programs. I guess the typical CPU time, the file management complexity, and maybe limited users’ need for such feature could be the reason why. Or I didn’t search hard enough, and if so, please accept my apologies for this. Any insight regarding this topic is much appreciated! Cheers /Jens |
|
October 2, 2015, 10:23 |
|
#2 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,761
Rep Power: 66 |
Compile your code so that it's all in binary. Then they'll have no access.
Are you trying to protect your IP or keep it as a trade secret? If you only need protection, then you just need to both agree to a non-disclosure agreement. You can also register your IP and license its use to your collaborators. I think it's harder if you are trying to make it a complete black box, it's basically a crytographic problem. Maybe you can compile everything into a binary. |
|
October 2, 2015, 15:55 |
|
#3 | ||
New Member
Jens
Join Date: Oct 2015
Posts: 3
Rep Power: 11 |
Thanks Lucky!
Quote:
Quote:
On a side note, after Googling a little about IP, binaries, etc, I rapidly found this: Wow... I didn't think it was THAT easy :/ |
|||
October 2, 2015, 20:37 |
|
#4 |
Senior Member
Michael Prinkey
Join Date: Mar 2009
Location: Pittsburgh PA
Posts: 363
Rep Power: 25 |
The answer to your question depends on what language your simulation code is written. If it is C/C++/Fortran, those online compilers are not going to work very well. Note, they are picking apart java byte in that video. If you are working with Java, Python, or similar "scripting" type languages, it is going to be very hard to protect your work, because "compiled" versions of those languages are still pretty expressive. As the video said, I don't know what you can do besides obfuscation, and that is really more of a speed bump than a locked gate.
If you are starting with a real compiled code (like C++ or Fortran), the output will be assembly language and will not be nearly as easy to reverse engineer. If you have critical constants or datasets, you may want to store them in encrypted datafiles or variables and then decrypt them at runtime. Generally, you want to hind the way you generate the key to decrypt them with an key generator to make it hard for people to find the key in your binary. If you need a cheap hardware dongle solution, you can integrate a yubikey ($25 each) and use their challenge/response mechanism to generate the decryption code for the datasets and prevent execution if the data doesn't decrypt cleanly. That allows you to easily and cheaply prevent mass distribution or wholesale integration of your binary into some other work. They will need to have a physical key installed in the system for your code to work. There are other options as well, but they will start costing real money. There are dongles with real SDKs or FlexLM with cryptographic license files, etc. But there are pretty expensive upfront costs for those. |
|
October 4, 2015, 06:46 |
|
#5 | |
New Member
Jens
Join Date: Oct 2015
Posts: 3
Rep Power: 11 |
Thank you Michael, very insightful.
Quote:
After further research, it appears that LS-Dyna has some encryption capabilities, as suggested in this document. See page 37: "Lotus Engineering, Inc. provided encrypted files for the crash models and crash configurations. Due to encryption, specifics of the material, failure, fracture, joining and structural sub-models employed in the models and simulations could not be evaluated." RADIOSS and ANSYS Mechanical also seem to have some encryption capabilities at least for material properties, but maybe not much more... Apparently the LS-Dyna encryption system relies on OpenPGP. I suppose encryption could be implemented, but I wish a general, off-the-shelf solution was readily available... Any opinion regarding the feasibility of implementing a general encryption framework for CAE applications is welcome. |
||
October 5, 2015, 00:46 |
|
#6 | |
Senior Member
Michael Prinkey
Join Date: Mar 2009
Location: Pittsburgh PA
Posts: 363
Rep Power: 25 |
Quote:
If you used open source software instead, you could hack the code up to include encryption or to even pass data from application to application using pipes/sockets/stdin/out and avoid writing the intermediate files to disk at all. This is a hard problem and one I don't see commercial software vendors taking an interest in, unless they are paid to do it. Open source is likely the only way to accomplish this, IMO. |
||
Tags |
automation, collaboration, intellectual property |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
RP_Set_Integer does not work in parallel | 86lolo | Fluent UDF and Scheme Programming | 2 | July 3, 2014 12:37 |
Does CX_Interpret_String work in parallel? | 86lolo | Fluent UDF and Scheme Programming | 2 | June 30, 2014 05:36 |
Companies that lease software & hardware for cloud-based work? | Catthan | ANSYS | 0 | June 18, 2014 11:53 |
Why do the Plant library cases don't work? | Alumna | Phoenics | 6 | June 22, 2004 13:08 |
why my In-Form doesn't work? | green | Phoenics | 2 | May 27, 2004 22:03 |