説明

通信サービス提供方法および通信サービス提供システム

【課題】サーバによって提供される通信サービスの効率化を図るための通信サービス提供方法を提供する。
【解決手段】サービスロジック部と部品機能部とにおける制御を分離して、サービスロジック部が必要に応じてサービスパターンで予め決められている部品を呼び出して処理を実行させ、この部品の実行結果を受け取ることで、通信サービスに必要な全処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して接続される複数の端末に通信に関するサービスを提供する通信サービス提供サーバにおける通信サービス提供方法および通信サービス提供システムに関する。
【背景技術】
【0002】
近年、NGN(Next Generation Network、次世代ネットワーク)において、ネットワークを介して接続される端末に対して、サーバから通信サービスを提供するものが知られている。また、このNGN上のサービス拡充のために、サーバによる多様な通信サービスの提供が望まれている。
【0003】
例えば、サーバが複数の異なる通信サービスを提供する場合、通信サービス毎にセッション制御を決定するサービスロジックを複数用意しておき、端末から通信サービスを要求するメッセージが送信されると、この要求に応じた通信サービスのサービスロジックに従ってサーバがセッション制御を実行するものがある(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Java Community Process: SIP Servlet v1.1, Java Specification Requests (JSR) 289 (Aug. 2008)
【非特許文献2】ETSI: Open Service Access (OSA); Parlay X Web Services, Draft ETSI, 202, 504 (Jun. 2007)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、通信サービスを提供するためのサービスロジックを通信サービス毎に実装しなければならず効率が悪いという問題がある。
例えば、2者間のセッション制御を行う場合、発信者側の端末と着信者側の端末とを接続するセッション制御や、通話中の端末同士の接続を切断するセッション制御のような基本的な制御は、異なる通信サービスにおいても実施される頻度が高い。このため、通信サービス毎にサービスロジックを用意すると、複数のサービスロジック間で基本的な制御が重複して記載される可能性も高い。よって、サービスの数の増大することに伴い、サービスロジックの記載量が増加するため、その中の重複部分も多くなる可能性もより高くなり、効率が悪くなるという問題がある。
【0006】
本発明は、このような課題を鑑みてなされたものであり、その目的は、サーバによって提供される通信サービスの効率化を図るための通信サービス提供方法および通信サービス提供システムを提供することにある。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本発明は、少なくとも1つの端末とネットワークを介して接続されており前記端末に通信サービスを提供する通信サービス提供サーバにおける通信サービス提供方法であって、前記通信サービス提供サーバのサービスロジック部が、
前記通信サービスの制御内容を表わすサービスロジックに従って通信サービスの提供を開始する場合、各通信サービスロジックに依存せずに自身の機能を発揮するサービス非依存機能部のうち前記サービスロジックにおいて予め決められている前記サービス非依存機能部を表わす部品生成に関する情報を送信するステップと、前記通信サービス提供サーバの部品管理制御部が、前記サービスロジック部から前記部品生成に関する情報を受信すると、当該部品生成に関する情報において表されている前記サービス非依存機能部を生成させるステップと、前記通信サービス提供サーバの前記サービス非依存機能部が、前記部品管理制御部によって生成されると、自サービス非依存機能部の制御内容を表わす部品制御情報に従って、前記端末とメッセージの送受信を行うステップと、を備えることを特徴とする。
【0008】
本発明は、上記の発明において、前記通信サービス提供サーバのサービスロジック部が、前記部品生成に関する情報を送信するステップにおいて、前記サービスロジックで前記サービス非依存機能部から通知を受け取るタイミングを表わす制御復帰ポイント情報が予め決められている場合、当該制御復帰ポイント情報を前記部品生成に関する情報に含めて前記部品管理制御部に送信するステップと、前記通信サービス提供サーバの前記サービス非依存機能部が、前記部品制御情報に従ってメッセージの送受信を行っている際に、前記制御復帰ポイント情報が表わすポイントに到達した場合、前記サービスロジック部に対してメッセージを送信するとともに、前記端末とのメッセージの送受信を中断するステップと、を備えることを特徴とする。
【0009】
本発明は、上記の発明において、前記通信サービス提供サーバのサービスロジック部が、前記部品生成に関する情報を送信した後、前記サービス非依存機能部からメッセージを受信した場合、前記サービス非依存機能部による制御を継続するか否か、あるいは終了するか否かの少なくとも一方を判断するステップと、前記サービス非依存機能部による制御を継続すると判断した場合、前記サービス非依存機能部に対して、継続を表わすメッセージを送信するステップと、前記サービス非依存機能部による制御を終了すると判断した場合、前記サービス非依存機能部に対して、前記サービス非依存機能部の削除を表わすメッセージを送信するステップと、を備えることを特徴とする。
【0010】
本発明は、上記の発明において、前記通信サービス提供サーバのサービスロジック部が、発信側の端末から自端末を識別するための第1の端末識別情報が関連付けられた前記通信サービスの提供を要求するメッセージを受信した場合、当該メッセージに基づき、前記第1の端末識別情報と前記発信側の端末が利用可能な通信サービスの前記サービスロジックとを対応付けたサービス利用情報を記憶するサービス情報記憶部を参照して、前記第1の端末識別情報と対応付けられている前記サービスロジックに従って、通信サービスの提供を開始するステップとを備えることを特徴とする。
【0011】
本発明は、上記の発明において、前記通信サービス提供サーバのサービスロジック部が、発信側の端末から、着信側の端末を識別するための第2の端末識別情報が関連付けられた前記通信サービスの提供を要求するメッセージを受信した場合、当該メッセージに基づき、前記第2の端末識別情報と前記発信側の端末が利用可能な通信サービスの前記サービスロジックとを対応付けたサービス利用情報を記憶するサービス情報記憶部を参照して、前記第2端末識別情報と対応付けられている前記サービスロジックに従って、通信サービスの提供を開始するステップとを備えることを特徴とする。
【0012】
本発明は、上記の発明において、前記通信サービス提供サーバのサービスロジック部が、前記サービスロジックで複数の前記サービス非依存機能部による制御処理の実行が予め決められている場合、前記サービスロジックに従って、複数の前記サービス依存機能部を生成することを特徴とする。
【0013】
また、上述した課題を解決するために、本発明は、少なくとも1つの端末と、この端末とネットワークを介して接続されており前記端末に通信サービスを提供する通信サービス提供サーバとを含む通信サービス提供システムであって、前記通信サービスの制御内容を表わすサービスロジックに従って通信サービスの提供を開始する場合、各通信サービスロジックに依存せずに自身の機能を発揮するサービス非依存機能部のうち前記サービスロジックにおいて予め決められている前記サービス非依存機能部を表わす部品生成に関する情報を送信するサービスロジック部と、前記サービスロジック部から前記部品生成に関する情報を受信すると、当該部品生成に関する情報において表されている前記サービス非依存機能部を生成する部品管理制御部と、前記部品管理制御部によって生成されると、自サービス非依存機能部の制御内容を表わす部品制御情報に従って、前記端末とメッセージの送受信を行うサービス非依存機能部とを備えることを特徴とする。
【発明の効果】
【0014】
この発明によれば、サーバによって提供される通信サービスの効率化を図ることができる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係るサービス提供システムの一例について示す概略図である。
【図2】本実施形態に係る部品機能部の処理動作の一例について説明するためのフローチャートである。
【図3】本実施形態に係るサービスロジック部の処理動作の一例について説明するためのフローチャートである。
【図4】本実施形態に係るサービスロジック部による基本接続パターンのメッセージ送受信の一例を表わすイメージ図である。
【図5】本実施形態に係るサービスロジック部による基本接続パターンにおける状態遷移の一例を表わすイメージ図である。
【図6】本実施形態に係るサービス情報記憶部に記憶されている加入者データの一例を示す参考図である。
【図7】本実施形態に係る部品機能部による接続部品を生成する処理の一例を説明するシーケンスの図である。
【図8】本実施形態に係る部品機能部による切断部品を生成する処理の一例を説明するシーケンスの図である。
【図9】本実施形態に係るサービスロジック部によるガイダンス接続パターンにおける状態遷移の一例を表わすイメージ図である。
【図10】本実施形態に係る部品機能部による接続部品を生成する処理の他の例を説明するシーケンスの図である。
【図11】本実施形態に係る部品機能部によるガイダンス生成部品を生成する処理の一例を説明するシーケンスの図である。
【図12】本実施形態に係るサービスロジック部による網内発呼パターンのメッセージ送受信の一例を表わすイメージ図である。
【図13】本実施形態に係るサービスロジック部による網内発呼パターンにおける状態遷移の一例を表わすイメージ図である。
【図14】本実施形態に係るサービス情報記憶部に記憶されている加入者データの他の例を示す参考図である。
【図15】本実施形態に係る部品機能部による発呼部品を生成する処理の一例を説明するシーケンスの図である。
【図16】本実施形態に係る部品機能部によるメディア変更部品を生成する処理の一例を説明するシーケンスの図である。
【図17】本実施形態に係る通信サービス提供サーバを説明するための参考図である。
【図18】本実施形態に係る部品機能部を説明するための参考図である。
【発明を実施するための形態】
【0016】
以下、本発明に係る一実施形態について、図面を参照して説明する。
図1は、本実施形態に係るサービス提供システムの一例について示す概略図である。
図1に示す通り、通信サービス提供システムは、通信サービス提供サーバ100と、この通信サービス提供サーバ100とネットワークNWを介して接続されている複数の端末200(例えば、201、202、203、・・・、20n)と、メディアサーバ300とを備える。
【0017】
通信サービス提供サーバ100は、例えばSIP( Session Initiation Protocol )サーバであって、ITU−T勧告Y.2012で規定されるApplication Support Functions and Service Support Functions( ASF&SSF )として、NGNでのアプリケーションサービスを制御する機能を有する。このASF&SSFの構成要素のうち、Application support functional entity( AS−FE )は、各サービスのサービスロジックを収容あるいは実行する機能要素であり、サービス種別に応じて、呼制御サーバ、プレゼンスサーバ、メッセージングサーバ、カンファレンスサーバ等として機能する。なおITU−T勧告Y.2012については、参考文献<Functional requirements and architecture of the NGN, ITU-T Recommendation Y.2012 (Jul. 2006)>に詳細に記載されている。
【0018】
複数の端末200は、ユーザによって利用される端末装置であって、例えば、電話回線を介して通信サービス提供サーバ100と接続されている電話機や、無線回線を介して通信サービス提供サーバ100と接続されている携帯電話機、あるいは、インターネットを介して接続されるコンピュータ等である。
メディアサーバ300は、音声データ、画像データあるいは動画データ等を記憶しており、通信サービス提供サーバ100を介して接続された端末装置200に対して、記憶しているデータを再生する。
【0019】
また、通信サービス提供サーバ100は、通信プロトコルスタック110と、UA機能部120と、部品機能部130と、サービスロジック部140と、サービス情報記憶部150とを備える。なお、サービスロジック部140側をメッセージの送受信の上流、通信プロトコルスタック110側をその下流とすると、端末200から受信したメッセージを、通信プロトコルスタック110、UA機能部120、部品機能部130、サービスロジック部140の順番で、下流から上流に向かって送信することをイベント通知という。また、サービスロジック部140から送信されたメッセージを、部品機能部130、UA機能部120、通信プロトコルスタック110の順番で、上流から下流に向かって送信することをAPI( Application Program Interface )呼出しという。
【0020】
通信プロトコルスタック(メッセージ送受信部)110は、ネットワークNWで用いられるプロトコルのプロトコルスタックとして機能し、例えば、SIPおよびHTTP、ISUP、INAP、Diameter等の各種プロトコルに基づき、メッセージのエンコードおよびデコードを行う。
【0021】
UA( User Agent )機能部120は、端末間のセッションを確立するため、端末間とのメッセージの送受信を行う。
具体的に説明すると、UA機能部120は、UA管理制御部121を備え、複数のUA、例えば、発UA122、着UA123、発用MS−UA124、および着用MS−UA125として機能する。また、UA機能部120は、内部に記憶部126を備える。
また、UA機能部120は、部品機能部130からメッセージを受け取ると、このメッセージに応じたUAのインスタンスを生成する。
【0022】
UA管理制御部121は、通信プロトコルスタック110あるいは部品機能部130からメッセージを受け取ると、このメッセージに応じたUAのインスタンスを生成する。
また、UA管理制御部121は、複数のUA(発UA122、着UA123、発用MS−UA124、および着用MS−UA125)のそれぞれを識別する固有のUA識別番号と、部品機能部130によって生成される部品のそれぞれを識別するための固有の部品番号とを対応付けて記憶する記憶部126を有している。このUA管理制御部121は、この記憶部126を参照して、複数のUAと複数の部品との間のイベントバスとして、メッセージの送受信を制御する。例えば、UA管理制御部121は、発UA122からメッセージを受信した場合、記憶部126を参照して、発UA122から受信したメッセージを、部品が生成されていないならば、部品管理制御部131に送信する。なお、部品が生成されているか否かが判断され、部品が生成されている場合、UA管理制御部121は、生成されている部品に対してメッセージを送信する。
さらに、UA管理制御部121は、生成されたUAが通信プロトコルスタック110から受けたイベント通知に応じた処理を終了した場合、当該UAのインスタンスを削除する。
【0023】
複数のUAは、対向装置ごとの通信プロトコルレベルでの状態管理を行う。つまり、発UA122は発信側の端末と、着UA123は着信側の端末と、発用MS−UA124は発信側の端末用メディアサーバ(MS)と、着用MS−UA125は着信側の端末用メディアサーバ(MS)と、それぞれSIP等の通信プロトコルレベルの1セッションの状態管理を行う。
【0024】
部品機能部130は、部品管理制御部131および部品132として機能し、受信したメッセージと送信するメッセージとが予め決められた組み合わせで対応付けられているメッセージテーブルデータを記憶する記憶部133を備える。この部品機能部130は、この記憶部133を参照して、UA機能部120あるいはサービスロジック部140から受信したメッセージに対応するメッセージの送信を行う。
このようにして、部品機能部130は、サービスに依存していないメッセージテーブルデータを参照して動作することにより、サービスに依存しないSIP信号レベルでの2者間のセッション制御を行っている。
例えば、特定のサービスにのみ特化しているサービスロジックを利用して、1つの通信サービスに対して、それぞれ、1つの通信サービスを実行するソフトフェアのブロックを必要とする場合、これらのソフトウェアのブロックは、サービスに依存していることとなる。一方、異なる通信サービスに対して、共通して利用可能なソフトウェアのブロックを通信サービスに応じて呼出し、通信サービスを実行する場合、これらのソフトウェアのブロックは、サービスに依存していないこととなる。
【0025】
部品管理制御部131は、サービスロジック部140から受けたAPI呼出しに応じて、部品132のインスタンスを生成する。このAPI呼出しには、部品生成に関する情報が含まれており、例えば、部品の種類、部品の属性、発信側の端末の番号、着信側の端末の番号、制御復帰ポイント等を表わす情報が含まれている。
部品の種類とは、後述する接続部品P、切断部品Q、ガイダンス再生部品R、発呼部品S、メディア変更部品Tを表わす。また、部品の属性情報とは、例えば、接続部品に関しては接続方法を表わす情報であり、発信側のダイアログを確立することを要する方法( confirmed dialog )であること、あるいは、発信側のダイアログの確立を必要とせずにアーリー状態のままで接続する方法( early dialog )であることを表わす。
また、部品管理制御部131は、生成された部品132とサービスロジック部140との間のイベントバスであって、部品132とサービスロジック部140との間のメッセージの送受信を行う。
さらに、部品管理制御部131は、部品132から処理を終了することを表すメッセージを受け付けた場合、サービスロジック部140へイベント通知を行い、サービスロジック部140のAPI呼出しに応じて当該部品のインスタンスを削除する。
【0026】
部品132は、部品管理制御部131によって生成されることで、例えば、接続部品P、切断部品Q、ガイダンス再生部品R、発呼部品S、メディア変更部品Tとして機能するものであり、例えば、プログラムのモジュールである。
この部品132は、部品毎に予め決められているメッセージテーブルデータを参照して、SIP信号レベルでの2者間のセッション制御を行う。このメッセージテーブルデータは、部品132の制御内容を表わす部品制御情報であって、受信したメッセージに応じて、部品132が送信するメッセージが対応付けられている。
また、部品132は、部品管理制御部131によって生成された際に、制御復帰タイミングが予め決められている場合、この制御復帰タイミングに合わせて、サービスロジック部140に対して制御の復帰を行う。つまり、部品132は、制御復帰タイミングとなると、サービスロジック部140に対してイベント通知を行う。
さらに、部品132は、部品管理制御部131によって生成された際に決められているメッセージ送信先に対してメッセージを送信する。なお、このメッセージ送信先は、部品132の生成を指示するAPI呼出しを部品管理制御部131に行うサービスロジック部140によって決定されるものであり、部品132は、サービスロジック部140によって決定されたメッセージ送信先にメッセージを送信することができる。
【0027】
なお、複数の接続部品P、切断部品Q、ガイダンス再生部品R、発呼部品S、メディア変更部品Tは、上述の通り、それぞれを識別するための部品識別番号を有しており、部品機能部130に内蔵された記憶部133が、メッセージの送受信を行う部品を表わす部品識別番号と、UAを表わすUA識別番号とを関連付けて記憶する。
【0028】
サービスロジック部140は、通信サービスの制御内容を表わすサービスロジック(すなわち、サービスパターンのプログラム)に従って通信サービスの提供を開始する場合、通信サービスロジックに依存せずに自身の機能を発揮する部品132のうちサービスロジックにおいて予め決められている部品132を表わす部品生成に関する情報を送信する。
つまり、サービスロジック部140は、サービス情報記憶部150を参照して、サービスパターンのプログラムを実行することにより、サービスに依存する通信サービス制御を実現するとともに、サービスに依存せずに通信サービス制御を実行する部品132に対して制御を指示するためのAPI呼出しを行う。
具体的に説明すると、サービスロジック部140は、サービス情報記憶部150を参照して、部品管理制御部131からのイベント通知に基づき、サービスパターンを決定する。また、サービスロジック部140は、決定されたサービスパターンのプログラムを実行する。
ここで、サービスロジックとは、サービスロジック部140によって実行されるサービスパターンのプログラムである。
【0029】
また、サービスロジック部140は、サービスパターンのプログラムに従って、部品のインスタンスの生成、継続、削除を行うことで、サービスに応じた少なくとも2者間のセッション制御を行う。
さらに、サービスロジック部140は、部品132からの制御の復帰待ち状態において、部品管理制御部131を介して部品132からイベント通知を受けると、サービスに依存しているサービスパターンの制御を継続する。これにより、サービスに依存せずに通信サービス制御を実行する部品132から、サービスに依存する通信サービス制御を実行するサービスロジック部140の制御へと切り替わり、制御が復帰される。
【0030】
また、サービスロジック部140は、サービスパターンのプログラムに従って動作することにより、サービスに依存する接続先決定方法の選択を行う。
さらに、サービスロジック部140は、サービス情報記憶部150に記憶されている情報を参照して、課金サービスやデータ変換等を行う。例えば、発信側の端末201の番号または着信側の端末202の番号に基づき、加入者に応じた課金情報が予め対応付けられている加入者データを参照することで、端末201または端末202に課金される通話代を求めることができる。また、発信側の端末201がダイヤルした番号が論理番号である場合、サービス情報記憶部150を参照して、この論理番号に対応付けられている物理番号を得て、論理番号を物理番号に変換する。
【0031】
サービス情報記憶部150は、各通信サービスを端末に提供するため、サービスロジック部140が実行する際に利用する情報を記憶する。このサービス情報記憶部150は、例えば、ユーザを識別する識別情報(電話番号、契約番号等)と、このユーザのサービスの契約内容を表わす情報とが対応付けられている加入者データを記憶する。また、このサービス情報記憶部150は、発信側の端末200の電話番号や着信側の端末200の電話番号等を一次的に記憶する。
【0032】
次に、図2を用いて、部品機能部130の処理動作の一例について説明する。図2は、部品機能部130の処理動作の一例について説明するためのフローチャートである。
図2に示す通り、部品管理制御部131は、サービスロジック部140から部品生成を表わすAPI呼出しを受けると、このAPI呼出しに応じた部品132を生成する(ステップST1)。言い換えると、部品管理制御部131は、API呼出しに含まれる部品生成に関する情報(例えば、部品の種類、部品の属性、発信側の端末の番号、受信側の端末の番号、制御復帰ポイント等を表わす情報)に応じた部品132のプログラムを起動し、実行する。なお、部品132は、上記部品生成に関する情報を一時的に部品機能部130内の記憶部133に記憶しておく。
これにより、ステップST1で生成された部品132は、サービスロジック部140の部品生成より以前に端末から通信サービス提供サーバ100が受信していたメッセージ(例えば、通信を要求するメッセージ)に対応するメッセージをUA機能部120に送信する。一方、UA機能部120からメッセージを受信した場合、部品132は、このメッセージに対応するメッセージをUA機能部120に送信する。すなわち、部品132は、UA機能部120に対してメッセージの送受信を行う(ステップST2)。
そして、ステップST2において、部品132の生成時にサービスロジック部140から指定された制御復帰ポイントに表わされているメッセージを、UA機能部120から受信した場合、部品132は、復帰タイミングであると判断し(ステップST3−YES)、UA機能部120から受信したメッセージに対応するメッセージをサービスロジック部140にイベント通知する(ステップST4)。そして、部品132は、以降の処理を中断する(ステップST5)。
【0033】
その後、サービスロジック部140から継続の指示があった場合(ステップST6−継続)、部品132は、ステップST2において行っていたメッセージ送受信の続きを継続して実行する(ステップST7)。そして、部品終了のタイミングとなったら(ステップST8−YES)、部品管理制御部131は、部品132を削除する(ステップST9)。一方、ステップST8において部品終了のタイミングでない場合、ステップST2に戻る(ステップST8−NO)。
また、ステップST6において、サービスロジック部140から部品削除の指示を表わすAPI呼出しがあった場合(ステップST6−削除)、部品管理制御部131は、部品132を削除する(ステップST9)。
【0034】
次に、図3を用いて、サービスロジック部140の処理動作の一例について説明する。図3は、サービスロジック部140の処理動作の一例について説明するためのフローチャートである。
図3に示す通り、サービスロジック部140は、部品管理制御部131からイベント通知を受けると(ステップST11−YES)、このイベント通知に基づき、サービス情報記憶部150を参照して、サービスパターンを決定する(ステップST12)。
【0035】
一方、イベント通知がない場合であっても(ステップST11−NO)、予め決められたイベントタイミングを表わす情報がサービス情報記憶部150に記憶されている場合、このイベントタイミングを表わす情報に到達したか否かを判断する(ステップST13)。そして、イベントタイミングに到達した場合(ステップST13−YES)、サービスロジック部140は、このイベントタイミングに基づき、サービス情報記憶部150を参照してサービスパターンを決定する(ステップST14)。
【0036】
ステップST12あるいはステップST14においてサービスパターンが決定されると、サービスロジック部140は、この決定されたサービスパターンのプログラムを実行する(ステップST15)。
つまり、サービスロジック部140は、このサービスパターンのプログラムに従って、部品132の生成を表わすAPI呼出しを部品管理制御部131に対して行う(ステップST16)。なお、この時、サービスロジック部140は、サービスパターンのプログラムに従い、部品生成に関する情報(例えば、部品の種類、部品の属性、発信側の端末の番号、受信側の端末の番号、制御復帰ポイント等を表わす情報)を作成してAPI呼出しとともに部品管理制御部131に送信する。
【0037】
一方、API呼出しに基づき部品管理制御部131によって生成された部品132は、部品生成に関する情報として、制御復帰ポイントを表わす情報が含まれている場合、対応するメッセージをUA機能部120から受信すると、受信したメッセージに対応するメッセージをサービスロジック部140にイベント通知する。すなわち、サービスロジック部140に制御を復帰させる。
【0038】
ここで、このサービスロジック部140への制御が復帰された場合(ステップST17−YES)、すなわち、サービスロジック部140が部品管理制御部131を介して部品132からのイベント通知を受けた場合、サービスロジック部140は、部品132の動作処理を継続するか否かを判断する(ステップST18)。なお、部品132の動作処理を継続するか、あるいは終了するかを表わす情報は、サービスパターンにおいて予め決められている。
そして、部品を継続する場合、部品132の制御処理の継続指示を表わすAPI呼出しを行う(ステップST19)。その後、部品132の終了を表わすイベント通知を受けたか否かを判断し(ステップST20)、受けていない場合、さらにサービスロジック部140への制御復帰が行われるか否かをステップST17に戻って判断する。
【0039】
一方、ステップST18で、サービスパターンのプログラムにおいて、継続の指示でなく(ステップST18−NO)、終了の指示が予め決められていた場合(ステップST21)、サービスロジック部140は、部品132の削除を表わすAPI呼出しを部品管理制御部131に対して行う(ステップST22)。
そして、サービスパターンのプログラムに従って、サービスロジック部140は、さらに部品の生成があるか否かを判断し(ステップST23)、さらに部品を生成する場合、ステップST16に戻る。
【0040】
次に、本実施形態に係るサービス提供システムにおいて、それぞれ異なる部品を利用して通信サービスを提供する例について説明する。
【0041】
[番号変換サービス(基本接続)の例]
はじめに、図4〜8を用いて、発信者により端末201を介して呼び出された番号を変換するとともに、発信者の端末201と着信者の端末202との2者間のセッションを確立するための基本接続パターンについて説明する。
図4は、この基本接続パターンのメッセージ送受信を表わすイメージ図である。図5は、基本接続パターンにおける状態遷移の一例を示す概略図である。
【0042】
まず、図4に点線で示すような、端末201からの接続要求をサービスロジック部140に伝達する方法について説明する。
図4に示す通り、例えば発信者によって番号「0120−aaa−bbb」がダイヤルされると、端末201は、通信サービス提供サーバ100に対して通話(接続)を要求するメッセージを送信する。すると、このメッセージは、通信サービス提供サーバ100の通信プロトコルスタック110によって変換され、発UA122に送信される。そして、発UA122は、通信プロトコルスタック110から送信されたメッセージに基づくイベント通知をUA管理制御部121に行い、次いで、部品管理制御部131がこのイベント通知に対応するイベント通知をサービスロジック部140に行う。
【0043】
これにより、サービスロジック部140は、図5に示す通り、部品管理制御部131から着信通知を表わすイベント通知を受ける(ステップST101)。なお、このイベント通知には、発信者の端末201の番号と、着信者の端末202の論理番号「0120−aaa−bbb」とが含まれており、サービスロジック部140は、受信したイベント通知に関連付けて、端末201の番号と端末202の番号を、サービス情報記憶部150に一時的に記憶しておく。
そして、サービスロジック部140は、このイベント通知に基づき、サービス情報記憶部150に記憶されている加入者データを参照して、着信者の端末202の論理番号に対応する物理番号へ番号変換するとともに、サービスパターンを決定する。
【0044】
具体的に説明すると、サービス情報記憶部150には、例えば図6に示すような加入者データαが記憶されている。この加入者データαは、着信側の端末を識別する論理番号(すなわち、契約者番号)と、着信側の端末を識別する物理番号(すなわち、着端末/MSの電話番号)と、サービスパターンと、音声ファイルとが、それぞれ対応付けられた情報である。
物理番号とは、複数の端末の中から当該端末を識別する固有の端末識別情報である。
論理番号とは、物理番号が表わす契約者が特定の通信サービスを受けるため予め決められている番号であって、当該サービスの契約をしている端末を識別する端末識別情報である。ここでは、論理番号は、発信側の端末によってダイヤルされる電話番号であって、メッセージに関連付けられて、発信側の端末から通信サービス提供サーバ100に送信される。
【0045】
サービスパターンとは、論理番号と物理番号との組み合わせに従って決められる通信サービスを実現するためのプログラムの種類を表わす。ここでは、サービスパターンとして、基本接続とガイダンス接続が示されている。
音声ファイルは、サービスパターンにおいて音声データを提供することが含まれている場合、この提供される音声データを表わす情報であって、当該サービスパターンと対応付けられている。なお、この音声ファイルの音声データは、ネットワークを介して接続され、通信サービス提供サーバ100の外部にあるメディアサーバ300に記憶されている。
【0046】
なお、ここでは、論理番号と物理番号との組み合わせに応じてサービスパターンが決定される例を説明するが、本発明はこれに限られず、例えば、論理番号あるいは物理番号のいずれか一方とサービスパターンとが対応づけられている加入者データであってもよい。また、この場合、サービスロジック部140は、論理番号あるいは物理番号のいずれか一方と対応付けられているサービスパターンを、実行すべきサービスパターンとして決定するものであってもよい。
また、加入者データは、発信者側の端末の電話番号(契約者番号あるいは物理番号)とサービスパターンが対応付けられ、発信者側の端末の電話番号に応じて、サービスパターンが決定されものであってもよい。
例えば、サービスロジック部140は、発信側の端末から自端末を識別するための端末識別情報(例えば、電話番号)が関連付けられた通信サービスの提供を要求するメッセージ(例えば、通話要求)を受信した場合、このメッセージに基づき、この発信側の端末が利用可能な通信サービスのサービスロジックと、当該発信側の端末の端末識別情報とを対応付けた加入者データを記憶するサービス情報記憶部150を参照して、端末識別情報と対応付けられているサービスロジックに従って、通信サービスの提供を開始するものであってもよい。
【0047】
図5に戻って、サービスロジック部140は、イベント通知に含まれる着信者Bの論理番号「0120−aaa−bbb」に基づき、加入者データαを参照して、着信者Bの番号を、論理番号「0120−aaa−bbb」と対応付けられている物理番号「0422−cc−dddd」に変換する。また、サービスロジック部140は、この着信者Bの論理番号「0120−aaa−bbb」と対応付けられているサービスパターン「基本接続」を、発信者Aの端末装置201からの当該イベント通知に対応するサービスパターンと決定する。
【0048】
次いで、サービスロジック部140は、サービスパターン「基本接続」のプログラムを実行する。
これにより、サービスロジック部140は、この「基本接続」のプログラムに従って、接続部品Pの部品生成と、切断部品Qの部品生成を行う。なお、この「基本接続」のプログラムには、接続部品Pの部品の生成および削除処理が終了した後、切断部品Qの部品の生成および削除処理を実行することが予め決められている。また、この「基本接続」のプログラムには、接続部品Pの属性情報として、発信側のダイアログを確立することを要する方法( confirmed dialog )が、サービスロジック部140によって決められている。また、接続部品Pの制御復帰ポイントとしては「180メッセージ受信、200_INVITEメッセージ受信、ACKメッセージ受信」が、切断部品Qの制御復帰ポイントとしては、「200_BYEメッセージ受信」が、サービスロジック部140によって決められている。
【0049】
この「基本接続」のプログラムに従って、サービスロジック部140は、はじめに接続部品Pの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST102)。
そして、部品管理制御部131によって接続部品Pが生成され、接続部品Pによって接続処理が実行されると、端末201と端末202とが接続中という状態になる。これにより、接続部品Pの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了のイベント通知を行う(ステップST103)。ここで、接続処理が終了する。続けて、サービスロジック部140は、部品管理制御部131に対して、接続部品Pの削除を表わすAPI呼出しを行う(ステップST104)。これにより、端末201と端末202とが通話状態となる。
【0050】
次いで、例えば端末201によって通話中の状態が切断されると、端末201は、切断を通知するメッセージを通信サービス提供サーバ100に送信する。このメッセージは、通信プロトコルスタック110によって変換されて、UA機能部120および部品管理制御部131を介して、サービスロジック部140に切断通知を表わすイベント通知がなされる(ステップST105)。このとき、通信を切断した端末201の番号が、イベント通知とともにサービスロジック部140に通知される。
【0051】
そして、サービスロジック部140は、この「基本接続」のプログラムに従って、イベント通知に含まれる端末201の番号に基づき、サービス情報記憶部150を参照して、端末201と接続中の状態である端末202に対して切断処理を実行する切断部品Qの部品生成のAPI呼出しを部品管理制御部131に対して行う(ステップST106)。
この部品管理制御部131によって切断部品Qが生成され、切断部品Qによって切断処理が実行されると、端末201と端末202とが切断中の状態となる。これにより、切断部品Qの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST107)。ここで、切断処理が終了する。そして、サービスロジック部140は、部品管理制御部131に対して、切断部品Qの削除を表わすAPI呼出しを行う(ステップST108)。これにより、端末201と端末202の通話に関する状態が全てなくなり、空き状態となる。
【0052】
次に、図7を用いて、サービスロジック部140が接続部品Pを生成する一例として、図5に示すステップST101〜104に相当するシーケンスについて、より詳細に説明する。
図7に示す通り、発信者Aから番号「0120−aaa−bbb」への通話が要求されると、端末201は、INVITE(SDP−A)メッセージを、ネットワークNWを介して通信サービス提供サーバ100に送信する(ステップST110)。すると、INVITE(SDP−A)メッセージを受信した通信サービス提供サーバ100の通信プロトコルスタック110が、このINVITE(SDP−A)メッセージをINVITEメッセージに変換して、部品管理制御部131に送信する(ステップST111)。そして、部品管理制御部131は、着信通知を表わすイベント通知をサービスロジック部140に通知する(ステップST112)。
【0053】
ここで、サービスロジック部140は、上述の通り、このイベント通知に基づき、サービス情報記憶部150に記憶されている加入者データを参照して、番号を変換するとともに、サービスパターンを決定するものとする。そこで、「基本接続」のプログラムが決定された場合、サービスロジック部140は、この「基本接続」のプログラムに従って、はじめに接続部品Pを生成する指示をAPI呼出しする(ステップST113)。
具体的に説明すると、ここでは、決定されたサービスパターンの部品生成に関する情報が、部品の種類「接続部品P」、属性情報の接続方法「confired」、制御復帰ポイント「180メッセージ受信、200_INVITEメッセージ受信、ACKメッセージ受信」であるとする。そこで、サービスロジック部140は、この部品の種類と、属性情報と、制御復帰ポイントと、発信側の端末201の番号を発信側番号Aと、着信側の端末202の番号を着信側番号Bとを含む「部品生成に関する情報」を生成し、部品管理制御部131に対して、この部品生成に関する情報を付与したAPI呼出しをする。
【0054】
そして、部品管理制御部131は、サービスロジック部140から受け取ったAPI呼出しに含まれる部品生成に関する情報に基づき、接続部品P(confired)を生成する。生成された接続部品Pは、ステップST111においてUA機能部120から受け取っていたINVITEメッセージに基づき、メッセージテーブルデータを参照して、INVITEメッセージをUA機能部120に送信する(ステップST114)。
これにより、UA機能部120は着UA123に対してAPI呼出しを行い、着UA123は、端末202に対してINVITE(SDP−A)メッセージを送信する(ステップST115)。そして、端末202は、着UA123に100メッセージを送信し(ステップST116)、その後、180メッセージも送信する(ステップST117)。
【0055】
端末202から180メッセージを受信すると、着UA123は、180メッセージを接続部品Pに送信する(ステップST118)。そして、接続部品Pは、部品管理制御部131を介してサービスロジック部140にアラート通知を行い(ステップST119)、サービスロジック部140に制御を復帰させる。
【0056】
サービスロジック部140は、「基本接続」のプログラムに従い、接続部品Pの制御を継続させることを決定し、部品継続メッセージを接続部品Pに送信する(ステップST120)。これを受けて、接続部品Pは、180メッセージを発UA122に送信する(ステップST121)。この発UA122は、端末201に180メッセージを送信する(ステップST122)。この端末201は、ステップST122で受信した180メッセージに100relオプションが付加されていた場合、PRACKメッセージを発UA122に送信する(ステップST123)。
【0057】
そして、発UA122は、PRACKメッセージを接続部品Pに送信する(ステップST124)。ここで、PRACKメッセージの受信は、接続部品Pの制御復帰ポイントとなっていないため、接続部品Pは、PRACKメッセージを着UA123に送信する(ステップST125)。これにより、着UA123は、PRACKメッセージを端末202に送信する(ステップST126)。この端末202は、200_PRACKメッセージを着UA123に送信する(ステップST127)。
そして、着UA123は、200_PRACKメッセージを接続部品Pに送信する(ステップST128)。ここで、200_PRACKメッセージの受信も、接続部品Pの制御復帰ポイントとなっていないため、接続部品Pは、200_PRACKメッセージを発UA122に送信する(ステップST129)。この発UA122は、200_PRACKメッセージを端末201に送信する(ステップST130)。
端末202から200_INVITE(SDP−B)メッセージが着UA123に送信されると(ステップST131)、着UA123は、200_INVITEメッセージを接続部品Pに送信する(ステップST132)。
そして、接続部品Pは、端末201から端末202の呼び出しが確立されたことを表わす呼確立通知(B)をサービスロジック部140に送信し(ステップST133)、サービスロジック部140に制御を復帰させる。
【0058】
サービスロジック部140は、「基本接続」のプログラムに従い、接続部品Pの制御を継続させることを決定し、部品継続メッセージを接続部品Pに送信する(ステップST134)。これを受けて、接続部品Pは、ACKメッセージを着UA123に送信する(ステップST135)。この着UA123は、端末202にACKメッセージを送信する(ステップST136)。
また、接続部品Pは、200_INVITEメッセージを発UA122に送信する(ステップST137)。この発UA122は、200_INVITE(SDP−B)メッセージを端末201に送信し(ステップST138)、端末202からACKメッセージを受信する(ステップST139)。次いで、発UA122は、ACKメッセージを接続部品Pに送信する(ステップST140)。
これにより、接続部品Pは、部品終了通知をサービスロジック部140に通知する(ステップST141)。そして、サービスロジック部140は、「基本接続」のプログラムに従い、接続部品Pの削除を決定し、部品削除メッセージを部品管理制御部131に送信する(ステップST142)。これを受けて、部品管理制御部131は、接続部品Pを削除する。
以上によって、端末201と端末202の接続が完了する。
【0059】
次に、図8を用いて、サービスロジック部140が切断部品Qを生成する一例として、図5に示すステップST105〜108に相当するシーケンスについて、より詳細に説明する。
図8に示す通り、端末201と端末202は、通話中となっている。この状態において、端末201が、発UA122に対してBYEメッセージを送信する(ステップST150)。すると、この発UA122が、BYEメッセージを部品管理制御部131に送信するとともに(ステップST151)、端末201に200_BYEメッセージを送信する(ステップST152)。
このBYEメッセージを受信した部品管理制御部131は、切断通知(A)を表わすメッセージをサービスロジック部140に送信する(ステップST153)。なお、このメッセージには、切断を通知した側の端末として端末201を特定する情報(例えば、端末201の番号)が関連付けられている。
【0060】
ここで、上述の通り、既に「基本接続」のプログラムが決定されている場合、サービスロジック部140は、この「基本接続」のプログラムに従って、切断部品Qを生成する指示をAPI呼出しする(ステップST154)。
具体的に説明すると、ここでは、決定されたサービスパターンの部品生成に関する情報が、部品の種類「切断部品Q」、制御復帰ポイント「200_BYEメッセージ受信」であるとする。そこで、サービスロジック部140は、サービス情報記憶部150に一次的に記憶されていた「端末201と端末202とが通話状態である」ことを表わす情報を読み出し、ステップST153で受信したメッセージに関連付けられている端末201と特定する情報に基づき、別の端末202を特定する情報を切断する側の端末であることを検出する。
そして、サービスロジック部140は、この部品の種類と、制御復帰ポイントと、切断する側の端末202の番号とを含む「部品生成に関する情報」を生成し、部品管理制御部131に対して、この部品生成に関する情報を付与したAPI呼出しをする。
【0061】
そして、部品管理制御部131は、サービスロジック部140から受け取ったAPI呼出しに含まれる部品生成に関する情報に基づき、切断部品Qを生成する。生成された切断部品Qは、ステップST151においてUA機能部120から受け取っていたBYEメッセージに基づき、メッセージテーブルデータを参照して、BYEメッセージをUA機能部120に送信する(ステップST155)。
これにより、UA機能部120は着UA123に対してAPI呼出しを行い、着UA123は、端末202に対してBYEメッセージを送信する(ステップST156)。そして、端末202は、着UA123に200BYEメッセージを送信する(ステップST157)。
そして、着UA123は、UA機能部120を介して200_BYEメッセージを切断部品Qに送信する(ステップST158)。この切断部品Qは、部品終了を表わす部品終了通知をサービスロジック部140に送信し、サービスロジック部140に制御を復帰させる(ステップST159)。
【0062】
サービスロジック部140は、「基本接続」のプログラムに従い、切断部品Qの制御を終了させることを決定し、部品削除メッセージを切断部品Qに送信する(ステップST160)。
これにより、端末201と端末202とは通話が切断される。
【0063】
[番号変換サービス(ガイダンス接続)の例]
次に、図9〜11を用いて、発信者Aにより端末201を介して呼び出された番号を変換するとともに、発信者Aの端末201と、ガイダンスを再生するメディアサーバ300との2者間のセッションを確立するためのガイダンス接続パターンについて説明する。
図9は、ガイダンス接続パターンにおける状態遷移の一例を示す概略図である。
【0064】
図9に示す通り、例えば発信者Aによって番号「0120−eee−fff」がダイヤルされると、端末201は、通信サービス提供サーバ100に対して通話(接続)を要求するメッセージを送信する。すると、このメッセージは、通信サービス提供サーバ100の通信プロトコルスタック110によって変換され、発UA122に送信される。そして、発UA122は、通信プロトコルスタック110から送信されたメッセージに基づくイベント通知をUA管理制御部121に行い、次いで、部品管理制御部131がこのイベント通知に対応するイベント通知をサービスロジック部140に行う。
【0065】
これにより、サービスロジック部140は、部品管理制御部131から着信通知を表わすイベント通知を受ける(ステップST201)。なお、このイベント通知には、発信者Aの端末201の番号と、ガイダンス再生者MSのメディアサーバ300の論理番号「0120−eee−fff」とが含まれており、サービスロジック部140は、受信したイベント通知に関連付けて、端末201の番号とメディアサーバMSの番号を、サービス情報記憶部150に一時的に記憶しておく。
そして、サービスロジック部140は、このイベント通知に基づき、サービス情報記憶部150に記憶されている加入者データα(図6参照)を参照して、番号を変換するとともに、サービスパターンを決定する。
【0066】
サービスロジック部140は、イベント通知に含まれるメディアサーバ300の論理番号「0120−eee−fff」に基づき、加入者データαを参照して、着端末側のメディアサーバ300の番号を、論理番号「0120−eee−fff」と対応付けられている物理番号「03−gggg−hhhh」に変換する。また、サービスロジック部140は、この着端末側のメディアサーバ300の論理番号「0120−eee−fff」と対応付けられているサービスパターン「ガイダンス接続」を、発信者Aの端末装置201からの当該イベント通知に対応するサービスパターンと決定する。
【0067】
次いで、サービスロジック部140は、サービス情報記憶部150に記憶されているサービスパターン「ガイダンス接続」のプログラムを読み出し、実行する。
これにより、サービスロジック部140は、この「ガイダンス接続」のプログラムに従って、接続部品Pの部品生成と、ガイダンス再生部品Rの部品生成と、切断部品Qの部品生成とを行う。なお、この「ガイダンス接続」のプログラムには、接続部品Pの部品の生成および削除処理が終了した後、ガイダンス再生部品Rの部品生成および削除処理を終了し、その後、切断部品Qの部品の生成および削除処理を実行することが予め決められている。また、この「ガイダンス接続」のプログラムには、接続部品Pの属性情報として、発信側のダイアログの確立を必要とせずにアーリー状態のままで接続する方法( early )が、サービスロジック部140によって決められている。また、接続部品Pの制御復帰ポイントとしては「180メッセージ受信、200_INVITEメッセージ受信、ACKメッセージ受信」が、ガイダンス再生部品Rの制御復帰ポイントとしては「200_INFOメッセージ受信」が、切断部品Qの制御復帰ポイントとしては「200_BYEメッセージ受信」が、それぞれ、サービスロジック部140によって決められている。
なお、この接続部品Pは、属性情報を除いて、上述した接続部品Pと同様であるため、詳細な説明は省略する。
【0068】
この「ガイダンス接続」のプログラムに従って、サービスロジック部140は、はじめに接続部品Pの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST202)。なお、ここで、API呼出しにはガイダンス再生の音声ファイルとして「天気予報」を表わす情報が関連付けられている。
そして、部品管理制御部131によって接続部品Pが生成され、接続部品Pによって接続処理が実行されると、端末201とメディアサーバ300とが接続中という状態になる。これにより、接続部品Pの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST203)。ここで、接続処理が終了する。
そして、サービスロジック部140は、部品管理制御部131に対して、接続部品Pの削除を表わすAPI呼出しを行うとともに、続けて、ガイダンス再生部品Rの部品生成を表わすAPI呼出しを部品管理制御部131に対して行う(ステップST204)。これにより、端末201とメディアサーバ300とが通話状態となり、メディアサーバ300の音声ファイル「天気予報」の音声を再生することで、端末201に天気予報のガイダンスが流れる。
その後、ガイダンスが終了すると、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST205)。
【0069】
一方、例えば端末201によって通話中の状態が切断されると、端末201は、切断を通知するメッセージを通信サービス提供サーバ100に送信する。このメッセージは、通信プロトコルスタック110によって変換されて、UA機能部120および部品機能部130を介して、サービスロジック部140に切断通知を表わすイベント通知がなされる(ステップST206)。このとき、通信を切断した端末201の番号が、イベント通知とともにサービスロジック部140に通知される。
【0070】
そして、サービスロジック部140は、この「ガイダンス接続」のプログラムに従って、イベント通知に含まれる端末201の番号に基づき、サービス情報記憶部150を参照して、端末201と接続中の状態であるメディアサーバ300に対して切断処理を実行する切断部品Qの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST207)。
この部品管理制御部131によって切断部品Qが生成され、切断部品Qによって切断処理が実行されると、端末201とメディアサーバ300とが切断中の状態となる。これにより、切断部品Qの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST208)。ここで、切断処理が終了する。そして、サービスロジック部140は、部品管理制御部131に対して、切断部品Qの削除を表わすAPI呼出しを行う(ステップST209)。これにより、端末201とメディアサーバ300の通話に関する状態が全てなくなり、空き状態となる。
【0071】
次に、図10を用いて、サービスロジック部140が接続部品P(early)を生成する一例として、図9に示すステップST201〜204に相当するシーケンスについて、より詳細に説明する。なお、接続部品Pの「early」は、図7に示す「confirmed」のステップST110〜136まで同様の処理であるため、詳細な説明を省略する。ただし、図7に示すステップST113においては、属性情報として「confirmed」に代えて「early」とする点が異なる。
【0072】
図10に示す通り、接続部品Pが、ACKメッセージを着UA123に送信し、これによって、この着UA123から端末202にACKメッセージが送信されると、接続部品Pは、183メッセージをUA機能部120に送信する(ステップST210)。このUA機能部120は、発UA122を介して端末201に183(SDP−B)メッセージを送信する(ステップST211)。そして、端末201は、ステップST211で受信した183メッセージに100relオプションが付加されていた場合、PRACKメッセージを発UA122に送信する(ステップST212)。
発UA122は、PRACKメッセージをUA管理制御部121を介して接続部品Pに送信する(ステップST213)。接続部品Pは、PRACKメッセージが制御復帰ポイントではないため、UA管理制御部121を介して着用MS−UA125にPRACKメッセージを送信する(ステップST214)。そして、着用MS−UA125は、メディアサーバ300に対してPRACKメッセージを送信する(ステップST215)。
【0073】
これを受けて、メディアサーバ300は、200_PRACKメッセージを着用MS−UA125に送信する(ステップST216)。そして、着用MS−UA125は、UA管理制御部121を介して、200_PRACKメッセージを接続部品Pに送信する(ステップST217)。この接続部品Pは、200_PRACKメッセージをUA管理制御部121を介して発UA122に送信する(ステップST218)。これにより、発UA122は、200_PRACKメッセージを端末201に送信する(ステップST219)。
これにより、接続部品Pが自身の機能を達成したため、部品管理制御部131は、部品終了を表わす通知をサービスロジック部140に送信する(ステップST220)。そして、サービスロジック部140は、「ガイダンス接続」のプログラムに従い、接続部品Pの削除を決定し、部品削除メッセージを部品管理制御部131に送信する(ステップST221)。これを受けて、部品管理制御部131は、接続部品Pを削除する。
以上によって、端末201とメディアサーバ300の接続が完了し、通話中となる。
【0074】
次に、図11を用いて、サービスロジック部140がガイダンス再生部品Rを生成する一例として、図9に示すステップST204、205に相当するシーケンスについて、より詳細に説明する。
図11に示す通り、サービスロジック部140は、「ガイダンス接続」のプログラムに従って、ガイダンス再生部品Rを生成する指示をAPI呼出しする(ステップST251)。
具体的に説明すると、ここでは、決定されたサービスパターンの部品生成に関する情報が、部品の種類「ガイダンス再生部品R」、制御復帰ポイント「200_INFOメッセージ受信」、音声ファイル「天気予報」であるとする。そこで、サービスロジック部140は、この部品の種類と、制御復帰ポイントと、ガイダンス再生側のメディアサーバ300の番号とを含む「部品生成に関する情報」を生成し、部品管理制御部131に対して、この部品生成に関する情報を付与したAPI呼出しをする。
【0075】
そして、部品管理制御部131は、サービスロジック部140から受け取ったAPI呼出しに含まれる部品生成に関する情報に基づき、ガイダンス再生部品Rを生成する。生成されたガイダンス再生部品Rは、メッセージテーブルデータを参照して、INFOメッセージをUA管理制御部121を介して着用MS−UA125に送信する(ステップST252)。
これにより、着用MS−UA125は、メディアサーバ300に対してINFO(発ガイダンス再生指示)メッセージを送信する(ステップST253)。そしてメディアサーバ300は、200_INFOメッセージを着用MS−UA125を介してUA管理制御部121に送信する(ステップST254)。
そして、UA管理制御部121は、200_INFOメッセージをガイダンス再生部品Rに送信すると(ステップST255)、メディアサーバ300が音声ファイル「天気予報」を再生し、ガイダンスを端末201に流す。
【0076】
音声ファイルの再生時間が終了すると、メディアサーバ300は、INFO(発ガイダンス完了通知)メッセージを着用MS−UA125を介してUA管理制御部121に送信する(ステップST256)。このUA管理制御部121は、INFOメッセージをガイダンス再生部品Rに送信する(ステップST257)。このガイダンス再生部品Rは、200_INFOメッセージをUA管理制御部121を介して着用MS−UA125に送信する(ステップST258)。この着用MS−UA125は、200_INFOメッセージをメディアサーバ300に送信する(ステップST259)。
【0077】
これにより、ガイダンス再生部品Rが自身の機能を達成したため、部品管理制御部131は、部品終了を表わす通知をサービスロジック部140に送信する(ステップST260)。このサービスロジック部140は、「ガイダンス接続」のプログラムに従い、接続部品Pの削除を決定し、部品削除メッセージを部品管理制御部131に送信する(ステップST261)。これを受けて、部品管理制御部131は、ガイダンス再生部品Rを削除する。
以上によって、端末201に対してメディアサーバ300のガイダンス再生が終了する。
そして、この後、図8を用いて説明したように、切断部品Qを作成して削除する処理を行う。
【0078】
[網内発呼サービス(モーニングコールサービス)の例]
次に、図12〜16を用いて、端末201に対してメディアサーバ300に記憶されているモーニングコールの音声データを再生するため、端末201とメディアサーバ300との2者間のセッションを確立するための網内発呼パターンについて説明する。
図12は、この網内発呼パターンのメッセージ送受信を表わすイメージ図である。
【0079】
この網内発呼パターンは、まず図12に実線で示すようにして、サービスロジック部140が、発呼部品Sを用いて端末203およびメディアサーバ300を呼び出して通話状態とした後に、メディアサーバ300の音声ファイルをメディア変更部品Tを利用して再生する方法である。
【0080】
ここでは、例えば発信者Aによって、端末203を介して予めモーニングコールを毎日午前7時に、この端末203にかけてもらうサービスが設定されているとする。具体的に説明すると、発信者Aによって、端末203を介して、モーニングコールの設定を受け付ける番号がダイヤルされると、端末203、通信サービス提供サーバ100に対して、モーニングコールの設定を要求するメッセージに自身の電話番号を関連付けて送信する。すると、このメッセージは、サービスロジック部140に通知され、サービス情報記憶部150の加入者データβに記録される。
【0081】
なお、この加入者データβについて、図14を用いて説明すると、端末203の電話番号(すなわち、契約者番号「0852−ii−jjjj」)と、モーニングコールの設定日時(すなわち、発呼日時「毎日7:00」)と、提供される音声データを表す音声ファイル「モーニングコール」とが、対応付けられている。また、この加入者データβは、サービス情報記憶部150に記憶されている。
【0082】
次に、図13を参照して、この網内発呼パターンの状態遷移について説明する。図13は、網内発呼パターンにおける状態遷移の一例を示す概略図である。
図13に示す通り、サービスロジック部140は、加入者データβに基づき、発呼日時「毎日7:00」に到達したか否かを判断する。そして、発呼日時に到達した場合(ステップST301)、サービスロジック部140は、この発呼日時と対応付けられているサービスパターン「網内発呼(モーニングコール)」をサービスパターンとして決定する。
【0083】
次いで、サービスロジック部140は、サービス情報記憶部150に記憶されているサービスパターン「網内発呼(モーニングコール)」のプログラムを読み出し、実行する。
これにより、サービスロジック部140は、この「網内発呼(モーニングコール)」のプログラムに従って、発呼部品Sの部品生成と、メディア変更部品Tの部品生成と、切断部品Qの部品生成を行う。
なお、この「網内発呼(モーニングコール)」のプログラムには、端末203を呼び出すための発呼部品Sの部品の生成および削除処理と、メディアサーバ300を呼び出すための発呼部品Sの部品の生成および削除処理とが終了した後、メディア変更部品Tの部品の生成および削除処理と、ガイダンス再生部品Rの部品の生成および削除処理とを行い、最後に、切断部品Qの部品の生成および削除処理を実行することが予め決められている。
【0084】
そして、この「網内発呼(モーニングコール)」のプログラムに従って、サービスロジック部140は、はじめに端末203を呼び出すための発呼部品Sの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST302)。
そして、部品管理制御部131によって発呼部品Sが生成され、発呼部品Sによって呼び出し処理が実行されると、端末203が読み出され、端末203が発呼中となる。すなわち、端末203と通信サービス提供サーバ100とが接続状態となる。
これにより、発呼部品Sの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了のイベント通知を行う(ステップST303)。ここで、呼び出し処理が終了する。
【0085】
続けて、「網内発呼(モーニングコール)」のプログラムに従って、サービスロジック部140は、メディアサーバ300を呼び出すための発呼部品Sの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST304)。
そして、部品管理制御部131によって発呼部品Sが生成され、発呼部品Sによって呼び出し処理が実行されると、メディアサーバ300が読み出され、メディアサーバ300が発呼中となる。すなわち、メディアサーバ300と通信サービス提供サーバ100とが接続状態となる。
これにより、発呼部品Sの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了のイベント通知を行う(ステップST305)。ここで、呼び出し処理が終了する。
【0086】
次いで、「網内発呼(モーニングコール)」のプログラムに従って、サービスロジック部140は、メディア変更部品Tの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST306)。この部品管理制御部131によってメディア変更部品Tが生成され、メディア変更部品Tによってメディア変更処理が実行される(ステップST307)。結果、端末203とメディアサーバ300とが通信サービス提供サーバ100を介して接続状態となる。
これにより、メディア変更部品Tの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、メディア変更部品Tの削除を表わすAPI呼出しを行うとともに、続けて、ガイダンス再生部品Rの部品生成を表わすAPI呼出しを部品管理制御部131に対して行う(ステップST308)。これにより、端末203とメディアサーバ300とが通話状態となり、メディアサーバ300の音声ファイル「モーニングコール」の音声を再生することで、端末203にモーニングコールのガイダンスが流れる。
その後、ガイダンスが終了すると、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST309)。
【0087】
一方、例えば端末203によって通話中の状態が切断されると、端末203は、切断を通知するメッセージを通信サービス提供サーバ100に送信する。このメッセージは、通信プロトコルスタック110によって変換されて、UA機能部120および部品機能部130を介して、サービスロジック部140に切断通知を表わすイベント通知がなされる(ステップST310)。このとき、通信を切断した端末203の番号が、イベント通知とともにサービスロジック部140に通知される。
あるいは、メディアサーバ300による音声ファイル「モーニング」の音声データの再生時間が終了することによって、ガイダンス再生の終了を表すメッセージが、通信プロトコルスタック110、UA機能部120、および部品機能部130を介してサービスロジック部140に切断通知を表わすメッセージとしてイベント通知されるものであってもよい。
【0088】
そして、サービスロジック部140は、この「網内発呼(モーニングコール)」のプログラムに従って、イベント通知に含まれる端末203の番号に基づき、サービス情報記憶部150を参照して、端末203と接続中の状態であるメディアサーバ300に対して切断処理を実行する切断部品Qの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST311)。
この部品管理制御部131によって切断部品Qが生成され、切断部品Qによって切断処理が実行されると、端末203とメディアサーバ300とが切断中の状態となる。これにより、切断部品Qの機能が達成されたため、部品管理制御部131は、サービスロジック部140に対して、部品終了を表わすイベント通知を行う(ステップST312)。ここで、切断処理が終了する。そして、サービスロジック部140は、部品管理制御部131に対して、切断部品Qの削除を表わすAPI呼出しを行う(ステップST313)。これにより、端末203とメディアサーバ300の通話に関する状態が全てなくなり、空き状態となる。
【0089】
次に、図15を用いて、サービスロジック部140が発呼部品Sを生成する一例として、図13に示すステップST301〜303に相当するシーケンスについて、より詳細に説明する。
図15に示す通り、サービスロジック部140は、サービス情報記憶部150に記憶されている加入者データβを参照して、発呼日時に到達したか否かを判断し、発呼日時に到達した場合、サービスパターンとして、「網内発呼(モーニングコール)」を決定する。そして、サービスロジック部140は、この「網内発呼(モーニングコール)」のプログラムに従って、端末203を呼び出すための発呼部品Sの部品生成のAPI呼出しを、部品管理制御部131に対して行う(ステップST321)。
具体的に説明すると、ここでは、決定されたサービスパターンの部品生成に関する情報が、部品の種類「発呼部品S」、制御復帰ポイント「200_INVITEメッセージ受信、ACKメッセージ受信」であるとする。そこで、サービスロジック部140は、この部品の種類と、制御復帰ポイントと、発信側の端末203の番号を発信側番号Aとを含む「部品生成に関する情報」を生成し、部品管理制御部131に対して、この部品生成に関する情報を付与したAPI呼出しをする。
【0090】
そして、部品管理制御部131は、サービスロジック部140から受け取ったAPI呼出しに含まれる部品生成に関する情報に基づき、発呼部品Sを生成する。生成された発呼部品Sは、メッセージテーブルデータを参照して、INVITEメッセージをUA機能部120に送信する(ステップST322)。
これにより、UA機能部120は発UA122に対してAPI呼出しを行い、発UA122は、端末203に対してINVITE(SDP−A)メッセージを送信する(ステップST323)。そして、端末203は、発UA122に100メッセージを送信し(ステップST324)、その後、180メッセージも送信する(ステップST325)。
【0091】
端末203から180メッセージを受信すると、発UA122は、180メッセージを発呼部品Sに送信する(ステップST326)。
続けて、端末203は、発UA122に200_INVITE(SDP−A)メッセージを送信する(ステップST327)。この発UA122は、200_INVITE(SDP−A)メッセージを発呼部品Sに送信する(ステップST328)。
これにより、発呼部品Sは、部品管理制御部131を介してサービスロジック部140に呼確立通知(A)を行い(ステップST329)、サービスロジック部140に制御を復帰させる。
【0092】
サービスロジック部140は、「網内発呼(モーニングコール)」のプログラムに従い、発呼部品Sの制御を継続させることを決定し、部品継続メッセージを発呼部品Sに送信する(ステップST330)。これを受けて、発呼部品Sは、ACKメッセージを着UA123に送信する(ステップST331)。この着UA123は、端末203にACKメッセージを送信する(ステップST332)。
これにより、発呼部品Sは、部品終了通知をサービスロジック部140に通知する(ステップST333)。そして、サービスロジック部140は、「網内発呼(モーニングコール)」のプログラムに従い、発呼部品Sの削除を決定し、部品削除メッセージを部品管理制御部131に送信する(ステップST334)。これを受けて、部品管理制御部131は、発呼部品Sを削除する。
以上によって、端末203の呼び出しが完了する。
なお、メディアサーバ300を呼び出すための発呼部品Sの生成処理も同様であるため、詳細な説明は省略する。
【0093】
次に、図16を用いて、サービスロジック部140がメディア変更部品Tを生成する一例として、図13に示すステップST306〜308に相当するシーケンスについて、より詳細に説明する。
図16に示す通り、サービスロジック部140は、「網内発呼(モーニングコール)」のプログラムに従って、メディア変更部品Tを生成する指示をAPI呼出しする(ステップST351)。
具体的に説明すると、ここでは、決定されたサービスパターンの部品生成に関する情報が、部品の種類「メディア変更部品T」、制御復帰ポイント「メディアサーバ300からの200_UPDATEメッセージ受信」であるとする。そこで、サービスロジック部140は、この部品の種類と、制御復帰ポイントと、発呼部品Sによって呼び出されている端末203とメディアサーバ300の番号とを含む「部品生成に関する情報」を生成し、部品管理制御部131に対して、この部品生成に関する情報を付与したAPI呼出しをする。
【0094】
そして、部品管理制御部131は、サービスロジック部140から受け取ったAPI呼出しに含まれる部品生成に関する情報に基づき、メディア変更部品Tを生成する。生成されたメディア変更部品Tは、メッセージテーブルデータを参照して、UPDATEメッセージをUA管理制御部121を介して発UA122に送信する(ステップST352)。
これにより、発UA122は、端末203に対してUPDATE(SDP−B)メッセージを送信する(ステップST353)。そして、端末203は、200_UPDATE(SDP−B)メッセージを発UA122を介してUA管理制御部121に送信する(ステップST354)。
【0095】
そして、UA管理制御部121は、200_UPDATEメッセージをメディア変更部品Tに送信する(ステップST355)。このメディア変更部品Tは、受信した200_UPDATEメッセージがメディアサーバ300からでなく、端末203からであるため、サービスロジック部140に制御を復帰させず、UPDATEメッセージをUA管理制御部121を介して着用MS−UA125に送信する(ステップST256)。
これにより、着用MS−UA125は、メディアサーバ300に対してUPDATE(SDP−A)メッセージを送信する(ステップST357)。そして、メディアサーバ300は、200_UPDATE(SDP−A)メッセージを着用MS−UA125を介してUA管理制御部121に送信する(ステップST358)。
【0096】
そして、UA管理制御部121は、200_UPDATEメッセージをメディア変更部品Tに送信する(ステップST359)。このメディア変更部品Tは、受信した200_UPDATEメッセージがメディアサーバ300から受信したメッセージであるため、サービスロジック部140に制御を復帰させる。つまり、メディア変更部品Tが自身の機能を達成したため、部品管理制御部131は、部品終了を表わす通知をサービスロジック部140に送信する(ステップST360)。このサービスロジック部140は、「網内発呼(モーニングコール)」のプログラムに従い、メディア変更部品Tの削除を決定し、部品削除メッセージを部品管理制御部131に送信する(ステップST361)。これを受けて、部品管理制御部131は、メディア変更部品Tを削除する。
【0097】
このように、本実施形態に係る通信サービス提供サーバ100は、図17に示す通り、部品132とサービスロジック部140とが分離されており、部品132と複数のUAとが、両者のSIP信号レベルでのイベントのインタワークを行う。
また、部品132は、サービスロジック部140へのイベント通知(部品中断やサービスロジックへの制御復帰)および、サービスロジック部140からのAPI呼出し受信(部品継続(中断していた部品の再開))等を行う。
【0098】
また、本実施形態に係る部品機能部130は、図18に示す通り、空きの状態において、サービスロジック部140から部品生成のためのAPI呼出しを受けると、部品管理制御部131が、API呼出しによる部品生成を実行し、部品を生成する。これにより生成された部品は、制御復帰ポイントに到達すると、部品における制御処理を中断して、サービスロジック部140にイベント通知をする。
サービスロジック部140は、このイベント通知を受けて、部品を継続するか、あるいは削除するかを判断する。このサービスロジック部140は、継続する場合、部品管理制御部131に部品継続を表わすAPI呼出しを行い、一方、部品を削除する場合、部品管理制御部131に部品削除を表わすAPI呼出しを行う。
また、部品132は、自身の機能を達成すると、部品終了を表わすイベント通知をサービスロジック部140に行うと、部品132による制御処理が終了中となる。これを受けたサービスロジック部140は、部品削除を表わすAPI呼出しを部品管理制御部131に行う。これにより、当該部品132は、部品管理制御部131によって削除される。
【0099】
上述の通り、本実施形態に係る通信サービス提供サーバ100は、サービスロジック部140と部品機能部130とにおける制御を分離して、サービスロジック部140が必要に応じてサービスパターンで予め決められている部品を呼び出して処理を実行させ、この部品の実行結果を受け取ることで、通信サービスに必要な全処理を行うようにした。
言い換えると、サービスロジック部140によってサービスパターンが決定されると、決定されたサービスパターンのプログラムが実行され、プログラムに従って少なくとも1つの部品が生成され、部品による処理が終了したら、当該部品を削除するようにした。
これにより、サービスロジック部140は、サービスパターンのプログラムを実行することによって、サービスに依存せず、他のサービスとも共通して利用することができる独立のモジュールである部品を実行させることができる。よって、通信サービスの違いに関わらず、共通して利用することができるため、異なる通信サービスにおいて共通する処理は、同じ種類の部品を利用することによって実現することができる。従って、部品に対応する処理をサービスロジック部140を制御するプログラムに全て記載する必要がなく、通信サービスを実行するためのサービスロジックの記載量を低減することができる。
【0100】
また、上述の通り、サービスロジック部140と部品機能部130との機能を切り離して、部品機能部130が、通信プロトコルスタック110およびUA機能部120を介して端末200とメッセージの送受信を行うようにした。これにより、サービスロジック部140は、通信プロトコルの処理を実行する必要がなくその制御を単純化することができ、通信プロトコル仕様の変更による影響を受けることなく、部品132を制御することができる。よって、通信プロトコル仕様の変更による影響が部品132に局所化され、通信プロトコル仕様の変更に伴いサービスロジック部140を修正する必要がなくなった。
なお、実施形態によらず、サービスロジック部140と部品機能部130とが切り離されていない場合、通信サービスに応じたサービスロジックを、通信サービス毎に作成しなければならない。よって、このサービスロジックには、サービスロジック部140と部品機能部130間で生じるイベント通知とAPI呼出しとを記述し、さらに、部品機能部130とUA管理制御部121との間に生じるイベント通知とAPI呼出しとを記述しなければならなかった。しかし、本実施形態では、サービスロジックには、前者のみを記述すればよく、後者は、部品132ごとのメッセージテーブルデータを用意すればよい。よって、サービス毎に作成されるサービスロジックにおいて、部品132ごとのメッセージテーブルデータに対応する制御の記述が不要となる。
【0101】
さらに、上述の通り、サービスロジック部140は、予め決められている制御復帰ポイントを関連付けた部品生成に関する情報を部品管理制御部131に送信する。そして、この部品生成に関する情報に基づき部品管理制御部131によって生成された部品132は、制御復帰ポイントにおいて、サービスロジック部140に制御を復帰させるようにした。これにより、部品132の制御の途中において、サービスロジック部140が当該部品132の制御を継続するか否か、あるいは終了するか否かを判断することができる。よって、サービスパターンのプログラムにおいて、通信サービス提供サーバ100の部品132として予め決められている制御処理の一部分のみを利用するサービスロジックを作成することが可能となる。
例えば、部品132−1の復帰ポイントでその部品132−1を削除し、削除した後に他の部品132−2の制御処理を起動するようにサービスロジックを作成することによって、既存の部品132の制御処理を変更せずに、部品132の制御処理を部分的に利用することができる。
【0102】
また、上述の構成により、異なる通信サービスにおいて共通する処理内容の重複記載や重複開発を防止することができ、サービスロジックの作成時間や労力、経費等を削減することができる。さらに、部品に対応する処理の内容が単純化され、新規の通信サービスを追加する際に、部品に対応する処理の開発や記述が不要となり、サービスロジックの追記のみで実現することができる。このため、新規な通信サービスの追加時の時間や労力、経費等を削減することができる。
【0103】
従って、本実施形態によらない場合、例えば、サービスを提供するための処理をサービス毎に1つのソフトウェアのブロックを実装しない場合、(1)サービスが異なっても共通する処理(例えば、端末間のセッション制御などのためのメッセージ送受信の処理等)が重複する、(2)サービスの状態の管理とセッション制御の状態の管理が処理ブロック内に混在して制御が複雑になる、(3)新規サービスの追加時に開発量が増えるなどの問題があった。本実施形態に係る通信サービス提供サーバ100は、このような問題を解決することができる。
また、本実施形態によらない場合、SIPサーブレットコンテナ、HTTPサーブレットコンテナ等の従来のアプリケーションサーバ(AS)のソフトウェア構造は、サービス固有の処理(サービスロジック)を記述する部分に信号プロトコルの処理が混在していたため、サービスロジックの状態数が多く、構造の複雑化を招いていた。その結果、サービスロジックの記述量が大きく、それに伴い開発コストの増加/開発期間の長期化が問題であった。
また、Web Servicesから呼制御を行うためのAPIとしてParlay−Xが標準化されている。Parlay−Xと通信プロトコルのゲートウェイも従来のASと同様に、その結果、サービスロジックの記述量が大きく、それに伴い開発コストの増加/開発期間の長期化が問題であった。
【0104】
なお、部品132は、上述の機能を有する構成に限られず、通信サービスを構成する制御であればよい。また、部品132としては、他の通信サービスと共通して利用することができる制御であることが好ましく、例えば、2対地間の安定状態から次の安定状態への遷移毎に分割される単位での制御であることが好ましい。ここで、安全状態とは、空き、呼出中、通話中など、一定期間継続可能な状態を指し、2対地間の安定状態から次の安定状態への遷移とは、例えば、端末201から端末202への発呼(空き)〜端末201・202間の通話(通話中)、端末201・202間の通話(通話中)〜切断(空き)などの状態遷移をいう。
【0105】
なお、通信サービス提供サーバ100等の動作の過程は、コンピュータに実行させるためのプログラムや、このプログラムとしてコンピュータ読み取り可能な記録媒体として利用可能であり、コンピュータシステムが読み出して実行することによって、上記処理が行われる。なお、ここでいう「コンピュータシステム」とは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0106】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に記憶したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0107】
100 通信サービス提供サーバ
110 通信プロトコルスタック
120 UA機能部
121 UA管理制御部
122 発UA
123 着UA
124 発用MS UA
125 着用MS UA
130 部品機能部
131 部品管理制御部
132 部品(サービス非依存機能部)
140 通信サービス提供サーバ
150 サービス情報記憶部

