(57)【要約】【課題】ユーザ端末側の端末環境に依存してサービスプログラムの実行場所を決定し，最適なサービスの提供を可能にする。【解決手段】サービスアプリケーションサーバ１は，ユーザ端末４〜７からサービス要求と端末環境情報を受信すると，受信した端末環境情報とあらかじめ記憶されたサービスプログラム実行条件とに基づいて，要求されたサービスに関するサービスプログラムを実行すべき場所を決定する。サービスプログラムを実行すべき場所がユーザ端末であれば，該当するサービスプログラムをサービス要求元のユーザ端末に送信する。サービスプログラムを実行すべき場所がサービスアプリケーションサーバ１であれば，サービスアプリケーションサーバ１が該当するサービスプログラムを実行し，その実行結果をサービス要求元のユーザ端末に送信する。【選択図】　　　　　図１
2004139504.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に配備され，ユーザ端末にネットワークを介して接続されるサービスアプリケーションサーバシステムであって，
サービスプログラム実行条件を記憶する記憶手段と，
ユーザ端末からサービス要求と端末環境情報とを受信する受信手段と，
前記ユーザ端末から受信した端末環境情報と前記サービスプログラム実行条件とに基づいて，要求されたサービスに関するサービスプログラムを実行すべき場所を決定する実行条件分析手段と，
サービスプログラムを実行すべき場所がユーザ端末であるときに，該当するサービスプログラムを前記サービス要求元のユーザ端末に送信するサービスプログラム送信手段と，
サービスプログラムを実行すべき場所がサービスアプリケーションサーバシステムであるときに，該当するサービスプログラムを実行するサービスプログラム実行手段と，
前記サービスプログラム実行手段により実行したサービスプログラムの実行結果を，前記サービス要求元のユーザ端末に送信するサービスプログラム実行結果送信手段とを備える
ことを特徴とするサービスアプリケーションサーバシステム。
【請求項２】
請求項１記載のサービスアプリケーションサーバシステムにおいて，
前記記憶手段が記憶するサービスプログラム実行条件は，ユーザ共通のサービスプログラム実行条件である
ことを特徴とするサービスアプリケーションサーバシステム。
【請求項３】
請求項１記載のサービスアプリケーションサーバシステムにおいて，
前記サービスプログラム実行条件をユーザ端末からの要求によってユーザ毎に登録するサービスプログラム実行条件登録手段を備える
ことを特徴とするサービスアプリケーションサーバシステム。
【請求項４】
ネットワーク上に配備され，ユーザ端末にネットワークを介して接続されるサービスアプリケーションサーバシステムにおけるサービスプログラム処理方法であって，
ユーザ端末からサービス要求と端末環境情報とを受信するステップと，
前記ユーザ端末から受信した端末環境情報とあらかじめ記憶されたサービスプログラム実行条件とに基づいて，要求されたサービスに関するサービスプログラムを実行すべき場所を決定するステップと，
サービスプログラムを実行すべき場所がユーザ端末であるときに，該当するサービスプログラムを前記サービス要求元のユーザ端末に送信するステップと，
サービスプログラムを実行すべき場所がサービスアプリケーションサーバシステムであるときに，該当するサービスプログラムを実行するステップと，
前記実行したサービスプログラムの実行結果を，前記サービス要求元のユーザ端末に送信するステップとを有する
ことを特徴とするサービスプログラム処理方法。
【請求項５】
ネットワーク上に配備され，ユーザ端末にネットワークを介して接続されるサービスアプリケーションサーバシステムにおけるサービスプログラム処理方法を，コンピュータに実行させるプログラムであって，
ユーザ端末からサービス要求と端末環境情報とを受信するステップと，
前記ユーザ端末から受信した端末環境情報とあらかじめ記憶されたサービスプログラム実行条件とに基づいて，要求されたサービスに関するサービスプログラムを実行すべき場所を決定するステップと，
サービスプログラムを実行すべき場所がユーザ端末であるときに，該当するサービスプログラムを前記サービス要求元のユーザ端末に送信するステップと，
サービスプログラムを実行すべき場所がサービスアプリケーションサーバシステムであるときに，該当するサービスプログラムを実行するステップと，
前記実行したサービスプログラムの実行結果を，前記サービス要求元のユーザ端末に送信するステップとを，
コンピュータに実行させるためのサービスアプリケーションサーバシステム用のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，ネットワークを介してユーザ端末にサービスを提供するサービスアプリケーションサーバシステムにおけるサービスプログラムの処理技術に関し，特に，サービスプログラムの最適な実行環境を決定し，当該決定に従い，必要であればプログラムを移動させ実行するサービスアプリケーションサーバシステム，サービスプログラム処理方法およびサービスアプリケーションサーバシステム用のプログラムに関する。
【０００２】
【従来の技術】
従来からもサービスプログラムをユーザ端未に移動して実行するサービスシステムとして，Ｊａｖａ（登録商標）言語を用いたアプレット（Ａｐｐｌｅｔ）を利用したアプリケーションサーバがあり，当該サーバではユーザ端末からのサービス要求時に，当該サーバ側からユーザ端未に対してサービスプログラム，すなわちアプレットを一律に送信し，それを受信したユーザ端末側にて当該プログラムを実行するシステムが一般的に知られている（Ｊａｖａアプレット）。
【０００３】
一方，ユーザ端未からのサービス要求時に，要求のあったサービスを提供するためのサービスプログラムをアプリケーションサーバにて一律に実行し，その実行結果をサービスとしてユーザ端未に返送する方法は，従来から行われている一般的な方法である（サーブレット）。Ｊａｖａアプレット，サーブレットについては，例えば下記の非特許文献１に記載されている。
【０００４】
【非特許文献１】
デジタル用語辞典（２００２−２００３年版），日経ＢＰ社出版局編，ｐ．２０５，ｐ．６２０
【０００５】
【発明が解決しようとする課題】
しかしながら，上述の従来技術には，下記のような間題があった。すなわち，前者のように一律にユーザ端未側にサービスプログラムを送信し，当該プログラムを実行させる場合，環境によってはアプリケーションサーバ側にてプログラムを実行するという選択肢がなく，ユーザ端末において非常に多大なシステムリソースを消費したり，プログラムの結果を得るために多大な時間を要したりすることがあるという問題があった。これは，当該ユーザ端未のマシンパワーや環境が貧弱であった場合，例えば実装メモリ量が少ない場合や，ＣＰＵのクロック周波数が低い場合や，ネットワークアクセス回線帯域が小さい場合などに発生する問題である。
【０００６】
また，後者のサーブレットのように一律にアプリケーションサーバ側にてプログラムを実行する場合には，多数のユーザ端末からのサービス要求が一度に当該サーバに集中し，サーバ側に多大なシステムリソースが必要になったり，サーバ側のネットワークアクセス回線を高速広帯域にする必要があるなど，サーバ側の設備に多大な投資をする必要があるという問題があった。
【０００７】
本発明は上述のような事情に鑑みてなされたものであり，その目的とするところは，従来の技術における上述のような問題を解消し，何らかのサービスを要求するユーザ端末側の端末環境に依存してサービスプログラムの実行場所を決定することにより，非力なマシン環境下でサービスを要求した場合にも，ユーザにとってストレスなく最適なサービスを提供可能にすることにある。さらに，本発明の目的は，サービスを提供するアプリケーションサーバ側においても，ユーザ端未のコンピューティングパワーを活用することで，当該サーバに対して多大な設備投資をする必要がなくなる手段を提供することにある。
【０００８】
【課題を解決するための手段】
以上の目的を達成するため，本発明は，ネットワークにおいてサービスを提供するサービスプログラムをあらかじめ実装したサービスアプリケーションサーバシステム，および移動可能なサービスプログラム，およびサービスを要求するユーザ端末から構成され，サービスアプリケーションサーバ（以下，ＡＳと略記）とクライアントであるユーザ端末（以下，ＵＴと略記）が配備されるネットワークにおいて，当該ＡＳが提供するサービスをＵＴが要求し当該ＡＳにアクセスする際に，当該ＵＴの端末環境情報，例えば実装メモリ容量やＣＰＵクロック速度，搭載ハードディスク容量，アクセス回線速度，端末の画面解像度，オペレーティングシステム種別，移動端末か固定端末かなどの情報を，まず当該ＡＳに送信し，それを受信したＡＳ側にて当該情報を分析し，当該サービスを提供するサービスプログラム自体をユーザ端末に送信しユーザ端末側に実行させるか，もしくは当該サービスプログラムを当該ＡＳ内で実行するか，の判定を行い，当該ＡＳはプログラムの送信，もしくはプログラムの実行を実施し，当該ＡＳ内にてプログラム実行した場合にはその実行結果のみをユーザ端末に返送することを特徴とする。
【０００９】
これにより，ユーザは所望のサービスを受ける場合に，自端末でプログラムを実行してその結果を得るか，もしくはＡＳにて実行された結果を受信することで，所望のサービスを享受することが可能となる。
【００１０】
なお，サービスを要求するユーザがあらかじめアプリケーションサーバに対して，ユーザ端末環境に応じたサービスの実行条件，すなわち例えば，携帯電話にて当該サーバにサービス要求のためにアクセスした場合には必ず当該サーバ側でプログラム実行するといった条件，または当該サーバにアクセスした時のユーザ端末の実装メモリ容量が１２８ＭＢ（メガバイト）以上の場合には，当該サーバからサービスプログラムを送信してもらい当該端末側にて実行するといった条件などを登録できる手段をユーザに提供することが好ましい。
【００１１】
また，本発明に係わる情報処理方法をコンピュータに実行させるためのソフトウェアプログラムは，これ自体もしくは記録媒体に記録した形態で商品として流通させることが可能であり，本発明の権利範囲はそのようなものにも及ぶものである。
【００１２】
【発明の実施の形態】
以下，本発明の実施の形態を，図面に示す好適な実施例に基づいて，詳細に説明する。なお，以下に示す図面は，本発明の動作をより良く理解するためのものであり，本発明の技術的範囲を制限するものでないことは言うまでもない。
【００１３】
図１は，本発明のサービスプログラム処理方法の概念を説明する図であり，図中，１はＣＰＵおよびメモリと特定のソフトウェアプログラムなどから構成されるサービスアプリケーションサーバ，２は実際のサービスを提供することになるサービスプログラムが格納されているサービスプログラム記憶装置，３はネットワーク，４〜７はネットワーク３を介してサービスアプリケーションサーバ１が提供するサービスを受けるユーザ端末４〜７である。
【００１４】
この例では，プログラム実行基盤があるデスクトップ型ＰＣ端末のユーザ端末４やノート型ＰＣ端末のユーザ端末６が，サービス要求と端末環境情報をサービスアプリケーションサーバ１に送信すると，サービスアプリケーションサーバ１は，あらかじめ設定されたサービスプログラム実行条件と端末環境情報との比較により，サービスプログラムをユーザ端末４，６側で実行するように決定し，サービスプログラムをユーザ端末４，６へ返送する。ユーザ端末４，６は，受け取ったサービスプログラムを自端末で実行することによりサービスを享受する。
【００１５】
また，プログラム実行基盤がない携帯電話端末のユーザ端末５が，サービス要求と端末環境情報をサービスアプリケーションサーバ１に送信すると，サービスアプリケーションサーバ１は，要求されたサービスに関するサービスプログラムを実行し，その実行結果をユーザ端末５へ返送する。ユーザ端末５は，受け取ったサービスプログラムの実行結果を表示する。
【００１６】
また，ＰＤＡ端末のユーザ端末７が，サービス要求と端末環境情報をサービスアプリケーションサーバ１に送信すると，サービスアプリケーションサーバ１は，あらかじめ設定されたサービスプログラム実行条件と端末環境情報との比較により，サービスプログラムをユーザ端末７側で実行するか，サービスアプリケーションサーバ１側で実行するかを判定する。ここでは，ユーザ端末７はプログラム実行基盤を有しているが，メモリ容量があらかじめ登録されたサービスプログラム実行条件に満たないため，サービスアプリケーションサーバ１で実行すると決定され，サービスアプリケーションサーバ１は，要求されたサービスに関するサービスプログラムを実行し，その実行結果をユーザ端末７へ返送している。ユーザ端末７は，受け取ったサービスプログラムの実行結果を表示する。
【００１７】
図２は，本発明を実現するサービスアプリケーションサーバ１の構成の一例を示す図である。１１はユーザ端末からのサービス要求とともに端末環境情報を受信するサービス要求・端末環境情報受信手段，１２はユーザ端末から入力されたサービスプログラム実行条件をサービスプログラム実行条件データベース１７に登録するサービスプログラム実行条件登録手段，１３は端末環境情報に基づいて，サービスプログラム実行条件データベース１７に設定されたサービスプログラム実行条件を分析し，サービスプログラムを実行する場所を判定するサービスプログラム実行条件分析手段，１４はサービスプログラムをユーザ端末に送信するサービスプログラム送信手段，１５はサービスプログラムを実行するサービスプログラム実行手段，１６はサービスプログラムの実行結果をユーザ端末に送信するサービスプログラム実行結果送信手段，１７はユーザ毎またはユーザ共通のサービスプログラム実行条件を記憶するサービスプログラム実行条件データベースである。
【００１８】
図３は，本発明で提案するサービスプログラムの実行場所を決定する流れの例を示すシーケンス図である。以下，図３に従って，ユーザ端末の代表的なものとして，例えば携帯電話端末などのプログラム実行基盤がないユーザ端末５からのサービス要求に対する処理と，デスクトップ型ＰＣ端末などのプログラム実行基盤があるユーザ端末４からのサービス要求に対する処理のシーケンスを例に説明する。
【００１９】
（ａ）ユーザ端末４，５は，それぞれ必要に応じて，サービスアプリケーションサーバ１のサービスプログラム実行条件登録手段１２に対し，サービスプログラム実行条件の登録設定要求を行う。この要求を受けたサービスプログラム実行条件登録手段１２は，要求されたサービスプログラム実行条件をユーザ毎にサービスプログラム実行条件データベース１７に登録し，それを蓄積保持する。
【００２０】
なお，本発明において，サービスプログラム実行条件データベース１７に記憶されるサービスプログラム実行条件は，ユーザが個別に事前に登録するものに限られるわけではなく，あらかじめユーザ共通の条件として登録しているものでもよい。また，ユーザが個別に登録した場合には，ユーザが登録したサービスプログラム実行条件を用い，ユーザが個別に登録しなかった場合には，ユーザ共通のサービスプログラム実行条件を用いるというような実施も可能である。
【００２１】
（ｂ）例えば，ユーザ端末５が，所望のサービスの要求とともに，ユーザ端末５の端末環境情報をアプリケーションサーバｌに送信すると，サービスアプリケーションサーバ１のサービス要求・端末環境情報受信手段１１にてその要求を受信し，サービスプログラム実行条件分析手段１３に受信した端末環境情報を渡す。
【００２２】
サービスプログラム実行条件分析手段１３は，ユーザ端末５を使用するユーザ名をキーとして，サービスプログラム実行条件データベース１７を検索し，事前に設定されたサービスプログラム実行条件と端末環境情報とを照合して分析し，サービスプログラムはユーザ端末５にて実行するか否かを判定する。なお，端末環境情報の項目要素は，サービスプログラム実行条件として設定される項目要素に対応しているが，どちらか一部を省略することも可能であるので，サービスプログラム実行条件および端末環境情報のいずれかにしか含まれない要素は分析対象から外し，サービスプログラム実行条件および端末環境情報の共通要素を比較して，分析する。
【００２３】
（ｃ）分析の結果，当該サービスを提供するサービスプログラムは，サービスアプリケーションサーバ１内にて実行すべき状態であると判定されたならば，サービスプログラム実行手段１５は，サービスプログラム記憶装置２から該当するサービスプログラムをメモリにロードして実行する。サービスプログラム実行結果送信手段１６は，その実行結果をユーザ端未５に送信する。
【００２４】
（ｄ）ユーザ端末５では，サービスプログラムの実行結果を受信すると，その実行結果をユーザに対して表示する。
【００２５】
（ｅ）一方，例えばデスクトップ型ＰＣ端末のユーザ端末４が，所望のサービスの要求とともに，ユーザ端末４の端末環境情報をアプリケーションサーバｌに送信したとする。サービスアプリケーションサーバ１のサービス要求・端末環境情報受信手段１１はその要求を受信し，サービスプログラム実行条件分析手段１３に受信した端末環境情報を渡す。
【００２６】
サービスプログラム実行条件分析手段１３は，ユーザ端末４を使用するユーザ名をキーとして，サービスプログラム実行条件データベース１７を検索し，事前に設定されたサービスプログラム実行条件と端末環境情報とを照合して分析し，サービスプログラムはユーザ端末４にて実行するか否かを判定する。
【００２７】
（ｆ）分析の結果，当該サービスを提供するサービスプログラムは，ユーザ端末４側にて実行すべきであると判定されたならば，サービスプログラム送信手段１４は，サービスプログラム記憶装置２から該当するサービスプログラムを読み出し，そのサービスプログラムをユーザ端末４にネットワークを介して送信するよう，プログラムを含めたパケットの組み立て処理を行い，ユーザ端末４に対して送信する。
【００２８】
（ｇ）当該サービスプログラムを受信したユーザ端未４では，受信したパケットから，サービスプログラムのみを抜き出し，当該サービスプログラムをユーザ端末４にて実行する。
【００２９】
（ｈ）ユーザ端末４は，受信したサービスプログラムの実行結果をユーザに表示する。
【００３０】
図４は，上述した動作シーケンスにおいてユーザ端末４，５から，サービスアプリケーションサーバ１へのサービス要求時に送信される端末環境情報の一例を示す。当該送信される端未環境情報は，サービスを要求するユーザ名や，ＣＰＵクロック周波数，メモリ容量などのユーザ端末のマシンリソースや，ネットワーク速度などのネットワーク環境条件などの情報を含んで構成される。なお，必ずしもこれらのすべての情報を含む必要はない。
【００３１】
サービスプログラム実行条件は，例えばユーザ端末のＣＰＵクロック周波数が２００ＭＨｚ未満か，またはメモリ容量が１２８ＭＢ未満ならサービスプログラムをサービスアプリケーションサーバ１にて実行し，それ以外ならユーザ端末にて実行するというような条件であったり，ユーザ端末が使用するネットワークのデータ転送速度が１Ｍｂｐｓ以下であれば，サービスプログラムをサービスアプリケーションサーバ１にて実行し，それ以外ならユーザ端末にて実行するというような条件である。端末環境情報として，サービスプログラム実行基盤の有無の情報があり，サービスプログラム実行基盤がなしとなっていた場合には，サービスプログラムは，無条件にサービスアプリケーションサーバ１にて実行され，その実行結果だけがユーザ端末に送信される。
【００３２】
図５は，サービスアプリケーションサーバ１の動作処理フローを示す図である。サービスアプリケーションサーバ１は，ユーザ端末から，サービスプログラム実行条件の登録要求を受信すると（ステップＳ１），要求されたサービスプログラム実行条件をサービスプログラム実行条件データベース１７に設定し，登録する（ステップＳ２）。
【００３３】
また，サービスアプリケーションサーバ１は，ユーザ端末からサービス要求および端末環境情報を受信すると（ステップＳ３），サービスプログラムはユーザ端末にて実行するか，サービスアプリケーションサーバ１にて実行するかを，サービスプログラム実行条件データベース１７に登録されたサービスプログラム実行条件と，受信した端末環境情報とを比較することにより判定する（ステップＳ４）。
【００３４】
サービスプログラムをサービスアプリケーションサーバ１にて実行すると判定された場合には，サービスアプリケーションサーバ１がサービスプログラムを実行し（ステップＳ５），そのサービスプログラム実行結果をユーザ端末に送信すし（ステップＳ６），処理を終了する。サービスプログラムをユーザ端末にて実行すると判定された場合には，サービスプログラムをユーザ端末４に送信し（ステップＳ７），処理を終了する。
【００３５】
以上のサービスアプリケーションサーバ１が行う処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスク等の適当な記録媒体に格納して，そこから読み出すことによりコンピュータに実行させることができる。
【００３６】
【発明の効果】
以上，詳細に説明したように，本発明によれば，以下のような効果が得られる。すなわち，サービスを要求するユーザにとっては，ユーザ端末環境やリソースに応じた最適なサービス実行速度が得られるように条件を設定することができ，非力な端末環境条件であった場合には，サービスプログラムはアプリケーションサーバにて実行されるので，端末リソース消費量を軽減することができるという効果がある。さらに，ユーザの場所の移動にともない，ユーザ端末も移動した場合などに，当該ユーザが要求するサービスを提供するプログラムの実行場所は，その要求の都度決定されるので，ユーザはシームレスなサービスを享受することができる。
【００３７】
一方，ユーザに対してサービスを提供するサービスプロバイダにとっては，サービス要求ユーザに対して，当該サービスの実行形態に応じて柔軟にサービス課金することが可能となる。すなわち，例えばサーバ側にてサービスプログラムを実行した場合の課金，またはユーザ端末に対してサービスプログラムを送信のみした場合の課金などである。さらに，サービスプログラムを一律にユーザ端末に送信してユーザ端末側にて実行した場合には多大なネットワークアクセス回線の帯域が必要になるし，一方，一律にサーバ側で実行した場合には多大なサーバシステムのリソースが必要になるが，本発明を適用することによって，選択的にプログラム実行場所を決定することができるので，ネットワークアクセス回線の帯域の低減，およびサーバへの設備投資の軽減が可能となるという効果がある。
【図面の簡単な説明】
【図１】サービスプログラム処理方法の概念を説明する図である。
【図２】サービスアプリケーションサーバの構成の一例を示す図である。
【図３】サービスプログラムの実行場所を決定する流れを示すシーケンス図である。
【図４】端末環境情報の一例を示す図である。
【図５】サービスアプリケーションサーバの処理フローを示す図である。
【符号の説明】
１　サービスアプリケーションサーバ
２　サービスプログラム記憶装置
３　ネットワーク
４，５，６，７　ユーザ端未
１１　サービス要求・端末環境情報受信手段
１２　サービスプログラム実行条件登録手段
１３　サービスプログラム実行条件分析手段
１４　サービスプログラム送信手段
１５　サービスプログラム実行手段
１６　サービスプログラム実行結果送信手段
１７　サービスプログラム実行条件データベース
【図１】
2004139504.tif 000003
【図２】
2004139504.tif 000004
【図３】
2004139504.tif 000005
【図４】
2004139504.tif 000006
【図５】
2004139504.tif 000007