【手続補正書】
【提出日】平成30年6月1日(2018.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モバイルデバイス上で実行されるダイバーシティベースのソフトウェアの動的パッチングのための方法であって、
前記モバイルデバイスのトランシーバによって、モジュール変形形態を識別する1つまたは複数の識別子を含む通知を取得するステップであって、前記識別されたモジュール変形形態のうちの1つまたは複数が、前記モバイルデバイス上で実行される前記ソフトウェアのための前記モバイルデバイス上に記憶される、ステップと、
前記モバイルデバイスのプロセッサによって、前記通知を取得したことに応答して、モジュールについての利用可能なモジュール変形形態のリストから前記1つまたは複数の識別子によって識別されるモジュール変形形態を削除するステップであって、前記利用可能なモジュール変形形態のリストのうちの1つが、前記ソフトウェアのランタイム時に前記プロセッサによって前記モジュールとしてランダム選択によりアクティブ化される、ステップと、
前記モバイルデバイスの前記プロセッサによって、前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したかどうかを判断するステップと、
前記モバイルデバイスのトランシーバによって、前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したと判断したことに応答して、前記アクティブ化されたモジュール変形形態の識別子を含む報告をリモートサーバに送信するステップと
を含む方法。
【請求項２】
前記通知が、前記リモートサーバから前記モバイルデバイスによって受信される、請求項1に記載の方法。
【請求項３】
前記モジュール変形形態が、欠陥がある、古い、およびマルウェアによってエクスプロイトされるものとして識別される、のうちの1つである、請求項1に記載の方法。
【請求項４】
前記プロセッサによって、前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから第1の識別子を選択するステップと、
前記プロセッサによって、前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた利用可能なモジュール変形形態をアクティブ化するステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記プロセッサによって、前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するステップが、
前記プロセッサによって、ランダム選択アルゴリズムを使用して、前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するステップ
を含む、請求項4に記載の方法。
【請求項６】
前記プロセッサによって、前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた前記利用可能なモジュール変形形態をアクティブ化するステップが、
前記プロセッサによって、前記ソフトウェアのランタイム時に前記利用可能なモジュール変形形態を生成するステップであって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、ステップ、および
前記プロセッサによって、前記ソフトウェアのランタイム時に、以前に生成され、前記モバイルデバイス上に記憶された利用可能なモジュール変形形態をロードするステップであって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、ステップ
のうちの1つを含む、請求項4に記載の方法。
【請求項７】
前記モジュールが、ランタイム時に前記ソフトウェアによって利用される複数のモジュールのうちの1つであり、前記方法が、
前記プロセッサによって、前記ソフトウェアのランタイム時に前記複数のモジュール中の他のモジュールに関連付けられた利用可能なモジュール変形形態のリストから識別子を選択するステップと、
前記プロセッサによって、前記ソフトウェアのランタイム中に前記他のモジュールとして使用されるべき、前記選択された識別子に関連付けられた前記複数のモジュール中の前記他のモジュールについての利用可能なモジュール変形形態をアクティブ化するステップと
をさらに含む、請求項4に記載の方法。
【請求項８】
前記通知が、前記ソフトウェアのランタイム中に前記モバイルデバイスによって受信される、請求項1に記載の方法。
【請求項９】
コンピューティングデバイスであって、
モジュール変形形態を識別する1つまたは複数の識別子を含む通知を取得するための手段であって、前記識別されたモジュール変形形態のうちの1つまたは複数が、前記コンピューティングデバイス上で実行されるソフトウェアのためのモバイルデバイス上に記憶される、手段と、
前記通知を取得したことに応答して、モジュールについての利用可能なモジュール変形形態のリストから前記1つまたは複数の識別子によって識別されるモジュール変形形態を削除するための手段であって、前記利用可能なモジュール変形形態のリストのうちの1つが、前記ソフトウェアのランタイム時にプロセッサによって前記モジュールとしてランダム選択によりアクティブ化される、手段と、
前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したかどうかを判断するための手段と、
前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したと判断したことに応答して、前記アクティブ化されたモジュール変形形態の識別子を含む報告をリモートサーバに送信するための手段と
を備えるコンピューティングデバイス。
【請求項１０】
前記通知が、前記リモートサーバから前記コンピューティングデバイスによって受信される、請求項9に記載のコンピューティングデバイス。
【請求項１１】
前記モジュール変形形態が、欠陥がある、古い、およびマルウェアによってエクスプロイトされるものとして識別される、のうちの1つである、請求項9に記載のコンピューティングデバイス。
【請求項１２】
前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから第1の識別子を選択するための手段と、
前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた利用可能なモジュール変形形態をアクティブ化するための手段と
をさらに備える、請求項9に記載のコンピューティングデバイス。
【請求項１３】
前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するための手段が、ランダム選択アルゴリズムを使用して、前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するための手段を備える、請求項12に記載のコンピューティングデバイス。
【請求項１４】
前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた前記利用可能なモジュール変形形態をアクティブ化するための手段が、
前記ソフトウェアのランタイム時に前記利用可能なモジュール変形形態を生成するための手段であって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、手段、および
前記ソフトウェアのランタイム時に、以前に生成され、前記コンピューティングデバイス上に記憶された利用可能なモジュール変形形態をロードするための手段であって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、手段
のうちの1つを備える、請求項12に記載のコンピューティングデバイス。
【請求項１５】
コンピューティングデバイスのプロセッサに請求項１から８のいずれか一項に記載の方法に従う動作を実施させるように構成されたプロセッサ実行可能命令を記憶したプロセッサ可読記憶媒体。