【特許請求の範囲】
【請求項1】
少なくとも1つの端末とネットワークを介して接続されており前記端末に通信サービスを提供する通信サービス提供サーバにおける通信サービス提供方法であって、
前記通信サービス提供サーバのサービスロジック部が、
前記通信サービスの制御内容を表わすサービスロジックに従って通信サービスの提供を開始する場合、各通信サービスロジックに依存せずに自身の機能を発揮するサービス非依存機能部のうち前記サービスロジックにおいて予め決められている前記サービス非依存機能部を表わす部品生成に関する情報を送信するステップと、
前記通信サービス提供サーバの部品管理制御部が、
前記サービスロジック部から前記部品生成に関する情報を受信すると、当該部品生成に関する情報において表されている前記サービス非依存機能部を生成させるステップと、
前記通信サービス提供サーバの前記サービス非依存機能部が、
前記部品管理制御部によって生成されると、自サービス非依存機能部の制御内容を表わす部品制御情報に従って、前記端末とメッセージの送受信を行うステップと、
を備えることを特徴とする通信サービス提供方法。
【請求項2】
前記通信サービス提供サーバのサービスロジック部が、
前記部品生成に関する情報を送信するステップにおいて、前記サービスロジックで前記サービス非依存機能部から通知を受け取るタイミングを表わす制御復帰ポイント情報が予め決められている場合、当該制御復帰ポイント情報を前記部品生成に関する情報に含めて前記部品管理制御部に送信するステップと、
前記通信サービス提供サーバの前記サービス非依存機能部が、
前記部品制御情報に従ってメッセージの送受信を行っている際に、前記制御復帰ポイント情報が表わすポイントに到達した場合、前記サービスロジック部に対してメッセージを送信するとともに、前記端末とのメッセージの送受信を中断するステップと、
を備えることを特徴とする請求項1に記載の通信サービス提供方法。
【請求項3】
前記通信サービス提供サーバのサービスロジック部が、
前記部品生成に関する情報を送信した後、前記サービス非依存機能部からメッセージを受信した場合、前記サービス非依存機能部による制御を継続するか否か、あるいは終了するか否かの少なくとも一方を判断するステップと、
前記サービス非依存機能部による制御を継続すると判断した場合、前記サービス非依存機能部に対して、継続を表わすメッセージを送信するステップと、
前記サービス非依存機能部による制御を終了すると判断した場合、前記サービス非依存機能部に対して、前記サービス非依存機能部の削除を表わすメッセージを送信するステップと、
を備えることを特徴とする請求項1あるいは2に記載の通信サービス提供方法。
【請求項4】
前記通信サービス提供サーバのサービスロジック部が、
発信側の端末から自端末を識別するための第1の端末識別情報が関連付けられた前記通信サービスの提供を要求するメッセージを受信した場合、当該メッセージに基づき、前記第1の端末識別情報と前記発信側の端末が利用可能な通信サービスの前記サービスロジックとを対応付けたサービス利用情報を記憶するサービス情報記憶部を参照して、前記第1の端末識別情報と対応付けられている前記サービスロジックに従って、通信サービスの提供を開始するステップと
を備えることを特徴とする請求項1から3のいずれか一項に記載の通信サービス提供方法。
【請求項5】
前記通信サービス提供サーバのサービスロジック部が、
発信側の端末から、着信側の端末を識別するための第2の端末識別情報が関連付けられた前記通信サービスの提供を要求するメッセージを受信した場合、当該メッセージに基づき、前記第2の端末識別情報と前記発信側の端末が利用可能な通信サービスの前記サービスロジックとを対応付けたサービス利用情報を記憶するサービス情報記憶部を参照して、前記第2端末識別情報と対応付けられている前記サービスロジックに従って、通信サービスの提供を開始するステップと
を備えることを特徴とする請求項1から4のいずれか一項に記載の通信サービス提供方法。
【請求項6】
前記通信サービス提供サーバのサービスロジック部が、
前記サービスロジックで複数の前記サービス非依存機能部による制御処理の実行が予め決められている場合、前記サービスロジックに従って、複数の前記サービス依存機能部を生成することを特徴とする請求項1から5のいずれか一項に記載の通信サービス提供方法。
【請求項7】
少なくとも1つの端末と、この端末とネットワークを介して接続されており前記端末に通信サービスを提供する通信サービス提供サーバとを含む通信サービス提供システムであって、
前記通信サービスの制御内容を表わすサービスロジックに従って通信サービスの提供を開始する場合、各通信サービスロジックに依存せずに自身の機能を発揮するサービス非依存機能部のうち前記サービスロジックにおいて予め決められている前記サービス非依存機能部を表わす部品生成に関する情報を送信するサービスロジック部と、
前記サービスロジック部から前記部品生成に関する情報を受信すると、当該部品生成に関する情報において表されている前記サービス非依存機能部を生成する部品管理制御部と、
前記部品管理制御部によって生成されると、自サービス非依存機能部の制御内容を表わす部品制御情報に従って、前記端末とメッセージの送受信を行うサービス非依存機能部と
を備えることを特徴とする通信サービス提供システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate