(57)【特許請求の範囲】
【請求項１】
複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムであって、
通信端末のリソース状況を示す端末リソース情報と、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報とを管理するリソース情報管理手段と、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定手段と
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素とを接続させる経路を設定するための情報を前記ノードへ通知するネットワーク構成設定手段と、を備えるサービス提供システム。
【請求項２】
センサデータを収集するセンサデバイスをさらに備え、
前記サービス構成決定手段は、
前記収集されたセンサデータと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方とに基づいて、前記サービス構成要素の組み合わせを決定する、請求項１に記載のサービス提供システム。
【請求項３】
前記端末リソース情報は、
前記通信端末の電池残量を示す情報を含む情報であり、
前記サービス構成決定手段は、
前記電池残量が予め定められた閾値を下回る場合、前記サーバ装置に搭載されているサービス構成要素を優先的に組み合わせ、前記電池残量が予め定められた閾値を上回る場合、前記通信端末に搭載されているサービス構成要素を優先的に組み合わせる、請求項１又は２に記載のサービス提供システム。
【請求項４】
前記端末リソース情報は、
前記通信端末と、前記通信端末及び前記サーバ装置を接続するネットワークとの接続状況を示す情報をさらに含み、
前記サービス構成決定手段は、
前記通信端末と前記ネットワークとが接続されていない場合、前記通信端末に搭載されているサービス構成要素を組み合わせ、前記通信端末と前記ネットワークとが接続されている場合、前記電池残量に基づいて、組み合わせるサービス構成要素を決定する、請求項３に記載のサービス提供システム。
【請求項５】
前記通信端末が、前記リソース情報管理手段と、前記サービス構成決定手段とを備える、請求項１乃至４のいずれか１項に記載のサービス提供システム。
【請求項６】
複数のサービス構成要素を組み合わせたサービスを提供されるユーザが保持する通信端末であって、
前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するリソース情報管理部と、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させるネットワーク構成指示部と、を備える通信端末。
【請求項７】
センサデータを収集するセンサデバイスをさらに備え、
前記サービス構成決定部は、
前記収集されたセンサデータと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方とに基づいて、前記サービス構成要素の組み合わせを決定する、請求項６に記載の通信端末。
【請求項８】
前記端末リソース情報は、
前記通信端末の電池残量を示す情報を含む情報であり、
前記サービス構成決定部は、
前記電池残量が予め定められた閾値を下回る場合、前記サーバ装置に搭載されているサービス構成要素を優先的に組み合わせ、前記電池残量が予め定められた閾値を上回る場合、前記通信端末に搭載されているサービス構成要素を優先的に組み合わせる、請求項６又は７に記載の通信端末。
【請求項９】
複数のサービス構成要素を組み合わせたサービスを通信端末のコンピュータに実行させるプログラムであって、
前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するステップと、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するステップと、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させるステップと、をコンピュータに実行させるプログラム。
【請求項１０】
複数のサービス構成要素を組み合わせたサービスを提供するサービス提供方法であって、
通信端末のリソース状況を示す端末リソース情報を収集するとともに前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を収集し、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定し、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させる、サービス提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムに関する。
【背景技術】
【０００２】
ユーザニーズの多様化に伴う個別のカスタマイズや、他社より優位に立つための迅速なサービス提供を実現するために、複数のサービス機能単位(Service Component：SC)を組み合わせて低コストでサービス提供したいという要求がある。なぜなら、１からサービスを構築し提供する場合、ユーザニーズの多様化に伴う個別のカスタマイズを行うことや、他社より優位に立つための迅速なサービス提供を実現することは困難だからである。また、ユーザサイドに立ったサービスは利用ユーザ数の少ないものも多く、開発にコストを掛けられないという理由も有る。このため、検証済みのＳＣを用いて開発期間を短縮し、コストを掛けずにサービスを構築したいという要求が高まっている。
【０００３】
また、一般的に複数のＳＣを組み合わせるために、一つのサーバ装置に配置されている複数のＳＣや、複数のサーバ装置に分散配置されているＳＣを組み合わせてサービスを提供することが考えられている。そこで、特許文献１には、ネットワーク上のサーバ装置のリソースを分散制御することができるシステムが開示されている。つまり、それぞれのサーバ装置が備える機能を組み合わせるために、サーバ装置間の通信を制御するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３２０２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、携帯端末の機能が向上し、ＳＣを携帯端末上で動作させることも可能である。つまり、携帯端末にもマルチコアプロセッサやＧＰＵ（Graphics Processing Unit）などが搭載され、高性能化されている。そのため、従来サーバ上で動作していたＳＣを組み合わせて提供されていたサービスも、携帯端末上のＳＣとサーバ上のＳＣとを組み合わせることにより同様のサービスを提供することができる。しかし、特許文献１には、サーバ装置間の通信を制御するシステムが開示されているのみであり、サーバ装置と携帯端末とに分散されている機能又はリソースを制御する構成については開示されていない。
【０００６】
本発明はこのような問題を解決するために、サーバ装置と携帯端末とに分散されている機能又はリソースを制御することができるサービス提供システム、通信端末、プログラム及びサービス提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかるサービス提供システムは、複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムであって、通信端末のリソース状況を示す端末リソース情報と、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報とを管理するリソース情報管理部と、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、を備えるものである。
【０００８】
本発明の第２の態様にかかる通信端末は、複数のサービス構成要素を組み合わせたサービスを提供されるユーザが保持する通信端末であって、前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するリソース情報管理部と、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、を備えるものである。
【０００９】
本発明の第３の態様にかかるプログラムは、複数のサービス構成要素を組み合わせたサービスを通信端末のコンピュータに実行させるプログラムであって、前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するステップと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するステップと、をコンピュータに実行させるものである。
【００１０】
本発明の第４の態様にかかるサービス提供方法は、複数のサービス構成要素を組み合わせたサービスを提供するサービス提供方法であって、通信端末のリソース状況を示す端末リソース情報を収集するとともに前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を収集し、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するものである。
【発明の効果】
【００１１】
本発明により、サーバ装置と携帯端末とに分散されている機能又はリソースを制御することができるサービス提供システム、通信端末、プログラム及びサービス提供方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかるサービス提供システムの構成図である。
【図２】実施の形態１にかかる通信端末及びサーバの構成図である。
【図３】実施の形態１にかかる通信端末のハードウェアに関する構成図である。
【図４】実施の形態１にかかるユーザコンテキスト認識処理に関するフローである。
【図５】実施の形態１にかかるサービス構成決定処理に関するフローである。
【図６】実施の形態２にかかるサービス提供システムの構成図である。
【図７】実施の形態２にかかるサービス構成決定処理に関するフローである。
【図８】実施の形態２にかかるサービス提供システムの動作を示めす図である。
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。図１を用いて本発明の実施の形態１にかかるサービス提供システムの構成例について説明する。サービス提供システムは、通信端末１００と、サーバ２００とを用いて構成されている。通信端末１００は、リソース管理部１２１と、サービス構成決定部１２３と、サービス構成要素１３２とを備えている。サーバ２００は、サービス構成要素２２２を備えている。
【００１４】
サービス提供システムは、複数のサービス構成要素を組み合わせてサービスを提供する。サービス構成要素は、例えば、組み合わせることにより一連の動作を実現するタスクや、プロセス、ソフトウェアモジュール等を含む。もしくは、サービス構成要素は、サービスを提供するために用いられる部品又は装置等であっても良い。
【００１５】
リソース管理部１２１は、通信端末１００のリソース状況を示す端末リソース情報を受け取る。また、リソース管理部１２１は、通信端末１００と通信を行うサーバ２００のリソース状況を示すサーバリソース情報を受け取る。リソース管理部１２１は、受け取った端末リソース情報とサーバリソース情報とをサービス構成決定部１２３へ出力する。
【００１６】
サービス構成決定部１２３は、リソース管理部１２１から出力された端末リソース情報及びサーバリソース情報の少なくとも一方に基づいて、通信端末１００に搭載されているサービス構成要素１３２と、サーバ２００に搭載されているサービス構成要素２２２との組合せを決定する。通信端末１００は、１つのサービス構成要素１３２を保持してもよく、複数のサービス構成要素１３２を保持してもよい。また、サーバ２００も同様に、１つのサービス構成要素２２２を保持してもよく、複数のサービス構成要素２２２を保持してもよい。
【００１７】
なお、リソース管理部１２１及びサービス構成決定部１２３は、通信端末１００又はサーバ２００、あるいは、図示されていないネットワーク上の他の装置の何れに配置されてもよい。
【００１８】
以上説明したように、図１にかかるサービス提供システムを用いることにより、通信端末１００とサーバ２００とに分散されているサービス構成要素の組み合わせを決定することができる。つまり、端末リソース情報とサーバリソース情報とに基づいて、通信端末１００に搭載されているサービス構成要素を用いることにより、通信端末１００とサーバ２００とに分散配置されているサービス構成要素を連携させることができる。
【００１９】
続いて、図２を用いて本発明の実施の形態１にかかる通信端末１００及びサーバ２００の詳細な構成例について説明する。サーバ２００は、ネットワーク制御部２１０と、１以上のサービス機能単位（Service Component：ＳＣ）２２４と、を備えている。また、ネットワーク制御部２１０は、ネットワーク状況認識部２１１と、ネットワーク状況通知部２１２と、ネットワーク構成設定部２１３とを有している。ＳＣ２２４は、サービス構成要素２２２に含まれる。例えば、ＳＣ２２４は、サーバ上で動作するプロセスとして定義される。複数のＳＣ２２４間は、プロセス間通信を行うことにより接続される。
【００２０】
ネットワーク状況認識部２１１は、定期的にネットワーク状況を監視してネットワーク状況に関する情報を収集する。もしくは、ネットワーク状況認識部２１１は、通信端末１００等から、ネットワーク状況に関する問い合わせ通知を受けた際に、ネットワーク状況に関する情報を収集する。ネットワーク状況に関する情報には、サーバ２００が接続されているネットワーク上の遅延情報や、使用帯域情報、サーバ２００の演算負荷情報等が含まれる。また、ネットワーク状況に関する情報は、サーバリソース情報に対応する。ネットワーク状況認識部２１１は、ネットワーク状況に関する情報をネットワーク状況通知部２１２へ出力する。
【００２１】
ネットワーク状況通知部２１２は、サービス制御部１２０からの問い合わせに応じて、ネットワーク状況認識部２１１から出力された情報をサービス制御部１２０へ送信する。もしくは、ネットワーク状況通知部２１２は、ネットワーク状況認識部２１１から出力された情報を定期的にサービス制御部１２０へ送信する。もしくは、ネットワーク状況通知部２１２は、ネットワーク状況認識部２１１から情報が出力されるたびに、出力された情報をサービス制御部１２０へ送信してもよい。
【００２２】
ネットワーク構成設定部２１３は、サービス制御部１２０から通知されるサービス構成要素の組み合わせに関する情報に基づいて、ＳＣ２２４の構成を設定する。例えば、ネットワーク構成設定部２１３は、複数のＳＣ２２４間で行われているプロセス間通信の接続先を動的又は静的に変更し、それぞれのＳＣ２２４の接続構成を設定する。この際、ＳＣ２２４自身は、どのＳＣから接続されているのか、どのＳＣに接続しているかを関知しなくてもよい。
【００２３】
次に、通信端末１００の構成例について説明する。通信端末１００は、端末制御部１１０とサービス制御部１２０と１以上のサービス機能単位（Service Component：ＳＣ）１３４とを備えている。ＳＣ１３４は、サービス構成要素１３２に含まれる。ＳＣ１３４は、例えば、端末上で動作するプロセスであり、複数のＳＣ１３２間は、プロセス間通信を行うことにより接続される。
【００２４】
はじめに、端末制御部１１０の構成例について説明する。端末制御部１１０は、端末状況認識部１１１と、端末状況判断部１１２と、端末構成設定部１１３とを備えている。端末状況認識部１１１は、ユーザ情報やユーザ状況、端末状態などのユーザコンテキスト情報を認識する。ユーザコンテキスト情報は、端末リソース情報に対応する。端末状況認識部１１１は、認識した情報を端末状況判断部１１２へ出力する。ユーザ情報は、通信端末１００に登録されているユーザの情報などである。例えば、ユーザ情報は、通信端末１００に割り当てられている電話番号や、ユーザによって登録されたユーザのプロフィール情報等であってもよい。ユーザ状況は、通信端末１００をいつどこで誰が使っているか、もしくは、歩行や乗車などユーザが何をしているか等を示す情報である。ユーザ状況は、通信端末１００に備えられたセンサデバイスからのセンサデータ等を用いて認識される。端末状態は、電池の残量やネットワーク接続状態等を示す情報である。ネットワーク接続状態は、通信端末１００がネットワークと接続されているか否かを示す情報である。ネットワーク接続状態は、サーバ２００に問い合わせたり、サーバ２００からの通知を受けたりして認識される。
【００２５】
端末状況判断部１１２は、端末状況認識部１１１から出力された情報を、サービス制御部１２０へ通知する。この時、端末状況判断部１１２は、予め作成したルール又はユーザによる端末操作実行時の指示などに応じて、端末状況認識部１１１から出力された情報をサービス制御部１２０へ通知を行うか否かを判定する。
【００２６】
端末構成設定部１１３は、サービス制御部１２０から通知されるサービス構成要素の組み合わせに関する情報に基づいて、ＳＣ１３４の構成を設定する。例えば、端末構成設定部１１３は、複数のＳＣ１３４間で行われているプロセス間通信の接続先を動的又は静的に変更し、それぞれのＳＣ１３４の接続構成を設定する。この際、ＳＣ１３４自身は、どのＳＣから接続されているのか、どのＳＣに接続しているかを関知しなくてもよい。
【００２７】
次に、サービス制御部１２０の構成例について説明する。サービス制御部１２０は、リソース管理部１２１と、サービス発見部１２２と、サービス構成決定部１２３と、端末構成指示部１２４と、ネットワーク構成指示部１２５とを備えている。
【００２８】
リソース管理部１２１は、端末制御部１１０からユーザコンテキスト情報を受け取る。また、リソース管理部１２１は、ネットワーク制御部２１０から、ネットワーク状況に関する情報を受け取る。リソース管理部１２１は、受け取った情報を保持し、さらにサービス構成決定部１２３へ出力する。
【００２９】
サービス発見部１２２は、提供するサービスに用いられる複数のＳＣを抽出し、サービス構成決定部１２３へ通知する。ここで、サービス発見部１２２は、同一の機能であって、通信端末１００及びサーバ２００にそれぞれ配置されているＳＣがある場合、それぞれのＳＣを抽出してもよい。つまり、サービス発見部１２２は、同一の機能であっても配置場所が異なるそれぞれのＳＣを抽出しても良い。提供するサービスは、通信端末１００を操作するユーザからの入力情報により指定されてもよい。また、サービス発見部１２２は、提供サービスとＳＣとを対応付けて管理しているデータベース等を用いて、ＳＣを抽出してもよい。
【００３０】
サービス構成決定部１２３は、リソース管理部１２１から出力された情報に基づいて、サービス発見部１２２から通知されたＳＣの組合せを決定する。サービス構成決定部１２３は、例えば、同一の機能である複数のＳＣが通知された場合、どの装置に配置されているＳＣを用いるかを決定する。サービス構成決定部１２３は、決定したＳＣの組み合わせに関する情報を端末構成指示部１２４及びネットワーク構成指示部１２５へ通知する。端末構成指示部１２４は、端末制御部１１０の端末構成設定部１１３に対して、通信端末１００におけるＳＣの組み合わせ情報を通知する。また、ネットワーク構成指示部１２５は、ネットワーク制御部２１０のネットワーク構成設定部２１３に対して、サーバ２００におけるＳＣの組み合わせ情報を通知する。
【００３１】
上述した端末制御部１１０、サービス制御部１２０及びネットワーク制御部２１０は、ハードウェア又はソフトウェア、もしくはその両方によって構成される。ハードウェアは、例えば、ＩＣ（Integrated Circuit）回路である。
【００３２】
続いて、図３を用いて本発明の実施の形態１にかかる通信端末１００のハードウェア構成例について説明する。通信端末１００は、プロセッサ１５１と、インターフェース１５２と、メインメモリ１５３と、バス１５４とを備えている。端末制御部１１０及びサービス制御部１２０は、情報提供処理をソフトウェアにより実行することができる。
【００３３】
プロセッサ１５１は、メインメモリ１５３に格納されたプログラムを実行する。プロセッサ１５１は、例えば通信端末１００のＣＰＵ（Central Processing Unit）であり、端末制御部１１０及びサービス制御部１２０を構成する。インターフェース１５２は、センサデバイスからセンサデータを取得し端末状況認識部１１１に提供する、また、ネットワーク上またはファイル上に存在するＳＣデータベースまたは設定ファイルからＳＣ情報を取得しサービス発見部１２２に提供する。インターフェース１５２には、例えばネットワークデバイス，ファイルデバイス、センサデバイスが接続される。プロセッサ１５１は、インターフェース１５２を介して、各種情報を出入力する。
【００３４】
メインメモリ１５３は、プロセッサ１５１によって実行されるプログラムを記憶する。記憶されているプログラムには、端末制御部１１０及びサービス制御部１２０の処理を実行するために、プロセッサ１５１に処理させるための命令群が記載されている。バス１５４は、プロセッサ１５１、インターフェース１５２、メインメモリ１５３をそれぞれ接続する。
【００３５】
続いて、図４を用いて本発明の実施の形態１にかかる、ユーザコンテキスト認識フローについて説明する。はじめに、端末状況認識部１１１は、ユーザコンテキスト情報を認識する（Ｓ１１）。端末状況認識部１１１は、ユーザによって登録された登録情報等からユーザの情報を認識する。また、端末状況認識部１１１は、通信端末１００の制御部（図示せず）等へ問い合わせることにより、電池の残量やネットワーク接続状態などの端末状態を認識する。また、端末状況認識部１１１は、センサデバイスから入力されたセンサデータ等を解析することにより、通信端末１００をいつどこで誰が使っているかもしくは歩行や乗車などユーザが何をしているかなどのユーザ状況を認識する。
【００３６】
次に、端末状況判断部１１２は、端末状況認識部１１１において認識された情報を、予め作成したルール又はユーザによる端末操作実行時の指示などに応じて、サービス制御部１２０へ通知するか否かを判定する（Ｓ１２）。例えば、定期的に端末状況認識部１１１において認識された情報をサービス制御部１２０へ通知するというルールが予め作成されている場合、端末状況判断部１１２は、サービス制御部１２０へ情報を通知するタイミングか否かを判定する。また、端末状況認識部１１１によって端末状態が認識された場合に、端末状況判断部１１２は、即座に端末状態に関する情報をサービス制御部１２０へ通知し、ユーザ状況に関する情報が認識された場合には、所定のデータ量が蓄積された場合に、ユーザ状況に関する情報をサービス制御部１２０へ通知する、というルールが予め定められてもよい。あるいは、決められたユーザ状況が認識された場合に通知する、というルールが定められてもよい。
【００３７】
端末状況判断部１１２は、ステップＳ１２において、予め定められたルール等を満たさないと判定した場合、ステップＳ１１の処理を繰り返す。端末状況判断部１１２は、ステップＳ１２において、予め定められたルール等を満たすと判定した場合、端末状況認識部１１１において認識された情報をサービス制御部１２０へ通知する（Ｓ１３）。
【００３８】
続いて、図５を用いて本発明の実施の形態１にかかるサービス構成決定フローについて説明する。はじめに、リソース管理部１２１は、管理している情報の更新を行うか否かを判定する（Ｓ２１）。管理している情報とは、端末状況判断部１１２から受け取ったユーザコンテキスト情報及びネットワーク状況通知部２１２から受け取ったネットワーク状況に関する情報である。リソース管理部１２１は、端末状況判断部１１２から、ユーザコンテキスト情報を受け取った場合に、情報の更新を行う。もしくは、端末状況判断部１１２は、ネットワーク状況通知部２１２から、ネットワーク状況に関する情報を受け取った場合に、情報の更新を行う。リソース管理部１２１は、更新すべき情報がないと判定した場合には、ステップＳ２１の処理を繰り返す。リソース管理部１２１によって、情報の更新を行うと判定され、情報の更新が行われた場合、サービス構成決定部１２３は、リソース管理部１２１によって管理されている情報に基づいて、提供するサービスに用いるＳＣの構成を決定する（Ｓ２２）。
【００３９】
端末構成指示部１２４は、サービス構成決定部１２３において決定されたＳＣの構成に基づいて、端末構成設定部１１３に対して、ＳＣ構成設定の指示を通知する（Ｓ２３）。端末構成設定部１１３は通知された指示に従い、複数のＳＣ１３４間で行われているプロセス間通信の接続先を静的又は動的に変更することにより、それぞれのＳＣ１３４の構成を設定する。
【００４０】
また、ネットワーク構成指示部１２５は、サービス構成決定部１２３において決定されたＳＣの構成に基づいて、ネットワーク構成設定部２１３に対して、ＳＣ構成設定の指示を通知する（Ｓ２４）。ネットワーク構成設定部２１３は、複数のＳＣ２２４間で行われているプロセス間通信の接続先を静的又は動的に変更することにより、それぞれのＳＣ２２４の構成を設定する。
【００４１】
以上説明したように、本発明の実施の形態１にかかるサービス提供システムを用いることにより、通信端末１００又はサーバ２００において動作するＳＣの組み合わせを、ユーザコンテキスト情報や、ネットワーク状況に関する情報に応じて、決定することができる。これにより、サービスを提供するにあたり、高度なカスタマイズ性及びリソース最適化を実現することができる。
【００４２】
また、通信端末１００がサービス制御部１２０を備え、ＳＣの組み合わせを決定することにより、通信端末１００とサーバ２００との間がオフラインとなっている場合においても、通信端末１００に配置されているＳＣを組み合わせてサービスを継続することができる。また、仮にサービス制御部１２０がサーバ２００に備えられた場合、サーバ２００に接続される通信端末１００の数が増加することにより、サーバ２００の処理負荷が増大する。サーバ２００において、管理する通信端末１００の数が増えるからである。しかし、通信端末１００がサービス制御部１２０を備えることにより、サーバ２００における負荷がボトルネックになることはなくシステムのスケーラビリティを実現することができる。
【００４３】
（実施の形態２）
続いて、図６を用いて本発明の実施の形態２にかかるサービス提供システムの構成例について説明する。実施の形態２においては、実施の形態１においてひとつのサーバに備えられていた複数のＳＣ２２４が、複数のサーバ１２〜１４に分散して搭載されている。また、それぞれのサーバは、ノードに接続されている。ノード２１〜２５は、通信端末及び複数のサーバ間のデータ通信を中継する。サーバ２００には、ネットワーク制御部が配置されており、その他のサーバ１２〜１４には、ＳＣ１〜３が配置されている。通信端末の構成は、実施の形態１と同様である。この場合、サーバ１２〜１４に搭載されるＳＣ１〜３は、サーバ上で動作するプロセスとして定義される。異なるサーバに配置されているＳＣとＳＣとの間は、ソケットなどのＴＣＰ／ＩＰ通信を行うことにより接続される。
【００４４】
また、図６は、通信端末１００のＳＣ５を動作させることから始まり、サーバ１２のＳＣ１を動作させることにより終わるサービスにおけるＳＣの組合せを示している。
【００４５】
続いて、図７を用いて、本発明の実施の形態２にかかるサービス構成決定フローについて説明する。ステップＳ３１〜Ｓ３４までは、図４におけるステップＳ２１〜Ｓ２４と同様であるため、詳細な説明を省略する。ステップＳ３４において、ＳＣ構成設定の指示が通知された場合、ネットワーク構成設定部２１３は、通知された指示に従い、ポートのつなぎ変えや、宛先ＭＡＣアドレス及び宛先ＩＰアドレスの書き換えを行うための設定をノードに通知する（Ｓ３５）。これにより、ＳＣを組み合わせるための経路が設定される。
【００４６】
続いて、図８を用いて、画像を共有するサービスを例に、本発明の実施の形態２にかかるサービス提供システムの動作を説明する。画像を共有するサービスを提供するサービス提供システムは、Ａｎｄｒｏｉｄ（登録商標）ＯＳが動作する端末１３０と、ネットワーク上に存在しネットワーク制御部が搭載されているサーバ２００と、ＳＣが搭載されているサーバ１２〜１４と、ネットワークスイッチ３１〜３５と、データベース(ＤＢ)サーバ１５とで構成される。ネットワークスイッチ３１〜３５は、図５におけるノード２１〜２５に対応する。
【００４７】
通信端末１３０上のＳＣ１０４〜１０６は、Ａｎｄｒｏｉｄのサービスプロセスを用いて実装される。通信端末上のＳＣ１０４〜１０６間は、Ａｎｄｒｏｉｄ  ＯＳ特有のプロセス間通信ＡＩＤＬを用いて接続される。ＡＩＤＬは、Ａｎｄｒｏｉｄ  ＯＳ上で動作するサービスを開発する開発者向けに仕様が開示されている技術である。ＡＩＤＬでは、Ｂｉｎｄという通信機構を使い、プロセス間通信を確立する。Ｂｉｎｄは、接続相手の情報をもつＩｎｔｅｎｔというオブジェクトをＡｎｄｒｏｉｄシステムに送信することにより通信を確立する。
【００４８】
端末構成設定部１１３は、接続元ＳＣが他ＳＣに接続する際にＩｎｔｅｎｔの接続先情報を書き換え、意図したＳＣへ接続させる。制御前の接続元ＳＣは、最終ＳＣへの接続に必要な情報を持ったＩｎｔｅｎｔを保持していてもよく、ダミーのＩｎｔｅｎｔでも良い。あるいは、端末構成設定部１１３は、Ｉｎｔｅｎｔ情報を書き換える代わりに、接続元ＳＣが別のＳＣに接続する際に、接続元ＳＣに意図したＳＣへの接続に必要なＩｎｔｅｎｔ情報を教えても良い。又は、サービスの開始又は再開時に、一連のＳＣ接続フロー情報を持ったＩｎｔｅｎｔを開始ＳＣに伝え、各ＳＣが順次接続を確立しても良い。
【００４９】
サーバ１２〜１４上のＳＣ１０１〜１０３は、ソケットなどでＴＣＰ／ＩＰ通信するプロセスとして実装される。ネットワーク構成設定部は、ＯｐｅｎＦｌｏｗプロトコルによりネットワークを制御し、サーバ１２〜１４に配置されているＳＣ１０１〜１０３間の接続を制御する。ＯｐｅｎＦｌｏｗは、OpenFlow Switch Consortiumにより開発されているネットワーク制御技術である。ネットワーク構成設定部２１３はＯｐｅｎＦｌｏｗで規定されるOpenFlowControllerとして実装され、ネットワークスイッチ１〜５はOpenFlowSwitchとして構成される。
【００５０】
ネットワーク構成設定部２１３は、サービス制御部１２０の指示に従い、各スイッチのポートのつなぎ変えや、宛先ＭＡＣアドレスや宛先ＩＰアドレスの書き換えの設定を行う。
【００５１】
通信端末１３０上のＳＣとサーバ１２〜１４上のＳＣとの間の接続は、ＡＩＤＬでの通信をＴＣＰ／ＩＰ通信に変換する、及び、その逆の変換をすることにより行われる。
【００５２】
本画像共有サービスの基本的な動作は、端末で撮影した画像をネットワーク上のＤＢサーバ１５に保存するものである。本サービスは、端末で撮影した画像をアップロードするＳＣ１０５と、撮影された画像をＤＢに保存し共有するＵＩなどを備えた画像保存ＳＣ１０１又は１０６とを用いて構成される。
【００５３】
さらに、上述したＳＣに加え、アップロードする画像に顔が映っているか否かを検出し、映っているならモザイクをかける顔モザイクＳＣ１０４又は１０３が用いられても良い。顔モザイクＳＣ１０４又は１０３は、撮影場所に応じてサービスに組み込むか否か判断する。例えば、職場や学校などで撮影する画像をアップロードする際にはモザイクをかける、ということもできる。ユーザがどこにいるかは端末制御部１１０の端末状況認識部１１１で認識する。端末状況認識部１１１は、ＧＰＳやＷｉＦｉなどのデバイスを用いて、ユーザの位置を測位する。
【００５４】
画像保存ＳＣ１０１又は１０６と顔モザイクＳＣ１０４又は１０３とは、通信端末１３０及びサーバ１２〜１４のどちらにも存在し、どちらのＳＣを利用するかは端末の電池残量やネットワーク接続状況などの端末情報に基づいて決定される。例えば、ネットワークは繋がっており電池残量が予め定められた閾値よりも少ないときは、顔モザイクＳＣ及び画像保存ＳＣはサーバ上のものを使い、ネットワークは繋がっているが電池残量が予め定められた閾値よりも多いときは、通信端末１３０上のものを使ってもよい。また、ネットワークは繋がっているが電池残量が予め定められた閾値よりも少ないときは、どちらか一方のＳＣは、通信端末１３０上のものを使い、他方のＳＣは、サーバ上のものを使ってもよい。もしくは、通信端末１３０とサーバ１２〜１４間のネットワークが接続されていないオフラインの場合は、どちらも端末上のＳＣを利用してもよい。電池残量やネットワーク接続状況などの端末状態も端末状況認識部１１１で認識する。端末状況認識部１１１は、通信端末の内部状態を監視したり、システムから通知される情報を受信したりして端末状態を把握する。さらに、電池残量や、ネットワーク状況などの情報の他に、サーバ１２〜１４の使用帯域情報や、演算負荷情報等のネットワークの状況に関する情報をさらに用いて、利用するＳＣを決定してもよい。つまり、サーバ１２〜１４の使用帯域が多く、演算負荷が高い場合等には、通信端末１３０上のＳＣを利用するようにしてもよい。
【００５５】
端末状況認識部１１１で認識した情報をサービス制御部１２０に通知するか否かの判断は、端末状況判断部１１２がシナリオファイルに基づいて行っても良い。シナリオファイルは、どの認識結果を通知するかを記述したファイルである。前述したように、職場や学校と認識した場合や、電池残量が設定した値になった場合、ネットワークが切断された場合などに通知するように記述されていてもよい。シナリオファイルは、予め用意しておくこともでき、端末状況判断部１１２によって判断が行わるたびに、ユーザが作成又は修正しても良い。
【００５６】
サービス構成決定部１２３もシナリオファイルに基づきＳＣの構成を決定してもよい。サービス構成決定部１２３が参照するシナリオファイルは、端末状況判断部１１２が参照するシナリオファイルと同一のものでも良く、別のものでも良い。シナリオファイルには、職場や学校と認識した場合で電池残量が少なくネットワークに繋がっている場合は、顔モザイクＳＣ及び画像保存ＳＣはサーバ上のものを利用する構成に決定するなどと記述されている。
【００５７】
決定された構成は、端末構成指示部１２４及びネットワーク構成指示部１２５を介して、端末制御部１１０の端末構成設定部１１３及びネットワーク制御部２１０のネットワーク構成設定部２１３に伝えられる。端末構成設定部１１３は指示にしたがい、サービスプロセス間のＡＩＤＬ接続を変更する。また、ネットワーク構成設定部２１３は、OpenFlowSwitchの設定を変更する。
【００５８】
以上説明したように本発明の実施の形態２は、前述した実施形態１と同様の効果を得ることができる。また、複数のサーバにＳＣを分散することができるため、ひとつのサーバにおける負荷を分散することができる。
【００５９】
本発明における通信端末１００及び１３０における処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００６０】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態２において説明した、通信端末とサーバとに分散配置されているＳＣの決定処理は、実施の形態１において用いられてもよい。
【符号の説明】
【００６２】
１〜６  ＳＣ
１２〜１４  サーバ
２１〜２５  ノード
３１〜３５  ネットワークスイッチ
１００  通信端末
１１０  端末制御部
１１１  端末状況認識部
１１２  端末状況判断部
１１３  端末構成設定部
１２０  サービス制御部
１２１  リソース管理部
１２２  サービス発見部
１２３  サービス構成決定部
１２４  端末構成指示部
１２５  ネットワーク構成指示部
１３０  Andoroid通信端末
１３２  サービス構成要素
１３４  ＳＣ
１５１  プロセッサ
１５２  インターフェース
１５３  メインメモリ
１５４  バス
２００  サーバ
２１０  ネットワーク制御部
２１１  ネットワーク状況認識部
２１２  ネットワーク状況通知部
２１３  ネットワーク構成設定部
２２０  メモリ
２２２  サービス構成要素
２２４  ＳＣ
【図１】
0005834481.tif 000002
【図２】
0005834481.tif 000003
【図３】
0005834481.tif 000004
【図４】
0005834481.tif 000005
【図５】
0005834481.tif 000006
【図６】
0005834481.tif 000007
【図７】
0005834481.tif 000008
【図８】
0005834481.tif 000009