(57)【要約】【課題】携帯通信端末の操作性を著しく低下、フリーズさせるなどの障害を生じさせることなく、ソフトウェアの使用を可能とする携帯通信システムを提供する。【解決手段】使用者により、実行するソフトウェアが選択されると、実行判定部２９は、実行要求されたソフトウェアに必要とされる処理能力と、提供可能な演算処理能力とを比較する。ソフトウェアに必要とされる処理能力が、提供可能な処理能力より大きい場合、実行判定部２９は、ソフトウェアの実行を代理処理サーバ１３へ委託する。実行要求されたソフトウェアに必要とされる処理能力が、提供可能な演算処理能力以下であると判断された場合、演算処理部２４は、実行要求されたソフトウェアを携帯通信端末１１上にて実行する。【選択図】図２
2013065207.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された携帯通信端末およびサーバからなる携帯通信システムであって、
前記携帯通信端末は、
ソフトウェアを実行する演算処理部と、
実行要求されたソフトウェアの処理環境を選択する実行判定部と、を備え、
前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力と、前記演算処理部が前記実行要求されたソフトウェアに対して提供可能な処理能力とを比較し、前記必要とされる処理能力が前記提供可能な処理能力より大きい場合には、前記実行要求されたソフトウェアを前記サーバへ送信してソフトウェアの代理実行を要求し、前記必要とされる処理能力が、前記提供可能な処理能力以下である場合には、前記実行要求されたソフトウェアの実行を前記演算処理部に指示し、
前記サーバは、
前記携帯通信端末の演算処理環境を仮想的に構築した仮想環境と、
前記仮想環境を制御する実行制御部と、を備え、
前記実行制御部は、前記携帯通信端末から前記実行要求されたソフトウェアを受信すると、前記実行要求されたソフトウェアを前記仮想環境で実行処理し、前記ソフトウェアの実行結果を前記携帯通信端末に送信することを特徴とすることを特徴とする携帯通信システム。
【請求項２】
前記携帯通信端末は、ソフトウェアの実行環境の情報を保持する実行情報管理部を更に備え、
前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力が前記提供可能な処理能力より大きい場合、前記実行情報管理部が保持するソフトウェアの実行環境の情報に基づいて、前記実行要求されたソフトウェアが自端末での実行を必須とするか否かを判定し、前記実行要求されたソフトウェアが自端末での実行を必須とする場合には、既に自端末で実行されているソフトウェアであって前記サーバで実行可能なソフトウェアを前記サーバへ送信してソフトウェアの代理実行を要求することを特徴とする請求項１に記載の携帯通信システム。
【請求項３】
前記携帯通信端末は、ソフトウェアの取得情報を保持する取得情報記憶部を更に備え、
前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力が前記提供可能な処理能力より大きい場合、上りの予測帯域と、前記実行要求されたソフトウェアの容量とからソフトウェアの転送時間を推定し、推定した転送時間が閾値以下の場合には、前記実行要求されたソフトウェアを前記サーバに送信してソフトウェアの代理実行を要求し、推定した転送時間が閾値より大きい場合には、前記実行要求されたソフトウェアの取得情報を前記取得情報記憶部から取得して、前記サーバに送信することを特徴とする請求項１に記載の携帯通信システム。
【請求項４】
前記サーバの実行制御部は、前記携帯通信端末から前記実行要求されたソフトウェアの取得情報を受信した場合、前記実行要求されたソフトウェアをネットワーク上から取得し、取得したソフトウェアを前記仮想環境にて代理実行することを特徴とする請求項３に記載の携帯通信システム。
【請求項５】
前記サーバの実行制御部は、前記ソフトウェアを取得する際にライセンス認証要求を検知した場合、前記ライセンス認証要求を前記携帯通信端末に送信し、前記携帯通信端末から前記ライセンス認証要求の結果を受信することを特徴とする請求項４に記載の携帯通信システム。。
【請求項６】
ネットワークを介してサーバに接続された携帯通信端末であって、
ソフトウェアを実行する演算処理部と、
実行要求されたソフトウェアの処理環境を選択する実行判定部と、を備え、
前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力と、前記演算処理部が前記実行要求されたソフトウェアに対して提供可能な処理能力とを比較し、前記必要とされる処理能力が前記提供可能な処理能力より大きい場合には、前記実行要求されたソフトウェアの代理実行を前記サーバへ要求し、前記必要とされる処理能力が、前記提供可能な処理能力以下である場合には、前記実行要求されたソフトウェアの実行を前記演算処理部に対して指示することを特徴とする携帯通信端末。
【請求項７】
ソフトウェアの実行環境の情報を保持する実行情報管理部を更に備え、
前記実行判定部は、前記実行情報管理部が保持するソフトウェアの実行環境の情報に基づいて、前記実行要求されたソフトウェアが自端末での実行を必須とするか否かを判定し、前記実行要求されたソフトウェアが自端末での実行を必須とする場合には、既に実行されているソフトウェアであって前記サーバで実行可能なソフトウェアの代理実行を前記サーバへ要求することを特徴とする請求項６に記載の携帯通信端末。
【請求項８】
ネットワークを介して携帯通信端末に接続されたサーバであって、
前記携帯通信端末の演算処理環境を仮想的に構築した仮想環境と、
前記仮想環境を制御する実行制御部と、を備え、
前記実行制御部は、前記携帯通信端末からソフトウェアの代理実行要求を受信すると、要求のあったソフトウェアを前記仮想環境で実行処理し、前記ソフトウェアの実行結果を前記携帯通信端末に送信することを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯通信端末で実行可能なソフトウェアをサーバで代理実行する携帯通信システムと、この携帯通信システムにおいて用いられる携帯通信端末およびサーバに関する。
【背景技術】
【０００２】
近年、音声通話、メール機能等の特定の機能を実装し、端末の購入後に、使用者が自分の必要とするソフトウェアを購入し実装するという携帯通信端末が現れてきている（例えば、特許文献１参照）。また、従来、携帯通信端末のＯＳは、携帯通信端末メーカに固有のものであり、携帯通信端末のソフトウェアは、個々の携帯通信端末メーカによって、端末の機能として端末に実装した形で供給されていたが、携帯通信端末のＯＳに、様々なフリーのＯＳが使われるようになってきているため、携帯通信端末メーカ以外の開発者からもソフトウェアが供給されるようになってきている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３４７８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、携帯通信端末メーカ以外の開発者から供給されるソフトウェアは、全ての携帯通信端末の処理能力を想定して開発が行われているわけではないため、全ての携帯通信端末において、快適に動作するとは限らない。携帯通信端末は、携帯通信端末の処理能力を超えたソフトウェアを実行すれば、演算処理速度が間に合わず、また、メモリが足らず、スワップを頻発することにより、ゆっくりとした応答になり、場合によっては、フリーズするなどの問題を有することとなる。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、本発明の目的は、携帯通信端末の操作性を著しく低下、フリーズさせるなどの障害を生じさせることなく、ソフトウェアの使用を可能とする携帯通信システムと、この携帯通信システムにおいて用いられる携帯通信端末およびサーバを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、ネットワークを介して相互に接続された携帯通信端末およびサーバからなる携帯通信システムであって、前記携帯通信端末は、ソフトウェアを実行する演算処理部と、実行要求されたソフトウェアの処理環境を選択する実行判定部とを備え、前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力と、前記演算処理部が前記実行要求されたソフトウェアに対して提供可能な処理能力とを比較し、前記必要とされる処理能力が前記提供可能な処理能力より大きい場合には、前記実行要求されたソフトウェアを前記サーバへ送信してソフトウェアの代理実行を要求し、前記必要とされる処理能力が、前記提供可能な処理能力以下である場合には、前記実行要求されたソフトウェアの実行を前記演算処理部に指示し、前記サーバは、前記携帯通信端末の演算処理環境を仮想的に構築した仮想環境と、前記仮想環境を制御する実行制御部とを備え、前記実行制御部は、前記携帯通信端末から前記実行要求されたソフトウェアを受信すると、前記実行要求されたソフトウェアを前記仮想環境で実行処理し、前記ソフトウェアの実行結果を前記携帯通信端末に送信することを特徴とする。
【０００７】
前記携帯通信端末は、ソフトウェアの実行環境の情報を保持する実行情報管理部を更に備え、前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力が前記提供可能な処理能力より大きい場合、前記実行情報管理部が保持するソフトウェアの実行環境の情報に基づいて、前記実行要求されたソフトウェアが自端末での実行を必須とするか否かを判定し、前記実行要求されたソフトウェアが自端末での実行を必須とする場合には、既に自端末で実行されているソフトウェアであって前記サーバで実行可能なソフトウェアを前記サーバへ送信してソフトウェアの代理実行を要求することが好ましい。
【０００８】
前記携帯通信端末は、ソフトウェアの取得情報を保持する取得情報記憶部を更に備え、前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力が前記提供可能な処理能力より大きい場合、上りの予測帯域と、前記実行要求されたソフトウェアの容量とからソフトウェアの転送時間を推定し、推定した転送時間が閾値以下の場合には、前記実行要求されたソフトウェアを前記サーバに送信してソフトウェアの代理実行を要求し、推定した転送時間が閾値より大きい場合には、前記実行要求されたソフトウェアの取得情報を前記取得情報記憶部から取得して、前記サーバに送信することが好ましい。
【０００９】
前記サーバの実行制御部は、前記携帯通信端末から前記実行要求されたソフトウェアの取得情報を受信した場合、前記実行要求されたソフトウェアをネットワーク上から取得し、取得したソフトウェアを前記仮想環境にて代理実行することが好ましい。
【００１０】
前記サーバの実行制御部は、前記ソフトウェアを取得する際にライセンス認証要求を検知した場合、前記ライセンス認証要求を前記携帯通信端末に送信し、前記携帯通信端末から前記ライセンス認証要求の結果を受信することが好ましい。
【００１１】
また、本発明は、ネットワークを介してサーバに接続された携帯通信端末であって、ソフトウェアを実行する演算処理部と、実行要求されたソフトウェアの処理環境を選択する実行判定部とを備え、前記実行判定部は、前記実行要求されたソフトウェアを実行するために必要とされる処理能力と、前記演算処理部が前記実行要求されたソフトウェアに対して提供可能な処理能力とを比較し、前記必要とされる処理能力が前記提供可能な処理能力より大きい場合には、前記実行要求されたソフトウェアの代理実行を前記サーバへ要求し、前記必要とされる処理能力が、前記提供可能な処理能力以下である場合には、前記実行要求されたソフトウェアの実行を前記演算処理部に対して指示することを特徴とする。
【００１２】
本発明の携帯通信端末は、ソフトウェアの実行環境の情報を保持する実行情報管理部を更に備え、前記実行判定部は、前記実行情報管理部が保持するソフトウェアの実行環境の情報に基づいて、前記実行要求されたソフトウェアが自端末での実行を必須とするか否かを判定し、前記実行要求されたソフトウェアが自端末での実行を必須とする場合には、既に実行されているソフトウェアであって前記サーバで実行可能なソフトウェアの代理実行を前記サーバへ要求することが好ましい。
【００１３】
また、本発明は、ネットワークを介して携帯通信端末に接続されたサーバであって、前記携帯通信端末の演算処理環境を仮想的に構築した仮想環境と、前記仮想環境を制御する実行制御部とを備え、前記実行制御部は、前記携帯通信端末からソフトウェアの代理実行要求を受信すると、要求のあったソフトウェアを前記仮想環境で実行処理し、前記ソフトウェアの実行結果を前記携帯通信端末に送信することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、使用者にて選択されたソフトウェアの実行にて必要とする処理能力と、携帯通信端末が提供可能な処理能力を算出して、選択されたソフトウェアの実行環境を選択するため、携帯通信端末の操作性を著しく低下、フリーズさせるなどの障害を生じさせることなく、ソフトウェアの使用が可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る携帯通信システムの構成を示す図である。
【図２】本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの構成を示す図である。
【図３】本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末の第１の動作例を説明するフローチャートである。
【図４】本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末の第２の動作例を説明するフローチャートである。
【図５】携帯通信端末の表示部に表示されるメッセージの一例を示す図である。
【図６】携帯通信端末の表示部に表示されるメッセージの一例を示す図である。
【図７】携帯通信端末の表示部に表示されるメッセージの一例を示す図である。
【図８】ソフトウェアの属性情報が格納されたテーブルの一例を示す図である。
【図９】本発明の第２の実施形態に係る携帯通信システムの構成を示す図である。
【図１０】本発明の第２の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの構成を示す図である。
【図１１】本発明の第２の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの動作例を説明するフローチャートである。
【図１２】ソフトウェアの取得情報が格納されたテーブルの一例を示す図である。
【発明を実施するための形態】
【００１６】
本発明の実施の形態について図面を参照して説明する。図１は、本発明の第１の実施形態に係る携帯通信システムの構成を示す図である。携帯通信端末１１は、基地局１２を介してネットワーク１９に通信接続する。携帯通信端末１１は、ネットワーク１９に接続するＷｅｂサーバ１４のＷｅｂページにアクセスし、Ｗｅｂサーバ１４のＷｅｂページを携帯通信端末１１にて視認する。代理処理サーバ１３は、ネットワーク１９に接続し、携帯通信端末１１からソフトウェアの代理実行要求を受信した場合、要求のあったソフトウェアを実行処理し、その演算結果を携帯通信端末１１に送信する。携帯通信端末１１では、受信した演算結果を表示出力（音声出力）する。なお、ここで、携帯通信端末１１は、例えば、携帯電話機、スマートフォンなどの情報端末である。
【００１７】
図２は、本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの構成を示す図である。携帯通信端末１１は、通話機能部２１と、マイク２２と、スピーカ２３と、演算処理部２４と、記憶部２５と、送受信部２６と、操作部２７と、表示部２８と、実行判定部２９と、実行情報管理部３０により構成されている。実行判定部２９は、実行要求されたソフトウェアの処理環境を選択する。実行情報管理部３０は、ソフトウェアの属性情報である、ソフトウェアの実行環境と、ソフトウェアが必要とする処理能力の情報（必須処理サイクル、必須メモリ容量）を保持する。
【００１８】
使用者１は、携帯通信端末１１の操作部２７からキー入力を行い、電話番号などを入力する。また、表示部２６に表示出力された内容を視認する。記憶部２５は、電話帳などの個人情報を記憶保持し、また、携帯情報端末１１にて実行するソフトウェアを記憶保持する。使用者１は、操作部２７を介して、記憶部２５に記憶保持されているソフトウェアの実行を要求する。実行要求されたソフトウェアが、演算処理部２４にて実行（演算処理）されると、実行結果が表示部２８に表示出力され、使用者１が視認することとなる。実行判定部２９は、ネットワーク１９との接続を行う場合、送受信部２６、アンテナ３１を介して、基地局１２と通信する。
【００１９】
使用者１が記憶部２５に記憶保持されているソフトウェアの実行を要求した場合、実行判定部２９は、実行要求されたソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を実行情報管理部３０へ登録する。実行判定部２９は、実行情報管理部３０から、既に実行されているソフトウェアの属性情報（必要とする処理能力の情報）を取得し、携帯通信端末１１の演算処理部２４の処理能力から、既に実行されているソフトウェアによって占有されている処理能力分を除いて、演算処理部２４が実行要求されたソフトウェアに対して提供可能な処理能力を算出する。実行判定部２９は、実行情報管理部３０から、実行要求されたソフトウェアの属性情報（必要とする処理能力の情報）を取得し、実行要求されたソフトウェアが必要とする処理能力と、演算処理部２４が提供可能な処理能力とに基づいて、実行要求されたソフトウェアが携帯通信端末１１上で実行可能であるか否かを判定する。実行要求されたソフトウェアが必要とする処理能力が、提供可能な処理能力より大きい場合、実行要求されたソフトウェアを携帯通信端末１１上で実行した際に操作性を著しく悪化させることが考えられるため、実行判定部２９は、実行要求されたソフトウェアと、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を代理処理サーバ１３へ転送して、実行要求されたソフトウェアの代理実行を代理処理サーバ１３へ要求する。
【００２０】
代理処理サーバ１３は、オペレーティング・システム、演算処理、メモリなどからなる、携帯通信端末１１の演算処理環境を仮想的に構築した仮想環境４０と、通信Ｉ／Ｆ（インタフェース）４１と、仮想環境４０でのソフトウェアの処理および仮想環境４０の制御管理を行う実行制御部４２とにより構成されている。図では、仮想環境４０は、ソフトウェアを実行処理する演算処理部４３と、携帯通信端末１１における入出力Ｉ／Ｆに代わって対応する疑似Ｉ／Ｆ４４のみを示している。
【００２１】
実行制御部４２は、実行判定部２９からソフトウェアと、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を受信すると、ソフトウェアが必要とする処理能力の情報に基づいて、仮想環境４０の演算処理能力、メモリの設定を行う。調整された仮想環境４０において、仮想環境４０が備える演算処理部４３は、受信したソフトウェアを実行する。ソフトウェアの実行に伴う演算結果は、疑似Ｉ／Ｆ４４に出力される。実行制御部４２は、疑似Ｉ／Ｆ４４に出力された演算結果を、通信Ｉ／Ｆ４１を介して、携帯通信端末１１の実行判定部２９に送信し、実行判定部２９は、受信した演算結果を対応する出力部（スピーカ２３、表示部２８、記憶部２５）に出力する。
【００２２】
図３は、本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末の第１の動作例を説明するフローチャートである。操作部２７にて使用者１により、ソフトウェアを選択してソフトウェアの実行が要求されると、実行判定部２９は、実行情報管理部３０から、実行要求されたソフトウェアの属性情報（必要とする処理能力の情報）を取得する（ステップＳ１０１）。更に、実行判定部２９は、実行情報管理部３０から携帯通信端末１１の内部状況の情報と、既に実行されているソフトウェアのＣＰＵ、メモリの占有状況の情報および占有されている演算処理能力とを同時に取得する（ステップＳ１０２）。実行判定部２９は、既に実行されているソフトウェアによって占有されている演算処理能力分を除いて、演算処理部２４が提供可能な演算処理能力とを算出する（ステップＳ１０３）。
【００２３】
実行判定部２９は、必要とされる演算処理能力と提供可能な演算処理能力とを比較し（ステップＳ１０４）、必要とされる演算処理能力が提供可能な演算処理能力より大きいと判断した場合（ステップＳ１０４でＹｅｓの場合）、使用者１に対して、実行要求されたソフトウェアを代理処理サーバ１３に転送して代理処理サーバ１３にて実行して良いか否かを問うメッセージを表示部２８に表示出力する。図５は、携帯通信端末１１の表示部２８に表示されるメッセージの一例を示している。使用者１により「Ｃａｎｃｅｌ」が選択された場合、ソフトウェアの実行をキャンセルする。他方、「ＯＫ」が選択された場合、ソフトウェアの代理実行をネットワーク上の代理処理サーバ１３へ要求するものとし、代理処理サーバ１３へ、実行要求されたソフトウェアと、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を転送する（ステップＳ１０６）。そして、実行判定部２９は、代理処理サーバ１３にて実行されたソフトウェアの実行結果を理処理サーバ１３から受信すると、実行結果を携帯通信端末１１に表示出力（音声出力）する（ステップＳ１０７）。
【００２４】
ステップＳ１０４において、必要とされる演算処理能力が、提供可能な演算処理能力以下と判断された場合（Ｎｏの場合）は、実行判定部２９は、演算処理部２４に対して、実行要求されたソフトウェアの実行を指示して、実行要求されたソフトウェアを携帯通信端末１１上にて実行する（ステップＳ１０５）。
【００２５】
なお、代理処理サーバ１３における実行が有料の場合、実行するソフトウェアにより必要とする処理環境に基づいて費用を算出し、実行を継続するか否かを使用者１に提示するようにしても良い。図６は、携帯通信端末１１の表示部２８に表示されるメッセージの一例を示している。「ＯＫ」が選択された場合、代理処理サーバ１３での実行を継続し、「Ｃａｎｃｅｌ」が選択された場合、実行を停止する。
【００２６】
図４は、本発明の第１の実施形態に係る携帯通信システムにおける携帯通信端末の第２の動作例を説明するフローチャートである。操作部２７にて使用者１により、ソフトウェアを選択してソフトウェアの実行が要求されると、実行判定部２９は、実行情報管理部３０から、実行要求されたソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を取得する（ステップＳ２０１）。更に、実行判定部２９は、実行情報管理部３０から携帯通信端末１１の内部状況の情報と、既に実行されているソフトウェアのＣＰＵ、メモリの占有状況の情報および占有されている演算処理能力とを同時に取得する（ステップＳ２０２）。実行判定部２９は、既に実行されているソフトウェアによって占有されている演算処理能力分を除いて、演算処理部２４が提供可能な演算処理能力とを算出する（ステップＳ２０３）。
【００２７】
実行判定部２９は、必要とされる演算処理能力と提供可能な演算処理能力とを比較し（ステップＳ２０４）、必要とされる演算処理能力が提供可能な演算処理能力より大きいと判断した場合（ステップＳ２０４でＹｅｓの場合）、ソフトウェアの属性情報（実行環境の情報）に基づいて、実行要求されたソフトウェアが携帯通信端末１１上での実行を必須とするソフトウェアか否かを判定し（ステップＳ２１１）、携帯通信端末１１上での実行を必須とする場合（ステップＳ２１１でＹｅｓの場合）、既に実行されているソフトウェアの中から、代理処理サーバ１３上で実行可能なソフトウェアを探索する（ステップＳ２２１〜Ｓ２２４）。
【００２８】
探索の結果、代理処理サーバ１３上で実行可能なソフトウェアがある場合（ステップＳ２２５でＹｅｓの場合）、実行判定部２９は、候補となるソフトウェアとソフトウェアの属性情報を代理処理サーバ１３へ転送する（ステップＳ２３１）。そして、実行判定部２９は、代理処理サーバ１３にて実行されたソフトウェアの実行結果を理処理サーバ１３から受信すると、実行結果を携帯通信端末１１に表示出力（音声出力）する（ステップＳ２３２）。また、実行判定部２９は、演算処理部２４に対して、実行要求されたソフトウェアの実行を指示して、実行要求されたソフトウェアを携帯通信端末１１上にて実行する（ステップＳ２２６）。
【００２９】
ステップＳ２２５において、候補がない場合（Ｎｏの場合）、実行判定部２９は、使用者１に対して、携帯通信端末１１上で実行した場合に、操作性が低下する危険性がある旨のメッセージを表示部２８に表示出力する。図７は、携帯通信端末１１の表示部２８に表示されるメッセージの一例を示している。使用者１により「ＯＫ」が選択された場合、実行要求されたソフトウェアを携帯通信端末１１上にて実行する（ステップＳ２２６）。
【００３０】
ステップＳ２１１において、携帯通信端末１１上での実行が必須でない場合（Ｎｏの場合）、実行判定部２９は、使用者１に対して、ソフトウェアを代理処理サーバ１３に転送して代理処理サーバ１３にて実行して良いか否かを問うメッセージを表示部２８に表示出力する。図５は、携帯通信端末１１の表示部２８に表示されるメッセージを示している。使用者１により「Ｃａｎｃｅｌ」が選択された場合、ソフトウェアの実行をキャンセルする。他方、「ＯＫ」が選択された場合、ソフトウェアとソフトウェアの属性情報を代理処理サーバ１３へ転送する（ステップＳ２１２）。そして、実行判定部２９は、代理処理サーバ１３にて実行されたソフトウェアの実行結果を理処理サーバ１３から受信すると、実行結果を携帯通信端末１１に表示出力（音声出力）する（ステップＳ２１３）。
【００３１】
ステップＳ２０４において、必要とされる演算処理能力が、提供可能な演算処理能力以下と判断された場合（Ｎｏの場合）は、実行判定部２９は、演算処理部２４に対して、実行要求されたソフトウェアの実行を指示して、実行要求されたソフトウェアを携帯通信端末１１上にて実行する（ステップＳ２０５）。
【００３２】
図８は、実行情報管理部３０が保持する、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）が格納されたテーブルの例を示す図である。図８において、ソフトウェア１〜ｎは、それぞれ実行環境Ｅ１〜Ｅｎ、必須処理サイクルＰ１〜Ｐｎ、必須メモリ容量Ｍ１〜Ｍｎを有する。実行環境は、ソフトウェアの携帯通信端末１１上での実行が必須であるか否かを示している。実行判定部２９は、実行環境Ｅに基づいて、代理処理サーバ１３にて実行することが可能であるか否かを判定する。例えば、ウィルス対策ソフトなど、代理処理サーバ１３にて実行しても用をなさないものは、代理処理サーバ１３での実行対象から除くものとする。
【００３３】
必須処理サイクルは、ソフトウェアが快適な応答を行うのに必要とされる単位時間当たりの処理サイクル数を示す。実行判定部２９は、単純には、演算処理部２４が処理可能な処理サイクル数から、すでに実行中のソフトウェアにおける処理サイクル数を差し引いた残りのサイクル数が、提供可能なサイクル数となり、新たに実行されるソフトウェアにおける処理サイクル数との比較にて、携帯通信端末１１上での実行が可能であるかを判定する。
【００３４】
必須メモリ容量は、ソフトウェアの実行にて必要となるメモリ容量を示している。実行判定部２９は、必須処理サイクルと同様に、必須メモリ容量に基づいて、携帯通信端末１１上での実行が可能であるかを判定する。携帯通信端末１１の演算処理部２４が有するメモリ容量に対して、ソフトウェアが必須とするメモリ容量が大きい場合、実行判定部２９は、処理サイクル数の比較を行うことなく、代理処理サーバ１３上での処理を要求する。
【００３５】
ソフトウェア１が既に携帯通信端末１１上で実行されている状態で、ソフトウェア２の実行が新たに選択された場合、携帯通信端末１１が有する処理サイクルをＰｕ、ソフトウェア１の必須処理サイクルをＰ１とすると（ソフトウェア１、ソフトウェア２の実行環境Ｅ１、Ｅ２は、携帯通信端末１１上の実行を必須としないとする）、ソフトウェア２に提供できる処理能力Ｐｐは、
【数１】
2013065207.tif 000003
この時、Ｐｐ＜Ｐ２の場合、実行判定部２９は、ソフトウェア２を代理処理サーバ１３で実行すると判定する。Ｐｐ≧Ｐ２の場合、実行判定部２９は、ソフトウェア２を携帯通信端末１１上で実行すると判定する。
【００３６】
ソフトウェア１が既に携帯通信端末１１上で実行されている状態で、ソフトウェア２の実行が新たに選択された場合、携帯通信端末１１が有する処理サイクルをＰｕ、ソフトウェア１の必須処理サイクルをＰ１とすると（ソフトウェア１の実行環境Ｅ１は、携帯通信端末１１上の実行を必須とせず、ソフトウェア２の実行環境Ｅ２は、携帯通信端末１１上の実行を必須とする）、ソフトウェア２に提供できる処理能力Ｐｐは、
【数２】
2013065207.tif 000004
この時、Ｐｐ＜Ｐ２の場合、実行判定部２９は、ソフトウェア２が、携帯通信端末１１上での実行を必須とするため、携帯通信端末１１上での実行を必須としないソフトウェア１を代理処理サーバ１３で実行すると判定する。Ｐｐ≧Ｐ２の場合、実行判定部２９は、ソフトウェア２を携帯通信端末１１上で実行すると判定する。
【００３７】
上述したように、本発明の第１の実施形態によれば、使用者にて選択されたソフトウェアの実行にて必要とする処理能力と、携帯通信端末が提供可能な処理能力を算出して、選択されたソフトウェアの実行環境を選択するため、携帯通信端末の操作性を著しく低下、フリーズさせるなどの障害を生じさせることなく、ソフトウェアの使用が可能となる。
【００３８】
次に、本発明の第２の実施形態に係る携帯通信システムについて説明する。図９は、本発明の第２の実施形態に係る携帯通信システムの構成を示す図である。携帯通信端末１５は、基地局１２を介してネットワーク１９に通信接続する。携帯通信端末１５は、ネットワーク１９に接続するＷｅｂサーバ１４のＷｅｂページにアクセスし、Ｗｅｂサーバ１４のＷｅｂページを携帯通信端末１５にて視認する。代理処理サーバ１６は、ネットワーク１９に接続し、携帯通信端末１５からソフトウェアの代理実行要求を受信した場合、要求のあったソフトウェアを、ソフトウェア提供サーバ１７から取得して実行処理し、その演算結果を携帯通信端末１５に送信する。携帯通信端末１５では、受信した演算結果を表示出力（音声出力）する。なお、ここで、携帯通信端末１５は、例えば、携帯電話機、スマートフォンなどの情報端末である。
【００３９】
図１０は、本発明の第２の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの構成を示す図である。携帯通信端末１５は、通話機能部２１と、マイク２２と、スピーカ２３と、演算処理部２４と、記憶部２５と、送受信部２６と、操作部２７と、表示部２８と、実行判定部２９と、実行情報管理部３０と、取得情報記憶部３２と、実行制御部３３により構成されている。携帯通信端末１５は、取得情報記憶部３２と実行制御部３３を更に備える点が、第１の実施形態における携帯通信端末１１と異なっており、その他は、携帯通信端末１１と同様である。実行判定部２９は、実行要求されたソフトウェアの処理環境を選択する。実行情報管理部３０は、ソフトウェアの属性情報である、ソフトウェアの実行環境と、ソフトウェアが必要とする処理能力の情報（必須処理サイクル、必須メモリ容量）を保持する。取得情報記憶部３２は、ソフトウェアの取得情報を保持する。実行制御部３３は、ライセンス確認要求を実行する。
【００４０】
使用者１は、携帯通信端末１５の操作部２７からキー入力を行い、電話番号などを入力する。また、表示部２６に表示出力された内容を視認する。記憶部２５は、電話帳などの個人情報を記憶保持し、また、携帯情報端末１５にて実行するソフトウェアを記憶保持する。使用者１は、操作部２７を介して、記憶部２５に記憶保持されているソフトウェアの実行を要求する。実行要求されたソフトウェアが、演算処理部２４にて実行（演算処理）されると、実行結果が表示部２８に表示出力され、使用者１が視認することとなる。実行判定部２９は、ネットワーク１９との接続を行う場合、送受信部２６、アンテナ３１を介して、基地局１２と通信する。
【００４１】
使用者１が記憶部２５に記憶保持されているソフトウェアの実行を要求した場合、実行判定部２９は、実行要求されたソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を実行情報管理部３０へ登録する。実行判定部２９は、実行情報管理部３０から、既に実行されているソフトウェアの属性情報（必要とする処理能力の情報）を取得し、携帯通信端末１５の演算処理部２４の処理能力から、既に実行されているソフトウェアによって占有されている処理能力分を除いて、演算処理部２４が実行要求されたソフトウェアに対して提供可能な処理能力を算出する。実行判定部２９は、実行情報管理部３０から、実行要求されたソフトウェアの属性情報（必要とする処理能力の情報）を取得し、実行要求されたソフトウェアが必要とする処理能力と、演算処理部２４が提供可能な処理能力とに基づいて、実行要求されたソフトウェアが携帯通信端末１５上で実行可能であるか否かを判定する。実行要求されたソフトウェアが必要とする処理能力が、提供可能な処理能力より大きい場合、実行要求されたソフトウェアを携帯通信端末１５上で実行した際に操作性を著しく悪化させることが考えられるため、実行判定部２９は、実行要求されたソフトウェアまたはソフトウェアの取得情報と、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を代理処理サーバ１３へ転送して、実行要求されたソフトウェアの代理実行を代理処理サーバ１６へ要求する。
【００４２】
代理処理サーバ１６は、オペレーティング・システム、演算処理、メモリなどからなる、携帯通信端末１５の演算処理環境を仮想的に構築した仮想環境４０と、通信Ｉ／Ｆ（インタフェース）４１と、仮想環境４０でのソフトウェアの処理および仮想環境４０の制御管理を行う実行制御部４２とにより構成されている。図では、仮想環境４０は、ソフトウェアを実行処理する演算処理部４３と、携帯通信端末１５における入出力Ｉ／Ｆに代わって対応する疑似Ｉ／Ｆ４４のみを示している。
【００４３】
実行制御部４２は、実行判定部２９からソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を受信すると、ソフトウェアが必要とする処理能力の情報に基づいて、仮想環境４０の演算処理能力、メモリの設定を行う。調整された仮想環境４０において、仮想環境４０が備える演算処理部４３は、受信したソフトウェアを実行する。ソフトウェアの実行に伴う演算結果は、疑似Ｉ／Ｆ４４に出力される。実行制御部４２は、疑似Ｉ／Ｆ４４に出力された演算結果を、通信Ｉ／Ｆ４１を介して、携帯通信端末１５の実行判定部２９に送信し、実行判定部２９は、受信した演算結果を対応する出力部（スピーカ２３、表示部２８、記憶部２５）に出力する。
【００４４】
携帯通信端末１５の実行判定部２９は、代理処理サーバ１６にソフトウェアの実行を委託する場合、実行要求のソフトウェアの取得情報を、取得情報記憶部３２から取得し、代理処理サーバ１６の実行制御部４２に渡す。実行制御部４２は、実行要求ソフトウェアの取得情報を受信すると、ソフトウェアの取得情報に基づいて、取得情報に記載の取得元アドレスのソフトウェア提供サーバ１７にアクセスし、ソフトウェア提供サーバ１７から実行要求ソフトウェアの取得を試みる。ソフトウェアの取得処理中に、ハードウェア情報の取得要求などのソフトウェアのライセンス確認処理が起きた場合、実行制御部４２は、取得要求を携帯通信端末１５の実行制御部３３に送る。実行制御部３３は、前記ハードウェア情報の取得要求を携帯通信端末１５上にて実行し、その結果を、代理処理サーバ１６の実行制御部４２を介して、ハードウェア情報の取得要求を行った要求元に返す。なお、代理処理サーバ１６の仮想環境４０上で、携帯通信端末１５としてライセンスの確認を行っても良い。
【００４５】
図１１は、本発明の第２の実施形態に係る携帯通信システムにおける携帯通信端末および代理処理サーバの動作例を説明するフローチャートである。操作部２７にて使用者１により、ソフトウェアを選択してソフトウェアの実行が要求されると、実行判定部２９は、実行情報管理部３０から、実行要求されたソフトウェアの属性情報（実行環境と必要とする処理能力の情報）を取得する（ステップＳ３０１）。更に、実行判定部２９は、実行情報管理部３０から携帯通信端末１５の内部状況の情報と、既に実行されているソフトウェアのＣＰＵ、メモリの占有状況の情報および占有されている演算処理能力とを同時に取得する（ステップＳ３０２）。実行判定部２９は、既に実行されているソフトウェアによって占有されている演算処理能力分を除いて、演算処理部２４が提供可能な演算処理能力とを算出する（ステップＳ３０３）。
【００４６】
実行判定部２９は、必要とされる演算処理能力と提供可能な演算処理能力とを比較し（ステップＳ３０４）、必要とされる演算処理能力が提供可能な演算処理能力より大きいと判断した場合（ステップＳ３０４でＹｅｓの場合）、使用者１に対して、実行要求されたソフトウェアを代理処理サーバ１６にて実行して良いか否かを問うメッセージを表示部２８に表示出力する。図５は、携帯通信端末１５の表示部２８に表示されるメッセージを示している。使用者１により「Ｃａｎｃｅｌ」が選択された場合、ソフトウェアを携帯通信端末１５上で実行する。他方、「ＯＫ」が選択された場合、ソフトウェアの代理実行をネットワーク上の代理処理サーバ１６へ委託するものとする。
【００４７】
実行判定部２９は、記憶部２５からソフトウェアのサイズＳ［bps］を取得し（ステップＳ３１１）、送受信部２６から上りの予測帯域Ｗ［bps］を取得する（ステップＳ３１２）。実行判定部２９は、ソフトウェアを代理処理サーバ１６へ転送した際に必要とする所要時間Ｔ（Ｓ/Ｗ）［sec］を算出し（ステップＳ３１３）、所要時間Ｔが、閾値Ｔｔｈ（例えば３秒）以下の場合（ステップＳ３１４でＮｏの場合）、実行要求ソフトウェアとソフトウェアの属性情報を代理処理サーバ１６へ転送する（ステップＳ３２１）。転送完了後（ステップＳ３２２）、代理処理サーバ１６上でソフトウェアを実行する（ステップＳ３２３）。なお、転送開始から閾値Ｔｔｈ経過しても転送完了しない場合、および転送時間が閾値Ｔｔｈを超えた場合は、ステップＳ３１４でＹｅｓの場合の処理も同時に行うものとする。
【００４８】
他方、所要時間Ｔが閾値Ｔｔｈより大きい場合（ステップＳ３１４でＹｅｓの場合）、実行判定部２９は、ソフトウェアの取得情報とソフトウェアの属性情報を代理処理サーバへ転送する（ステップＳ３３１）。代理処理サーバ１６の実行制御部４２は、取得情報に基づいて、ソフトウェアの取得を実行する（ステップＳ３３２）。実行制御部４２は、ソフトウェア取得におけるＷｅｂ画面の更新などに関して擬似Ｉ／Ｆ４４への出力を遮断し、また、擬似Ｉ／Ｆ４４を介した携帯通信端末１５からの入力をソフトウェア取得における処理から遮蔽し（ステップＳ３３３）、代わりに実行制御部４２がソフトウェア取得における全ての入出力を送受して、不要な画面更新を携帯通信端末１５へ送信しないようにする。
【００４９】
ソフトウェア取得において、代理処理サーバ１６の実行制御部４２は、ソフトウェアライセンスを取得済みであるか否かのラインセンス確認要求を検知した場合（ステップＳ３３４でＹｅｓの場合）、ライセンス確認要求を、携帯通信端末１５の実行制御部３３に送出する（ステップＳ３４１）。実行制御部３３は、ライセンス確認要求を携帯通信端末１５上にて実行し、結果を代理処理サーバ１６の実行制御部４２を介して戻す（ステップＳ３４２）。例えば、ライセンス認証の方法が、ＣＰＵ、ＨＤＤなどのハードウェアのシリアル番号のような機器固有の識別子を用いて認証する方法の場合(例えば Get Volume Information)、実行制御部４２はハードウェア情報の取得命令を検知すると、この命令を携帯通信端末１５の実行制御部３３に送り、実行制御部３３は携帯通信端末１５上にて実行し、その結果を、実行制御部４２を介して戻すことを行う。これにより、ソフトウェアの取得において、実行環境が、携帯通信端末１５から代理処理サーバ１６の仮想環境４０上に移っていたとしても、仮想環境４０上で実行されるソフトウェアに対しては、見かけ上、携帯通信端末１５上で実行しているように見せかけることを可能とする。また、コード入力のダイアログなどが出力される場合、実行制御部４２は、取得情報における画面情報を比較し（例えば、相関を算出する）、認証コードの入力画面と判断した場合、取得情報に基づき画面に応じた認証コードを入力する。
【００５０】
ソフトウェアを取得完了した場合（ステップＳ３３５）、実行制御部４２は、ソフトウェア取得による処理の擬似Ｉ／Ｆ４４への遮蔽を解除する（ステップＳ３３６）。取得したソフトウェアを代理処理サーバ上で実行する（ステップＳ３２３）。
【００５１】
図１２は、取得情報記憶部３２が保持する、ソフトウェアの取得情報が格納されたテーブルの例を示す図である。図１２において、取得情報テーブルは、ソフトウェア１〜ｎの提供アドレスＡ１〜Ａｎと、ソフトウェア１〜ｎの取得手順Ｇ１〜Ｇｎからなる。取得手順Ｇ１〜Ｇｎは、取得先とのアクセスにて受信した画面情報（ＨＴＭＬなど）と、使用者による入力キーを、発生順序に記憶している。実行制御部４２が、ソフトウェア取得処理時に受信した画面と、取得情報記載の画面を比較する場合、取得情報の記載順序に従い、取得情報上の現在の位置より後の位置に存在する画面情報と比較を行う。比較は、画面情報間の相関具合を見て行う。具体的にはＨＴＭＬファイルの場合、文字の一致具合を比較し、一致具合の高い画面情報を、一致する画面情報とする。取得情報上、一致した画面情報の位置に現在の位置を移動する。実行制御部４２は、現在の位置の次ぎに入力操作が記載されている場合、この入力操作を行い、さらに現在の位置を更新する。
【００５２】
また、携帯通信端末１５の実行情報管理部３０が保持する、ソフトウェアの属性情報（実行環境と必要とする処理能力の情報）が格納されたテーブルは、第１の実施形態における、図８に示すテーブルと同様である。実行判定部２９は、図８に示す実行環境Ｅに基づいて、代理処理サーバ１６にて実行することが可能であるか否かを判定する。
【００５３】
また、実行判定部２９は、単純には、演算処理部２４が処理可能な処理サイクル数から、すでに実行中のソフトウェアにおける処理サイクル数を差し引いた残りのサイクル数が、提供可能なサイクル数となり、新たに実行されるソフトウェアにおける処理サイクル数との比較にて、携帯通信端末１５上での実行が可能であるかを判定する。
【００５４】
また、実行判定部２９は、必須処理サイクルと同様に、必須メモリ容量に基づいて、携帯通信端末１５上での実行が可能であるかを判定する。携帯通信端末１５の演算処理部２４が有するメモリ容量に対して、ソフトウェアが必須とするメモリ容量が大きい場合、実行判定部２９は、処理サイクル数の比較を行うことなく、代理処理サーバ１６上での処理を要求する。
【００５５】
ソフトウェア１が既に携帯通信端末１５上で実行されている状態で、ソフトウェア２の実行が新たに選択された場合、携帯通信端末１５が有する処理サイクルをＰｕ、ソフトウェア１の必須処理サイクルをＰ１とすると（ソフトウェア１、ソフトウェア２の実行環境Ｅ１、Ｅ２は、携帯通信端末１５上の実行を必須としないとする）、ソフトウェア２に提供できる処理能力Ｐｐは、
【数３】
2013065207.tif 000005
この時、Ｐｐ＜Ｐ２の場合、実行判定部２９は、ソフトウェア２を代理処理サーバ１６で実行すると判定する。Ｐｐ≧Ｐ２の場合、実行判定部２９は、ソフトウェア２を携帯通信端末１５上で実行すると判定する。
【００５６】
ソフトウェア１が既に携帯通信端末１５上で実行されている状態で、ソフトウェア２の実行が新たに選択された場合、携帯通信端末１５が有する処理サイクルをＰｕ、ソフトウェア１の必須処理サイクルをＰ１とすると（ソフトウェア１の実行環境Ｅ１は、携帯通信端末１５上の実行を必須とせず、ソフトウェア２の実行環境Ｅ２は、携帯通信端末１５上の実行を必須とする）、ソフトウェア２に提供できる処理能力Ｐｐは、
【数４】
2013065207.tif 000006
この時、Ｐｐ＜Ｐ２の場合、実行判定部２９は、ソフトウェア２が、携帯通信端末１５上での実行を必須とするため、携帯通信端末１５上での実行を必須としないソフトウェア１を代理処理サーバ１６で実行すると判定する。Ｐｐ≧Ｐ２の場合、実行判定部２９は、ソフトウェア２を携帯通信端末１５上で実行すると判定する。
【００５７】
上述したように、本発明の第２の実施形態によれば、使用者にて選択されたソフトウェアの実行にて必要とする処理能力と、携帯通信端末が提供可能な処理能力を算出して、選択されたソフトウェアの実行環境を選択するため、携帯通信端末の操作性を著しく低下、フリーズさせるなどの障害を生じさせることなく、ソフトウェアの使用が可能となる。
【符号の説明】
【００５８】
１  使用者
１１、１５  携帯通信端末
１２  基地局
１３、１６  代理処理サーバ
１７  ソフトウェア提供サーバ
１４  Ｗｅｂサーバ
１９  ネットワーク
２１  通話機能部
２２  マイク
２３  スピーカ
２４  演算処理部
２５  記憶部
２６  送受信部
２７  操作部
２８  表示部
２９  実行判定部
３０  実行情報管理部
３１  アンテナ
３２  取得情報記憶部
３３、４２  実行制御部
４０  仮想環境
４１  通信Ｉ／Ｆ
４３  演算処理部
４４  疑似Ｉ／Ｆ
【図１】
2013065207.tif 000007
【図２】
2013065207.tif 000008
【図３】
2013065207.tif 000009
【図４】
2013065207.tif 000010
【図５】
2013065207.tif 000011
【図６】
2013065207.tif 000012
【図７】
2013065207.tif 000013
【図８】
2013065207.tif 000014
【図９】
2013065207.tif 000015
【図１０】
2013065207.tif 000016
【図１１】
2013065207.tif 000017
【図１２】
2013065207.tif 000018