(57)【要約】【課題】ソフトウェアがダウンしたままの状態になることを回避し、使用者がソフトウェアを安心して使用できる代理処理サーバを提供する。【解決手段】携帯通信端末１１が、所望のソフトウェアを選択すると、代理処理サーバ１３における実行制御部４２は、選択されたソフトウェアの実行環境情報に基づく実行環境６０上にて、ソフトウェアを実行する。実行監視部４５は、個々のソフトウェアの実行状態を継続的に記録する。実行制御部４２は、同一実行環境上の異なるソフトウェア同士が相互参照による不具合を検知した場合、不具合のあるソフトウェア毎に個別の実行環境５０を構築し、相互参照以前の状態にてソフトウェアの実行を再開する。【選択図】図２
2014078840.tif 000002
【特許請求の範囲】
【請求項１】
携帯通信端末から代理実行要求のあったソフトウェアの実行を行い、実行結果を前記携帯通信端末に送信する代理処理サーバであって、
前記携帯通信端末毎の仮想環境を備えるとともに、前記仮想環境上に、ソフトウェアを実行する実行環境を備え、
前記実行環境上で実行中のソフトウェアが相互参照により実行を停止した場合、実行を停止したソフトウェアの実行環境情報に基づいて、前記仮想環境上に、実行を停止したソフトウェア用の新たな実行環境を構築し、新たに構築した実行環境上で、前記実行を停止したソフトウェアを、実行停止前の状態から実行することを特徴とする代理処理サーバ。
【請求項２】
前記仮想環境を、ＯＳ（Operating System）毎に備えることを特徴とする請求項１に記載の代理処理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯通信端末からの要求によりソフトウェアを代理実行するサーバに関する。
【背景技術】
【０００２】
携帯通信端末のＣＰＵ、メモリ、ハードディスクなどの演算処理環境は、コンピュータ、サーバ等の演算処理環境に比べると、低いものである。このため、携帯通信端末上で実行されるソフトウェアは、機能、能力を削減され、携帯通信端末の低い演算処理環境下でも、快適な操作性を確保しつつ実行できるものが提供されていた。
【０００３】
近年、様々な出力レベルの基地局が様々な場所に設置された結果、現在どこにいてもネットワークに接続できる環境が整いつつある。そして、携帯通信における伝送帯域は、ＬＴＥやＷｉＭＡＸによって、さらに広帯域化していく方向にある。これまで携帯通信端末におけるソフトウェアの演算実行は、携帯通信端末上の低い演算処理環境にて行ってきたが、どこにいても安定的にネットワークに接続可能となってくると、ソフトウェアの演算実行は、ネットワーク上の潤沢な演算処理環境の代理処理サーバにて行い、演算結果を携帯通信端末上で出力する形が考えられている（例えば、特許文献１参照）。
【０００４】
携帯通信端末の処理環境を、ネットワーク上の代理処理サーバに構築し、携帯通信端末が、ネットワーク上の代理処理サーバを介してネットワーク上の他のサーバ、端末と通信接続し、携帯通信端末が、ネットワーク上の代理処理サーバのユーザ・インタフェースとなることよって、携帯通信端末の使用者は、高い演算処理能力を、どこでも利用することが可能となる。
【０００５】
また、従来、携帯通信端末のオペレーティング・システムの詳細は、一般には公開されていなかったため、携帯通信端末向けのソフトウェアは、特定のソフトウェア・メーカにしかできないものとなっていたが、近年、フリーでオープンなオペレーティング・システムが使用されるようになって、自由にソフトウェアを作成、提供することが可能となっている。これにより、提供されるソフトウェアの数は爆発的に増大している。
【０００６】
一方で、近年、様々なソフトウェアは、高度に複雑化してきている。ソフトウェアが、高度に複雑化していくに従って、一から構築するのではなく、様々なところから提供されるライブラリを集め、それらを組合せ、不足分を作成し新たなソフトウェアを構築する。これにより、高度に複雑なソフトウェアであっても、短期間に提供することを可能としている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２７７５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、高度に複雑化されたソフトウェアは、様々なところから提供されたライブラリに基づいて構築しているために、ソフトウェア同士において、ライブラリの相互参照を引き起こすことがある。ソフトウェア同士における相互参照を正確に予測することは困難であるため、携帯通信端末の使用者の知らないうちに、双方のソフトウェアが、相互参照によりダウンするという問題が生じている。また、あるソフトウェアの不具合に対して施した対策が、異なるソフトウェアに対して不具合を引き起こして、携帯通信端末の使用者の知らないうちに、ソフトウェアがダウンするという問題が生じている。結果的に、これらのソフトウェアは、携帯通信端末の使用者にとって、安心して使用することができないものとなってしまう。
【０００９】
本発明は、このような問題点に鑑みてなされたものであり、本発明の目的は、ソフトウェアがダウンしたままの状態になることを回避し、使用者がソフトウェアを安心して使用できる代理処理サーバを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、携帯通信端末から代理実行要求のあったソフトウェアの実行を行い、実行結果を前記携帯通信端末に送信する代理処理サーバであって、前記携帯通信端末毎の仮想環境を備えるとともに、前記仮想環境上に、ソフトウェアを実行する実行環境を備え、前記実行環境上で実行中のソフトウェアが相互参照により実行を停止した場合、実行を停止したソフトウェアの実行環境情報に基づいて、前記仮想環境上に、実行を停止したソフトウェア用の新たな実行環境を構築し、新たに構築した実行環境上で、前記実行を停止したソフトウェアを、実行停止前の状態から実行することを特徴とする。
【００１１】
前記仮想環境は、ＯＳ（Operating System）毎に備えることが好ましい。
【発明の効果】
【００１２】
本発明によれば、ソフトウェア同士が相互参照を起こしてダウンしたままの状態になることを回避することができるので、使用者はソフトウェアを安心して使用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る代理処理サーバを含む携帯通信システムの構成を示す図である。
【図２】携帯通信端末および代理処理サーバの構成を示す図である。
【図３】実行環境上で実行されるソフトウェアの構成の一例を示す図である。
【図４】代理処理サーバでソフトウェアが実行されるときの動作を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施の形態について、図面を参照して説明する。図１は、本発明の実施形態に係る代理処理サーバを含む携帯通信システムの構成を示す図である。携帯通信端末１１は、基地局１２およびネットワーク１９を介して、代理処理サーバ１３と通信接続する。代理処理サーバ１３は、ネットワーク１９に接続して、Ｗｅｂサーバ１４および携帯通信端末１１との通信接続を可能とする。
【００１５】
使用者１は、携帯通信端末１１を用いて、代理処理サーバ１３にてソフトウェアを実行し、実行結果を携帯通信端末１１にて得る。同様に、使用者１は、携帯通信端末１１を用いて、代理処理サーバ１３にてソフトウェアを実行して、代理処理サーバ１３から、Ｗｅｂサーバ１４へアクセスする。Ｗｅｂサーバ１４にてアクセスしているＷｅｂページは、代理処理サーバ１３を通して、携帯通信端末１１上に表示出力される。外部から入力データは、代理処理サーバ１３のセキュリティ・ソフトウェアにてウィルス・チェックされる。なお、ここで、携帯通信端末１１は、例えば、携帯電話機、スマートフォンなどの情報端末である。
【００１６】
図２は、図１に示す携帯通信システムにおける携帯通信端末および代理処理サーバの構成を示す図である。携帯通信端末１１は、マイク２２と、スピーカ２３と、演算処理部２４と、記憶部２５と、送受信部２６と、操作部２７と、表示部２８と、実行制御部２９とを備えている。
【００１７】
使用者１は、携帯通信端末１１の操作部２７からキー入力を行う。実行制御部２９は、操作部２７からのキー入力を、送受信部２６を介して、代理処理サーバ１３へ送信する。また、代理処理サーバ１３からの出力情報は、送受信部２６から実行制御部２９に渡される。実行制御部２９は、代理処理サーバ１３からの受信情報が、ユーザ・インタフェースへの出力情報と判断すると、対応するユーザ・インタフェース（例えば、表示部２８、スピーカ２３）に出力する。
【００１８】
代理処理サーバ１３は、仮想環境４０を、携帯通信端末毎に備えており、仮想環境４０は、ＯＳ（Operating System）毎の仮想環境４９により構成されている。また、代理処理サーバ１３は、通信Ｉ／Ｆ（インタフェース）４１と、仮想環境４９上に構築された実行環境を制御する実行制御部４２と、仮想環境４９上にソフトウェア毎の実行環境を構築する実行環境構築部４３と、ソフトウェアを保持する記憶部４４と、ソフトウェアの実行状態を監視して実行状態を継続的に記録する実行状態監視部４５とを備えている。ＯＳ毎の仮想環境４９は、携帯通信端末１１から操作するソフトウェア毎の実行環境５０と、携帯通信端末１１から操作するソフトウェア共用の実行環境６０とにより構成されている。ソフトウェア毎の実行環境５０は、ソフトウェアを実行処理する演算処理部５１と、記憶部５２と、携帯通信端末１１における入出力Ｉ／Ｆに代わって対応する疑似Ｉ／Ｆ（インタフェース）５３と、通信機能部５４とにより構成されている。ソフトウェア共用の実行環境６０は、ソフトウェアを実行処理する演算処理部６１と、記憶部６２と、携帯通信端末１１における入出力Ｉ／Ｆに代わって対応する疑似Ｉ／Ｆ（インタフェース）６３と、通信機能部６４とにより構成されている。
【００１９】
実行制御部４２は、携帯通信端末１１の実行制御部２９からの送信情報を受信する。受信した送信情報が、操作部２７、マイク２２などのユーザ・インタフェースからの入力情報と判断されると、送信情報は、仮想環境４９上の操作対象ソフトウェア共用の実行環境６０の疑似Ｉ／Ｆ６３に渡される。疑似Ｉ／Ｆ６３からユーザ・インタフェース信号として演算処理部６１に渡された送信情報は、演算処理部６１にて、対象ソフトウェアの操作情報として処理される。その際に、実行制御部４２が、ソフトウェア同士の相互参照を検知した場合は、送信情報は、仮想環境４９上の操作対象ソフトウェアの実行環境５０の疑似Ｉ／Ｆ５３に渡される。疑似Ｉ／Ｆ５３からユーザ・インタフェース信号として演算処理部５１に渡された送信情報は、演算処理部５１にて、対象ソフトウェアの操作情報として処理される。
【００２０】
演算処理部５１から、表示部２８、スピーカ２３などへの出力信号は、擬似Ｉ／Ｆ５３を介して実行制御部４２に渡される。演算処理部６１から、表示部２８、スピーカ２３などへの出力信号は、擬似Ｉ／Ｆ６３を介して実行制御部４２に渡される。実行制御部４２は、出力信号を、ネットワーク１９を介して、携帯通信端末１１に通知する。
【００２１】
図３は、実行環境５０および実行環境６０上で実行されるソフトウェアの構成の一例を示す図である。ソフトウェアは、ファイル構造が記されたヘッダー部３１と、ソフトウェアの本体である実行本体部３３と、ソフトウェアの本体を実行するための実行環境情報（推奨されるオペレーティング・システム、メモリ容量、演算速度など）を格納する実行環境情報部３２を有している。実行環境５０および実行環境６０上で実行されるソフトウェアは、記憶部４４が保持している。
【００２２】
図４は、携帯通信端末からソフトウェアの実行が選択され、代理処理サーバでソフトウェアが実行されるときの動作を説明するフローチャートである。代理処理サーバ１３の実行制御部４２は、携帯通信端末１１からの操作信号によって、ソフトウェア選択情報を受信すると（Ｓ１０１）、記憶部４４から選択されたソフトウェアを取得し、選択されたソフトウェアに付帯された実行環境情報に対応したＯＳの仮想環境４９上のソフトウェア共用実行環境６０の演算処理部６１に、選択されたソフトウェアを渡して、選択ソフトウェアの実行を指示する（Ｓ１０２）。演算処理部６１は、ソフトウェア共用の実行環境６０上にてソフトウェアを実行し（Ｓ１０３）、演算処理部６１が、ソフトウェアを実行している間、実行状態監視部４５は、ソフトウェアの実行状態を継続的に記録する（Ｓ１０４）。
【００２３】
実行制御部４２は、ソフトウェア共用の実行環境６０上で実行されているソフトウェアが相互参照などによりダウン（実行停止）しているか否かを判定し（Ｓ１０５）、ソフトウェアのダウンを検知した場合、実行環境構築部４３に対して、ダウンしたソフトウェア向けの実行環境５０の構築を指示する（Ｓ１０６）。実行環境構築部４３は、ダウンしたソフトウェアの実行環境情報に基づいて、仮想環境４９上に、ダウンしたソフトウェアの実行環境５０を構築する（Ｓ１０７）。実行制御部４２は、実行状態監視部４５からダウンしたソフトウェアの実行状態の情報を取得し、実行環境５０の演算処理部５１に、ダウンしたソフトウェアの実行状態の情報を渡して、ソフトウェアの実行を指示する（Ｓ１０８）。演算処理部５１は、前記ソフトウェア用に構築した実行環境５０上で、ソフトウェアを前記実行状態にて実行して、ダウン（実行停止）前の状態からの処理を実行する（Ｓ１０９）。
【００２４】
上述したように、本発明によれば、ソフトウェア同士の相互参照によるソフトウェアのダウンを検知した場合、ダウンしたソフトウェア向けの実行環境を新たに構築し、新たに構築された実行環境上でダウンしたソフトウェアが実行されるので、ソフトウェアがダウンしたままの状態になることを回避することができ、使用者はソフトウェアを安心して使用することができる。
【符号の説明】
【００２５】
１  使用者
１１  携帯通信端末
１２  基地局
１３  代理処理サーバ
１４  Ｗｅｂサーバ
１９  ネットワーク
２２  マイク
２３  スピーカ
２４、５１、６１  演算処理部
２５、４４、５２、６２  記憶部
２６  送受信部
２７  操作部
２８  表示部
２９、４２  実行制御部
３１  ヘッダー部
３２  実行環境情報部
３３  実行本体部
４０、４９  仮想環境
４１  通信Ｉ／Ｆ
４３  実行環境構築部
４５  実行状態監視部
５０、６０  実行環境
５３、６３  疑似Ｉ／Ｆ
５４、６４  通信機能部
【図１】
2014078840.tif 000003
【図２】
2014078840.tif 000004
【図３】
2014078840.tif 000005
【図４】
2014078840.tif 000006