(57)【特許請求の範囲】
【請求項１】
第１の装置（２１０）から第２の装置（２２０）への入力のハンドオーバーのための方法であって、
第１の装置（２１０）と第２の装置（２２０）の間の接続を確立することと、
前記第１の装置（２１０）から第１の画像を取得することと、
前記第２の装置（２２０）から第２の画像を取得することと、
前記第１の画像と前記第２の画像に基づいて、前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断することと、
ユーザーが前記第１の装置（２１０）でアプリケーションを利用してドキュメントの一部を起稿中に、前記第１の装置（２１０）のディスプレイの第１のエッジまたは第２のエッジから所定の距離以下である所定のエリアにおけるマウスポインタの動きまたは存在を参照した場合に、前記第２の装置（２２０）で前記アプリケーションを利用して前記ドキュメントの一部以外の残りの部分を起稿するように切り替えるために前記第１の装置（２１０）から前記第２の装置（２２０）への入力指示のハンドオーバーを実行する、方法。
【請求項２】
前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断することは、前記第２の装置（２２０）が、前記第１の装置（２１０）の第１のエッジ付近に位置するか、前記第１の装置（２１０）の第２のエッジ付近に位置するかを判断することを含む、請求項１に記載の方法。
【請求項３】
前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断することは、前記第１の画像に関連付けられたポイントと、前記第２の画像に関連付けられたポイントとをマッピングまたはマッチングすることをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記第１の画像および前記第２の画像は実質的に同時に取得される、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断することは、第１の画像に関連付けられたポイントの動きを、前記第２の画像に関連付けられたポイントの動きにマッピングすることを含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第１の装置（２１０）から前記第２の装置（２２０）への入力指示のハンドオーバーを実行することは、前記第１の装置（２１０）からの入力指示の受信を開始するように前記第２の装置（２２０）に通知を送信することを含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ハンドオーバーはネットワークプロトコルを用いる、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記第１の装置（２１０）はマウスまたはキーボードを介して入力を受け付ける装置を含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記第２の装置（２２０）は、タッチ入力を受け付ける装置を含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記入力指示は前記第１の装置（２１０）で入力され、前記方法は、前記第１の装置（２１０）から前記第２の装置（２２０）へ前記入力指示を伝達することを含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記第２の装置（２２０）は、前記第２の装置（２２０）で入力された入力によって制御され得る、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記第１の装置（２１０）または前記第２の装置（２２０）の少なくともいずれかで提供された入力を用いて、前記第１の装置（２１０）から前記第２の装置（２２０）へデータを伝達することをさらに含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
第１の装置（２１０）から第２の装置（２２０）への入力のハンドオーバーのためのシステムであって、
メモリと、
プロセッサと、
プロセッサによって実行可能な、メモリに記憶されたモジュールであって、
前記第１の装置（２１０）と前記第２の装置（２２０）の間の接続を確立し、
前記第１の装置（２１０）から第１の画像を受信し、
前記第２の装置（２２０）から第２の画像を受信し、
前記第１の画像と前記第２の画像との比較に基づいて、前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断し、
ユーザーが前記第１の装置（２１０）でアプリケーションを利用してドキュメントの一部を起稿中に、前記第１の装置（２１０）のディスプレイの第１のエッジまたは第２のエッジから所定の距離以下である所定のエリアにおけるマウスポインタの動きまたは存在を参照した場合に、前記第２の装置（２２０）で前記アプリケーションを利用して前記ドキュメントの一部以外の残りの部分を起稿するように切り替えるために前記第１の装置（２１０）から前記第２の装置（２２０）への入力指示のハンドオーバーを実行する、ように構成されたモジュールと、
を備える、システム。
【請求項１４】
前記システムはクラウドサーバ（２３０）を含む、請求項１３に記載のシステム。
【請求項１５】
前記システムの前記メモリに記憶された前記モジュールは、請求項１〜１２のいずれか一項に記載の方法を実行するように構成される、請求項１３または１４に記載のシステム。
【請求項１６】
第１の装置（２１０）から第２の装置（２２０）への入力のハンドオーバーのためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、コードを有する非一時的なコンピュータ読み取り可能な媒体を有し、前記コードは、プロセッサにより実行された場合に、
前記第１の装置（２１０）と前記第２の装置（２２０）の間の接続を確立し、
前記第１の装置（２１０）から第１の画像を受信し、
前記第２の装置（２２０）から第２の画像を受信し、
前記第１の画像と前記第２の画像との比較に基づいて、前記第１の装置（２１０）に対する前記第２の装置（２２０）の位置を判断し、
ユーザーが前記第１の装置（２１０）でアプリケーションを利用してドキュメントの一部を起稿中に、前記第１の装置（２１０）のディスプレイの第１のエッジまたは第２のエッジから所定の距離以下である所定のエリアにおけるマウスポインタの動きまたは存在を参照した場合に、前記第２の装置（２２０）で前記アプリケーションを利用して前記ドキュメントの一部以外の残りの部分を起稿するように切り替えるために前記第１の装置（２１０）から前記第２の装置（２２０）への入力指示のハンドオーバーを実行する、ように構成される、コンピュータプログラム。
【請求項１７】
前記非一時的なコンピュータ読み取り可能な媒体の前記コードは、請求項１〜１２のいずれか一項に記載の方法を実行するように構成される、請求項１６に記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザーは、同一のアプリケーション（例えば、ワードプロセッシングアプリケーション）での作業中に、第１の装置（例えば、パーソナルコンピュータ）を第２の装置（例えば、携帯電話）と併せて使用し得る。例えば、ユーザーは第１の装置でドキュメントの一部を起稿し、第２の装置でドキュメントの残りの部分を起稿するように切り替え得る。第１の装置から第２の装置への切り替えの間、ユーザーは、同一のアプリケーションでの作業を継続するために、第２の装置で幾つかの手動調整を行う必要があるかもしれない。第１の装置から第２の装置へのシームレスな切り替えに対するニーズがある。
【発明の概要】
【０００２】
本発明の実施形態は、第１の装置から第２の装置への入力のハンドオーバーのためのシステム、方法およびコンピュータプログラムプロダクトを対象とする。例示的な方法は、第１の装置と第２の装置の間の接続を確立することと、前記第１の装置から第１の画像を取得することと、前記第２の装置から第２の画像を取得することと、前記第１の画像と前記第２の画像との比較に基づいて、前記第１の装置に対する前記第２の装置の位置を判断することと、前記第１の装置でのトリガイベントの発生を判断し、前記第１の装置から前記第２の装置への入力指示のハンドオーバーを実行することと、を含む。
【０００３】
ある実施形態では、前記第１の装置に対する前記第２の装置の位置を判断することは、前記第２の装置が、前記第１の装置の第１のエッジ付近に位置するか、前記第１の装置の第２のエッジ付近に位置するかを判断することを含む。
【０００４】
ある実施形態では、前記トリガイベントは、前記第１の装置の第１のエッジまたは第２のエッジとのインタラクションを含む。
【０００５】
ある実施形態では、前記方法は、前記第１の画像に関連付けられたポイントと、前記第２の画像に関連付けられたポイントとをマッピングまたはマッチングすることをさらに含む。
【０００６】
ある実施形態では、前記第１の画像および前記第２の画像は実質的に同時に取得される。
【０００７】
ある実施形態では、前記第１の装置に対する前記第２の装置の位置を判断することは、第１の画像に関連付けられたポイントの動きを、前記第２の画像に関連付けられたポイントの動きにマッピングすることを含む。
【０００８】
ある実施形態では、前記第１の装置から前記第２の装置への入力指示のハンドオーバーを実行することは、前記第１の装置からの入力指示の受信を開始するように前記第２の装置に通知を送信することを含む。
【０００９】
ある実施形態では、前記ハンドオーバーはネットワークプロトコルを用いる。
【００１０】
ある実施形態では、前記第１の装置はマウスまたはキーボードを介して入力を受け付ける装置を含む。
【００１１】
ある実施形態では、前記第２の装置は、タッチ入力を受け付ける装置を含む。
【００１２】
ある実施形態では、前記入力指示は前記第１の装置で入力され、前記方法は、前記第１の装置から前記第２の装置へ前記入力指示を伝達することを含む。
【００１３】
ある実施形態では、前記第２の装置は、前記第２の装置で入力された入力によって制御され得る。
【００１４】
ある実施形態では、前記第１の装置または前記第２の装置の少なくともいずれかで提供された入力を用いて、前記第１の装置から前記第２の装置へデータを伝達することをさらに含む。
【００１５】
ある実施形態では、第１の装置から第２の装置への入力のハンドオーバーのためのシステムが提供される。システムは、メモリと、プロセッサと、プロセッサによって実行可能な、メモリに記憶されたモジュールであって、前記第１の装置と前記第２の装置の間の接続を確立し、前記第１の装置から第１の画像を受信し、前記第２の装置から第２の画像を受信し、前記第１の画像と前記第２の画像との比較に基づいて、前記第１の装置に対する前記第２の装置の位置を判断し、前記第１の装置でのトリガイベントの発生を判断し、前記第１の装置から前記第２の装置への入力指示のハンドオーバーを実行する、ように構成されたモジュールと、を備える。
【００１６】
ある実施形態では、前記システムはクラウドサーバ（２３０）を含む。
【００１７】
ある実施形態では、第１の装置から第２の装置への入力のハンドオーバーのためのコンピュータプログラムプロダクトが提供される。コンピュータプログラムプロダクトは、コードを有する非一時的なコンピュータ読み取り可能な媒体を有し、前記コードは、プロセッサにより実行された場合に、前記第１の装置と前記第２の装置の間の接続を確立し、前記第１の装置から第１の画像を受信し、前記第２の装置から第２の画像を受信し、前記第１の画像と前記第２の画像との比較に基づいて、前記第１の装置に対する前記第２の装置の位置を判断し、前記第１の装置でのトリガイベントの発生を判断し、前記第１の装置から前記第２の装置への入力指示のハンドオーバーを実行する、ように構成される。
【図面の簡単な説明】
【００１８】
本発明の実施形態は一般的な言葉で説明され、添付の図面への参照が行われる。
【図１】図１は、本発明の実施形態により、第１の装置から第２の装置へのハンドオーバーを入力するための例示的な処理フローを示す。
【図２】図２は、本発明の実施形態により、第１の装置から第２の装置へのハンドオーバーを入力するための例示的なネットワーク環境を示す。
【発明を実施するための形態】
【００１９】
本発明の実施形態は、以降に添付の図面を参照してより十分に説明される。全てではないが、本発明の幾つかの実施形態が示される。実際には、本発明は多くの異なる態様で実現されてもよく、ここで説明される実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が法的適用要件を満たすために提供される。同一の番号は一貫して同一の要素を参照する。
【００２０】
本発明は、アプリケーションでの作業中にユーザーが第１の装置から第２の装置へシームレスに切り替え可能にすることを対象とする。ある実施形態では、本発明は、第１の装置に関連付けられた入力（例えば、マウスおよび／またはキーボード入力）を、タッチ入力を用いる第２の装置へ伝達するために、ネットワークプロトコル（例えば、インターネットプロトコル）を用いる。例えば、第１の装置のディスプレイの特定のエッジから所定の距離以下であるディスプレイのエリア（トリガエリア）にユーザーがインタラクションした場合、第２の装置は、第１の装置で現在実行されている同一のアプリケーションについての入力イベントの受け入れを開始することの通知を受信する。本明細書において、インタラクションは、トリガエリアにおけるマウスポインタの動きまたは存在を参照する。ユーザーは、トリガエリアにおいてクリックまたはダブルクリックをする必要は無い。上記通知は、第１の装置から第２の装置へ、または、第１の装置および第２の装置の双方とネットワーク通信をしているクラウドサーバーから送信されてもよい。このため、本発明は、第１の装置または第２の装置からの入力を用いて第２の装置のユーザインタフェースでユーザーがインタラクションすることを可能とする。第１の装置および第２の装置からの入力は、第２の装置のユーザインタフェースで情報を同時に制御または操作（manipulate）するために用いられてもよい。サーバーアプリケーションは第１の装置上で動作してもよく、サーバーアプリケーションは、ここに記載される多様な機能を提供または可能とする。クライアントアプリケーションは第２の装置上で動作してもよく、クライアントアプリケーションは、ここに記載される多様な機能の実行を可能とする。
【００２１】
ある実施形態では、第１の装置は、キーボード、および／またはマウス、または他のとのような入力装置をも介してユーザー入力を受信する。このため、ある実施形態では、第１の装置は、少なくとも１つのプロセッシングユニット、ディスプレイ（プロセッシングユニットと別れていてもよいし、プロセッシングユニットに接続されてもよい）、キーボード、およびマウスを有する。ある実施形態では、第２の装置は、第２の装置と関連付けられたディスプレイタッチスクリーンを介してタッチ入力を受信する。このため、第２の装置は、第１の装置と関連付けられたキーボード、および／またはマウスからの入力によって制御され得る。また、第２の装置は、第２の装置のディスプレイタッチスクリーンを介して受信されたタッチ入力によっても制御され得る。
【００２２】
本発明は、また、第１の装置（または、第１の装置のプロセッシングユニットからディスプレイが分かれている場合、第１の装置のディスプレイ）に対する第２の装置の概算位置の判断を可能とする。本明細書において、第１の装置または第２の装置は、第１の装置のディスプレイまたは第２の装置のディスプレイを参照することがある。例えば、本発明は、第２の装置が第１の装置の第１のエッジ（または第１のコーナー）に近いか、または第１の装置の第２のエッジ（第２のコーナー）に近いかの判断を可能とする。第１のエッジおよび第２のエッジは、装置の反対側のエッジであってもよい。別の実施形態では、第１のエッジおよび第２のエッジは装置の隣接エッジであってもよい。ある実施形態では、本発明は、第２の装置と関連付けられたポイント（例えば、エッジに沿う、または表面上）と、第１の装置と関連付けられたポイント（例えば、エッジに沿う、または表面上）の間の距離の判断も可能とし得る。
【００２３】
本発明の実施形態によれば、ユーザーが第１の装置（または、第１の装置のディスプレイ）の第１のエッジにインタラクションした場合、第２の装置は、第１の装置から入力指示を受信し始めることの通知を受信する。しかし、第１の装置の第１のエッジへのインタラクションが発生したときに第２の装置が第１の装置の第２のエッジの近くに位置する場合、第２の装置は、第１の装置から入力指示を受信し始めることの通知を受信しない。装置のエッジと関連付けられたインタラクションは、装置のエッジに沿ったカーソルの動きを参照してもよい。このため、第１の装置のエッジは、第２の装置で同一のアプリケーションで作業を継続することのゲートウェイとして利用され得る。
【００２４】
第１の装置および第２の装置の双方は、１または２以上の画像取得装置（例えば、カメラ）を備えてもよい。装置のカメラは、装置から例えば周期的に画像を取得してもよい。画像は、装置で処理されてもよいし、画像が処理されるサーバに送信されてもよい。第１の装置および第２の装置からの画像は、実質的に同時にまたは同期して取得されてもよい。第１の装置からの画像上のどの程度のポイントが第２の装置からの画像上のポイントに相関があるか、またはマップするかを判断するために、画像は１または２以上の画像取得方法を用いて処理されてもよい。これらの画像の相関またはマッピングは、第１の装置に対する第２の装置の位置の判断のために用いられる。
【００２５】
ある実施形態では、ユーザーは、第１の装置から第２の装置へファイルを伝達してもよい、または第２の装置から第１の装置に戻してもよい。例えば、ユーザーは、第１の装置のユーザインタフェースからファイルをドラッグし、第２の装置のユーザインタフェース上でそれをドロップしてもよい。または、ユーザーは、第１の装置でファイルのコピー機能を選択してもよい。そして、ユーザーは、ここに記載された方法を用いて第２の装置のユーザインタフェースに移動し、そして第１の装置または第２の装置から入力指示によって第２の装置上でペースト機能を選択してもよい。第１の装置で上記指示が入力された場合、ここに記載される多様な方法を用いて上記指示は第２の装置に伝達される。本明細書では、ファイルはどのようなタイプのデータ（例えば、テキスト、画像、オーディオビジュアルデータ、など）をも参照することがある。
【００２６】
ここで図１を参照すると、図１は、第１の装置から第２の装置への入力ハンドオーバーに関する例示的な処理フローを示す。処理フローは、クラウドサーバーのようなサーバ、第１の装置および／第２の装置のようなここに記載されたどのような他の装置またはシステムにより、単独でまたは組み合わせで実行されてもよい。ステップ１１０で、処理フローは、第１の装置と第２の装置の間の接続を確立することを含む。ステップ１２０で、処理フローは、第１の装置から第１の画像を取得することを含む。ステップ１３０で、処理フローは、第２の装置から第２の画像を取得することを含む。第１の画像および第２の画像は実質的に同時に取得される。
【００２７】
ステップ１４０で、処理フローは、第１の画像と第２の画像の比較に基づいて、第１の装置に対する第２の装置の位置を判断することを含む。第１の装置に対する第２の装置の位置を判断することは、第２の装置が第１の装置の第１のエッジの近くに位置するか、または第１の装置の第２のエッジの近くに位置するかの判断を含む。追加的に、または代替的に、第１の装置に対する第２の装置の位置を判断することは、第１の画像に関連付けられたポイントの動きを、第２の画像に関連付けられたポイントの動きにマッピングすることをさらに含む。第１の画像と第２の画像を比較することは、第１の画像に関連付けられたポイントを第２の画像に関連付けられたポイントにマッピングするまたはマッチングすることをさらに含む。
【００２８】
ステップ１５０で、処理フローは、第１の装置でのトリガイベントの発生を判断することをさらに含む。トリガイベントは、第１の装置の第１のエッジまたは第２のエッジへのインタラクションを含む。ステップ１６０で、処理フローは、第１の装置から第２の装置への入力指示のハンドオーバーを実行することを含む。第１の装置から第２の装置への入力指示のハンドオーバーを実行することは、第１の装置から入力指示を受信し始めることの通知を第２の装置に送信することを含む。
【００２９】
入力ハンドオーバーは、第１の装置で入力された入力指示を第２の装置に伝達することを含む。上記伝達は、第１の装置から第２の装置へ直接行われてもよいし、またはここに記載されたサーバを介して行われてもよい。このような実施形態においては、第１の装置は入力指示をサーバに送信し、サーバは入力指示を第２の装置に送信する。
【００３０】
ある実施形態では、第１の装置は、デスクトップコンピュータ、ラップトップコンピュータ、または、マウスおよび／またはキーボード入力を受け付ける他のどのようなコンピューティング装置をも含み、第２の装置は、携帯電話、タブレットコンピュータ、または、タッチ入力を受け付ける他のどのようなコンピューティング装置をも含む。しかし、別の実施形態では、第１の装置および第２の装置を含むここに説明される装置は、携帯コンピューティング装置、携帯テレビ、ラップトップコンピュータ、スマートスクリーン、タブレットコンピュータまたはタブレット、ポータブルデスクトップコンピュータ、ｅ‐リーダーズ、スキャナー、ポータブルメディア装置、ゲーム装置、カメラまたは他の画像取得装置、ヘッドギヤ、アイウェア、時計、バンド（例えば、リストバンド）または他のウェアラブル装置、サーバ、ルーター、センサ‐、ＩＯＴｓ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）、非コンピュータ装置またはシステム、などを含んでもよい。さらに、ここに記載されるサーバもまた、ここに記載されたどのような装置の態様をとってもよい。
【００３１】
ここで図２を参照すると、図２は、第１の装置から第２の装置への入力ハンドオーバーに関するネットワーク環境の例示的なブロック図である。図示されたように、ネットワーク環境は、ネットワーク２５０、第１の装置２１０、第２の装置２２０およびサーバ２３０（例えば、クラウドサーバ）を含む。ある実施形態では、サーバ２３０は第１の装置２１０に統合され得る。図２に示されるように、第１の装置２１０および第２の装置２２０は、動作可能なようにおよび選択的に、ネットワーク２５０と直接または１または２以上の他のコンピューティング装置を介してネットワーク２５０と間接的に接続される。ネットワークは、１または２以上の別のネットワークを含んでもよい。ネットワーク２５０は、第１の装置２１０または第２の装置２２０が、サーバ２３０に情報を送信すること、および／またはサーバ２３０から情報を受信することを可能とする。
【００３２】
第１の装置２１０、第２の装置２２０またはサーバ２３０は、通信インタフェース、プロセッサ、メモリ、およびプロセッサによって実行可能なメモリに記憶されたモジュールを有し、ここに記載された多様な処理を実行するように構成される。さらに、第１の装置２１０および第２の装置２２０は、ディスプレイを備える。ここに記載された各通信インタフェースは、ネットワーク２５０を介して他のシステムとの通信を可能とする。
【００３３】
ここに記載された各プロセッサは、概して、オーディオ、ビジュアルおよび／または論理機能を実行するための回路を有する。例えば、プロセッサは、デジタル信号プロセッサ装置、マイクロプロセッサ装置および多様なアナログデジタル変換器、デジタルアナログ変換器、および他のサポート回路を含んでもよい。プロセッサが属するシステムの制御および信号処理機能は、それらの各々のケーパビリティに従ってそれらの装置の間で割り当てられてもよい。プロセッサは、例えばメモリに記憶され得る１または２以上のソフトウェアプログラムを、少なくとも部分的にはそれらのコンピュータ実行可能なプログラムコード部分に基づいて実行する機能も含む。
【００３４】
各メモリは、どのようなコンピュータ読み取り可能な媒体を含んでもよい。例えば、メモリは、情報の一時記憶のためのキャッシュ領域を有するＲＡＭ（volatile  random  access  memory）のような揮発性メモリを含んでもよい。メモリは、また、埋め込まれたおよび／または取り外し可能であってもよい、不揮発性メモリを含んでもよい。不揮発性メモリは、追加的にまたは代替的に、EEPROM、フラッシュメモリ、および／または同様なものを含んでもよい。メモリは、１または２以上のどのような情報を、およびシステムによって利用されるデータを記憶してもよい。システムにおいては、そのシステムの機能を実行するためにそれが存在する。
【００３５】
本発明の実施形態によれば、システムに関する「モジュール」という用語は、システムのハードウェア要素、システムのソフトウェア要素、またはハードウェアおよびソフトウェアを含むシステムの要素を参照することがある。本明細書では、モジュールは、１または２以上のモジュールを含んでもよい。ここで、各モジュールは、ハードウェアまたはソフトウェアのピースに分かれて存在してもよい。
【００３６】
本発明の多様な実施形態が正に上述されたが、本発明は、多様な形態で実施され得て、ここで説明された実施形態に限定されると解釈されるべきでない。むしろ、これらの実施形態は、本開示が法的な出願要求を満たすように提供される。また、可能であれば、ここで説明されたおよび／または予期される本発明のいずれの実施形態のどのような利点、特徴、機能、装置および／または動作観点は、ここで説明された／または予期される本発明の他の実施形態に含まれ得ること、および／またはその逆もあることが理解される。さらに、可能であれば、ここで単数形で表現された全ての表現は、他の明示的な記載がない限り、複数形および／またはその逆を含むことを意味する。ここで、「少なくとも１つの」は、「１または２以上の」を意味し、これらのフレーズは互いに代替可能であることを意図している。したがって、「ａ」、および／または「ａｎ」は、「１または２以上の」または「少なくとも１つの」というフレーズがまたここで用いられていても、「少なくとも１つの」または「１または２以上の」を意味するものである。至る場所で、同じ番号は同じ要素を参照する。
【００３７】
本開示を考慮してある当業者により理解されるように、本発明は、装置（例えば、システム、マシン、装置、コンピュータプログラムプロダクトおよび／または同類のものを含む）、方法（例えば、ビジネス方法、コンピュータ実行処理および／または同類のものを含む）、または前述のいずれの組合わせ、を含んでもよい、および／または、として実現されてもよい。従って、本発明の実施形態は、もっぱらビジネス方法実施形態、もっぱらソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコード、データベースに格納された手順などを含む）、もっぱらハードウェア実施形態、または、典型定期にはシステムとここで称され得るビジネス方法、ソフトウェアおよびハードウェアの組合わせの実施形態の態様をとりえる。さらに、本発明の実施形態は、１または２以上のコンピュータ実行可能なプログラムコード部分を記憶するコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラムプロダクトの態様をとってもよい。ここで、１または２以上のプロセッサを含み得るプロセッサは、多様な方法で所定の機能を実行するように構成されてもよく、例えば、コンピュータ読み取り可能な媒体に実現された１または２以上のコンピュータ実行可能プログラムコード部分を１または２以上の汎用回路に実行させること、および／または、１または２以上の特定用途向け集積回路に機能を実行させることを含む。
【００３８】
適切などのようなコンピュータ読み取り可能な媒体も使用され得ることを理解されたい。コンピュータ読み取り可能な媒体は、具体的な電気的、磁気的、光学的、電磁気的、赤外線、および／または半導体システム、装置および／または他の装置のような、非一時的コンピュータ読み取り可能な媒体を含むが、これに限定されない。例えば、ある実施形態では、非一時的コンピュータ読み取り可能な媒体は、ポータブルフロッピーディスク、ハードディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭまたはフラッシュメモリ、ＣＤ−ＲＯＭ、および／または他の幾つかの触れられる光学および／または磁気記憶装置のような触れられる媒体を含む。しかし、本発明の他の実施形態では、コンピュータ読み取り可能な媒体は、例えばコンピュータ実行可能なプログラムコード部分が実現される伝播信号のように、一時的であってもよい。
【００３９】
本発明の動作を実行するための１または２以上のコンピュータ実行可能なプログラムコード部分は、Java、Perl、Smalltalk、C++、SAS、SQL、Python、Objective、C、JavaScriptおよび／またはその同種のもののような、オブジェクト指向、スクリプト、および／またはアンスクリプトプログラム言語を含んでもよい。ある実施形態では、本発明の動作を実行するための１または２以上のコンピュータ実行可能なプログラムコード部分は、Ｃ言語および／または類似のプログラミング言語のような、慣用の手順プログラミング言語により書かれてもよい。コンピュータプログラムは、代替的におよび／または追加的に、例えばＦ＃のような、１または２以上のマルチパラダイムプログラミング言語で書かれてもよい。
【００４０】
本発明の幾つかの実施形態は、フローチャート図および／または、装置および／または方法のブロック図を参照してここで説明された。フローチャート図および／またはブロック図に含まれる各ブロック、および／または、フローチャート図および／またはブロック図に含まれるブロックの組合わせは、１または２以上のコンピュータ実行可能なプログラムコード部分により実現され得ることを理解されたい。これらの１または２以上のコンピュータ実行可能なプログラムコード部分は、コンピュータおよび／または他のプログラミング可能なデータ処理装置を介して実行する１または２以上のコンピュータ実行可能なプログラムコード部分が、フローチャートおよび／またはブロック図により示されたステップおよび／または機能を実施するためのメカニズムを作り出すように、汎用コンピュータ、特定用途コンピュータ、および／または他の幾つかのプログラミング可能なデータ処理装置のプロセッサに提供され得る。
【００４１】
１または２以上のコンピュータ実行可能なプログラムコード部分は、一時的および／または非一時的コンピュータ読み取り可能な媒体（例えば、メモリなど）に記憶されてもよい。それは、コンピュータ読み取り可能な媒体に記憶されたコンピュータ実行可能なプログラムコード部分が、フローチャートおよび／またはブロック図において特定されたステップおよび／または機能を実現する指示メカニズムを含む製品を作り出すように、コンピュータおよび／または他のプログラミング可能なデータ処理装置が特定の方法で機能するよう、指示、命令および/または引き起こさせることができる。
【００４２】
１または２以上のコンピュータ実行可能なプログラムコード部分はまた、コンピュータおよび／または他のプログラミング可能な装置において一連の動作ステップが実行されるように、コンピュータおよび／または他のプログラミング可能なデータ処理装置にロードされ得る。ある実施形態では、コンピュータおよび／または他のプログラミング可能な装置上で実行する１または２以上のコンピュータ実行可能なプログラムコード部分がフローチャートおよび／またはブロック図において特定されたステップを実行する動作ステップを提供するように、これはコンピュータ実装手順を作り出す。代わりに、コンピュータ実装ステップは、本発明の実施形態を実行するために、オペレータおよび/または人間実施ステップと組み合わせられても、および／または、置き変えられてもよい。
【００４３】
ある例示的な実施形態が説明され添付の図面に示されたが、これらの実施形態は、広範な本発明の単なる実例であり、限定で無く、上述の段落で説明されたものに加え、多様な変形、組み合わせ、省略、修正および代用が可能であるので、本発明は説明または示された特定の構成および配置に限定されないことを理解されたい。説明された実施形態の多様な適用、修正、および組み合わせが本発明の範囲および精神から離れずに構成可能であることを当業者は理解するであろう。従って、本発明は、ここで具体的に説明された以外の添付の請求項の範囲内において実施され得る。
【図１】
0006623180.tif 000002
【図２】
0006623180.tif 000003