(57)【要約】【解決手段】  本出願の実施形態は、方法、システム、およびコンピュータプログラム製品に関する。方法が提供され、この方法は、ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされた場合に、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体のために介入が実施されるべきかどうかを自動的にチェックすることであって、チェックは、満たされたディザスタリカバリ介入ルールに基づいて実施される、ことと、介入が実施されるべきであると決定された場合に、介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体を決定することと、介入を必要とするセッションストレージ媒体に対応する設定情報を、次のセッションストレージ媒体に対応する設定情報に切り替えるために、次のセッションストレージ媒体に対応する設定情報をセッション設定ファイルにロードすることと、を含む。【選択図】  図１
2017509071.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
セッション設定ファイルにセッション設定情報を予めロードすることと、
ディザスタリカバリ介入ルールを含むディザスタリカバリ介入ルールベースを予め確立することと、
ストレージ媒体切り替え順序を予め確立することと、
ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされた場合に、前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定されたセッションストレージ媒体のために介入が実施されるべきかどうかを自動的にチェックすることであって、前記チェックは、前記ディザスタリカバリ介入ルールに基づいて実施される、自動的なチェックと、
前記介入が実施されるべきであると決定された場合に、前記ストレージ媒体切り替え順序に基づいて、前記介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体を、決定することと、
前記介入を必要とするセッションストレージ媒体に対応する前記設定情報を、前記次のセッションストレージ媒体に対応する設定情報に切り替えるために、前記次のセッションストレージ媒体に対応する前記設定情報を前記セッション設定ファイルにロードすることと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記ストレージ媒体切り替え順序の順番は、先頭から順に、
ａ）クッキーストレージ、メモリストレージ、キャッシュストレージ、および永続ストレージ、または
ｂ）クッキーストレージ、永続ストレージ、キャッシュストレージ、およびメモリストレージ
に対応する、方法。
【請求項３】
請求項１に記載の方法であって、
前記ディザスタリカバリ介入ルールベース内の前記ディザスタリカバリ介入ルールは、
ａ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む機器に対して、ハートビートチェックを実施し、
ハートビート障害が決定された場合に、前記ハートビート障害を有する前記機器に対応する前記セッションストレージ媒体のために介入するかどうかを決定すること、
ｂ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む前記機器に対して、プロセスオーバーロードチェック、スレッドオーバーロードチェック、もしくはこれらの組み合わせを実施し、
オーバーロードが決定された場合に、前記オーバーロードを有する前記機器に対応する前記セッションストレージ媒体のために介入が実施されるべきかどうかを決定すること、
ｃ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体内のセッションデータに関連して、アクセスエラーが生じたかどうかのチェックを実施し、
決定されたエラー率が閾値を超える場合に、前記閾値を超えるエラー率を有する前記セッションストレージ媒体が介入を必要とすると決定すること、または
ｄ）ａ）〜ｃ）の任意の組み合わせ、
を含む、方法。
【請求項４】
請求項１に記載の方法であって、さらに、
ユーザによって入力された介入要求を受信することと、
前記介入要求に対応する設定情報を生成することと、
前記介入要求に対応する前記設定情報を、前記セッション設定ファイルにロードすることと、
を備える方法。
【請求項５】
請求項１に記載の方法であって、さらに、
１つ以上のクライアントアプリケーションからセッションアクセス要求を受信することと、
前記セッションアクセス要求に対応するセッション設定情報を探索することであって、前記セッション設定情報は、前記セッション設定ファイルに既にロードされている、ことと、
前記セッションアクセス要求に対応する前記セッション設定情報によって決定されたアクセス戦略にしたがって、前記セッションアクセス要求に対応する前記セッション設定情報によって決定された前記セッションストレージ媒体についてのセッションデータにアクセスすることと、
を備える方法。
【請求項６】
デバイスであって、
事前セットアップユニットであって、
セッション設定ファイルにセッション設定情報を予めロードし、
ディザスタリカバリ介入ルールを含むディザスタリカバリ介入ルールベースを予め確立し、
ストレージ媒体切り替え順序を予め確立する
ように構成された事前セットアップユニットと、
ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされた場合に、セッション設定ファイルに既にロードされた前記セッション設定情報によって決定されたセッションストレージ媒体のために介入が実施されるべきかどうかを自動的にチェックするように構成された介入ユニットであって、前記チェックは、前記満たされたディザスタリカバリ介入ルールに基づいて実施される、介入ユニットと、
前記介入が実施されるべきであると決定された場合に、前記ストレージ媒体切り替え順序に基づいて、前記介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体を決定するように構成された媒体決定ユニットと、
前記介入を必要とするセッションストレージ媒体に対応する前記設定情報を、前記次のセッションストレージ媒体に対応する設定情報に切り替えるために、前記次のセッションストレージ媒体に対応する前記設定情報を、前記セッション設定ファイルにロードするように構成されたロードユニットと、
を備えるデバイス。
【請求項７】
請求項６に記載のデバイスであって、
前記ストレージ媒体切り替え順序の順番は、先頭から順に、
ａ）クッキーストレージ、メモリストレージ、キャッシュストレージ、および永続ストレージ、または
ｂ）クッキーストレージ、永続ストレージ、キャッシュストレージ、およびメモリストレージ
に対応する、デバイス。
【請求項８】
請求項６に記載のデバイスであって、
前記ディザスタリカバリ介入ルールベース内の前記ディザスタリカバリ介入ルールは、
ａ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む機器に対して、ハートビートチェックを実施し、
ハートビート障害が決定された場合に、前記ハートビート障害を有する前記機器に対応する前記セッションストレージ媒体のために介入するかどうかを決定すること、
ｂ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む機器に対して、プロセスオーバーロードチェック、スレッドオーバーロードチェック、もしくはこれらの組み合わせを実施し、
オーバーロードが決定された場合に、前記オーバーロードを有する前記機器に対応する前記セッションストレージ媒体のために、介入が実施されるべきかどうかを決定すること、
ｃ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体内のセッションデータに関連して、アクセスエラーが生じたかどうかのチェックを実施し、
決定されたエラー率が閾値を超える場合に、前記閾値を超えるエラー率を有する前記セッションストレージ媒体が介入を必要とすると決定すること、または
ｄ）ａ）〜ｃ）の任意の組み合わせ、
を含む、デバイス。
【請求項９】
請求項６に記載のデバイスであって、さらに、
手動要求受信ユニットであって、
ユーザによって入力された介入要求を受信し、
前記介入要求に対応する設定情報を生成し、
前記介入要求に対応する前記設定情報を前記セッション設定ファイルにロードする
ように構成された手動要求受信ユニットを備えるデバイス。
【請求項１０】
請求項６に記載のデバイスであって、さらに、
１つ以上のクライアントアプリケーションからセッションアクセス要求を受信するように構成されたアクセス受信ユニットと、
前記セッションアクセス要求に対応するセッション設定情報を探索するように構成された探索ユニットであって、前記セッション設定情報は、前記セッション設定ファイルに既にロードされている、探索ユニットと、
前記セッションアクセス要求に対応する前記セッション設定情報によって決定されたアクセス戦略にしたがって、前記セッションアクセス要求に対応する前記セッション設定情報によって決定された前記セッションストレージ媒体についてのセッションデータにアクセスするように構成されたアクセス実行ユニットと、
を備えるデバイス。
【請求項１１】
有体の非一過性のコンピュータ読み取り可能ストレージ媒体に盛り込まれたコンピュータプログラム製品であって、
セッション設定ファイルにセッション設定情報を予めロードするためのコンピュータ命令と、
ディザスタリカバリ介入ルールを含むディザスタリカバリ介入ルールベースを予め確立するためのコンピュータ命令と、
ストレージ媒体切り替え順序を予め確立するためのコンピュータ命令と、
ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされた場合に、前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定されたセッションストレージ媒体のために、介入が実施されるべきかどうかを自動的にチェックするためのコンピュータ命令であって、前記チェックは、前記ディザスタリカバリ介入ルールに基づいて実施される、コンピュータ命令と、
前記介入が実施されるべきであると決定された場合に、前記ストレージ媒体切り替え順序に基づいて、前記介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体を決定するためのコンピュータ命令と、
前記介入を必要とするセッションストレージ媒体に対応する前記設定情報を、前記次のセッションストレージ媒体に対応する設定情報に切り替えるために、前記次のセッションストレージ媒体に対応する前記設定情報を前記セッション設定ファイルにロードするためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
【請求項１２】
請求項１１に記載のコンピュータプログラム製品であって、
前記ストレージ媒体切り替え順序の順番は、先頭から順に、
ａ）クッキーストレージ、メモリストレージ、キャッシュストレージ、および永続ストレージ、または
ｂ）クッキーストレージ、永続ストレージ、キャッシュストレージ、およびメモリストレージ
に対応する、コンピュータプログラム製品。
【請求項１３】
請求項１１に記載のコンピュータプログラム製品であって、
前記ディザスタリカバリ介入ルールベース内の前記ディザスタリカバリ介入ルールは、
ａ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む機器に対して、ハートビートチェックを実施し、
ハートビート障害が決定された場合に、前記ハートビート障害を有する前記機器に対応する前記セッションストレージ媒体のために、介入するかどうかを決定すること、
ｂ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体を含む機器に対して、プロセスオーバーロードチェック、スレッドオーバーロードチェック、もしくはこれらの組み合わせを実施し、
オーバーロードが決定された場合に、前記オーバーロードを有する前記機器に対応する前記セッションストレージ媒体のために、介入が実施されるべきかどうかを決定すること、
ｃ）前記セッション設定ファイルに既にロードされた前記セッション設定情報によって決定された前記セッションストレージ媒体内のセッションデータに関連して、アクセスエラーが生じたかどうかのチェックを実施し、
決定されたエラー率が閾値を超える場合に、前記閾値を超えるエラー率を有する前記セッションストレージ媒体が介入を必要とすると決定すること、または
ｄ）ａ）〜ｃ）の任意の組み合わせ、
を含む、コンピュータプログラム製品。
【請求項１４】
請求項１１に記載のコンピュータプログラム製品であって、さらに、
ユーザによって入力された介入要求を受信することと、
前記介入要求に対応する設定情報を生成することと、
前記介入要求に対応する前記設定情報を前記セッション設定ファイルにロードすることと、
を備えるコンピュータプログラム製品。
【請求項１５】
請求項１１に記載のコンピュータプログラム製品であって、さらに、
１つ以上のクライアントアプリケーションからセッションアクセス要求を受信することと、
前記セッションアクセス要求に対応するセッション設定情報を探索することであって、前記セッション設定情報は、前記セッション設定ファイルに既にロードされている、ことと、
前記セッションアクセス要求に対応する前記セッション設定情報によって決定されたアクセス戦略にしたがって、前記セッションアクセス要求に対応する前記セッション設定情報によって決定された前記セッションストレージ媒体についてのセッションデータにアクセスすることと、
を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１４年３月２６日に出願され発明の名称を「Ａ  ＭＥＴＨＯＤ  ＡＮＤ  Ａ  ＤＥＶＩＣＥ  ＦＯＲ  ＳＥＳＳＩＯＮ  ＤＩＳＡＳＴＥＲ  ＲＥＣＯＶＥＲＹ（セッションディザスタ・リカバリのための方法およびデバイス）」とする中国特許出願第２０１４１０１１６９０９．３号の優先権を主張する。該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、セッションディザスタ・リカバリのための方法およびシステムに関する。
【背景技術】
【０００３】
セッションデータは、概して、システムに入ることから始まりシステムから出ることで終わるプロセスにおける、関連するセッションデータを言う。例えば、特定の取引を実行するためにユーザがクライアントからサーバにログインするときに、クライアントとサーバとの間でＨＴＴＰセッション情報が交換される。
【０００４】
セッションデータが格納される一般的に使用されるタイプのストレージ媒体には、クッキーストレージ、メモリストレージ、キャッシュストレージ、および永続ストレージがある。クライアントアプリケーションは、通常は、クライアントアプリケーションのセッション設定情報内で、セッションストレージ媒体タイプおよび該セッションストレージ媒体タイプに対応するストレージアドレスや暗号化／復号化形式等を指定する。クライアントアプリケーションは、セッションデータへのアクセス（例えば、読み出し／書き込みアクセス）のために、自身のセッション設定情報に対応するアクセス戦略を用いる。例えば、クライアントアプリケーション（例えば、ブラウザ）を介したユーザとサーバとの間における交換プロセスでは、クライアントアプリケーションは、セッション設定情報によって決定されたセッションストレージ媒体に関係するセッションデータ（例えば、ログイン情報や取引情報等）にアクセスし、交換プロセスを完了させる。しかしながら、もし、上記の任意のタイプのストレージ媒体（クッキーストレージ、メモリストレージ、キャッシュストレージ、または永続ストレージ）で異常状態が発生すると、ストレージ媒体の異常に対処するために、ストレージ媒体自体が、異常を扱うためのディザスタリカバリメカニズムを提供する。その結果、セッション設定情報によって決定されたセッションストレージ媒体に関係するセッションデータへの安定したアクセスをクライアントアプリケーションが維持することが保証される。
【０００５】
しかしながら、セッションストレージ媒体によって提供されるディザスタリカバリメカニズムが、異常を上手く扱うことができないときは、クライアントにとって、セッションデータアクセス障害が発生する。
【図面の簡単な説明】
【０００６】
本発明の様々な実施形態が、以下の詳細な説明および添付の図面で開示される。
【０００７】
【図１】セッションディザスタ・リカバリのためのプロセスの一実施形態を示したフローチャートである。
【０００８】
【図２Ａ】セッションディザスタ・リカバリのためのシステムの一実施形態を示した図である。
【０００９】
【図２Ｂ】セッションディザスタ・リカバリのためのプロセスの別の一実施形態を示したフローチャートである。
【００１０】
【図３】セッションディザスタ・リカバリのためのデバイスの一実施形態を示した構造図である。
【００１１】
【図４】セッションディザスタ・リカバリのためのデバイスの別の一実施形態を示した構造図である。
【００１２】
【図５】セッションディザスタ・リカバリのためのプログラムドコンピュータシステムの一実施形態を示した機能図である。
【発明を実施するための形態】
【００１３】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに／または接続先のメモリに格納された命令および／もしくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、本発明の範囲内で変更されえる。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装されえる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、および／または処理コアを言う。
【００１４】
本発明の原理を例示した添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連して説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭を期するために、本発明に関係する技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細には説明されていない。
【００１５】
ユーザがウェブページブラウザを通じてウェブページを閲覧するときは、ウェブページブラウザがウェブページをロードし始めてからそのウェブページから出ていくまで、セッション設定ファイル内のセッション設定情報によって決定されたセッションストレージ媒体を監視するために、プロセスが使用される。異常が発生すると、セッションアクセスアプリケーションは、異常なセッションストレージ媒体に対応する設定情報を、正常なセッションストレージ媒体に対応する設定情報に切り替えさせて、それによって、ウェブページブラウザが、プロセスの関連のセッションデータ（例えば、ログイン情報や取引情報等）に引き続き安定してアクセスすることを保証するために、セッション設定情報を動的にロードする。例えば、セッションアクセスアプリケーションは、ウェブページブラウザが正常なコンテンツにアクセスすることを保証するために使用される。
【００１６】
図１は、セッションディザスタ・リカバリのためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス１００は、図３のデバイス３００が図２Ａのセッションアクセスアプリケーション２１０を実行することによって実施され、以下を含む。
【００１７】
１１０では、セッションアクセスアプリケーションは、セッション設定情報をセッション設定ファイルに予めロードし、ディザスタリカバリ介入ルールを含むディザスタリカバリ介入ルールベースを予め確立し、ストレージ媒体切り替え順序を予め確立する。
【００１８】
任意の適切なファイルフォーマットのセッション設定ファイルが使用可能である。例えば、セッション設定ファイルのファイルフォーマットは、.txt（テキスト）フォーマット、ＸＭＬ（拡張マークアップ言語）フォーマットファイル等である。
【００１９】
一部の実施形態では、セッション設定情報は、セッションストレージ媒体タイプ（例えば、クッキーストレージ、メモリストレージ、キャッシュストレージ、永続ストレージ、またはこれらの任意の組み合わせ）、ストレージアドレス、暗号化／復号化形式、およびその他の同様な設定情報を含む。一部の実施形態では、セッションデータは、タイプに基づいて、異なるセッションストレージ媒体に格納される。例えば、より高いセキュリティ要件を有するセッションデータは、（例えばリレーショナルデータベースなどの）永続ストレージに格納され、より高速の読み出し／書き込み要件を有するセッションデータは、クッキーストレージに格納される。したがって、セッション設定ファイルでは、各タイプのセッションデータが、それぞれのセッション設定情報に対応することができる。例えば、セッション設定ファイルでは、セッション設定情報は、セッションデータを識別するために使用されるセッションＩＤ（セッションの識別や一意のセッション識別子）、またはセッションＩＤによって決定されるハッシュ値（例えば、セッションＩＤに対応するハッシュ値が、既定のハッシングアルゴリズムを使用して計算される）に対応している。
【００２０】
一態様として、セッション設定情報は、セッションデータにアクセスするためのアクセス戦略を決定するために使用することができる。例えば、アクセス戦略は、ストレージ媒体タイプ、ストレージアドレス、暗号化／復号化形式等などの、セッション設定情報のコンテンツによって決定される。例えば、セッション設定情報によって決定されるアクセス戦略は、セッションストレージ媒体タイプによって決定される、セッションストレージ媒体へのアクセスチャンネルの形態、ストレージアドレスによって決定されるアクセスアドレス、暗号化／復号化形式によって決定される、セッションデータのための暗号化または復号化アルゴリズム等を含む。アクセスチャンネルの例には、ハイパーテキスト転送プロトコル（ＨＴＴＰ）またはファイル転送プロトコル（ＦＴＰ）などの様々なタイプのネットワークプロトコルがある。各種の暗号化または復号化アルゴリズムは、当業者に理解されており、簡潔を期するために、これ以上説明されない。
【００２１】
様々なセッションストレージ媒体が、以下で説明される。
【００２２】
クッキーストレージ：クッキーは、閲覧時における、サーバとクライアントとの間の交換手段の一種である。クッキーは、通常は、サーバによって生成されてクライアントに送信される。概して、クッキーの主なコンテンツは、ユーザ識別である。クライアントは、クッキーをクライアントのファイルシステムにローカルに格納し、サーバに要求を出すときにそのクッキーを添付する。クッキーに基づいて、サーバは、要求の背後にいるユーザを識別することができ、これは、サーバによる照会の実施を助ける。セッションデータを格納するための、クッキーの利用は、クッキーストレージに相当する。クッキーストレージの利点は、１つには、高度に利用可能であり、クラスタによって供給可能であることである。しかしながら、クッキーは、クライアントに格納されるので、偽造されるリスクがある。通常は、重要なデータは、暗号化形式で格納される。また、セッションデータを格納するための、クッキーの使用は、一定の量の帯域幅も用いる。
【００２３】
メモリストレージ：セッションデータは、ネットワークアプリケーションをサポートするメモリ（例えば、プロセスの実行をサポートするために使用されるランダムアクセスメモリ（ＲＡＭ））などの、メモリに格納することができる。メモリストレージの利点は、１つには、高速アクセスである。しかしながら、クラスタとして配備されるウェブサイトでは、１つのマシンのメモリをクラスタによって共同で使用することができない。その結果、セッションデータをクラスタ内で容易に共有することができない。また、１つのマシンのメモリ容量は限られており、したがって、セッションデータを格納するために使用可能なメモリに限界がある。
【００２４】
キャッシュストレージ：ネットワークは、セッションデータを格納するために、例えばＭｅｍｃａｃｈｅ（分散メモリオブジェクトキャッシュシステム）などの個別のキャッシュを提供する。キャッシュメモリの利点は、１つには、キャッシュメモリの容量が容易に拡張可能であること、およびキャッシュメモリがクラスタによって共有可能であることである。しかしながら、キャッシュメモリは、十分に安定していない。例えば、キャッシュメモリに格納されたデータは、システムがクラッシュするや否や失われる。
【００２５】
永続ストレージ：セッションデータは、永久保存が可能なストレージ機器に格納することができる。永続ストレージの一例には、フラッシュドライブやストレージディスク等に格納されたリレーショナルデータベースがある。永続ストレージの利点は、１つには、セキュリティ、およびクラスタ共有のサポートである。しかしながら、永続ストレージは、読み出しおよび書き込みの速度が比較的遅い。
【００２６】
幾つかのタイプのセッションストレージ媒体に関する上記の説明は、それぞれのセッションストレージ媒体が異なる利点および側面を有することを指摘している。これらの幾つかのタイプのセッションストレージ媒体は、その特性に、明確に定義された違いがある。したがって、ストレージ媒体内で発生するかもしれない異常の特性に基づいて、ストレージ媒体切り替え順序およびディザスタリカバリ介入ルールを予め確立することができる。
【００２７】
任意の適切な既定のストレージ媒体切り替え順序が許可される。一例として、既定のストレージ媒体切り替え順序は、先頭から順に、先のストレージ媒体がチェックされて、介在を必要とすると決定された後に、次のストレージ媒体に自動的に切り替えるというものである。例えば、アクセスの速度が主要検討事項の１つである場合は、ストレージ媒体切り替え順序は、クッキーストレージ＞メモリストレージ＞キャッシュストレージ＞永続ストレージである。別の一例では、安定性が主要検討事項の１つであり、したがって、ストレージ媒体切り替え順序は、クッキーストレージ＞永続ストレージ＞キャッシュストレージ＞メモリストレージである。さらに別の例では、ストレージ媒体切り替え順序は、キャッシュストレージ＞クッキーストレージである。
【００２８】
１２０では、ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされた場合に、セッションアクセスアプリケーションは、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体に介入するかどうかを自動的にチェックする。ディザスタには、例えばキャッシュメモリクラッシュなどの、様々なタイプがある。セッションアクセスアプリケーションがディザスタを検出すると、少なくとも１つのチェックトリガ条件が満たされる。一部の実施形態では、チェックは、ディザスタリカバリ介入ルールに基づいて実施される。
【００２９】
任意の適切な既定のディザスタリカバリ介入ルールが使用可能である。例えば、各ディザスタリカバリ介入ルールに対応するチェックトリガ条件が、事前にセットアップされる。チェックトリガ条件が満たされた場合に、チェックプロセスが自動的にトリガされ、セッションストレージ媒体は、チェックトリガ条件に対応するディザスタリカバリ介入ルールに基づいてチェックされることになる。例えば、ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールは、以下の１つ以上を含む。
【００３０】
ａ）セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体を含む機器に対してハートビートチェックを実施する。障害が発生したことがハートビートチェックによって決定された場合は、機器は、既にクラッシュしているだろう。したがって、セッションアクセスアプリケーションは、ハートビート障害を有する機器に含まれるセッションストレージ媒体に対して介入が実施されるべきであると決定する。このディザスタリカバリルールに対応するチェックトリガ条件は、各ハートビート期間の終わりにチェックをトリガすることができる。一部の実施形態では、セッションストレージ媒体を含む機器は、ハートビートメッセージを定期的に送出する。もし、このようなメッセージが一定の時間内に受信されないと、セッションストレージ媒体は、機能しなくなっていると見なされる。
【００３１】
ｂ）セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体を含む機器に対してプロセスオーバーロードチェック、スレッドオーバーロードチェック、またはこれらの組み合わせを実施する。これらのチェックは、オペレーティングシステムベンダによって提供されるアプリケーションプログラミングインターフェース（ＡＰＩ）を使用して、セッションストレージ媒体を含む機器のオペレーティングシステムに対して呼び出しを行うことによって、実施することができる。オーバーロードが決定された場合は、このオーバーロードは、機器のパフォーマンスが急激に低下した、即ちクラッシュしただろうことを示す。したがって、オーバーロードの決定は、オーバーロードした機器に対応するセッションストレージ媒体のために介入が実施されるべきであることを示す。このディザスタリカバリ介入ルールに対応するチェックトリガ条件は、セッションストレージ媒体を含む機器にプロセス、スレッド、またはこれらの組み合わせがアクセスするたびにチェックをトリガすることができる。
【００３２】
ｃ）セッションストレージ媒体内のセッションデータに関連してアクセスエラーが生じたかどうかのチェックを実施する。ここでは、セッション設定ファイルに既にロードされたセッション設定情報にしたがって決定がなされる。エラー率は、システムプロセスによって監視されて、ログまたはその他のデータ形式で記録することができる。決定されたエラー率が閾値を超える場合は、決定は、セッションストレージ媒体が位置している機器がエラー、即ち性能の急激な低下に見舞われたことを示すことができる。したがって、閾値を超えるエラー率に見舞われているセッションストレージ媒体への介入を実施するとの決定がなされる。このディザスタリカバリ介入ルールに対応するチェックトリガ条件は、セッションストレージ媒体内のセッションデータへのアクセスがアクセスエラーを伴うたびにチェックをトリガすることができる。
【００３３】
本明細書では、例示を目的としてルールａ）〜ｃ）が論じられているが、その他の実施形態では、その他のディザスタリカバリ介入ルールが実施可能である。
【００３４】
１３０では、介入が実施されるべきであるとチェックによって決定された場合に、セッションアクセスアプリケーションは、ストレージ媒体切り替え順序に基づいて、介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体を決定する。
【００３５】
１４０では、セッションアクセスアプリケーションは、セッション設定ファイル内の、介入を必要とするセッションストレージ媒体に対応する設定情報を、次のセッションストレージ媒体に対応する設定情報に切り替えるために、次のセッションストレージ媒体に対応する設定情報をセッション設定ファイルにロードする。
【００３６】
例えば、次のセッションストレージ媒体に対応する設定情報がセッション設定ファイルにロードされる場合に、セッションアクセスアプリケーションは、次のセッションストレージ媒体に対応する設定情報をセッション設定ファイルにロードし、介入を必要とするセッションストレージ媒体に対応する設定情報に置き換わらせる。介入を必要とするセッションストレージ媒体に対応する設定情報は、介入を必要とするセッションストレージ媒体に対応する設定情報に対応するセッションＩＤ（またはセッションＩＤによって決定されたハッシュ値）を含む。例えば、介入を必要とするセッションストレージ媒体がクッキーストレージであると想定すると、クッキーストレージに対応する次のセッションストレージ媒体は、メモリストレージである。クッキーストレージに対応する設定情報が、ＸＭＬフォーマットのセッション設定ファイル内で<configuration information hash value = “4”><storage type>cookie storage</storage type><storage address>client C:\Documents and Settings\Administrator Settings\Administrator\Local Settings\Temporary Internet Files</storage address><form of encryption>DES encryption</form of encryption></configuration information>として表されると想定する。メモリストレージに対応する設定情報内のストレージタイプがメモリストレージであると想定すると、ストレージアドレスは、ネットワーク指定マシン００１のメモリであり、暗号化形式は、非暗号化である。したがって、セッション設定ファイル内の、クッキーストレージに対応する設定情報が、メモリストレージに対応する設定情報に切り替えられたまたは変換された後、上記の設定ファイル内の設定情報は、ファイル内の次の一連の設定選択肢に切り替えられるまたは変換されることになる、即ち、設定ファイルを情報<configuration information hash value =“4”><storage type>memory storage</storage type><storage address>network designated machine 001</storage address><form of encryption>none</form of encryption></configuration information>で変更する。
【００３７】
一部の実施形態では、次のセッションストレージ媒体に対応する設定情報は、ロード中にリアルタイムで生成されることになる、または事前に生成され、次のセッションストレージ媒体に対応する設定情報がロードされるときに直接使用されるように格納される。
【００３８】
一部の実施形態では、プロセス１００は、次のとおりである。即ち、異なるセッションストレージ媒体の間で切り替え順序が事前に確立されているゆえに、およびチェックトリガ条件が満たされた場合に、セッション設定情報によって決定されたセッションストレージ媒体がディザスタリカバリ介入ルールに基づいて自動的にチェックされるゆえに、異常のためにセッションストレージ媒体を監視する目的の１つが達成される。したがって、設定情報によって決定されたセッションストレージ媒体で異常が発生した場合は、異なるセッションストレージ媒体間における既定の切り替え順序に基づいて、介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体が決定される。次のセッションストレージ媒体に対応する設定情報は、設定ファイル内の、介入を必要とするセッションストレージ媒体に対応する設定情報を、次のセッションストレージ媒体に対応する設定情報に切り替えさせるために、設定ファイルにロードされる。これは、設定ファイル内の設定情報に対応するセッションストレージ媒体で異常が発生した場合に、異常がない次のセッションストレージ媒体に対応する設定情報に自動的に切り替えることと、同等である。したがって、セッション設定情報によって決定されたセッションストレージ媒体のセッションデータへの継続的で且つ安定したアクセスが保証される。
【００３９】
一部の実施形態では、例えば、一定の期間の経過後に特定のストレージ媒体で異常が発生する可能性があると管理者が予見する場合に、またはストレージ媒体が調整されるべきであるというその他の理由があるとの決定がなされた場合に、手動による直接的な介入を実施することができる。したがって、一部の実施形態では、ユーザによって入力された介入要求を受信すること、介入要求に対応する設定情報を生成すること、および介入要求に対応する設定情報をセッション設定ファイルにロードすることが可能である。介入要求に対応する設定情報をセッション設定ファイルにロードすることは、介入要求に対応する設定情報をセッション設定ファイルに直接追加すること、または介入要求に対応する設定情報をセッション設定ファイルにロードして、セッション設定ファイル内の特定の指定のセッション設定情報に置き換わらせることを含むことができる。
【００４０】
図２Ａは、セッションディザスタ・リカバリのためのシステムの一実施形態を示した図である。一部の実施形態では、システム２００は、クライアントアプリケーション２２０と、クライアントアプリケーション２２０から独立したセッションアクセスアプリケーション２１０と、セッションストレージ媒体２３０とを含む。一部の実施形態では、セッションアクセスアプリケーション２１０は、クライアントアプリケーション２２０とは別個のアプリケーションである。クライアントアプリケーションは、セッションアクセス要求を発行する。一部の実施形態では、クライアントアプリケーションは、特定の電子商取引プラットフォームに関連して製品の購入、チャット、およびコメントの提供を行うためのアプリケーションであり、セッションアクセスアプリケーションは、クライアントアプリケーションとやり取りする別個のアプリケーションである。一部の実施形態では、セッションアクセスアプリケーション２１０およびクライアントアプリケーション２２０は、異なるデバイス上に位置する。一部の実施形態では、セッションアクセスアプリケーション２１０、クライアントアプリケーション２２０、およびセッションストレージ媒体２３０は、同じデバイス上に位置する。
【００４１】
図２Ｂは、セッションディザスタ・リカバリのためのプロセスの別の一実施形態を示したフローチャートである。一部の実施形態では、プロセス２０００は、図２Ａのセッションアクセスアプリケーション２１０によって実施され、以下を含む。
【００４２】
２０１０では、セッションアクセスアプリケーションは、１つ以上のクライアントアプリケーション２２０からセッションアクセス要求を受信する。
【００４３】
それに応じて、２０２０では、セッションアクセスアプリケーションは、セッション設定ファイル内で、セッションアクセス要求に対応するセッション設定情報を探索する。
【００４４】
２０３０では、セッションアクセスアプリケーションは、セッション設定情報によって決定されたセッションストレージ媒体２３０についてのセッションデータにアクセスする。一部の実施形態では、セッションアクセスアプリケーション２１０は、例えば、１つ以上のクライアントアプリケーションからセッションアクセス要求を受信し、セッション設定ファイル内で、セッションアクセス要求に対応するセッション設定情報を探索する。例えば、別のクライアントアプリケーション２２０からセッションアクセス要求を受信すると、セッションアクセスアプリケーション２１０は、アクセス要求からセッションＩＤ（セッション識別や一意のセッション識別子）を抽出し、セッションＩＤに対応するハッシュ値を、既定のハッシングアルゴリズムに基づいて計算し、セッション設定ファイル内で、計算されたハッシュ値に対応する設定情報を探索する。
【００４５】
セッションアクセス要求に対応するセッション設定情報によって決定されたアクセス戦略に基づいて、セッションアクセスアプリケーション２１０は、セッションアクセス要求に対応するセッション設定情報によって決定されたセッションストレージ媒体についてのセッションデータにアクセスする。
【００４６】
一部の実施形態では、クライアントアプリケーションからのセッションアクセス要求は、クライアントアプリケーションに対応するセッションデータの、読み出しアクセス、書き込みアクセス、またはこれらの組み合わせを含む。アクセス要求に基づいて、関連のセッションデータがクライアントアプリケーションにフィードバックされるべきであるとの決定がなされた場合は、クライアントアプリケーションは、読み出しアクセス、書き込みアクセス、またはこれらの組み合わせのための関連のセッションデータをクライアントアプリケーションにフィードバックすることを含むことができる。
【００４７】
一部の実施形態では、その他のクライアントは、セッションアクセス要求が発行された後のいかなる関連のプロセスにも関心がない。セッションストレージ媒体で異常が発生するまたは発生しようとしているときに、上記のシステムは、介入を必要とするセッションストレージ媒体を自動的に検出し、セッション設定ファイル内の、介入を必要とするセッションストレージ媒体に対応する設定情報を、次の正常なセッションストレージ媒体に対応する設定情報に自動的に切り替えることができる。セッション設定ファイル内のセッション設定情報は、セッションデータへの継続的で且つ安定したアクセスのためのアクセス戦略を決定するためのよりどころとされる。したがって、その他のクライアントアプリケーションは、セッションデータアクセスプロセスについて、およびセッションストレージ媒体異常の結果としてもたらされる切り替えについて、全く気付かない。このシステムは、その他のクライアントアプリケーションの効率を高めることができる。
【００４８】
また、異常を有するセッションストレージ媒体からシステムが切り替えた後に、関係しているセッションデータが冗長ストレージ媒体内で見つけられることを保証するために、およびそうすることによって、重要なセッションデータが失われないことを保証するために、より高いセキュリティ要件で、冗長ストレージ媒体と、該冗長ストレージ媒体内への同期転送セッションデータが、セットアップされることができる。冗長ストレージ媒体タイプ、ストレージアドレス、および暗号化／復号化形式などの情報は、セッション設定ファイルなどに格納することができる。セッションアクセスアプリケーションからセッションデータ書き込みアクセスが受信された場合は、同期して冗長ストレージ媒体にセッションデータ書き込みアクセスが提供される。
【００４９】
図３は、セッションディザスタ・リカバリのためのデバイスの一実施形態を示した構造図である。デバイス３００は、プロセス１００を実施するように構成され、事前セットアップユニット３１０と、介入ユニット３２０と、媒体決定ユニット３３０と、ロードユニット３４０とを含む。一部の実施形態では、デバイス３００は、さらに、セッションストレージ媒体（不図示）を含む。
【００５０】
一部の実施形態では、事前セットアップユニット３１０は、セッション設定情報をセッション設定ファイルに予めロードし、ディザスタリカバリ介入ルールを含むディザスタリカバリ介入ルールベースを予め確立し、ストレージ媒体切り替え順序を予め確立する。
【００５１】
一部の実施形態では、介入ユニット３２０は、ディザスタリカバリ介入ルールベース内のディザスタリカバリ介入ルールのためのチェックトリガ条件が満たされたときに、ディザスタリカバリ介入ルールに基づいて、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体のために介入が実施されるべきかどうかを自動的にチェックする。
【００５２】
一部の実施形態では、媒体決定ユニット３３０は、介入が実施されるべきであるとチェックによって決定された場合に、ストレージ媒体切り替え順序に基づいて、介入されるべきセッションストレージ媒体に対応する次のセッションストレージ媒体を決定する。
【００５３】
一部の実施形態では、ロードユニット３４０は、セッション設定ファイル内の、介入を必要とするセッションストレージ媒体に対応する設定情報を、次のセッションストレージ媒体に対応する設定情報に切り替えるために、次のセッションストレージ媒体に対応する設定情報をセッション設定ファイルにロードする。
【００５４】
一部の実施形態では、デバイス３００は、次のように適用される。即ち、異なるセッションストレージ媒体の間で、セットアップユニット３１０によって切り替え順序が事前に確立されているゆえに、およびチェックトリガ条件が満たされた場合に、セッション設定情報によって決定されたセッションストレージ媒体がディザスタリカバリ介入ルールに基づいて介入ユニット３２０によって自動的にチェックされるゆえに、セッションストレージ媒体が、異常のために監視される。したがって、設定情報によって決定されたセッションストレージ媒体で異常が発生した場合は、異なるセッションストレージ媒体間における既定の切り替え順序に基づいて、媒体決定ユニット３３０によって、介入を必要とするセッションストレージ媒体に対応する次のセッションストレージ媒体が決定される。次のセッションストレージ媒体に対応する設定情報は、設定ファイル内の、介入を必要とするセッションストレージ媒体に対応する設定情報を、次のセッションストレージ媒体に対応する設定情報に切り替えさせるために、ロードユニット３４０によって設定ファイルにロードされる。このデバイスは、設定ファイル内の設定情報に対応するセッションストレージ媒体で異常が発生したときに、異常がない次のセッションストレージ媒体に対応する設定情報への切り替えを自動的に実施する。したがって、デバイスは、セッション設定情報によって決定されたセッションストレージ媒体のセッションデータへの継続的で且つ安定したアクセスを保証する。
【００５５】
事前セットアップユニット３１０によって予め確立されるストレージ媒体切り替え順序に関して制約はない。例えば、事前セットアップユニット３１０は、ストレージ媒体切り替え順序を、クッキーストレージ、メモリストレージ、キャッシュストレージ、永続ストレージ、またはクッキーストレージ、永続ストレージ、キャッシュストレージ、メモリストレージに予めセットする。
【００５６】
事前セットアップユニット３１０によって予め確立されるディザスタリカバリ介入ルールに関して制約はない。例えば、事前セットアップユニット３１０は、ディザスタリカバリ介入ルールベース内にディザスタリカバリ介入ルールを予めセットアップする。ルールは、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体を含む機器に対してハートビートチェックを実施し、ハートビート障害が生じたと決定された場合に、ハートビート障害を有する機器に対応するセッションストレージ媒体のために介入を実施するかどうかを決定すること、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体を含む機器に対してプロセスオーバーロードチェック、スレッドオーバーロードチェック、またはこれらの組み合わせを実施し、オーバーロードが決定された場合に、オーバーロードを有する機器に対応するセッションストレージ媒体に介入が実施されるべきであると決定すること、セッション設定ファイルに既にロードされたセッション設定情報によって決定されたセッションストレージ媒体内のセッションデータに関連してアクセスエラーが生じたかどうかのチェックを実施し、決定されたエラー率が閾値を超える場合に、閾値を超えるエラー率を有するセッションストレージ媒体が介入を必要とすると決定すること、のうちの、少なくとも１つを含む。
【００５７】
図４は、セッションディザスタ・リカバリのためのデバイスの一実施形態を示した構造図である。一部の実施形態では、デバイス４００は、図２Ｂのプロセス２０００を実行するように構成され、事前セットアップユニット４１０と、介入ユニット４２０と、媒体決定ユニット４３０と、ロードユニット４４０とを含む。一部の実施形態では、デバイス４００は、さらに、セッションストレージ媒体（不図示）を含む。
【００５８】
事前セットアップユニット４１０、介入ユニット４２０、媒体決定ユニット４３０、およびロードユニット４４０は、それぞれ、図３の事前セットアップユニット３１０、介入ユニット３２０、媒体決定ユニット３３０、およびロードユニット３４０に相当し、簡潔を期するために、これ以上は説明されない。
【００５９】
一部の実施形態では、デバイス４００は、さらに、手動要求受信ユニット４５０と、手動設定生成ユニット４６０とを含む。
【００６０】
一部の実施形態では、手動要求受信ユニット４５０は、ユーザによって入力された介入要求を受信する。
【００６１】
一部の実施形態では、手動設定生成ユニット４６０は、介入要求に対応する設定情報を生成する。
【００６２】
一部の実施形態では、ロードユニット４４０は、さらに、介入要求に対応する設定情報をセッション設定ファイルにロードする。
【００６３】
この実装形態では、手動介入は、一定の期間の経過後に特定のストレージ媒体で異常が発生する可能性があると管理者が予見する場合に、またはストレージ媒体が調整されるべきであるという決定がその他の理由でなされた場合に、実施することができる。
【００６４】
別の一実装形態では、デバイス４００は、さらに、アクセス受信ユニット４７０と、探索ユニット４８０と、アクセス実行ユニット４９０とを含む。
【００６５】
一部の実施形態では、アクセス受信ユニット４７０は、１つ以上のクライアントアプリケーションからセッションアクセス要求を受信する。
【００６６】
一部の実施形態では、探索ユニット４８０は、ロードユニット４４０からセッション設定ファイルを得て、セッション設定ファイル内で、セッションアクセス要求に対応するセッション設定情報を探索する。
【００６７】
一部の実施形態では、アクセス実行ユニット４９０は、セッションアクセス要求に対応するセッション設定情報によって決定されたアクセス戦略に基づいて、セッションアクセス要求に対応するセッション設定情報によって決定されたセッションストレージ媒体についてのセッションデータにアクセスする。
【００６８】
この実装形態が適用されるときは、その他のクライアントアプリケーションは、セッションアクセス要求の発行に続くいかなる関連のプロセスにも関心がない。例えば、その他のクライアントアプリケーションは、セッションデータアクセスプロセスについて、およびセッションストレージ媒体異常の結果としてもたらされる切り替えについて、全く気付かない。この実装形態は、その他のクライアントアプリケーションの効率を高めることができる。
【００６９】
上述されたユニットは、１つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、または特定の機能を実施するように設計されたプログラマブルロジックデバイスおよび／もしくは特殊用途向け集積回路などのハードウェアとして、またはこれらの組み合わせとして実装することができる。一部の実施形態では、これらのユニットは、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器等などの）コンピュータデバイスに実行させるための幾つかの命令を含み尚且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスク等などの）不揮発性のストレージ媒体に格納することができるソフトウェア製品の形態で具現化することができる。これらのユニットは、１つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。これらのユニットの機能は、互いに合体されてよい、または複数のサブユニットにさらに分割されてよい。
【００７０】
図５は、セッションディザスタ・リカバリのためのプログラムドコンピュータシステムの一実施形態を示した機能図である。セッションディザスタ・リカバリの実施には、その他のコンピュータシステムアーキテクチャおよび構成も使用可能であることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム５００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央演算処理装置（ＣＰＵ）とも呼ばれる）５０２を含む。例えば、プロセッサ５０２は、シングルチッププロセッサによってまたは複数のプロセッサによって実現することができる。一部の実施形態では、プロセッサ５０２は、コンピュータシステム５００の動作を制御する汎用デジタルプロセッサである。メモリ５１０から取り出された命令を使用して、プロセッサ５０２は、入力データの受信および操作、ならびに出力デバイス（例えば、ディスプレイ５１８）へのデータの出力および表示を制御する。
【００７１】
プロセッサ５０２は、メモリ５１０に双方向に接続され、メモリ５１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとしておよびスクラッチパッドメモリとして使用することができ、入力データおよび処理済みデータを格納するために使用することもできる。一次ストレージは、プログラミング命令およびデータを、プロセッサ５０２上で起きるプロセスのためのその他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で格納することもできる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ５０２がその機能（例えば、プログラムド命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、およびオブジェクトを含む。例えば、メモリ５１０は、例えば、データアクセスが双方向または単方向のいずれである必要があるかに応じ、後述の任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ５０２は、頻繁に必要とされるデータを、直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。
【００７２】
着脱式大容量ストレージデバイス５１２は、コンピュータシステム５００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）にまたは単方向（読み出しのみ）のいずれかでプロセッサ５０２に接続される。例えば、ストレージ５１２は、磁気テープ、フラッシュメモリ、ＰＣカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、およびその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ５２０が、追加のデータストレージ容量を提供することもできる。大容量ストレージ５２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージデバイス５１２および５２０は、一般に、プロセッサ５０２によって通常は能動的に使用されていない追加のプログラミング命令やデータといったものを格納する。大容量ストレージデバイス５１２および５２０に保持される情報は、もし必要であれば、仮想メモリとしてメモリ５１０（例えば、ＲＡＭ）の一部に標準的に組み込み可能であることがわかる。
【００７３】
バス５１４は、ストレージサブシステムへのアクセスをプロセッサ５０２に提供することに加えて、その他のサブシステムおよびデバイスへのアクセスを提供するためにも使用することができる。図に示されるように、これらとしては、ディスプレイ５１８、ネットワークインターフェース５１６、キーボード５０４、およびポインティングデバイス５０６はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、およびその他のサブシステムが挙げられる。例えば、ポインティングデバイス５０６は、マウス、スタイラス、トラックボール、またはタブレットであってよく、グラフィカルユーザインターフェースとのやり取りに有用である。
【００７４】
ネットワークインターフェース５１６は、図に示されるようなネットワーク接続を使用してプロセッサ５０２が別のコンピュータ、コンピュータネットワーク、または電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース５１６を通じて、プロセッサ５０２は、方法／プロセスのステップを実施する過程において、別のネットワークから情報（例えば、データオブジェクトもしくはプログラム命令）を受信するまたは別のネットワークに情報を出力することができる。情報は、多くの場合、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信するまたは別のネットワークに出力することができる。コンピュータシステム５００を外部ネットワークに接続するためにおよびデータを標準プロトコルにしたがって転送するために、インターフェースカードまたは類似のデバイス、およびプロセッサ５０２によって実現される（例えば、プロセッサ５０２上で実行される／実施される）適切なソフトウェアを使用することができる。例えば、本明細書で開示される様々なプロセスの実施形態は、プロセッサ５０２上で実行することができる、または処理の一部を共有するリモートプロセッサと協働でインターネット、イントラネットネットワーク、もしくはローカルエリアネットワークなどのネットワークで実施することができる。プロセッサ５０２には、ネットワークインターフェース５１６を通じて追加の大容量ストレージデバイス（不図示）も接続することができる。
【００７５】
コンピュータシステム５００と協働して、補助入出力デバイスインターフェース（不図示）を使用することができる。補助入出力デバイスインターフェースは、プロセッサ５０２がマイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き文字認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、およびその他のコンピュータなどの他のデバイスにデータを送信することを、およびさらに一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用ならびに専用のインターフェースを含むことができる。
【００７６】
図５に示されたコンピュータシステムは、本明細書で開示される様々な実施形態で使用するのに適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、さらに多くのまたは少ないサブシステムを含むことができる。また、バス５１４は、サブシステムをつなぐ働きをする任意の相互接続方式を例示したものである。異なる構成のサブシステムを有するその他のコンピュータアーキテクチャを用いることもできる。本明細書で開示される実施形態に照らして説明された方法またはアルゴリズム的ステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または両者の組み合わせを使用して実現することができる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）メモリ、読み出し専用メモリ（ＲＯＭ），電気的にプログラム可能なＲＯＭ，電気的に消去可能なＲＯＭ、レジスタ、ハードドライブ、着脱式ディスク、ＣＤ−ＲＯＭ，または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストールすることができる。
【００７７】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、数々の代替的手法がある。開示された実施形態は、例示的なものであり、限定的なものではない。
【図１】
2017509071.tif 000003
【図２Ａ】
2017509071.tif 000004
【図２Ｂ】
2017509071.tif 000005
【図３】
2017509071.tif 000006
【図４】
2017509071.tif 000007
【図５】
2017509071.tif 000008
【国際調査報告】
2017509071.tif 000009
2017509071.tif 000010