特許第5834481号(P5834481)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧
特許5834481サービス提供システム、通信端末、プログラム及びサービス提供方法
<>
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000002
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000003
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000004
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000005
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000006
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000007
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000008
  • 特許5834481-サービス提供システム、通信端末、プログラム及びサービス提供方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5834481
(24)【登録日】2015年11月13日
(45)【発行日】2015年12月24日
(54)【発明の名称】サービス提供システム、通信端末、プログラム及びサービス提供方法
(51)【国際特許分類】
   H04M 3/493 20060101AFI20151203BHJP
【FI】
   H04M3/493
【請求項の数】10
【全頁数】15
(21)【出願番号】特願2011-107151(P2011-107151)
(22)【出願日】2011年5月12日
(65)【公開番号】特開2012-239060(P2012-239060A)
(43)【公開日】2012年12月6日
【審査請求日】2014年4月10日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】西原 康介
【審査官】 松平 英
(56)【参考文献】
【文献】 特開平10−294814(JP,A)
【文献】 特表2004−519794(JP,A)
【文献】 特開2010−211748(JP,A)
【文献】 特表2006−520048(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/28−11/34
13/00
15/16−15/177
19/00−19/28
G06Q10/00−10/10
30/00−30/08
50/00−50/20
50/26−99/00
H04B 7/24−7/26
H04L12/00−12/955
13/02−13/18
29/00−29/14
H04M 3/00
3/16−3/20
3/38−3/58
7/00−7/16
11/00−11/10
H04W 4/00−99/00
(57)【特許請求の範囲】
【請求項1】
複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムであって、
通信端末のリソース状況を示す端末リソース情報と、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報とを管理するリソース情報管理手段と、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定手段と
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素とを接続させる経路を設定するための情報を前記ノードへ通知するネットワーク構成設定手段と、を備えるサービス提供システム。
【請求項2】
センサデータを収集するセンサデバイスをさらに備え、
前記サービス構成決定手段は、
前記収集されたセンサデータと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方とに基づいて、前記サービス構成要素の組み合わせを決定する、請求項1に記載のサービス提供システム。
【請求項3】
前記端末リソース情報は、
前記通信端末の電池残量を示す情報を含む情報であり、
前記サービス構成決定手段は、
前記電池残量が予め定められた閾値を下回る場合、前記サーバ装置に搭載されているサービス構成要素を優先的に組み合わせ、前記電池残量が予め定められた閾値を上回る場合、前記通信端末に搭載されているサービス構成要素を優先的に組み合わせる、請求項1又は2に記載のサービス提供システム。
【請求項4】
前記端末リソース情報は、
前記通信端末と、前記通信端末及び前記サーバ装置を接続するネットワークとの接続状況を示す情報をさらに含み、
前記サービス構成決定手段は、
前記通信端末と前記ネットワークとが接続されていない場合、前記通信端末に搭載されているサービス構成要素を組み合わせ、前記通信端末と前記ネットワークとが接続されている場合、前記電池残量に基づいて、組み合わせるサービス構成要素を決定する、請求項3に記載のサービス提供システム。
【請求項5】
前記通信端末が、前記リソース情報管理手段と、前記サービス構成決定手段とを備える、請求項1乃至4のいずれか1項に記載のサービス提供システム。
【請求項6】
複数のサービス構成要素を組み合わせたサービスを提供されるユーザが保持する通信端末であって、
前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するリソース情報管理部と、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させるネットワーク構成指示部と、を備える通信端末。
【請求項7】
センサデータを収集するセンサデバイスをさらに備え、
前記サービス構成決定部は、
前記収集されたセンサデータと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方とに基づいて、前記サービス構成要素の組み合わせを決定する、請求項6に記載の通信端末。
【請求項8】
前記端末リソース情報は、
前記通信端末の電池残量を示す情報を含む情報であり、
前記サービス構成決定部は、
前記電池残量が予め定められた閾値を下回る場合、前記サーバ装置に搭載されているサービス構成要素を優先的に組み合わせ、前記電池残量が予め定められた閾値を上回る場合、前記通信端末に搭載されているサービス構成要素を優先的に組み合わせる、請求項6又は7に記載の通信端末。
【請求項9】
複数のサービス構成要素を組み合わせたサービスを通信端末のコンピュータに実行させるプログラムであって、
前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するステップと、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するステップと、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させるステップと、をコンピュータに実行させるプログラム。
【請求項10】
複数のサービス構成要素を組み合わせたサービスを提供するサービス提供方法であって、
通信端末のリソース状況を示す端末リソース情報を収集するとともに前記通信端末とノードを介して通信を行う複数のサーバ装置のリソース状況を示すサーバリソース情報を収集し、
前記端末リソース情報及び複数の前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定し、
前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素との組み合わせに関する情報を送信し、前記通信端末に搭載されているサービス構成要素と、複数の前記サーバ装置に搭載されているサービス構成要素と
を接続させる経路を設定させる、サービス提供方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムに関する。
【背景技術】
【0002】
ユーザニーズの多様化に伴う個別のカスタマイズや、他社より優位に立つための迅速なサービス提供を実現するために、複数のサービス機能単位(Service Component:SC)を組み合わせて低コストでサービス提供したいという要求がある。なぜなら、1からサービスを構築し提供する場合、ユーザニーズの多様化に伴う個別のカスタマイズを行うことや、他社より優位に立つための迅速なサービス提供を実現することは困難だからである。また、ユーザサイドに立ったサービスは利用ユーザ数の少ないものも多く、開発にコストを掛けられないという理由も有る。このため、検証済みのSCを用いて開発期間を短縮し、コストを掛けずにサービスを構築したいという要求が高まっている。
【0003】
また、一般的に複数のSCを組み合わせるために、一つのサーバ装置に配置されている複数のSCや、複数のサーバ装置に分散配置されているSCを組み合わせてサービスを提供することが考えられている。そこで、特許文献1には、ネットワーク上のサーバ装置のリソースを分散制御することができるシステムが開示されている。つまり、それぞれのサーバ装置が備える機能を組み合わせるために、サーバ装置間の通信を制御するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−320217号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、携帯端末の機能が向上し、SCを携帯端末上で動作させることも可能である。つまり、携帯端末にもマルチコアプロセッサやGPU(Graphics Processing Unit)などが搭載され、高性能化されている。そのため、従来サーバ上で動作していたSCを組み合わせて提供されていたサービスも、携帯端末上のSCとサーバ上のSCとを組み合わせることにより同様のサービスを提供することができる。しかし、特許文献1には、サーバ装置間の通信を制御するシステムが開示されているのみであり、サーバ装置と携帯端末とに分散されている機能又はリソースを制御する構成については開示されていない。
【0006】
本発明はこのような問題を解決するために、サーバ装置と携帯端末とに分散されている機能又はリソースを制御することができるサービス提供システム、通信端末、プログラム及びサービス提供方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様にかかるサービス提供システムは、複数のサービス構成要素を組み合わせてサービスを提供するサービス提供システムであって、通信端末のリソース状況を示す端末リソース情報と、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報とを管理するリソース情報管理部と、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、を備えるものである。
【0008】
本発明の第2の態様にかかる通信端末は、複数のサービス構成要素を組み合わせたサービスを提供されるユーザが保持する通信端末であって、前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するリソース情報管理部と、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するサービス構成決定部と、を備えるものである。
【0009】
本発明の第3の態様にかかるプログラムは、複数のサービス構成要素を組み合わせたサービスを通信端末のコンピュータに実行させるプログラムであって、前記通信端末のリソース状況を示す端末リソース情報を収集し、前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を前記サーバ装置から受信するステップと、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するステップと、をコンピュータに実行させるものである。
【0010】
本発明の第4の態様にかかるサービス提供方法は、複数のサービス構成要素を組み合わせたサービスを提供するサービス提供方法であって、通信端末のリソース状況を示す端末リソース情報を収集するとともに前記通信端末と通信を行うサーバ装置のリソース状況を示すサーバリソース情報を収集し、前記端末リソース情報及び前記サーバリソース情報の少なくとも一方に基づいて、前記通信端末に搭載されているサービス構成要素と、前記サーバ装置に搭載されているサービス構成要素との組み合わせを決定するものである。
【発明の効果】
【0011】
本発明により、サーバ装置と携帯端末とに分散されている機能又はリソースを制御することができるサービス提供システム、通信端末、プログラム及びサービス提供方法を提供することができる。
【図面の簡単な説明】
【0012】
図1】実施の形態1にかかるサービス提供システムの構成図である。
図2】実施の形態1にかかる通信端末及びサーバの構成図である。
図3】実施の形態1にかかる通信端末のハードウェアに関する構成図である。
図4】実施の形態1にかかるユーザコンテキスト認識処理に関するフローである。
図5】実施の形態1にかかるサービス構成決定処理に関するフローである。
図6】実施の形態2にかかるサービス提供システムの構成図である。
図7】実施の形態2にかかるサービス構成決定処理に関するフローである。
図8】実施の形態2にかかるサービス提供システムの動作を示めす図である。
【発明を実施するための形態】
【0013】
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかるサービス提供システムの構成例について説明する。サービス提供システムは、通信端末100と、サーバ200とを用いて構成されている。通信端末100は、リソース管理部121と、サービス構成決定部123と、サービス構成要素132とを備えている。サーバ200は、サービス構成要素222を備えている。
【0014】
サービス提供システムは、複数のサービス構成要素を組み合わせてサービスを提供する。サービス構成要素は、例えば、組み合わせることにより一連の動作を実現するタスクや、プロセス、ソフトウェアモジュール等を含む。もしくは、サービス構成要素は、サービスを提供するために用いられる部品又は装置等であっても良い。
【0015】
リソース管理部121は、通信端末100のリソース状況を示す端末リソース情報を受け取る。また、リソース管理部121は、通信端末100と通信を行うサーバ200のリソース状況を示すサーバリソース情報を受け取る。リソース管理部121は、受け取った端末リソース情報とサーバリソース情報とをサービス構成決定部123へ出力する。
【0016】
サービス構成決定部123は、リソース管理部121から出力された端末リソース情報及びサーバリソース情報の少なくとも一方に基づいて、通信端末100に搭載されているサービス構成要素132と、サーバ200に搭載されているサービス構成要素222との組合せを決定する。通信端末100は、1つのサービス構成要素132を保持してもよく、複数のサービス構成要素132を保持してもよい。また、サーバ200も同様に、1つのサービス構成要素222を保持してもよく、複数のサービス構成要素222を保持してもよい。
【0017】
なお、リソース管理部121及びサービス構成決定部123は、通信端末100又はサーバ200、あるいは、図示されていないネットワーク上の他の装置の何れに配置されてもよい。
【0018】
以上説明したように、図1にかかるサービス提供システムを用いることにより、通信端末100とサーバ200とに分散されているサービス構成要素の組み合わせを決定することができる。つまり、端末リソース情報とサーバリソース情報とに基づいて、通信端末100に搭載されているサービス構成要素を用いることにより、通信端末100とサーバ200とに分散配置されているサービス構成要素を連携させることができる。
【0019】
続いて、図2を用いて本発明の実施の形態1にかかる通信端末100及びサーバ200の詳細な構成例について説明する。サーバ200は、ネットワーク制御部210と、1以上のサービス機能単位(Service Component:SC)224と、を備えている。また、ネットワーク制御部210は、ネットワーク状況認識部211と、ネットワーク状況通知部212と、ネットワーク構成設定部213とを有している。SC224は、サービス構成要素222に含まれる。例えば、SC224は、サーバ上で動作するプロセスとして定義される。複数のSC224間は、プロセス間通信を行うことにより接続される。
【0020】
ネットワーク状況認識部211は、定期的にネットワーク状況を監視してネットワーク状況に関する情報を収集する。もしくは、ネットワーク状況認識部211は、通信端末100等から、ネットワーク状況に関する問い合わせ通知を受けた際に、ネットワーク状況に関する情報を収集する。ネットワーク状況に関する情報には、サーバ200が接続されているネットワーク上の遅延情報や、使用帯域情報、サーバ200の演算負荷情報等が含まれる。また、ネットワーク状況に関する情報は、サーバリソース情報に対応する。ネットワーク状況認識部211は、ネットワーク状況に関する情報をネットワーク状況通知部212へ出力する。
【0021】
ネットワーク状況通知部212は、サービス制御部120からの問い合わせに応じて、ネットワーク状況認識部211から出力された情報をサービス制御部120へ送信する。もしくは、ネットワーク状況通知部212は、ネットワーク状況認識部211から出力された情報を定期的にサービス制御部120へ送信する。もしくは、ネットワーク状況通知部212は、ネットワーク状況認識部211から情報が出力されるたびに、出力された情報をサービス制御部120へ送信してもよい。
【0022】
ネットワーク構成設定部213は、サービス制御部120から通知されるサービス構成要素の組み合わせに関する情報に基づいて、SC224の構成を設定する。例えば、ネットワーク構成設定部213は、複数のSC224間で行われているプロセス間通信の接続先を動的又は静的に変更し、それぞれのSC224の接続構成を設定する。この際、SC224自身は、どのSCから接続されているのか、どのSCに接続しているかを関知しなくてもよい。
【0023】
次に、通信端末100の構成例について説明する。通信端末100は、端末制御部110とサービス制御部120と1以上のサービス機能単位(Service Component:SC)134とを備えている。SC134は、サービス構成要素132に含まれる。SC134は、例えば、端末上で動作するプロセスであり、複数のSC132間は、プロセス間通信を行うことにより接続される。
【0024】
はじめに、端末制御部110の構成例について説明する。端末制御部110は、端末状況認識部111と、端末状況判断部112と、端末構成設定部113とを備えている。端末状況認識部111は、ユーザ情報やユーザ状況、端末状態などのユーザコンテキスト情報を認識する。ユーザコンテキスト情報は、端末リソース情報に対応する。端末状況認識部111は、認識した情報を端末状況判断部112へ出力する。ユーザ情報は、通信端末100に登録されているユーザの情報などである。例えば、ユーザ情報は、通信端末100に割り当てられている電話番号や、ユーザによって登録されたユーザのプロフィール情報等であってもよい。ユーザ状況は、通信端末100をいつどこで誰が使っているか、もしくは、歩行や乗車などユーザが何をしているか等を示す情報である。ユーザ状況は、通信端末100に備えられたセンサデバイスからのセンサデータ等を用いて認識される。端末状態は、電池の残量やネットワーク接続状態等を示す情報である。ネットワーク接続状態は、通信端末100がネットワークと接続されているか否かを示す情報である。ネットワーク接続状態は、サーバ200に問い合わせたり、サーバ200からの通知を受けたりして認識される。
【0025】
端末状況判断部112は、端末状況認識部111から出力された情報を、サービス制御部120へ通知する。この時、端末状況判断部112は、予め作成したルール又はユーザによる端末操作実行時の指示などに応じて、端末状況認識部111から出力された情報をサービス制御部120へ通知を行うか否かを判定する。
【0026】
端末構成設定部113は、サービス制御部120から通知されるサービス構成要素の組み合わせに関する情報に基づいて、SC134の構成を設定する。例えば、端末構成設定部113は、複数のSC134間で行われているプロセス間通信の接続先を動的又は静的に変更し、それぞれのSC134の接続構成を設定する。この際、SC134自身は、どのSCから接続されているのか、どのSCに接続しているかを関知しなくてもよい。
【0027】
次に、サービス制御部120の構成例について説明する。サービス制御部120は、リソース管理部121と、サービス発見部122と、サービス構成決定部123と、端末構成指示部124と、ネットワーク構成指示部125とを備えている。
【0028】
リソース管理部121は、端末制御部110からユーザコンテキスト情報を受け取る。また、リソース管理部121は、ネットワーク制御部210から、ネットワーク状況に関する情報を受け取る。リソース管理部121は、受け取った情報を保持し、さらにサービス構成決定部123へ出力する。
【0029】
サービス発見部122は、提供するサービスに用いられる複数のSCを抽出し、サービス構成決定部123へ通知する。ここで、サービス発見部122は、同一の機能であって、通信端末100及びサーバ200にそれぞれ配置されているSCがある場合、それぞれのSCを抽出してもよい。つまり、サービス発見部122は、同一の機能であっても配置場所が異なるそれぞれのSCを抽出しても良い。提供するサービスは、通信端末100を操作するユーザからの入力情報により指定されてもよい。また、サービス発見部122は、提供サービスとSCとを対応付けて管理しているデータベース等を用いて、SCを抽出してもよい。
【0030】
サービス構成決定部123は、リソース管理部121から出力された情報に基づいて、サービス発見部122から通知されたSCの組合せを決定する。サービス構成決定部123は、例えば、同一の機能である複数のSCが通知された場合、どの装置に配置されているSCを用いるかを決定する。サービス構成決定部123は、決定したSCの組み合わせに関する情報を端末構成指示部124及びネットワーク構成指示部125へ通知する。端末構成指示部124は、端末制御部110の端末構成設定部113に対して、通信端末100におけるSCの組み合わせ情報を通知する。また、ネットワーク構成指示部125は、ネットワーク制御部210のネットワーク構成設定部213に対して、サーバ200におけるSCの組み合わせ情報を通知する。
【0031】
上述した端末制御部110、サービス制御部120及びネットワーク制御部210は、ハードウェア又はソフトウェア、もしくはその両方によって構成される。ハードウェアは、例えば、IC(Integrated Circuit)回路である。
【0032】
続いて、図3を用いて本発明の実施の形態1にかかる通信端末100のハードウェア構成例について説明する。通信端末100は、プロセッサ151と、インターフェース152と、メインメモリ153と、バス154とを備えている。端末制御部110及びサービス制御部120は、情報提供処理をソフトウェアにより実行することができる。
【0033】
プロセッサ151は、メインメモリ153に格納されたプログラムを実行する。プロセッサ151は、例えば通信端末100のCPU(Central Processing Unit)であり、端末制御部110及びサービス制御部120を構成する。インターフェース152は、センサデバイスからセンサデータを取得し端末状況認識部111に提供する、また、ネットワーク上またはファイル上に存在するSCデータベースまたは設定ファイルからSC情報を取得しサービス発見部122に提供する。インターフェース152には、例えばネットワークデバイス,ファイルデバイス、センサデバイスが接続される。プロセッサ151は、インターフェース152を介して、各種情報を出入力する。
【0034】
メインメモリ153は、プロセッサ151によって実行されるプログラムを記憶する。記憶されているプログラムには、端末制御部110及びサービス制御部120の処理を実行するために、プロセッサ151に処理させるための命令群が記載されている。バス154は、プロセッサ151、インターフェース152、メインメモリ153をそれぞれ接続する。
【0035】
続いて、図4を用いて本発明の実施の形態1にかかる、ユーザコンテキスト認識フローについて説明する。はじめに、端末状況認識部111は、ユーザコンテキスト情報を認識する(S11)。端末状況認識部111は、ユーザによって登録された登録情報等からユーザの情報を認識する。また、端末状況認識部111は、通信端末100の制御部(図示せず)等へ問い合わせることにより、電池の残量やネットワーク接続状態などの端末状態を認識する。また、端末状況認識部111は、センサデバイスから入力されたセンサデータ等を解析することにより、通信端末100をいつどこで誰が使っているかもしくは歩行や乗車などユーザが何をしているかなどのユーザ状況を認識する。
【0036】
次に、端末状況判断部112は、端末状況認識部111において認識された情報を、予め作成したルール又はユーザによる端末操作実行時の指示などに応じて、サービス制御部120へ通知するか否かを判定する(S12)。例えば、定期的に端末状況認識部111において認識された情報をサービス制御部120へ通知するというルールが予め作成されている場合、端末状況判断部112は、サービス制御部120へ情報を通知するタイミングか否かを判定する。また、端末状況認識部111によって端末状態が認識された場合に、端末状況判断部112は、即座に端末状態に関する情報をサービス制御部120へ通知し、ユーザ状況に関する情報が認識された場合には、所定のデータ量が蓄積された場合に、ユーザ状況に関する情報をサービス制御部120へ通知する、というルールが予め定められてもよい。あるいは、決められたユーザ状況が認識された場合に通知する、というルールが定められてもよい。
【0037】
端末状況判断部112は、ステップS12において、予め定められたルール等を満たさないと判定した場合、ステップS11の処理を繰り返す。端末状況判断部112は、ステップS12において、予め定められたルール等を満たすと判定した場合、端末状況認識部111において認識された情報をサービス制御部120へ通知する(S13)。
【0038】
続いて、図5を用いて本発明の実施の形態1にかかるサービス構成決定フローについて説明する。はじめに、リソース管理部121は、管理している情報の更新を行うか否かを判定する(S21)。管理している情報とは、端末状況判断部112から受け取ったユーザコンテキスト情報及びネットワーク状況通知部212から受け取ったネットワーク状況に関する情報である。リソース管理部121は、端末状況判断部112から、ユーザコンテキスト情報を受け取った場合に、情報の更新を行う。もしくは、端末状況判断部112は、ネットワーク状況通知部212から、ネットワーク状況に関する情報を受け取った場合に、情報の更新を行う。リソース管理部121は、更新すべき情報がないと判定した場合には、ステップS21の処理を繰り返す。リソース管理部121によって、情報の更新を行うと判定され、情報の更新が行われた場合、サービス構成決定部123は、リソース管理部121によって管理されている情報に基づいて、提供するサービスに用いるSCの構成を決定する(S22)。
【0039】
端末構成指示部124は、サービス構成決定部123において決定されたSCの構成に基づいて、端末構成設定部113に対して、SC構成設定の指示を通知する(S23)。端末構成設定部113は通知された指示に従い、複数のSC134間で行われているプロセス間通信の接続先を静的又は動的に変更することにより、それぞれのSC134の構成を設定する。
【0040】
また、ネットワーク構成指示部125は、サービス構成決定部123において決定されたSCの構成に基づいて、ネットワーク構成設定部213に対して、SC構成設定の指示を通知する(S24)。ネットワーク構成設定部213は、複数のSC224間で行われているプロセス間通信の接続先を静的又は動的に変更することにより、それぞれのSC224の構成を設定する。
【0041】
以上説明したように、本発明の実施の形態1にかかるサービス提供システムを用いることにより、通信端末100又はサーバ200において動作するSCの組み合わせを、ユーザコンテキスト情報や、ネットワーク状況に関する情報に応じて、決定することができる。これにより、サービスを提供するにあたり、高度なカスタマイズ性及びリソース最適化を実現することができる。
【0042】
また、通信端末100がサービス制御部120を備え、SCの組み合わせを決定することにより、通信端末100とサーバ200との間がオフラインとなっている場合においても、通信端末100に配置されているSCを組み合わせてサービスを継続することができる。また、仮にサービス制御部120がサーバ200に備えられた場合、サーバ200に接続される通信端末100の数が増加することにより、サーバ200の処理負荷が増大する。サーバ200において、管理する通信端末100の数が増えるからである。しかし、通信端末100がサービス制御部120を備えることにより、サーバ200における負荷がボトルネックになることはなくシステムのスケーラビリティを実現することができる。
【0043】
(実施の形態2)
続いて、図6を用いて本発明の実施の形態2にかかるサービス提供システムの構成例について説明する。実施の形態2においては、実施の形態1においてひとつのサーバに備えられていた複数のSC224が、複数のサーバ12〜14に分散して搭載されている。また、それぞれのサーバは、ノードに接続されている。ノード21〜25は、通信端末及び複数のサーバ間のデータ通信を中継する。サーバ200には、ネットワーク制御部が配置されており、その他のサーバ12〜14には、SC1〜3が配置されている。通信端末の構成は、実施の形態1と同様である。この場合、サーバ12〜14に搭載されるSC1〜3は、サーバ上で動作するプロセスとして定義される。異なるサーバに配置されているSCとSCとの間は、ソケットなどのTCP/IP通信を行うことにより接続される。
【0044】
また、図6は、通信端末100のSC5を動作させることから始まり、サーバ12のSC1を動作させることにより終わるサービスにおけるSCの組合せを示している。
【0045】
続いて、図7を用いて、本発明の実施の形態2にかかるサービス構成決定フローについて説明する。ステップS31〜S34までは、図4におけるステップS21〜S24と同様であるため、詳細な説明を省略する。ステップS34において、SC構成設定の指示が通知された場合、ネットワーク構成設定部213は、通知された指示に従い、ポートのつなぎ変えや、宛先MACアドレス及び宛先IPアドレスの書き換えを行うための設定をノードに通知する(S35)。これにより、SCを組み合わせるための経路が設定される。
【0046】
続いて、図8を用いて、画像を共有するサービスを例に、本発明の実施の形態2にかかるサービス提供システムの動作を説明する。画像を共有するサービスを提供するサービス提供システムは、Android(登録商標)OSが動作する端末130と、ネットワーク上に存在しネットワーク制御部が搭載されているサーバ200と、SCが搭載されているサーバ12〜14と、ネットワークスイッチ31〜35と、データベース(DB)サーバ15とで構成される。ネットワークスイッチ31〜35は、図5におけるノード21〜25に対応する。
【0047】
通信端末130上のSC104〜106は、Androidのサービスプロセスを用いて実装される。通信端末上のSC104〜106間は、Android OS特有のプロセス間通信AIDLを用いて接続される。AIDLは、Android OS上で動作するサービスを開発する開発者向けに仕様が開示されている技術である。AIDLでは、Bindという通信機構を使い、プロセス間通信を確立する。Bindは、接続相手の情報をもつIntentというオブジェクトをAndroidシステムに送信することにより通信を確立する。
【0048】
端末構成設定部113は、接続元SCが他SCに接続する際にIntentの接続先情報を書き換え、意図したSCへ接続させる。制御前の接続元SCは、最終SCへの接続に必要な情報を持ったIntentを保持していてもよく、ダミーのIntentでも良い。あるいは、端末構成設定部113は、Intent情報を書き換える代わりに、接続元SCが別のSCに接続する際に、接続元SCに意図したSCへの接続に必要なIntent情報を教えても良い。又は、サービスの開始又は再開時に、一連のSC接続フロー情報を持ったIntentを開始SCに伝え、各SCが順次接続を確立しても良い。
【0049】
サーバ12〜14上のSC101〜103は、ソケットなどでTCP/IP通信するプロセスとして実装される。ネットワーク構成設定部は、OpenFlowプロトコルによりネットワークを制御し、サーバ12〜14に配置されているSC101〜103間の接続を制御する。OpenFlowは、OpenFlow Switch Consortiumにより開発されているネットワーク制御技術である。ネットワーク構成設定部213はOpenFlowで規定されるOpenFlowControllerとして実装され、ネットワークスイッチ1〜5はOpenFlowSwitchとして構成される。
【0050】
ネットワーク構成設定部213は、サービス制御部120の指示に従い、各スイッチのポートのつなぎ変えや、宛先MACアドレスや宛先IPアドレスの書き換えの設定を行う。
【0051】
通信端末130上のSCとサーバ12〜14上のSCとの間の接続は、AIDLでの通信をTCP/IP通信に変換する、及び、その逆の変換をすることにより行われる。
【0052】
本画像共有サービスの基本的な動作は、端末で撮影した画像をネットワーク上のDBサーバ15に保存するものである。本サービスは、端末で撮影した画像をアップロードするSC105と、撮影された画像をDBに保存し共有するUIなどを備えた画像保存SC101又は106とを用いて構成される。
【0053】
さらに、上述したSCに加え、アップロードする画像に顔が映っているか否かを検出し、映っているならモザイクをかける顔モザイクSC104又は103が用いられても良い。顔モザイクSC104又は103は、撮影場所に応じてサービスに組み込むか否か判断する。例えば、職場や学校などで撮影する画像をアップロードする際にはモザイクをかける、ということもできる。ユーザがどこにいるかは端末制御部110の端末状況認識部111で認識する。端末状況認識部111は、GPSやWiFiなどのデバイスを用いて、ユーザの位置を測位する。
【0054】
画像保存SC101又は106と顔モザイクSC104又は103とは、通信端末130及びサーバ12〜14のどちらにも存在し、どちらのSCを利用するかは端末の電池残量やネットワーク接続状況などの端末情報に基づいて決定される。例えば、ネットワークは繋がっており電池残量が予め定められた閾値よりも少ないときは、顔モザイクSC及び画像保存SCはサーバ上のものを使い、ネットワークは繋がっているが電池残量が予め定められた閾値よりも多いときは、通信端末130上のものを使ってもよい。また、ネットワークは繋がっているが電池残量が予め定められた閾値よりも少ないときは、どちらか一方のSCは、通信端末130上のものを使い、他方のSCは、サーバ上のものを使ってもよい。もしくは、通信端末130とサーバ12〜14間のネットワークが接続されていないオフラインの場合は、どちらも端末上のSCを利用してもよい。電池残量やネットワーク接続状況などの端末状態も端末状況認識部111で認識する。端末状況認識部111は、通信端末の内部状態を監視したり、システムから通知される情報を受信したりして端末状態を把握する。さらに、電池残量や、ネットワーク状況などの情報の他に、サーバ12〜14の使用帯域情報や、演算負荷情報等のネットワークの状況に関する情報をさらに用いて、利用するSCを決定してもよい。つまり、サーバ12〜14の使用帯域が多く、演算負荷が高い場合等には、通信端末130上のSCを利用するようにしてもよい。
【0055】
端末状況認識部111で認識した情報をサービス制御部120に通知するか否かの判断は、端末状況判断部112がシナリオファイルに基づいて行っても良い。シナリオファイルは、どの認識結果を通知するかを記述したファイルである。前述したように、職場や学校と認識した場合や、電池残量が設定した値になった場合、ネットワークが切断された場合などに通知するように記述されていてもよい。シナリオファイルは、予め用意しておくこともでき、端末状況判断部112によって判断が行わるたびに、ユーザが作成又は修正しても良い。
【0056】
サービス構成決定部123もシナリオファイルに基づきSCの構成を決定してもよい。サービス構成決定部123が参照するシナリオファイルは、端末状況判断部112が参照するシナリオファイルと同一のものでも良く、別のものでも良い。シナリオファイルには、職場や学校と認識した場合で電池残量が少なくネットワークに繋がっている場合は、顔モザイクSC及び画像保存SCはサーバ上のものを利用する構成に決定するなどと記述されている。
【0057】
決定された構成は、端末構成指示部124及びネットワーク構成指示部125を介して、端末制御部110の端末構成設定部113及びネットワーク制御部210のネットワーク構成設定部213に伝えられる。端末構成設定部113は指示にしたがい、サービスプロセス間のAIDL接続を変更する。また、ネットワーク構成設定部213は、OpenFlowSwitchの設定を変更する。
【0058】
以上説明したように本発明の実施の形態2は、前述した実施形態1と同様の効果を得ることができる。また、複数のサーバにSCを分散することができるため、ひとつのサーバにおける負荷を分散することができる。
【0059】
本発明における通信端末100及び130における処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0060】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0061】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態2において説明した、通信端末とサーバとに分散配置されているSCの決定処理は、実施の形態1において用いられてもよい。
【符号の説明】
【0062】
1〜6 SC
12〜14 サーバ
21〜25 ノード
31〜35 ネットワークスイッチ
100 通信端末
110 端末制御部
111 端末状況認識部
112 端末状況判断部
113 端末構成設定部
120 サービス制御部
121 リソース管理部
122 サービス発見部
123 サービス構成決定部
124 端末構成指示部
125 ネットワーク構成指示部
130 Andoroid通信端末
132 サービス構成要素
134 SC
151 プロセッサ
152 インターフェース
153 メインメモリ
154 バス
200 サーバ
210 ネットワーク制御部
211 ネットワーク状況認識部
212 ネットワーク状況通知部
213 ネットワーク構成設定部
220 メモリ
222 サービス構成要素
224 SC
図1
図2
図3
図4
図5
図6
図7
図8