サーバ装置
【課題】ユーザに提供するサービスの低下という不都合を解決すること。
【解決手段】本発明におけるサーバ装置は、ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた情報処理端末に対して予め設定された条件を満たす他のサーバ装置を選択するサーバ装置選択手段と、接続要求を受けた情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、サーバ装置選択手段にて選択された他のサーバ装置を接続先として通知する。
【解決手段】本発明におけるサーバ装置は、ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた情報処理端末に対して予め設定された条件を満たす他のサーバ装置を選択するサーバ装置選択手段と、接続要求を受けた情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、サーバ装置選択手段にて選択された他のサーバ装置を接続先として通知する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ装置にかかり、特に、ネットワークを介して接続された情報処理端末に所定の情報を提供するサーバ装置に関する。
【背景技術】
【0002】
近年、様々なネットワークシステムが利用されている。例えば、クライアントサーバシステムは、ソフトウェアやデータなどの情報資源をサーバで管理し、サーバに接続されたクライアント(例えば情報処理端末)が情報資源をクライアント側で利用するシステムである。
【0003】
また例えば、クラウドコンピューティングは、情報資源をインターネットなどのネットワーク上のサーバで管理し、サーバに接続されたクライアントが情報資源をサーバ側で利用するシステムである。
【0004】
このようなネットワークシステムでは、サーバとクライアントとの間の通信時間の遅延が問題になることがあった。例えば、クライアントサーバシステムでは、大量のパケットが一度に送信されることが多く、輻輳が生じると、パケットの欠落によるパケットの再送や待機状態の発生により通信時間が増加してしまう。また、光の伝達速度は一定となるので、サーバとクライアントとの間の物理的な伝送距離が長くなるほど通信時間が増加してしまう。
【0005】
ここで、特許文献1には、クライアントサーバシステムにおいて、クライアントが、接続されているサーバとの通信時のデータ量と回線状態を分析し、通信時間が最短となる他のサーバ(例えばミラーサーバ)が存在する場合、現在接続されているサーバとの回線を切断し、通信時間が最短となる他のサーバとの回線に繋ぎかえる技術が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−313074号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の発明のように、複数のサーバを有して、回線を繋ぎかえる場合、複数のサーバのそれぞれに同じデータを保持させなければならない。つまり、例えばクラウドコンピューティングでは、接続されうるユーザごとに固有のデータを保持する必要があるが、接続されるサーバが切り替わる構成では、いずれのサーバもユーザに対してサービスを提供できるようにするためには、各ユーザのデータを全てのサーバに保持させる必要がある。すると、それぞれのサーバは十分に大きな記憶領域を確保しなければならなかった。
【0008】
また、サーバの数が増加するほど、複数のサーバ間の整合性を維持するための同期制御が複雑となってしまうおそれがあった。従って、サーバ装置の大容量化によるコストと処理負荷が増加し、ユーザに提供するサービスの低下という問題があった。
【0009】
このため、本発明の目的は、上述した課題である、クライアント(情報処理端末)に対するサービスの低下、という問題を解決することができるサーバ装置を提供させることにある。
【課題を解決するための手段】
【0010】
上記目的を達成すべく、本発明の一形態であるサーバ装置は、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、という構成を取る。
【0011】
また、本発明の他の形態であるプログラムは、
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、ことを実現させるためのプログラムである。
【0012】
また、本発明の他の形態である、情報処理方法は、
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、という構成を取る。
【0013】
また、本発明の他の形態である、通信システムは、
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、という構成を取る。
【発明の効果】
【0014】
本発明は、以上のように構成されることにより、サーバ装置に接続された情報処理端末に対するサービスの質を向上させることができる。
【図面の簡単な説明】
【0015】
【図1】本発明に関連するサービス提供システムの構成を示すブロック図である。
【図2】本発明に関連するサービス提供システムの構成を示すブロック図である。
【図3】本発明におけるサーバの構成の概略を示すブロック図である。
【図4】図3に開示したCPUの機能的な構成の概略を示すブロック図である。
【図5】本発明における情報処理端末の構成の概略を示すブロック図である。
【図6】図5に開示したCPUの機能的な構成の概略を示すブロック図である。
【図7】本発明における情報処理端末のサーバ接続処理の動作を示すフローチャートである。
【図8】本発明におけるサーバの情報処理端末接続処理の動作を示すフローチャートである。
【図9】本発明におけるサーバのサーバ選択処理の動作を示すフローチャートである。
【図10】図3に開示したサーバ割付データベースの一例を示す図である。
【図11】図8に開示したサーバ選択処理を説明するための説明図である。
【図12】図3に開示したサーバアドレスデータベースの一例を示す図である。
【図13】サーバ割付データベースの一例を示す図である。
【図14】本発明におけるサーバのサーバ割付データベース更新処理の動作を示すフローチャートである。
【図15】本発明における情報処理端末のサーバ最適化処理の動作を示すフローチャートである。
【図16】本発明におけるサーバの接続最適化処理の動作を示すフローチャートである。
【図17】本発明における情報処理端末の通信制御処理の動作を示すフローチャートである。
【図18】情報処理端末の表示部の表示の一例を示す図である。
【図19】本発明における情報処理端末の起動制御処理の動作を示すフローチャートである。
【図20】情報処理端末の外観の一例を示す図である。
【発明を実施するための形態】
【0016】
<実施形態1>
本発明の第1の実施形態を、図1乃至図20を参照して説明する。図1乃至図6は、サービス提供システム1の構成を説明するための図である。図7乃至図20は、サービス提供システム1の動作を説明するための図である。
【0017】
[構成]
図1は、サービス提供システム1の構成を示すブロック図である。図1に示されるように、本実施形態におけるサービス提供システム1は、例えば、サーバ101−1,101−2,101−11,101−12,101−21、情報処理端末102、およびサーバ間ネットワーク121−1乃至121−3から構成される。
【0018】
図1の例では、サーバ101−1,101−2、および情報処理端末102が、A国21A内に配置されている。サーバ101−11,101−12は、B国21B内に配置されている。サーバ101−21は、C国21C内に配置されている。
【0019】
なお、サーバ101−1,101−2,101−11,101−12,101−21を個々に区別する必要がない場合、以下単に、サーバ101と記述する。以下に記載する他の構成要素についても同様とする。また、サーバ101と他のサーバ101とを区別する場合、他のサーバ101を他のサーバ101Aまたはサーバ101Aと記載する。
【0020】
図2は、サービス提供システム1を異なる2つの視点から見た構成例を示す図である。図2に示されるように、サービス提供システム1は、利用者側の視点から見たサービス利用者側システム141と、サービス提供者側の視点から見たサービス提供側システム142で構成される。サービス利用者側システム141は、サービスを利用するユーザにより操作される情報処理端末102と1台のサーバ101から構成される。サービス提供側システム142は、X台(Xは3以上の自然数)のサーバ101とサーバ間ネットワーク121から構成される。なお、サーバ101の数は3台以上に限定されず、2台以上の複数であればよい。
【0021】
図3は、本実施形態におけるサーバ101(サーバ装置)の構成を示すブロック図である。図3に示されるように、サーバ101は、CPU(Central
Processing Unit)201、通信装置202、サーバ割付データベース203、サーバアドレスデータベース204、メモリ205、仮想PC(Personal Computer)イメージ記憶領域206、およびバス207から構成される。
【0022】
CPU201は、プログラムの制御によりサーバ101の各種の動作を実行する。図4を参照して、CPU201の各種の機能について説明する。図4は、CPU201の機能的構成例を示すブロック図である。CPU201は、取得部261、データベース制御部262、判定部263、通信部264、サーバ選択部265、および仮想PC制御部266の機能ブロックを有している。なおCPU201の各ブロックは、必要に応じて相互に信号、データを授受することが可能とされている。
【0023】
取得部261は、後述する通信部264により受け付けられた要求に含まれる、情報処理端末102のネットワーク上の位置を表す位置情報を含むIP(Internet Protocol)アドレス(例えばグローバルIPアドレス)(以下、配信IPアドレスと記載する)を取得する。また取得部261は、仮想PCイメージ記憶領域206に記憶された、情報処理端末102の仮想PCイメージデータ241を取得する。仮想PCイメージデータ241(利用データ)は、後述する仮想PCオブジェクト上で利用されるファイル、データ、アプリケーションなどであり、情報処理端末102毎に異なる。
【0024】
データベース制御部262(データベース制御手段)は、サーバ割付データベース203、およびサーバアドレスデータベース204を制御する。サーバ割付データベース203は、サーバ101を識別するサーバID(Identification)(サーバ装置識別情報)と、情報処理端末102の配信IPアドレスに含まれる位置情報とを対応付けた情報を保持する。サーバ割付データベース203の詳細は、図10を参照して後述する。またサーバアドレスデータベース204は、サーバIDと、サーバ101と接続するためのIPアドレスを表す接続先IPアドレスとを対応付けた情報を保持する。サーバアドレスデータベース204の詳細は、図12を参照して後述する。
【0025】
例えば、データベース制御部262は、取得部261により取得された配信IPアドレスに含まれる位置情報がサーバ割付データベース203に登録されていない場合、サーバ101を識別するサーバIDと、配信IPアドレスに含まれる位置情報とを対応付けて、サーバ割付データベース203に記憶する。
【0026】
判定部263は、各種の判定処理を実行する。例えば、判定部263は、取得部261により取得された配信IPアドレスに含まれる位置情報がサーバ割付データベース203に登録されているかを判定する。また判定部263は、後述するサーバ選択部265により選択された、情報処理端末102との通信時間が最短となるサーバ101が、自己のサーバ101であるかを判定する。
【0027】
通信部264(通信手段、第2の通信手段)は、情報処理端末102および他のサーバ101Aの少なくとも一方と、各種の情報を送受信する。例えば、通信部264は、ネットワークを介して接続された情報処理端末102からの要求(接続要求または最適化要求)を受け付ける。接続要求とは、情報処理端末102が、情報処理端末102との通信時間が最短となるサーバ101と接続し、接続されたサーバ101上で所定のサービスを利用するための要求である。最適化要求とは、情報処理端末102が、所定のサーバ101に対して、情報処理端末102との通信時間が最短となるサーバ101を選択させるための要求である。
【0028】
また、通信部264は、要求を受けた情報処理端末102に対して応答要求を送信してから、応答要求に対する情報処理端末102からの応答を受信するまでの時間を表す通信時間を計測する。さらに、通信部264は、複数の他のサーバ101Aのそれぞれに、要求を受けた情報処理端末102との通信時間を計測するように要求し、他のサーバ101Aから計測結果(他のサーバ101Aと情報処理端末102との通信時間)を受け付ける。
【0029】
そして通信部264は、後述するサーバ選択部265により選択されたサーバ101に対して、仮想PCイメージ記憶領域206に記憶された、要求を受けた情報処理端末102の仮想PCイメージデータ241を送信する。さらに、通信部264は、サーバ選択部265により選択されたサーバ101の接続先IPアドレスを、要求を受けた情報処理端末102に通知する。
【0030】
サーバ選択部265(サーバ装置選択手段)は、ネットワークを介して接続された複数のサーバ101のうち、要求を受けた情報処理端末102に対して予め設定された条件を満たすサーバ101を選択する。具体的には、サーバ選択部265は、通信部264により計測された通信時間と、通信部264により複数の他のサーバ101Aから受け付けた計測結果に基づいて、通信時間が最短となるサーバ101を選択する。
【0031】
仮想PC制御部266(制御手段)は、情報処理端末102により利用される仮想的な情報処理環境(例えば仮想PCオブジェクト)を生成して、提供(起動)する。仮想PCオブジェクトは、サーバ101のシステム上で、コンピュータの動作(例えば、OS(Operating System)やCPUの動作)を実現させるためのソフトウェアである。仮想PC制御部266は、仮想PCイメージデータ記憶領域206に記憶された、情報処理端末102の仮想PCイメージデータ241を仮想PCオブジェクトに読み出し、所定の処理を実行する。仮想PC制御部266は、仮想PCオブジェクトに仮想PCイメージデータ241を読み出すことで、情報処理端末102ごとに異なる情報処理環境を提供することができる。従って、情報処理端末102は、サーバ101側のシステムを利用して各種の処理を実行できる。
【0032】
図3の通信装置202は、ネットワークインタフェースなどにより構成され、有線または無線のネットワークを介して他のサーバ101A、および情報処理端末102の少なくとも一方と各種の情報を送受信する。
【0033】
メモリ205は、揮発性メモリおよび不揮発性メモリの少なくとも一方により構成される。メモリ205には、仮想PC制御部266により生成された仮想PCオブジェクト221−1乃至221−N(Nは自然数)が保持されている。
【0034】
仮想PCイメージ記憶領域206(記憶手段)には、仮想PCイメージデータ241−1乃至241−M(Mは自然数)が記憶されている。仮想PCイメージデータ241は、情報処理端末102ごと(またはユーザのアカウントごと)に対応付けられており、仮想PCオブジェクト221に読み出される。
【0035】
バス207は、CPU201、通信装置202、サーバ割付データベース203、サーバアドレスデータベース204、メモリ205、および仮想PCイメージ記憶領域206をそれぞれ相互に接続する。
【0036】
図5は、本実施形態における情報処理端末102の構成を示すブロック図である。図5に示されるように、情報処理端末102は、CPU301、ROM(Read Only
Memory)302、RAM(Random Access
Memory)303、通信装置304、入力部305、出力メモリ306、出力部307、記憶装置308、およびバス309から構成される。
【0037】
CPU301は、プログラムの制御により情報処理端末102の各種の動作を実行する。図6を参照して、CPU301の各種の機能について説明する。図6は、CPU301の機能的構成例を示すブロック図である。CPU301は、取得部341、通信部342、判定部343、記憶部344、および制御部345の機能ブロックを有している。なおCPU301の各ブロックは、必要に応じて相互に信号、データを授受することが可能とされている。
【0038】
取得部341は、所定のサーバ101と接続することで予め記憶装置308に記憶された、所定のサーバ101と接続するための接続先IPアドレス322を取得する。
【0039】
通信部342(第1の通信手段)は、取得部341により取得された接続先IPアドレスにより示される所定のサーバ101に要求(接続要求または最適化要求)を送信する。また通信部342は、所定のサーバ101のサーバ選択部265により選択されたサーバ101(所定のサーバまたは他のサーバ101A)と接続するための接続先IPアドレスを所定のサーバ101から受信する。そして通信部342は、受信された接続先IPアドレスにより示されるサーバ101と接続し、接続されたサーバ101の仮想PC制御部266により起動された仮想PCオブジェクトを制御するための各種の情報を送受信する。
【0040】
判定部343は、サーバ101から接続先IPアドレスが通知されたかを判定する。また、判定部343は、サーバ101により仮想PCオブジェクトが起動されたかを判定する。
【0041】
記憶部344は、サーバ101と接続する際の情報処理端末102自身に割り当てられたIPアドレスを配信IPアドレスとして記憶装置308に記憶する。配信IPアドレスは、情報処理端末102がネットワークを介してサーバ101と接続する際に接続プロバイダから配信されものであり、基本的に接続するたびに変化する。また記憶部344は、サーバ101により通知され、通信部342により受信されたサーバ101の接続先IPアドレスを記憶装置308に記憶する。
【0042】
制御部345は、各種の制御処理を実行する。例えば、制御部345は、情報処理端末102の設定に応じて、電波の出力を開始または禁止する。また制御部345は、スタンバイモードの時、情報処理端末102の必要最小限の回路以外への電流を遮断する
【0043】
図5のROM302は、情報処理端末102において実行される各種の処理プログラムや処理に必要なデータなどを記録する。RAM44は、各種の処理において得られたデータを一時的に記録保持するなどのように、各種の処理の作業領域として用いられる。通信装置304は、ネットワークインタフェースなどにより構成され、有線または無線を介してサーバ101と各種の情報を通信する。
【0044】
入力部305は、キーボード、マウス、マイクロフォンなどにより構成される。出力メモリ306は、出力部307に出力する画像、音声を一時的に記録保持する。出力部307は、ディスプレイ、スピーカなどにより構成される。記憶装置308は、ハードディスクや不揮発性のメモリなどにより構成される。記憶装置308には、配信IPアドレス321と接続先IPアドレス322が記憶されている。
【0045】
[動作]
次に、図7乃至図14を参照して、上述したサービス提供システム1の第1の動作について詳細に説明する。図7は、情報処理端末102のサーバ接続処理を説明するフローチャートである。図8は、サーバ101の情報処理端末接続処理を説明するフローチャートである。図9は、サーバ101のサーバ選択処理を説明するフローチャートである。
【0046】
図7のサーバ接続処理は、情報処理端末102を操作するユーザの入力操作によりサーバ101との接続が指示された場合に開始される。
【0047】
図7のステップS1において、情報処理端末102の取得部341は、予めサーバ101と接続することで記憶装置308に記憶された、サーバ101の接続先IPアドレス322を取得する。ステップS2において、情報処理端末102の通信部342は、ステップS1の処理で取得された接続先IPアドレス322により示されるサーバ101に接続要求を送信する。例えば、図1の情報処理端末102により取得された接続先IPアドレス322がサーバ101−1のIPアドレスを示す場合、情報処理端末102の通信部342は、サーバ101−1に対して接続要求を送信する。
【0048】
接続要求は、情報処理端末102がサーバ101上の所定のサービスを利用するために送信される。また、通信部342は、接続要求とともに、情報処理端末102の記憶装置308に記憶された情報処理端末102のIPアドレスを表す配信IPアドレス321をサーバ101に送信する。
【0049】
図8のステップS21において、サーバ101の通信部264は、図7のステップS2の処理で情報処理端末102から送信された接続要求を受け付ける。続いて、ステップS22において、サーバ101の取得部261は、ステップS21の処理で受け付けた接続要求とともにサーバ101に送信された情報処理端末102の配信IPアドレスを取得する。
【0050】
ステップS23において、サーバ101の判定部263は、ステップS22の処理で取得された配信IPアドレスに含まれるIPアドレス上位データがサーバ割付データベース203に登録されているかを判定する。IPアドレス上位データ(位置情報)は、配信IPアドレスの上位16ビットを表すデータである。IPアドレス上位データは、例えば図10のサーバ割付データベース203に示されるように、IPアドレスの最上位の8ビットと次の8ビットをそれぞれ2進数に置き換えて表される。図10を参照して、サーバ割付データベース203の詳細について説明する。
【0051】
図10は、サーバ割付データベース203の一例を説明するための図である。図10のサーバ割付データベース203−1は、IPアドレス上位データ、サーバID、および調査日付から構成されている。
【0052】
IPアドレスは、ネットワーク管理団体に管理されている。そのため、DNS(Domain Name System)にIPアドレスのFQDN(Fully Qualified Domain Name)を問い合わせることで接続サービスプロバイダが特定される。IPv4(Internet Protocol version 4)では、IPアドレスの上位8乃至16ビットで通信を行っている情報処理端末102の接続サービスプロバイダが特定され、予め設定された所在地に分類される。なお、IPアドレス上位データは、IPアドレスの上位16ビットとしたが、これに限定されず、通信を行っている情報処理端末102の所在地がわかる情報であればよい。
【0053】
サーバIDは、サーバ101を識別するための情報である。調査日付は、後述するステップS26のサーバ選択処理により通信時間が最短となるサーバが選択された日付、すなわちサーバ割付データベース203−1のレコード401が更新された日付を示している。
【0054】
例えば、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.00」である場合、IPアドレス上位データ「01.00」は、図10のサーバ割付データベース203−1に登録されていない。従って、ステップS23の処理でNoと判定され、処理はステップS26に進む。ステップS26の処理は図9を参照して後述する。
【0055】
また例えば、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.02」である場合、IPアドレス上位データ「01.02」は、図10のサーバ割付データベース203−1のレコード401−2に登録されている。従って、ステップS23の処理でYesと判定され、処理はステップS24に進む。
【0056】
ステップS24において、サーバ101の判定部263は、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたかを判定する。
【0057】
例えば、本日の日付が「2011.6.3」であり、所定期間が1か月であるとする。この場合、IPアドレス上位データ「01.02」が登録されたレコード401−2の調査日付は「2011.5.10」であるので、本日の日付より1か月以内の日付となる。従って、ステップS24の処理でYesと判定され、処理はステップS25に進む。
【0058】
ステップS25において、サーバ101のサーバ選択部265は、IPアドレス上位データが登録されたレコード401のサーバIDにより示されるサーバ101を選択する。例えば、サーバ選択部265は、IPアドレス上位データ「01.02」が登録されたレコード401−2のサーバID「A−1」により示されるサーバ101を選択する。ステップS25の処理の後、処理はステップS27に進む。
【0059】
一方、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.01」である場合、IPアドレス上位データ「01.01」は、図10のサーバ割付データベース203−1のレコード401−1に登録されている。従って、ステップS23の処理でYesと判定され、処理はステップS24に進む。
【0060】
IPアドレス上位データ「01.01」が登録されたレコード401−2の調査日付は「2011.3.25」であるので、本日の日付より1か月を超えた日付となる。従って、ステップS24の処理でNoと判定され、処理はステップS26に進む。
【0061】
ステップS26において、サーバ選択処理が実行される。図9を参照して、サーバ101のサーバ選択処理の詳細について説明する。
【0062】
図9のステップS61において、サーバ101の通信部264は、図8のステップS21の処理で接続要求を受けた情報処理端末102に応答要求を送信する。応答要求は、例えばpingであり、ネットワーク疎通を確認したい情報処理端末102に対してIPパケットを発行し、そのIPパケットが正しく届き、応答要求に対する応答が行われるかを確認する。
【0063】
図11は、情報処理端末102に応答要求を送信する一例を説明する図である。図11には、A国21Aでサーバ101−1に対して通信を行っていた情報処理端末102−1のユーザが、B国21Bに情報処理端末102−1を持って移動した例が示されている。
【0064】
図11の例では、ユーザが移動する前の配信IPアドレス「IP1」が設定された情報処理端末102が「情報処理端末102−1」として破線で示されている。また図11の例では、ユーザが移動した後の配信IPアドレス「IP2」が設定された情報処理端末102が「情報処理端末102−11」として実線で示されている。
【0065】
まず、図9のステップS61の処理により、図11のサーバ101−1の通信部264は、接続要求を受けた情報処理端末102−11に応答要求(例えばping)を送信する。ステップS62において、サーバ101の通信部264は、情報処理端末102から応答要求に対する応答を受信するまでの通信時間を計測する。すなわち、通信部264は、ステップS61の処理で情報処理端末102に応答要求を送信してから、応答要求に対する情報処理端末102からの応答を受信するまでの時間を表す通信時間を計測する。
【0066】
ステップS63において、サーバ101の取得部261は、サーバアドレスデータベース204から他のサーバ101Aの接続先IPアドレスを取得する。図12を参照して、サーバアドレスデータベース204について説明する。
【0067】
図12は、サーバアドレスデータベース204の一例を説明するための図である。図12のサーバアドレスデータベース204は、サーバID、および接続先IPアドレスから構成されている。例えば、レコード421−1には、サーバID「A−1」により示されるサーバ101(例えばサーバ101−1)の接続先IPアドレス「01.01.xxx.xxx」が示されている。図9のステップS63の処理により、図12のサーバアドレスデータベース204に記憶された全ての接続先IPアドレスが取得される。
【0068】
ステップS64において、サーバ101の通信部264は、他のサーバ101Aに情報処理端末102との通信時間の調査要求を送信する。すなわち、通信部264は、ステップS63の処理で接続先IPアドレスが取得された複数の他のサーバ101Aのそれぞれに、情報処理端末102との通信時間を計測するように要求する。なお、通信部264は、他のサーバ101Aが情報処理端末102と通信するために、図8のステップS22の処理で取得された配信IPアドレスを調査要求に付加して送信する。また、通信部264は、調査要求に対する通信時間の計測結果を他のサーバ101Aに返信させるために、サーバ101の接続先IPアドレスも調査依頼に付加して送信する。
【0069】
続いて図14を参照して、調査依頼が要求された他のサーバ101Aの処理について説明する。図14は、サーバ101Aのサーバ割付データベース更新処理を説明するフローチャートである。図14のステップS83,S84の処理は、図9のステップS61,S62の処理に対応する処理である。従って、これらの処理は繰り返しになるので簡単に説明する。
【0070】
ステップS81において、サーバ101Aの通信部264は、図9のステップS64の処理でサーバ101から送信された通信時間の調査要求を受け付ける。続いてステップS82において、サーバ101Aの取得部261は、ステップS81の処理で調査要求とともに送信された情報処理端末102の配信IPアドレスを取得する。
【0071】
そしてステップS83において、サーバ101Aの通信部264は、ステップS82の処理で取得された情報処理端末102の配信IPアドレスに応答要求を送信する。ステップS84において、サーバ101Aの通信部264は、情報処理端末102から応答要求に対する応答を受け付けるまでの通信時間を計測する。
【0072】
ステップS85において、サーバ101Aの通信部264は、図9のステップS64の処理で通信時間の調査要求に付加された、調査要求を送信したサーバ101の接続先IPアドレスを取得する。ステップS86において、サーバ101Aの通信部264は、ステップS85の処理で取得されたサーバ101の接続先IPアドレスに、ステップS84の処理で計測された通信時間の計測結果を送信する。
【0073】
図9に戻り、ステップS65において、サーバ101の通信部264は、他のサーバ101Aから計測結果を受け付ける。例えば、サーバ101−1の通信部264は、図11のサーバ101−2,101−11,101−12,101−21のそれぞれから、計測結果としての通信時間を受け付ける。
【0074】
ステップS66において、サーバ101のサーバ選択部265は、通信時間が最短となるサーバ101を選択する。すなわち、サーバ選択部265は、ステップS62の処理で計測された通信時間、およびステップS65の処理で受け付けられた計測結果としての通信時間から、通信時間が最短となるサーバ101を選択する。
【0075】
ステップS67において、サーバ101のデータベース制御部262は、サーバ割付データベース203のレコード401を更新する。具体的には、データベース制御部262は、図8のステップS22の処理で取得された配信IPアドレスに対応するIPアドレス上位データにより示されるレコード401に記憶されたサーバIDを、ステップS66の処理で選択された通信時間が最短となるサーバ101のサーバIDに変更するとともに、レコード401の調査日付を本日の日付に変更する。例えば、図10のレコード401−3が、図13のレコード401−11に更新(変更)される。
【0076】
ステップS68において、サーバ101の通信部264は、ステップS67の処理で更新されたサーバ割付データベース203を他のサーバ101Aに送信する。例えば、図12のサーバ101−1の通信部264は、サーバ101−2,101−11,101−12,101−21に、更新された図13のサーバ割付データベース203−11を送信する。
【0077】
なお、ステップS68の処理では、サーバ割付データベース203を送信するとしたが、更新されたレコード401(例えばレコード401−11)だけを他のサーバ101Aに送信することもできる。データ割付データベース203の代わりにレコード401を送信することで、サーバ割付データベース203を送信する場合に比べて通信するデータ量を小さくすることができるとともに、より迅速にサーバ割付データベース203の情報を同期させることができる。
【0078】
図14のステップS87において、サーバ101Aの取得部261は、図9のステップS68の処理でサーバ101から送信されたサーバ割付データベース203を取得する。ステップS88において、サーバ101Aのデータベース制御部262は、予め保持されているサーバ101Aのサーバ割付データベース203を、ステップS87の処理で取得されたサーバ割付データベース203に更新(変更)する。ステップS88の処理の後、サーバ101Aのサーバ割付データベース更新処理は終了する。
【0079】
また、図9のステップS68の処理の後、サーバ101のサーバ選択処理は終了し、処理は図8のステップS27に進む。ステップS27において、サーバ101の判定部263は、ステップS25またはステップS26の処理で選択された通信時間が最短となるサーバ101が自己のサーバであるかを判定する。
【0080】
ステップS27において、選択されたサーバ101が自己のサーバであると判定された場合(ステップS27:Yes)、処理はステップS28に進む。そして、ステップS28において、サーバ101の仮想PC制御部266は、仮想PCオブジェクトを生成する。すなわち、仮想PC制御部266は、仮想のOSやCPUを生成する。
【0081】
続いて、ステップS29において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータ241を取得する。例えば、取得部261は、情報処理端末102−1に対応付けられた仮想PCイメージデータ241−1を取得する。すなわち、取得部261は、情報処理端末102ごとに異なる仮想PCで利用するためのファイル、データ、アプリケーションなどを取得する。なお、情報処理端末102に対応付けられた仮想PCイメージデータ241が仮想PCイメージ記憶領域206に記憶されていない場合、取得部261は、予め設定された仮想PCイメージデータを取得することができる。
【0082】
ステップS30において、サーバ101の仮想PC制御部266は、仮想PCイメージデータを読み出した仮想PCオブジェクトを起動する。仮想PCオブジェクトが起動されることで、情報処理端末102は、サーバ101上で所定の処理を実行することができる。
【0083】
一方、ステップS27において、ステップS25またはステップS26の処理で選択されたサーバ101が自己のサーバでないと判定された場合(ステップS27:No)、処理はステップS31に進む。
【0084】
ステップS31において、サーバ101の取得部261は、ステップS25またはステップS26の処理で選択されたサーバ101Aの接続先IPアドレスをサーバアドレスデータベース204から取得する。例えば、図13を参照して説明したように、情報処理端末102との通信時間が最短となるサーバ101−12のサーバIDが「B−12」である場合、取得部261は、サーバID「B−12」のレコード421−2に登録された接続先IPアドレス「02.12.xxx.xxx」を取得する。
【0085】
ステップS32において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータ241を取得する。このステップS32の処理は、上述のステップS29の処理と同様の処理である。ステップS33において、サーバ101の通信部264は、ステップS25またはステップS26の処理で選択されたサーバ101Aに、ステップS32の処理で取得された仮想イメージデータ241を送信する。
【0086】
そして、ステップS34において、サーバ101の仮想PC制御部266は、ステップS33の処理で送信された仮想PCイメージデータ241を仮想PCイメージ記憶領域206から削除する。従って、複数のサーバ101のそれぞれで情報処理端末102の仮想PCイメージデータ241を記憶する必要がないため、仮想PCイメージ記憶領域206の肥大化を防ぎ、コストを低減することができる。また、仮想PCイメージデータ241は、他のサーバ101Aの仮想PCイメージデータ241と同期させて、整合性を保つ必要がないので、サーバ101の負担を低減することができる。
【0087】
ステップS35において、サーバの通信部264は、情報処理端末102に、ステップS31の処理で取得された接続先IPアドレスを通知する。すなわち、通信部264は、通信時間が最短となるサーバ101の接続先IPアドレスを情報処理端末102に通知する。
【0088】
ステップS30,S35の処理の後、サーバ101の情報処理端末接続処理は終了する。
【0089】
図7のステップS3において、情報処理端末102の判定部343は、他のサーバ101の接続先IPアドレスが通知されたかを判定する。すなわち、図8のステップS35の処理が実行され、サーバ101から他のサーバ101Aの接続先IPアドレスが通知されたかが判定される。
【0090】
ステップS3において、他のサーバ101Aの接続先IPアドレスが通知されたと判定された場合(ステップS3:Yes)、ステップS4において、情報処理端末102の記憶部344は、ステップS3の処理で通知された接続先IPアドレスを記憶する。すなわち、情報処理端末102の記憶装置308に記憶された接続先IPアドレス322が、他のサーバ101の接続先IPアドレスに更新される。
【0091】
ステップS5において、情報処理端末102の通信部342は、他のサーバ101に接続要求を送信する。すなわち、通信部342は、通信時間が最短となるサーバ101に接続要求を送信する。
【0092】
ステップS5の処理の後、およびステップS3の処理で、まだ他のサーバ101Aの接続先IPアドレスが通知されていないと判定された場合(ステップS3:No)、処理はステップS6に進む。ステップS6において、情報処理端末102の判定部343は、仮想PCオブジェクトが起動されたかを判定する。すなわち、サーバ101により起動され、提供される仮想PCオブジェクトをユーザが利用することができるかが判定される。
【0093】
ステップS6において、仮想PCオブジェクトが起動されていないと判定された場合(ステップS6:No)、すなわち、まだサーバ101により提供される仮想PCオブジェクトをユーザが利用することができない場合、処理はステップS3に戻り、それ以降の処理が繰り返される。
【0094】
一方、ステップS6において、仮想PCオブジェクトが起動されたと判定された場合(ステップS6:Yes)、すなわち、サーバ101により起動され、提供される仮想PCオブジェクトをユーザが利用することができる場合、処理はステップS7に進む。
【0095】
ステップS7において、情報処理端末102の制御部345は、仮想PCオブジェクトを制御する。すなわち、情報処理端末102の入力部305を介して入力されたユーザの入力操作を表す操作情報が、通信装置304を介してサーバ101に送信される。また、サーバ101の仮想PCオブジェクトにより、ユーザの入力操作に対して所定の処理が実行され、処理の結果が通信装置304および出力メモリ306を介して、出力部307に出力される。ステップS7の処理の後、情報処理端末102のサーバ接続処理は終了する。
【0096】
以上のように、サーバ101は、情報処理端末102との通信時間が最短となるサーバ101を選択するので、小さいパケットが大量に往復するクラウドコンピューティングを利用する情報処理端末102の操作性を向上させ、質の高いサービスを提供することができる。
【0097】
また、サーバ101は、情報処理端末102との通信時間が短いサーバ101を選択することで、ネットワークを通過するパケット量を削減し、ネットワーク全体としてのトラフィック量を削減するので、ネットワークの輻輳を防止することができるとともに、消費電力を低減することができる。
【0098】
次に、図15乃至図18を参照して、上述したサービス提供システム1の第2の動作について詳細に説明する。図15は、情報処理端末102のサーバ最適化処理を説明するフローチャートである。図16は、サーバ101の接続最適化処理を説明するフローチャートである。
【0099】
なお、図15のステップS201,S202,S204の処理は、図7のステップS1,S2,S4の処理に対応する処理である。また、図16のステップS221乃至S227,S229乃至S233の処理は、図8のステップS31乃至S35の処理に対応する処理である。従って、これらの処理は繰り返しになるので簡単に説明する。
【0100】
サービス提供システム1の第2の動作は、情報処理端末102がサーバ101の仮想PCオブジェクトを起動させない点が第1の動作と異なり、情報処理端末102との通信時間が最短となるサーバ101をサーバ101に選択させる点は第1の動作と同様である。
【0101】
図15のサーバ最適化処理は、情報処理端末102を操作するユーザの入力操作によりサーバ101の最適化が指示された場合に開始される。
【0102】
ステップS201において、情報処理端末102の取得部341は、予め記憶装置308に記憶された接続先IPアドレスを取得する。ステップS202において、情報処理端末102の通信部342は、ステップS201の処理で取得された接続先IPアドレスにより示されるサーバ101に最適化要求を送信する。最適化要求は、サーバ101に対して、情報処理端末102との通信時間が最短となるサーバ101の通知を要求するものであり、構成は接続要求と同様である。
【0103】
図16のステップS221において、サーバ101の通信部264は、ステップS202の処理で情報処理端末102から送信された情報処理端末102から最適化要求を受け付ける。ステップS222において、サーバ101の取得部261は、図15のステップS202の処理で最適化要求とともに送信される情報処理端末102の配信IPアドレスを取得する。
【0104】
続いて、ステップS223において、サーバ101の判定部263は、IPアドレス上位データがサーバ割付データベース203に登録されているかを判定する。ステップS223の処理において、IPアドレス上位データがサーバ割付データベース203に登録されていると判定された場合(ステップS223:Yes)、処理はステップS224に進む。
【0105】
ステップS224において、サーバ101の判定部263は、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたかを判定する。ステップS224の処理において、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたと判定された場合(ステップS224:Yes)、処理はステップS225に進む。ステップS225において、サーバ101のサーバ選択部265は、IPアドレス上位データが登録されたレコード401のサーバIDにより示されるサーバ101を選択する。ステップS225の処理の後、処理はステップS227に進む。
【0106】
一方、ステップS223の処理において、IPアドレス上位データがサーバ割付データベース203に登録されていないと判定された場合(ステップS223:No)、およびステップS224の処理において、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されていないと判定された場合(ステップS224:No)処理はステップS226に進む。
【0107】
ステップS226において、サーバ選択処理が実行される。サーバ選択処理により、サーバ選択部265は、情報処理端末102との通信時間が最短となるサーバ101を選択する。
【0108】
ステップS225,S226の処理の後、ステップS227において、サーバ101の判定部263は、ステップS225またはステップS226の処理で選択されたサーバ101が自己のサーバであるかを判定する。
【0109】
ステップS227において、選択されたサーバ101が自己のサーバであると判定された場合(ステップS227:Yes)、処理はステップS228に進む。ステップS228において、サーバ101の通信部264は、情報処理端末102に自己のサーバの接続先IPアドレスを通知する。
【0110】
一方、ステップS227において、ステップS225またはステップS226の処理で選択されたサーバ101が自己のサーバでないと判定された場合(ステップS227:No)、処理はステップS229に進む。
【0111】
ステップS229において、サーバ101の取得部261は、ステップS225またはステップS226の処理で選択されたサーバ101Aの接続先IPアドレスをサーバアドレスデータベース204から取得する。ステップS230において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータを取得する。そして、ステップS231において、サーバ101の通信部264は、ステップS225またはステップS226の処理で選択されたサーバ101Aに、ステップS230の処理で取得された仮想イメージデータ241を送信する。
【0112】
続いて、ステップS232において、サーバ101の仮想PC制御部266は、ステップS231の処理で送信された仮想PCイメージデータ241を仮想PCイメージ記憶領域206から削除する。ステップS233において、サーバの通信部264は、情報処理端末102に、ステップS229の処理で取得された接続先IPアドレスを通知する。すなわち、通信部264は、通信時間が最短となるサーバの接続先IPアドレスを情報処理端末102に通知する。
【0113】
ステップS228,S233の処理の後、処理は図15のステップS203に進み、図16の接続最適化処理は終了する。
【0114】
また、図15のステップS203において、情報処理端末102の通信部342は、ステップS228またはステップS233の処理でサーバ101により通知された接続先IPアドレスを受け付ける。続いて、ステップS204において、情報処理端末102の記憶部344は、ステップS203の処理で受け付けた接続先IPアドレスを記憶装置308に記憶する。ステップS204の処理の後、サーバ最適化処理は終了する。
【0115】
以上のように、サーバ101は、情報処理端末102との通信時間が最短となるサーバ101を選択し、その接続先IPアドレスを情報処理端末102に通知する。従って、次に情報処理端末102がサーバ101と接続する場合に、接続されたサーバ101は、既に仮想PCイメージデータ241を保持しているので、ユーザに対してより迅速に所定のサービスを提供することができる。
【0116】
なお、図15のサーバ最適化処理は、携帯電話機などの情報処理端末102の設定、アプリケーションなどと連携して処理を開始する連携動作を実行こともできる。図17と図18を参照して、情報処理端末102の連携動作について説明する。
【0117】
図17は、情報処理端末102の通信制御処理を説明するフローチャートである。図18は、情報処理端末102の表示部501の表示の一例を示す図である。
【0118】
図18の例には、情報処理端末102を保持するユーザが、A国からB国へ移動するために飛行機を利用する場合の電波オフモードの設定画面が表示部501に表示されている。表示部501は、情報処理端末102の出力部307に含まれるディスプレイなどにより構成される。電波オフモードとは、情報処理端末102からの電波の放出を禁止するモードである。
【0119】
図17の通信制御処理は、電波オフモードの状態が変更された場合、すなわち、電波オフモードが解除された状態から設定された状態に変更された場合、または電波オフモードが設定された状態から解除された状態に変更された場合に開始される。
【0120】
ステップS261において、取得部341は、入力部305を介して、ユーザの入力を取得する。例えば、ユーザがA国にいる場合、図17の表示部501−1に表示されているように、「解除する」が選択されている。ユーザがA国からB国へ移動するために飛行機に搭乗する場合、表示部501−11に表示されているように、ユーザの操作により「設定する」が選択され、OKボタン521−11が選択される。この場合、取得部341は、ユーザの入力として電波オフモードを設定した「電波オフ」を取得する。
【0121】
図18のステップS262において、判定部343は、ステップS261の処理で取得されたユーザの入力により電波オフが設定されたかを判定する。ユーザが飛行機に搭乗し、A国からB国へ移動中の場合、電波オフが設定される。従って、ステップS262の処理でYesと判定され、処理はステップS263に進む。ステップS263において、制御部345は、高周波出力を停止する。すなわち、制御部345は、電波オフモードが設定された場合、情報処理端末102からの電波の放出を禁止する。
【0122】
一方、ユーザがB国に到着し、飛行機から降りた場合、表示部501−21に表示されているように、ユーザの操作により「解除する」が選択され、OKボタン521−21が選択される。この場合、ステップS261において、取得部341は、ユーザの入力として電波オフモードを解除した「電波オン」を取得する。
【0123】
続いて、ステップS262の処理で電波オフが設定されていないと判定され(ステップS22:No)、処理はステップS264に進む。ステップS264において、制御部345は、高周波出力を開始する。すなわち、制御部345は、電波オフモードが解除された場合、情報処理端末102からの電波の放出を開始する。
【0124】
続いて、ステップS265において、図15のサーバ最適化処理が実行される。サーバ最適化処理が実行されることにより、情報処理端末102との通信時間が最短となるサーバ101の接続先IPアドレスが取得される。
【0125】
ステップS263,S265の処理の後、情報処理端末102の通信制御処理は終了する。
【0126】
以上のように、連携動作を実行することで、情報処理端末102を操作するユーザの負担を低減することができる。
【0127】
なお、情報処理端末102は、情報処理端末102に設置された電源ボタン、スタンバイボタンなどと連携して図7のサーバ接続処理、図15のサーバ最適化処理を開始するボタン連携動作も実行することもできる。図19と図20を参照して、ボタン連携動作について説明する。
【0128】
図19は、情報処理端末102の起動制御処理を説明するフローチャートである。図20は、情報処理端末102の外観の一例を示す図である。
【0129】
図20には、情報処理端末102の側面に電源ボタン601、スタンバイボタン602、およびスタンバイ表示LED(Light Emitting Diode)603が配置された例が示されている。電源ボタン601は、ユーザの押下により情報処理端末102に電力を供給させ、電源のオンにさせる。スタンバイボタン602は、ユーザの押下により情報処理端末102の状態を消費電力が小さくなるスタンバイモードに移行させる。スタンバイモードでは、情報処理端末102の必要最小限の回路以外への電流を遮断するモードである。スタンバイモードでは、次に電源ボタン601が押下されて情報処理端末102が起動する場合、通常の起動時間よりも起動時間を短くすることができる。スタンバイ表示LED603は、情報処理端末102がスタンバイモードである場合に点灯される。
【0130】
図19の起動制御処理は、例えば情報処理端末102に電力が供給されていない場合に、ユーザにより図20の電源ボタン601およびスタンバイボタン602のいずれかが押下された場合に開始される。
【0131】
ステップS301において、取得部341は、ユーザにより電源ボタン601およびスタンバイボタン602のいずれかが押下されたことを表す押下状態を取得する。取得された押下状態は、RAM303に保持される。ステップS302において、制御部345は、初期化処理を実行する。ステップS301の処理により、情報処理端末102の動作に十分な電力が供給されるので、制御部345は、情報処理端末102を動作させるために予め設定された初期化処理を実行する。
【0132】
ステップS303において、判定部343は、ステップS301の処理で取得された押下状態に基づいて、スタンバイボタン602が押下されたかを判定する。ステップS303において、スタンバイボタン602が押下されたと判定された場合(ステップS303:Yes)、処理はステップS304に進む。
【0133】
ステップS304において、図15のサーバ最適化処理が実行される。サーバ最適化処理が実行されることにより、情報処理端末102との通信時間が最短となるサーバ101の接続先IPアドレスが取得される。ステップS304のサーバ最適化処理の後、ステップS305において、制御部345は、スタンバイ表示LED603を点灯する。スタンバイ表示LED603を点灯させることで、ユーザは、情報処理端末102の状態がスタンバイモードであることを確認することができる。続いて、ステップS305において、制御部345は、スタンバイモードに移行する。
【0134】
一方、ステップS303において、スタンバイボタン602が押下されていないと判定された場合(ステップS303:No)、すなわち、電源ボタン601が押下された場合、処理はステップS307に進む。ステップS307において、図7のサーバ接続処理が実行される。サーバ接続処理が実行されることで、情報処理端末102は、サーバ101により提供される仮想PCオブジェクトを利用することができる。
【0135】
ステップS306,S307の処理の後、起動制御処理は終了する。
【0136】
以上のようにユーザのボタン操作と連携動作をさせることで、ユーザが容易かつ確実に所定の操作を実行することができる。
【0137】
なお、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【0138】
また、本実施形態は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本実施形態は、一部の機能を他の装置が有していても良い。
【0139】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理端末等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【0140】
(付記1)
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
サーバ装置。
【0141】
上記サーバ装置によると、
通信手段(通信部264)は、ネットワークを介して接続された情報処理端末からの接続要求を受け付ける。
サーバ装置選択手段(サーバ選択部265)は、ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた情報処理端末に対して予め設定された条件を満たす他のサーバ装置を選択する。
記憶手段(仮想PCイメージ記憶領域206)は、接続要求を受けた情報処理端末により利用される当該情報処理端末毎の利用データ(仮想PCイメージデータ241)を記憶する。
そして通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、サーバ装置選択手段にて選択された他のサーバ装置を接続先として通知する。
従って、上記サーバ装置は、情報処理端末に対して所定の条件(例えばサービスの質を向上させるための条件)を満たすサーバ装置を情報処理端末に通知するので、情報処理端末に対するサービスの質を向上させることができる。
【0142】
(付記2)
付記1に記載のサーバ装置であって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを前記記憶手段から削除する、
サーバ装置。
【0143】
上記サーバ装置によると、
通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該送信した情報処理端末の利用データを記憶手段から削除する。
従って、上記サーバ装置は、記憶容量を小さくすることができるのでコストを削減することができる。また、上記サーバ装置は、情報処理端末の利用データを他のサーバ装置と同期させる必要がないので、負荷を軽減することができる。
【0144】
(付記3)
付記1又は2に記載のサーバ装置であって、
前記通信手段は、接続要求を受け付けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、前記複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、前記他のサーバ装置から計測結果を受け付け、
前記サーバ装置選択手段は、前記他のサーバ装置から受け付けた前記計測結果に基づいて、前記通信時間が最短となるサーバ装置を選択する、
サーバ装置。
【0145】
上記サーバ装置によると、
通信手段は、接続要求を受け付けた情報処理端末に対して応答要求を送信してから当該応答要求に対する情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた情報処理端末に対して応答要求を送信してから当該応答要求に対する情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、他のサーバ装置から計測結果を受け付ける。
サーバ装置選択手段は、他のサーバ装置から受け付けた計測結果に基づいて、通信時間が最短となるサーバ装置を選択する。
従って、上記サーバ装置は、情報処理端末との通信時間が最短となるサーバ装置と情報処理端末とを接続させることができる。
【0146】
(付記4)
付記1乃至3のいずれかに記載のサーバ装置であって、
前記サーバ装置選択手段により選択された前記サーバ装置を識別するサーバ装置識別情報と、接続要求を受け付けた前記情報処理端末の前記ネットワーク上における位置を表す位置情報と、を対応付けてデータベースに記憶するデータベース制御手段を備え、
前記通信手段は、前記複数の他のサーバ装置に対して前記データベースを送信し、
前記サーバ装置選択手段は、前記データベースに基づいて、接続要求を受けた前記情報処理端末からの当該接続要求に含まれる位置情報に対応する前記他のサーバ装置を選択する、
サーバ装置。
【0147】
上記サーバ装置によると、
データベース制御手段(データベース制御部262)は、サーバ装置選択手段により選択されたサーバ装置を識別するサーバ装置識別情報(サーバID)と、接続要求を受け付けた情報処理端末のネットワーク上における位置を表す位置情報(IPアドレス上位データ)と、を対応付けてデータベース(データ割付データベース203)に記憶する。
通信手段は、複数の他のサーバ装置に対してデータベースを送信する。
サーバ装置選択手段は、データベースに基づいて、接続要求を受けた情報処理端末からの当該接続要求に含まれる位置情報に対応する他のサーバ装置を選択する。
従って、上記サーバ装置は、データベースを参照して、情報処理端末との通信時間が最短となるサーバ装置を情報処理端末に提供することができる。また、上記サーバ装置は、複数の他のサーバ装置とデータベースの内容を同期することができる。
【0148】
(付記5)
付記1乃至4のいずれかに記載のサーバ装置であって、
前記情報処理端末により利用される仮想的な情報処理環境を生成して、提供する制御手段を備え、
前記通信手段は、前記仮想的な情報処理環境で読み出される前記情報処理端末の利用データを、前記サーバ装置選択手段にて選択された前記他のサーバ装置に送信する、
サーバ装置。
【0149】
上記サーバ装置によると、
制御手段(仮想PC制御部266)は、情報処理端末により利用される仮想的な情報処理環境(仮想PCオブジェクト)を生成して、提供する。
通信手段は、仮想的な情報処理環境で読み出される情報処理端末の利用データを、サーバ装置選択手段にて選択された他のサーバ装置に送信する。
従って、上記サーバ装置は、情報処理端末がどこに移動しても常に情報処理端末が所望するサービスを提供することができる。
【0150】
(付記6)
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
ことを実現させるためのプログラム。
【0151】
(付記7)
付記6に記載のプログラムであって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
プログラム。
【0152】
(付記8)
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、
情報処理方法。
【0153】
(付記9)
付記8に記載の情報処理方法であって、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
情報処理方法。
【0154】
(付記10)
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、
通信システム。
【符号の説明】
【0155】
101 サーバ
102 情報処理端末
206 仮想PCイメージ記憶領域
262 データベース制御部
264 通信部
266 仮想PC制御部
342 通信部
【技術分野】
【0001】
本発明は、サーバ装置にかかり、特に、ネットワークを介して接続された情報処理端末に所定の情報を提供するサーバ装置に関する。
【背景技術】
【0002】
近年、様々なネットワークシステムが利用されている。例えば、クライアントサーバシステムは、ソフトウェアやデータなどの情報資源をサーバで管理し、サーバに接続されたクライアント(例えば情報処理端末)が情報資源をクライアント側で利用するシステムである。
【0003】
また例えば、クラウドコンピューティングは、情報資源をインターネットなどのネットワーク上のサーバで管理し、サーバに接続されたクライアントが情報資源をサーバ側で利用するシステムである。
【0004】
このようなネットワークシステムでは、サーバとクライアントとの間の通信時間の遅延が問題になることがあった。例えば、クライアントサーバシステムでは、大量のパケットが一度に送信されることが多く、輻輳が生じると、パケットの欠落によるパケットの再送や待機状態の発生により通信時間が増加してしまう。また、光の伝達速度は一定となるので、サーバとクライアントとの間の物理的な伝送距離が長くなるほど通信時間が増加してしまう。
【0005】
ここで、特許文献1には、クライアントサーバシステムにおいて、クライアントが、接続されているサーバとの通信時のデータ量と回線状態を分析し、通信時間が最短となる他のサーバ(例えばミラーサーバ)が存在する場合、現在接続されているサーバとの回線を切断し、通信時間が最短となる他のサーバとの回線に繋ぎかえる技術が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−313074号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の発明のように、複数のサーバを有して、回線を繋ぎかえる場合、複数のサーバのそれぞれに同じデータを保持させなければならない。つまり、例えばクラウドコンピューティングでは、接続されうるユーザごとに固有のデータを保持する必要があるが、接続されるサーバが切り替わる構成では、いずれのサーバもユーザに対してサービスを提供できるようにするためには、各ユーザのデータを全てのサーバに保持させる必要がある。すると、それぞれのサーバは十分に大きな記憶領域を確保しなければならなかった。
【0008】
また、サーバの数が増加するほど、複数のサーバ間の整合性を維持するための同期制御が複雑となってしまうおそれがあった。従って、サーバ装置の大容量化によるコストと処理負荷が増加し、ユーザに提供するサービスの低下という問題があった。
【0009】
このため、本発明の目的は、上述した課題である、クライアント(情報処理端末)に対するサービスの低下、という問題を解決することができるサーバ装置を提供させることにある。
【課題を解決するための手段】
【0010】
上記目的を達成すべく、本発明の一形態であるサーバ装置は、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、という構成を取る。
【0011】
また、本発明の他の形態であるプログラムは、
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、ことを実現させるためのプログラムである。
【0012】
また、本発明の他の形態である、情報処理方法は、
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、という構成を取る。
【0013】
また、本発明の他の形態である、通信システムは、
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、という構成を取る。
【発明の効果】
【0014】
本発明は、以上のように構成されることにより、サーバ装置に接続された情報処理端末に対するサービスの質を向上させることができる。
【図面の簡単な説明】
【0015】
【図1】本発明に関連するサービス提供システムの構成を示すブロック図である。
【図2】本発明に関連するサービス提供システムの構成を示すブロック図である。
【図3】本発明におけるサーバの構成の概略を示すブロック図である。
【図4】図3に開示したCPUの機能的な構成の概略を示すブロック図である。
【図5】本発明における情報処理端末の構成の概略を示すブロック図である。
【図6】図5に開示したCPUの機能的な構成の概略を示すブロック図である。
【図7】本発明における情報処理端末のサーバ接続処理の動作を示すフローチャートである。
【図8】本発明におけるサーバの情報処理端末接続処理の動作を示すフローチャートである。
【図9】本発明におけるサーバのサーバ選択処理の動作を示すフローチャートである。
【図10】図3に開示したサーバ割付データベースの一例を示す図である。
【図11】図8に開示したサーバ選択処理を説明するための説明図である。
【図12】図3に開示したサーバアドレスデータベースの一例を示す図である。
【図13】サーバ割付データベースの一例を示す図である。
【図14】本発明におけるサーバのサーバ割付データベース更新処理の動作を示すフローチャートである。
【図15】本発明における情報処理端末のサーバ最適化処理の動作を示すフローチャートである。
【図16】本発明におけるサーバの接続最適化処理の動作を示すフローチャートである。
【図17】本発明における情報処理端末の通信制御処理の動作を示すフローチャートである。
【図18】情報処理端末の表示部の表示の一例を示す図である。
【図19】本発明における情報処理端末の起動制御処理の動作を示すフローチャートである。
【図20】情報処理端末の外観の一例を示す図である。
【発明を実施するための形態】
【0016】
<実施形態1>
本発明の第1の実施形態を、図1乃至図20を参照して説明する。図1乃至図6は、サービス提供システム1の構成を説明するための図である。図7乃至図20は、サービス提供システム1の動作を説明するための図である。
【0017】
[構成]
図1は、サービス提供システム1の構成を示すブロック図である。図1に示されるように、本実施形態におけるサービス提供システム1は、例えば、サーバ101−1,101−2,101−11,101−12,101−21、情報処理端末102、およびサーバ間ネットワーク121−1乃至121−3から構成される。
【0018】
図1の例では、サーバ101−1,101−2、および情報処理端末102が、A国21A内に配置されている。サーバ101−11,101−12は、B国21B内に配置されている。サーバ101−21は、C国21C内に配置されている。
【0019】
なお、サーバ101−1,101−2,101−11,101−12,101−21を個々に区別する必要がない場合、以下単に、サーバ101と記述する。以下に記載する他の構成要素についても同様とする。また、サーバ101と他のサーバ101とを区別する場合、他のサーバ101を他のサーバ101Aまたはサーバ101Aと記載する。
【0020】
図2は、サービス提供システム1を異なる2つの視点から見た構成例を示す図である。図2に示されるように、サービス提供システム1は、利用者側の視点から見たサービス利用者側システム141と、サービス提供者側の視点から見たサービス提供側システム142で構成される。サービス利用者側システム141は、サービスを利用するユーザにより操作される情報処理端末102と1台のサーバ101から構成される。サービス提供側システム142は、X台(Xは3以上の自然数)のサーバ101とサーバ間ネットワーク121から構成される。なお、サーバ101の数は3台以上に限定されず、2台以上の複数であればよい。
【0021】
図3は、本実施形態におけるサーバ101(サーバ装置)の構成を示すブロック図である。図3に示されるように、サーバ101は、CPU(Central
Processing Unit)201、通信装置202、サーバ割付データベース203、サーバアドレスデータベース204、メモリ205、仮想PC(Personal Computer)イメージ記憶領域206、およびバス207から構成される。
【0022】
CPU201は、プログラムの制御によりサーバ101の各種の動作を実行する。図4を参照して、CPU201の各種の機能について説明する。図4は、CPU201の機能的構成例を示すブロック図である。CPU201は、取得部261、データベース制御部262、判定部263、通信部264、サーバ選択部265、および仮想PC制御部266の機能ブロックを有している。なおCPU201の各ブロックは、必要に応じて相互に信号、データを授受することが可能とされている。
【0023】
取得部261は、後述する通信部264により受け付けられた要求に含まれる、情報処理端末102のネットワーク上の位置を表す位置情報を含むIP(Internet Protocol)アドレス(例えばグローバルIPアドレス)(以下、配信IPアドレスと記載する)を取得する。また取得部261は、仮想PCイメージ記憶領域206に記憶された、情報処理端末102の仮想PCイメージデータ241を取得する。仮想PCイメージデータ241(利用データ)は、後述する仮想PCオブジェクト上で利用されるファイル、データ、アプリケーションなどであり、情報処理端末102毎に異なる。
【0024】
データベース制御部262(データベース制御手段)は、サーバ割付データベース203、およびサーバアドレスデータベース204を制御する。サーバ割付データベース203は、サーバ101を識別するサーバID(Identification)(サーバ装置識別情報)と、情報処理端末102の配信IPアドレスに含まれる位置情報とを対応付けた情報を保持する。サーバ割付データベース203の詳細は、図10を参照して後述する。またサーバアドレスデータベース204は、サーバIDと、サーバ101と接続するためのIPアドレスを表す接続先IPアドレスとを対応付けた情報を保持する。サーバアドレスデータベース204の詳細は、図12を参照して後述する。
【0025】
例えば、データベース制御部262は、取得部261により取得された配信IPアドレスに含まれる位置情報がサーバ割付データベース203に登録されていない場合、サーバ101を識別するサーバIDと、配信IPアドレスに含まれる位置情報とを対応付けて、サーバ割付データベース203に記憶する。
【0026】
判定部263は、各種の判定処理を実行する。例えば、判定部263は、取得部261により取得された配信IPアドレスに含まれる位置情報がサーバ割付データベース203に登録されているかを判定する。また判定部263は、後述するサーバ選択部265により選択された、情報処理端末102との通信時間が最短となるサーバ101が、自己のサーバ101であるかを判定する。
【0027】
通信部264(通信手段、第2の通信手段)は、情報処理端末102および他のサーバ101Aの少なくとも一方と、各種の情報を送受信する。例えば、通信部264は、ネットワークを介して接続された情報処理端末102からの要求(接続要求または最適化要求)を受け付ける。接続要求とは、情報処理端末102が、情報処理端末102との通信時間が最短となるサーバ101と接続し、接続されたサーバ101上で所定のサービスを利用するための要求である。最適化要求とは、情報処理端末102が、所定のサーバ101に対して、情報処理端末102との通信時間が最短となるサーバ101を選択させるための要求である。
【0028】
また、通信部264は、要求を受けた情報処理端末102に対して応答要求を送信してから、応答要求に対する情報処理端末102からの応答を受信するまでの時間を表す通信時間を計測する。さらに、通信部264は、複数の他のサーバ101Aのそれぞれに、要求を受けた情報処理端末102との通信時間を計測するように要求し、他のサーバ101Aから計測結果(他のサーバ101Aと情報処理端末102との通信時間)を受け付ける。
【0029】
そして通信部264は、後述するサーバ選択部265により選択されたサーバ101に対して、仮想PCイメージ記憶領域206に記憶された、要求を受けた情報処理端末102の仮想PCイメージデータ241を送信する。さらに、通信部264は、サーバ選択部265により選択されたサーバ101の接続先IPアドレスを、要求を受けた情報処理端末102に通知する。
【0030】
サーバ選択部265(サーバ装置選択手段)は、ネットワークを介して接続された複数のサーバ101のうち、要求を受けた情報処理端末102に対して予め設定された条件を満たすサーバ101を選択する。具体的には、サーバ選択部265は、通信部264により計測された通信時間と、通信部264により複数の他のサーバ101Aから受け付けた計測結果に基づいて、通信時間が最短となるサーバ101を選択する。
【0031】
仮想PC制御部266(制御手段)は、情報処理端末102により利用される仮想的な情報処理環境(例えば仮想PCオブジェクト)を生成して、提供(起動)する。仮想PCオブジェクトは、サーバ101のシステム上で、コンピュータの動作(例えば、OS(Operating System)やCPUの動作)を実現させるためのソフトウェアである。仮想PC制御部266は、仮想PCイメージデータ記憶領域206に記憶された、情報処理端末102の仮想PCイメージデータ241を仮想PCオブジェクトに読み出し、所定の処理を実行する。仮想PC制御部266は、仮想PCオブジェクトに仮想PCイメージデータ241を読み出すことで、情報処理端末102ごとに異なる情報処理環境を提供することができる。従って、情報処理端末102は、サーバ101側のシステムを利用して各種の処理を実行できる。
【0032】
図3の通信装置202は、ネットワークインタフェースなどにより構成され、有線または無線のネットワークを介して他のサーバ101A、および情報処理端末102の少なくとも一方と各種の情報を送受信する。
【0033】
メモリ205は、揮発性メモリおよび不揮発性メモリの少なくとも一方により構成される。メモリ205には、仮想PC制御部266により生成された仮想PCオブジェクト221−1乃至221−N(Nは自然数)が保持されている。
【0034】
仮想PCイメージ記憶領域206(記憶手段)には、仮想PCイメージデータ241−1乃至241−M(Mは自然数)が記憶されている。仮想PCイメージデータ241は、情報処理端末102ごと(またはユーザのアカウントごと)に対応付けられており、仮想PCオブジェクト221に読み出される。
【0035】
バス207は、CPU201、通信装置202、サーバ割付データベース203、サーバアドレスデータベース204、メモリ205、および仮想PCイメージ記憶領域206をそれぞれ相互に接続する。
【0036】
図5は、本実施形態における情報処理端末102の構成を示すブロック図である。図5に示されるように、情報処理端末102は、CPU301、ROM(Read Only
Memory)302、RAM(Random Access
Memory)303、通信装置304、入力部305、出力メモリ306、出力部307、記憶装置308、およびバス309から構成される。
【0037】
CPU301は、プログラムの制御により情報処理端末102の各種の動作を実行する。図6を参照して、CPU301の各種の機能について説明する。図6は、CPU301の機能的構成例を示すブロック図である。CPU301は、取得部341、通信部342、判定部343、記憶部344、および制御部345の機能ブロックを有している。なおCPU301の各ブロックは、必要に応じて相互に信号、データを授受することが可能とされている。
【0038】
取得部341は、所定のサーバ101と接続することで予め記憶装置308に記憶された、所定のサーバ101と接続するための接続先IPアドレス322を取得する。
【0039】
通信部342(第1の通信手段)は、取得部341により取得された接続先IPアドレスにより示される所定のサーバ101に要求(接続要求または最適化要求)を送信する。また通信部342は、所定のサーバ101のサーバ選択部265により選択されたサーバ101(所定のサーバまたは他のサーバ101A)と接続するための接続先IPアドレスを所定のサーバ101から受信する。そして通信部342は、受信された接続先IPアドレスにより示されるサーバ101と接続し、接続されたサーバ101の仮想PC制御部266により起動された仮想PCオブジェクトを制御するための各種の情報を送受信する。
【0040】
判定部343は、サーバ101から接続先IPアドレスが通知されたかを判定する。また、判定部343は、サーバ101により仮想PCオブジェクトが起動されたかを判定する。
【0041】
記憶部344は、サーバ101と接続する際の情報処理端末102自身に割り当てられたIPアドレスを配信IPアドレスとして記憶装置308に記憶する。配信IPアドレスは、情報処理端末102がネットワークを介してサーバ101と接続する際に接続プロバイダから配信されものであり、基本的に接続するたびに変化する。また記憶部344は、サーバ101により通知され、通信部342により受信されたサーバ101の接続先IPアドレスを記憶装置308に記憶する。
【0042】
制御部345は、各種の制御処理を実行する。例えば、制御部345は、情報処理端末102の設定に応じて、電波の出力を開始または禁止する。また制御部345は、スタンバイモードの時、情報処理端末102の必要最小限の回路以外への電流を遮断する
【0043】
図5のROM302は、情報処理端末102において実行される各種の処理プログラムや処理に必要なデータなどを記録する。RAM44は、各種の処理において得られたデータを一時的に記録保持するなどのように、各種の処理の作業領域として用いられる。通信装置304は、ネットワークインタフェースなどにより構成され、有線または無線を介してサーバ101と各種の情報を通信する。
【0044】
入力部305は、キーボード、マウス、マイクロフォンなどにより構成される。出力メモリ306は、出力部307に出力する画像、音声を一時的に記録保持する。出力部307は、ディスプレイ、スピーカなどにより構成される。記憶装置308は、ハードディスクや不揮発性のメモリなどにより構成される。記憶装置308には、配信IPアドレス321と接続先IPアドレス322が記憶されている。
【0045】
[動作]
次に、図7乃至図14を参照して、上述したサービス提供システム1の第1の動作について詳細に説明する。図7は、情報処理端末102のサーバ接続処理を説明するフローチャートである。図8は、サーバ101の情報処理端末接続処理を説明するフローチャートである。図9は、サーバ101のサーバ選択処理を説明するフローチャートである。
【0046】
図7のサーバ接続処理は、情報処理端末102を操作するユーザの入力操作によりサーバ101との接続が指示された場合に開始される。
【0047】
図7のステップS1において、情報処理端末102の取得部341は、予めサーバ101と接続することで記憶装置308に記憶された、サーバ101の接続先IPアドレス322を取得する。ステップS2において、情報処理端末102の通信部342は、ステップS1の処理で取得された接続先IPアドレス322により示されるサーバ101に接続要求を送信する。例えば、図1の情報処理端末102により取得された接続先IPアドレス322がサーバ101−1のIPアドレスを示す場合、情報処理端末102の通信部342は、サーバ101−1に対して接続要求を送信する。
【0048】
接続要求は、情報処理端末102がサーバ101上の所定のサービスを利用するために送信される。また、通信部342は、接続要求とともに、情報処理端末102の記憶装置308に記憶された情報処理端末102のIPアドレスを表す配信IPアドレス321をサーバ101に送信する。
【0049】
図8のステップS21において、サーバ101の通信部264は、図7のステップS2の処理で情報処理端末102から送信された接続要求を受け付ける。続いて、ステップS22において、サーバ101の取得部261は、ステップS21の処理で受け付けた接続要求とともにサーバ101に送信された情報処理端末102の配信IPアドレスを取得する。
【0050】
ステップS23において、サーバ101の判定部263は、ステップS22の処理で取得された配信IPアドレスに含まれるIPアドレス上位データがサーバ割付データベース203に登録されているかを判定する。IPアドレス上位データ(位置情報)は、配信IPアドレスの上位16ビットを表すデータである。IPアドレス上位データは、例えば図10のサーバ割付データベース203に示されるように、IPアドレスの最上位の8ビットと次の8ビットをそれぞれ2進数に置き換えて表される。図10を参照して、サーバ割付データベース203の詳細について説明する。
【0051】
図10は、サーバ割付データベース203の一例を説明するための図である。図10のサーバ割付データベース203−1は、IPアドレス上位データ、サーバID、および調査日付から構成されている。
【0052】
IPアドレスは、ネットワーク管理団体に管理されている。そのため、DNS(Domain Name System)にIPアドレスのFQDN(Fully Qualified Domain Name)を問い合わせることで接続サービスプロバイダが特定される。IPv4(Internet Protocol version 4)では、IPアドレスの上位8乃至16ビットで通信を行っている情報処理端末102の接続サービスプロバイダが特定され、予め設定された所在地に分類される。なお、IPアドレス上位データは、IPアドレスの上位16ビットとしたが、これに限定されず、通信を行っている情報処理端末102の所在地がわかる情報であればよい。
【0053】
サーバIDは、サーバ101を識別するための情報である。調査日付は、後述するステップS26のサーバ選択処理により通信時間が最短となるサーバが選択された日付、すなわちサーバ割付データベース203−1のレコード401が更新された日付を示している。
【0054】
例えば、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.00」である場合、IPアドレス上位データ「01.00」は、図10のサーバ割付データベース203−1に登録されていない。従って、ステップS23の処理でNoと判定され、処理はステップS26に進む。ステップS26の処理は図9を参照して後述する。
【0055】
また例えば、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.02」である場合、IPアドレス上位データ「01.02」は、図10のサーバ割付データベース203−1のレコード401−2に登録されている。従って、ステップS23の処理でYesと判定され、処理はステップS24に進む。
【0056】
ステップS24において、サーバ101の判定部263は、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたかを判定する。
【0057】
例えば、本日の日付が「2011.6.3」であり、所定期間が1か月であるとする。この場合、IPアドレス上位データ「01.02」が登録されたレコード401−2の調査日付は「2011.5.10」であるので、本日の日付より1か月以内の日付となる。従って、ステップS24の処理でYesと判定され、処理はステップS25に進む。
【0058】
ステップS25において、サーバ101のサーバ選択部265は、IPアドレス上位データが登録されたレコード401のサーバIDにより示されるサーバ101を選択する。例えば、サーバ選択部265は、IPアドレス上位データ「01.02」が登録されたレコード401−2のサーバID「A−1」により示されるサーバ101を選択する。ステップS25の処理の後、処理はステップS27に進む。
【0059】
一方、図8のステップS22の処理で取得された配信IPアドレスのIPアドレス上位データが「01.01」である場合、IPアドレス上位データ「01.01」は、図10のサーバ割付データベース203−1のレコード401−1に登録されている。従って、ステップS23の処理でYesと判定され、処理はステップS24に進む。
【0060】
IPアドレス上位データ「01.01」が登録されたレコード401−2の調査日付は「2011.3.25」であるので、本日の日付より1か月を超えた日付となる。従って、ステップS24の処理でNoと判定され、処理はステップS26に進む。
【0061】
ステップS26において、サーバ選択処理が実行される。図9を参照して、サーバ101のサーバ選択処理の詳細について説明する。
【0062】
図9のステップS61において、サーバ101の通信部264は、図8のステップS21の処理で接続要求を受けた情報処理端末102に応答要求を送信する。応答要求は、例えばpingであり、ネットワーク疎通を確認したい情報処理端末102に対してIPパケットを発行し、そのIPパケットが正しく届き、応答要求に対する応答が行われるかを確認する。
【0063】
図11は、情報処理端末102に応答要求を送信する一例を説明する図である。図11には、A国21Aでサーバ101−1に対して通信を行っていた情報処理端末102−1のユーザが、B国21Bに情報処理端末102−1を持って移動した例が示されている。
【0064】
図11の例では、ユーザが移動する前の配信IPアドレス「IP1」が設定された情報処理端末102が「情報処理端末102−1」として破線で示されている。また図11の例では、ユーザが移動した後の配信IPアドレス「IP2」が設定された情報処理端末102が「情報処理端末102−11」として実線で示されている。
【0065】
まず、図9のステップS61の処理により、図11のサーバ101−1の通信部264は、接続要求を受けた情報処理端末102−11に応答要求(例えばping)を送信する。ステップS62において、サーバ101の通信部264は、情報処理端末102から応答要求に対する応答を受信するまでの通信時間を計測する。すなわち、通信部264は、ステップS61の処理で情報処理端末102に応答要求を送信してから、応答要求に対する情報処理端末102からの応答を受信するまでの時間を表す通信時間を計測する。
【0066】
ステップS63において、サーバ101の取得部261は、サーバアドレスデータベース204から他のサーバ101Aの接続先IPアドレスを取得する。図12を参照して、サーバアドレスデータベース204について説明する。
【0067】
図12は、サーバアドレスデータベース204の一例を説明するための図である。図12のサーバアドレスデータベース204は、サーバID、および接続先IPアドレスから構成されている。例えば、レコード421−1には、サーバID「A−1」により示されるサーバ101(例えばサーバ101−1)の接続先IPアドレス「01.01.xxx.xxx」が示されている。図9のステップS63の処理により、図12のサーバアドレスデータベース204に記憶された全ての接続先IPアドレスが取得される。
【0068】
ステップS64において、サーバ101の通信部264は、他のサーバ101Aに情報処理端末102との通信時間の調査要求を送信する。すなわち、通信部264は、ステップS63の処理で接続先IPアドレスが取得された複数の他のサーバ101Aのそれぞれに、情報処理端末102との通信時間を計測するように要求する。なお、通信部264は、他のサーバ101Aが情報処理端末102と通信するために、図8のステップS22の処理で取得された配信IPアドレスを調査要求に付加して送信する。また、通信部264は、調査要求に対する通信時間の計測結果を他のサーバ101Aに返信させるために、サーバ101の接続先IPアドレスも調査依頼に付加して送信する。
【0069】
続いて図14を参照して、調査依頼が要求された他のサーバ101Aの処理について説明する。図14は、サーバ101Aのサーバ割付データベース更新処理を説明するフローチャートである。図14のステップS83,S84の処理は、図9のステップS61,S62の処理に対応する処理である。従って、これらの処理は繰り返しになるので簡単に説明する。
【0070】
ステップS81において、サーバ101Aの通信部264は、図9のステップS64の処理でサーバ101から送信された通信時間の調査要求を受け付ける。続いてステップS82において、サーバ101Aの取得部261は、ステップS81の処理で調査要求とともに送信された情報処理端末102の配信IPアドレスを取得する。
【0071】
そしてステップS83において、サーバ101Aの通信部264は、ステップS82の処理で取得された情報処理端末102の配信IPアドレスに応答要求を送信する。ステップS84において、サーバ101Aの通信部264は、情報処理端末102から応答要求に対する応答を受け付けるまでの通信時間を計測する。
【0072】
ステップS85において、サーバ101Aの通信部264は、図9のステップS64の処理で通信時間の調査要求に付加された、調査要求を送信したサーバ101の接続先IPアドレスを取得する。ステップS86において、サーバ101Aの通信部264は、ステップS85の処理で取得されたサーバ101の接続先IPアドレスに、ステップS84の処理で計測された通信時間の計測結果を送信する。
【0073】
図9に戻り、ステップS65において、サーバ101の通信部264は、他のサーバ101Aから計測結果を受け付ける。例えば、サーバ101−1の通信部264は、図11のサーバ101−2,101−11,101−12,101−21のそれぞれから、計測結果としての通信時間を受け付ける。
【0074】
ステップS66において、サーバ101のサーバ選択部265は、通信時間が最短となるサーバ101を選択する。すなわち、サーバ選択部265は、ステップS62の処理で計測された通信時間、およびステップS65の処理で受け付けられた計測結果としての通信時間から、通信時間が最短となるサーバ101を選択する。
【0075】
ステップS67において、サーバ101のデータベース制御部262は、サーバ割付データベース203のレコード401を更新する。具体的には、データベース制御部262は、図8のステップS22の処理で取得された配信IPアドレスに対応するIPアドレス上位データにより示されるレコード401に記憶されたサーバIDを、ステップS66の処理で選択された通信時間が最短となるサーバ101のサーバIDに変更するとともに、レコード401の調査日付を本日の日付に変更する。例えば、図10のレコード401−3が、図13のレコード401−11に更新(変更)される。
【0076】
ステップS68において、サーバ101の通信部264は、ステップS67の処理で更新されたサーバ割付データベース203を他のサーバ101Aに送信する。例えば、図12のサーバ101−1の通信部264は、サーバ101−2,101−11,101−12,101−21に、更新された図13のサーバ割付データベース203−11を送信する。
【0077】
なお、ステップS68の処理では、サーバ割付データベース203を送信するとしたが、更新されたレコード401(例えばレコード401−11)だけを他のサーバ101Aに送信することもできる。データ割付データベース203の代わりにレコード401を送信することで、サーバ割付データベース203を送信する場合に比べて通信するデータ量を小さくすることができるとともに、より迅速にサーバ割付データベース203の情報を同期させることができる。
【0078】
図14のステップS87において、サーバ101Aの取得部261は、図9のステップS68の処理でサーバ101から送信されたサーバ割付データベース203を取得する。ステップS88において、サーバ101Aのデータベース制御部262は、予め保持されているサーバ101Aのサーバ割付データベース203を、ステップS87の処理で取得されたサーバ割付データベース203に更新(変更)する。ステップS88の処理の後、サーバ101Aのサーバ割付データベース更新処理は終了する。
【0079】
また、図9のステップS68の処理の後、サーバ101のサーバ選択処理は終了し、処理は図8のステップS27に進む。ステップS27において、サーバ101の判定部263は、ステップS25またはステップS26の処理で選択された通信時間が最短となるサーバ101が自己のサーバであるかを判定する。
【0080】
ステップS27において、選択されたサーバ101が自己のサーバであると判定された場合(ステップS27:Yes)、処理はステップS28に進む。そして、ステップS28において、サーバ101の仮想PC制御部266は、仮想PCオブジェクトを生成する。すなわち、仮想PC制御部266は、仮想のOSやCPUを生成する。
【0081】
続いて、ステップS29において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータ241を取得する。例えば、取得部261は、情報処理端末102−1に対応付けられた仮想PCイメージデータ241−1を取得する。すなわち、取得部261は、情報処理端末102ごとに異なる仮想PCで利用するためのファイル、データ、アプリケーションなどを取得する。なお、情報処理端末102に対応付けられた仮想PCイメージデータ241が仮想PCイメージ記憶領域206に記憶されていない場合、取得部261は、予め設定された仮想PCイメージデータを取得することができる。
【0082】
ステップS30において、サーバ101の仮想PC制御部266は、仮想PCイメージデータを読み出した仮想PCオブジェクトを起動する。仮想PCオブジェクトが起動されることで、情報処理端末102は、サーバ101上で所定の処理を実行することができる。
【0083】
一方、ステップS27において、ステップS25またはステップS26の処理で選択されたサーバ101が自己のサーバでないと判定された場合(ステップS27:No)、処理はステップS31に進む。
【0084】
ステップS31において、サーバ101の取得部261は、ステップS25またはステップS26の処理で選択されたサーバ101Aの接続先IPアドレスをサーバアドレスデータベース204から取得する。例えば、図13を参照して説明したように、情報処理端末102との通信時間が最短となるサーバ101−12のサーバIDが「B−12」である場合、取得部261は、サーバID「B−12」のレコード421−2に登録された接続先IPアドレス「02.12.xxx.xxx」を取得する。
【0085】
ステップS32において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータ241を取得する。このステップS32の処理は、上述のステップS29の処理と同様の処理である。ステップS33において、サーバ101の通信部264は、ステップS25またはステップS26の処理で選択されたサーバ101Aに、ステップS32の処理で取得された仮想イメージデータ241を送信する。
【0086】
そして、ステップS34において、サーバ101の仮想PC制御部266は、ステップS33の処理で送信された仮想PCイメージデータ241を仮想PCイメージ記憶領域206から削除する。従って、複数のサーバ101のそれぞれで情報処理端末102の仮想PCイメージデータ241を記憶する必要がないため、仮想PCイメージ記憶領域206の肥大化を防ぎ、コストを低減することができる。また、仮想PCイメージデータ241は、他のサーバ101Aの仮想PCイメージデータ241と同期させて、整合性を保つ必要がないので、サーバ101の負担を低減することができる。
【0087】
ステップS35において、サーバの通信部264は、情報処理端末102に、ステップS31の処理で取得された接続先IPアドレスを通知する。すなわち、通信部264は、通信時間が最短となるサーバ101の接続先IPアドレスを情報処理端末102に通知する。
【0088】
ステップS30,S35の処理の後、サーバ101の情報処理端末接続処理は終了する。
【0089】
図7のステップS3において、情報処理端末102の判定部343は、他のサーバ101の接続先IPアドレスが通知されたかを判定する。すなわち、図8のステップS35の処理が実行され、サーバ101から他のサーバ101Aの接続先IPアドレスが通知されたかが判定される。
【0090】
ステップS3において、他のサーバ101Aの接続先IPアドレスが通知されたと判定された場合(ステップS3:Yes)、ステップS4において、情報処理端末102の記憶部344は、ステップS3の処理で通知された接続先IPアドレスを記憶する。すなわち、情報処理端末102の記憶装置308に記憶された接続先IPアドレス322が、他のサーバ101の接続先IPアドレスに更新される。
【0091】
ステップS5において、情報処理端末102の通信部342は、他のサーバ101に接続要求を送信する。すなわち、通信部342は、通信時間が最短となるサーバ101に接続要求を送信する。
【0092】
ステップS5の処理の後、およびステップS3の処理で、まだ他のサーバ101Aの接続先IPアドレスが通知されていないと判定された場合(ステップS3:No)、処理はステップS6に進む。ステップS6において、情報処理端末102の判定部343は、仮想PCオブジェクトが起動されたかを判定する。すなわち、サーバ101により起動され、提供される仮想PCオブジェクトをユーザが利用することができるかが判定される。
【0093】
ステップS6において、仮想PCオブジェクトが起動されていないと判定された場合(ステップS6:No)、すなわち、まだサーバ101により提供される仮想PCオブジェクトをユーザが利用することができない場合、処理はステップS3に戻り、それ以降の処理が繰り返される。
【0094】
一方、ステップS6において、仮想PCオブジェクトが起動されたと判定された場合(ステップS6:Yes)、すなわち、サーバ101により起動され、提供される仮想PCオブジェクトをユーザが利用することができる場合、処理はステップS7に進む。
【0095】
ステップS7において、情報処理端末102の制御部345は、仮想PCオブジェクトを制御する。すなわち、情報処理端末102の入力部305を介して入力されたユーザの入力操作を表す操作情報が、通信装置304を介してサーバ101に送信される。また、サーバ101の仮想PCオブジェクトにより、ユーザの入力操作に対して所定の処理が実行され、処理の結果が通信装置304および出力メモリ306を介して、出力部307に出力される。ステップS7の処理の後、情報処理端末102のサーバ接続処理は終了する。
【0096】
以上のように、サーバ101は、情報処理端末102との通信時間が最短となるサーバ101を選択するので、小さいパケットが大量に往復するクラウドコンピューティングを利用する情報処理端末102の操作性を向上させ、質の高いサービスを提供することができる。
【0097】
また、サーバ101は、情報処理端末102との通信時間が短いサーバ101を選択することで、ネットワークを通過するパケット量を削減し、ネットワーク全体としてのトラフィック量を削減するので、ネットワークの輻輳を防止することができるとともに、消費電力を低減することができる。
【0098】
次に、図15乃至図18を参照して、上述したサービス提供システム1の第2の動作について詳細に説明する。図15は、情報処理端末102のサーバ最適化処理を説明するフローチャートである。図16は、サーバ101の接続最適化処理を説明するフローチャートである。
【0099】
なお、図15のステップS201,S202,S204の処理は、図7のステップS1,S2,S4の処理に対応する処理である。また、図16のステップS221乃至S227,S229乃至S233の処理は、図8のステップS31乃至S35の処理に対応する処理である。従って、これらの処理は繰り返しになるので簡単に説明する。
【0100】
サービス提供システム1の第2の動作は、情報処理端末102がサーバ101の仮想PCオブジェクトを起動させない点が第1の動作と異なり、情報処理端末102との通信時間が最短となるサーバ101をサーバ101に選択させる点は第1の動作と同様である。
【0101】
図15のサーバ最適化処理は、情報処理端末102を操作するユーザの入力操作によりサーバ101の最適化が指示された場合に開始される。
【0102】
ステップS201において、情報処理端末102の取得部341は、予め記憶装置308に記憶された接続先IPアドレスを取得する。ステップS202において、情報処理端末102の通信部342は、ステップS201の処理で取得された接続先IPアドレスにより示されるサーバ101に最適化要求を送信する。最適化要求は、サーバ101に対して、情報処理端末102との通信時間が最短となるサーバ101の通知を要求するものであり、構成は接続要求と同様である。
【0103】
図16のステップS221において、サーバ101の通信部264は、ステップS202の処理で情報処理端末102から送信された情報処理端末102から最適化要求を受け付ける。ステップS222において、サーバ101の取得部261は、図15のステップS202の処理で最適化要求とともに送信される情報処理端末102の配信IPアドレスを取得する。
【0104】
続いて、ステップS223において、サーバ101の判定部263は、IPアドレス上位データがサーバ割付データベース203に登録されているかを判定する。ステップS223の処理において、IPアドレス上位データがサーバ割付データベース203に登録されていると判定された場合(ステップS223:Yes)、処理はステップS224に進む。
【0105】
ステップS224において、サーバ101の判定部263は、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたかを判定する。ステップS224の処理において、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されたと判定された場合(ステップS224:Yes)、処理はステップS225に進む。ステップS225において、サーバ101のサーバ選択部265は、IPアドレス上位データが登録されたレコード401のサーバIDにより示されるサーバ101を選択する。ステップS225の処理の後、処理はステップS227に進む。
【0106】
一方、ステップS223の処理において、IPアドレス上位データがサーバ割付データベース203に登録されていないと判定された場合(ステップS223:No)、およびステップS224の処理において、IPアドレス上位データが登録されたサーバ割付データベース203のレコード401が所定期間内に更新されていないと判定された場合(ステップS224:No)処理はステップS226に進む。
【0107】
ステップS226において、サーバ選択処理が実行される。サーバ選択処理により、サーバ選択部265は、情報処理端末102との通信時間が最短となるサーバ101を選択する。
【0108】
ステップS225,S226の処理の後、ステップS227において、サーバ101の判定部263は、ステップS225またはステップS226の処理で選択されたサーバ101が自己のサーバであるかを判定する。
【0109】
ステップS227において、選択されたサーバ101が自己のサーバであると判定された場合(ステップS227:Yes)、処理はステップS228に進む。ステップS228において、サーバ101の通信部264は、情報処理端末102に自己のサーバの接続先IPアドレスを通知する。
【0110】
一方、ステップS227において、ステップS225またはステップS226の処理で選択されたサーバ101が自己のサーバでないと判定された場合(ステップS227:No)、処理はステップS229に進む。
【0111】
ステップS229において、サーバ101の取得部261は、ステップS225またはステップS226の処理で選択されたサーバ101Aの接続先IPアドレスをサーバアドレスデータベース204から取得する。ステップS230において、サーバ101の取得部261は、仮想PCイメージ記憶領域206に記憶された情報処理端末102の仮想PCイメージデータを取得する。そして、ステップS231において、サーバ101の通信部264は、ステップS225またはステップS226の処理で選択されたサーバ101Aに、ステップS230の処理で取得された仮想イメージデータ241を送信する。
【0112】
続いて、ステップS232において、サーバ101の仮想PC制御部266は、ステップS231の処理で送信された仮想PCイメージデータ241を仮想PCイメージ記憶領域206から削除する。ステップS233において、サーバの通信部264は、情報処理端末102に、ステップS229の処理で取得された接続先IPアドレスを通知する。すなわち、通信部264は、通信時間が最短となるサーバの接続先IPアドレスを情報処理端末102に通知する。
【0113】
ステップS228,S233の処理の後、処理は図15のステップS203に進み、図16の接続最適化処理は終了する。
【0114】
また、図15のステップS203において、情報処理端末102の通信部342は、ステップS228またはステップS233の処理でサーバ101により通知された接続先IPアドレスを受け付ける。続いて、ステップS204において、情報処理端末102の記憶部344は、ステップS203の処理で受け付けた接続先IPアドレスを記憶装置308に記憶する。ステップS204の処理の後、サーバ最適化処理は終了する。
【0115】
以上のように、サーバ101は、情報処理端末102との通信時間が最短となるサーバ101を選択し、その接続先IPアドレスを情報処理端末102に通知する。従って、次に情報処理端末102がサーバ101と接続する場合に、接続されたサーバ101は、既に仮想PCイメージデータ241を保持しているので、ユーザに対してより迅速に所定のサービスを提供することができる。
【0116】
なお、図15のサーバ最適化処理は、携帯電話機などの情報処理端末102の設定、アプリケーションなどと連携して処理を開始する連携動作を実行こともできる。図17と図18を参照して、情報処理端末102の連携動作について説明する。
【0117】
図17は、情報処理端末102の通信制御処理を説明するフローチャートである。図18は、情報処理端末102の表示部501の表示の一例を示す図である。
【0118】
図18の例には、情報処理端末102を保持するユーザが、A国からB国へ移動するために飛行機を利用する場合の電波オフモードの設定画面が表示部501に表示されている。表示部501は、情報処理端末102の出力部307に含まれるディスプレイなどにより構成される。電波オフモードとは、情報処理端末102からの電波の放出を禁止するモードである。
【0119】
図17の通信制御処理は、電波オフモードの状態が変更された場合、すなわち、電波オフモードが解除された状態から設定された状態に変更された場合、または電波オフモードが設定された状態から解除された状態に変更された場合に開始される。
【0120】
ステップS261において、取得部341は、入力部305を介して、ユーザの入力を取得する。例えば、ユーザがA国にいる場合、図17の表示部501−1に表示されているように、「解除する」が選択されている。ユーザがA国からB国へ移動するために飛行機に搭乗する場合、表示部501−11に表示されているように、ユーザの操作により「設定する」が選択され、OKボタン521−11が選択される。この場合、取得部341は、ユーザの入力として電波オフモードを設定した「電波オフ」を取得する。
【0121】
図18のステップS262において、判定部343は、ステップS261の処理で取得されたユーザの入力により電波オフが設定されたかを判定する。ユーザが飛行機に搭乗し、A国からB国へ移動中の場合、電波オフが設定される。従って、ステップS262の処理でYesと判定され、処理はステップS263に進む。ステップS263において、制御部345は、高周波出力を停止する。すなわち、制御部345は、電波オフモードが設定された場合、情報処理端末102からの電波の放出を禁止する。
【0122】
一方、ユーザがB国に到着し、飛行機から降りた場合、表示部501−21に表示されているように、ユーザの操作により「解除する」が選択され、OKボタン521−21が選択される。この場合、ステップS261において、取得部341は、ユーザの入力として電波オフモードを解除した「電波オン」を取得する。
【0123】
続いて、ステップS262の処理で電波オフが設定されていないと判定され(ステップS22:No)、処理はステップS264に進む。ステップS264において、制御部345は、高周波出力を開始する。すなわち、制御部345は、電波オフモードが解除された場合、情報処理端末102からの電波の放出を開始する。
【0124】
続いて、ステップS265において、図15のサーバ最適化処理が実行される。サーバ最適化処理が実行されることにより、情報処理端末102との通信時間が最短となるサーバ101の接続先IPアドレスが取得される。
【0125】
ステップS263,S265の処理の後、情報処理端末102の通信制御処理は終了する。
【0126】
以上のように、連携動作を実行することで、情報処理端末102を操作するユーザの負担を低減することができる。
【0127】
なお、情報処理端末102は、情報処理端末102に設置された電源ボタン、スタンバイボタンなどと連携して図7のサーバ接続処理、図15のサーバ最適化処理を開始するボタン連携動作も実行することもできる。図19と図20を参照して、ボタン連携動作について説明する。
【0128】
図19は、情報処理端末102の起動制御処理を説明するフローチャートである。図20は、情報処理端末102の外観の一例を示す図である。
【0129】
図20には、情報処理端末102の側面に電源ボタン601、スタンバイボタン602、およびスタンバイ表示LED(Light Emitting Diode)603が配置された例が示されている。電源ボタン601は、ユーザの押下により情報処理端末102に電力を供給させ、電源のオンにさせる。スタンバイボタン602は、ユーザの押下により情報処理端末102の状態を消費電力が小さくなるスタンバイモードに移行させる。スタンバイモードでは、情報処理端末102の必要最小限の回路以外への電流を遮断するモードである。スタンバイモードでは、次に電源ボタン601が押下されて情報処理端末102が起動する場合、通常の起動時間よりも起動時間を短くすることができる。スタンバイ表示LED603は、情報処理端末102がスタンバイモードである場合に点灯される。
【0130】
図19の起動制御処理は、例えば情報処理端末102に電力が供給されていない場合に、ユーザにより図20の電源ボタン601およびスタンバイボタン602のいずれかが押下された場合に開始される。
【0131】
ステップS301において、取得部341は、ユーザにより電源ボタン601およびスタンバイボタン602のいずれかが押下されたことを表す押下状態を取得する。取得された押下状態は、RAM303に保持される。ステップS302において、制御部345は、初期化処理を実行する。ステップS301の処理により、情報処理端末102の動作に十分な電力が供給されるので、制御部345は、情報処理端末102を動作させるために予め設定された初期化処理を実行する。
【0132】
ステップS303において、判定部343は、ステップS301の処理で取得された押下状態に基づいて、スタンバイボタン602が押下されたかを判定する。ステップS303において、スタンバイボタン602が押下されたと判定された場合(ステップS303:Yes)、処理はステップS304に進む。
【0133】
ステップS304において、図15のサーバ最適化処理が実行される。サーバ最適化処理が実行されることにより、情報処理端末102との通信時間が最短となるサーバ101の接続先IPアドレスが取得される。ステップS304のサーバ最適化処理の後、ステップS305において、制御部345は、スタンバイ表示LED603を点灯する。スタンバイ表示LED603を点灯させることで、ユーザは、情報処理端末102の状態がスタンバイモードであることを確認することができる。続いて、ステップS305において、制御部345は、スタンバイモードに移行する。
【0134】
一方、ステップS303において、スタンバイボタン602が押下されていないと判定された場合(ステップS303:No)、すなわち、電源ボタン601が押下された場合、処理はステップS307に進む。ステップS307において、図7のサーバ接続処理が実行される。サーバ接続処理が実行されることで、情報処理端末102は、サーバ101により提供される仮想PCオブジェクトを利用することができる。
【0135】
ステップS306,S307の処理の後、起動制御処理は終了する。
【0136】
以上のようにユーザのボタン操作と連携動作をさせることで、ユーザが容易かつ確実に所定の操作を実行することができる。
【0137】
なお、本明細書において、システムの用語は、複数の装置、手段などより構成される全体的な装置を意味するものとする。
【0138】
また、本実施形態は、上述した実施形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本実施形態は、一部の機能を他の装置が有していても良い。
【0139】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理端末等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
【0140】
(付記1)
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
サーバ装置。
【0141】
上記サーバ装置によると、
通信手段(通信部264)は、ネットワークを介して接続された情報処理端末からの接続要求を受け付ける。
サーバ装置選択手段(サーバ選択部265)は、ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた情報処理端末に対して予め設定された条件を満たす他のサーバ装置を選択する。
記憶手段(仮想PCイメージ記憶領域206)は、接続要求を受けた情報処理端末により利用される当該情報処理端末毎の利用データ(仮想PCイメージデータ241)を記憶する。
そして通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、サーバ装置選択手段にて選択された他のサーバ装置を接続先として通知する。
従って、上記サーバ装置は、情報処理端末に対して所定の条件(例えばサービスの質を向上させるための条件)を満たすサーバ装置を情報処理端末に通知するので、情報処理端末に対するサービスの質を向上させることができる。
【0142】
(付記2)
付記1に記載のサーバ装置であって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを前記記憶手段から削除する、
サーバ装置。
【0143】
上記サーバ装置によると、
通信手段は、サーバ装置選択手段にて選択された他のサーバ装置に、記憶手段に記憶された接続要求を受けた情報処理端末の利用データを送信するとともに、当該送信した情報処理端末の利用データを記憶手段から削除する。
従って、上記サーバ装置は、記憶容量を小さくすることができるのでコストを削減することができる。また、上記サーバ装置は、情報処理端末の利用データを他のサーバ装置と同期させる必要がないので、負荷を軽減することができる。
【0144】
(付記3)
付記1又は2に記載のサーバ装置であって、
前記通信手段は、接続要求を受け付けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、前記複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、前記他のサーバ装置から計測結果を受け付け、
前記サーバ装置選択手段は、前記他のサーバ装置から受け付けた前記計測結果に基づいて、前記通信時間が最短となるサーバ装置を選択する、
サーバ装置。
【0145】
上記サーバ装置によると、
通信手段は、接続要求を受け付けた情報処理端末に対して応答要求を送信してから当該応答要求に対する情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた情報処理端末に対して応答要求を送信してから当該応答要求に対する情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、他のサーバ装置から計測結果を受け付ける。
サーバ装置選択手段は、他のサーバ装置から受け付けた計測結果に基づいて、通信時間が最短となるサーバ装置を選択する。
従って、上記サーバ装置は、情報処理端末との通信時間が最短となるサーバ装置と情報処理端末とを接続させることができる。
【0146】
(付記4)
付記1乃至3のいずれかに記載のサーバ装置であって、
前記サーバ装置選択手段により選択された前記サーバ装置を識別するサーバ装置識別情報と、接続要求を受け付けた前記情報処理端末の前記ネットワーク上における位置を表す位置情報と、を対応付けてデータベースに記憶するデータベース制御手段を備え、
前記通信手段は、前記複数の他のサーバ装置に対して前記データベースを送信し、
前記サーバ装置選択手段は、前記データベースに基づいて、接続要求を受けた前記情報処理端末からの当該接続要求に含まれる位置情報に対応する前記他のサーバ装置を選択する、
サーバ装置。
【0147】
上記サーバ装置によると、
データベース制御手段(データベース制御部262)は、サーバ装置選択手段により選択されたサーバ装置を識別するサーバ装置識別情報(サーバID)と、接続要求を受け付けた情報処理端末のネットワーク上における位置を表す位置情報(IPアドレス上位データ)と、を対応付けてデータベース(データ割付データベース203)に記憶する。
通信手段は、複数の他のサーバ装置に対してデータベースを送信する。
サーバ装置選択手段は、データベースに基づいて、接続要求を受けた情報処理端末からの当該接続要求に含まれる位置情報に対応する他のサーバ装置を選択する。
従って、上記サーバ装置は、データベースを参照して、情報処理端末との通信時間が最短となるサーバ装置を情報処理端末に提供することができる。また、上記サーバ装置は、複数の他のサーバ装置とデータベースの内容を同期することができる。
【0148】
(付記5)
付記1乃至4のいずれかに記載のサーバ装置であって、
前記情報処理端末により利用される仮想的な情報処理環境を生成して、提供する制御手段を備え、
前記通信手段は、前記仮想的な情報処理環境で読み出される前記情報処理端末の利用データを、前記サーバ装置選択手段にて選択された前記他のサーバ装置に送信する、
サーバ装置。
【0149】
上記サーバ装置によると、
制御手段(仮想PC制御部266)は、情報処理端末により利用される仮想的な情報処理環境(仮想PCオブジェクト)を生成して、提供する。
通信手段は、仮想的な情報処理環境で読み出される情報処理端末の利用データを、サーバ装置選択手段にて選択された他のサーバ装置に送信する。
従って、上記サーバ装置は、情報処理端末がどこに移動しても常に情報処理端末が所望するサービスを提供することができる。
【0150】
(付記6)
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
ことを実現させるためのプログラム。
【0151】
(付記7)
付記6に記載のプログラムであって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
プログラム。
【0152】
(付記8)
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、
情報処理方法。
【0153】
(付記9)
付記8に記載の情報処理方法であって、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
情報処理方法。
【0154】
(付記10)
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、
通信システム。
【符号の説明】
【0155】
101 サーバ
102 情報処理端末
206 仮想PCイメージ記憶領域
262 データベース制御部
264 通信部
266 仮想PC制御部
342 通信部
【特許請求の範囲】
【請求項1】
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
サーバ装置。
【請求項2】
請求項1に記載のサーバ装置であって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを前記記憶手段から削除する、
サーバ装置。
【請求項3】
請求項1又は2に記載のサーバ装置であって、
前記通信手段は、接続要求を受け付けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、前記複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、前記他のサーバ装置から計測結果を受け付け、
前記サーバ装置選択手段は、前記他のサーバ装置から受け付けた前記計測結果に基づいて、前記通信時間が最短となるサーバ装置を選択する、
サーバ装置。
【請求項4】
請求項1乃至3のいずれかに記載のサーバ装置であって、
前記サーバ装置選択手段により選択された前記サーバ装置を識別するサーバ装置識別情報と、接続要求を受け付けた前記情報処理端末の前記ネットワーク上における位置を表す位置情報と、を対応付けてデータベースに記憶するデータベース制御手段を備え、
前記通信手段は、前記複数の他のサーバ装置に対して前記データベースを送信し、
前記サーバ装置選択手段は、前記データベースに基づいて、接続要求を受けた前記情報処理端末からの当該接続要求に含まれる位置情報に対応する前記他のサーバ装置を選択する、
サーバ装置。
【請求項5】
請求項1乃至4のいずれかに記載のサーバ装置であって、
前記情報処理端末により利用される仮想的な情報処理環境を生成して、提供する制御手段を備え、
前記通信手段は、前記仮想的な情報処理環境で読み出される前記情報処理端末の利用データを、前記サーバ装置選択手段にて選択された前記他のサーバ装置に送信する、
サーバ装置。
【請求項6】
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
ことを実現させるためのプログラム。
【請求項7】
請求項6に記載のプログラムであって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
プログラム。
【請求項8】
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、
情報処理方法。
【請求項9】
請求項8に記載の情報処理方法であって、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
情報処理方法。
【請求項10】
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、
通信システム。
【請求項1】
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
サーバ装置。
【請求項2】
請求項1に記載のサーバ装置であって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを前記記憶手段から削除する、
サーバ装置。
【請求項3】
請求項1又は2に記載のサーバ装置であって、
前記通信手段は、接続要求を受け付けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するとともに、前記複数の他のサーバ装置のそれぞれに、当該他のサーバ装置が接続要求を受けた前記情報処理端末に対して応答要求を送信してから当該応答要求に対する前記情報処理端末からの応答を受信するまでの時間を表す通信時間を計測するよう要求して、前記他のサーバ装置から計測結果を受け付け、
前記サーバ装置選択手段は、前記他のサーバ装置から受け付けた前記計測結果に基づいて、前記通信時間が最短となるサーバ装置を選択する、
サーバ装置。
【請求項4】
請求項1乃至3のいずれかに記載のサーバ装置であって、
前記サーバ装置選択手段により選択された前記サーバ装置を識別するサーバ装置識別情報と、接続要求を受け付けた前記情報処理端末の前記ネットワーク上における位置を表す位置情報と、を対応付けてデータベースに記憶するデータベース制御手段を備え、
前記通信手段は、前記複数の他のサーバ装置に対して前記データベースを送信し、
前記サーバ装置選択手段は、前記データベースに基づいて、接続要求を受けた前記情報処理端末からの当該接続要求に含まれる位置情報に対応する前記他のサーバ装置を選択する、
サーバ装置。
【請求項5】
請求項1乃至4のいずれかに記載のサーバ装置であって、
前記情報処理端末により利用される仮想的な情報処理環境を生成して、提供する制御手段を備え、
前記通信手段は、前記仮想的な情報処理環境で読み出される前記情報処理端末の利用データを、前記サーバ装置選択手段にて選択された前記他のサーバ装置に送信する、
サーバ装置。
【請求項6】
サーバ装置に、
ネットワークを介して接続された情報処理端末からの接続要求を受け付ける通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、を実現させるとともに、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知する、
ことを実現させるためのプログラム。
【請求項7】
請求項6に記載のプログラムであって、
前記通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
プログラム。
【請求項8】
サーバ装置にて、
ネットワークを介して接続された情報処理端末からの接続要求を受け付け、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択し、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、選択された前記他のサーバ装置を接続先として通知する、
情報処理方法。
【請求項9】
請求項8に記載の情報処理方法であって、
選択された前記他のサーバ装置に、予め記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該送信した前記情報処理端末の利用データを削除する、
情報処理方法。
【請求項10】
ネットワークを介して接続された情報処理端末と複数のサーバ装置とにより構成される通信システムであって、
前記情報処理端末は、
前記サーバ装置に接続要求を送信する第1の通信手段、を備え、
前記サーバ装置は、
前記情報処理端末からの接続要求を受け付ける第2の通信手段と、
前記ネットワークを介して接続された複数の他のサーバ装置のうち、接続要求を受けた前記情報処理端末に対して予め設定された条件を満たす前記他のサーバ装置を選択するサーバ装置選択手段と、
接続要求を受けた前記情報処理端末により利用される当該情報処理端末毎の利用データを記憶する記憶手段と、を備え、
前記第2の通信手段は、前記サーバ装置選択手段にて選択された前記他のサーバ装置に、前記記憶手段に記憶された接続要求を受けた前記情報処理端末の利用データを送信するとともに、当該情報処理端末に対して、前記サーバ装置選択手段にて選択された前記他のサーバ装置を接続先として通知し、
前記情報処理端末の前記第1の通信手段は、前記第2の通信手段により送信された接続先に示される前記他のサーバ装置に接続要求を送信する、
通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−74406(P2013−74406A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−211086(P2011−211086)
【出願日】平成23年9月27日(2011.9.27)
【出願人】(310006855)NECカシオモバイルコミュニケーションズ株式会社 (1,081)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月27日(2011.9.27)
【出願人】(310006855)NECカシオモバイルコミュニケーションズ株式会社 (1,081)
【Fターム(参考)】
[ Back to top ]