サービス処理方法及びプログラム
【課題】
ネットワーク・サービスの柔軟且つ適切な提供を可能にする。
【解決手段】
本発明では、サービス提供ネットワーク5によりネットワーク・プラットフォームNP50を実現する。このNP50は、認証・認可、課金、クライアント(CT)管理といった共通機能と、セッション制御などの個別機能がオープンネットワーク1に接続されるCTに提供される。CTは、サービス管理インターフェースSMIを介してNPにおける機能を利用するためのサービスプログラムを作成・登録する。そして、サービスプログラムを実行することにより、サービス制御インターフェースSCIを介して特定の機能に対するサービス要求をNP50に送信すると共に、NP50の特定の機能から実行結果を取得する。
ネットワーク・サービスの柔軟且つ適切な提供を可能にする。
【解決手段】
本発明では、サービス提供ネットワーク5によりネットワーク・プラットフォームNP50を実現する。このNP50は、認証・認可、課金、クライアント(CT)管理といった共通機能と、セッション制御などの個別機能がオープンネットワーク1に接続されるCTに提供される。CTは、サービス管理インターフェースSMIを介してNPにおける機能を利用するためのサービスプログラムを作成・登録する。そして、サービスプログラムを実行することにより、サービス制御インターフェースSCIを介して特定の機能に対するサービス要求をNP50に送信すると共に、NP50の特定の機能から実行結果を取得する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークサービスの提供技術に関する。
【背景技術】
【0002】
インターネットに接続されているサーバ上に用意されたアプリケーションを、複数のユーザに使用させるサービスが存在している。このようなサービスにおいて、サーバ上のプログラムの組み合わせ方(ユーザ側から見れば使い方)はサービスの提供者により予め決められており、ユーザは、サーバ上の複数のプログラムを自由に組み合わせて使用することはできない。
【0003】
例えば特開2000−236326号公報には、ソフトウェアのメンテナンスを不要とし、相互通信サービスの利用時におけるソフトウェアの起動に関する制御等を不要とするための技術が開示されている。具体的には、クライアントはサーバアクセス用及び個人認証用の最小限のモジュールを保持する軽装端末とし、サーバは、軽装端末の動作に必要な共通ミドルウェア及びアプリケーションソフトウェアを保持するとともに、これらを管理する管理プログラムを有する管理サーバと、軽装端末との間で個人認証を行う認証サーバとして、各軽装端末は電源投入時及びサービス利用時に必要なソフトウェアを管理サーバからダウンロードするものである。このように必要なプログラムをクライアントにダウンロードするだけでは、多様なサービスの提供は不可能である。
【0004】
また、例えば特開2000−347958号公報には、データ通信量を低減させるとともに、コンピュータメモリの使用容量を節約するための技術が開示されている。具体的には、サーバが、クライアントに提供するプログラムを機能毎に分割して格納し、当該機能毎に分割して格納されているプログラムをクライアントが機能毎に選択できる。そして、当該選択されたプログラムのみがサーバからクライアントに対して提供されるように構成している。このため、必要な機能に関する印刷制御プログラムのみを選択して、クライアント側にダウンロードでき、サーバからクライアントへのデータ通信量を低減させることができるとともに、プログラムがダウンロードされるコンピュータのメモリ使用容量を節約することができる。この技術においては、クライアントによって規定されるプログラムの組み合わせについて何らの特徴付けはなされていない。
【0005】
さらに、特開2002−182937号公報には、クライアント端末とサーバとの間で少ないデータ量でもってダウンロードでき、所望のデータ処理を実行できるようにするための技術が開示されている。具体的には、クライアント端末で定義情報を入力し、サーバで設定情報を定義情報に対応して読み出してクライアント端末に送信し、設定情報に基づいて1又は複数の機能部品を呼び出す。機能部品は複数のデータ処理を共通の単位処理に分割しそこから抽出した処理ロジックを記述したものであって、クライアント端末又は処理サーバで1又は複数の機能部品に基づく処理ロジックによって単位処理プログラムを動的に生成し、生成された1又は複数の単位処理プログラムを設定情報に基づく条件に従って実行する。この技術では、単位処理プログラムの認可といった観点は存在していない。また、単位処理プログラムを複数種類実行する場合における問題などについては触れられていない。
【特許文献1】特開2000−236326号公報
【特許文献2】特開2000−347958号公報
【特許文献3】特開2002−182937号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上で述べたような従来技術には、クライアント側でサーバ側に用意された任意の機能を組み合わせ、クライアント側でネットワークを介して機能の組み合わせにつきサービスの提供を受ける際に、サービス提供の可否を判断したり、複数の組み合わせを識別したりすることについては考慮されていない。従って、ネットワーク・サービスの柔軟且つ適切な提供に問題がある。
【0007】
従って、本発明の目的は、ネットワーク・サービスの柔軟且つ適切な提供を可能にするための新規な技術を提供することである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係るサービス処理方法は、ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関しクライアント側で定義され且つネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信されたメッセージに含まれるサービスプログラムの識別情報及びクライアントの識別情報の対応付けが登録されているか確認する確認ステップと、確認ステップにおいて確認が取れた場合に、メッセージにおいて要求された、ネットワーク・プラットフォーム側における特定の機能による処理を実施し、処理結果及びサービスプログラムの識別情報を含む応答をクライアント端末に送信するステップとを含む。
【0009】
このようにサービスプログラムの識別情報がサービス要求に含まれるので、メッセージへの応答の可否を確認することができ、さらに複数のサービス・プログラムが実行されている場合であっても識別して処理を進めることができる。なお、サービスプログラムの識別情報以外の要素をさらに用いて機能利用の可否を確認しても良い。
【0010】
また、ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、受信したサービスプログラムを解析し、サービスプログラム内に定義されている全機能をクライアントが利用可能か判断する判断ステップと、サービスプログラム内に定義されている全機能をクライアントが利用可能と判断された場合には、サービスプログラムに対して発行された識別情報をクライアントの識別情報と対応付けてデータ格納部に格納するステップと、サービスプログラムの識別情報を含む登録完了通知をクライアント端末に送信するステップとをさらに含むようにしてもよい。
【0011】
このようにサービスプログラムにおいて定義されている全機能が利用可能かが予め確認されているので、サービス実行時にはサービスプログラムの識別情報を用いた確認が可能となる。
【0012】
さらに、上で述べた判断ステップにおいて、クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部をサービスプログラム登録要求に含まれるクライアントの識別情報を用いて検索し、サービスプログラムに定義されている全機能が抽出されるか判断するようにしてもよい。このようにすれば、容易にサービスプログラムの確認を行うことができるようになる。
【0013】
また本発明の第2の態様に係る情報処理方法は、ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、受信したサービスプログラムを解析し、サービスプログラム内に定義されている全機能をクライアントが利用可能か判断する判断ステップと、サービスプログラム内に定義されている全機能をクライアントが利用可能と判断された場合には、サービスプログラムに対して発行された識別情報を、クライアントの識別情報と対応付けてデータ格納部に格納するステップと、サービスプログラムの識別情報を含む登録完了通知をクライアント端末に送信するステップとを含む。このような処理を実施すれば、自動的にサービスプログラムの確認を行うことができるようになる。
【0014】
本発明に係るサービス処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【0015】
本発明によれば、ネットワーク・サービスの柔軟且つ適切な提供が可能となる。
【発明を実施するための最良の形態】
【0016】
図1に本発明の一実施の形態に係るシステム概要図を示す。インターネット等のオープンネットワーク1には、複数のクライアント端末(CT:Client Terminal)が接続されている。また、オープンネットワーク1は、ゲートウェイ(GW:Gateway)3を介してサービス提供ネットワーク5に接続されている。サービス提供ネットワーク5においては、以下に説明するネットワーク・プラットフォーム(NP)50が構築されている。
【0017】
ネットワーク・プラットフォーム50には、共通機能モジュールとして、認証・認可機能モジュール501と、課金機能モジュール502と、CT管理機能モジュール503とが設けられている。認証・認可機能モジュール501は、クライアント認証、端末認証、サービス認可等を行う。課金機能モジュール502は、例えばクライアント毎に機能モジュールの使用回数等の課金に必要なデータを収集し、例えばクライアント毎の課金データを生成する。CT管理機能モジュール503は、各機能モジュールの版数管理、クライアント端末の状態管理、クライアント端末への機能モジュールのダウンロード制御、及び以下で説明するサービスプログラムの登録確認、サービスIDの発行などを行う。
【0018】
また、ネットワーク・プラットフォーム50には、個別機能モジュールとして、セッション制御(例えばSIP(Session Initiation Protocol))を行うセッション制御機能モジュール504、クライアントのプレゼンス・データを管理するコンテキスト管理機能モジュール505、メディア変換機能モジュール506などの機能モジュールが設けられている。図1では3つの個別機能モジュールを示しているが、他の機能モジュールが設けられる場合もある。さらに、ネットワーク・プラットフォーム50には、個別機能モジュール等が共通して使用するコモンアプリケーション#1、#2、#3なども設けられている。
【0019】
一方、クライアント端末には、1又は複数のサービスプログラムと、1又は複数のクライアント機能モジュールと、管理プログラムとが設けられている。図1の例では、クライアント端末7には、サービスプログラム#1及び#2と、クライアント機能モジュールA及びBと、管理プログラム71が設けられている。クライアント機能モジュールについては、ネットワーク・プラットフォーム50からダウンロードした機能モジュールである場合もあれば、予めクライアント端末に用意されている機能モジュールの場合もある。また、クライアント端末9には、サービスプログラム#3と、クライアント機能モジュールCと、管理プログラム91とが設けられている。
【0020】
さらに、ネットワーク・プラットフォーム50内には、コモンアプリケーションと個別機能モジュールとの間にNP−API(Application Program Interface)が規定されている。また、クライアント端末内には、サービスプログラムとクライアント機能モジュールとの間にCT−APIが規定されている。例えばクライアント端末においてサービスプログラムは、CT−APIを介してクライアントの機能モジュールを用いるようになっている。さらに、クライアント端末とネットワーク・プラットフォーム50との間に、サービス管理インターフェース(SMI:Service Management Interface)と、サービス制御インターフェース(SCI:Service Control Interface)とが規定されている。サービスプログラムは、SCIを介してクライアント端末のユーザが望むサービスが、ネットワーク・プラットフォーム50から提供されるように、定義される。
【0021】
次に、サービス管理インターフェースSMIについて説明する。ネットワーク・プラットフォーム50は、ネットワーク・プラットフォーム50において公開している機能モジュールとその機能を実行する際に必要なパラメータをSMIを介して公開しており、クライアント端末のユーザ又はクライアント・システムの構築者は、SMIを介してネットワーク・プラットフォーム50から必要な情報を取得してサービスプログラム作成を行う。
【0022】
SMIを介してやりとりされるパケットの形式は、例えば図2(a)に示すようなものである。すなわち、IPアドレスなどのネットワーク・アドレスを含むパケット・ヘッダと、クライアントIDと、端末IDと、動作データとが含まれる。動作データについては、クライアント端末からのパケットであれば例えばサービス要求内容(サービスプログラム登録要求、機能ダウンロード要求、版数管理要求、状態管理要求など)が含まれ、ネットワーク・プラットフォーム50からのパケットであれば例えば処理結果や要求データが含まれる。また、SCIを介してやりとりされるパケットの形式は、例えば図2(b)に示すようなものである。すなわち、IPアドレスなどのネットワーク・アドレスを含むパケットヘッダと、クライアントIDと、端末IDと、サービスプログラムのIDであるサービスIDと、動作データとを含む。動作データについては、クライアント端末からのパケットであれば例えば起動すべき機能モジュールのID及び必要なパラメータを含み、ネットワーク・プラットフォーム50からのパケットであれば例えば処理結果が含まれる。
【0023】
また、サービス提供ネットワーク5には、NP運用管理機能も用意されており、NP運用管理インターフェースを介してNP運用管理機能によりネットワーク・プラットフォーム50について各種管理を行う。なお、NP運用管理機能については本実施の形態の主要部ではないので、これ以上説明は行わない。
【0024】
サービスプログラムの作成及び登録については図3乃至図7を用いて説明する。例えばクライアント端末7における管理プログラム71は、SMIを介してサービスプログラム作成要求をネットワーク・プラットフォーム50に送信する(ステップS1)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7からサービスプログラム作成要求を受信し(ステップS3)、サービスプログラム作成要素データをSMIを介してクライアント端末7に送信する(ステップS5)。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50からサービスプログラム作成要素データを受信し(ステップS7)、当該サービスプログラム作成要素データを用いてサービスプログラム作成画面を表示する(ステップS9)。例えば図4に示すような画面が表示される。図4の例では、サービスプログラム開発ウインドウと、サービスプログラムのロジックのテンプレート・ウインドウとが表示されている。サービスプログラム開発ウインドウには、ネットワーク・プラットフォーム50において公開されている機能モジュールのリストが含まれ、ここではSIP、RSVP(Resource Reservation Setup Protocol)−TE(Traffic Engineering)、コンテキスト管理、RFID(Radio Frequency-ID)ミドル、メディア変換などの項目が列挙されている。また、各項目をクリックすると、当該項目に係る機能モジュールの機能概要及び入力パラメータ情報が表示されるようになっている。なお、図4ではSIPを選択した場合を示しており、機能概要及び入力パラメータについてはポップアップウインドウなどにて表示しても良い。テンプレート・ウインドウでは、典型的な処理ロジックが選択可能となっており、図4の例では第1段階で何らかの処理を行って、第2段階で条件を判断し、第3段階で条件によって異なる処理を行うというロジックの例が示されている。クライアント端末7のユーザは、サービスプログラム開発ウインドウに表示された内容を参照しつつ、テンプレート・ウインドウに今回作成するサービスプログラムのロジックに合致するロジックを表示させ、各ブロックで行う処理、使用する機能モジュールのID、必要なパラメータを入力する。
【0025】
なお、クライアント端末7の管理プログラム71は、必要な機能モジュールがクライアント端末7に存在するか確認する(ステップS11)。もし、必要な機能モジュールがクライアント端末7に存在しないと判断した場合には、ネットワーク・プラットフォーム50に対して必要な機能モジュールについて機能モジュール要求をSMIを介して送信する(ステップS13)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7から機能モジュール要求を受信する(ステップS15)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、受信した機能モジュール要求のパケットに含まれるクライアントID等から、要求に係る機能モジュールの送信可否を判断することもある。但し、ネットワーク・プラットフォーム50を利用する上で必要な基本的な機能モジュールであれば、特にチェックする必要はない。CT管理機能モジュール503は、機能モジュール格納部511から要求に係る機能モジュールを読み出し、SMIを介してクライアント端末7に送信する(ステップS17)。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50から要求機能モジュールを受信すると、クライアント端末の記憶装置に格納する(ステップS19)。
【0026】
ステップS11において必要な機能モジュールがクライアント端末7に存在すると判断された場合及びステップS19の後に、クライアント端末7の管理プログラム71は、例えば図4に示したような画面において、ユーザからのサービスプログラム作成指示を受け付ける(ステップS21)。ネットワーク・プラットフォーム50において利用可能な機能モジュールのID及び必要な入力パラメータのセットが、ロジックを表すテンプレートのブロックにおいて指定されており、ロジックに必要な条件等のデータも指定される。処理は端子Aを介して図5の処理に移行する。
【0027】
そして、クライアント端末7の管理プログラム71は、受け付けた入力データに従ってサービスプログラムを生成し、クライアント端末7の記憶装置に格納する(ステップS23)。そして、管理プログラム71は、サービスプログラムを含むサービスプログラム登録要求を、ネットワーク・プラットフォーム50に送信する(ステップS25)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7からサービスプログラムを含むサービスプログラム登録要求を受信し、記憶装置に格納する(ステップS27)。そして、CT管理機能モジュール503は、クライアントデータ格納部513を参照して、受信したサービスプログラムに対するチェック処理を実施する(ステップS29)。例えば、クライアントデータ格納部513には、図6に示すようなデータが格納されている。図6の例では、クライアントIDに対応して利用可能な機能モジュールのIDが登録されている。このような簡単なテーブルではなく、クライアントの所属が定義されたテーブルと、所属と利用可能な機能モジュールのIDとの対応テーブルとを組み合わせる場合もある。サービスプログラム登録要求に含まれるクライアントIDを用いて図6に示すようなテーブルを検索して利用可能な機能モジュールのIDを特定し、サービスプログラムにおいて規定されている全機能モジュールが利用可能か、すなわちサービスプログラムの利用を認可できるか判断する(ステップS31)。もし、利用不可能な機能モジュールがサービスプログラム中に規定されている場合には、CT管理機能モジュール503は、登録拒否通知をクライアント端末7に送信する。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50から登録拒否通知を受信し、表示装置に表示する(ステップS33)。これにて作成したサービスプログラムに問題があることを認識することができる。
【0028】
一方、クライアント端末7から受信したサービスプログラムにおいて規定されている全機能モジュールが利用可能であると判断された場合には、CT管理機能モジュール503は、当該サービスプログラムに対してサービスIDを発行し、クライアントデータ格納部513に登録する(ステップS35)。例えば、図7に示すように、クライアントIDに対応してサービスIDが登録される。なお、サービスプログラム自体又は定義されている全機能モジュールのID群をクライアントデータ格納部513又は他のデータ格納部にクライアントIDに対応付けて登録するようにしても良い。サービスIDについては、ネットワーク・プラットフォーム50全体においてサービスIDがユニークである場合、又はクライアント又はクライアントの集合毎にユニークである場合がある。前者の場合には、ネットワーク・プラットフォーム側でサービスIDを発行・管理する必要がある。後者は、クライアントID毎にそれぞれサービスIDを発行・管理し、両IDを組み合わせてサービスプログラムを特定する場合である。この場合は、クライアント側でサービスIDを発行し、それをネットワーク・プラットフォーム側に登録することが可能になる為、後者の方が分散管理がしやすいといえる。そして、CT管理機能モジュール503は、発行されたサービスIDを含む登録完了通知をクライアント端末7にSMIを介して送信する(ステップS37)。
【0029】
クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50からサービスIDを含む登録完了通知を受信し、受信されたサービスIDを含むサービスプログラムを、利用可能なサービスプログラムとしてクライアント端末7の記憶装置に格納する(ステップS39)。このようにすれば、SCIを介してネットワーク・プラットフォーム50に対してサービスを要求する際に、図2(b)に示すようなパケットを生成して送信することができ、ネットワーク・プラットフォーム50からは、ユーザにカスタマイズされたサービスプログラムにおいて規定されたサービスを受けることができるようになる。
【0030】
なお、図3及び図5の処理フローでは、クライアント端末のための機能モジュールをステップS11乃至S19で必要であればダウンロードするような構成を示したが、例えば登録完了通知を受信した後に、サービスプログラムの実行に必要となる機能モジュールをさらにダウンロードするようにしても良い。また、ステップS11乃至S19を実施せず、登録完了通知を受信した後にサービスプログラムの実行に必要となる機能モジュールをダウンロードするようにしても良い。
【0031】
ここで、サービスプログラムについて説明を加えておく。サービスプログラムについては、サービスプログラムを実行させるクライアントに許可された機能モジュールを利用する限りにおいて自由に構成することができる。図8(a)に示すように、サービス#aとして、まず状況理解(例えば機能モジュール#cの起動)を実施し(S1001)、状況理解の結果として状況#Xであるか状況#Yのいずれであるかを判定し(S1003)、状況#Yであれば機能モジュール#bを起動し(S1005)、その後結果待ちとするか、状況#Xであれば機能モジュール#aを起動し(S1007)、状況理解(例えば機能モジュール#cの起動)を実施し(S1009)、状況理解の結果として状況#Zであるか状況#Wであるかを判定し(S1011)、状況#Zであれば機能モジュール#aを起動し(S1015)、その後結果待ちとするか、状況#Wであれば機能モジュール#bを起動し(S1013)、その後結果待ちとするような定義が行われている。このように、必要な機能の利用及び必要なパラメータの設定を全て行うようにしても良いし、S1007乃至S1015について別途サービス#bと定義済みであれば、図8(a)のブロック801の代わりに、図8(b)に示すようにサービス#b起動(S1021)の規定を行っても良い。
【0032】
次に、図9乃至図12を用いて、本実施の形態におけるメッセージ及びパケットの組立、分解、及び振分方法について説明する。なお、ここではSCIを介した通信について説明する。図9で示すように、サービスプログラム#1又はサービスプログラム#2は、動作データ(例えば特定の機能モジュールの起動要求及び必要なパラメータ)を生成すると、動作データをメッセージ組み立て機能モジュール72に出力する。メッセージ組み立て機能モジュール72に出力されるデータは、図10(1)に示されるようなデータである。基本的には、動作データだけであるが、サービスプログラムを識別するために動作データと共にサービスIDが出力される場合もある。メッセージ組み立て機能モジュール72は、さらに端末ID及びクライアントIDを付加してパケット組立部73に出力する。すなわち、図10(2)に示すようなデータがメッセージとして構成される。なお、メッセージ組立機能モジュール72とパケット組立部73とのインターフェースは、通常の通信インターフェースであり、パケット組立部73は、特定の通信プロトコルに従って例えば図10(3)に示すようなネットワーク・アドレスを含むパケットヘッダを付加する。
【0033】
次に、ネットワーク・プラットフォーム50においては、パケット分解部521が、特定の通信プロトコルに従ってクライアント端末からのパケットを受信して、当該パケットに含まれるメッセージ(動作データ、サービスID、端末ID及びクライアントID)を抽出し、通信インターフェースを介してメッセージ分解機能モジュール522に出力する。メッセージは図10(4)に示されるようなデータである。メッセージ分解機能モジュール522は、メッセージを受け取ると、クライアントID、端末ID、サービスID及び動作データを分解して、クライアントID、端末ID、サービスIDを認証・認可機能モジュール501及び課金機能モジュール502に出力する。なお、応答の返信のため、パケット分解部521が、パケットヘッダに含まれるネットワーク・アドレスをメッセージ分解機能モジュール522に出力し、メッセージ分解機能モジュール522において、クライアントID、端末ID又はサービスIDに対応してネットワーク・アドレスを記憶装置に格納しておく場合もある。
【0034】
認証・認可機能モジュール501は、クライアントデータ格納部513を参照して、クライアントID及びサービスIDを用いてサービス認可を行う。但し、従来どおり、クライアントID及び端末IDにてネットワーク・プラットフォーム50の利用可否を判断し、別途クライアントIDとパスワードなどのデータにより本人認証を行う。また、課金機能モジュール502は、主にクライアントIDを用いて課金処理を実施する。なお、サービスID等をさらに用いて課金処理を実施する場合もある。そうすると、例えば使用する機能毎に料金が異なる場合には、サービスIDから利用した機能を特定して機能毎の利用状況を特定して、請求を行うことができる。なお、端末IDについては、複数の端末に同一のIDを付与したり、端末IDにより特定のグループに属する端末であることを特定することができるため、端末IDも、あるユーザグループが1つの端末を使用するときの課金に用いる場合もある。さらに、不特定多数のユーザの利用を想定した公共端末等の場合には、あるクライアントが定義したサービスを実行することを認可するか否かを端末IDを用いて判断するようにしても良い。例えば、公共端末をある特定のサービス提供用に限定したいようなケースにおいては、端末IDに対して、そのサービス、すなわちサービスプログラムだけを実行するようにすることも可能である。
【0035】
なお、認証・認可機能モジュール501は、さらに、クライアントデータ格納部513を参照して、図6に示すようなクライアントIDと利用可能な機能モジュールのIDとの対応付けに基づき、動作データにおいて指定されている起動機能モジュールの利用可否を判断するようにしても良い。この際、起動機能モジュールの特定については、認証・認可機能モジュール501が行っても良いし、以下で述べるメッセージディスパッチャ523によって行っても良い。又は、図6のようなデータではなく、クライアントIDと登録サービスプログラム又は登録サービスプログラムにおいて定義されている全機能モジュールのID群との対応付けから判断する場合もある。
【0036】
そして、クライアントID及びサービスIDによるサービス認可が得られると、メッセージ分解機能モジュール522は、図10(5)及び(6)に示すように、動作データのみ、又は動作データ及びサービスIDをメッセージディスパッチャ523に出力する。メッセージディスパッチャ523は、動作データを解析して出力先の機能モジュールを特定して、当該機能モジュールに動作データを出力する。図10(5)及び(6)に示すように、この際メッセージディスパッチャ523は、どのサービスプログラムによる要求であるかを識別するためサービスIDを付加して出力する場合もある。
【0037】
なお、メッセージディスパッチャ523が、クライアントデータ格納部513(図6等)を参照して、動作データにおいて指定されている利用機能モジュールの利用可否を判断するようにしても良い。また、基本的には動作データには、利用(すなわち起動)される機能モジュールの指定が含まれるが、機能モジュールの指定を含まないようにして必要なパラメータのみを含むようにしても良い。このような場合には、例えばクライアントID及びサービスIDとサービスプログラム自体又はサービスプログラムにおいて定義されている全機能モジュールのID群との対応付けをサービスプログラムデータ格納部514に登録しておき、クライアントID及びサービスIDにより特定されるサービスプログラムにおける状態を動作データに含まれるパラメータにて特定し、当該サービスプログラムにおける状態に応じてパラメータを出力すべき機能モジュールを特定するようにしてもよい。
【0038】
このようにしてクライアント端末におけるサービスプログラムの要求がネットワーク・プラットフォーム50における適切な機能モジュールに伝達される。
【0039】
次に、ネットワーク・プラットフォーム50からクライアント端末に応答を返す場合の処理を図11を用いて説明する。まず、ネットワーク・プラットフォーム50における機能モジュール#1又は機能モジュール#2は動作データ(処理結果)又は動作データ及びサービスIDをメッセージ組み立て機能モジュール524に出力する。出力されるデータは、図10(1)と同様である。また、メッセージ組み立て機能モジュール524は、要求元クライアントを特定し、端末ID、クライアントIDをさらに付加してメッセージを構成し、パケット組立部525に出力する。構成されたメッセージは、図10(2)に示したようなデータである。要求元クライアントの特定については、図9のメッセージ分解機能モジュール522及びメッセージディスパッチャ523と連携することにより行うか、又は図7に示したデータ及びクライアントIDに対応して端末ID等が格納されているクライアントデータ格納部513を利用するなどにて行われる。そして、パケット組立部525は、クライアントID又は端末IDに対応するネットワーク・アドレスを含むパケットヘッダを含むパケットを生成して、クライアント端末に送信する。送信されるパケットは、図10(3)と同様である。
【0040】
クライアント端末においては、パケット分解部74は、図10(3)のようなパケットを受信すると、パケットヘッダを取り除き、メッセージ部分をメッセージ分解機能モジュール75に出力する。メッセージ部分の構成は図10(4)と同様である。そして、メッセージ分解機能モジュール75は、メッセージに含まれる動作データ、又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力する。この段階で出力されるデータは、図10(5)又は(6)と同様である。メッセージディスパッチャ76は、動作データを解析するか又はサービスIDに従って、サービスプログラム#1又はサービスプログラム#2に動作データ又は動作データ及びサービスIDを出力する。
【0041】
このような処理を行うことにより、動作データが適切にクライアント端末とネットワーク・プラットフォーム間でやり取りされるようになる。なお、ネットワーク・アドレスと機能モジュールとは直接関係付けられていないので、ネットワーク・プラットフォーム50における機能モジュールの追加や変更をわざわざクライアント端末に通知する必要はないというメリットもある。
【0042】
なお、図9乃至図11では、ネットワーク・プラットフォーム50に1つのネットワーク・アドレスを割り当てておき、ネットワーク・プラットフォーム50においてメッセージの分解及び振分を行っていた。しかし、図12に示すように、ネットワーク・プラットフォーム50内の各機能モジュールにネットワーク・アドレス(NA)を割り当てておき、クライアント端末のパケット組立部79において、メッセージの宛先となる機能モジュール(ここでは機能モジュール#b)のNAを含むパケットヘッダを当該メッセージに付加してパケット1202を構成し、ネットワーク機器1201において、パケット1202の宛先ネットワーク・アドレスに基づき、ネットワーク・プラットフォーム50の指定された機能モジュール(ここでは#b)にパケット1202を転送するようにしてもよい。なお、課金や認証・認可の処理が必要であるため、パケット1202が認証・認可機能モジュール501と課金機能モジュール502とにコピーされて転送される場合もある。
【0043】
なお、図12のような構成を採用しても良いが、クライアント端末側では、メッセージを分析してネットワーク・プラットフォーム50における機能モジュールを特定し、当該機能モジュールのネットワーク・アドレスを特定する機能が必要となる。但し、この方がネットワーク・プラットフォーム50側の処理負荷は下がる。一方、ネットワーク・プラットフォーム50における内部機構を外部に公開する必要があり、機能モジュールの追加や変更毎にクライアント端末に通知して設定の変更などを行う必要がある。図9乃至図11のような構成を採用するか、図12のような構成を採用するかは、ネットワーク全体の構成を踏まえて決定される。
【0044】
次に、図9乃至図12に示したメッセージ及びパケットの組立、分解、及び振分方法を前提に、図13乃至図17を用いて、メッセージのやりとりについての具体的な処理フローを説明する。ここでは、例えばクライアント端末7におけるサービスプログラム#1において、図13に示すようなロジックが定義されているものとする。このサービスプログラムの例においては、クライアント端末7のユーザが広告配信を行うために、まず配信先の相手の状況を問い合わせ(状況理解)、相手の状況に応じて異なる配信方法で広告を送付する処理を行うものを想定している。すなわち、最初に特定の端末(又はユーザ)についての状況理解としてコンテキスト管理を行う機能モジュール#cに対して問い合わせを行い、問い合わせへの応答に基づき状況判定を行い、特定の端末の状況が状況#Xであれば機能モジュール#aを起動し、状況#Yであれば機能モジュール#bが起動されるように、サービスプログラム#1が規定されているものとする。また、サービスIDが#0703であり、端末IDが#936であり、クライアントIDが#531であるものとする。
【0045】
そうすると、クライアント端末7のサービスプログラム#1等は、特定の端末についての状況理解を行うため、機能モジュール#cの起動要求メッセージを生成し、メインメモリ等の記憶装置に格納する(ステップS51)。起動要求メッセージには、クライアントID”#531”と端末ID”#936”とサービスID”#0703”と機能モジュール#cの起動要求と特定の端末の識別情報(又は特定のユーザの識別情報)が含まれる。そして、クライアント端末7のパケット組立部73は、生成された起動要求メッセージと宛先ネットワーク・アドレスを含むパケットを生成し、ネットワーク・プラットフォーム50に送信する(ステップS53)。例えば、図15の(1)に示すようなパケットが生成され、送信される。
【0046】
一方ネットワーク・プラットフォーム50のパケット分解部521は、クライアント端末7から機能モジュール#cの起動要求メッセージを含むパケットを受信し、記憶装置に格納する(ステップS55)。そして、パケットから機能モジュール#cの起動要求メッセージを抽出する(ステップS57)。また、上でも述べたように、メッセージ分解機能モジュール522は、起動要求メッセージに含まれるクライアントID、端末ID、サービスIDを抽出し、認証・認可機能モジュール501及び課金機能モジュール502に出力する。認証・認可機能モジュール501は、クライアントID及び端末IDについて確認を行い、課金機能モジュール502は、課金処理を実施する(ステップS59)。さらに、認証・認可機能モジュール501は、サービスID及びクライアントIDを用いて当該機能モジュール#cの起動要求を認可できるか確認する(ステップS61)。もし、ステップS59又はS61で問題が検出されれば、クライアント端末7に対して要求処理を実施できない旨のメッセージを返信する。一方、ステップS59及びS61で問題が検出されない場合には、メッセージ分解機能モジュール522から動作データ(ここでは機能モジュール#cの起動要求及びパラメータ)又は動作データ及びサービスIDがメッセージディスパッチャ523に出力され、メッセージディスパッチャ523は、動作データを解析し、当該動作データを機能モジュール#cにディスパッチする(ステップS63)。なお、起動であれば、必要なパラメータを渡して起動させる。
【0047】
上でも述べたが、機能モジュール#cを起動する前に、機能モジュール#c自体の利用可否(起動可否)を判断するようにしても良い。この場合には、クライアントデータ格納部513内の図6のようなデータを参照して判断しても良いし、さらに上で述べたようにサービスプログラムデータ格納部514に格納された、クライアントIDとサービスプログラム自体又はサービスプログラムに規定されている機能モジュールのID群との対応付けを参照して判断しても良い。
【0048】
機能モジュール#cは、動作データに基づき処理を行い(ステップS65)、実行結果(ここでは”機能#c実行結果:状況Y”(例えばユーザAは携帯電話機を持って電車に乗っている))を含む動作データを生成し、当該動作データ又は動作データ及びサービスIDを、メッセージ組み立て機能モジュール524に出力する。メッセージ組み立て機能モジュール524は、クライアントID”#531”、端末ID”#936”及びサービスID”#0703”を付加してメッセージを生成し(ステップS67)、パケット組立部525は、実行結果を含むメッセージにパケットヘッダを付加してパケットを生成し、クライアント端末7に送信する(ステップS69)。本ステップで送信されるパケットは、例えば図15(2)のようなパケットである。
【0049】
クライアント端末7のパケット分解部74は、ネットワーク・プラットフォーム50から実行結果メッセージを含むパケットを受信し、例えばメインメモリ等の記憶装置に格納する(ステップS71)。処理は端子Bを介して図16に移行する。そして、パケット分解部74は、実行結果メッセージ部分を抽出してメッセージ分解機能モジュール75に出力する(ステップS73)。メッセージ分解機能モジュール75は、実行結果メッセージから実行結果を含む動作データ又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力し、メッセージディスパチャ76は、動作データを動作データの要求元であるサービスプログラム#1に出力する。
【0050】
サービスプログラム#1は、動作データに含まれる実行結果を解析し、図13のようなサービスプログラムであれば状況判定を行う(ステップS75)。図15(2)の例では、状況#Yであることが分かるので、機能モジュール#bを起動させることになる。例えば、SIPを用いてVoIP(Voice Over IP)にて発呼する。従って、サービスプログラム#1は、解析結果に従って、機能モジュール#bの起動要求メッセージを生成し(ステップS77)、メインメモリ等の記憶装置に格納する。起動要求メッセージには、クライアントID”#531”と端末ID”#936”とサービスID”#0703”と機能モジュール#bの起動要求と発呼先SIP−URL等のパラメータとが含まれる。そして、クライアント端末7のパケット組立部73は、生成された起動要求メッセージと宛先ネットワーク・アドレスを含むパケットを生成し、ネットワーク・プラットフォーム50に送信する(ステップS79)。例えば、図15の(3)に示すようなパケットが生成され、送信される。
【0051】
一方ネットワーク・プラットフォーム50のパケット分解部521は、クライアント端末7から機能モジュール#bの起動要求メッセージを含むパケットを受信し、記憶装置に格納する(ステップS81)。そして、パケットから機能モジュール#bの起動要求メッセージを抽出する(ステップS83)。また、上でも述べたように、メッセージ分解機能モジュール522は、起動要求メッセージに含まれるクライアントID、端末ID、サービスIDを抽出し、認証・認可機能モジュール501及び課金機能モジュール502に出力する。認証・認可機能モジュール501は、クライアントID及び端末IDについて確認を行い、課金機能モジュール502は、課金処理を実施する(ステップS85)。さらに、認証・認可機能モジュール501は、サービスID及びクライアントIDを用いて当該機能モジュール#bの起動要求を認可できるか確認する(ステップS87)。もし、ステップS85又はS87で問題が検出されれば、クライアント端末7に対して要求処理を実施できない旨のメッセージを返信する。一方、ステップS85及びS87で問題が検出されない場合には、メッセージ分解機能モジュール522から動作データ(ここでは機能モジュール#bの起動要求及びパラメータ)又は動作データ及びサービスIDがメッセージディスパッチャ523に出力され、メッセージディスパッチャ523は、動作データを解析し、当該動作データを機能モジュール#bにディスパッチする(ステップS89)。なお、起動であれば、必要なパラメータを渡して起動させる。上でも述べたようにこの段階においても機能起動の可否を判断するようにしても良い。
【0052】
機能モジュール#bは、動作データに基づき処理を行い(ステップS91)、実行結果(ここでは”機能#b実行結果”)を含む動作データを生成し、当該動作データ又は動作データ及びサービスIDを、メッセージ組み立て機能モジュール524に出力する。処理は端子Cを介して図17の処理に移行する。
【0053】
そして、メッセージ組み立て機能モジュール524は、クライアントID”#531”、端末ID”#936”及びサービスID”#0703”を付加してメッセージを生成し(ステップS93)、パケット組立部525は、実行結果を含むメッセージにパケットヘッダを付加してパケットを生成し、クライアント端末7に送信する(ステップS95)。本ステップで送信されるパケットは、例えば図15(4)のようなパケットである。
【0054】
クライアント端末7のパケット分解部74は、ネットワーク・プラットフォーム50から実行結果メッセージを含むパケットを受信し、例えばメインメモリ等の記憶装置に格納する(ステップS97)。そして、パケット分解部74は、実行結果メッセージ部分を抽出してメッセージ分解機能モジュール75に出力する(ステップS99)。メッセージ分解機能モジュール75は、実行結果メッセージから実行結果を含む動作データ又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力し、メッセージディスパッチャ76は、動作データを動作データの要求元であるサービスプログラム#1に出力する。
【0055】
サービスプログラム#1は、動作データに含まれる実行結果を解析し(ステップS101)、解析結果に従って必要な処理を実施する(ステップS103)。
【0056】
このようにサービスIDが付加されたメッセージがやりとりされて、サービスプログラムに従って処理が行われていく。
【0057】
また、上で述べたようなネットワークサービス提供のための各種APIが用意されており、クライアント端末のユーザ又はソフトウエア開発者は、必要に応じて機能モジュールを組み合わせて使用するようなサービスプログラムを作成することができる。また、サービスプログラムは、クライアント端末だけではなくネットワーク・プラットフォーム50側などネットワーク上に保存しておくことができ、必要に応じてダウンロードして、ユーザは自らの端末を使用しているがごとく他の端末を用いて所定のサービスを利用することも可能である。さらに、特定のサービスを利用する場合にはサービスプログラムだけを用意すればよいので、特定のサービス全体をシステム化するより開発工数及び期間を減らすことができる。また、サービスプログラム自身の更新は容易であり、ネットワーク・プラットフォーム50側の機能モジュールが更新されれば全てのクライアントが改良された機能を利用可能となる。さらに、必要に応じてクライアント端末には機能モジュールをダウンロードできるため、元々機能をあまり有さない端末であっても多様な、また高度なサービスを利用することができるようになる。
【0058】
また、本実施の形態ではサービスIDを含むメッセージ(ネットワーク上ではパケット)を交換するようになっているが、これによりクライアント端末では、複数のサービスプログラムを同時に実行させることができるようになる。すなわち、どのサービスプログラムについてのメッセージなのか、どのサービスプログラムについての処理なのかを識別することができる。
【0059】
さらに、ネットワーク・プラットフォーム50側でサービスプログラム又はサービスプログラムによって規定されている状態を管理していれば、サービスIDを見ればいずれの機能モジュールに動作データを振り分けるべきかを判断することができるようになる。さらに、サービスIDを用いたサービス認可を行うことも可能となる。さらに、サービスプログラム登録時にネットワーク・プラットフォーム50側で機能の使用可否を判断し、許可された場合にサービスIDを割り当てれば、以降はサービスIDで機能の使用許可を判断することが可能になる。すなわち、メッセージ毎に機能の使用許可を判断する必要は無くなり、ネットワーク・プラットフォーム50側ではサービスIDとクライアントIDの対応テーブルだけをチェックしてサービス許可を行えるので、処理の簡単化が図れる。
【0060】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、SMIを介したサービスプログラムの作成処理について説明したが、別途ネットワーク・プラットフォーム50において提供される機能モジュールの詳細などを入手することができれば、別途入手した情報に基づきサービスプログラムを作成するようにしても良い。また、サービスプログラムの登録についてもネットワークを介さずに、別途確認及び登録するような手順を採用する場合もある。
【0061】
また、ネットワーク・プラットフォーム50は、1台のコンピュータにより実現せずに複数台のコンピュータにより機能分担したり、一部の機能については並列又は分散処理を実施する場合もある。
【0062】
また、サービス認可についてはメッセージに他のデータ(例えば、サービスプログラムの改ざんがなされていないことを照明するデータ(ハッシュ値又は電子証明書など))を付加して確認する場合もある。
【0063】
さらに、ネットワーク・プラットフォーム50における機能モジュール毎に、利用可能なクライアントを規定しておき、クライアントIDと動作データに含まれる利用機能モジュールIDとを用いて、機能モジュール毎に利用の可否を判断するようにしてもよい。また、図6に示したようなクライアントIDと機能モジュールIDとの対応テーブルのみを用いて機能モジュールの利用可否を判断しても良い。
【0064】
なお、ネットワーク・プラットフォーム50を実現する1又は複数のコンピュータ及びクライアント端末は、コンピュータ装置であって、図18に示すように、メモリ2501(記憶装置)とCPU2503(処理装置)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0065】
(付記1)
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認ステップと、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【0066】
(付記2)
前記ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を前記クライアントの識別情報と対応付けて前記データ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
をさらに含む付記1記載のサービス処理方法。
【0067】
(付記3)
前記判断ステップにおいて、
前記クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部を前記サービスプログラム登録要求に含まれる前記クライアントの識別情報を用いて検索し、前記サービスプログラムに定義されている全機能が抽出されるか判断する
ことを特徴とする付記2記載のサービス処理方法。
【0068】
(付記4)
前記メッセージが、前記ネットワーク・プラットフォーム側における前記特定の機能において必要とされるパラメータを含むことを特徴とする付記1記載のサービス処理方法。
【0069】
(付記5)
前記メッセージに含まれる、前記サービスプログラムの識別情報と、保持している、当該サービスプログラムからのサービス要求の処理状態とを用いて、前記ネットワーク・プラットフォーム側における特定の機能を特定するステップ
をさらに含む付記4記載のサービス処理方法。
【0070】
(付記6)
前記メッセージが、前記ネットワーク・プラットフォーム側における特定の機能の指定及び当該特定の機能において必要とされるパラメータを含むことを特徴とする付記1記載のサービス処理方法。
【0071】
(付記7)
前記メッセージにおいて指定された、前記ネットワーク・プラットフォーム側における特定の機能について利用可否を判断するステップ
をさらに含む付記6記載のサービス処理方法。
【0072】
(付記8)
前記ネットワーク・プラットフォーム側で提供される機能が複数あり、当該複数の機能のそれぞれは、ネットワークを介して接続されている複数のコンピュータのいずれかにおいて実現されており、
前記メッセージが、前記ネットワーク・プラットフォーム側において前記特定の機能を実現しているコンピュータのネットワーク・アドレスを含むことを特徴とする付記1記載のサービス処理方法。
【0073】
(付記9)
前記ネットワーク・プラットフォーム側で提供される機能が複数あり、当該複数の機能のそれぞれは、ネットワークを介して接続されている複数のコンピュータのいずれかにおいて実現されており、
前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能を実現しているコンピュータを特定し、当該特定されたコンピュータに前記特定の機能による処理を依頼するステップ
をさらに含むことを特徴とする付記1記載のサービス処理方法。
【0074】
(付記10)
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【0075】
(付記11)
前記サービスプログラムの識別情報が、前記ネットワーク・プラットフォーム側において発行されるか、または前記クライアントの側において発行されるものであることを特徴とする付記10記載のサービス処理方法。
【0076】
(付記12)
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムの識別情報に対応して利用可能とされた機能の識別情報を第2データ格納部に格納するステップ
をさらに含む付記10記載のサービス処理方法。
【0077】
(付記13)
付記1乃至12記載のサービス処理方法をコンピュータに実行させるためのプログラム。
【0078】
(付記14)
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信する手段と、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認手段と、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信する手段と、
を有するサービス処理装置。
【0079】
(付記15)
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信する手段と、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断手段と、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納する手段と、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信する手段と、
を有するサービス処理装置。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施の形態におけるシステム概要図である。
【図2】(a)はSMIを介してやりとりされるパケットの一例を示す図であり、(b)はSCIを介してやりとりされるパケットの一例を示す図である。
【図3】サービスプログラム登録処理の処理フローを示す図である。
【図4】サービスプログラム作成時にクライアント端末に表示される画面の一例を示す図である。
【図5】サービスプログラム登録処理の処理フローの第2の部分を示す図である。
【図6】クライアントデータ格納部に格納されるデータの一例を示す図である。
【図7】クライアントデータ格納部に格納されるデータの一例を示す図である。
【図8】(a)及び(b)は、サービスプログラムの一例を示す図である。
【図9】クライアント端末からネットワーク・プラットフォームに送られるデータの処理概要を示す図である。
【図10】(1)乃至(6)は各段階におけるデータの一例を示す図である。
【図11】ネットワーク・プラットフォームからクライアント端末に送られるデータの処理概要を示す図である。
【図12】図9の他の例を示す図である。
【図13】サービスプログラムの一例を示す図である。
【図14】SCIを介してサービスを利用する際の処理フローを示す図である。
【図15】(1)乃至(4)はSCIを介してサービスを利用する際に送信されるデータの一例を示す図である。
【図16】SCIを介してサービスを利用する際の処理フローを示す図である。
【図17】SCIを介してサービスを利用する際の処理フローを示す図である。
【図18】コンピュータの機能ブロック図である。
【符号の説明】
【0081】
1 オープンネットワーク 3 ゲートウェイ 5 サービス提供ネットワーク
7,9 クライアント端末 50 ネットワーク・プラットフォーム
71,91 管理プログラム
501 認証・認可機能モジュール 502 課金機能モジュール
503 クライアント管理機能モジュール 504 セッション制御機能モジュール
505 コンテキスト管理機能モジュール 506 メディア変換機能モジュール
【技術分野】
【0001】
本発明は、ネットワークサービスの提供技術に関する。
【背景技術】
【0002】
インターネットに接続されているサーバ上に用意されたアプリケーションを、複数のユーザに使用させるサービスが存在している。このようなサービスにおいて、サーバ上のプログラムの組み合わせ方(ユーザ側から見れば使い方)はサービスの提供者により予め決められており、ユーザは、サーバ上の複数のプログラムを自由に組み合わせて使用することはできない。
【0003】
例えば特開2000−236326号公報には、ソフトウェアのメンテナンスを不要とし、相互通信サービスの利用時におけるソフトウェアの起動に関する制御等を不要とするための技術が開示されている。具体的には、クライアントはサーバアクセス用及び個人認証用の最小限のモジュールを保持する軽装端末とし、サーバは、軽装端末の動作に必要な共通ミドルウェア及びアプリケーションソフトウェアを保持するとともに、これらを管理する管理プログラムを有する管理サーバと、軽装端末との間で個人認証を行う認証サーバとして、各軽装端末は電源投入時及びサービス利用時に必要なソフトウェアを管理サーバからダウンロードするものである。このように必要なプログラムをクライアントにダウンロードするだけでは、多様なサービスの提供は不可能である。
【0004】
また、例えば特開2000−347958号公報には、データ通信量を低減させるとともに、コンピュータメモリの使用容量を節約するための技術が開示されている。具体的には、サーバが、クライアントに提供するプログラムを機能毎に分割して格納し、当該機能毎に分割して格納されているプログラムをクライアントが機能毎に選択できる。そして、当該選択されたプログラムのみがサーバからクライアントに対して提供されるように構成している。このため、必要な機能に関する印刷制御プログラムのみを選択して、クライアント側にダウンロードでき、サーバからクライアントへのデータ通信量を低減させることができるとともに、プログラムがダウンロードされるコンピュータのメモリ使用容量を節約することができる。この技術においては、クライアントによって規定されるプログラムの組み合わせについて何らの特徴付けはなされていない。
【0005】
さらに、特開2002−182937号公報には、クライアント端末とサーバとの間で少ないデータ量でもってダウンロードでき、所望のデータ処理を実行できるようにするための技術が開示されている。具体的には、クライアント端末で定義情報を入力し、サーバで設定情報を定義情報に対応して読み出してクライアント端末に送信し、設定情報に基づいて1又は複数の機能部品を呼び出す。機能部品は複数のデータ処理を共通の単位処理に分割しそこから抽出した処理ロジックを記述したものであって、クライアント端末又は処理サーバで1又は複数の機能部品に基づく処理ロジックによって単位処理プログラムを動的に生成し、生成された1又は複数の単位処理プログラムを設定情報に基づく条件に従って実行する。この技術では、単位処理プログラムの認可といった観点は存在していない。また、単位処理プログラムを複数種類実行する場合における問題などについては触れられていない。
【特許文献1】特開2000−236326号公報
【特許文献2】特開2000−347958号公報
【特許文献3】特開2002−182937号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上で述べたような従来技術には、クライアント側でサーバ側に用意された任意の機能を組み合わせ、クライアント側でネットワークを介して機能の組み合わせにつきサービスの提供を受ける際に、サービス提供の可否を判断したり、複数の組み合わせを識別したりすることについては考慮されていない。従って、ネットワーク・サービスの柔軟且つ適切な提供に問題がある。
【0007】
従って、本発明の目的は、ネットワーク・サービスの柔軟且つ適切な提供を可能にするための新規な技術を提供することである。
【課題を解決するための手段】
【0008】
本発明の第1の態様に係るサービス処理方法は、ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関しクライアント側で定義され且つネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信されたメッセージに含まれるサービスプログラムの識別情報及びクライアントの識別情報の対応付けが登録されているか確認する確認ステップと、確認ステップにおいて確認が取れた場合に、メッセージにおいて要求された、ネットワーク・プラットフォーム側における特定の機能による処理を実施し、処理結果及びサービスプログラムの識別情報を含む応答をクライアント端末に送信するステップとを含む。
【0009】
このようにサービスプログラムの識別情報がサービス要求に含まれるので、メッセージへの応答の可否を確認することができ、さらに複数のサービス・プログラムが実行されている場合であっても識別して処理を進めることができる。なお、サービスプログラムの識別情報以外の要素をさらに用いて機能利用の可否を確認しても良い。
【0010】
また、ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、受信したサービスプログラムを解析し、サービスプログラム内に定義されている全機能をクライアントが利用可能か判断する判断ステップと、サービスプログラム内に定義されている全機能をクライアントが利用可能と判断された場合には、サービスプログラムに対して発行された識別情報をクライアントの識別情報と対応付けてデータ格納部に格納するステップと、サービスプログラムの識別情報を含む登録完了通知をクライアント端末に送信するステップとをさらに含むようにしてもよい。
【0011】
このようにサービスプログラムにおいて定義されている全機能が利用可能かが予め確認されているので、サービス実行時にはサービスプログラムの識別情報を用いた確認が可能となる。
【0012】
さらに、上で述べた判断ステップにおいて、クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部をサービスプログラム登録要求に含まれるクライアントの識別情報を用いて検索し、サービスプログラムに定義されている全機能が抽出されるか判断するようにしてもよい。このようにすれば、容易にサービスプログラムの確認を行うことができるようになる。
【0013】
また本発明の第2の態様に係る情報処理方法は、ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、受信したサービスプログラムを解析し、サービスプログラム内に定義されている全機能をクライアントが利用可能か判断する判断ステップと、サービスプログラム内に定義されている全機能をクライアントが利用可能と判断された場合には、サービスプログラムに対して発行された識別情報を、クライアントの識別情報と対応付けてデータ格納部に格納するステップと、サービスプログラムの識別情報を含む登録完了通知をクライアント端末に送信するステップとを含む。このような処理を実施すれば、自動的にサービスプログラムの確認を行うことができるようになる。
【0014】
本発明に係るサービス処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【0015】
本発明によれば、ネットワーク・サービスの柔軟且つ適切な提供が可能となる。
【発明を実施するための最良の形態】
【0016】
図1に本発明の一実施の形態に係るシステム概要図を示す。インターネット等のオープンネットワーク1には、複数のクライアント端末(CT:Client Terminal)が接続されている。また、オープンネットワーク1は、ゲートウェイ(GW:Gateway)3を介してサービス提供ネットワーク5に接続されている。サービス提供ネットワーク5においては、以下に説明するネットワーク・プラットフォーム(NP)50が構築されている。
【0017】
ネットワーク・プラットフォーム50には、共通機能モジュールとして、認証・認可機能モジュール501と、課金機能モジュール502と、CT管理機能モジュール503とが設けられている。認証・認可機能モジュール501は、クライアント認証、端末認証、サービス認可等を行う。課金機能モジュール502は、例えばクライアント毎に機能モジュールの使用回数等の課金に必要なデータを収集し、例えばクライアント毎の課金データを生成する。CT管理機能モジュール503は、各機能モジュールの版数管理、クライアント端末の状態管理、クライアント端末への機能モジュールのダウンロード制御、及び以下で説明するサービスプログラムの登録確認、サービスIDの発行などを行う。
【0018】
また、ネットワーク・プラットフォーム50には、個別機能モジュールとして、セッション制御(例えばSIP(Session Initiation Protocol))を行うセッション制御機能モジュール504、クライアントのプレゼンス・データを管理するコンテキスト管理機能モジュール505、メディア変換機能モジュール506などの機能モジュールが設けられている。図1では3つの個別機能モジュールを示しているが、他の機能モジュールが設けられる場合もある。さらに、ネットワーク・プラットフォーム50には、個別機能モジュール等が共通して使用するコモンアプリケーション#1、#2、#3なども設けられている。
【0019】
一方、クライアント端末には、1又は複数のサービスプログラムと、1又は複数のクライアント機能モジュールと、管理プログラムとが設けられている。図1の例では、クライアント端末7には、サービスプログラム#1及び#2と、クライアント機能モジュールA及びBと、管理プログラム71が設けられている。クライアント機能モジュールについては、ネットワーク・プラットフォーム50からダウンロードした機能モジュールである場合もあれば、予めクライアント端末に用意されている機能モジュールの場合もある。また、クライアント端末9には、サービスプログラム#3と、クライアント機能モジュールCと、管理プログラム91とが設けられている。
【0020】
さらに、ネットワーク・プラットフォーム50内には、コモンアプリケーションと個別機能モジュールとの間にNP−API(Application Program Interface)が規定されている。また、クライアント端末内には、サービスプログラムとクライアント機能モジュールとの間にCT−APIが規定されている。例えばクライアント端末においてサービスプログラムは、CT−APIを介してクライアントの機能モジュールを用いるようになっている。さらに、クライアント端末とネットワーク・プラットフォーム50との間に、サービス管理インターフェース(SMI:Service Management Interface)と、サービス制御インターフェース(SCI:Service Control Interface)とが規定されている。サービスプログラムは、SCIを介してクライアント端末のユーザが望むサービスが、ネットワーク・プラットフォーム50から提供されるように、定義される。
【0021】
次に、サービス管理インターフェースSMIについて説明する。ネットワーク・プラットフォーム50は、ネットワーク・プラットフォーム50において公開している機能モジュールとその機能を実行する際に必要なパラメータをSMIを介して公開しており、クライアント端末のユーザ又はクライアント・システムの構築者は、SMIを介してネットワーク・プラットフォーム50から必要な情報を取得してサービスプログラム作成を行う。
【0022】
SMIを介してやりとりされるパケットの形式は、例えば図2(a)に示すようなものである。すなわち、IPアドレスなどのネットワーク・アドレスを含むパケット・ヘッダと、クライアントIDと、端末IDと、動作データとが含まれる。動作データについては、クライアント端末からのパケットであれば例えばサービス要求内容(サービスプログラム登録要求、機能ダウンロード要求、版数管理要求、状態管理要求など)が含まれ、ネットワーク・プラットフォーム50からのパケットであれば例えば処理結果や要求データが含まれる。また、SCIを介してやりとりされるパケットの形式は、例えば図2(b)に示すようなものである。すなわち、IPアドレスなどのネットワーク・アドレスを含むパケットヘッダと、クライアントIDと、端末IDと、サービスプログラムのIDであるサービスIDと、動作データとを含む。動作データについては、クライアント端末からのパケットであれば例えば起動すべき機能モジュールのID及び必要なパラメータを含み、ネットワーク・プラットフォーム50からのパケットであれば例えば処理結果が含まれる。
【0023】
また、サービス提供ネットワーク5には、NP運用管理機能も用意されており、NP運用管理インターフェースを介してNP運用管理機能によりネットワーク・プラットフォーム50について各種管理を行う。なお、NP運用管理機能については本実施の形態の主要部ではないので、これ以上説明は行わない。
【0024】
サービスプログラムの作成及び登録については図3乃至図7を用いて説明する。例えばクライアント端末7における管理プログラム71は、SMIを介してサービスプログラム作成要求をネットワーク・プラットフォーム50に送信する(ステップS1)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7からサービスプログラム作成要求を受信し(ステップS3)、サービスプログラム作成要素データをSMIを介してクライアント端末7に送信する(ステップS5)。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50からサービスプログラム作成要素データを受信し(ステップS7)、当該サービスプログラム作成要素データを用いてサービスプログラム作成画面を表示する(ステップS9)。例えば図4に示すような画面が表示される。図4の例では、サービスプログラム開発ウインドウと、サービスプログラムのロジックのテンプレート・ウインドウとが表示されている。サービスプログラム開発ウインドウには、ネットワーク・プラットフォーム50において公開されている機能モジュールのリストが含まれ、ここではSIP、RSVP(Resource Reservation Setup Protocol)−TE(Traffic Engineering)、コンテキスト管理、RFID(Radio Frequency-ID)ミドル、メディア変換などの項目が列挙されている。また、各項目をクリックすると、当該項目に係る機能モジュールの機能概要及び入力パラメータ情報が表示されるようになっている。なお、図4ではSIPを選択した場合を示しており、機能概要及び入力パラメータについてはポップアップウインドウなどにて表示しても良い。テンプレート・ウインドウでは、典型的な処理ロジックが選択可能となっており、図4の例では第1段階で何らかの処理を行って、第2段階で条件を判断し、第3段階で条件によって異なる処理を行うというロジックの例が示されている。クライアント端末7のユーザは、サービスプログラム開発ウインドウに表示された内容を参照しつつ、テンプレート・ウインドウに今回作成するサービスプログラムのロジックに合致するロジックを表示させ、各ブロックで行う処理、使用する機能モジュールのID、必要なパラメータを入力する。
【0025】
なお、クライアント端末7の管理プログラム71は、必要な機能モジュールがクライアント端末7に存在するか確認する(ステップS11)。もし、必要な機能モジュールがクライアント端末7に存在しないと判断した場合には、ネットワーク・プラットフォーム50に対して必要な機能モジュールについて機能モジュール要求をSMIを介して送信する(ステップS13)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7から機能モジュール要求を受信する(ステップS15)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、受信した機能モジュール要求のパケットに含まれるクライアントID等から、要求に係る機能モジュールの送信可否を判断することもある。但し、ネットワーク・プラットフォーム50を利用する上で必要な基本的な機能モジュールであれば、特にチェックする必要はない。CT管理機能モジュール503は、機能モジュール格納部511から要求に係る機能モジュールを読み出し、SMIを介してクライアント端末7に送信する(ステップS17)。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50から要求機能モジュールを受信すると、クライアント端末の記憶装置に格納する(ステップS19)。
【0026】
ステップS11において必要な機能モジュールがクライアント端末7に存在すると判断された場合及びステップS19の後に、クライアント端末7の管理プログラム71は、例えば図4に示したような画面において、ユーザからのサービスプログラム作成指示を受け付ける(ステップS21)。ネットワーク・プラットフォーム50において利用可能な機能モジュールのID及び必要な入力パラメータのセットが、ロジックを表すテンプレートのブロックにおいて指定されており、ロジックに必要な条件等のデータも指定される。処理は端子Aを介して図5の処理に移行する。
【0027】
そして、クライアント端末7の管理プログラム71は、受け付けた入力データに従ってサービスプログラムを生成し、クライアント端末7の記憶装置に格納する(ステップS23)。そして、管理プログラム71は、サービスプログラムを含むサービスプログラム登録要求を、ネットワーク・プラットフォーム50に送信する(ステップS25)。ネットワーク・プラットフォーム50のCT管理機能モジュール503は、クライアント端末7からサービスプログラムを含むサービスプログラム登録要求を受信し、記憶装置に格納する(ステップS27)。そして、CT管理機能モジュール503は、クライアントデータ格納部513を参照して、受信したサービスプログラムに対するチェック処理を実施する(ステップS29)。例えば、クライアントデータ格納部513には、図6に示すようなデータが格納されている。図6の例では、クライアントIDに対応して利用可能な機能モジュールのIDが登録されている。このような簡単なテーブルではなく、クライアントの所属が定義されたテーブルと、所属と利用可能な機能モジュールのIDとの対応テーブルとを組み合わせる場合もある。サービスプログラム登録要求に含まれるクライアントIDを用いて図6に示すようなテーブルを検索して利用可能な機能モジュールのIDを特定し、サービスプログラムにおいて規定されている全機能モジュールが利用可能か、すなわちサービスプログラムの利用を認可できるか判断する(ステップS31)。もし、利用不可能な機能モジュールがサービスプログラム中に規定されている場合には、CT管理機能モジュール503は、登録拒否通知をクライアント端末7に送信する。クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50から登録拒否通知を受信し、表示装置に表示する(ステップS33)。これにて作成したサービスプログラムに問題があることを認識することができる。
【0028】
一方、クライアント端末7から受信したサービスプログラムにおいて規定されている全機能モジュールが利用可能であると判断された場合には、CT管理機能モジュール503は、当該サービスプログラムに対してサービスIDを発行し、クライアントデータ格納部513に登録する(ステップS35)。例えば、図7に示すように、クライアントIDに対応してサービスIDが登録される。なお、サービスプログラム自体又は定義されている全機能モジュールのID群をクライアントデータ格納部513又は他のデータ格納部にクライアントIDに対応付けて登録するようにしても良い。サービスIDについては、ネットワーク・プラットフォーム50全体においてサービスIDがユニークである場合、又はクライアント又はクライアントの集合毎にユニークである場合がある。前者の場合には、ネットワーク・プラットフォーム側でサービスIDを発行・管理する必要がある。後者は、クライアントID毎にそれぞれサービスIDを発行・管理し、両IDを組み合わせてサービスプログラムを特定する場合である。この場合は、クライアント側でサービスIDを発行し、それをネットワーク・プラットフォーム側に登録することが可能になる為、後者の方が分散管理がしやすいといえる。そして、CT管理機能モジュール503は、発行されたサービスIDを含む登録完了通知をクライアント端末7にSMIを介して送信する(ステップS37)。
【0029】
クライアント端末7の管理プログラム71は、ネットワーク・プラットフォーム50からサービスIDを含む登録完了通知を受信し、受信されたサービスIDを含むサービスプログラムを、利用可能なサービスプログラムとしてクライアント端末7の記憶装置に格納する(ステップS39)。このようにすれば、SCIを介してネットワーク・プラットフォーム50に対してサービスを要求する際に、図2(b)に示すようなパケットを生成して送信することができ、ネットワーク・プラットフォーム50からは、ユーザにカスタマイズされたサービスプログラムにおいて規定されたサービスを受けることができるようになる。
【0030】
なお、図3及び図5の処理フローでは、クライアント端末のための機能モジュールをステップS11乃至S19で必要であればダウンロードするような構成を示したが、例えば登録完了通知を受信した後に、サービスプログラムの実行に必要となる機能モジュールをさらにダウンロードするようにしても良い。また、ステップS11乃至S19を実施せず、登録完了通知を受信した後にサービスプログラムの実行に必要となる機能モジュールをダウンロードするようにしても良い。
【0031】
ここで、サービスプログラムについて説明を加えておく。サービスプログラムについては、サービスプログラムを実行させるクライアントに許可された機能モジュールを利用する限りにおいて自由に構成することができる。図8(a)に示すように、サービス#aとして、まず状況理解(例えば機能モジュール#cの起動)を実施し(S1001)、状況理解の結果として状況#Xであるか状況#Yのいずれであるかを判定し(S1003)、状況#Yであれば機能モジュール#bを起動し(S1005)、その後結果待ちとするか、状況#Xであれば機能モジュール#aを起動し(S1007)、状況理解(例えば機能モジュール#cの起動)を実施し(S1009)、状況理解の結果として状況#Zであるか状況#Wであるかを判定し(S1011)、状況#Zであれば機能モジュール#aを起動し(S1015)、その後結果待ちとするか、状況#Wであれば機能モジュール#bを起動し(S1013)、その後結果待ちとするような定義が行われている。このように、必要な機能の利用及び必要なパラメータの設定を全て行うようにしても良いし、S1007乃至S1015について別途サービス#bと定義済みであれば、図8(a)のブロック801の代わりに、図8(b)に示すようにサービス#b起動(S1021)の規定を行っても良い。
【0032】
次に、図9乃至図12を用いて、本実施の形態におけるメッセージ及びパケットの組立、分解、及び振分方法について説明する。なお、ここではSCIを介した通信について説明する。図9で示すように、サービスプログラム#1又はサービスプログラム#2は、動作データ(例えば特定の機能モジュールの起動要求及び必要なパラメータ)を生成すると、動作データをメッセージ組み立て機能モジュール72に出力する。メッセージ組み立て機能モジュール72に出力されるデータは、図10(1)に示されるようなデータである。基本的には、動作データだけであるが、サービスプログラムを識別するために動作データと共にサービスIDが出力される場合もある。メッセージ組み立て機能モジュール72は、さらに端末ID及びクライアントIDを付加してパケット組立部73に出力する。すなわち、図10(2)に示すようなデータがメッセージとして構成される。なお、メッセージ組立機能モジュール72とパケット組立部73とのインターフェースは、通常の通信インターフェースであり、パケット組立部73は、特定の通信プロトコルに従って例えば図10(3)に示すようなネットワーク・アドレスを含むパケットヘッダを付加する。
【0033】
次に、ネットワーク・プラットフォーム50においては、パケット分解部521が、特定の通信プロトコルに従ってクライアント端末からのパケットを受信して、当該パケットに含まれるメッセージ(動作データ、サービスID、端末ID及びクライアントID)を抽出し、通信インターフェースを介してメッセージ分解機能モジュール522に出力する。メッセージは図10(4)に示されるようなデータである。メッセージ分解機能モジュール522は、メッセージを受け取ると、クライアントID、端末ID、サービスID及び動作データを分解して、クライアントID、端末ID、サービスIDを認証・認可機能モジュール501及び課金機能モジュール502に出力する。なお、応答の返信のため、パケット分解部521が、パケットヘッダに含まれるネットワーク・アドレスをメッセージ分解機能モジュール522に出力し、メッセージ分解機能モジュール522において、クライアントID、端末ID又はサービスIDに対応してネットワーク・アドレスを記憶装置に格納しておく場合もある。
【0034】
認証・認可機能モジュール501は、クライアントデータ格納部513を参照して、クライアントID及びサービスIDを用いてサービス認可を行う。但し、従来どおり、クライアントID及び端末IDにてネットワーク・プラットフォーム50の利用可否を判断し、別途クライアントIDとパスワードなどのデータにより本人認証を行う。また、課金機能モジュール502は、主にクライアントIDを用いて課金処理を実施する。なお、サービスID等をさらに用いて課金処理を実施する場合もある。そうすると、例えば使用する機能毎に料金が異なる場合には、サービスIDから利用した機能を特定して機能毎の利用状況を特定して、請求を行うことができる。なお、端末IDについては、複数の端末に同一のIDを付与したり、端末IDにより特定のグループに属する端末であることを特定することができるため、端末IDも、あるユーザグループが1つの端末を使用するときの課金に用いる場合もある。さらに、不特定多数のユーザの利用を想定した公共端末等の場合には、あるクライアントが定義したサービスを実行することを認可するか否かを端末IDを用いて判断するようにしても良い。例えば、公共端末をある特定のサービス提供用に限定したいようなケースにおいては、端末IDに対して、そのサービス、すなわちサービスプログラムだけを実行するようにすることも可能である。
【0035】
なお、認証・認可機能モジュール501は、さらに、クライアントデータ格納部513を参照して、図6に示すようなクライアントIDと利用可能な機能モジュールのIDとの対応付けに基づき、動作データにおいて指定されている起動機能モジュールの利用可否を判断するようにしても良い。この際、起動機能モジュールの特定については、認証・認可機能モジュール501が行っても良いし、以下で述べるメッセージディスパッチャ523によって行っても良い。又は、図6のようなデータではなく、クライアントIDと登録サービスプログラム又は登録サービスプログラムにおいて定義されている全機能モジュールのID群との対応付けから判断する場合もある。
【0036】
そして、クライアントID及びサービスIDによるサービス認可が得られると、メッセージ分解機能モジュール522は、図10(5)及び(6)に示すように、動作データのみ、又は動作データ及びサービスIDをメッセージディスパッチャ523に出力する。メッセージディスパッチャ523は、動作データを解析して出力先の機能モジュールを特定して、当該機能モジュールに動作データを出力する。図10(5)及び(6)に示すように、この際メッセージディスパッチャ523は、どのサービスプログラムによる要求であるかを識別するためサービスIDを付加して出力する場合もある。
【0037】
なお、メッセージディスパッチャ523が、クライアントデータ格納部513(図6等)を参照して、動作データにおいて指定されている利用機能モジュールの利用可否を判断するようにしても良い。また、基本的には動作データには、利用(すなわち起動)される機能モジュールの指定が含まれるが、機能モジュールの指定を含まないようにして必要なパラメータのみを含むようにしても良い。このような場合には、例えばクライアントID及びサービスIDとサービスプログラム自体又はサービスプログラムにおいて定義されている全機能モジュールのID群との対応付けをサービスプログラムデータ格納部514に登録しておき、クライアントID及びサービスIDにより特定されるサービスプログラムにおける状態を動作データに含まれるパラメータにて特定し、当該サービスプログラムにおける状態に応じてパラメータを出力すべき機能モジュールを特定するようにしてもよい。
【0038】
このようにしてクライアント端末におけるサービスプログラムの要求がネットワーク・プラットフォーム50における適切な機能モジュールに伝達される。
【0039】
次に、ネットワーク・プラットフォーム50からクライアント端末に応答を返す場合の処理を図11を用いて説明する。まず、ネットワーク・プラットフォーム50における機能モジュール#1又は機能モジュール#2は動作データ(処理結果)又は動作データ及びサービスIDをメッセージ組み立て機能モジュール524に出力する。出力されるデータは、図10(1)と同様である。また、メッセージ組み立て機能モジュール524は、要求元クライアントを特定し、端末ID、クライアントIDをさらに付加してメッセージを構成し、パケット組立部525に出力する。構成されたメッセージは、図10(2)に示したようなデータである。要求元クライアントの特定については、図9のメッセージ分解機能モジュール522及びメッセージディスパッチャ523と連携することにより行うか、又は図7に示したデータ及びクライアントIDに対応して端末ID等が格納されているクライアントデータ格納部513を利用するなどにて行われる。そして、パケット組立部525は、クライアントID又は端末IDに対応するネットワーク・アドレスを含むパケットヘッダを含むパケットを生成して、クライアント端末に送信する。送信されるパケットは、図10(3)と同様である。
【0040】
クライアント端末においては、パケット分解部74は、図10(3)のようなパケットを受信すると、パケットヘッダを取り除き、メッセージ部分をメッセージ分解機能モジュール75に出力する。メッセージ部分の構成は図10(4)と同様である。そして、メッセージ分解機能モジュール75は、メッセージに含まれる動作データ、又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力する。この段階で出力されるデータは、図10(5)又は(6)と同様である。メッセージディスパッチャ76は、動作データを解析するか又はサービスIDに従って、サービスプログラム#1又はサービスプログラム#2に動作データ又は動作データ及びサービスIDを出力する。
【0041】
このような処理を行うことにより、動作データが適切にクライアント端末とネットワーク・プラットフォーム間でやり取りされるようになる。なお、ネットワーク・アドレスと機能モジュールとは直接関係付けられていないので、ネットワーク・プラットフォーム50における機能モジュールの追加や変更をわざわざクライアント端末に通知する必要はないというメリットもある。
【0042】
なお、図9乃至図11では、ネットワーク・プラットフォーム50に1つのネットワーク・アドレスを割り当てておき、ネットワーク・プラットフォーム50においてメッセージの分解及び振分を行っていた。しかし、図12に示すように、ネットワーク・プラットフォーム50内の各機能モジュールにネットワーク・アドレス(NA)を割り当てておき、クライアント端末のパケット組立部79において、メッセージの宛先となる機能モジュール(ここでは機能モジュール#b)のNAを含むパケットヘッダを当該メッセージに付加してパケット1202を構成し、ネットワーク機器1201において、パケット1202の宛先ネットワーク・アドレスに基づき、ネットワーク・プラットフォーム50の指定された機能モジュール(ここでは#b)にパケット1202を転送するようにしてもよい。なお、課金や認証・認可の処理が必要であるため、パケット1202が認証・認可機能モジュール501と課金機能モジュール502とにコピーされて転送される場合もある。
【0043】
なお、図12のような構成を採用しても良いが、クライアント端末側では、メッセージを分析してネットワーク・プラットフォーム50における機能モジュールを特定し、当該機能モジュールのネットワーク・アドレスを特定する機能が必要となる。但し、この方がネットワーク・プラットフォーム50側の処理負荷は下がる。一方、ネットワーク・プラットフォーム50における内部機構を外部に公開する必要があり、機能モジュールの追加や変更毎にクライアント端末に通知して設定の変更などを行う必要がある。図9乃至図11のような構成を採用するか、図12のような構成を採用するかは、ネットワーク全体の構成を踏まえて決定される。
【0044】
次に、図9乃至図12に示したメッセージ及びパケットの組立、分解、及び振分方法を前提に、図13乃至図17を用いて、メッセージのやりとりについての具体的な処理フローを説明する。ここでは、例えばクライアント端末7におけるサービスプログラム#1において、図13に示すようなロジックが定義されているものとする。このサービスプログラムの例においては、クライアント端末7のユーザが広告配信を行うために、まず配信先の相手の状況を問い合わせ(状況理解)、相手の状況に応じて異なる配信方法で広告を送付する処理を行うものを想定している。すなわち、最初に特定の端末(又はユーザ)についての状況理解としてコンテキスト管理を行う機能モジュール#cに対して問い合わせを行い、問い合わせへの応答に基づき状況判定を行い、特定の端末の状況が状況#Xであれば機能モジュール#aを起動し、状況#Yであれば機能モジュール#bが起動されるように、サービスプログラム#1が規定されているものとする。また、サービスIDが#0703であり、端末IDが#936であり、クライアントIDが#531であるものとする。
【0045】
そうすると、クライアント端末7のサービスプログラム#1等は、特定の端末についての状況理解を行うため、機能モジュール#cの起動要求メッセージを生成し、メインメモリ等の記憶装置に格納する(ステップS51)。起動要求メッセージには、クライアントID”#531”と端末ID”#936”とサービスID”#0703”と機能モジュール#cの起動要求と特定の端末の識別情報(又は特定のユーザの識別情報)が含まれる。そして、クライアント端末7のパケット組立部73は、生成された起動要求メッセージと宛先ネットワーク・アドレスを含むパケットを生成し、ネットワーク・プラットフォーム50に送信する(ステップS53)。例えば、図15の(1)に示すようなパケットが生成され、送信される。
【0046】
一方ネットワーク・プラットフォーム50のパケット分解部521は、クライアント端末7から機能モジュール#cの起動要求メッセージを含むパケットを受信し、記憶装置に格納する(ステップS55)。そして、パケットから機能モジュール#cの起動要求メッセージを抽出する(ステップS57)。また、上でも述べたように、メッセージ分解機能モジュール522は、起動要求メッセージに含まれるクライアントID、端末ID、サービスIDを抽出し、認証・認可機能モジュール501及び課金機能モジュール502に出力する。認証・認可機能モジュール501は、クライアントID及び端末IDについて確認を行い、課金機能モジュール502は、課金処理を実施する(ステップS59)。さらに、認証・認可機能モジュール501は、サービスID及びクライアントIDを用いて当該機能モジュール#cの起動要求を認可できるか確認する(ステップS61)。もし、ステップS59又はS61で問題が検出されれば、クライアント端末7に対して要求処理を実施できない旨のメッセージを返信する。一方、ステップS59及びS61で問題が検出されない場合には、メッセージ分解機能モジュール522から動作データ(ここでは機能モジュール#cの起動要求及びパラメータ)又は動作データ及びサービスIDがメッセージディスパッチャ523に出力され、メッセージディスパッチャ523は、動作データを解析し、当該動作データを機能モジュール#cにディスパッチする(ステップS63)。なお、起動であれば、必要なパラメータを渡して起動させる。
【0047】
上でも述べたが、機能モジュール#cを起動する前に、機能モジュール#c自体の利用可否(起動可否)を判断するようにしても良い。この場合には、クライアントデータ格納部513内の図6のようなデータを参照して判断しても良いし、さらに上で述べたようにサービスプログラムデータ格納部514に格納された、クライアントIDとサービスプログラム自体又はサービスプログラムに規定されている機能モジュールのID群との対応付けを参照して判断しても良い。
【0048】
機能モジュール#cは、動作データに基づき処理を行い(ステップS65)、実行結果(ここでは”機能#c実行結果:状況Y”(例えばユーザAは携帯電話機を持って電車に乗っている))を含む動作データを生成し、当該動作データ又は動作データ及びサービスIDを、メッセージ組み立て機能モジュール524に出力する。メッセージ組み立て機能モジュール524は、クライアントID”#531”、端末ID”#936”及びサービスID”#0703”を付加してメッセージを生成し(ステップS67)、パケット組立部525は、実行結果を含むメッセージにパケットヘッダを付加してパケットを生成し、クライアント端末7に送信する(ステップS69)。本ステップで送信されるパケットは、例えば図15(2)のようなパケットである。
【0049】
クライアント端末7のパケット分解部74は、ネットワーク・プラットフォーム50から実行結果メッセージを含むパケットを受信し、例えばメインメモリ等の記憶装置に格納する(ステップS71)。処理は端子Bを介して図16に移行する。そして、パケット分解部74は、実行結果メッセージ部分を抽出してメッセージ分解機能モジュール75に出力する(ステップS73)。メッセージ分解機能モジュール75は、実行結果メッセージから実行結果を含む動作データ又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力し、メッセージディスパチャ76は、動作データを動作データの要求元であるサービスプログラム#1に出力する。
【0050】
サービスプログラム#1は、動作データに含まれる実行結果を解析し、図13のようなサービスプログラムであれば状況判定を行う(ステップS75)。図15(2)の例では、状況#Yであることが分かるので、機能モジュール#bを起動させることになる。例えば、SIPを用いてVoIP(Voice Over IP)にて発呼する。従って、サービスプログラム#1は、解析結果に従って、機能モジュール#bの起動要求メッセージを生成し(ステップS77)、メインメモリ等の記憶装置に格納する。起動要求メッセージには、クライアントID”#531”と端末ID”#936”とサービスID”#0703”と機能モジュール#bの起動要求と発呼先SIP−URL等のパラメータとが含まれる。そして、クライアント端末7のパケット組立部73は、生成された起動要求メッセージと宛先ネットワーク・アドレスを含むパケットを生成し、ネットワーク・プラットフォーム50に送信する(ステップS79)。例えば、図15の(3)に示すようなパケットが生成され、送信される。
【0051】
一方ネットワーク・プラットフォーム50のパケット分解部521は、クライアント端末7から機能モジュール#bの起動要求メッセージを含むパケットを受信し、記憶装置に格納する(ステップS81)。そして、パケットから機能モジュール#bの起動要求メッセージを抽出する(ステップS83)。また、上でも述べたように、メッセージ分解機能モジュール522は、起動要求メッセージに含まれるクライアントID、端末ID、サービスIDを抽出し、認証・認可機能モジュール501及び課金機能モジュール502に出力する。認証・認可機能モジュール501は、クライアントID及び端末IDについて確認を行い、課金機能モジュール502は、課金処理を実施する(ステップS85)。さらに、認証・認可機能モジュール501は、サービスID及びクライアントIDを用いて当該機能モジュール#bの起動要求を認可できるか確認する(ステップS87)。もし、ステップS85又はS87で問題が検出されれば、クライアント端末7に対して要求処理を実施できない旨のメッセージを返信する。一方、ステップS85及びS87で問題が検出されない場合には、メッセージ分解機能モジュール522から動作データ(ここでは機能モジュール#bの起動要求及びパラメータ)又は動作データ及びサービスIDがメッセージディスパッチャ523に出力され、メッセージディスパッチャ523は、動作データを解析し、当該動作データを機能モジュール#bにディスパッチする(ステップS89)。なお、起動であれば、必要なパラメータを渡して起動させる。上でも述べたようにこの段階においても機能起動の可否を判断するようにしても良い。
【0052】
機能モジュール#bは、動作データに基づき処理を行い(ステップS91)、実行結果(ここでは”機能#b実行結果”)を含む動作データを生成し、当該動作データ又は動作データ及びサービスIDを、メッセージ組み立て機能モジュール524に出力する。処理は端子Cを介して図17の処理に移行する。
【0053】
そして、メッセージ組み立て機能モジュール524は、クライアントID”#531”、端末ID”#936”及びサービスID”#0703”を付加してメッセージを生成し(ステップS93)、パケット組立部525は、実行結果を含むメッセージにパケットヘッダを付加してパケットを生成し、クライアント端末7に送信する(ステップS95)。本ステップで送信されるパケットは、例えば図15(4)のようなパケットである。
【0054】
クライアント端末7のパケット分解部74は、ネットワーク・プラットフォーム50から実行結果メッセージを含むパケットを受信し、例えばメインメモリ等の記憶装置に格納する(ステップS97)。そして、パケット分解部74は、実行結果メッセージ部分を抽出してメッセージ分解機能モジュール75に出力する(ステップS99)。メッセージ分解機能モジュール75は、実行結果メッセージから実行結果を含む動作データ又は動作データ及びサービスIDを抽出し、メッセージディスパッチャ76に出力し、メッセージディスパッチャ76は、動作データを動作データの要求元であるサービスプログラム#1に出力する。
【0055】
サービスプログラム#1は、動作データに含まれる実行結果を解析し(ステップS101)、解析結果に従って必要な処理を実施する(ステップS103)。
【0056】
このようにサービスIDが付加されたメッセージがやりとりされて、サービスプログラムに従って処理が行われていく。
【0057】
また、上で述べたようなネットワークサービス提供のための各種APIが用意されており、クライアント端末のユーザ又はソフトウエア開発者は、必要に応じて機能モジュールを組み合わせて使用するようなサービスプログラムを作成することができる。また、サービスプログラムは、クライアント端末だけではなくネットワーク・プラットフォーム50側などネットワーク上に保存しておくことができ、必要に応じてダウンロードして、ユーザは自らの端末を使用しているがごとく他の端末を用いて所定のサービスを利用することも可能である。さらに、特定のサービスを利用する場合にはサービスプログラムだけを用意すればよいので、特定のサービス全体をシステム化するより開発工数及び期間を減らすことができる。また、サービスプログラム自身の更新は容易であり、ネットワーク・プラットフォーム50側の機能モジュールが更新されれば全てのクライアントが改良された機能を利用可能となる。さらに、必要に応じてクライアント端末には機能モジュールをダウンロードできるため、元々機能をあまり有さない端末であっても多様な、また高度なサービスを利用することができるようになる。
【0058】
また、本実施の形態ではサービスIDを含むメッセージ(ネットワーク上ではパケット)を交換するようになっているが、これによりクライアント端末では、複数のサービスプログラムを同時に実行させることができるようになる。すなわち、どのサービスプログラムについてのメッセージなのか、どのサービスプログラムについての処理なのかを識別することができる。
【0059】
さらに、ネットワーク・プラットフォーム50側でサービスプログラム又はサービスプログラムによって規定されている状態を管理していれば、サービスIDを見ればいずれの機能モジュールに動作データを振り分けるべきかを判断することができるようになる。さらに、サービスIDを用いたサービス認可を行うことも可能となる。さらに、サービスプログラム登録時にネットワーク・プラットフォーム50側で機能の使用可否を判断し、許可された場合にサービスIDを割り当てれば、以降はサービスIDで機能の使用許可を判断することが可能になる。すなわち、メッセージ毎に機能の使用許可を判断する必要は無くなり、ネットワーク・プラットフォーム50側ではサービスIDとクライアントIDの対応テーブルだけをチェックしてサービス許可を行えるので、処理の簡単化が図れる。
【0060】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、SMIを介したサービスプログラムの作成処理について説明したが、別途ネットワーク・プラットフォーム50において提供される機能モジュールの詳細などを入手することができれば、別途入手した情報に基づきサービスプログラムを作成するようにしても良い。また、サービスプログラムの登録についてもネットワークを介さずに、別途確認及び登録するような手順を採用する場合もある。
【0061】
また、ネットワーク・プラットフォーム50は、1台のコンピュータにより実現せずに複数台のコンピュータにより機能分担したり、一部の機能については並列又は分散処理を実施する場合もある。
【0062】
また、サービス認可についてはメッセージに他のデータ(例えば、サービスプログラムの改ざんがなされていないことを照明するデータ(ハッシュ値又は電子証明書など))を付加して確認する場合もある。
【0063】
さらに、ネットワーク・プラットフォーム50における機能モジュール毎に、利用可能なクライアントを規定しておき、クライアントIDと動作データに含まれる利用機能モジュールIDとを用いて、機能モジュール毎に利用の可否を判断するようにしてもよい。また、図6に示したようなクライアントIDと機能モジュールIDとの対応テーブルのみを用いて機能モジュールの利用可否を判断しても良い。
【0064】
なお、ネットワーク・プラットフォーム50を実現する1又は複数のコンピュータ及びクライアント端末は、コンピュータ装置であって、図18に示すように、メモリ2501(記憶装置)とCPU2503(処理装置)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0065】
(付記1)
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認ステップと、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【0066】
(付記2)
前記ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を前記クライアントの識別情報と対応付けて前記データ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
をさらに含む付記1記載のサービス処理方法。
【0067】
(付記3)
前記判断ステップにおいて、
前記クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部を前記サービスプログラム登録要求に含まれる前記クライアントの識別情報を用いて検索し、前記サービスプログラムに定義されている全機能が抽出されるか判断する
ことを特徴とする付記2記載のサービス処理方法。
【0068】
(付記4)
前記メッセージが、前記ネットワーク・プラットフォーム側における前記特定の機能において必要とされるパラメータを含むことを特徴とする付記1記載のサービス処理方法。
【0069】
(付記5)
前記メッセージに含まれる、前記サービスプログラムの識別情報と、保持している、当該サービスプログラムからのサービス要求の処理状態とを用いて、前記ネットワーク・プラットフォーム側における特定の機能を特定するステップ
をさらに含む付記4記載のサービス処理方法。
【0070】
(付記6)
前記メッセージが、前記ネットワーク・プラットフォーム側における特定の機能の指定及び当該特定の機能において必要とされるパラメータを含むことを特徴とする付記1記載のサービス処理方法。
【0071】
(付記7)
前記メッセージにおいて指定された、前記ネットワーク・プラットフォーム側における特定の機能について利用可否を判断するステップ
をさらに含む付記6記載のサービス処理方法。
【0072】
(付記8)
前記ネットワーク・プラットフォーム側で提供される機能が複数あり、当該複数の機能のそれぞれは、ネットワークを介して接続されている複数のコンピュータのいずれかにおいて実現されており、
前記メッセージが、前記ネットワーク・プラットフォーム側において前記特定の機能を実現しているコンピュータのネットワーク・アドレスを含むことを特徴とする付記1記載のサービス処理方法。
【0073】
(付記9)
前記ネットワーク・プラットフォーム側で提供される機能が複数あり、当該複数の機能のそれぞれは、ネットワークを介して接続されている複数のコンピュータのいずれかにおいて実現されており、
前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能を実現しているコンピュータを特定し、当該特定されたコンピュータに前記特定の機能による処理を依頼するステップ
をさらに含むことを特徴とする付記1記載のサービス処理方法。
【0074】
(付記10)
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【0075】
(付記11)
前記サービスプログラムの識別情報が、前記ネットワーク・プラットフォーム側において発行されるか、または前記クライアントの側において発行されるものであることを特徴とする付記10記載のサービス処理方法。
【0076】
(付記12)
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムの識別情報に対応して利用可能とされた機能の識別情報を第2データ格納部に格納するステップ
をさらに含む付記10記載のサービス処理方法。
【0077】
(付記13)
付記1乃至12記載のサービス処理方法をコンピュータに実行させるためのプログラム。
【0078】
(付記14)
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信する手段と、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認手段と、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信する手段と、
を有するサービス処理装置。
【0079】
(付記15)
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信する手段と、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断手段と、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納する手段と、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信する手段と、
を有するサービス処理装置。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施の形態におけるシステム概要図である。
【図2】(a)はSMIを介してやりとりされるパケットの一例を示す図であり、(b)はSCIを介してやりとりされるパケットの一例を示す図である。
【図3】サービスプログラム登録処理の処理フローを示す図である。
【図4】サービスプログラム作成時にクライアント端末に表示される画面の一例を示す図である。
【図5】サービスプログラム登録処理の処理フローの第2の部分を示す図である。
【図6】クライアントデータ格納部に格納されるデータの一例を示す図である。
【図7】クライアントデータ格納部に格納されるデータの一例を示す図である。
【図8】(a)及び(b)は、サービスプログラムの一例を示す図である。
【図9】クライアント端末からネットワーク・プラットフォームに送られるデータの処理概要を示す図である。
【図10】(1)乃至(6)は各段階におけるデータの一例を示す図である。
【図11】ネットワーク・プラットフォームからクライアント端末に送られるデータの処理概要を示す図である。
【図12】図9の他の例を示す図である。
【図13】サービスプログラムの一例を示す図である。
【図14】SCIを介してサービスを利用する際の処理フローを示す図である。
【図15】(1)乃至(4)はSCIを介してサービスを利用する際に送信されるデータの一例を示す図である。
【図16】SCIを介してサービスを利用する際の処理フローを示す図である。
【図17】SCIを介してサービスを利用する際の処理フローを示す図である。
【図18】コンピュータの機能ブロック図である。
【符号の説明】
【0081】
1 オープンネットワーク 3 ゲートウェイ 5 サービス提供ネットワーク
7,9 クライアント端末 50 ネットワーク・プラットフォーム
71,91 管理プログラム
501 認証・認可機能モジュール 502 課金機能モジュール
503 クライアント管理機能モジュール 504 セッション制御機能モジュール
505 コンテキスト管理機能モジュール 506 メディア変換機能モジュール
【特許請求の範囲】
【請求項1】
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認ステップと、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【請求項2】
前記ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を前記クライアントの識別情報と対応付けて前記データ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
をさらに含む請求項1記載のサービス処理方法。
【請求項3】
前記判断ステップにおいて、
前記クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部を前記サービスプログラム登録要求に含まれる前記クライアントの識別情報を用いて検索し、前記サービスプログラムに定義されている全機能が抽出されるか判断する
ことを特徴とする請求項2記載のサービス処理方法。
【請求項4】
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【請求項5】
請求項1乃至4記載のサービス処理方法をコンピュータに実行させるためのプログラム。
【請求項1】
ネットワーク・プラットフォーム側で提供される機能のうちクライアント側に利用許可された機能の組み合わせに関し前記クライアント側で定義され且つ前記ネットワーク・プラットフォーム側に識別情報が登録されているサービスプログラムを実行しているクライアント端末から、前記サービスプログラムの識別情報とクライアントの識別情報と特定の機能の要求動作の指定とを含むメッセージを受信するステップと、
クライアントの識別情報とサービスプログラムの識別情報とが対応付けられて格納されているデータ格納部を参照して、受信された前記メッセージに含まれる前記サービスプログラムの識別情報及び前記クライアントの識別情報の対応付けが登録されているか確認する確認ステップと、
前記確認ステップにおいて確認が取れた場合に、前記メッセージにおいて要求された、前記ネットワーク・プラットフォーム側における前記特定の機能による処理を実施し、処理結果及び前記サービスプログラムの識別情報を含む応答を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【請求項2】
前記ネットワーク・プラットフォーム側に未登録のサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を前記クライアントの識別情報と対応付けて前記データ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
をさらに含む請求項1記載のサービス処理方法。
【請求項3】
前記判断ステップにおいて、
前記クライアントの識別情報に対応して利用可能な機能の識別情報が格納されているクライアントデータ格納部を前記サービスプログラム登録要求に含まれる前記クライアントの識別情報を用いて検索し、前記サービスプログラムに定義されている全機能が抽出されるか判断する
ことを特徴とする請求項2記載のサービス処理方法。
【請求項4】
ネットワーク・プラットフォーム側で提供される機能のうちクライアントによって利用される機能の組み合わせが定義されているサービスプログラムとクライアントの識別情報とを含むサービスプログラム登録要求をクライアント端末から受信するステップと、
受信した前記サービスプログラムを解析し、前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能か判断する判断ステップと、
前記サービスプログラム内に定義されている全機能を前記クライアントが利用可能と判断された場合には、前記サービスプログラムに対して発行された識別情報を、前記クライアントの識別情報と対応付けてデータ格納部に格納するステップと、
前記サービスプログラムの識別情報を含む登録完了通知を前記クライアント端末に送信するステップと、
を含み、コンピュータにより実行されるサービス処理方法。
【請求項5】
請求項1乃至4記載のサービス処理方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2006−164135(P2006−164135A)
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願番号】特願2004−358042(P2004−358042)
【出願日】平成16年12月10日(2004.12.10)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成18年6月22日(2006.6.22)
【国際特許分類】
【出願日】平成16年12月10日(2004.12.10)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]