JP5517255B2 - 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム - Google Patents

複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム Download PDF

Info

Publication number
JP5517255B2
JP5517255B2 JP2010200064A JP2010200064A JP5517255B2 JP 5517255 B2 JP5517255 B2 JP 5517255B2 JP 2010200064 A JP2010200064 A JP 2010200064A JP 2010200064 A JP2010200064 A JP 2010200064A JP 5517255 B2 JP5517255 B2 JP 5517255B2
Authority
JP
Japan
Prior art keywords
service
node server
execution
terminal
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010200064A
Other languages
English (en)
Other versions
JP2011198343A (ja
Inventor
賢史 小森田
恒彦 千葉
学 伊藤
英俊 横田
アシュトシュ・デュッタ
クリスチャン・マカヤ
ダナ・チー
スビール・ダス
フーチュン・ジョセフ・リン
ベンジャミン・ファルチャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Publication of JP2011198343A publication Critical patent/JP2011198343A/ja
Application granted granted Critical
Publication of JP5517255B2 publication Critical patent/JP5517255B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークに分散配置された複数のサービスノードサーバを利用する技術に関する。
ユーザ端末から、ネットワークに接続されたサービスノードサーバを利用する技術として、クラウドコンピューティングやSDP(Service Delivery Platform)の技術がある。
「クラウドコンピューティング」によれば、計算機資源及びソフトウェアなどのリソースがサービスプロバイダによって提供され、ユーザはネットワークを介してそれらサービスを利用することができる。ユーザにとっては、計算機資源及びソフトウェアを自ら用意する必要がなく、所望サービスを低コスト且つ短時間で利用することができる。一方で、サービスプロバイダにとっては、複数のユーザに対して、リソースを共有且つ効率的に利用させることができる。しかしながら、サービスプロバイダによっては、利用できるサービスに偏りや制限があり、ユーザ個々の所望サービスの全てに対応することが難しい。
「SDP」は、ライブラリ(例えば認証機能や通信機能など)によるサービス部品(「イネーブラ」とも称される)を連携することができるサービスプラットフォームを提供するアーキテクチャである。SOA(Service Oriented Architecture)に基づいたSDPサーバによれば、サービス部品は、それらの実行順序がBPEL(Business Process Execution Language)などで記述されたシナリオに従って連携される。一般的に、サービスプロバイダによってサービス機能毎に専用サーバが備えられている。そのために、ユーザ自ら、サービス部品を自由に作成し、シナリオを自由に記述することによって、それらサービス部品を連結させることができるものではない。
これらに対して、Open APIによってネットワーク上にサービスを構築する、Webアプリケーションの技術がある。代表的にはGoogle API(登録商標)(例えば非特許文献1参照)やYahoo! Pipes(登録商標)(例えば非特許文献2参照)がある。
図1は、従来技術におけるシステム構成図である。
図1のシステムによれば、クライアント用の端末2と、サービス機能を実行する複数のサービスノードサーバ3とが、アクセスネットワーク及びインターネットなどのIPネットワークを介して接続されている。端末2は、携帯電話機やスマートフォンであってもよいし、パーソナルコンピュータであってもよい。アクセスネットワークは、例えば携帯電話網や、無線/有線ブロードバンドアクセス網である。サービスノードサーバ3は、Webサーバであって、ユーザ端末のブラウザから呼び出し可能なAPIを公開している。端末2は、ブラウザによってこれらAPI(Application Programming Interface)を組み合わせることによってサービス部品を連結させて、様々なサービス機能をユーザに提供する。勿論、端末のWebブラウザを用いることに限られず、一方のWebサーバから、他方のWebサーバのAPIを直接的に呼び出すこともできる。
例えばYahoo! Pipes(登録商標)によれば、Webサーバにスクリプトを記述することなく、Open APIをGUI上で組み合わせるだけで、ユーザは、簡単にサービスを構築することができる。具体的には、Ajax(Asynchronous JavaScript+XML)によるグラフィカルユーザインタフェースを持った「Pipes Editor」上で、「モジュール」をドラッグして「パイプ」で接続する。そして、異なる「ソース」から取得した情報を、どのように加工(例えばフィルタリング)すべきかのルールを設定する。
松田惇、「WebサービスAPIで構築するWebアプリケーション」、ThinkIT、2006年6月29日、[online]、[平成22年8月15日検索]、インターネット<URL:http://thinkit.co.jp/free/article/0606/17/> 「Yahoo!Pipes」、[online]、[平成22年8月15日検索]、インターネット<URL:http://pipes.yahoo.com/pipes/>
前述した従来技術によれば、クライアント用の端末が、Open APIを提供する複数のサービスノードサーバへ分散的にサービス要求メッセージを送信し、その応答メッセージに含まれる実行結果データを連結させるものであった。1つの端末から、集中的に多数のAPIを呼び出しているために、ネットワーク上で転送される通信データ量が大きくなるという課題があった。
また、クライアント用の端末によって取り扱われるデータ量が大きい場合(例えばストリーミングデータである場合)、それらデータが端末と各サービスノードサーバとの間を行き来し、ネットワーク上には大量のトラフィックが発生することとなる。
これに対して、分散コンピューティングにおけるクローズなネットワーク環境の場合、ネットワーク上の複数のサービス機能の間でデータを直接的に送受信する仕組みがある。しかしながら、オープンなネットワーク環境の場合、サービス機能(例えばシェアウェア、フリーソフトやアプレット)を公開するサードパーティには、サービスプロバイダに関わらず、多数のユーザ個人も含まれる。また、通信プロトコルも、HTTP(HyperText Transfer Protocol)やFTP(File Transfer Protocol)のように様々なものが用いられる。そのために、複数のサービス機能の間で、順次にデータを送受信しながら連携して動作させることも難しい。
そこで、本発明は、ネットワーク上に分散された複数のサービスノードサーバについて、端末に対するAPIを含む様々なサービス機能を連結させて1つのサービス機能を提供することができるサービス連結制御方法、制御ノードサーバ及びプログラムを提供することを目的とする。
本発明によれば、クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバと、複数のサービスノードサーバにおけるサービス機能を管理する制御ノードサーバとが、ネットワークを介して相互に通信するシステムにおけるサービス連結制御方法であって、
端末が、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を、制御ノードサーバへ送信する第1のステップと、
制御ノードサーバが、サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定する第2のステップと、
制御ノードサーバが、当該実行シナリオの中で最初に実行すべき第1のサービスノードサーバへ、実行シナリオに基づくサービス開始要求を送信する第3のステップと、
第1のサービスノードサーバが、当該サービス機能を実行し、サービス応答を制御ノードサーバへ送信する第4のステップと、
制御ノードサーバが、実行シナリオの中で最後に実行すべき最終実行サービスノードサーバへ、実行シナリオに基づくサービス開始要求を送信する第5のステップと、
最終実行サービスノードサーバが、実行シナリオに基づく先の実行サービスノードから取得した先の実行結果を用いて当該サービス機能を実行し、サービス応答を制御ノードサーバへ送信する第6のステップと、
制御ノードサーバが、実行シナリオに含まれる全てのサービスノードサーバからサービス応答を受信した場合、サービス開始応答を端末へ返信する第7のステップと、
端末が、最終実行サービスノードサーバへアクセスする第8のステップと、
最終実行サービスノードサーバが、一連の実行結果に基づくサービス応答を端末へ返信する第9のステップと
を有することを特徴とする。
本発明のサービス連結制御方法における他の実施形態によれば、
第2のステップについて、
制御ノードサーバが、実行シナリオに含まれる全てのサービスノードサーバへ、実行すべきパラメータを含む問合せ要求を送信し、
サービスノードサーバが、処理可能か否かを含む問合せ応答を、制御ノードサーバへ返信し、
制御ノードサーバが、実行シナリオに含まれる全てのサービスノードサーバについて処理可能となるように、実行シナリオを決定することも好ましい。
本発明のサービス連結制御方法における他の実施形態によれば、
最終のステップについて、
端末が、サービス終了要求を、制御ノードサーバへ送信し、
制御ノードサーバが、サービス終了要求を、実行シナリオに含まれる全てのサービスノードサーバへ送信し、
サービスノードサーバが、サービスを終了すると共に、サービス終了応答を制御ノードサーバへ返信し、
制御ノードサーバが、端末へ、サービス終了応答を返信し、
端末が、ユーザ操作に応じて当該サービスにおける評価値を取得し、当該評価値を、制御ノードサーバへ送信し、
制御ノードサーバが、実行シナリオに対応付けて評価値を蓄積することも好ましい。
本発明のサービス連結制御方法における他の実施形態によれば、
制御ノードサーバは、実行シナリオに対応付けた評価値に基づいて、各サービスノードサーバの評価値を導出し、
第2のステップについて、制御ノードサーバが、評価値が高くなるように、実行シナリオを決定することも好ましい。
本発明のサービス連結制御方法における他の実施形態によれば、
端末と、複数のサービスノードサーバと、制御ノードサーバとは、サービス指向アーキテクチャ(SOA(Service Oriented Architecture))によってサービス機能が部品化されており、
サービスノードサーバは、制御ノードサーバ及び他のサービスノードサーバに対してAPI(Application Programming Interface)を提供しており、
端末と、複数のサービスノードサーバと、制御ノードサーバとの間は、プロキシベースの要求メッセージ/応答メッセージを交換することによって実現されていることも好ましい。
本発明によれば、クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバとの間で、ネットワークを介して相互に通信すると共に、複数のサービスノードサーバにおけるサービス機能を管理する制御ノードサーバであって、
端末から、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を受信するサービス開始要求受信手段と、
サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定するサービス構成制御手段と、
実行シナリオの実行順序に基づいて、実行すべき全てのサービスノードサーバへサービス開始要求を送信するサービス開始要求送信手段と、
実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信するサービス開始応答受信手段と、
実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信した後、サービス開始応答を端末へ返信するサービス開始応答返信手段と
を有し、
端末が、実行シナリオの中で最後に実行された最終実行サービスノードサーバへアクセスし、最終実行サービスノードサーバが、実行シナリオに基づいて連結されたサービス応答を端末へ返信するように動作させることを特徴とする。
本発明のサービス連結制御用の制御ノードサーバにおける他の実施形態によれば、
実行シナリオに含まれる全てのサービスノードサーバへ、実行すべきパラメータを含む問合せ要求を送信すると共に、全てのサービスノードサーバから、処理可能か否かを含む問合せ応答を受信する問合せ処理手段を更に有し、
サービス構成制御手段は、実行シナリオに含まれる全てのサービスノードサーバについて処理可能となるように、実行シナリオを決定することも好ましい。
本発明のサービス連結制御用の制御ノードサーバにおける他の実施形態によれば、
端末からサービス終了要求を受信すると共に、端末へサービス終了応答を返信する端末側サービス終了処理手段と、
端末からサービス終了要求を受信した際に、サービス終了要求を、実行シナリオに含まれる全てのサービスノードサーバへ送信し、全てのサービスノードサーバからサービス終了応答を受信するサーバ側サービス終了処理手段と、
端末から、ユーザ操作に応じた当該サービスにおける評価値を受信するサービス評価値受信手段と、
実行シナリオに対応付けて評価値を蓄積するサービス評価値蓄積手段と
を有することも好ましい。
本発明のサービス連結制御用の制御ノードサーバにおける他の実施形態によれば、
実行シナリオに対応付けた評価値に基づいて、各サービスノードサーバの評価値を導出する評価値解析手段を更に有し、
サービス構成制御手段は、評価値が高くなるように、実行シナリオを決定することも好ましい。
本発明のサービス連結制御用の制御ノードサーバにおける他の実施形態によれば、
複数のサービスノードサーバとの間で、サービス指向アーキテクチャ(SOA)によってサービス機能が部品化されており、
サービスノードサーバによって提供されたAPIを用いて、端末及び複数のサービスノードサーバとの間で、プロキシベースの要求メッセージ/応答メッセージを交換することによって実現されていることも好ましい。
本発明によれば、クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバとの間で、ネットワークを介して相互に通信すると共に、複数のサービスノードサーバにおけるサービス機能を管理する制御ノードサーバに搭載されたコンピュータを機能させるプログラムであって、
端末から、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を受信するサービス開始要求受信手段と、
サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定するサービス構成制御手段と、
実行シナリオの実行順序に基づいて、実行すべき全てのサービスノードサーバへサービス開始要求を送信するサービス開始要求送信手段と、
実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信するサービス開始応答受信手段と、
実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信した後、サービス開始応答を端末へ返信するサービス開始応答返信手段と
してコンピュータを機能させ、
端末が、実行シナリオの中で最後に実行された最終実行サービスノードサーバへアクセスし、最終実行サービスノードサーバが、実行シナリオに基づいて連結されたサービス応答を端末へ返信するように動作させることを特徴とする。
本発明のサービス連結制御方法、制御ノードサーバ及びプログラムによれば、ネットワーク上に分散された複数のサービスノードサーバについて、端末に対するAPIを含む様々なサービス機能を連結させて1つのサービス機能を提供することができる。
従来技術におけるシステム構成図である。 本発明におけるシステム構成図である。 本発明におけるサービス開始時のシーケンス図である。 サービス終了時のシーケンス図である。 本発明における制御ノードサーバの機能構成図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図2は、本発明におけるシステム構成図である。
図2によれば、図1と比較して、インターネットに、制御ノードサーバ1が更に接続されている。制御ノードサーバ1は、端末2及び複数のサービスノードサーバ3と、インターネットを介して通信する。制御ノードサーバ1は、複数のサービスノードサーバ3におけるサービス機能を管理する。サービス機能としては、例えば認証機能、データ取得機能、コーデック機能、プレゼンス機能、グループ機能、呼制御機能、メディア制御機能等様々なものである。
端末2は、ユーザ操作に基づく所望サービスについて、制御ノードサーバ1へ、サービス開始要求を送信する。これに対して、制御ノードサーバ1は、その所望サービスに応じて、複数のサービスノードサーバ3のサービス機能を連結する実行シナリオを決定する。その実行シナリオに基づいて、複数のサービスノードサーバ3のサービス機能を、順次に連結して構成する。そして、最終実行サービスノードサーバに、これら連結されたサービス結果が集約される。端末2は、その最終実行サービスノードサーバに対してアクセスし、所望サービスの提供を受けることができる。
複数のサービスノードサーバ3それぞれのサービス機能は、サービス指向アーキテクチャ(SOA(Service Oriented Architecture))によって部品化されている。各サービス機能は、Webアプリケーションをベースとして、クライアントのブラウザから利用可能なAPIを提供する。従って、サービスノードサーバ3は、制御ノードサーバ1及び他のサービスノードサーバ3に対して、自ら実装しているサービス機能のAPI(Application Programming Interface)を公開する。そして、制御ノードサーバ1等は、そのAPIに対してサービス開始要求を送信する。また、制御ノードサーバ1と、端末2と、複数のサービスノードサーバ3との間は、プロキシベースの要求メッセージ/応答メッセージを交換することによって実現されている。
尚、サービスノードサーバ3は、サーバであるが、ブラウザを搭載したクライアントソフトウェアであってもよい。例えばJava Script(登録商標)によってサービス機能を記述することによって、ブラウザのページを開くと同時に、制御ノードサーバ1へそのブラウザを登録することが考えられる。この場合、ブラウザを開くだけで、計算機資源を含むサービス機能を提供することができる。
図3は、本発明におけるサービス開始時のシーケンス図である。
(S300)各サービスノードサーバ3は、自ら提供するサービス機能やIPアドレス等のアクセス情報を、制御ノードサーバ1へ登録する。制御ノードサーバ1は、サービスノードサーバ3がネットワークから切り離された場合やそのサービス機能が停止された場合、そのアクセス情報を解除する。
(S301)端末2が、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を、アクセスネットワーク及びインターネットを介して、制御ノードサーバ1へ送信する。サービス開始要求は、例えばXML(eXtensible Markup Language)によって記述される。
例えば、端末2が、当該端末で表示可能な最高品質のストリーミングデータの受信におけるサービス開始要求を、制御ノードサーバ1へ送信したとする。このとき、サービス開始要求は、以下のパラメータを含む。
(1)端末がサポートするコーデック
(2)端末の解像度
(3)端末が利用可能なネットワーク帯域
(4)所望のストリーミング名
[サービス開始要求]端末2->制御ノードサーバ1
<ServiceRequest>
<clientInfo address="205.132.6.2" phone="9737159569" vendor="・・・"
email="kddi@mail.com"/>
<service name="streamviewer">
<attribute source="http://stream.server.com/movie1.wmv" / >
<attribute supportcodec="mpeg4v2"/>
<attribute supportcodec="h.264"/>
<attribute required_protocol="rtsp"/>
<attribute resolution_h="800"/>
<attribute resolution_w="600"/>
<attribute bandwith="1500000"/>
</ service >
</ ServiceRequest >
(S302)次に、制御ノードサーバ1は、サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定する。図3によれば、制御ノードサーバ1は、3つのサービスノードdmz-f2〜f4のサービス機能を管理する。
サービスノードサーバdmz-f2〜f4は、以下のようなサービス機能を提供しているとする。
[dmz-f2]ストリーミング名に基づいて、ストリーミングサーバやキャッシュサーバを検索し、そのストリーミングデータを送信する機能
[dmz-f3]文書ファイルのフォーマットを変換する機能
[dmz-f4]ストリーミングデータのコーデックを変換する機能
このとき、制御ノードサーバ1は、以下のように実行シナリオを決定する。
[実行シナリオ]
<routes>
<route name=" task1">
<stop host="dmz-f4" input="rstp " operation="convert" output="rstp"/>
<convert input_format="mpeg4"/>
<convert output_format="h.264"/>
</route>
<route name=" task2">
<stop host=" dmz-f2" operation="streaming " output="rstp"/>
<streaming source="http://stream.server.com/movie1.wmv"/>
<streaming format="mpeg4"/>
</route>
この実行シナリオは、サービスノードサーバdmz-f2によってストリーミングデータを取得し、そのストリーミングデータをサービスノードサーバdmz-f4へ送信する。サービスノードサーバdmz-f4は、そのストリーミングデータを所定のコーデックへ変換し、端末2からアクセスを待つ。また、実装されたそのサービス機能を一意に識別するためのサービス識別子を生成する。
ここで、制御ノードサーバ1は、実行シナリオに含まれる全てのサービスノードサーバへ、実行すべき処理内容を含む問合せ要求を送信する。図3によれば、制御ノードサーバ1は、サービスノードサーバdmz-f2及びdmz-f4へ、処理内容のパラメータを含む問合せ要求を送信する。これに対し、各サービスノードサーバdmz-f2及びdmz-f4は、処理可能か否かを含む問合せ応答を、制御ノードサーバ2へ返信する。
(S303)制御ノードサーバ1は、実行シナリオに含まれる全てのサービスノードサーバ3から処理可能となる問合せ応答を受信した場合、サービス開始応答を、端末2へ返信する。可能な実行シナリオが複数ある場合は、ここで複数のシナリオリストをユーザへ返答し、ユーザの選択を待つ。それぞれのシナリオは、各サービスノードの処理能力や利用料金などがあり、これをユーザに表示する。尚、所望サービスを提供できない場合、例えば実行シナリオに基づくサービスノードサーバが処理可能でない場合、サービス提供が不可能である旨を、サービス開始応答によって返信する。この場合、端末2は、再度、サービス開始要求を送信する。これは、所望サービスの提供が可能となるまで繰り返される。
端末2は、次のサービス提供通知(S331)を受信するまで待機する。サービス提供通知には、サービス開始応答には、サービス開始要求に基づく連結されたサービス機能が、いずれのサービスノードサーバに実装されているかを表すアドレス(例えばURL(Uniform Resource Locator))を含む。ここでは、実行シナリオについて、最終実行サービスノードのアドレスが指定される。
(S311)制御ノードサーバ1は、実行シナリオの中で最初に実行すべきサービスノードサーバdmz-f2へ、実行シナリオに基づくサービス開始要求を送信する。サービス開始要求には、例えば以下のパラメータが含まれる。
(1)サービス識別子
(2)ストリーミング名
(3)再配信のためのURL
[サービス開始要求]制御ノードサーバ1->サービスノードサーバdmz-f2
<jobRequest>
<job number="dmz-f1.0.775593988532"/>
<clientInfo address="205.132.6.2" email="kddi@mail.com"
phone="9737159569" vendor="・・・"/>
<route name="task2">
<stop host="dmz-f2" operation="streaming " output="rstp"/>
<streaming source="http://stream.server.com/movie1.wmv"/>
<streaming format="mpeg4"/>
</route>
</jobRequest>
(S312)サービスノードサーバdmz-f2は、制御ノードサーバ1へ、処理開始の旨を表すサービス開始応答を返信する。
(S313)次に、サービスノードサーバdmz-f2は、当該サービス機能を実行する。例えば、サービスノードサーバdmz-f2は、所定のストリーミングデータをネットワーク上で検索し、そのストリーミングデータをダウンロードを開始する。
(S314)そして、サービスノードサーバdmz-f2は、制御ノードサーバ1へ、サービス完了通知を送信する。例えばストリーミングのように、データが長期間に渡って処理されるサービスの場合、全データの処理完了を待たずに開始完了通知を送信してもよい。サービス開始完了通知には、例えば以下のパラメータが含まれる。
(1)サービス識別子
(2)成功/失敗
(3)コーデック
(4)サービスノードdmz-f2におけるストリーミングデータを送信するURL
(5)再配信のためのURL
[サービス完了通知]サービスノードサーバdmz-f2->制御ノードサーバ1
<jobResponse>
<job number="dmz-f1.0.775593988532"/>
<clientInfo address="205.132.6.2" email="kddi@mail.com"
phone="9737159569" vendor="・・・"/>
<status host="dmz-f2" ret="success"/>
<output url="rstp://stream.service2.com/3123dDe33ddefadf/"/>
</jobResponse>
(S321)制御ノードサーバ1は、実行シナリオの中で次に実行すべきサービスノードサーバdmz-f4(図3によれば最終実行サービスノードサーバ)へ、実行シナリオに基づくサービス開始要求を送信する。サービス開始要求には、例えば以下のパラメータが含まれる。
(1)サービス識別子
(2)サービスノードdmz-f2におけるストリーミングデータを送信するURL
(3)再配信のためのURL
[サービス開始要求]制御ノードサーバ1->サービスノードサーバdmz-f4
<jobRequest>
<job number="dmz-f1.0.775593988532"/>
<clientInfo address="205.132.6.2" email="kddi@mail.com"
phone="9737159569" vendor="・・・"/>
<route name=" task1">
<stop host="dmz-f4" input="rstp " operation="convert" output="rstp"/>
<convert input_format="mpeg4"/>
<convert output_format="h.264"/>
<convert input url=" rstp://stream.service2.com/3123dDe33ddefadf/"/>
<convert output url="*"/>
</route>
(S322)サービスノードサーバdmz-f4は、制御ノードサーバ1へ、処理開始の旨を表すサービス開始応答を返信する。
(S323)次に、サービスノードサーバdmz-f4は、当該サービス機能を実行する。ここで、サービスノードサーバdmz-f4は、サービスノードサーバdmz-f2のURLから、所定のストリーミングデータを取得し、サービスノードサーバdmz-f4は、そのストリーミングデータを所定のコーデックへ変換を開始する。
(S324)サービスノードサーバdmz-f2は、制御ノードサーバ1へ、サービス開始完了通知を送信する。例えばストリーミングのように、データが長期間に渡って処理されるサービスの場合は、全データの処理完了を待たずに開始完了通知を送信してもよい。サービス完了通知には、例えば以下のパラメータが含まれる。
(1)サービス識別子
(2)成功/失敗
[サービス完了通知]サービスノードサーバdmz-f4->制御ノードサーバ1
<jobResponse>
<job number="dmz-f1.0.775593988532"/>
<clientInfo address="205.132.6.2" email="kddi@mail.com"
phone="9737159569" vendor="・・・"/>
<status host="servce#2" ret="success"/>
<output url="rstp://stream.converter.com/39fasdf313ddfee1111/"/>
</jobResponse>
サービスノードサーバdmz-f4は、端末2からのサービス要求を待つ。尚、図3によれば、2段のサービスノードサーバのサービス機能が連結されているが、勿論、何段連結されてもよい。
(S331)制御ノードサーバ1は、実行シナリオに含まれる全てのサービスノードサーバからサービス応答を受信した場合、サービス提供通知を端末2へ返信する。サービス提供通知には、端末2が、最終実行サービスノードサーバにアクセスするために必要な情報が含まれる。例えば、次の情報が含まれる。
(1)サービス識別子
(2)サービスノードdmz-f4におけるストリーミングデータの送信のURL
(3)サービスノードにアクセスする手段、プロトコル
(S332)端末2が、指定されたアドレス先となる最終実行サービスノードサーバdmz-f4へ、RTSP(Real Time Streaming Protocol)などの指定のプロトコルでアクセスする。
(S333)最終実行サービスノードサーバdmz-f4が、一連のサービスノードの実行結果に基づくサービス応答を端末2へ返信する。これによって、端末2は、連結サービス機能の提供を受けることができる。
図4は、サービス終了時のシーケンス図である。
(S401)端末2は、サービス終了要求を、制御ノードサーバ1へ送信する。サービス終了要求には、終了すべきサービスのサービス識別子が含められる。
(S402)制御ノードサーバ1は、サービス識別子に基づく実行シナリオに含まれる複数のサービスノードサーバに対して、サービス終了要求を送信する。図4によれば、制御ノードサーバ1は、サービスノードサーバdmz-f2及びdmz-f4へ、サービス終了要求を送信する。
(S403)サービスノードサーバdmz-f2及びdmz-f4は、サービス終了要求に含まれるサービス識別子に基づくサービスを終了する。そして、サービス終了応答を、制御ノードサーバ1へ送信する。
(S404)制御ノードサーバ1は、全てのサービスノードサーバからサービス終了応答を受信した際に、端末2へサービス終了応答を返信する。
(S411)ここで、端末2は、ユーザ操作に応じて当該サービスにおける評価値を取得する。「評価値」とは、提供されたサービス機能に対するユーザの評価であって、実行時間又は品質情報であってもよい。評価値は、ユーザ自身が端末2へ入力するものであってもよいし、実行時間であれば自動的に計測することができる。この評価値は、端末2から制御ノードサーバ1へ送信される。制御ノードサーバ1は、実行シナリオに対応付けて評価値を蓄積する。そして、制御ノードサーバ1は、実行シナリオに対応付けた評価値に基づいて、連結された各サービス機能の評価値を導出する。
制御ノードサーバ1は、S302について、評価値が高くなるように実行シナリオを決定する。これによって、複数のサービス機能の中でも、評価値が高いサービス機能を用いて、実行シナリオを構成することができる。
図5は、本発明における制御ノードサーバの機能構成図である。
制御ノードサーバ1は、通信インタフェース10と、サービス構成制御部100と、サービス開始要求受信部101と、サービス開始応答返信部102と、問合せ処理部103と、サービス開始要求送信部104と、サービス開始応答受信部105と、端末側サービス終了処理部106と、サーバ側サービス終了処理部107と、サービス評価値受信部108と、評価値解析部109と、サービス評価値蓄積部110と、サービスノード管理部111とを有する。通信インタフェースを除くこれら機能構成部は、サーバに搭載されたコンピュータを機能させる制御ノード用プログラムを実行することによって実現される。
通信インタフェース10は、インターネットに接続され、端末2及び複数のサービスノードサーバ3と通信する。
サービス構成制御部100は、サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定する。サービス構成制御部100は、サービス評価値蓄積部110と、サービスノード管理部111とを含む。サービス評価値蓄積部110には、ユーザによって実行された連結サービス機能に関連する実行シナリオに対応付けて、評価値が蓄積されている。サービス構成制御部100は、評価値が所定閾値以上低い実行シナリオが決定されないようにする。また、サービスノード管理部111は、サービスノードサーバにおけるサービス機能に関する情報を蓄積する。
サービス開始要求受信部101は、端末2から、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を受信する。受信したサービス開始要求に含まれるパラメータは、サービス構成制御部100へ出力される。
サービス開始応答返信部102は、実行シナリオに含まれる全てのサービスノードサーバからサービス開始応答を受信した後、サービス構成制御部100の指示に応じて、サービス開始応答を端末2へ返信する。
問合せ処理部103は、実行シナリオに含まれる全てのサービスノードサーバへ、実行すべきパラメータを含む問合せ要求を送信すると共に、全てのサービスノードサーバから、処理可能か否かを含む問合せ応答を受信する。これによって、サービス構成制御部100は、実行シナリオに含まれる全てのサービスノードサーバについて処理可能となるように、実行シナリオを決定する。
サービス開始要求送信部104は、実行シナリオの実行順序に基づいて、実行すべき全てのサービスノードサーバへサービス開始要求を送信する。
サービス開始応答受信部105は、実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信する。
端末側サービス終了処理部106は、端末からサービス終了要求を受信すると共に、端末へサービス終了応答を返信する。
サーバ側サービス終了処理部107は、端末からサービス終了要求を受信した際に、サービス終了要求を、実行シナリオに含まれる全てのサービスノードサーバへ送信し、全てのサービスノードサーバからサービス終了応答を受信する。
サービス評価値受信部108は、端末2から、ユーザ操作に応じた当該サービスにおける評価値を受信する。
評価値解析部109は、実行シナリオに対応付けた評価値に基づいて、各サービスノードサーバの評価値を導出する。
端末2は、実行シナリオの中で最後に実行された最終実行サービスノードサーバへサービス要求を送信する。そして、最終実行サービスノードサーバが、実行シナリオに基づいて連結されたサービス応答を、端末2へ返信する。
以上、詳細に説明したように、本発明のサービス連結制御方法、制御ノードサーバ及びプログラムによれば、ネットワーク上に分散された複数のサービスノードサーバについて、端末に対するAPIを含む様々なサービス機能を連結させて1つのサービス機能を提供することができる。特に、本発明によれば、専用の通信プロトコルを用いることなく、オープンなネットワーク環境で、ユーザ個人によって公開されたサービス機能を自由に連結させることができる。また、通信データ量が大量であっても、処理すべきデータはサービスノードサーバ間で転送されるので、最終データ以外は、クライアント用の端末まで転送されない。これは、ネットワークの負荷を低減する。
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
1 制御ノードサーバ
10 通信インタフェース
100 サービス構成制御部
101 サービス開始要求受信部
102 サービス開始応答返信部
103 問合せ処理部
104 サービス開始要求送信部
105 サービス開始応答受信部
106 端末側サービス終了処理部
107 サーバ側サービス終了処理部
108 サービス評価値受信部
109 評価値解析部
110 サービス評価値蓄積部
111 サービスノード管理部
2 端末
3 サービスノードサーバ

Claims (11)

  1. クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバと、複数のサービスノードサーバにおける前記サービス機能を管理する制御ノードサーバとが、ネットワークを介して相互に通信するシステムにおけるサービス連結制御方法であって、
    前記端末が、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を、前記制御ノードサーバへ送信する第1のステップと、
    前記制御ノードサーバが、前記サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定する第2のステップと、
    前記制御ノードサーバが、当該実行シナリオの中で最初に実行すべき第1のサービスノードサーバへ、前記実行シナリオに基づくサービス開始要求を送信する第3のステップと、
    第1のサービスノードサーバが、当該サービス機能を実行し、サービス応答を前記制御ノードサーバへ送信する第4のステップと、
    前記制御ノードサーバが、前記実行シナリオの中で最後に実行すべき最終実行サービスノードサーバへ、前記実行シナリオに基づくサービス開始要求を送信する第5のステップと、
    前記最終実行サービスノードサーバが、前記実行シナリオに基づく先の実行サービスノードから取得した先の実行結果を用いて当該サービス機能を実行し、サービス応答を前記制御ノードサーバへ送信する第6のステップと、
    前記制御ノードサーバが、前記実行シナリオに含まれる全てのサービスノードサーバから前記サービス応答を受信した場合、サービス開始応答を前記端末へ返信する第7のステップと、
    前記端末が、前記最終実行サービスノードサーバへアクセスする第8のステップと、
    前記最終実行サービスノードサーバが、当該サービス機能を実行すると共に、一連のサービスノードの実行結果に基づくサービス応答を前記端末へ返信する第9のステップと
    を有することを特徴とするサービス連結制御方法。
  2. 第2のステップについて、
    前記制御ノードサーバが、前記実行シナリオに含まれる全てのサービスノードサーバへ、実行すべきパラメータを含む問合せ要求を送信し、
    前記サービスノードサーバが、処理可能か否かを含む問合せ応答を、前記制御ノードサーバへ返信し、
    前記制御ノードサーバが、前記実行シナリオに含まれる全てのサービスノードサーバについて処理可能となるように、前記実行シナリオを決定する
    ことを特徴とする請求項1に記載のサービス連結制御方法。
  3. 最終のステップについて、
    前記端末が、サービス終了要求を、前記制御ノードサーバへ送信し、
    前記制御ノードサーバが、サービス終了要求を、前記実行シナリオに含まれる全てのサービスノードサーバへ送信し、
    前記サービスノードサーバが、サービスを終了すると共に、サービス終了応答を前記制御ノードサーバへ返信し、
    前記制御ノードサーバが、前記端末へ、サービス終了応答を返信し、
    前記端末が、ユーザ操作に応じて当該サービスにおける評価値を取得し、当該評価値を、前記制御ノードサーバへ送信し、
    前記制御ノードサーバが、前記実行シナリオに対応付けて前記評価値を蓄積する
    ことを特徴とする請求項1又は2に記載のサービス連結制御方法。
  4. 前記制御ノードサーバは、前記実行シナリオに対応付けた評価値に基づいて、各サービスノードサーバの評価値を導出し、
    第2のステップについて、前記制御ノードサーバが、評価値が高くなるように、前記実行シナリオを決定する
    ことを特徴とする請求項3に記載のサービス連結制御方法。
  5. 前記端末と、前記複数のサービスノードサーバと、前記制御ノードサーバとは、サービス指向アーキテクチャ(SOA(Service Oriented Architecture))によってサービス機能が部品化されており、
    前記サービスノードサーバは、前記制御ノードサーバ及び他のサービスノードサーバに対してAPI(Application Programming Interface)を提供しており、
    前記端末と、前記複数のサービスノードサーバと、前記制御ノードサーバとの間は、プロキシベースの要求メッセージ/応答メッセージを交換することによって実現されている
    ことを特徴とする請求項1から4のいずれか1項に記載のサービス連結制御方法。
  6. クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバとの間で、ネットワークを介して相互に通信すると共に、複数のサービスノードサーバにおける前記サービス機能を管理する制御ノードサーバであって、
    前記端末から、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を受信するサービス開始要求受信手段と、
    前記サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定するサービス構成制御手段と、
    前記実行シナリオの実行順序に基づいて、実行すべき全てのサービスノードサーバへサービス開始要求を送信するサービス開始要求送信手段と、
    前記実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信するサービス開始応答受信手段と、
    前記実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信した後、サービス開始応答を前記端末へ返信するサービス開始応答返信手段と
    を有し、
    前記端末が、前記実行シナリオの中で最後に実行された最終実行サービスノードサーバへアクセスし、前記最終実行サービスノードサーバが、前記実行シナリオに基づいて連結されたサービス応答を前記端末へ返信するように動作させることを特徴とするサービス連結制御用の制御ノードサーバ。
  7. 前記実行シナリオに含まれる全てのサービスノードサーバへ、実行すべきパラメータを含む問合せ要求を送信すると共に、全てのサービスノードサーバから、処理可能か否かを含む問合せ応答を受信する問合せ処理手段を更に有し、
    前記サービス構成制御手段は、前記実行シナリオに含まれる全てのサービスノードサーバについて処理可能となるように、前記実行シナリオを決定する
    ことを特徴とする請求項6に記載のサービス連結制御用の制御ノードサーバ。
  8. 前記端末からサービス終了要求を受信すると共に、前記端末へサービス終了応答を返信する端末側サービス終了処理手段と、
    前記端末からサービス終了要求を受信した際に、サービス終了要求を、前記実行シナリオに含まれる全てのサービスノードサーバへ送信し、全てのサービスノードサーバからサービス終了応答を受信するサーバ側サービス終了処理手段と、
    前記端末から、ユーザ操作に応じた当該サービスにおける評価値を受信するサービス評価値受信手段と、
    前記実行シナリオに対応付けて前記評価値を蓄積するサービス評価値蓄積手段と
    を有することを特徴とする請求項7に記載のサービス連結制御用の制御ノードサーバ。
  9. 前記実行シナリオに対応付けた評価値に基づいて、各サービスノードサーバの評価値を導出する評価値解析手段を更に有し、
    前記サービス構成制御手段は、評価値が高くなるように、前記実行シナリオを決定することを特徴とする請求項8に記載のサービス連結制御用の制御ノードサーバ。
  10. 前記複数のサービスノードサーバとの間で、サービス指向アーキテクチャ(SOA)によってサービス機能が部品化されており、
    前記サービスノードサーバによって提供されたAPIを用いて、前記端末及び前記複数のサービスノードサーバとの間で、プロキシベースの要求メッセージ/応答メッセージを交換することによって実現されている
    ことを特徴とする請求項6から9のいずれか1項に記載のサービス連結制御用の制御ノードサーバ。
  11. クライアント用の端末と、サービス機能を実行する複数のサービスノードサーバとの間で、ネットワークを介して相互に通信すると共に、複数のサービスノードサーバにおける前記サービス機能を管理する制御ノードサーバに搭載されたコンピュータを機能させるプログラムであって、
    前記端末から、ユーザ所望のサービスに必要なパラメータを含むサービス開始要求を受信するサービス開始要求受信手段と、
    前記サービス開始要求に基づくサービスを提供するために必要な複数のサービスノードサーバの実行シナリオを決定するサービス構成制御手段と、
    前記実行シナリオの実行順序に基づいて、実行すべき全てのサービスノードサーバへサービス開始要求を送信するサービス開始要求送信手段と、
    前記実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信するサービス開始応答受信手段と、
    前記実行シナリオに含まれる全てのサービスノードサーバから、サービス応答を受信した後、サービス開始応答を前記端末へ返信するサービス開始応答返信手段と
    してコンピュータを機能させ、
    前記端末が、前記実行シナリオの中で最後に実行された最終実行サービスノードサーバへアクセスし、前記最終実行サービスノードサーバが、前記実行シナリオに基づいて連結されたサービス応答を前記端末へ返信するように動作させることを特徴とする制御ノードサーバ用のサービス連結制御プログラム。
JP2010200064A 2010-03-19 2010-09-07 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム Expired - Fee Related JP5517255B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31565410P 2010-03-19 2010-03-19
US61/315,654 2010-03-19

Publications (2)

Publication Number Publication Date
JP2011198343A JP2011198343A (ja) 2011-10-06
JP5517255B2 true JP5517255B2 (ja) 2014-06-11

Family

ID=44876381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010200064A Expired - Fee Related JP5517255B2 (ja) 2010-03-19 2010-09-07 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム

Country Status (1)

Country Link
JP (1) JP5517255B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6040731B2 (ja) 2012-03-22 2016-12-07 株式会社リコー 連携処理装置、連携処理システム及びプログラム
KR102156093B1 (ko) 2015-11-10 2020-09-15 후아웨이 테크놀러지 컴퍼니 리미티드 서비스 네트워크를 선택하는 방법 및 네트워크, 및 관리 장치
JP2020009337A (ja) * 2018-07-11 2020-01-16 エヌ・ティ・ティ・コミュニケーションズ株式会社 情報処理装置、ai制御方法およびai制御プログラム
JP7065905B2 (ja) * 2020-05-07 2022-05-12 華為技術有限公司 サービスネットワークを選択するための方法およびネットワークデバイスならびに管理デバイス

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3574074B2 (ja) * 2001-01-19 2004-10-06 日本電信電話株式会社 コンテンツデータ提供方法及びシステム及びコンテンツデータ提供プログラムを格納した記憶媒体
JP2005011307A (ja) * 2003-05-28 2005-01-13 Nippon Telegr & Teleph Corp <Ntt> コンテンツ提供方法、コンテンツ利用者の端末およびプログラムと記録媒体
JP4237658B2 (ja) * 2004-03-08 2009-03-11 日本電信電話株式会社 合成サービス提供方法、合成サービス提供システム、実行装置およびプログラム
JP4562145B2 (ja) * 2007-02-28 2010-10-13 日本電信電話株式会社 サービスコンポーネント選択装置及びサービスコンポーネント選択プログラム

Also Published As

Publication number Publication date
JP2011198343A (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
Guinard et al. Towards physical mashups in the web of things
US9894049B2 (en) Network aggregator
Christensen Using RESTful web-services and cloud computing to create next generation mobile applications
US8543646B2 (en) Subscriber device and subscription management that supports real-time communication
Bouloukakis et al. Automated synthesis of mediators for middleware-layer protocol interoperability in the IoT
US8656417B2 (en) Interface for telecommunication services using uniform resource identifiers
US20130326079A1 (en) Unifying Programming Models in Connectivity Framework
CN110012083B (zh) 一种数据传输方法、服务器及数据传输装置
JP2013514563A (ja) 実時間データを提供するためのシステムおよび方法
KR101602099B1 (ko) 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법
JP2011529587A (ja) コンピュータ・ネットワーク内の複数のユーザ・デバイス間の資源共用のための方法および装置
WO2011091844A1 (en) Method, apparatus and system for intercepted triggering of execution of internet services
JP5517255B2 (ja) 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム
KR100901281B1 (ko) 유비쿼터스 웹서비스 방법
JPWO2009013789A1 (ja) コミュニティ生成支援システム、コミュニティ生成支援方法およびそのプログラム。
CN105704001A (zh) 一种微信服务器消息分发方法及系统
Indrasiri Beginning WSO2 ESB
US9754327B2 (en) Method and apparatus for configuring social networking site sharing functions
CN112532534B (zh) 一种数据传输方法、装置以及计算机可读存储介质
JP6073248B2 (ja) 汎用プラグアンドプレイホームネットワーク環境で強化されたイベント通知を提供する方法及び装置
CN102918811B (zh) 双向通信系统和用于该系统的服务器装置
JP5020356B2 (ja) メッセージサービス連携システム、方法及びプログラム
KR20090042542A (ko) 더미 메시지를 이용하여 웹 서비스의 품질 데이터를추출하는 방법
Ivan A web based Publish-Subscribe framework for mobile computing
CN105359485A (zh) 由客户终端获得多媒体内容的内容部分的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140327

R150 Certificate of patent or registration of utility model

Ref document number: 5517255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees