私は、Java アプリケーションのネットワーク ライセンス コントロールを何らかの形式で提供する任務を負っています。アプリはネットワーク ドライブに保存され、クライアント マシンから実行されます。基本的な考え方は、同時に実行されている回数を計算し、N+1 番目のユーザーがソフトウェアを実行できないようにすることです。ここで、N は顧客が購入した同時ライセンスの数です。
これはJavaアプリケーションで何とか可能ですか?アプリケーションの実行中のインスタンス間のマルチキャスト UDP 通信に依存する「ソリューション」を実装しましたが、ほとんどのネットワークではこの種の通信がセキュリティ対策によってブロックされているため、これは機能しませんでした。
より良い方法はありますか?JNI/JNAが必要かどうかも気にしません。
注: ソリューションは、それほど洗練されていたり、高度に安全である必要はありません。