(57)【要約】【課題】  個々の携帯端末装置の動作状況に合わせた適切な分散処理を行えるようにすること。【解決手段】  携帯端末装置１００において、ソフトウェアＳ１の実行が必要になると、内蔵ソフトウェアのリスト２０５を検索することによって携帯端末装置１００内部にソフトウェアＳ１が存在しないと判断した場合、通信品質情報２０３及び端末装置１００の処理能力の情報２０４を端末装置１００からサーバ１０９へ通知して、ソフトウェアＳ１の起動要求を行う。サーバ１０９にソフトウェアＳ１が存在する場合、サーバ１０９は携帯端末装置１００から通知された処理能力情報２０４及び通信品質情報２０３等に基づいて、ソフトウェアＳ１の分割された各処理２０８、２０９のうち、端末装置１００側で処理させるものを１つまたは複数選択し、選択した処理を端末装置１００へ送信し、端末装置１００側で実行させ、残りの処理をサーバ１０９側で実行する。【選択図】  図５
2006252218.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末装置からサーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置とサーバとで分散処理するようにした分散処理システムにおいて、
ソフトウェアを記憶する第１記憶手段と、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが前記第１記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段とを有する携帯端末装置と、
ソフトウェアを記憶する第２記憶手段と、前記第２記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段とを有するサーバとを備えて成ることを特徴とする分散処理システム。
【請求項２】
前記携帯端末装置は、前記第１記憶手段に前記実行するソフトウェアが存在する場合は、当該ソフトウェアを実行することを特徴とする請求項１記載の分散処理システム。
【請求項３】
前記分散手段は、前記第２記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択することを特徴とする請求項１又は２記載の分散処理システム。
【請求項４】
前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信することを特徴とする請求項１乃至３のいずれか一に記載の分散処理システム。
【請求項５】
サーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアをサーバとで分散処理するようにした携帯端末装置において、
ソフトウェアを記憶する記憶手段と、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが前記記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段とを有することを特徴とする携帯端末装置。
【請求項６】
前記携帯端末装置は、前記記憶手段に前記実行するソフトウェアが存在する場合は、当該ソフトウェアを実行することを特徴とする請求項５記載の携帯端末装置。
【請求項７】
携帯端末装置からのソフトウェアの起動要求を受信して、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置との間で分散処理するようにしたサーバにおいて、
ソフトウェアを記憶する記憶手段と、前記記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段とを備えて成ることを特徴とするサーバ。
【請求項８】
前記分散手段は、前記記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択することを特徴とする請求項７記載のサーバ。
【請求項９】
前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信することを特徴とする請求項７又は８記載のサーバ。
【請求項１０】
サーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアをサーバとで分散処理するようにコンピュータを機能させるプログラムにおいて、
コンピュータを、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段として機能させることを特徴とするプログラム。
【請求項１１】
携帯端末装置からのソフトウェアの起動要求を受信して、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置との間で分散処理するようにコンピュータを機能させるプログラムにおいて、
コンピュータを、記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段として機能させることを特徴とするプログラム。
【請求項１２】
前記分散手段は、前記記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択するように、前記コンピュータを機能させることを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信するように、前記コンピュータを機能させることを特徴とする請求項１１又は１２記載のプログラム。
【請求項１４】
前記分散手段は、前記記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択するように、前記コンピュータを機能させることを特徴とする請求項１１乃至１３のいずれか一に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理を複数の機器で分散して行う分散処理システム、前記分散処理システムに適した携帯端末装置及びサーバ、並びに、前記携帯端末装置やサーバで使用するプログラムに関する。
【背景技術】
【０００２】
従来から、携帯情報端末（ＰＤＡ）、携帯電話、ＰＨＳ等の携帯端末装置が利用されている。携帯端末装置に搭載されるソフトウェアは増加の一途を辿っており、携帯端末装置に搭載するソフトウェアの削減手段として、携帯端末装置に必要な機能を必要な時にダウンロードして機能させるようにしたシステムが知られている（例えば、特許文献１〜７参照）。
【０００３】
例えば、特許文献１記載の発明では携帯端末機器へ機能管理サイトからプログラムをダウンロードさせることで携帯端末機器の機能を追加、あるいは、携帯端末機器内部のプログラムを削除することで機能削減できる方式が提案されている。しかしながら、前記特許文献１記載の発明で扱うソフトウェアは、携帯端末装置上で動作可能なものに限定されてしまう。携帯端末装置はパーソナルコンピュータなどに比較して演算処理能力、搭載メモリ量などが大きく劣り、携帯端末装置単体で動作可能なソフトウェアは小さなものとなってしまう。
【０００４】
また、携帯端末装置単体で処理させるのではなく、処理を分散させる方法もある。ＸＦｒｅｅ８６のＸ  ｓｅｒｖｅｒ／ｃｌｉｅｎｔ方式では、Ｘ  ｓｅｒｖｅｒ側にて行った処理の結果をｃｌｉｅｎｔ側に表示するだけとすることができる。しかしながら、携帯端末装置単体で動作可能なソフトウェアのみ実行可能という問題は分散処理で解決可能だが、例えば、ＸＦｒｅｅ８６のＸ  ｓｅｒｖｅｒ／ｃｌｉｅｎｔ方式では、携帯端末装置側機能に依存した処理は対象外となってしまう。
【０００５】
また、特許文献２記載の発明では、複数の携帯端末装置で分散処理させ、サーバにて管理・統合する方式が示されている。しかしながら、前記特許文献２記載の発明では、処理分散度合による通信負荷と各端末の処理能力差異によるネックが存在するという問題がある。
また、特許文献３記載の発明においては、サービスを提供するソフトウェアを複数の部品に分割し、携帯電話の機種に対応して、基地局と携帯電話とで分散処理するようにしている。しかしながら、特許文献３記載の発明では、携帯電話の機種に対応した分散処理しか考慮していないため、通信状況の変化が生じた場合等には携帯電話の動作状況が変化するため、分散処理が適正に行われにくいという問題がある。
【０００６】
【特許文献１】特開２００３−１８８９４６号公報
【特許文献２】特開２００４−１６４２５５号公報
【特許文献３】特開２００１−３１２４１４号公報
【特許文献４】特開２００４−５４４２号公報
【特許文献５】特開平１１−２１２９１１号公報
【特許文献６】特開２００４−７２２６５号公報
【特許文献７】特許第３２１０６０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、前記問題点に鑑み成されたもので、個々の携帯端末装置の動作状況に合わせた適切な分散処理を行うことが可能な分散処理システムを提供することを課題としている。
また、本発明は、前記分散処理システムに適した携帯端末装置及びサーバを提供することを課題としている。
【課題を解決するための手段】
【０００８】
本発明によれば、携帯端末装置からサーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置とサーバとで分散処理するようにした分散処理システムにおいて、ソフトウェアを記憶する第１記憶手段と、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが前記第１記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段とを有する携帯端末装置と、ソフトウェアを記憶する第２記憶手段と、前記第２記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段とを有するサーバとを備えて成ることを特徴とする分散処理システムが提供される。
【０００９】
携帯端末装置の起動要求手段は、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが第１記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う。サーバの分散手段は、第２記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する。
【００１０】
ここで、前記携帯端末装置は、前記第１記憶手段に前記実行するソフトウェアが存在する場合は、当該ソフトウェアを実行するように構成してもよい。
また、前記分散手段は、前記第２記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択するように構成してもよい。
また、前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信するように構成してもよい。
【００１１】
また、本発明によれば、サーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアをサーバとで分散処理するようにした携帯端末装置において、ソフトウェアを記憶する記憶手段と、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが前記記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段とを有することを特徴とする携帯端末装置が提供される。
【００１２】
起動要求手段は、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う。
ここで、前記携帯端末装置は、前記記憶手段に前記実行するソフトウェアが存在する場合は、当該ソフトウェアを実行するように構成してもよい。
【００１３】
また、本発明によれば、携帯端末装置からのソフトウェアの起動要求を受信して、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置との間で分散処理するようにしたサーバにおいて、ソフトウェアを記憶する記憶手段と、前記記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段とを備えて成ることを特徴とするサーバが提供される。
【００１４】
分散手段は、記憶手段にソフトウェアが存在する場合、携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する。
【００１５】
ここで、前記分散手段は、前記記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択するように構成してもよい。
また、前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信するように構成してもよい。
【００１６】
また、本発明によれば、サーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアをサーバとで分散処理するようにコンピュータを機能させるプログラムにおいて、コンピュータを、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段として機能させることを特徴とするプログラムが提供される。
コンピュータはプログラムを実行することにより、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが記憶手段に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段として機能する。
【００１７】
また、本発明によれば、携帯端末装置からのソフトウェアの起動要求を受信して、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置との間で分散処理するようにコンピュータを機能させるプログラムにおいて、コンピュータを、記憶手段に前記ソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段として機能させることを特徴とするプログラムが提供される。
【００１８】
コンピュータはプログラムを実行することにより、記憶手段にソフトウェアが存在する場合、前記携帯端末装置から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるものを選択し、前記選択した処理を前記携帯端末装置へ送信して前記携帯端末装置側で実行させ、残りの処理を自身で実行する分散手段として機能させることを特徴とするプログラムが提供される。
【００１９】
ここで、前記分散手段は、前記第２記憶手段に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置での実行要否及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置側で処理させるものを選択するよう、前記コンピュータを機能させるように構成してもよい。
【００２０】
また、前記分散手段は、前記携帯端末装置から前記ソフトウェアの起動要求を受け、保有しているソフトウェアに前記ソフトウェアが含まれるか検索し、前記ソフトウェアをサーバが保有していない場合は、他のアプリケーションサーバへ前記起動要求を転送するか、ソフトウェア起動失敗の通知を前記携帯端末装置へ送信するよう、前記コンピュータを機能させるように構成してもよい。
【発明の効果】
【００２１】
本発明によれば、携帯端末装置単体では実行できない高負荷処理を必要とするソフトウェアを、携帯端末装置とアプリケーションサーバで分割処理する際に、個々の携帯端末装置の動作状況に合わせた最適な分割処理を行うことが可能である。したがって、当該ソフトウェアが携帯端末装置毎の処理能力の違いや通信品質に直接影響を受けずに処理を行うことが可能になる。
【発明を実施するための最良の形態】
【００２２】
先ず、本発明の実施の形態の概要を説明すると、本発明に係る分散処理システムでは、携帯端末装置単体では処理できない若しくは処理に長時間を要するような大規模ソフトウェアを、前記携帯端末装置とアプリケーションサーバ（アプリケーションサーバは例えば携帯電話網の基地局に設置）との間でソフトウェアの分散処理させるために、該当ソフトウェアを複数の処理に分割し、分割した各処理間で受け渡しされるデータ量と、携帯端末装置とアプリケーションサーバ間のネットワーク通信状況（例えば、通信レート）、および携帯端末装置の処理能力等との関係から、携帯端末装置側で行う処理とサーバ側で行う処理の分割を最適化することを基本的な特徴とするものである。
【００２３】
以下、本発明の実施の形態に係る分散処理システム、携帯端末装置、サーバ及びコンピュータで実行するプログラムについて、図面を参照して詳細に説明する。
図１は、本発明の実施の形態に係る分散処理システムのハードウェア構成を示すブロック図である。
図１において、携帯電話によって構成された携帯端末装置１００は、スピーカ及びマイクを有する音声入出力手段としての音声入出力部１０１、第１記憶手段としての記憶部１０２、第１中央処理装置（ＣＰＵ）１０３、信号を無線で送受信するための無線送受信手段を構成するアンテナ１０４及び送受信部１０５、複数の操作キーを有する第１操作手段としての操作部１０６、第１表示手段としての表示部１０７を備えている。
【００２４】
携帯端末送受信部１０５は、アンテナ１０４を介して、無線によって音声やソフトウェアあるいは各種データ等で送受信する。
中央処理装置（ＣＰＵ）１０３は、記憶部１０２に記憶されたプログラムを実行することにより、種々の機能を実現し又、後述するような処理を行う。記憶部１０２は、内部記憶蔵置としての機能及び外部記憶装置としての機能を有する半導体メモリである。
【００２５】
一方、携帯電話の基地局１１０には、サーバとしてのアプリケーションサーバ１０９が接続されている。アプリケーションサーバ１０９は、入出力部１１０、第２中央処理装置（ＣＰＵ）１１１、第２記憶手段としての記憶部１１２、第２表示手段としての表示部１１３、キーボードやマウスによって構成された第２操作手段としての操作部１１４を備えている。中央処理装置（ＣＰＵ）１１１は、記憶部１１２に記憶されたプログラムを実行することにより、種々の機能を実現し又、後述するような処理を行う。記憶部１１２は、内部記憶装置としての機能及び外部記憶装置としての機能を有する記憶部であり、半導体メモリ及び磁気ディスクによって構成されている。
【００２６】
また、アプリケーションサーバ１０９の記憶部１１２には、携帯端末装置１００がダウンロードして実行するアプリケーションソフトウェアが記憶されている。前記ソフトウェアは、後述するように、実行する全てのソフトウェアが携帯端末装置１００にダウンロードして実行される場合や、実行するソフトウェアの一部を携帯端末装置１００にダウンロードし、前記ソフトウェアを携帯端末装置１００とサーバ１０９とで分散処理する場合がある。
【００２７】
図２は、本発明の実施の形態に係る分散処理システムのソフトウェア構成を示す図であり、図１と同一部分には同一符号を付している。
図２において、携帯端末装置１００には、内蔵ソフトウェア２０１と前記内蔵ソフトウェア２０１のリスト２０５、ソフトウェアの実行やダウンロードを管理する管理プログラム２０６が存在する。この管理プログラム２０６は、ＣＰＵ１０３の能力（演算能力や負荷状況）や記憶部１０２のメモリ空き容量などの携帯端末装置１００の処理能力情報２０４、及び、通信品質情報２０３を把握している。各ソフトウェア２０１、２０６をはじめとして、前記各情報２０３〜２０５は記憶部１０２に記憶されている。また、端末装置１００で実行する分割されたダウンロードソフトウェア（実行する一のソフトウェア中の、携帯端末装置１００がダウンロードして実行する一部分のソフトウェア）は記憶部１０２に記憶して実行される。尚、管理プログラム２０６をＣＰＵ１０３が実行することによって、サーバに対してソフトウェアの起動を要求する起動要求手段が構成される。
【００２８】
アプリケーションサーバ１０９には、処理が分割されたソフトウェア２１０と、分割された処理間で受け渡しするデータ量や各処理毎に携帯端末装置１００側での実行要否を示すテーブル２０７が存在する。また、通信品質情報２０３、携帯端末装置１００の処理能力情報２０４、携帯端末装置１００側実行要否の情報等から、携帯端末装置１００とアプリケーションサーバ１０９間で分散処理を最適化し実行する管理プログラム２１１が存在する。管理プログラム２１１をＣＰＵ１１１が実行することによって、ソフトウェアの分散処理の最適化を行う分散手段が構成される。
管理プログラム２１１や分割されたソフトウェア２１０、テーブル２０７等の情報は記憶部１１２に記憶されている。また、サーバで実行する分割されたソフトウェア処理２０８及び端末装置１１０で実行する分割されたソフトウェア処理も記憶部１１２に記憶される。
【００２９】
携帯端末装置１００とアプリケーションサーバ１０９は基地局１０８を経由してネットワーク接続しており、端末装置１００はサーバ１０９上のソフトウェアをダウンロードし実行することができるように構成されている。アプリケーションサーバ１０９は、前述の管理プログラム２１１により、端末装置１００へダウンロードさせるソフトウェアを最適に分割してダウンロードさせる。
図３〜図５は、本発明の実施の形態に係る分散処理システムの動作を示すソフトウェア構成図であり、図１及び図２と同一部分には同一符号を付している。
【００３０】
以下、図１〜図５を用いて、本発明の実施の形態に係る分散処理システム、携帯端末装置及びサーバの動作を説明する。
先ず、携帯端末装置１００からアプリケーションサーバ１０９に対して、ソフトウェアの起動要求を行う際の処理を説明する。
図２において、携帯端末装置１００において、あるソフトウェア（以下、ソフトウェアＳ１と称す。）の実行が必要になると、端末装置１００の管理プログラム２０６は、内蔵ソフトウェアのリスト２０５を検索することによって、記憶部１０２に記憶して保持しているソフトウェア２０１内にソフトウェアＳ１が含まれるか検索する。端末装置１００の内部に前記ソフトウェアＳ１が存在する場合は、端末装置１００単体でソフトウェアＳ１を実行する。
【００３１】
一方、端末装置１００内部にソフトウェアＳ１が存在しない場合、端末装置１００からアプリケーションサーバ１０９へソフトウェアＳ１の起動要求を行う。このとき、端末装置１００の管理プログラム２０６は、通信品質情報２０３及び端末装置１００の処理能力（ＣＰＵのアイドル率や記憶部１０２の空き量など）の情報２０４を端末装置１００からサーバ１０９へ通知して、ソフトウェアＳ１の起動要求を行う。
【００３２】
次に、ソフトウェアの起動処理について説明する。
図４において、アプリケーションサーバ１０９の管理プログラム２１１は、携帯端末装置１００からソフトウェアＳ１の起動要求を受け、テーブル２０７を検索して、サーバ１０９に保持しているソフトウェアにソフトウェアＳ１が含まれるか検索する。ソフトウェアＳ１がサーバ１０９に存在しない場合は、管理プログラム他のアプリケーションサーバ（図示せず）へ起動要求を転送するか、ソフトウェア起動失敗の通知を端末装置１００へ送信する。
【００３３】
次に、分散処理の最適化の動作について説明する。
図５において、アプリケーションサーバ１０９にソフトウェアＳ１が存在する場合、サーバ１０９は携帯端末装置１００から通知された処理能力情報２０４及び通信品質情報２０３、分割されたソフトウェアＳ１の各処理毎の携帯端末装置１００での実行要否情報（分割された処理のうち、携帯端末装置１００で実行させる必要が有る処理か否かの情報）２０７、分割された各処理間での受け渡しデータ量を元に、ソフトウェアＳ１の分割された各処理２０８、２０９のうち、端末装置１００側で処理させるもの２０９を１つまたは複数選択する。
【００３４】
尚、前記ソフトウェアの分割処理は、処理能力情報２０４及び通信品質情報２０３、分割されたソフトウェアＳ１の各処理毎の携帯端末装置１００での実行要否の情報２０７、分割された各処理間での受け渡しデータ量に基づいて行うことがより好ましいが、少なくとも前記処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置側で処理させるもの選択するようにしてもよい。これによっても、より適切な最適化が可能になる。
【００３５】
次に、サーバ１０９は、選択した処理２０９を端末装置１００へ送信し、端末装置１００側で実行させ、残りの処理をサーバ１０９側で実行する。
分割された各処理の結果は、分散実行を管理するプログラム（動作実体はサーバ１０９又は端末装置１００のいずれかに配置される）により統合・管理され、最終結果を端末装置１００で出力する。
【００３６】
以上説明したように本発明の実施の形態に係る分散処理システムは、携帯端末装置からサーバに対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバに保存されている場合に、前記ソフトウェアを前記携帯端末装置とサーバとで分散処理するようにした分散処理システムにおいて、次のような携帯端末装置１００及びサーバ１０９を備えている。
【００３７】
即ち、携帯端末装置１００は、ソフトウェアを記憶する第１記憶手段１０２と、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが第１記憶手段１０２に記憶されていない場合、少なくとも通信品質情報２０３及び自身の処理能力情報２０４をサーバ１０９へ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段（管理プログラム２０６）とを有している。
【００３８】
また、サーバ１０９は、複数に分割された複数のソフトウェアを記憶する第２記憶手段１１２と、第２記憶手段１１２に前記ソフトウェアが存在する場合、携帯端末装置１００から通知された処理能力情報及び通信品質情報に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置１００側で処理させるものを選択し、前記選択した処理を前記携帯端末装置１００へ送信して前記携帯端末装置１００側で実行させ、残りの処理を自身で実行する分散手段（管理プログラム２１１）とを有している。
【００３９】
ここで、前記分散手段は、第２記憶手段１１２に前記ソフトウェアが存在する場合、更に、分割された前記ソフトウェアの各処理毎に前記携帯端末装置１００での実行要否の情報２０７及び分割された各処理間での受け渡しデータ量を考慮して、前記ソフトウェアの分割された各処理のうち、携帯端末装置１００側で処理させるものを選択するように構成している。
【００４０】
したがって、携帯端末装置１００単体では実行できない高負荷処理を必要とするソフトウェアを、携帯端末装置１００とアプリケーションサーバ１０９で分割処理する際に、個々の携帯端末装置１００の動作状況（処理能力及び通信品質（例えば通信速度））に合わせた最適な分割処理を行うことが可能になる。したがって、当該ソフトウェアが携帯端末装置１００毎の処理能力の違いや通信品質に直接影響を受けずに処理できることが期待できるという効果を奏する。
【００４１】
また、携帯端末装置の処理能力、メモリ空き容量、通信品質状況により携帯端末装置１００／サーバ１０９間で分散処理させるソフトウェア配分の最適化を可能にし、携帯端末装置１００固有の処理能力や通信品質状況に直接依存せずにソフトウェアを実行することが可能になる。最適化の判定基準としては、例えば、分散処理を行う携帯端末装置１００及びサーバ１０９における処理時間の合計が最も短くなるか否かを判定基準とすることができ、前記処理時間の合計が最も短くなるようにして最適化を図り得るようにソフトウェアを分散処理する。
【００４２】
また、本発明の実施の形態に係るプログラムは、サーバ１０９に対してソフトウェアの起動要求を行い、前記ソフトウェアが前記サーバ１０９に保存されている場合に、前記ソフトウェアをサーバ１０９とで分散処理するようにコンピュータを機能させるプログラムにおいて、コンピュータを、ソフトウェアの実行が必要になったとき、前記実行するソフトウェアが記憶手段１０２に記憶されていない場合、通信品質情報及び自身の処理能力情報をサーバへ通知すると共に前記ソフトウェアの起動要求を行う起動要求手段（管理プログラム２０６）として機能させるようにしている。
【００４３】
また、本発明の実施の形態に係るプログラムは、携帯端末装置１００からのソフトウェアの起動要求を受信して、前記ソフトウェアが前記サーバ１０９に保存されている場合に、前記ソフトウェアを前記携帯端末装置１００との間で分散処理するようにコンピュータを機能させるプログラムにおいて、コンピュータを、記憶手段１１２に前記ソフトウェアが存在する場合、前記携帯端末装置１００から通知された処理能力情報２０４及び通信品質情報２０３に基づいて、処理が最適化されるように、前記ソフトウェアの分割された各処理のうち前記携帯端末装置１００側で処理させるものを選択し、前記選択した処理を前記携帯端末装置１００へ送信して前記携帯端末装置１００側で実行させ、残りの処理を自身で実行する分散手段として機能させるように構成している。
したがって、コンピュータを用いて、前記分散処理システム、携帯端末装置１００、サーバ１０９を構築することが可能になる
【００４４】
尚、分散処理はソフトウェアの実行を要求した携帯端末装置とアプリケーションサーバの２点に限らず、その他複数のサーバを有するシステム、あるいは、要求元以外の携帯端末装置も含めて処理しても良い。これにより、要求元の携帯端末装置やサーバの処理負荷の軽減が期待できる。
また、通信品質情報はアプリケーションサーバが基地局から情報入手してもよい。この場合、携帯端末装置とサーバ間で受け渡しするデータ量を削減できるという効果を奏する。
【産業上の利用可能性】
【００４５】
携帯型端末装置として、携帯電話、ＰＨＳ（Personal Handyphone System）、ＰＤＡ（Personal Data Assistance、Personal Digital Assistants：個人向け携帯型情報通信機器）等の携帯端末装置が適用できる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係る分散処理システムのハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態に係る分散処理システムのソフトウェア構成を示す図である。
【図３】本発明の実施の形態に係る分散処理システムの動作を示すソフトウェア構成図である。
【図４】本発明の実施の形態に係る分散処理システムの動作を示すソフトウェア構成図である。
【図５】本発明の実施の形態に係る分散処理システムの動作を示すソフトウェア構成図である。
【符号の説明】
【００４７】
１００・・・携帯端末装置
１０１・・・音声入出力手段としての音声入出力部
１０２、１１２・・・記憶手段としての記憶部
１０３・・・起動要求手段を構成する中央処理装置
１０４・・・無線送受信手段を構成するアンテナ
１０５・・・無線送受信手段を構成する送受信部
１０６、１１４・・・操作手段としての操作部
１０７、１１３・・・表示手段としての表示部
１０８・・・基地局
１０９・・・サーバとしてのアプリケーションサーバ
１１０・・・入出力部
１１１・・・分散手段を構成する中央処理装置
２０１・・・内蔵ソフトウェア
２０３・・・通信品質情報
２０４・・・処理能力情報
２０６・・・起動要求手段を構成する管理プログラム
２１０・・・分割されたソフトウェア
２１１・・・分散手段を構成する管理プログラム
【図１】
2006252218.tif 000003
【図２】
2006252218.tif 000004
【図３】
2006252218.tif 000005
【図４】
2006252218.tif 000006
【図５】
2006252218.tif 000007