Reliable way to count executions of a program

3 ビュー (過去 30 日間)
Douglas Anderson
Douglas Anderson 2017 年 1 月 10 日
編集済み: Jan 2017 年 1 月 10 日
Is there a "simple", reliable way to count how many times a program is run (let's say licensed to a client for 100 runs)? I'm thinking just saving/loading a .mat file with a variable would be simple, but somehow it seems like it might not be that simple! Right?
Thanks.
Doug
  1 件のコメント
Image Analyst
Image Analyst 2017 年 1 月 10 日
That's what I'd do. Or even a simple text file. But how do you get your client/customer to send that file back to you so you can monitor it? A secret sendmail?

サインインしてコメントする。

採用された回答

Jan
Jan 2017 年 1 月 10 日
編集済み: Jan 2017 年 1 月 10 日
You can't do this reliably by using local files. E.g. Windows can restore the previous version of a file very easily or you can run the program in a virtual machine and retsore the last snapshot.
The only reliable way is to control this remotely: You need a server for the counting. The communication must be encrypted, because the user could copy the internet packets and inject it in the communication.
You can use a limited period of time. Then do not check the current time by using clock, because it can easily be overloaded. The system time of the main board is trivial to change also. Asking an internet service for the current time, e.g. an NTP server, is not enrypted and can be faked also, but you need criminal energy to do this. I've heared that users change the system time temporarily also to use a program with expired license, then you could search for the newest file in the TEMP folders or the newest Windows update to find out a reliable time.
The most reliable limitation is a contract signed by hand. Customer tend to act trustworthy, if they have told you explicitly and personally, that they will do so.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by