(57)【要約】【課題】既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステムと方法を開示する。【解決手段】１つの例示的な態様では、方法は、少なくとも１つの計算装置から既存のソフトウェアの利用情報を取得することと、既存のソフトウェアから移行する設定を特定することとを含んでもよい。当該方法は、新規のソフトウェアのメタデータ情報を有する内部データベースに基づいて、既存のソフトウェアの設定を新規のソフトウェアの対応する設定に変換することと、少なくとも１つの計算装置の複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、該利用情報に基づいて、新規のソフトウェアをインストールし既存のソフトウェアを削除するための一連のタスクを示す移行計画を決定することをさらに含んでもよい。当該方法は、移行計画を実行することをさらに含んでもよい。【選択図】図５
2022002086.tif 000002
【特許請求の範囲】
【請求項１】
既存のソフトウェアから新規のソフトウェアにシームレスに移行するための方法であって、
少なくとも１つの計算装置上で、前記既存のソフトウェアから前記新規のソフトウェアに移行するコマンドを受信することであって、前記既存のソフトウェアと前記新規のソフトウェアが複数の特徴を共有する、受信することと、
前記コマンドを受信することに応じて、
前記少なくとも１つの計算装置から前記既存のソフトウェアの利用情報を取得することと、
前記既存のソフトウェアから移行する設定を特定することと、
前記新規のソフトウェアのメタデータ情報を有する内部データベースに基づいて、前記既存のソフトウェアの前記設定を前記新規のソフトウェアの対応する設定に変換することと、
前記少なくとも１つの計算装置の前記複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、前記利用情報に基づいて、前記新規のソフトウェアをインストールし前記既存のソフトウェアを削除するための一連のタスクを示す移行計画を決定することと、
前記新規のソフトウェアをインストールし、前記対応する設定を実装し、前記既存のソフトウェアを削除することによって、前記一連のタスクを実行することと
を含む、方法。
【請求項２】
前記少なくとも１つの計算装置の管理者に前記移行計画を提示することをさらに含み、
前記一連のタスクを実行することは、前記管理者からの前記移行計画の承認に応じる、請求項１に記載の方法。
【請求項３】
前記既存のソフトウェアと前記新規のソフトウェアはウイルス対策ソフトであり、
前記既存のソフトウェアから移行する前記設定を特定することは、
（１）ウイルス対策スキャンスケジュール、（２）各種ウイルスおよびマルウェアに対して行う処置、（３）スキャンの必要のない例外ディレクトリー、（４）許可されたユーザー、
のうち少なくとも１つを特定することをさらに含む、請求項１に記載の方法。
【請求項４】
前記一連のタスクを実行することは、
前記複数の特徴に含まれる、前記既存のソフトウェアの特徴を特定することと、
前記特徴に関連付けられた前記新規のソフトウェアのファイルをインストールすることと、
前記新規のソフトウェア上で前記特徴にアクセスできるように、前記対応する設定のうち任意の設定を前記インストールされたファイルに適用することと、
前記少なくとも１つの計算装置で受信された、前記特徴にアクセスする要求を、前記新規のソフトウェアに転送することと、
前記特徴に関連付けられた前記既存のソフトウェアのファイルを削除することと
を含む、請求項１に記載の方法。
【請求項５】
前記移行計画を決定することは、
前記複数の特徴における各特徴を、前記特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、
前記ランク付けに従って前記一連のタスクにおけるタスクの予定を設定することであって、可能性が高い特徴を、可能性が低い特徴の前にインストールする予定を設定することと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記移行計画を決定することは、
前記複数の特徴における各特徴を、前記特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、
前記ランク付けに従って前記一連のタスクにおけるタスクの予定を設定することであって、可能性が低い特徴を、可能性が高い特徴の前にインストールする予定を設定することと
をさらに含む、請求項４に記載の方法。
【請求項７】
前記既存のソフトウェアの設定を特定することは、前記少なくとも１つの計算装置の前記既存のソフトウェアのユーザーによって手動で調整された少なくとも１つの設定を特定することをさらに含む、請求項１に記載の方法。
【請求項８】
前記既存のソフトウェアの設定を特定することは、少なくとも１つの設定が、前記既存のソフトウェアのユーザーによって閾値期間よりも長い期間変更されていないと判断することに応じて、前記少なくとも１つの設定を移行用に特定することをさらに含む、請求項１に記載の方法。
【請求項９】
前記既存のソフトウェアの設定を特定することは、前記新規のソフトウェアの前記複数の特徴のうち少なくとも１つの特徴にアクセスする場合に少なくとも１つの設定によってサービス品質が最適化されないと判断することに応じて、前記少なくとも１つの設定を移行用に選択しないことをさらに含む、請求項１に記載の方法。
【請求項１０】
前記既存のソフトウェアと前記新規のソフトウェアはウイルス対策ソフトであり、
前記サービス品質は、
（１）前記少なくとも１つの計算装置のスキャン実行にかかった時間、
（２）前記少なくとも１つの計算装置上でスキャンされたオブジェクトの量、
（３）検知された不正なオブジェクトの数、
（４）ファイアウォールが動作しているにもかかわらず感染したディレクトリーの量、
（５）新規のウイルス定義をダウンロードする時間、
の任意の組み合わせに基づいて測定される、請求項１に記載の方法。
【請求項１１】
既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステムであって、前記システムはハードウェアプロセッサーを備え、
前記ハードウェアプロセッサーは、
少なくとも１つの計算装置上で、前記既存のソフトウェアから前記新規のソフトウェアに移行するコマンドを受信し、前記既存のソフトウェアと前記新規のソフトウェアが複数の特徴を共有し、
前記コマンドを受信することに応じて、
前記少なくとも１つの計算装置から前記既存のソフトウェアの利用情報を取得し、
前記既存のソフトウェアから移行する設定を特定し、
前記新規のソフトウェアのメタデータ情報を有する内部データベースに基づいて、前記既存のソフトウェアの前記設定を前記新規のソフトウェアの対応する設定に変換し、
前記少なくとも１つの計算装置の前記複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、前記利用情報に基づいて、前記新規のソフトウェアをインストールし前記既存のソフトウェアを削除するための一連のタスクを示す移行計画を決定し、
前記新規のソフトウェアをインストールし、前記対応する設定を実装し、前記既存のソフトウェアを削除することによって、前記一連のタスクを実行する、
ように構成される、システム。
【請求項１２】
前記ハードウェアプロセッサーは、
前記少なくとも１つの計算装置の管理者に前記移行計画を提示するようにさらに構成され、
前記一連のタスクを実行することは、前記管理者からの前記移行計画の承認に応じる、請求項１１に記載のシステム。
【請求項１３】
前記既存のソフトウェアと前記新規のソフトウェアはウイルス対策ソフトであり、
前記ハードウェアプロセッサーは
（１）ウイルス対策スキャンスケジュール、（２）各種ウイルスおよびマルウェアに対して行う処置、（３）スキャンの必要のない例外ディレクトリー、（４）許可されたユーザー
のうち少なくとも１つを特定することによって、前記既存のソフトウェアから移行する前記設定を特定するように構成される、請求項１１に記載のシステム。
【請求項１４】
前記ハードウェアプロセッサーは、
前記複数の特徴に含まれる、前記既存のソフトウェアの特徴を特定することと、
前記特徴に関連付けられた前記新規のソフトウェアのファイルをインストールすることと、
前記新規のソフトウェア上で前記特徴にアクセスできるように、前記対応する設定のうち任意の設定を前記インストールされたファイルに適用することと、
前記少なくとも１つの計算装置で受信された、前記特徴にアクセスする要求を、前記新規のソフトウェアに転送することと、
前記特徴に関連付けられた前記既存のソフトウェアのファイルを削除することと
によって前記一連のタスクを実行するように構成される、請求項１１に記載のシステム。
【請求項１５】
前記ハードウェアプロセッサーは、
前記複数の特徴における各特徴を、前記特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、
前記ランク付けに従って前記一連のタスクにおけるタスクの予定を設定することであって、可能性が高い特徴を、可能性が低い特徴の前にインストールする予定を設定することと、
によって前記移行計画を決定するように構成される、請求項１４に記載のシステム。
【請求項１６】
前記ハードウェアプロセッサーは、
前記複数の特徴における各特徴を、前記特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、
前記ランク付けに従って前記一連のタスクにおけるタスクの予定を設定することであって、可能性が低い特徴を、可能性が高い特徴の前にインストールする予定を設定することと、
によって前記移行計画を決定するように構成される、請求項１４に記載のシステム。
【請求項１７】
前記ハードウェアプロセッサーは、前記少なくとも１つの計算装置の前記既存のソフトウェアのユーザーによって手動で調整された少なくとも１つの設定を特定することによって、前記既存のソフトウェアの設定を特定するように構成される、請求項１１に記載のシステム。
【請求項１８】
前記ハードウェアプロセッサーは、少なくとも１つの設定が、既存のソフトウェアのユーザーによって閾値期間よりも長い期間変更されていないと判断することに応じて、前記少なくとも１つの設定を移行用に特定することによって、前記既存のソフトウェアの設定を特定するように構成される、請求項１１に記載のシステム。
【請求項１９】
前記ハードウェアプロセッサーは、前記新規のソフトウェアの前記複数の特徴のうち少なくとも１つの特徴にアクセスする場合に少なくとも１つの設定によってサービス品質が最適化されないと判断することに応じて、前記少なくとも１つの設定を移行用に選択しないことによって、前記既存のソフトウェアの設定を特定するように構成される、請求項１１に記載のシステム。
【請求項２０】
既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのコンピューター実行命令を保存する非一時的なコンピューター可読媒体であって、
少なくとも１つの計算装置上で、前記既存のソフトウェアから前記新規のソフトウェアに移行するコマンドを受信し、前記既存のソフトウェアと前記新規のソフトウェアが複数の特徴を共有する命令と、
前記コマンドを受信することに応じて、
前記少なくとも１つの計算装置から前記既存のソフトウェアの利用情報を取得し、
前記既存のソフトウェアから移行する設定を特定し、
前記新規のソフトウェアのメタデータ情報を有する内部データベースに基づいて、前記既存のソフトウェアの前記設定を前記新規のソフトウェアの対応する設定に変換し、
前記少なくとも１つの計算装置の前記複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、前記利用情報に基づいて、前記新規のソフトウェアをインストールし前記既存のソフトウェアを削除するための一連のタスクを示す移行計画を決定し、
前記新規のソフトウェアをインストールし、前記対応する設定を実装し、前記既存のソフトウェアを削除することによって、前記一連のタスクを実行する、
ための命令を含む、非一時的なコンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［1］本発明は、ソフトウェア移行の分野に関し、より具体的には、既存のソフトウェアから新規のソフトウェアにシームレスに移行するための方法、システムおよびコンピューター可読媒体に関する。
【背景技術】
【０００２】
［2］管理サービス・プロバイダー（Managed  Service  Provider：ＭＳＰ）は、多くの管理された情報技術（Information  Technology：ＩＴ）サービスを他の企業に提供する事業者である。現在、管理サービス・プロバイダーはネットワークを通じて遠隔で広くサービスを提供している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
管理サービス・プロバイダーの課題の１つは、販売元が異なるソフトウェアの切り換えである。例えば、管理サービス・プロバイダーが第１の販売元によるウイルス対策ソフトを利用したとする。仮に別のウイルス対策ソフトが第２の販売元によって市場に導入され、かつ現在利用しているウイルス対策ソフトよりも効率的で安価である場合、管理サービス・プロバイダーは切り換えを検討する可能性がある。しかし、この切り換えには、顧客の要望への個別対応を伴う長期の移行、ソフトウェアを動かすハードウェアへの個別対応、保存され処理されたデータの特徴を保持するための個別対応が必要となる。移行作業は労働集約的で信頼性が低く、新規のソフトウェアの総所有コスト（Total  Cost  of  Ownership：ＴＣＯ）が増加し、さらに（移行時に）サービス品質の低下を招くことから、管理サービス・プロバイダーはインフラの更新に後ろ向きになることが多い。
【０００４】
［3］アップグレードのプロセスを簡素化するために、本開示の態様は、既存のソフトウェアから新規のソフトウェアにシームレスに移行するための方法、システムおよびコンピューター可読媒体について述べる。
【課題を解決するための手段】
【０００５】
［4］１つの例示的な態様では、方法は、少なくとも１つの計算装置上で、既存のソフトウェアから新規のソフトウェアに移行するコマンドを受信することを含んでよく、既存のソフトウェアと新規のソフトウェアが複数の特徴を共有してよい。当該方法は、コマンドを受信することに応じて、少なくとも１つの計算装置から既存のソフトウェアの利用情報を取得することと、既存のソフトウェアから移行する設定を特定することと、を含んでよい。当該方法は、新規のソフトウェアのメタデータ情報を有する内部データベースに基づいて、既存のソフトウェアの設定を新規のソフトウェアの対応する設定に変換することをさらに含んでもよい。当該方法は、少なくとも１つの計算装置の複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、利用情報に基づいて、新規のソフトウェアをインストールし既存のソフトウェアを削除するための一連のタスクを示す移行計画を決定することをさらに含んでもよい。当該方法は、新規のソフトウェアをインストールし、対応する設定を実装し、既存のソフトウェアを削除することによって、一連のタスクを実行することをさらに含んでもよい。
【０００６】
［5］いくつかの態様において、当該方法は、少なくとも１つの計算装置の管理者に移行計画を提示することを含んでよく、一連のタスクを実行することは、管理者からの移行計画の承認に応じてよい。
【０００７】
［6］いくつかの態様において、既存のソフトウェアと新規のソフトウェアはウイルス対策ソフトであり、既存のソフトウェアから移行する設定を特定することは、（１）ウイルス対策スキャンスケジュール、（２）各種ウイルスおよびマルウェアに対して行う処置、（３）スキャンの必要のない例外ディレクトリー、（４）許可されたユーザー、のうち少なくとも１つを特定することをさらに含む。
【０００８】
［7］いくつかの態様において、一連のタスクを実行することは、当該複数の特徴に含まれる、既存のソフトウェアの特徴を特定することと、当該特徴に関連付けられた新規ソフトウェアのファイルをインストールすることと、新規のソフトウェア上で当該特徴にアクセスできるように、対応する設定のうち１つの設定を、インストールされたファイルに適用することと、少なくとも１つの計算装置で受信された、当該特徴にアクセスする要求を、新規のソフトウェアに転送することと、当該特徴に関連付けられた既存のソフトウェアのファイルを削除することと、を含む。
【０００９】
［8］いくつかの態様において、移行計画を決定することは、当該複数の特徴における各特徴を、当該特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、ランク付けに従って一連のタスクにおけるタスクの予定を設定することであって、可能性が高い特徴を、可能性が低い特徴の前にインストールする予定を設定することをさらに含む。
【００１０】
［9］いくつかの態様において、移行計画を決定することは、当該複数の特徴における各特徴を、当該特徴が移行中にアクセスされる可能性に基づいてランク付けすることと、ランク付けに従って一連のタスクにおけるタスクの予定を設定することであって、可能性が低い特徴を、可能性が高い特徴の前にインストールする予定を設定することをさらに含む。
【００１１】
［10］いくつかの態様において、既存のソフトウェアの設定を特定することは、少なくとも１つの計算装置の既存のソフトウェアのユーザーによって手動で調整された少なくとも１つの設定を特定することをさらに含む。
【００１２】
［11］いくつかの態様において、既存のソフトウェアの設定を特定することは、少なくとも１つの設定が、既存のソフトウェアのユーザーによって閾値期間よりも長い期間変更されていないと判断することに応じて、当該少なくとも１つの設定を移行用に特定することをさらに含む。
【００１３】
［12］いくつかの態様において、既存のソフトウェアの設定を特定することは、新規のソフトウェアの複数の特徴のうち少なくとも１つの特徴にアクセスする場合に少なくとも１つの設定によってサービス品質が最適化されないと判断することに応じて、当該少なくとも１つの設定を移行用に選択しないことをさらに含む。
【００１４】
［13］いくつかの態様において、既存のソフトウェアと新規のソフトウェアはウイルス対策ソフトであり、サービス品質は、（１）当該少なくとも１つの計算装置のスキャン実行にかかった時間、（２）当該少なくとも１つの計算装置上でスキャンされたオブジェクトの量、（３）検知された不正なオブジェクトの数、（４）ファイアウォールが動作しているにもかかわらず感染したディレクトリーの量、（５）新規のウイルス定義をダウンロードする時間、の任意の組み合わせに基づいて測定される。
【００１５】
［14］なお、上記の方法は、ハードウェアプロセッサーを備えるシステムにおいて実現されてよい。或いは、上記の方法は、非一時的なコンピューター可読媒体のコンピューター実行命令を用いて実現されてよい。
【００１６】
［15］上記の例示的な態様の簡略化された概要によって、本開示の基本的な理解が可能になる。この概要は、企図された態様全てを広範に示したものではなく、また全ての態様の基本的または重要な要素を特定し本開示の一部または全ての態様の範囲を画定することを意図したものではない。本開示のより詳細な説明に先立ち、簡略化された形で１つ以上の態様を提示することを唯一の目的としている。上記の目的を達成するために、本開示の１つ以上の態様には、請求項に記載され例示的に示された特徴が含まれる。
【図面の簡単な説明】
【００１７】
［16］本明細書の一部に組み込まれて本明細書の一部を構成している添付図面は、本開示の１つ以上の例示的な態様を示し、さらに詳細な説明と共に、その原理と実施を示す。
【図１】［17］図１は、本開示の態様による既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステムを示すブロック図である。
【図２】［18］図２は、本開示の態様による既存のソフトウェアから新規のソフトウェアに設定を取り出し変換するためのシステムを示すブロック図である。
【図３】［19］図３は、本開示の態様による移行計画を作成するためのシステムを示すブロック図である。
【図４】［20］図４は、本開示の態様による移行計画を実行するためのシステムを示すブロック図である。
【図５】［21］図５は、本開示の態様による既存のソフトウェアから新規のソフトウェアにシームレスに移行するための方法を示すフローチャートである。
【図６】［22］図６は、本開示の態様を実現可能な汎用コンピューターシステムの例を示す。
【発明を実施するための形態】
【００１８】
［23］既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステム、方法、およびコンピュータープログラム製品に関連して例示的な態様について述べる。技術分野における通常の知識を有する者は、以下の説明は例示であって制限を加える意図はないことを理解するであろう。他の態様は、本開示の利益を受ける当業者に容易に示されるであろう。添付図面に示す通り、例示的な態様の実施を詳細に参照する。図面および以下の説明において、同様の要素は可能な限り同様の参照符号を用いて示す。
【００１９】
［24］図１は、本開示の態様による既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステム１００を示すブロック図である。システム１００において、ＭＳＰ１０１は複数の計算装置（例えば、１０８ａ、１０８ｂ、１０８ｎ）のサービス・プロバイダーを示す。本開示において、移行サーバー１０６とＭＳＰ１０１の間で交換された情報は、サーバー１０６とＭＳＰ１０１のメンバー（例えば、管理者）に使用された装置との間で交換された情報と理解されてよい。
【００２０】
［25］移行サーバー１０６は、複数の計算装置に渡ってソフトウェアのシームレスな移行を調整するように構成された移行モジュール１１４を備える。各計算装置１０８は移行エージェント１１４を備え、移行エージェント１１４は、移行サーバー１０６上で移行モジュール１１４と通信するクライアントアプリケーションであってよい。いくつかの態様において、移行エージェント１１４はシン・クライアント（thin  client）であり、移行モジュール１１４はシック・クライアント（thick  client）である。ＭＳＰ１０１、移行サーバー１０６、および複数の計算装置１０８間の通信は、同じネットワーク上で行われてよい。ネットワークは、ローカルエリアネットワーク（Local  Area  Network：ＬＡＮ）またはインターネット等のワイドエリアネットワーク（Wide  Area  Network：ＷＡＮ）であってよい。いくつかの態様において、各計算装置は独立しておりＭＳＰ１０１とは関連付けられていない。したがって、特定の計算装置（例えば、１０８ａ）にインストールされるソフトウェアは、ＭＳＰ１０１やその他図示される計算装置（例えば、１０８ｂ、１０８ｎ等）とは関連はない。
【００２１】
［26］１つの例示的な態様では、移行モジュール１１４は、少なくとも１つの計算装置上で既存のソフトウェアから新規のソフトウェアに移行するコマンドを受信してよい。いくつかの態様において、コマンドはＭＳＰ１０１から発信されてよく、その他の態様においてコマンドは計算装置１０８の１つから発信されてよい。なお、図１の各装置は、数字の後に文字（例えば、「ａ」、「ｂ」、「ｎ」）を付けて表記される。簡略化のため１文字のみ表記している。文字は、特定の計算装置の構成要素を識別してグループ分けするために用いる。例えば、移行エージェント１１４ａ、設定１１２ａ、ソフトウェア１１０ａ等、「ａ」で終わる表記は、計算装置１０８ａの構成要素およびソフトウェアを表す。いくつかの態様において、移行モジュール１１４によって受信されたコマンドはさらに、どの計算装置を新規のソフトウェア１０４で更新するかを示してよい。例えば、ＭＳＰ１０１には、新規のソフトウェア１０４の更新対象として選択する必要のある計算装置はごく少数である場合もある。
【００２２】
［27］いくつかの態様において、コマンドの受信に応じて、移行モジュール１１４は特定された計算装置に新規のソフトウェア１０４をインストールできるかどうかを判断してよい。例えば、いくつかの計算装置は、オペレーティングシステムおよび／またはハードウェアが旧式であるために新規のソフトウェア１０４とは互換性がない可能性がある。特定された計算装置が新規のソフトウェア１０４と互換性がないと判断されたことに応じて、移行モジュール１１４は非互換性を報告するエラーメッセージをＭＳＰ１０１に送信してよい。
【００２３】
［28］ソフトウェア１１０と新規のソフトウェア１０４は、複数の特徴を共有する類似したコンピュータープログラムであってよい。例えば、ソフトウェア１１０はウイルス対策プログラムであり、新規のソフトウェア１０４は別のウイルス対策プログラムであってよい。多くの他の特徴の中から、定期スキャン、ウイルス定義、および削除／検疫方法等の特徴が共有されてよい。ＭＳＰ１０１またはいずれかの計算装置は、ソフトウェア１１０を新規のソフトウェア１０４と入れ替える選択をしてよい。本開示は、ソフトウェア１１０からできるだけ多く所望の設定１１２を保持し、入れ替えの間サービス品質（Quality  of  Service：ＱｏＳ）が下がらないようにしつつ、ソフトウェア１１０を新規のソフトウェア１０４と入れ替えるシステムおよび方法について述べる。この特定のソフトウェア入れ替え／更新をシームレス移行と呼ぶ。
【００２４】
［29］各ソフトウェア１１０は、移行のために特定される（つまり、新規のソフトウェア１０４に適用される）設定１１２によって構成される。なお、ソフトウェア１１０ａがソフトウェア１１０ｂと使い方が異なる（例えば、それぞれの計算装置のユーザーが異なる、または装置の種類が異なる）ため、どの装置に新規のソフトウェア１０４が適用されるかによって、異なる設定が新規のソフトウェア１０４に適用される。
【００２５】
［30］コマンドの受信に応じて、移行モジュール１１４は、計算装置１０８からソフトウェア１１０の利用情報を取得し、ソフトウェア１１０から移行する設定１１２を特定する。これについてさらに図２と図３で述べる。
【００２６】
［31］図２は、本開示の態様による既存のソフトウェアから新規のソフトウェアに設定を取り出し変換するためのシステム２００を示すブロック図である。ソフトウェア１１０および新規のソフトウェア１０４が共にウイルス対策アプリケーションである例において、既存のソフトウェアから新規のソフトウェアに移行する設定としては、（１）ウイルス対策スキャンスケジュール、（２）各種ウイルスおよびマルウェアに対して行う処置、（３）スキャンの必要のない例外ディレクトリー、（４）許可されたユーザー等があるが、これらに限定されない。図２に示す通り、設定１１２が各計算装置上の移行エージェントによって取り出され、移行モジュール１１４に供給される。簡略化のため、以下の例では計算装置１０８ａからの設定１１２ａのみに注目する。設定１１２ａは、（可能であれば）取り込むべき設定として移行エージェント１１４ａによって特定される。図２に列挙する通り、設定１１２ａは複数の個別設定／構成（例えば、設定１１２ａ−１、１１２ａ−２、１１２ａ−３等）を含む。
【００２７】
［32］ソフトウェア１１０の設定全てが新規のソフトウェア１０４と互換性があるとは限らず、またソフトウェア１１０の設定全てがユーザーに特に希望されているとは限らないため、移行モジュール１１４は、取り込むべき設定を選別する。例えば、移行モジュール１１４はソフトウェア１１０ａのコマンド／構成ログを分析して、計算装置１０８ａの既存のソフトウェア１１０ａのユーザーによって手動で調整された、少なくとも１つの設定を特定してよい。ユーザーが任意の設定を手動で選択する場合、新規のソフトウェア１０４においてユーザーが当該設定を希望する可能性が高い。例えば、ユーザーがウイルススキャンの周期を１日から１週間に切り換えた場合、ユーザーは頻繁なスキャンを希望していない可能性がある。それゆえ、移行モジュール１１４には、ユーザーが好むものと好まないものという、２つの情報が供給される。この場合、新規のソフトウェア１０４をインストールする際に、移行モジュール１１４は新規のソフトウェア１０４の周期を「日」には設定しない。同様に、ユーザーが手動で週間を選択しているので、移行モジュール１１４は前回のユーザーの選択に基づいてスキャンの周期を「週」に設定する。
【００２８】
［33］いくつかの態様において、ソフトウェア１１０の少なくとも１つの設定が閾値期間以内（例えば、先月中）に変更されたという判断に応じて、移行モジュール１１４は移行の少なくとも１つの設定を特定してよい。さらに、ユーザーが特定の設定を好んでいることは、設定が最近変更されたかどうかによっても示される。この変更はユーザーが直接行うとは限らない。しかしながら、最近の変更であれば、性能を向上させる更新の一部と考えられる。
【００２９】
［34］いくつかの態様において、移行の少なくとも１つの設定を既存のソフトウェアのユーザーが閾値期間よりも長い期間（例えば、１年）変更していないと判断することに応じて、移行モジュール１１４は、当該少なくとも１つの設定を特定してよい。例えば、任意の設定がユーザーに変更されてから長期間変更されていない場合、その設定にユーザーは慣れていて結果を良いと考えている可能性がある（例えば、スキャンの開始を好みの時間に変更し、その変更がユーザーには便利なため長期間維持される）。
【００３０】
［35］ソフトウェア１１０ａから新規のソフトウェア１０４に移行する設定を特定した後、移行モジュール１１４は、特定された設定の、新規のソフトウェア１０４の対応する設定への変換を開始してよい。移行モジュール１１４は、新規のソフトウェア１０４およびソフトウェア１１０ａに関するメタデータ情報を有する内部データに依存することがある。例えば、図２は移行データベース２０２を示す。移行データベース２０２は、各ソフトウェアの設定リストと可能な構成を含む。移行データベース２０２は、各ソフトウェア用に、製品ＩＤ、販売元の名称、製品名、言語形式、製品の正規表現、販売元の正規表現等、追加情報を含んでよい。移行モジュール１１４が対応する設定を求めて２つ以上のソフトウェアアプリケーションにおいて一致する設定を素早く検索するように、設定を含むエントリーを事前マッピングしてよい。
【００３１】
［36］例えば、設定１１２ａの設定１１２ａ−１はウイルススキャンを行うことのできる時間帯を示してよい。これにより、移行モジュール１１４は、設定２０４ａ−１において同様の時間帯設定を特定してよい。したがって、移行モジュール１１４は、各計算装置でソフトウェア１１０と新規のソフトウェア１０４間の設定を一致させることができる。移行モジュール１１４は、その後、設定２０４を生成する。設定２０４は、移行のために特定されたソフトウェア１１０の設定に一致する設定リストを含む。移行モジュール１１４は、それぞれの計算装置の移行エージェント１１４に各設定２０４を送信する。
【００３２】
［37］図３は、本開示の態様による移行計画を作成するためのシステム３００を示すブロック図である。移行モジュール１１４は、各計算装置から利用情報を受信してよい。この情報は、ソフトウェア１１０における操作ログを含んでよい。例えば、ログは「［日、時刻］に開始の手動スキャン」、「［日、時刻］に破棄されたスキャン」、「［日、時刻］に自動スキャンした新規ディレクトリー［名］」を含んでよい。移行モジュール１１４は、少なくとも１つの計算装置の複数の特徴へのアクセスに関連するＱｏＳが閾ＱｏＳより低くならないように、利用３０２に基づいて、新規のソフトウェア１０４をインストールし既存のソフトウェア１１０を削除するための一連のタスクを示す移行計画を決定する。
【００３３】
［38］いくつかの態様において、移行計画を作成するために、移行モジュール１１４は２つのソフトウェア間で共有される複数の特徴における各特徴を、移行中にアクセスされる可能性に基づいてランク付けしてよい。その後移行モジュール１１４は、ランク付けに従って一連のタスクにおけるタスクの予定設定をしてよい。いくつかの態様において、可能性が高い特徴を、可能性が低い特徴の前にインストールする予定が設定される。その他の態様において、可能性が低い特徴を、可能性が高い特徴の前にインストールする予定が設定される。
【００３４】
［39］いくつかの態様において、移行モジュール１１４は、ＱｏＳアナライザー３０４および機械学習モジュール３０６を備えてよい。ＱｏＳアナライザー３０４は、利用情報に示す通り、特定の特徴がアクセスされた様々な時刻にＱｏＳ値を割り当てるために使用されてよい。ＱｏＳは、ソフトウェアにおける処置を完了させるための時間に基づく等、様々な方法で測定できる。例えばウイルス対策ソフトの場合、ＱｏＳは、ウイルススキャンが完了する時間に基づいていてよい。ユーザーが時刻ｔ１にウイルススキャンを開始し、１時間でスキャンが完了してもよい。しかし、ユーザーが同じディレクトリーの別のスキャンを時刻ｔ２に行って、５時間でスキャンが完了した場合、後者のスキャンのＱｏＳは、前者のスキャンのＱｏＳよりも低い。例えば、ソフトウェアがストリーミングアプリケーションであって歌曲のダウンロードに通常１０秒かかるところが１分となる場合でも同様である。ウイルス対策ソフトに関して、ＱｏＳは、検知された不正なオブジェクトの数、ファイアウォールの監視下で感染したディレクトリーの量、新規のウイルス定義をダウンロードする時間等に基づいて測定される場合がある。一般的には、どの種類のソフトウェアでも、ＱｏＳ要素はＣＰＵの使用率、ネットワークアクセススピード、ユーザーが不正な攻撃（セキュリティー／バグ）を受ける傾向、特定の計算装置のソフトウェア／ハードウェア性能、ソフトウェアのクラッシュの頻度、ハードウェア障害の頻度等に依存する。
【００３５】
［40］特に移行モジュール１１４は、移行中にＱｏＳの低下を避けようとする。ＭＬモジュール３０６を用いて、移行モジュール１１４は、移行する時刻を特定してよい。ＭＬモジュール３０６は、ユーザーの利用情報およびＱｏＳアナライザー３０４に生成されたＱｏＳ値を受信して、移行が可能になるようにユーザー利用が最小になる時を予測する。例えば、ＭＬモジュール３０６は、午後８時から午後１０時の間にユーザー利用が低下すると判断する（例えば、ユーザーによる計算装置のＣＰＵの消費が、平均で５０％のところ３０％未満となる）。この間ユーザーは選択した数のディレクトリーのみスキャンする可能性がある。スキャンする時間に基づいてＱｏＳを測定する場合、従来ではスキャンは２時間で完了する。新規のソフトウェア１０４をインストールすることによって、ＣＰＵの使用率が上昇してスキャンが２時間半に伸びる可能性がある。よって、ＱｏＳが２５％低下する（つまり新たなＱｏＳ値は７５％）。移行モジュール１１４はこの値と、例えば６０％の閾ＱｏＳを比較し、ＱｏＳ値が閾ＱｏＳよりも大きいと判断することに応じて、その間の移行の予定を設定してよい。
【００３６】
［41］上記の例で示す通り、閾ＱｏＳは、ＱｏＳ値に関連するパーセント等の値を表す。ＱｏＳ値をスキャン時間内で測定する場合、閾ＱｏＳ値は最長スキャン時間を表す時間値でもある。任意の時間内でスキャンされるオブジェクトの数の単位でＱｏＳ値を測定する場合、閾ＱｏＳは当該時間内でスキャンするオブジェクトの最小数を表す。
【００３７】
［42］それゆえ移行モジュール１１４は、（取り込むべき設定および利用情報に依存して）各計算装置独自の移行計画３０８を作成する。例えば、移行モジュール１１４は移行計画３０８ａを移行エージェント１１４ａに送信し、移行計画３０８ｂを移行エージェント１１４ｂに送信してよい。
【００３８】
［43］なお、新規のソフトウェア１０４に取り込むべき設定を選択する際に、移行モジュール１１４は、新規のソフトウェアの複数の特徴のうち少なくとも１つの特徴にアクセスする場合に少なくとも１つの設定がＱｏＳを最適化しないと判断することに応じて（開発者の推奨および／またはＭＳＰの指示に基づいて）、当該少なくとも１つの設定を移行用に選択しなくてもよい。例えば、新規のソフトウェア１０４における特定の設定によってアプリケーション性能（例えば、より迅速なスキャンおよび更新）が必然的に向上する可能性がある。これによって、旧設定を取り込む必要がなくなる。そのような設定は、既存のソフトウェアにはない新しい特徴に基づくことができる。例えば、新規のウイルス対策ソフトにおいて、計算装置のスキャンに対し、より高速なスキャンが可能でさらに頻繁なスキャンを必要とするような異なる手法が用いられることがある。したがって、既存のソフトウェアでユーザーがスキャン頻度を当初隔週に設定し、新規のソフトウェアでは販売元／開発者が毎週のスキャンを推奨する場合、頻度の設定は持ち越されない。
【００３９】
［44］いくつかの態様において、移行モジュール１１４は、移行計画３０８を当該少なくとも１つの計算装置の管理者および／またはＭＳＰ１０１に提示してよい。移行計画を実行する前または移行計画を移行エージェント１１４に移行計画を送信する前に、移行モジュール１１４は移行計画３０８の承認を求めてよい。
【００４０】
［45］図４は、本開示の態様による移行計画を実行するためのシステム４００を示すブロック図である。いくつかの態様において、管理者からの移行計画の承認を受信することに応じて、移行モジュール１１４は、新規のソフトウェア１０４をインストールし、対応する設定２０４を実装し、既存のソフトウェア１１０を削除することによって、移行計画３０８に示す一連のタスクを実行してよい。図４に示す通り、各計算装置はそれぞれ新規のソフトウェア１０４と設定２０４を有しソフトウェア１１０は有していない。
【００４１】
［46］いくつかの態様において、移行エージェント１１４は移行計画３０８を受信してそれを局所的に実行してよい。一連のタスクは、移行計画３０８のタスクをいつ、どの順番で行うかを示してよい。各タスクは、特定のコマンドを表してよい。例えば順番は以下の通りである。
１．find  regkey[NAME]
２．parse  config[-type  xml  |  json|  yaml]  [-path  PATH_TO_CONFIG_FILE]
３．run  cmd[COMMAND]
４．start  proc  [PATH_TO_EXE_FILE]
５．force  remove  [PATH_TO_APP]
６．install  New  Software  [CONFIG_FILE]
７．send  restcmd[HOST_ADDRESS]
【００４２】
［47］いくつかの態様において、インストールと削除は並行して行われる。例えば、移行エージェント１１４は、既存のソフトウェアの特徴を特定してよく、その特徴は当該複数の特徴に含まれる。移行エージェント１１４は、その特徴に関連付けられた新規のソフトウェアのファイルをインストールし、その特徴に新規のソフトウェア上でアクセスできるように、対応する設定のうち任意の設定をインストールされたファイルに適用してよい。例えば、その特徴は特定のウイルスのスキャンを含んでよい。新しい特徴は新規のソフトウェア１０４を通して計算装置上で実現されるため、ユーザーがソフトウェア１１０上でその特徴にアクセスしようとする場合、移行エージェント１１４は、少なくとも１つの計算装置で受信された特徴にアクセスする要求を、新規のソフトウェア１０４に転送してよい。新しい特徴をインストールして対応する設定を適応した後、移行エージェント１１４は、その特徴に関連付けられた既存のソフトウェア１１０のファイルを削除してよい。
【００４３】
［48］いくつかの態様において、ＭＳＰ１０１は、コマンドを送信して新規のソフトウェア１０４を複数の計算装置１０８に移行させてよい。例えば、計算装置はウィンドウズ（登録商標）のＯＳで稼働しているとする。計算装置がパスワードで保護されている場合、ソフトウェア１１０をインストールするためには、移行エージェント１１４はRegistry  Editorを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\に進み、アンインストールキーを探索し、アンインストールを開始する（例えば、msiexec  /X  [product  uninstall  key]）。
【００４４】
［49］計算装置がパスワードで保護されている場合、ソフトウェア１１０をアンインストールするためには、移行モジュール１１４は、ｒｅｓｔ  ＡＰＩを頼みに全ての計算装置１０８のホスト名の「Get」リストに到達し、非保護のグループを作成し、全ての計算装置１０８をそのグループに入れて、各計算装置にパスワードを設定せずアンインストールを開始する。この態様において、ＲＥＳＴ  ＡＰＩ方式には「Get」、「Put」、「Post」、「Delete」が含まれる。
【００４５】
［50］シームレスな移行によって、更新中にユーザーがアプリケーションとサービスを終了させずに使い続けることができるので、どのような更新設定でも適用できる。例えば、ユーザーは、ウイルススキャン等、既存のソフトウェアの特徴を使い始めて、新規のソフトウェアでその特徴の使用を完了してよい。例えば、１０００ファイルのディレクトリーのスキャンが必要とされる。本開示のシステムおよび方法を使用して、ディレクトリーを既存のウイルス対策ソフトを使ってスキャンする。スキャンの途中で、新規のウイルス対策ソフトをインストールする。スキャン中に、ファイルのウイルススキャンを行うという特徴は新規のソフトウェアに引き継がれて完了する。新規のソフトウェアのインストールが完了すれば、既存のソフトウェアは削除される。移行モジュール１１４は、ファイルをスキャンする特徴（つまり、現在使用中の特徴）には１組のインストールファイルの実行が必要であり（例えば、遠隔ウイルス定義データベース、ユーザーインターフェース、ファイルパーサーと通信する通信モジュール）、これらのファイルを即座にインストールすると判断してよい。続いて移行エージェント１１４ａは、その特徴（つまり、ディレクトリーにおいてオブジェクトをスキャンする要求）と関連付けられた全ての要求を新規のソフトウェアに転送してよい。
【００４６】
［51］このインストールと実行が「シームレス」であることを確実にするために、移行モジュール１１４は、少なくとも１つのＱｏＳ要素を特定して性能比較する。例えば、ＱｏＳ要素は、移行に限定して割り当てられた計算装置のネットワーク帯域幅消費であってよい。例えば、ネットワーク帯域幅消費の閾ＱｏＳが５Ｍｂｐｓであるとする。移行モジュール１１４は、ネットワーク帯域幅消費が５Ｍｂｐｓを超えないようにしながら新規のソフトウェアをインストールしようとする。既存のソフトウェアも稼働して帯域幅を消費している場合、既存のソフトウェアによる消費もＱｏＳの決定に含まれる。例えば、既存のソフトウェアは２Ｍｂｐｓを使用してウイルス定義との比較のためのファイルシグネチャーをアップロードする。したがって、新規のソフトウェアのインストールファイルをダウンロードするために３Ｍｂｐｓが残される。
【００４７】
［52］さらに、別のＱｏＳ要素として、（移行サービスに限定または計算装置全体に割り当てられる）ＣＰＵ消費を用いてよい。例えば、既存のソフトウェアでスキャンの特徴が使用中で新規のソフトウェアのダウンロードとインストールが実行されている間、ＣＰＵ消費は５０％となることがある。閾ＣＰＵ消費が４５％の場合、移行モジュール１１４はインストールまたはスキャンを減速させてＣＰＵ消費を閾値以下に維持してよい。
【００４８】
［53］別のＱｏＳ要素として記憶域使用率を用いてよい。例えば、計算装置の閾記憶域使用率を記憶域全体の５０％とする。新規のソフトウェアのインストールによって記憶域使用率が５１％となる（つまり、閾値を超える）場合、移行モジュール１１４は、新規のソフトウェアと共有する既存のソフトウェアの特徴を特定してよい。続いて、移行モジュール１１４は、その特徴を新規のソフトウェアで区分的にインストールし、それに並行して同じ特徴を既存のソフトウェアから削除して記憶域使用率を維持してよい。いくつかの態様において、移行が途切れず安定した使用率で進行するように、移行モジュール１１４では複数のＱｏＳ要素を同時に考慮してよい。
【００４９】
［54］図５は、本開示の態様による既存のソフトウェアから新規のソフトウェアにシームレスに移行するための方法５００を示すフローチャートである。５０２では、移行モジュール１１４は、少なくとも１つの計算装置（例えば、計算装置１０８ａ）上で既存のソフトウェア（例えば、ソフトウェア１１０ａ）から新規のソフトウェア（例えば、新規のソフトウェア１０４）に移行するコマンドを（例えば、計算装置１０８ａにインストールされた移行エージェント１１４ａを介して）受信し、既存のソフトウェアと新規のソフトウェアが複数の特徴（例えば、両ソフトウェアはウイルス対策プログラムである）を共有する。
【００５０】
［55］５０４では、移行モジュール１１４は、少なくとも１つの計算装置から既存のソフトウェアの利用情報（例えば、使用率３０２ａ）を取得する。５０６では、移行モジュール１１４は既存のソフトウェアから移行する設定（例えば、設定１１２ａ）を特定する。５０８では、移行モジュール１１４は、新規のソフトウェアのメタデータ情報を有する内部データベース（例えば、移行データベース２０２）に基づいて、その設定を新規のソフトウェアの対応する設定（例えば、設定２０４ａ）に変換する。
【００５１】
［56］５１０では、移行モジュール１１４は、少なくとも１つの計算装置の複数の特徴へのアクセスに関連するサービス品質がサービス品質の閾値より低くならないように、該利用情報に基づいて、新規のソフトウェアをインストールし既存のソフトウェアを削除するための一連のタスクを示す移行計画（例えば、移行計画３０８ａ）を決定する。５１２では、移行モジュール１１４は、新規のソフトウェアをインストールし、対応する設定を実装し、既存のソフトウェアを削除することによって一連のタスクを実行する。
【００５２】
［57］図６は、既存のソフトウェアから新規のソフトウェアにシームレスに移行するためのシステムと方法の態様が、例示的な態様に従って実現されるコンピューターシステム２０を示すブロック図である。コンピューターシステム２０は、例えばデスクトップコンピューター、ノートブック・コンピューター、ラップトップコンピューター、モバイル計算装置、スマートフォン、タブレット型コンピューター、サーバー、メインフレーム、組込み型装置、他の形式の計算装置等、複数または単一の計算装置で構成することができる。
【００５３】
［58］図示の通り、コンピューターシステム２０は、中央処理装置（Central  Processing  Unit：ＣＰＵ）２１、システムメモリー２２、および中央処理装置２１に関連付けられたメモリーを含む様々なシステム構成要素を接続するシステムバス２３を含む。システムバス２３は、バスメモリーまたはバスメモリーコントローラー、周辺バス、および他のバスアーキテクチャーと対話できるローカル・バスを備えてよい。バスの例としては、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、Ｓｅｒｉａｌ  ＡＴＡ、Ｉ２Ｃ、その他適切な相互接続が挙げられる。中央処理装置２１（プロセッサーとも称する）には、単一または複数のコアを有するプロセッサーの単数または複数の組を含むことができる。プロセッサー２１は、本開示の技術を実現する、コンピューター実行可能な少なくとも１つのコードを実行してよい。例えば、図１から図５に示すコマンド／ステップのいずれかをプロセッサー２１によって実行してよい。システムメモリー２２は、内部で使用されるデータおよび／またはプロセッサー２１によって実行可能なコンピュータープログラムを保存するメモリーであればよい。システムメモリー２２は、ランダムアクセスメモリー（Random  Access  Memory：ＲＡＭ）２５等の揮発性メモリーおよび、読み出し専用メモリー（Read  Only  Memory：ＲＯＭ）２４、フラッシュメモリー等の非揮発性メモリー、またはその組み合わせを含んでよい。基本入力／出力システム（Basic  Input/Output  System：ＢＩＯＳ）２６は、オペレーティングシステムにＲＯＭ２４の使用をロードする時の手続き等、コンピューターシステム２０の要素間で情報をやりとりするための基本的な手続きを保存してよい。
【００５４】
［59］コンピューターシステム２０は、１つ以上の取り外し可能な記憶装置２７、１つ以上の取り外し不可の記憶装置２８、またはその組み合わせ等、１つ以上の記憶装置を含んでよい。１つ以上の取り外し可能な記憶装置２７と１つ以上の取り外し不可の記憶装置２８は、記憶インターフェイス３２を介してシステムバス２３に接続される。ある態様において、記憶装置とそれに対応するコンピューター読み取り可能な記憶媒体は、コンピューター命令、データ構造、プログラムモジュール、およびコンピューターシステム２０の他のデータを保存するためのパワー独立型モジュールである。システムメモリー２２、取り外し可能な記憶装置２７、および取り外し不可の記憶装置２８は、様々なコンピューター読み取り可能な記憶媒体を使用してよい。コンピューター読み取り可能な記憶媒体の例としては、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロコンデンサーＲＡＭ、対トランジスターＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭ等の機械メモリー、  フラッシュメモリーまたはソリッドステートドライブ（Solid  State  Drive：ＳＳＤ）またはフラッシュドライブ等における他の技術、磁気カセット、磁気テープ、およびハードディスクドライブまたはフロッピー（登録商標）ディスクにおける磁気ディスク記憶装置、コンパクトディスク（Compact-Disk  Read-Only  Memory：ＣＤ−ＲＯＭ）またはデジタル・バーサタイル・ディスク（Digital  Versatile  Disk：ＤＶＤ）等における光学記憶装置、および所望のデータの保存に用いられ、コンピューターシステム２０によってアクセスできる他の媒体が挙げられる。
【００５５】
［60］コンピューターシステム２０のシステムメモリー２２、取り外し可能な記憶装置２７、および取り外し不可の記憶装置２８は、オペレーティングシステム３５、追加プログラムアプリケーション３７、他のプログラムモジュール３８、およびプログラムデータ３９の保存に用いられてよい。コンピューターシステム２０は、入力装置４０からデータを伝達する周辺インターフェイス４６を備えてよく、入力装置４０はキーボード、マウス、スタイラス、ゲームコントローラー、音声入力装置、タッチ入力装置、またはシリアルポート、パラレルポート、ユニバーサル・シリアルバス（Universal  Serial  Bus：ＵＳＢ）、周辺インターフェイス等の１つ以上のＩ／Ｏポートを介したプリンターやスキャナー等他の周辺装置を含む。１つ以上のモニター、プロジェクター、一体型ディスプレイ等の表示装置４７が、ビデオアダプター等の出力インターフェイス４８を渡ってシステムバス２３に接続されてよい。表示装置４７に加えて、コンピューターシステム２０は、拡声器や他の視聴覚装置等の周辺出力装置（図示せず）を備えてよい。
【００５６】
［61］コンピューターシステム２０は、１つ以上のリモートコンピューター４９へのネットワーク接続を利用するネットワーク環境において稼働してよい。リモートコンピューター（コンピューター）４９は、コンピューターシステム２０の性質の説明で記述された要素の少なくともほとんどを備えるローカルコンピューターワークステーションまたはサーバーであってよい。ルーター、ネットワークステーション、ピア装置、その他ネットワークノード等、他の装置もコンピュータネットワークに存在してよいが、これらに限定されない。コンピューターシステム２０は、１つ以上のネットワーク、例えばローカルエリアコンピューターネットワーク（Local-Area  Computer  Network：ＬＡＮ）５０、ワイドエリアコンピューターネットワーク（Wide-Area  Computer  Network：ＷＡＮ）、イントラネット、およびインターネットを介してリモートコンピューター４９と通信するための１つ以上のネットワークインターフェイス５１またはネットワークアダプターを備えてよい。ネットワークインターフェイス５１の例としては、イーサネット（登録商標）インターフェイス、フレームリレーインターフェイス、ＳＯＮＥＴインターフェイス、およびワイヤレスインターフェイスが挙げられる。
【００５７】
［62］本開示の態様は、システム、方法、および／またはコンピュータープログラム製品であってよい。コンピュータープログラム製品は、プロセッサーに本開示の態様を実行させるためのコンピューター読み取り可能なプログラム命令を有するコンピューター読み取り可能な記憶媒体（単一または複数）を備えてよい。
【００５８】
［63］コンピューター読み取り可能な記憶媒体としては、プログラムコードを命令の形式で保持保存できるタンジブルデバイスまたは計算システム２０等の計算装置のプロセッサーによってアクセス可能なデータ構造が利用できる。コンピューター読み取り可能な記憶媒体は、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはその適切な組み合わせであってよい。例として、このようなコンピューター読み取り可能な記憶媒体は、ランダムアクセスメモリー（ＲＡＭ）、読み出し専用メモリー（ＲＯＭ）、ＥＥＰＲＯＭ、ポータブルコンパクトディスク読み出し専用メモリー（ＣＤ−ＲＯＭ）、ディジタル多目的ディスク（ＤＶＤ）、フラッシュメモリー、ハードディスク、ポータブルコンピューターディスケット、メモリースティック、フロッピーディスク、または機械的に符号化された装置、例えばパンチカードまたは命令が記録された溝における突起構造を備えることができる。ここで用いられるコンピューター読み取り可能な記憶媒体は、それ自体を一時的な信号、例えば、電波または他の自由に伝搬する電磁波、導波管または送信媒体を伝搬する電磁波、または電線を通じて送信される電気信号としては解釈されない。
【００５９】
［64］本明細書に記述のコンピューター読み取り可能なプログラム命令は、コンピューター読み取り可能な記憶媒体から各計算装置に、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび／または無線ネットワークを介して外部コンピューターまたは外部記憶装置にダウンロードできる。当該ネットワークは、銅送信ケーブル、光学送信ファイバー、無線送信、ルーター、ファイアウォール、スイッチ、ゲートウェイ・コンピュータおよび／またはエッジサーバーを備えてよい。各計算装置におけるネットワークインターフェイスは、ネットワークからコンピューター読み取り可能プログラム命令を受信して、各計算装置内部のコンピューター読み取り可能記憶媒体における保存用のコンピューター読み取り可能プログラム命令を転送する。
【００６０】
［65］本開示の操作を行うためのコンピューター読み取り可能プログラム命令は、アセンブリー命令、命令セット・アーキテクチャー（Instruction-Set-Architecture：ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはオブジェクト指向プログラミング言語および従来の手続きプログラミング言語を含む１つ以上のプログラミング言語の組み合わせで書かれたソースコードまたはオブジェクトコードであってよい。コンピューター読み取り可能プログラム命令は、ユーザーコンピューター全体に、ユーザーコンピューターに部分的に実行され、または独立型のソフトウェアパッケージとして、ユーザーコンピューターに部分的におよびリモートコンピューターに部分的にまたはリモートコンピューターまたはサーバー全体に実行されてよい。後者の場合、リモートコンピューターはＬＡＮ、ＷＡＮ等、どの種類のネットワークを介してユーザーコンピューターに接続されてよく、または外部コンピューターに（例えば、インターネットを介して）接続されてよい。いくつかの実施形態において、例えばプログラム可能論理回路、フィールドプログラマブルゲートアレイ（Field-Programmable  Gate  Array：ＦＰＧＡ）、またはプログラム可能論理列（Programmable  Logic  Array：ＰＬＡ）等の電子回路は、本開示の態様を実行するために、コンピューター読み取り可能プログラム命令の状態情報を利用して電子回路を個別設定することによって、コンピューター読み取り可能プログラム命令を実行してよい。
【００６１】
［66］様々な態様において、本開示に記述のシステムおよび方法はモジュールに着目して対応できる。本明細書で用いる「モジュール」という用語は、特定用途向け集積回路（Application  Specific  Integrated  Circuit：ＡＳＩＣ）、ＦＰＧＡ等のハードウェアによって、またはハードウェアとソフトウェアの組み合わせを用いて実現される実在の装置、構成要素、または構成要素の配列を指す。ハードウェアとソフトウェアの組み合わせとしては、マイクロプロセッサーシステムおよびマイクロプロセッサーシステムを（実行中に）専用装置に変換させるモジュール機能を実現するための１組の命令の組み合わせが挙げられる。またモジュールは、ハードウェアのみで促進された特定の機能およびハードウェアとソフトウェアの組み合わせで促進された他の機能を有する、上記２つの組み合わせとして実現されてもよい。ある実施において、モジュールの少なくとも一部または全体がコンピューターシステムのプロセッサー上で実行されてよい。したがって、各モジュールは様々な適切な構成において実現されてよく、本明細書で例示した特定の実施に限定されない。
【００６２】
［67］明確化のために、本明細書において態様の通常の特徴が全て開示されているわけではない。本開示の実際の実施を開発する際、開発者の具体的な目標を達成するために実施に向けた判断を数多く下さなければならず、これら具体的な目標は、異なる実施および異なる開発者により変化することが理解されるであろう。このような開発への取り組みは複雑で時間を要する可能性はあるとはいえ、当業者にとっては技術の通常業務であり、本開示の利益が得られることが理解される。
【００６３】
［68］さらに、本明細書で使用される表現や専門用語は制限ではなく記述を目的としており、そのため本明細書の表現や専門用語は、関連技術の当業者の知識と合わせて、本明細書で提示する教示および手引きに照らして当業者によって解釈されるべきであると理解しなければならない。また特に明示されない限り、本明細書または請求項におけるあらゆる用語は、非一般的または特別な意味に基づくとは意図されない。
【００６４】
［69］本明細書で開示された種々の態様は、例証として本明細書で言及された既知のモジュールの、現在および将来の既知の等価物を含む。さらに、態様および応用について図示し説明してきたが、本開示の利益を受ける当業者にとって、記載よりも多くの変形例が本明細書に開示された発明の概念を逸脱しない範囲で可能であることは明らかである。
【図１】
2022002086.tif 000003
【図２】
2022002086.tif 000004
【図３】
2022002086.tif 000005
【図４】
2022002086.tif 000006
【図５】
2022002086.tif 000007
【図６】
2022002086.tif 000008
【外国語明細書】
2022002086000001.pdf