通信サービスのためのサードパーティアクセスゲートウェイ
【課題】安全且つ管理されたアクセスを可能にしたり、複数の種々のタイプのサービス要求者に対して独立した許可基準を効率的且つ柔軟にサポートするアーキテクチャを提供することを目的とする。
【解決手段】通信アーキテクチャは、安全なアクセスゲートウェイを介して通信サービスをサードパーティに公表する。サードパーティは、その固有の製品及びサービスをサポートするためにサービスを利用する他の通信サービスプロバイダとすることができる。アクセスゲートウェイは、公表サービスのための安全で標準化され且つ制御されたアクセスプラットフォームを提供し、このようなアクセスに伴う技術的な問題に対処する。公表サービスへの効率的で安全なアクセスのための技術的な解決策を提供することに加え、アーキテクチャはまた、既存の通信サービスプロバイダのための追加の収益チャンネルを提供する。
【解決手段】通信アーキテクチャは、安全なアクセスゲートウェイを介して通信サービスをサードパーティに公表する。サードパーティは、その固有の製品及びサービスをサポートするためにサービスを利用する他の通信サービスプロバイダとすることができる。アクセスゲートウェイは、公表サービスのための安全で標準化され且つ制御されたアクセスプラットフォームを提供し、このようなアクセスに伴う技術的な問題に対処する。公表サービスへの効率的で安全なアクセスのための技術的な解決策を提供することに加え、アーキテクチャはまた、既存の通信サービスプロバイダのための追加の収益チャンネルを提供する。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2006年9月20日申請のEPO特許出願第05425656.5号、及び2006年9月20日申請のイタリア特許出願第MI2005A001741号の恩恵を主張し、この両方は、その全体が引用により本明細書に組み込まれる。
(技術分野)
本発明は、通信処理システムアーキテクチャに関する。特に、本発明は、通信サービスプロバイダ機能への安全で管理されたサードパーティアクセスの提供に関する。
【背景技術】
【0002】
データ処理及び通信技術における急速な進歩は、消費者が利用可能な膨大な通信サービスをもたらしている。このような通信サービスは、従来の電話サービス、インターネットサービス、ケーブルテレビサービス、携帯電話サービス、ページングサービス、音声及びデータを組み合わせた配信サービス、及び多くの他のサービスを含む。更に、多くのサービスは、無線又はワイヤラインベースのいずれかとすることができる。
【0003】
従来の通信サービスプロバイダは、通信製品及びサービスの広域スペクトルを実装し確実に提供するために莫大な量の時間、資金、及び先進技術を注ぎ込んできた。これまで、この投資は、通信サービスプロバイダに対してのみ重要な利益であった。すなわち、通信サービスプロバイダは、内々且つプロバイダ自らの使用に対するプロバイダ固有技術を内部で保持していた。
【0004】
高度な通信アーキテクチャのこの背景に、各通信サービスプロバイダ内に新しい収益チャンネルにつながる新しいビジネス機会を探求し開発する要求がある。サービスプロバイダアーキテクチャにおける既存の技術は、このような新しい収益チャンネルを促進させることができる。しかしながらこれまでは、サードパーティがサービスプロバイダアーキテクチャの基本的な機能にアクセスできる、十分に安全で、フレキシブルで、効率的なメカニズムが存在しなかった。
【0005】
【特許文献1】EPO特許出願第05425656.5号公報
【特許文献2】イタリア特許出願第MI2005A001741号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
拡張された通信サービスプロバイダアーキテクチャに対する必要性が長期にわたり存在している。
【0007】
サードパーティアクセスに対して拡張された通信サービスプロバイダアーキテクチャを設定することにより重大な技術的課題が生じる。例えば、内部機能への安全且つ管理されたアクセスを可能にするアーキテクチャを提供する際の技術的な課題がある。別の技術的課題は、複数の種々のタイプのサービス要求者に対して独立した許可基準を効率的且つ柔軟にサポートするデータベースデータモデルアーキテクチャを提供することにある。サービス要求者は、サービス要求を送出する個人のエンドユーザから企業のアプリケーションまで多岐にわたる可能性がある。
【課題を解決するための手段】
【0008】
本発明の1つの態様は、通信アーキテクチャのためのアクセスゲートウェイである。ゲートウェイは、通信サービスプロバイダとサービスプロバイダで実装される機能を使用するよう要求を送出するサードパーティとの間のアクセスポイントを提供する。ゲートウェイは、使用可能なサービスを公表し、該公表されたサービスへのサードパーティ要求を認証、許可、及び処理すると共に、無許可のアクセスに対して通信サービスプロバイダを保護する。
【0009】
ゲートウェイは、サードパーティと基本的通信サービス機能との間の幾つかのインターフェースを実装する。加入者通信インターフェースは、例えばサードパーティ通信ネットワークアクセス要求(例えば、ウェブサイトコンテンツに対するHTTP要求)を受け取る。アプリケーションインターフェースは、例えばショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、請求サービス、及び他の公表サービスのような公表サービスへのサードパーティ要求を受け取る。
【0010】
サードパーティゲートウェイは、サービス要求ハンドラを含む。サービス要求ハンドラは、加入者通信インターフェースを介して通信ネットワークアクセス要求を受け取る。サービス要求ハンドラは、通信ネットワークアクセス要求から加入者デバイス識別子(例えば携帯電話などの加入者デバイスに関連したMSISDN)を抽出し、加入者デバイス識別子の記録についてプロファイリングデータベースをサーチする。許可された記録が存在する場合、サービス要求ハンドラは、サービスプロバイダ通信インターフェースを介して通信ネットワークアクセス要求を通信ネットワークサービスプロバイダに転送する。
【0011】
ゲートウェイは、通信ネットワークアクセス要求を公表サービス要求と区別する。このために、ゲートウェイは、公表サービス要求をアプリケーションインターフェースを介してサードパーティから受け取る機能ハンドラを提供する。機能ハンドラは次に、安全な証明書識別子を公表サービス要求から抽出し、プロファイリングデータベースをサーチして、証明書識別子に関連したサードパーティアプリケーションを許可することができる。
【0012】
公表サービスを使用するためサードパーティアプリケーションを許可した後、機能ハンドラは、通信サービスプロバイダによって予想される入力メッセージを形成するよう公表サービス要求をマップする。例えば、機能ハンドラは、サービスブローカー通信インターフェースを介した通信アーキテクチャにおけるサービスブローカーへの配信のために公表サービス要求をラップ(wrap)することができる。機能ハンドラは、SMS要求、MMS要求、セッション開始プロトコル(SIP)要求、請求要求、又は公表サービスのための他のいずれかの要求のためのラッパー(wrapper)を提供することができる。
【0013】
本発明の別の態様は、複数のタイプのサービス要求者の特に効率的な設定及び許可をサポートするプロファイリングデータベース及びデータモデルである。データモデルは、複数のタイプのサービス要求者が関係するルートノード(例えば企業テーブル)を提供する。ルートノードからデータモデルは、ネットワーク通信要求者及び公表サービスの要求者などの種々のタイプのサービスの要求者に対して独立したブランチ(branch)を設定する。
【0014】
従って、1つの企業は、ネットワーク通信サービス(例えば、インターネット閲覧サービス)を要求し、並びに公表されたSMSサービスに対する要求を提示する企業アプリケーション(例えば、SMSフロントエンド)を設定する携帯電話を従業員らに提供することができる。許可データの種々のタイプを、各ブランチに沿って設定し、サービス要求者のタイプに応じて許可を選択的に調整することができる。更に、データモデルは、状態識別子を各ブランチ内の複数のレベルで設定する。これに応じて、アクセスゲートウェイは、サービス要求者の各タイプに対してだけではなく、各タイプ内の個々のサービス要求者に対しても許可基準を柔軟に設定し適用することができる。
【0015】
本発明の他のシステム、方法、特徴、及び利点は、以下の各図及び詳細な説明を検討すると当業者には明らかであり、或いは明らかになるであろう。全てのこのような追加のシステム、方法、特徴、及び利点は、本明細書に含まれ、本発明の範囲内にあり、更に添付の請求項によって保護されるものとする。
【発明を実施するための最良の形態】
【0016】
本発明は、以下の図面及び説明を参照するとより理解することができる。図中の構成要素は、必ずしも縮尺通りではなく、本発明の原理を例証することに重点が置かれている。更に図では、同じ参照符号は種々の図面全体を通して対応する部分又は要素を示している。
【0017】
図示された要素は、以下に更に詳細に説明するように相互に利用される。しかしながら、詳細な説明を示す前に、説明される特定の実装に関係なく以下の説明の全ては限定ではなく本質的に例示的なものである点に留意されたい。例えば、選択された実装の態様、特徴、又は構成要素はメモリ内に記憶されるものとして示されているが、サードパーティゲートウェイ及びその基本となる構成要素に適合するシステム及び方法の全て又は一部は、他の機械可読媒体、例えばハードディスク、フロッピー(登録商標)ディスク、及びCD−ROMなどの二次記憶装置、ネットワークから受け取られる信号、或いは現在公知であるか又は今後開発されるROM又はRAMの他の形式に記憶させ、分散させ、もしくは読み取ることができる。
【0018】
更に、サードパーティアクセスゲートウェイアーキテクチャの特定の構成要素を説明するが、サードパーティアクセスゲートウェイアーキテクチャに適合する製造の方法、システム、及び製品は、追加又は異なる構成要素を含むことができる。例えば、プロセッサは、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、個別論理、或いは他のタイプの回路又は論理の組合せとして実装することができる。同様に、メモリは、DRAM、SRAM、フラッシュ、又はメモリの他のいずれかのタイプとすることができる。フラグ、データ、データベース、テーブル、及び他のデータ構造は、別々に記憶及び管理することができ、単一のメモリ又はデータベースに統合し、分散し、或いは多くの種々の方法で論理的且つ物理的に編成することができる。プログラムは、単一のプログラムの一部、別個のプログラム、或いは幾つかのメモリ及びプロセッサにわたって分散させることができる。システムは、1つの処理システムにおけるハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実装するか、或いは複数の処理システムに分散させることができる。
【0019】
図1は、サードパーティ102と対話する通信アーキテクチャ100の一部を示す。サードパーティ102は、形式及び実装において大きく異なる場合がある。例えば、サードパーティ102は、携帯電話、携帯情報端末、ネットワーク(例えばインターネット)通信デバイスなどの加入者デバイス104;ショートメッセージサービス(SMS)メッセージングアプリケーション、セッション開始プロトコル(SIP)システム、及び製品とサービスに対して顧客に請求する課金アプリケーションなどの他のサービスプロバイダによって実装される通信サービスアプリケーションのようなアプリケーション106;及び他のデバイス、プログラム、又はエンティティ108を含むことができる。
【0020】
通信アーキテクチャ100は、通信製品及びサービスをサポートする機能を実装する。更に、以下に詳細に説明されるように、通信アーキテクチャ100は、選択された機能をサードパーティ102に公表する。換言すると、サードパーティ102は、アーキテクチャ100に既に配備されている機能を使用するために通信アーキテクチャ100と通信することができる。すなわち、サードパーティ102は、通信アーキテクチャ100によって既に提供されている機能をローカルに複製するために必要な資源を消費する必要がない。
【0021】
製品及びサービス、並びにこれらの公表された基本機能は、実装毎に異なる可能性がある。例えば、通信アーキテクチャ100は、SMSメッセージングサービス(SMSメッセージを配信し請求する)、マルチメディアメッセージングシステム(MMS)メッセージングサービス(MMSメッセージを配信し請求する)、及びSIPサービス(SIP呼出しをセットアップし呼出しに対し請求する)を公表することができる。別の例えば、通信アーキテクチャ100は、Charge(請求)サービス(アカウントに対して料金を請求するよう要求する)、インターネットプロトコルテレビ(IPTV)サービス(テレビ番組の配信を要求する)、ユーザ状態サービス(「オンライン」、「オフライン」、「ビジー」、又は「アウェイ」などの現在のユーザ状態を要求する)、及びユーザ認証サービス(例えば、モバイルユーザが存在するかどうか、及びモバイルユーザがIPTVサービスなどの要求サービスを購入する信用証明情報を有するかどうかの検証を要求する)を公表することができる。他の機能は、付加的に或いは代替的に提供することができる。更に、通信アーキテクチャ100は、サードパーティアクセスゲートウェイ110を介した通信ネットワークサービス(例えば、インターネット閲覧サービス)へアクセスを提供することができる。
【0022】
通信アーキテクチャ100は、公表サービスへのアクセスを保証する。そのために、アーキテクチャ100は、サードパーティアクセスゲートウェイ110を供給する。サードパーティアクセスゲートウェイ110は、公表サービスへのサードパーティ102のための単一問合わせ窓口としての役割を果たす。
【0023】
図1に示されるように、サードパーティアクセスゲートウェイ110は、サードパーティ102からサービス要求112を受け取る。これに応じて、サードパーティアクセスゲートウェイ110は、サービス要求が認証され許可されたサードパーティから発信されていることを検証する。ネットワーク通信サービス要求(一例として)の場合、サードパーティアクセスゲートウェイ110は、許可されたサービス要求を処理し、そのサービス要求をサービスプロバイダ114に中継する。SMS、MMS、及びSIPサービス要求などの公表サービス要求の場合、サードパーティアクセスゲートウェイ100は、許可されたサービス要求を処理しサービスブローカー116に中継することができる。
【0024】
サービスブローカー116は、サービス要求を実行する。これを行う場合、サービスブローカー116は、アーキテクチャ100が実装して通信製品及びサービスを生成、導入、管理、及び維持を行うビジネスサポートシステム(BSS)及びオペレーションサポートシステム(OSS)118と通信することができる。サービス要求を実行する際に、サービスブローカー116は、サービスに関連するデータをサービスブローカー116に配信又は返信することができるネットワーク層120と付加的に又は代替として通信することができる。サービスプロバイダ114及びサービスブローカー116からの応答は、発信側のサードパーティ要求者に配信するためにサードパーティアクセスゲートウェイ110に返される。
【0025】
その結果、サードパーティアクセスゲートウェイ110は、サードパーティ102と、通信アーキテクチャ100で実装される公表機能との間のセキュリティ層を提供する。サードパーティアクセスゲートウェイ110により、サードパーティは、別の通信アーキテクチャで既に実装された機能を用いて広範囲な製品及びサービスを開発、導入、配信、及び管理を行うことができる。同時に、サードパーティアクセスゲートウェイ110によって、通信アーキテクチャ10がサードパーティ102に対して安全で標準化され制御された方法に向けてコア機能を公表することができる。
【0026】
図2は、サードパーティアクセスゲートウェイ110の詳細図を示す。サードパーティアクセスゲートウェイ110は、加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106と通信する。サードパーティゲートウェイ110はまた、サービスブローカー116と通信する。図2は、サービスブローカー116が幾つかの公表サービス、すなわちSMSサービス202、MMSサービス204、Chargeサービス206、SIPサービス208、及びユーザ認証サービス210に対するサービス要求の受け付けを示している。
【0027】
任意選択的であるが、加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106は、仲介手段を介してサードパーティアクセスゲートウェイ110と通信することができる。一例として仲介手段は、ウェブサーバー212及びウェブサーバー213などのウェブサーバーを含むことができる。仲介手段は、サードパーティアクセスゲートウェイ110と加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106との間の暗号化された或いは他の安全な通信リンクを実装することができる。例えば、仲介手段(又はサードパーティゲートウェイ110自体)は、認証を提供し、秘密鍵と公開鍵の公開鍵暗号ペアの公開鍵構成要素を送るSSL証明書及び証明書識別子を伴うセキュアソケットプロトコル(HTTPSプロトコルなど)を実装することができる。次いで、ウェブサーバー212及び213とゲートウェイ110は、プロファイリングデータベース228内に記憶されたクライアント証明書及び許可情報を使用してサードパーティ102を許可することができる。
【0028】
サードパーティアクセスゲートウェイ110は、幾つかのインターフェースを介して通信する。インターフェースは、加入者通信インターフェース216及び/又はサービスブローカー通信インターフェース218を含む。インターフェースはまた、サービスプロバイダ通信インターフェース220及びアプリケーションインターフェース222を含む。
【0029】
インターフェース216−222は、多くの方法で実装することができる。一例として、インターフェース216−222は、サポートしている物理レイヤ(例えば、1つ又はそれ以上のネットワークインターフェースカード)を備えた、IPアドレス、ポート番号、及び通信プロトコルによって定義されるネットワークソケットとすることができる。インターフェース216−222は、プロセス間通信、メッセージング、又は信号方式を使用する物理レイヤを介して、HTTP、シンプルオブジェクトアクセスプロトコル(SOAP)、ジャバデータベースコネクティビティ(JDBC)、又は他の通信プロトコルを使用して通信することができる。メッセージは、拡張可能マーク付け言語(XML)メッセージなどのいずれかの要求形式のネットワークパケット(例えば、TCP/IPパケット)で符号化することができる。更に、ファイアウォールは、未知のホストからの要求をブロックするように設定することができる。
【0030】
サードパーティアクセスゲートウェイ110は、サービス要求を扱う2つのメッセージハンドラを含む。サービス要求ハンドラ224は、インターネット閲覧要求、ウェブサーバー情報要求、又は他のネットワークアクセス要求などの通信ネットワークアクセス要求を受け取り処理する。機能ハンドラ226は、SMSサービス要求又はChargeサービス要求などの公表サービス使用要求を受け取り処理する。
【0031】
通信ネットワークアクセス要求の処理を要約すると、サービス要求ハンドラ224は、要求を受け取り、加入者デバイス識別子(例えば、MSISDN識別子)を抽出し、更にいずれかの所与の加入者デバイスに対応することができる検証情報(例えば、マッチングアクティブMSISDN記録)についてプロファイリングデータベース228をサーチする。検証情報が特定されると、サービス要求ハンドラ224は、サービスプロバイダ通信インターフェース216を介してその要求をサービスプロバイダ114にマップする。サービスプロバイダ114は、要求されたデータに応答する。その結果、サービス要求ハンドラ224は、加入者通信インターフェース216を介してデータを要求者に返す。
【0032】
公表サービス要求の処理を要約すると、機能ハンドラ226は、証明機関によって発行されたデジタル証明書を任意選択的に含む要求を受け取る。機能ハンドラ226は、デジタル証明書に基づいて要求者を認証する。機能ハンドラ226はまた、証明書識別子(例えば、公開鍵又はサブジェクト一意の識別子)を抽出することができ、証明書識別子にマッチする要求者アプリケーションについてプロファイリングデータベース228をサーチする。機能ハンドラ226はまた、マッチング要求者アプリケーションが1つ又はそれ以上のサービスにおいてアクティブ状態(又はアプリケーションがサービスを要求するよう許可されていることを示す他の状態)を有するかどうかを判定することができる。
【0033】
許可された要求者アプリケーションが要求されたサービスについて認証され許可されると、機能ハンドラ226は、ダウンストリーム処理の要求をラップし、ラップされた要求をサービスブローカー116に転送する。サービスブローカー116は、肯定応答を機能ハンドラ226に供給し、許可された要求者アプリケーションの公表サービスに対する要求の実行を開始する。従って、一例として、許可された要求者アプリケーションは、SMSメッセージ又はMMSメッセージを送信し、これに対して請求を行い、SIP接続をセットアップし、顧客アカウントに対してChargeを提示し、或いはアーキテクチャ100において公表された他のいずれかのサービスを利用することができる。
【0034】
サービス要求ハンドラ224及び機能ハンドラ226は、サービス使用要求を許可する。このために、サービス要求ハンドラ224及び機能ハンドラ226は、プロファイリングデータベース228を参照する。以下に更に詳細に説明されるように、プロファイリングデータベース228は、サービス要求者についての許可情報を保持する。アクセス管理モジュール230は、プロファイリングデータベース228及びサービス要求ハンドラ224を機能ハンドラ226(又はサードパーティアクセスゲートウェイ110の他のいずれかのプログラム又はエンティティ)に接続することができる。一例として、アクセス管理モジュール230は、データベースサーチエンジンを含むデータベースサーバー232を実装することができる。このために、アクセス管理モジュール230及びプロファイリングデータベース228は、Oracle(商標)、Microsoft(商標)SQL、又は他のサードパーティデータベースサーバープラットフォーム上に構築することができる。
【0035】
サードパーティアクセスゲートウェイ110は更に、レポーティングモジュール234を含む。レポーティングモジュール234は、サービス要求ハンドラ224及び機能ハンドラ226からサービス要求処理記録を取得する。レポーティングモジュール234は、サービスログファイル236(例えば、サービス要求ハンドラ224及び/又は機能ハンドラ226を実行するシステムとのFTP接続を介して)を取得し、以下に更に詳細に説明するように該ログファイル236を処理してプロファイリングデータベース228のログテーブルを更新する。
【0036】
図3は、サービス要求ハンドラ224の追加の詳細を示している。サービス要求ハンドラ224は、プロセッサ302及びメモリ304を含む汎用処理アーキテクチャにおいて実装することができる。メモリ304は、以下に説明するようにサービス要求ハンドラ機能を提供するプログラム及びデータを記憶する。
【0037】
プロセッサ302は、サービス要求ハンドラ機能専用とすることができる。例えば、サービス要求ハンドラ224は、サードパーティゲートウェイ110の全体のアーキテクチャ内の独立した処理システムとすることができる。他の実装ではプロセッサは、追加のプログラム全体で共用し、従ってサードパーティゲートウェイ110での追加の機能を実行することができる。例えば、プロセッサ302はまた、機能ハンドラ226の機能の実行及び/又はインターフェース216−222を介したメッセージの送受信の開始を行うことができる。
【0038】
メモリ304は、ネットワークアクセス要求処理プログラム306を含む。処理プログラム306は、例えば加入者通信インターフェース216を介して受信された通信ネットワークアクセス要求308を処理する。図3は、通信ネットワークアクセス要求308が統一資源位置指定子(URL)312及びMSISDN314を含むハイパーテキスト転送プロトコル(HTTP)要求310である実施例を示している。
【0039】
処理プログラム306は、ネットワークアクセス要求308を許可する。1つの実装ではプロセスプログラム306は、要求308からMSISDN314を抽出する。処理プログラム306は、要求をアクセス管理モジュール230に送出し、MSISDNに基づいてプロファイリングデータベース228をサーチする。アクセス管理モジュール230は、処理プログラム306にサーチ結果を戻し、次いで該プログラムは、許可された記録がMSISDNについて存在するかどうかを判断する。
【0040】
許可された加入者デバイスからのネットワークアクセス要求では、サービス要求ハンドラ224は、要求を扱う宛先ウェブサーバーを決定する。このために、ネットワークアクセス要求処理プログラム306は、ウェブサーバーマッピング316を設定し、適用することができる。ウェブサーバーマッピング316は、使用可能なウェブサーバー(例えば、名前、IPアドレス、及び/又はポート番号によって識別された)をMSISDN及び/又はHTTP要求の統一資源位置指定子(URL)もしくは他のデータの一部に関連付けることができる。サービス要求ハンドラ224は、これによってどのサービスプロバイダ114がネットワークアクセス要求308を扱うかを判定する。
【0041】
選択されたサービスプロバイダ114は、要求されたデータによってアクセス要求308に応答する。図3は、サービスプロバイダ114がHTTP応答データ318によってHTTP要求308に応答する実施例を示している。応答データ318は、HTTP要求308に応答するHTML、画像、音声、及び/又は動画データ、或いは他のいずれかのデータを含むことができる。サービス要求ハンドラ224は、HTTP応答データ318を許可された要求者に返す。
【0042】
サービス要求ハンドラ224はまた、ログファイル320を作成することができる。ログファイル320は、各サービス要求に対していずれかの要求されるサービス追跡情報を含むことができる。ログされる情報は、許可された加入者情報、MSISDN、サービス要求日時、URLデータ、転送されるデータの量、応答サービスプロバイダの識別子、エラーコード、トランザクション識別子、及び他の情報を含むことができる。サービス要求ハンドラ224は、プロファイリングデータベース228のログテーブルを構文解析して読み込むためレポーティングモジュール234にログファイル320を提供することができる。
【0043】
図4は、機能ハンドラ226の追加の詳細を示している。機能ハンドラ226は、プロセッサ402及びメモリ404を含む汎用処理アーキテクチャにおいて実装することができる。メモリ404は、以下に説明するように機能ハンドラの機能を提供するプログラム及びデータを記憶する。ウェブサーバー436(例えば、Apache Axisウェブサーバー)は、クライアント証明書に基づいたサードパーティ認証及びSSLを介した安全な通信チャンネルを提供することができる。
【0044】
機能ハンドラ226は、サードパーティゲートウェイ110の全体的なアーキテクチャ内の独立した処理システムとすることができる。他の実装において、プロセッサ402は、追加のプログラム全体で共用し、サードパーティゲートウェイ110において追加の機能を実行することができる。例えば、プロセッサ402はまた、サービス要求ハンドラ224の機能の実行及び/又はインターフェース216−222を介したメッセージの送受信の開始を行うことができる。
【0045】
メモリ404は、公表サービス要求処理プログラム406を含む。処理プログラム406は、例えばアプリケーションインターフェース222を介して受信される公表サービス要求408を処理する。図4に示されるサービス要求408は、サービス要求408と共に含まれるデジタル証明書内に存在することができる証明書識別子410(例えば、公開鍵又はサブジェクト一意の識別子)を含む。処理プログラム406は、最初にデジタル証明書を復号し証明機関による証明書の発行を検証することによって公表サービス要求408を認証することができる。次いで、処理プログラム406は、検証された公開鍵を利用してサービス要求408を(例えば、解読されたメッセージハッシュ値と計算されたメッセージハッシュ値とを比較することによって)認証することができる。或いは、機能ハンドラ226は、認証にウェブサーバー426を利用することができる。
【0046】
1つの実装では処理プログラム406は、要求408から証明書識別子410を抽出する。処理プログラム406は、要求をアクセス管理モジュール230に送出し、証明書識別子410に基づいてプロファイリングデータベース228をサーチする。アクセス管理モジュール230は、サーチ結果を処理プログラム406に返す。その結果、処理プログラム406は、証明書識別子410に対応し、要求されたサービスに対応するアクティブな(或は他の方法で許可された)インストールサービスにリンクされる許可された企業アプリケーションが存在するかどうかを判定する。
【0047】
認証及び許可されたアプリケーションからの公表サービス要求では、機能ハンドラ226は、どの公表サービスが要求されたかを判定する。サービスタイプをサービス要求408で指定し、或いは送信されるサードパーティゲートウェイ110内の特定のエンドポイントに基づいてサービス要求を区別することができる。各サービス要求408は、要求される公表サービスのタイプに応じて形式及びコンテンツが異なる可能性がある。
【0048】
サードパーティゲートウェイ110は、サードパーティ102に対する公表サービスのウェブサービス記述言語(WSDL)記述子を定義し公開することができる。WSDL記述子は、サービスのロケーション(例えば、サードパーティアクセスゲートウェイ110で設定されたエンドポイントのネットワークアドレス)及びサービスが公表する機能を指定することができる。WSDL記述子はまた、各公表サービス、実行することができるオペレーション、及び包含されるメッセージを定義することができる。従って、サードパーティ102は、公開された記述子を受け取り、サービス要求を伝達する場所、サービス要求が準拠すべき形式及びコンテンツ、並びに期待できる応答の形式及びコンテンツを理解する。
【0049】
機能ハンドラ226は、サービスブローカー116と要求アプリケーション106間の仲介手段として機能する公表サービスインターフェース412を提供する。公表サービスインターフェース412は、受け取ったサービス要求メッセージ408をサードパーティゲートウェイ110によって予想される形式(例えば、WSDL記述子で指定された入力メッセージの形式)からこのような要求のサービスブローカー116によって予想される形式に変換することができる。換言すると、ラッパーは、公表サービスのための入力メッセージを形成するためにWSDL定義によって加えられるマッピングである。従って、公表サービスインターフェース412は、サービスブローカー116を公表サービス要求メッセージの大きく異なる可能性のある形式及びコンテンツから分離し、要求アプリケーションを公表サービスに効率的に接続する。
【0050】
このために、公表サービスインターフェース412は、サービスブローカー116のための標準化された(すなわちラップされた)公表サービス要求424を準備するラッパー論理を含むことができる。ラッパー論理は、WSDLを構文解析して受信されたメッセージの形式及びコンテンツをWSDL定義で指定されたメッセージ定義に適合するように変換する処理プログラムを表わすことができる。サービスブローカー116によって予想されるメッセージフォーマットの実施例を以下に説明する。
【0051】
ラッパー論理は、公表サービスのいずれに対しても提供することができる。図4は、SMSラッパー414、MMSラッパー416、及び状態問合せラッパー418を示す。図4はまた、モバイルユーザ認証ラッパー420、ユーザ認証ラッパー422、SIPラッパー432、及びChargeラッパー434を示している。
【0052】
1つの実装では公表サービスインターフェース412は、ジャバ遠隔メソッド呼出し(RMI)を利用することができる。RMIは、ジャバオブジェクトを定義することができるメカニズム、及び遠隔で呼びされるこれらの方法を提供する。このために、サービスブローカー116は、公表サービス要求を扱うオブジェクトを生成するオブジェクトサーバーとして機能することができる。オブジェクトは、機能ハンドラ226がオブジェクトに対する参照を取得して該オブジェクトを遠隔で呼び出すことができるように登録することができる。しかしながら、サードパーティゲートウェイ110は、他のメッセージ通信及び遠隔手続き呼出し技術によりラップされたサービス要求メッセージ及び応答をサービスブローカー116との間で送受信することができる。
【0053】
機能ハンドラ226は、サービスブローカー116から公表サービス要求に対するサービス要求応答426を取得する。機能ハンドラ226は、要求応答426を要求アプリケーションに提供する。更に、機能ハンドラ226は、各公表サービス要求応答のための標準応答フォーマットを提供することができる。このために、図4に示されたラッパーは、WSDL定義で定義された出力メッセージに従ってラップされた公表サービス要求応答428を生成することができる。
【0054】
機能ハンドラ226はまた、ログファイル430を作成することができる。ログファイル430は、許可された加入者情報、証明書識別子、サービス要求日時、実行された要求の数、実行された要求のタイプ、エラーコード、トランザクション識別子、及び他の情報などのいずれかの要求された公表サービス追跡情報を含むことができる。機能ハンドラ226は、プロファイリングデータベース228のログテーブルを構文解析して読み込むためのレポーティングモジュール234にログファイル430を供給することができる。
【0055】
図5は、プロファイリングデータベース228のデータモデルの例示的な実装を示す。プロファイリングデータベース228は、アーキテクチャ100によって提供される1つ又はそれ以上の公表サービスへのアクセスが可能な企業を特徴付ける情報を記憶する企業テーブル502を含む。企業識別子フィールド504は、企業テーブル502の各記録を一意に識別するための一次キーを提供する。企業テーブル502は、以下の表1に詳細に示される。
【0056】
エンドユーザテーブル506は、ネットワーク通信サービス及び公表サービスを使用するMSISDN(一般的に特定の個人に関連する)に関する情報を記憶する。エンドユーザテーブル506は、エンドユーザ、その企業、及びそのMSISDN間の関係を設定する。一次キーエンドユーザ識別子フィールド508は、エンドユーザテーブル506の各記録を一意に識別する。エンドユーザテーブル506は、以下の表2に詳細に示されている。
【0057】
MSISDNテーブル510は、MSISDNフィールド512で識別されたMSISDNを設定するデバイス識別子テーブルを提供する。MSISDNは、携帯電話用のGSM SIMカードなどの加入者デバイスと関連付けることができる。次いで、エンドユーザテーブル506は、エンドユーザをMSISDN識別子フィールドを使用してMSISDNに関連付けることができる。MSISDNテーブル510の当該状態フィールドは、加入者デバイス状態を提供する。一次キーは、MSISDNテーブル510の各記録を一意に識別するMSISDN識別子フィールド514で提供される。MSISDNテーブル510は、以下の表3に詳細に示されている。
【0058】
状態テーブル520は、エンドユーザ、企業、MSISDN、又は他のエンティティに対する可能な状態を設定する。一次キー状態識別子フィールド522は、状態テーブル520の各記録を一意に識別する。状態テーブル520は、以下の表4に詳細に示されている。
【0059】
状態の実施例は、アクティブ、非アクティブ、中断、及びアイドルを含む。従って、サードパーティゲートウェイ110は、その状態を多くの異なるレベルの1つに設定することができる。例えば、状態は、企業、企業アプリケーション、ユーザ、又は特定のMSISDNの状態を反映できる。サービス要求を許可する場合、サードパーティゲートウェイ110は、状態が要求を許可する前のいずれかの要求レベルにあることをチェックすることができる。例えば、サードパーティゲートウェイ110は、MSISDN及びエンドユーザの両方がアクティブのまま維持されることを保証することができる。代替的に或いは追加として、ゲートウェイ110は、関連する企業もまたアクティブのまま維持されることを保証することができる。
【0060】
エンドユーザクロスアプリケーションテーブル516は、エンドユーザとエンドユーザが加入しているビジネスアプリケーションとの間の関係を設定する。エンドユーザ識別子及びアプリケーション識別子フィールドは、エンドユーザを企業アプリケーションにリンクする一次キー/外部キーフィールド518を提供する。エンドユーザクロスアプリケーションテーブル516は、以下の表5に詳細に示されている。
【0061】
企業アプリケーションテーブル524は、公表サービス要求を提示することができる企業内のアプリケーションの特徴を設定する。特徴は、名前、記述、URL、証明書識別子フィールド526に記憶された証明書識別子、及び他の特徴を含むことができる。一例として、企業アプリケーションテーブルは、例えばサードパーティサービスプロバイダで実行するSMSフロント及びアプリケーションの特徴を指定することができる。SMSフロントエンドは、該SMSフロントエンドに関連付けられた企業の顧客に代わってサードパーティゲートウェイ110にSMS要求を提示することができる。
【0062】
一次キーアプリケーション識別子フィールド528は、企業アプリケーションテーブル524で各記録を一意に識別する。更に、状態識別子は、各企業アプリケーション記録の状態情報を提供する。企業アプリケーションテーブル524は、以下の表6に詳細に示されている。
【0063】
インストールされたサービステーブル530は、企業が加入している公表サービスの記録を設定する。従って、インストールされたサービスは、企業アプリケーションがどの公表サービスを要求することができるかを識別する。インストールされたサービス識別子フィールド532は、一次キーとして機能し、インストールされたサービステーブル530の各記録を一意に識別する。インストールされたサービステーブル530は、以下の表7に詳細に示されている。
【0064】
インストールされた属性テーブル534は、特定の企業に関連したサービスの特徴を設定する。インストールされた属性識別子フィールド536は、一次キーとして機能し、インストールされた属性テーブル534の各記録を一意に識別する。以下の表8は、インストールされた属性テーブル534を詳細に示している。
【0065】
サービス属性テーブル538は、サードパーティアクセスゲートウェイ110を介して使用可能な公表サービスの属性についての名前、記述、及びデフォルト値を記憶する。サービス属性の実施例には、
経常的料金:サービスを使用するために毎月支払われるコスト(例えば、センドSMS又はセンドMMSの公表サービスにアクセスするための1カ月のコスト)
スレショルド:毎月送信できるSMS又はMMSメッセージの量
追加の割当額:スレショルドを越えた場合の1つのSMS又はMMSメッセージ当たりのコスト
を含む。
【0066】
デフォルト値は、インストールされた属性テーブルにエクスポートできる。次いで、インストールされた属性テーブルの値は、特定企業アプリケーションに対して適切に修正できる。
【0067】
属性識別子フィールド540は、一次キーとして機能し、サービス属性テーブル538の各記録を一意に識別する。以下の表9は、サービス属性テーブル534を詳細に示している。
【0068】
サービスカタログテーブル542は、サードパーティアクセスゲートウェイ110を介して使用可能な公表サービスに関連する名前、記述、状態、及び他の情報を記憶する。各ビジネスアプリケーション114又はサービスプロバイダ106は、サービスカタログテーブル542で定義された1つ又はそれ以上のサービスに加入することができる。サービスカタログテーブル542は、公表されたSMS、MMS、Charge、又は他のタイプの公表サービスのための名前、記述、識別子、及び状態を提供する記録を設定することができる。サービス識別子フィールド544は、一次キーとして機能し、サービスカタログテーブル542の各記録を一意に識別する。以下の表10は、サービスカタログテーブル542を示している。
【0069】
一例として、プロファイリングデータベース228は、公表されたSMSサービスを定義することができる。このために、サービスカタログは、「Send SMS」に設定されたService_Nameで新しい記録を設定することができる。次いで、サービス属性テーブルは、「100」のAttribute_Default_Value(すなわち、1カ月につき100のSMSメッセージ)で「Threshold」のAttribute_Nameを設定することができる。Attribute_Descriptionは任意選択的に、スレショルドを記述する1つのテキスト文字列に設定することができる。サービス属性テーブルはまた、$1,000のAttribute_Default_Value(すなわち、1カ月当たり$1,000の公表サービスコストまでのアクセス)で経常的料金属性を定義することができる。関連するAttribute_Descriptionは、経常的料金を記述するテキスト文字列を提供することができる。
【0070】
サードパーティの企業は、公表されたSMSメッセージサービスへアクセスするために通信サービスプロバイダと交渉することができる。アクセスの期限及び条件は、交渉によって決まることになり、プロファイリングデータベース228のデータモデルによってサポートされる。プロファイリングデータベース228は、企業の企業記録を設定し、企業にリンクされた企業アプリケーション記録を設定する。次いでインストールされたサービステーブルは、サービスカタログで定義された「Send SMS」サービスを指定する企業アプリケーションのためのインストールされたサービス記録を設定することができる。サービス属性テーブルで提供されるデフォルト値は、インストールされた属性テーブルの企業に対し具体的に設定することができる。例えば、インストールされた属性テーブルは、1カ月につき10,000SMSメッセージのスレショルド、及び1カ月につき$5,000の経常的料金を定義することができる。
【0071】
企業アプリケーションとインストールされたサービスの組合せは、企業アプリケーションのためのクライアントポートフォリオを設定する。企業アプリケーションは、サードパーティゲートウェイ110がクライアントポートフォリオに関して許可するサービス要求を提示する。ポートフォリオデータベース228で設定されたデータモデルは、クライアントポートフォリオの柔軟な定義、修正、及び削除をサポートする。
【0072】
図5は、特にサービス要求の種々のタイプの効率的な設定及び許可をサポートするデータモデルを実装するプロファイリングデータベース228を示している。企業テーブル502は、サービス要求者の複数のタイプを関連する企業に戻って関連付けるルートテーブルとしての働きをする。企業テーブル502から、データモデルは、ネットワーク通信要求者及び公表サービス要求者に対する独立したブランチを設定する。要求者の各タイプは企業に関連付けられている。例えば、1つの企業は、ネットワーク通信サービス(例えば、インターネット閲覧サービス)を要求する両方の従業員を含むことができ、同時に企業は、公表されたSMSサービスに対する要求を提示するアプリケーション(例えば、SMSフロントエンド)を設定することができる。
【0073】
データモデルにより、サードパーティゲートウェイ110は、種々の基準に基づいて要求者の各タイプを許可することができる。従って、基準は、要求者タイプに対して独自に選択し、調整することができる。同時にデータモデルのブランチング構造により、要求者の各タイプは同じデータモデルに共存でき、単一の企業に対する関係を設定でき、更に要求者の各タイプに対して一意の許可制御をサポートすることができる。
【0074】
企業テーブルは、企業テーブル502(表2)の一意の企業識別子を使用してサードパーティゲートウェイ110にアクセスできる1つ又はそれ以上の企業を定義する。エンドユーザブランチ554は、エンドユーザテーブル506の一意のエンドユーザ識別子508と企業識別子フィールドを使用した特定の企業へ戻る関係を提供することによって設定される。同様に、企業アプリケーションブランチ556は、企業識別子フィールドを使用した特定の企業へ戻る関係によって企業アプリケーションを設定する一意のアプリケーション識別子528を提供することによって設定される。従って、エンドユーザ及び要求アプリケーションは、要求者の両方のタイプを含むことができる企業へ戻ってリンクされる。
【0075】
更に、データモデルの各ブランチは、要求者の各タイプに対して種々の許可基準を設定するメカニズムを提供する。エンドユーザブランチでは、例えばMSISDNは、ネットワーク通信アクセス要求(例えば、インターネットを閲覧する移動電話ユーザ又はPDAユーザのための)を許可するデータフィールドを提供する。従って、エンドユーザブランチは、エンドユーザテーブル506(表2)のMSISDN識別子フィールドによってエンドユーザをMSISDNに関連付けるMSISDNテーブル510を設定する。
【0076】
データモデルはまた、エンドユーザのための複数の許可オプションを提供する。このために、データモデルは、状態(例えば、アクティブ、非アクティブ、中断、又はアイドル)を定義する状態テーブル520を設定する。サードパーティゲートウェイ110は、要求を許可すべきかどうかをその状態から判定することができる。エンドユーザテーブル506で定義された各エンドユーザ及びMSISDNテーブル510で定義された各MSISDNは、状態を指定することができる。
【0077】
例えば、サービス要求ハンドラ224は、サービス要求がMSISDNテーブル510で設定されたMSISDNを伴う場合に許可されるエンドユーザのネットワーク通信要求を考慮することによって許可ポリシーを管理することができる。ポリシーに応じて、サービス要求ハンドラ224はまた、MSISDNが許可された状態(例えば、アクティブ)を有することをチェックし保証することができる。更に又は代替的に、ポリシーに応じてサービス要求ハンドラ224は、MSISDNにリンクされたエンドユーザが許可された状態を有することを保証するためにチェックすることができる。データモデルはこれによって、エンドユーザの許可制御を設定するための効率的且つ柔軟なメカニズムを提供する。更に、エンドユーザのための許可制御は、企業アプリケーションの許可制御とは無関係である。
【0078】
データモデルのアプリケーションブランチは、企業アプリケーションに対する異なる許可メカニズムを設定する。特に、アプリケーションブランチは、証明書識別子に基づいて許可を設定する。このために、アプリケーションテーブル524で定義された各企業アプリケーションは、証明書識別子フィールド526を含む。証明書識別子フィールド526は、デジタル証明書の認証を介してデジタル証明書から取得された識別子(例えば、公開鍵又はサブジェクト一意の識別子)に対してチェックすることができる事前割当て識別子(例えば、公開鍵)を記憶する。
【0079】
証明書識別子は認証中に取得される。データベース228の企業アプリケーション記録に証明書識別子を含むと、追加の許可識別子を必要とすることなく証明書識別子の使用を許可まで効率的に拡張する。従って、機能ハンドラ228は、極めて安全な認証技術をサポートするだけでなく、企業アプリケーションの効率的で安全な許可のために認証から取得された結果を使用する。企業アプリケーションの許可を強化することで、サードパーティによる有用な通信サービスの許可されないアクセスに対して強力な保護が得られる。
【0080】
更に、データモデルは、柔軟なサービス定義及び属性定義構造を提供する。特に、データモデルは、インストールされたサービステーブル530(表7)のアプリケーション識別子を使用して1つ又はそれ以上のインストールされたサービスを各企業アプリケーションに関連付けることができる。このように、企業アプリケーションが要求を許可された公表サービスが設定され、企業アプリケーションにリンクされる。次いでサービスカタログテーブル542は、サービス記述フィールドを使用して各インストールされたサービスに対して詳細な記述を提供することができる。
【0081】
同様に、インストールされた属性テーブル534は、インストールされたサービス識別子フィールド(表8)によって提供されたリンクを介してインストールされたサービスの特定の属性を定義することができる。次いでサービス属性テーブル538は、属性記述フィールドを使用して各属性に対して詳細な記述を提供することができる。インストールされた属性に対するデフォルト値は、サービス属性テーブル538から提供することができる。
【0082】
企業アプリケーションブランチのテーブル524、530、534、538、及び542の各々は、状態識別子フィールドを含むことができる。データモデルはこれによって、企業アプリケーションがいずれかの所与の公表サービスの使用を許可された場合に設定する際の相当量の追加のポリシー管理の柔軟性を提供する。例えば、証明書識別子の認証及び回復後、機能ハンドラ228は、証明書識別子にマッチするアクティブな企業アプリケーションが企業アプリケーションテーブル524で見つけられた場合に、企業アプリケーションが要求されたサービスの使用を許可することを判定する許可ポリシーを設定することができる。更に、ポリシーは、要求された公表サービスにマッチするアクティブなインストールされたサービスに企業アプリケーションをリンクすることを要求することができる。更に、許可ポリシーに応じて、機能ハンドラ228は、インストールされたサービスをアクティブなインストールされた属性、サービス属性、又はサービスカタログエントリにリンクすることを要求することができる。実施されたポリシーに応じて、データモデルは、テーブル524、530、534、538、及び542の1つ又はそれ以上において状態フィールドを修正することによって公表サービスへのアクセスを柔軟に許可或いは拒否することができる。
【0083】
従ってデータモデルは、エンドユーザ、企業アプリケーション、又は他のサービス要求者を許可する際に調べる状態フィールド及び許可識別子(例えば、MSISDN識別子及び証明書識別子)に基づいて柔軟なポリシー管理をサポートする。ポリシーは、要求が許可されたとみなされる前にデータモデルの各ブランチ内の1つ又はそれ以上のレベル(例えば、企業レベル、エンドユーザレベル、MSISDNレベル、又は企業アプリケーションレベル)でデータモデルの1つ又はそれ以上の記録について状態基準を指定することができる。ポリシーは、各企業アプリケーション及びエンドユーザによって異なる場合がある。
【0084】
上述のように、レポーティングモジュール234は、ログファイル236を構文解析し、プロファイリングデータベース228にログテーブルを応答可能に読み込むことができる。第1ログテーブル546は、通信ネットワークアクセス要求(例えば、HTTP要求)のためログがとられた(例えば、毎日)情報を記憶することができる。オブジェクト識別子フィールド538は、ログテーブル546の各行の一意の識別子を提供する。表11は、第1ログテーブル546の例示的な実装を示している。
【0085】
第2ログテーブル550は、公表サービス要求(例えば、SMS請求要求)のための(例えば、毎日)ログがとられた情報を記憶することができる。オブジェクト識別子フィールド552は、ログテーブル550の各行の一意の識別子を提供する。表12は、第2ログテーブル546の例示的な実装を示している。
【0086】
図6は、通信ネットワークアクセス要求を扱うためのメッセージフロー図600を示している。概略として、サービス要求ハンドラ224は、アクセス要求を受け取り、要求者に許可を与え、要求をウェブサーバーに転送する。ウェブサーバーはアクセス要求結果をサービス要求ハンドラ224に返し、次いでサービス要求ハンドラ224は該結果を要求パーティに返す。
【0087】
図6は、サービスパーティ(例えば、エンドユーザ又は加入者デバイス)が、MSISDN、サービスパーティ識別子、URL、又は他のネットワークアクセス情報を含むことができるHTTPサービス要求を送信する(動作602)ことを示している。サービス要求ハンドラ224は、HTTP要求からMSISDNを抽出する(動作604)。サービス要求ハンドラ224は、MSISDNに基づいてデータベースサーチを開始する。MSISDNが見つけられアクティブである場合、要求が許可される。
【0088】
サービス要求ハンドラ224はまた、プロファイリングデータベース228をサーチし、サービスパーティの記録が存在するかどうかを判定することができる(動作606)。プロファイリングデータベース228は、サーチ結果を返す(動作608)。サービスパーティが現在存在していない(動作610)場合、サービス要求ハンドラ224は、サービスパーティをプロファイリングデータベース228に追加し、そのサービスパーティをアクティブなMSISDNに関連付ける(動作612)。
【0089】
サービス要求ハンドラ224はまた、サービスパーティが存在すること、及び抽出されたMSISDNがサービスパーティの新しいMSISDNであることを判定することができる(動作614)。この場合、サービス要求ハンドラ224は、サービスパーティの古いMSISDNの状態をイナクティブに更新することができる(動作616)。更に、サービス要求ハンドラ224は、プロファイリングデータベース228のサービスパーティのMSISDNを更新し、新しいMSISDNを反映する(動作618)。サービス要求ハンドラ224はこれによって、どのサービスパーティがどのMSISDNに関連付けられるかを正確に維持する。
【0090】
更に、サービス要求ハンドラ224は、該要求を要求されたデータによって応答するウェブサーバーに送信する。このために、サービス要求ハンドラ224は、MSISDNに基づいて該要求をウェブサーバーにルーティングすることができる。例えば、サービス要求ハンドラ224は、MSISDNと、その要求を扱うために割り当てられたウェブサーバーとの間の相関性を設定するルックアップテーブルを実装することができる。
【0091】
このために、1つの実装において、サービス要求ハンドラ224は、要求のURL及び割り当てられたウェブサーバーに基づいて新しいURLを作る(動作620)。換言すると、新しいURLは、MSISDNにマップされたサーバーから元のURLでのコンテンツの要求を指定する。サービス要求ハンドラ224は、HTTP要求を選択されたウェブサーバーに転送し(動作622)、その応答データを受信する(動作624)。応答データは、発信サービスパーティに伝達される(動作626)。
【0092】
図7及び図8は、公表サービス要求を扱うためのメッセージフロー図700及び800を示している。概略として、機能ハンドラ226は、サービス要求を受信し、要求者を認証し、更に要求者が公表サービスへのアクセスを許可されたことを検証する。認証され許可された要求者からの公表サービス要求は、ラップされてサービスブローカー116に配信される。
【0093】
図7に示されるように、機能ハンドラ226は、外部の企業アプリケーション106からMMS/SMSサービス要求を受け取る(動作702)。サービス要求はまた、サービスプロバイダ114からも受け取ることができる。機能ハンドラ226は、要求から証明書識別子を抽出する(動作704)。機能ハンドラ226は、企業アプリケーションテーブル524のマッチング証明書識別子についてプロファイリングデータベース228をサーチし(動作706)、プロファイリングデータベース228はサーチ結果を返す(動作708)。マッチング証明書識別子は、要求企業アプリケーションを許可することができ、或いは企業アプリケーションに許可を与えるために行われる1つのチェックとすることができる(動作710)。企業アプリケーション及び/又は関連する企業の状態のチェックなどの追加のチェックは、許可が完了する前に実行することができる。
【0094】
機能ハンドラ226は、サービス要求にマッピングを加える(動作712)。次いで、機能ハンドラ226は、RMI要求をサービスブローカー116に送信する(動作714)。サービスブローカー116は、要求応答をRMI要求に返す(動作716)。応答は、サービスブローカー116が要求を受信したことの肯定応答とすることができる。機能ハンドラ226は、要求応答をアプリケーション116に返す(動作718)。
【0095】
図8に示されるように、機能ハンドラ226は、サービスプロバイダ114からCharge、SIP、又はUser Authorization request(ユーザ許可要求)を受け取り(動作802)、証明書識別子を抽出する(動作804)。企業アプリケーションはまた、このようなサービス要求を提示することができる。機能ハンドラ226は、アプリケーションテーブル524のマッチング証明書識別子についてプロファイリングデータベース228をサーチし(動作806)、プロファイリングデータベース228はサーチ結果を返す(動作808)。機能ハンドラ226は、認証されたアプリケーションが許可されるかどうかを判定する(動作810)。
【0096】
更に具体的には、マッチング証明書識別子はアプリケーションを許可し、或いは企業アプリケーションを許可する場合の第1ステップを提供することができる。機能ハンドラ226はまた、要求企業アプリケーションに関連したサービスについてプロファイリングデータベース228をサーチすることができる。アクティブなサービスがプロファイリングデータベース228の要求アプリケーションに関連して見つけられた場合、機能ハンドラ226は、サービス要求を許可することができる。機能ハンドラ226は、プロファイリングデータベース228の要求企業アプリケーション、関連企業、又は他の記録の状態に基づいて他の許可ポリシーを実装することができる。
【0097】
許可されたサービス要求を提示する認証されたアプリケーションにおいて、機能ハンドラ226は、提示のためにサービス要求をラップする。次いで機能ハンドラ226は、遠隔メソッド呼出しを実行し要求をサービスブローカー116に送出することができる。機能ハンドラ226はこれによって、RMIを介してラップされた要求をサービスブローカー116に送信する(動作814)。機能ハンドラ226は、サービスブローカー116から応答を受け取る(動作816)。応答は、サービスブローカー116によって提供された肯定応答、エラーメッセージ、又は他の応答とすることができる。機能ハンドラは、要求応答をアプリケーション106に返す(動作818)。
【0098】
図9は、公表されたSMSサービスのためのサービス要求900の実施例を示している。アプリケーションは、アーキテクチャ100にSMSサービス要求を提示し、アーキテクチャ100がSMSメッセージを送信して、アプリケーションに代わってそのSMSメッセージに対して請求するよう要求することができる。サービス要求900は、サービス要求の一意の識別子を提供することができるトランザクション識別子フィールド902、要求がSMS要求であることを指定することができるメッセージタイプフィールド904、及び要求がSMSのどのバージョンに準拠するかを指定するSMSバージョンフィールド906を含む。サービス要求900はまた、To Addressフィールド910、CC Addressフィールド912、及びBCC Addressフィールド914などのアドレス指定情報を含む。サービスコードフィールド916は、SMSサービス要求を提示するサービスプロバイダの識別子を提供する。
【0099】
配信タイミング情報もまたサービス要求900内に存在する。特に、要求900は、要求時間フィールド918、有効時間フィールド920、及び最短配信時間フィールド922を含む。要求900はまた、優先順位フィールド924を使用したメッセージ優先順位、サブジェクトフィールド926のメッセージのサブジェクト、及び請求パーティフィールド928でのメッセージの配信に対して課金するパーティを指定する。SMSメッセージのコンテンツは、コンテンツフィールド930内に存在する。
【0100】
上述のように、公表サービスインターフェース412は、要求をサービスブローカー116の標準形式にラップすることができる。図10は、ラップされたSMSメッセージ1000の実施例を示している。SMSラッパー414は、トランザクション識別子フィールド902をトランザクション識別子フィールド1002にマップし、メッセージタイプ(例えば、SMSメッセージのための「SMSDELIVERY」)を指定することができるトランザクションラベルフィールド1004を追加し、更に、SMSバージョンフィールド906をドロップしながらメッセージタイプフィールド904をサービスタイプフィールド1006にマップする。同様に、SMSラッパー414は、アドレス指定フィールド910−914をTo Addressフィールド1010、CC Addressフィールド1012、及びBCC Addressフィールド1014にマップし、更にサービスコードフィールド916をサービス識別子フィールド1016にマップする。
【0101】
配信タイミング情報もまた、ラップされた要求1000内に存在する。特に、SMSラッパー414は、要求時間フィールド918を開始日付フィールド1018にマップし、有効時間フィールド920を終了日付フィールド1020にマップし、更に最短配信時間フィールド922をドロップする。SMSラッパー414はまた、優先順位フィールド924を優先順位フィールド1022に、サブジェクトフィールド926をサブジェクトフィールド1024に、及び請求パーティフィールド928をアカウント識別子フィールド1026にマップする。SMSメッセージのコンテンツは、コンテンツフィールド930からメッセージ本体フィールド1028にマップされる。
【0102】
表13は、図9に示された要求メッセージから得られたフィールド値を有するラップされたXML SMS要求メッセージの例示的な実装を示している。ラップされたメッセージは、ラベルフィールド(SMSメッセージの「SMSDELIVERY」に設定)を追加する。
【0103】
【0104】
図11は、サービスブローカー116から返された公表サービス応答1100の実施例を示している。応答1100は、要求の肯定応答を提供し、トランザクション識別子フィールド1102、トランザクションラベルフィールド1104、及び要求状態フィールド1106を含む。応答1100はまた、要求しているアプリケーションにエラー条件を伝達するエラーコードフィールド1108及びエラー記述フィールド1110を提供する。
表14は、図11に示されたデータフィールドを伝達するXMLメッセージの実施例を示している。
【0105】
【0106】
機能ハンドラ226はまた、要求アプリケーションへの配信のためのサービスブローカー応答をラップすることができる。換言すると、要求アプリケーションに返された応答メッセージの形式及びコンテンツは、サービスブローカー116から送信された応答メッセージの形式及びコンテンツとは異なる可能性がある。図12は、ラップされたSMS応答1200の実施例を示している。
【0107】
SMSラッパー414は、応答1100からの情報を、トランザクション識別子フィールド1202、状態フィールド1204、エラーコードフィールド1206、及びエラー記述フィールド1208を含むラップされた応答1200にマップする。ラップされた応答1200はまた、メッセージタイプフィールド1210(例えば、要求アプリケーションによって予想される「<SMS>」又は別の値に設定)、及び適用可能なSMSバージョンを要求アプリケーションにレポートするSMSバージョンフィールド1221を追加する。トランザクションラベルフィールド1104はドロップすることができる。
【0108】
図13は、MMSの公表サービス要求1302からラップされたMMSサービス要求1304へのマッピングを示す。TSOLABELは、「MMSDelivery」又は他のいずれかの識別子に設定することができる。アプリケーションは、マルチメディアコンテンツをいずれかの指定された受信者に配信するためにMMSサービス要求を送出することができる。図14は、MMSの公表サービス応答1402からラップされたMMSサービス応答1404へのマッピングを示している。
【0109】
図15は、SIPの公表サービス要求1502からラップされたSIPサービス要求1504へのマッピングを示している。TSOLABELは、「SIPCall」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、SIP要求1502で指定された送信者と受信者間の通信チャンネルを設定するためにSIP要求を開始することができる。図16は、SIPの公表サービス応答1602からラップされたSIPサービス応答1604へのマッピングを示している。TSOLABELフィールドはドロップすることができる。
【0110】
図17は、状態公表サービス要求1702からラップされた状態サービス要求1704へのマッピングを示している。TSOLABELは、「GetUserStatus」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、状態要求1702にリストされた1つ又はそれ以上のユーザの状態をチェックするために状態要求を送出することができる。状態要求1702は、特定のサービスプロバイダに関する状態を要求するためにプロバイダ識別子を更に含むことができる。図18は、状態応答1802からラップされた状態サービス応答1804へのマッピングを示している。
【0111】
図19は、認証公表サービス要求1902からラップされた認証サービス要求1904へのマッピングを示している。TSOLABELは、「認証」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、特定のサービス及びプロバイダに関するMSISDNの認証を要求するために認証要求1902を送出することができる。図20は、状態公表サービス応答2002からラップされた状態サービス応答2004へのマッピングを示している。応答は、サービス状態(例えば、「OK」、又は「切断」)、顧客タイプ(例えば「商用」又は「住宅用」)、顧客のサービスプランの識別情報、SIMモジュール、無線デバイスタイプ、MMS又はUMTS又はGPRSメッセージを送受信する機能、アクセスチャンネル(例えば、「モバイル」又は「ランドライン」)、或いはMSISDNが利用可能な他のいずれかの状態情報などの広範な状態情報を含むことができる。
【0112】
図21は、請求(Charge)公表サービス要求2102からラップされた請求サービス要求2104へのマッピングを示している。TSOLABELは、「請求(Charge)」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、2つのエンドポイント間(例えば、送信側URIと受信側URI間)の指定された開始及び終了日付での通信セッションに対する課金を要求し、請求要求2102で指定されたサービスプロバイダによって扱われる請求要求を開始することができる。図22は、請求公表サービス応答2202からラップされた請求サービス応答2204へのマッピングを示している。TSOLABELフィールドは応答でドロップすることができる。
【0113】
表15は、公表サービスについてのWSDL定義の実施例を示している。特に表15は、公表サービスの入力及び出力メッセージ及びメッセージフォーマットを定義することができる例示的なWSDL請求サービス記述子を示している。請求サービス記述子は、請求サービス要求及び応答が入力及び出力メッセージによって定義されるように送信される<ポート>(「ChargeAdapterFrontEnd」)を定義する。更に、請求サービス記述子は、入力及び出力メッセージのためのメッセージ形式及びコンテンツ(それぞれ「submitReqRequest」及び「submitReqResponse」)を定義する。SOAP結合もまた、請求公表サービス要求が(「ロケーション」指定子を介して)送られるロケーションとして定義される。
【0114】
WSDL定義は、類似の方式で各公表サービスに対して設定することができる。WSDL定義は、ゲートウェイ110及び公表サービスの実装に応じて大きく異なる可能性がある。
【0115】
【0116】
サードパーティゲートウェイ110は、通信サービスプロバイダによって提供される公表サービスへの安全で効率的なアクセスを提供する。サードパーティゲートウェイ110は、安全な認証中に取得された証明書識別子を用いることによってサードパーティ許可を強化する。データベース228の企業アプリケーション記録に証明書識別子を含むことで、企業アプリケーション用の許可識別子を別個に又は独自に必要とせずに証明書識別子の使用を許可にまで効率的に拡張する。企業アプリケーションの強化された許可は、重要な通信の無許可のサードパーティアクセスに対する強力な保護をもたらす。
【0117】
更に、MSISDNフィールド及び証明書識別子フィールドは、サービス要求者の種々のタイプに対する独立した許可基準である。データモデルにおける複数のレベル状態フィールドと共に、データモデルは、サービス要求ハンドラ224に対する柔軟なポリシー管理をサポートする。ポリシーは、要求が許可されたと見なされる前に、データモデルにおける各ブランチ内の1つ又はそれ以上のレベル(例えば、企業レベル、エンドユーザレベル、又は企業アプリケーションレベル)でデータモデルの記録に対する状態基準を指定することができる。
【0118】
サービス要求者の複数の種々のタイプのアクセスを安全に許可するための技術を要約すると、サードパーティゲートウェイ110は、サービス要求者の第1タイプ(例えば、企業アプリケーション)から公表サービス要求を受け取る。サードパーティゲートウェイ110はまた、サービス要求者の第2のタイプ(例えば、移動電話デバイス)からネットワーク通信サービス要求を受け取る。サードパーティゲートウェイは、公表サービス要求を認証し、該公表サービス要求を認証することにより安全な許可識別子(例えば公開鍵)を取得する。
【0119】
プロファイリングデータベース228は、安全な許可識別子に基づいてプロファイリングデータベース228で定義されたデータモデルのサービス要求者ブランチからのサーチ結果を提供する。サードパーティゲートウェイ110は、サーチ結果に表示される企業アプリケーションを判定する。企業アプリケーションの許可は、第1サーチ結果の1つ又はそれ以上の状態識別子(例えば、企業アプリケーション識別子)に基づいて進行する。
【0120】
サービス要求者の第2タイプに関して、サードパーティゲートウェイ110は、デバイス識別子をネットワーク通信サービス要求から抽出する。プロファイリングデータベース228はまた、デバイス識別子に基づいて異なるサービス要求者ブランチからサーチ結果を提供する。第2サーチ結果に示された加入者デバイスは、第2サーチ結果の1つ又はそれ以上の加入者デバイス状態識別子に基づいて判定され許可される。
【0121】
本発明の種々の実施形態を説明してきたが、より多くの実施形態及び実装が本発明の範囲内で可能であることは当業者には明らかであろう。従って、本発明は、添付の請求項及びこれらの均等物の観点以外で限定されるものではない。
【図面の簡単な説明】
【0122】
【図1】サードパーティアクセスゲートウェイを含む通信アーキテクチャの一部を示す図である。
【図2】サービスブローカーと、外部デバイス、アプリケーション、及びサービスプロバイダと通信状態にあるサードパーティアクセスゲートウェイを示す図である。
【図3】アクセス管理モジュールと通信状態にあるサービス要求ハンドラを示す図である。
【図4】アクセス管理モジュールと通信状態にある機能ハンドラを示す図である。
【図5】プロファイリングデータベースを示す図である。
【図6】通信ネットワークアクセス要求のメッセージフロー図である。
【図7】SMS及びMMS公表サービス要求のためのメッセージフロー図である。
【図8】請求(Charge)、SIP、及び許可サービス要求のメッセージフロー図である。
【図9】SMS公表サービス要求を示す図である。
【図10】ラップされたSMSサービス要求を示す図である。
【図11】SMSサービス要求応答を示す図である。
【図12】ラップされたSMSサービス要求応答を示す図である。
【図13】MMS公表サービス要求からラップされたMMSサービス要求へのマッピングを示す図である。
【図14】MMS公表サービス応答からラップされたMMSサービス応答へのマッピングを示す図である。
【図15】SIP公表サービス要求からラップされたSIPサービス要求へのマッピングを示す図である。
【図16】SIP公表サービス応答からラップされたSIPサービス応答へのマッピングを示す図である。
【図17】状態公表サービス要求からラップされた状態サービス要求へのマッピングを示す図である。
【図18】状態応答からラップされた状態サービス応答へのマッピングを示す図である。
【図19】認証公表サービス要求からラップされた認証サービス要求へのマッピングを示す図である。
【図20】認証公表サービス応答からラップされた認証サービス応答へのマッピングを示す図である。
【図21】請求公表サービス要求からラップされた認証サービス要求へのマッピングを示す図である。
【図22】請求公表サービス応答からラップされた認証サービス応答へのマッピングを示す図である。
【符号の説明】
【0123】
100 通信アーキテクチャ
102 サードパーティ
104 加入者デバイス
106 アプリケーション
108 その他
110 サードパーティアクセスゲートウェイ
112 サービス要求
114 サービスプロバイダ
116 サービスブローカー
118 ビジネスサポートシステム(BSS)及びオペレーションサポートシステム(OSS)
120 ネットワーク層
【技術分野】
【0001】
(優先権の主張)
本出願は、2006年9月20日申請のEPO特許出願第05425656.5号、及び2006年9月20日申請のイタリア特許出願第MI2005A001741号の恩恵を主張し、この両方は、その全体が引用により本明細書に組み込まれる。
(技術分野)
本発明は、通信処理システムアーキテクチャに関する。特に、本発明は、通信サービスプロバイダ機能への安全で管理されたサードパーティアクセスの提供に関する。
【背景技術】
【0002】
データ処理及び通信技術における急速な進歩は、消費者が利用可能な膨大な通信サービスをもたらしている。このような通信サービスは、従来の電話サービス、インターネットサービス、ケーブルテレビサービス、携帯電話サービス、ページングサービス、音声及びデータを組み合わせた配信サービス、及び多くの他のサービスを含む。更に、多くのサービスは、無線又はワイヤラインベースのいずれかとすることができる。
【0003】
従来の通信サービスプロバイダは、通信製品及びサービスの広域スペクトルを実装し確実に提供するために莫大な量の時間、資金、及び先進技術を注ぎ込んできた。これまで、この投資は、通信サービスプロバイダに対してのみ重要な利益であった。すなわち、通信サービスプロバイダは、内々且つプロバイダ自らの使用に対するプロバイダ固有技術を内部で保持していた。
【0004】
高度な通信アーキテクチャのこの背景に、各通信サービスプロバイダ内に新しい収益チャンネルにつながる新しいビジネス機会を探求し開発する要求がある。サービスプロバイダアーキテクチャにおける既存の技術は、このような新しい収益チャンネルを促進させることができる。しかしながらこれまでは、サードパーティがサービスプロバイダアーキテクチャの基本的な機能にアクセスできる、十分に安全で、フレキシブルで、効率的なメカニズムが存在しなかった。
【0005】
【特許文献1】EPO特許出願第05425656.5号公報
【特許文献2】イタリア特許出願第MI2005A001741号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
拡張された通信サービスプロバイダアーキテクチャに対する必要性が長期にわたり存在している。
【0007】
サードパーティアクセスに対して拡張された通信サービスプロバイダアーキテクチャを設定することにより重大な技術的課題が生じる。例えば、内部機能への安全且つ管理されたアクセスを可能にするアーキテクチャを提供する際の技術的な課題がある。別の技術的課題は、複数の種々のタイプのサービス要求者に対して独立した許可基準を効率的且つ柔軟にサポートするデータベースデータモデルアーキテクチャを提供することにある。サービス要求者は、サービス要求を送出する個人のエンドユーザから企業のアプリケーションまで多岐にわたる可能性がある。
【課題を解決するための手段】
【0008】
本発明の1つの態様は、通信アーキテクチャのためのアクセスゲートウェイである。ゲートウェイは、通信サービスプロバイダとサービスプロバイダで実装される機能を使用するよう要求を送出するサードパーティとの間のアクセスポイントを提供する。ゲートウェイは、使用可能なサービスを公表し、該公表されたサービスへのサードパーティ要求を認証、許可、及び処理すると共に、無許可のアクセスに対して通信サービスプロバイダを保護する。
【0009】
ゲートウェイは、サードパーティと基本的通信サービス機能との間の幾つかのインターフェースを実装する。加入者通信インターフェースは、例えばサードパーティ通信ネットワークアクセス要求(例えば、ウェブサイトコンテンツに対するHTTP要求)を受け取る。アプリケーションインターフェースは、例えばショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、請求サービス、及び他の公表サービスのような公表サービスへのサードパーティ要求を受け取る。
【0010】
サードパーティゲートウェイは、サービス要求ハンドラを含む。サービス要求ハンドラは、加入者通信インターフェースを介して通信ネットワークアクセス要求を受け取る。サービス要求ハンドラは、通信ネットワークアクセス要求から加入者デバイス識別子(例えば携帯電話などの加入者デバイスに関連したMSISDN)を抽出し、加入者デバイス識別子の記録についてプロファイリングデータベースをサーチする。許可された記録が存在する場合、サービス要求ハンドラは、サービスプロバイダ通信インターフェースを介して通信ネットワークアクセス要求を通信ネットワークサービスプロバイダに転送する。
【0011】
ゲートウェイは、通信ネットワークアクセス要求を公表サービス要求と区別する。このために、ゲートウェイは、公表サービス要求をアプリケーションインターフェースを介してサードパーティから受け取る機能ハンドラを提供する。機能ハンドラは次に、安全な証明書識別子を公表サービス要求から抽出し、プロファイリングデータベースをサーチして、証明書識別子に関連したサードパーティアプリケーションを許可することができる。
【0012】
公表サービスを使用するためサードパーティアプリケーションを許可した後、機能ハンドラは、通信サービスプロバイダによって予想される入力メッセージを形成するよう公表サービス要求をマップする。例えば、機能ハンドラは、サービスブローカー通信インターフェースを介した通信アーキテクチャにおけるサービスブローカーへの配信のために公表サービス要求をラップ(wrap)することができる。機能ハンドラは、SMS要求、MMS要求、セッション開始プロトコル(SIP)要求、請求要求、又は公表サービスのための他のいずれかの要求のためのラッパー(wrapper)を提供することができる。
【0013】
本発明の別の態様は、複数のタイプのサービス要求者の特に効率的な設定及び許可をサポートするプロファイリングデータベース及びデータモデルである。データモデルは、複数のタイプのサービス要求者が関係するルートノード(例えば企業テーブル)を提供する。ルートノードからデータモデルは、ネットワーク通信要求者及び公表サービスの要求者などの種々のタイプのサービスの要求者に対して独立したブランチ(branch)を設定する。
【0014】
従って、1つの企業は、ネットワーク通信サービス(例えば、インターネット閲覧サービス)を要求し、並びに公表されたSMSサービスに対する要求を提示する企業アプリケーション(例えば、SMSフロントエンド)を設定する携帯電話を従業員らに提供することができる。許可データの種々のタイプを、各ブランチに沿って設定し、サービス要求者のタイプに応じて許可を選択的に調整することができる。更に、データモデルは、状態識別子を各ブランチ内の複数のレベルで設定する。これに応じて、アクセスゲートウェイは、サービス要求者の各タイプに対してだけではなく、各タイプ内の個々のサービス要求者に対しても許可基準を柔軟に設定し適用することができる。
【0015】
本発明の他のシステム、方法、特徴、及び利点は、以下の各図及び詳細な説明を検討すると当業者には明らかであり、或いは明らかになるであろう。全てのこのような追加のシステム、方法、特徴、及び利点は、本明細書に含まれ、本発明の範囲内にあり、更に添付の請求項によって保護されるものとする。
【発明を実施するための最良の形態】
【0016】
本発明は、以下の図面及び説明を参照するとより理解することができる。図中の構成要素は、必ずしも縮尺通りではなく、本発明の原理を例証することに重点が置かれている。更に図では、同じ参照符号は種々の図面全体を通して対応する部分又は要素を示している。
【0017】
図示された要素は、以下に更に詳細に説明するように相互に利用される。しかしながら、詳細な説明を示す前に、説明される特定の実装に関係なく以下の説明の全ては限定ではなく本質的に例示的なものである点に留意されたい。例えば、選択された実装の態様、特徴、又は構成要素はメモリ内に記憶されるものとして示されているが、サードパーティゲートウェイ及びその基本となる構成要素に適合するシステム及び方法の全て又は一部は、他の機械可読媒体、例えばハードディスク、フロッピー(登録商標)ディスク、及びCD−ROMなどの二次記憶装置、ネットワークから受け取られる信号、或いは現在公知であるか又は今後開発されるROM又はRAMの他の形式に記憶させ、分散させ、もしくは読み取ることができる。
【0018】
更に、サードパーティアクセスゲートウェイアーキテクチャの特定の構成要素を説明するが、サードパーティアクセスゲートウェイアーキテクチャに適合する製造の方法、システム、及び製品は、追加又は異なる構成要素を含むことができる。例えば、プロセッサは、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、個別論理、或いは他のタイプの回路又は論理の組合せとして実装することができる。同様に、メモリは、DRAM、SRAM、フラッシュ、又はメモリの他のいずれかのタイプとすることができる。フラグ、データ、データベース、テーブル、及び他のデータ構造は、別々に記憶及び管理することができ、単一のメモリ又はデータベースに統合し、分散し、或いは多くの種々の方法で論理的且つ物理的に編成することができる。プログラムは、単一のプログラムの一部、別個のプログラム、或いは幾つかのメモリ及びプロセッサにわたって分散させることができる。システムは、1つの処理システムにおけるハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実装するか、或いは複数の処理システムに分散させることができる。
【0019】
図1は、サードパーティ102と対話する通信アーキテクチャ100の一部を示す。サードパーティ102は、形式及び実装において大きく異なる場合がある。例えば、サードパーティ102は、携帯電話、携帯情報端末、ネットワーク(例えばインターネット)通信デバイスなどの加入者デバイス104;ショートメッセージサービス(SMS)メッセージングアプリケーション、セッション開始プロトコル(SIP)システム、及び製品とサービスに対して顧客に請求する課金アプリケーションなどの他のサービスプロバイダによって実装される通信サービスアプリケーションのようなアプリケーション106;及び他のデバイス、プログラム、又はエンティティ108を含むことができる。
【0020】
通信アーキテクチャ100は、通信製品及びサービスをサポートする機能を実装する。更に、以下に詳細に説明されるように、通信アーキテクチャ100は、選択された機能をサードパーティ102に公表する。換言すると、サードパーティ102は、アーキテクチャ100に既に配備されている機能を使用するために通信アーキテクチャ100と通信することができる。すなわち、サードパーティ102は、通信アーキテクチャ100によって既に提供されている機能をローカルに複製するために必要な資源を消費する必要がない。
【0021】
製品及びサービス、並びにこれらの公表された基本機能は、実装毎に異なる可能性がある。例えば、通信アーキテクチャ100は、SMSメッセージングサービス(SMSメッセージを配信し請求する)、マルチメディアメッセージングシステム(MMS)メッセージングサービス(MMSメッセージを配信し請求する)、及びSIPサービス(SIP呼出しをセットアップし呼出しに対し請求する)を公表することができる。別の例えば、通信アーキテクチャ100は、Charge(請求)サービス(アカウントに対して料金を請求するよう要求する)、インターネットプロトコルテレビ(IPTV)サービス(テレビ番組の配信を要求する)、ユーザ状態サービス(「オンライン」、「オフライン」、「ビジー」、又は「アウェイ」などの現在のユーザ状態を要求する)、及びユーザ認証サービス(例えば、モバイルユーザが存在するかどうか、及びモバイルユーザがIPTVサービスなどの要求サービスを購入する信用証明情報を有するかどうかの検証を要求する)を公表することができる。他の機能は、付加的に或いは代替的に提供することができる。更に、通信アーキテクチャ100は、サードパーティアクセスゲートウェイ110を介した通信ネットワークサービス(例えば、インターネット閲覧サービス)へアクセスを提供することができる。
【0022】
通信アーキテクチャ100は、公表サービスへのアクセスを保証する。そのために、アーキテクチャ100は、サードパーティアクセスゲートウェイ110を供給する。サードパーティアクセスゲートウェイ110は、公表サービスへのサードパーティ102のための単一問合わせ窓口としての役割を果たす。
【0023】
図1に示されるように、サードパーティアクセスゲートウェイ110は、サードパーティ102からサービス要求112を受け取る。これに応じて、サードパーティアクセスゲートウェイ110は、サービス要求が認証され許可されたサードパーティから発信されていることを検証する。ネットワーク通信サービス要求(一例として)の場合、サードパーティアクセスゲートウェイ110は、許可されたサービス要求を処理し、そのサービス要求をサービスプロバイダ114に中継する。SMS、MMS、及びSIPサービス要求などの公表サービス要求の場合、サードパーティアクセスゲートウェイ100は、許可されたサービス要求を処理しサービスブローカー116に中継することができる。
【0024】
サービスブローカー116は、サービス要求を実行する。これを行う場合、サービスブローカー116は、アーキテクチャ100が実装して通信製品及びサービスを生成、導入、管理、及び維持を行うビジネスサポートシステム(BSS)及びオペレーションサポートシステム(OSS)118と通信することができる。サービス要求を実行する際に、サービスブローカー116は、サービスに関連するデータをサービスブローカー116に配信又は返信することができるネットワーク層120と付加的に又は代替として通信することができる。サービスプロバイダ114及びサービスブローカー116からの応答は、発信側のサードパーティ要求者に配信するためにサードパーティアクセスゲートウェイ110に返される。
【0025】
その結果、サードパーティアクセスゲートウェイ110は、サードパーティ102と、通信アーキテクチャ100で実装される公表機能との間のセキュリティ層を提供する。サードパーティアクセスゲートウェイ110により、サードパーティは、別の通信アーキテクチャで既に実装された機能を用いて広範囲な製品及びサービスを開発、導入、配信、及び管理を行うことができる。同時に、サードパーティアクセスゲートウェイ110によって、通信アーキテクチャ10がサードパーティ102に対して安全で標準化され制御された方法に向けてコア機能を公表することができる。
【0026】
図2は、サードパーティアクセスゲートウェイ110の詳細図を示す。サードパーティアクセスゲートウェイ110は、加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106と通信する。サードパーティゲートウェイ110はまた、サービスブローカー116と通信する。図2は、サービスブローカー116が幾つかの公表サービス、すなわちSMSサービス202、MMSサービス204、Chargeサービス206、SIPサービス208、及びユーザ認証サービス210に対するサービス要求の受け付けを示している。
【0027】
任意選択的であるが、加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106は、仲介手段を介してサードパーティアクセスゲートウェイ110と通信することができる。一例として仲介手段は、ウェブサーバー212及びウェブサーバー213などのウェブサーバーを含むことができる。仲介手段は、サードパーティアクセスゲートウェイ110と加入者デバイス104、サービスプロバイダ114、及び要求アプリケーション106との間の暗号化された或いは他の安全な通信リンクを実装することができる。例えば、仲介手段(又はサードパーティゲートウェイ110自体)は、認証を提供し、秘密鍵と公開鍵の公開鍵暗号ペアの公開鍵構成要素を送るSSL証明書及び証明書識別子を伴うセキュアソケットプロトコル(HTTPSプロトコルなど)を実装することができる。次いで、ウェブサーバー212及び213とゲートウェイ110は、プロファイリングデータベース228内に記憶されたクライアント証明書及び許可情報を使用してサードパーティ102を許可することができる。
【0028】
サードパーティアクセスゲートウェイ110は、幾つかのインターフェースを介して通信する。インターフェースは、加入者通信インターフェース216及び/又はサービスブローカー通信インターフェース218を含む。インターフェースはまた、サービスプロバイダ通信インターフェース220及びアプリケーションインターフェース222を含む。
【0029】
インターフェース216−222は、多くの方法で実装することができる。一例として、インターフェース216−222は、サポートしている物理レイヤ(例えば、1つ又はそれ以上のネットワークインターフェースカード)を備えた、IPアドレス、ポート番号、及び通信プロトコルによって定義されるネットワークソケットとすることができる。インターフェース216−222は、プロセス間通信、メッセージング、又は信号方式を使用する物理レイヤを介して、HTTP、シンプルオブジェクトアクセスプロトコル(SOAP)、ジャバデータベースコネクティビティ(JDBC)、又は他の通信プロトコルを使用して通信することができる。メッセージは、拡張可能マーク付け言語(XML)メッセージなどのいずれかの要求形式のネットワークパケット(例えば、TCP/IPパケット)で符号化することができる。更に、ファイアウォールは、未知のホストからの要求をブロックするように設定することができる。
【0030】
サードパーティアクセスゲートウェイ110は、サービス要求を扱う2つのメッセージハンドラを含む。サービス要求ハンドラ224は、インターネット閲覧要求、ウェブサーバー情報要求、又は他のネットワークアクセス要求などの通信ネットワークアクセス要求を受け取り処理する。機能ハンドラ226は、SMSサービス要求又はChargeサービス要求などの公表サービス使用要求を受け取り処理する。
【0031】
通信ネットワークアクセス要求の処理を要約すると、サービス要求ハンドラ224は、要求を受け取り、加入者デバイス識別子(例えば、MSISDN識別子)を抽出し、更にいずれかの所与の加入者デバイスに対応することができる検証情報(例えば、マッチングアクティブMSISDN記録)についてプロファイリングデータベース228をサーチする。検証情報が特定されると、サービス要求ハンドラ224は、サービスプロバイダ通信インターフェース216を介してその要求をサービスプロバイダ114にマップする。サービスプロバイダ114は、要求されたデータに応答する。その結果、サービス要求ハンドラ224は、加入者通信インターフェース216を介してデータを要求者に返す。
【0032】
公表サービス要求の処理を要約すると、機能ハンドラ226は、証明機関によって発行されたデジタル証明書を任意選択的に含む要求を受け取る。機能ハンドラ226は、デジタル証明書に基づいて要求者を認証する。機能ハンドラ226はまた、証明書識別子(例えば、公開鍵又はサブジェクト一意の識別子)を抽出することができ、証明書識別子にマッチする要求者アプリケーションについてプロファイリングデータベース228をサーチする。機能ハンドラ226はまた、マッチング要求者アプリケーションが1つ又はそれ以上のサービスにおいてアクティブ状態(又はアプリケーションがサービスを要求するよう許可されていることを示す他の状態)を有するかどうかを判定することができる。
【0033】
許可された要求者アプリケーションが要求されたサービスについて認証され許可されると、機能ハンドラ226は、ダウンストリーム処理の要求をラップし、ラップされた要求をサービスブローカー116に転送する。サービスブローカー116は、肯定応答を機能ハンドラ226に供給し、許可された要求者アプリケーションの公表サービスに対する要求の実行を開始する。従って、一例として、許可された要求者アプリケーションは、SMSメッセージ又はMMSメッセージを送信し、これに対して請求を行い、SIP接続をセットアップし、顧客アカウントに対してChargeを提示し、或いはアーキテクチャ100において公表された他のいずれかのサービスを利用することができる。
【0034】
サービス要求ハンドラ224及び機能ハンドラ226は、サービス使用要求を許可する。このために、サービス要求ハンドラ224及び機能ハンドラ226は、プロファイリングデータベース228を参照する。以下に更に詳細に説明されるように、プロファイリングデータベース228は、サービス要求者についての許可情報を保持する。アクセス管理モジュール230は、プロファイリングデータベース228及びサービス要求ハンドラ224を機能ハンドラ226(又はサードパーティアクセスゲートウェイ110の他のいずれかのプログラム又はエンティティ)に接続することができる。一例として、アクセス管理モジュール230は、データベースサーチエンジンを含むデータベースサーバー232を実装することができる。このために、アクセス管理モジュール230及びプロファイリングデータベース228は、Oracle(商標)、Microsoft(商標)SQL、又は他のサードパーティデータベースサーバープラットフォーム上に構築することができる。
【0035】
サードパーティアクセスゲートウェイ110は更に、レポーティングモジュール234を含む。レポーティングモジュール234は、サービス要求ハンドラ224及び機能ハンドラ226からサービス要求処理記録を取得する。レポーティングモジュール234は、サービスログファイル236(例えば、サービス要求ハンドラ224及び/又は機能ハンドラ226を実行するシステムとのFTP接続を介して)を取得し、以下に更に詳細に説明するように該ログファイル236を処理してプロファイリングデータベース228のログテーブルを更新する。
【0036】
図3は、サービス要求ハンドラ224の追加の詳細を示している。サービス要求ハンドラ224は、プロセッサ302及びメモリ304を含む汎用処理アーキテクチャにおいて実装することができる。メモリ304は、以下に説明するようにサービス要求ハンドラ機能を提供するプログラム及びデータを記憶する。
【0037】
プロセッサ302は、サービス要求ハンドラ機能専用とすることができる。例えば、サービス要求ハンドラ224は、サードパーティゲートウェイ110の全体のアーキテクチャ内の独立した処理システムとすることができる。他の実装ではプロセッサは、追加のプログラム全体で共用し、従ってサードパーティゲートウェイ110での追加の機能を実行することができる。例えば、プロセッサ302はまた、機能ハンドラ226の機能の実行及び/又はインターフェース216−222を介したメッセージの送受信の開始を行うことができる。
【0038】
メモリ304は、ネットワークアクセス要求処理プログラム306を含む。処理プログラム306は、例えば加入者通信インターフェース216を介して受信された通信ネットワークアクセス要求308を処理する。図3は、通信ネットワークアクセス要求308が統一資源位置指定子(URL)312及びMSISDN314を含むハイパーテキスト転送プロトコル(HTTP)要求310である実施例を示している。
【0039】
処理プログラム306は、ネットワークアクセス要求308を許可する。1つの実装ではプロセスプログラム306は、要求308からMSISDN314を抽出する。処理プログラム306は、要求をアクセス管理モジュール230に送出し、MSISDNに基づいてプロファイリングデータベース228をサーチする。アクセス管理モジュール230は、処理プログラム306にサーチ結果を戻し、次いで該プログラムは、許可された記録がMSISDNについて存在するかどうかを判断する。
【0040】
許可された加入者デバイスからのネットワークアクセス要求では、サービス要求ハンドラ224は、要求を扱う宛先ウェブサーバーを決定する。このために、ネットワークアクセス要求処理プログラム306は、ウェブサーバーマッピング316を設定し、適用することができる。ウェブサーバーマッピング316は、使用可能なウェブサーバー(例えば、名前、IPアドレス、及び/又はポート番号によって識別された)をMSISDN及び/又はHTTP要求の統一資源位置指定子(URL)もしくは他のデータの一部に関連付けることができる。サービス要求ハンドラ224は、これによってどのサービスプロバイダ114がネットワークアクセス要求308を扱うかを判定する。
【0041】
選択されたサービスプロバイダ114は、要求されたデータによってアクセス要求308に応答する。図3は、サービスプロバイダ114がHTTP応答データ318によってHTTP要求308に応答する実施例を示している。応答データ318は、HTTP要求308に応答するHTML、画像、音声、及び/又は動画データ、或いは他のいずれかのデータを含むことができる。サービス要求ハンドラ224は、HTTP応答データ318を許可された要求者に返す。
【0042】
サービス要求ハンドラ224はまた、ログファイル320を作成することができる。ログファイル320は、各サービス要求に対していずれかの要求されるサービス追跡情報を含むことができる。ログされる情報は、許可された加入者情報、MSISDN、サービス要求日時、URLデータ、転送されるデータの量、応答サービスプロバイダの識別子、エラーコード、トランザクション識別子、及び他の情報を含むことができる。サービス要求ハンドラ224は、プロファイリングデータベース228のログテーブルを構文解析して読み込むためレポーティングモジュール234にログファイル320を提供することができる。
【0043】
図4は、機能ハンドラ226の追加の詳細を示している。機能ハンドラ226は、プロセッサ402及びメモリ404を含む汎用処理アーキテクチャにおいて実装することができる。メモリ404は、以下に説明するように機能ハンドラの機能を提供するプログラム及びデータを記憶する。ウェブサーバー436(例えば、Apache Axisウェブサーバー)は、クライアント証明書に基づいたサードパーティ認証及びSSLを介した安全な通信チャンネルを提供することができる。
【0044】
機能ハンドラ226は、サードパーティゲートウェイ110の全体的なアーキテクチャ内の独立した処理システムとすることができる。他の実装において、プロセッサ402は、追加のプログラム全体で共用し、サードパーティゲートウェイ110において追加の機能を実行することができる。例えば、プロセッサ402はまた、サービス要求ハンドラ224の機能の実行及び/又はインターフェース216−222を介したメッセージの送受信の開始を行うことができる。
【0045】
メモリ404は、公表サービス要求処理プログラム406を含む。処理プログラム406は、例えばアプリケーションインターフェース222を介して受信される公表サービス要求408を処理する。図4に示されるサービス要求408は、サービス要求408と共に含まれるデジタル証明書内に存在することができる証明書識別子410(例えば、公開鍵又はサブジェクト一意の識別子)を含む。処理プログラム406は、最初にデジタル証明書を復号し証明機関による証明書の発行を検証することによって公表サービス要求408を認証することができる。次いで、処理プログラム406は、検証された公開鍵を利用してサービス要求408を(例えば、解読されたメッセージハッシュ値と計算されたメッセージハッシュ値とを比較することによって)認証することができる。或いは、機能ハンドラ226は、認証にウェブサーバー426を利用することができる。
【0046】
1つの実装では処理プログラム406は、要求408から証明書識別子410を抽出する。処理プログラム406は、要求をアクセス管理モジュール230に送出し、証明書識別子410に基づいてプロファイリングデータベース228をサーチする。アクセス管理モジュール230は、サーチ結果を処理プログラム406に返す。その結果、処理プログラム406は、証明書識別子410に対応し、要求されたサービスに対応するアクティブな(或は他の方法で許可された)インストールサービスにリンクされる許可された企業アプリケーションが存在するかどうかを判定する。
【0047】
認証及び許可されたアプリケーションからの公表サービス要求では、機能ハンドラ226は、どの公表サービスが要求されたかを判定する。サービスタイプをサービス要求408で指定し、或いは送信されるサードパーティゲートウェイ110内の特定のエンドポイントに基づいてサービス要求を区別することができる。各サービス要求408は、要求される公表サービスのタイプに応じて形式及びコンテンツが異なる可能性がある。
【0048】
サードパーティゲートウェイ110は、サードパーティ102に対する公表サービスのウェブサービス記述言語(WSDL)記述子を定義し公開することができる。WSDL記述子は、サービスのロケーション(例えば、サードパーティアクセスゲートウェイ110で設定されたエンドポイントのネットワークアドレス)及びサービスが公表する機能を指定することができる。WSDL記述子はまた、各公表サービス、実行することができるオペレーション、及び包含されるメッセージを定義することができる。従って、サードパーティ102は、公開された記述子を受け取り、サービス要求を伝達する場所、サービス要求が準拠すべき形式及びコンテンツ、並びに期待できる応答の形式及びコンテンツを理解する。
【0049】
機能ハンドラ226は、サービスブローカー116と要求アプリケーション106間の仲介手段として機能する公表サービスインターフェース412を提供する。公表サービスインターフェース412は、受け取ったサービス要求メッセージ408をサードパーティゲートウェイ110によって予想される形式(例えば、WSDL記述子で指定された入力メッセージの形式)からこのような要求のサービスブローカー116によって予想される形式に変換することができる。換言すると、ラッパーは、公表サービスのための入力メッセージを形成するためにWSDL定義によって加えられるマッピングである。従って、公表サービスインターフェース412は、サービスブローカー116を公表サービス要求メッセージの大きく異なる可能性のある形式及びコンテンツから分離し、要求アプリケーションを公表サービスに効率的に接続する。
【0050】
このために、公表サービスインターフェース412は、サービスブローカー116のための標準化された(すなわちラップされた)公表サービス要求424を準備するラッパー論理を含むことができる。ラッパー論理は、WSDLを構文解析して受信されたメッセージの形式及びコンテンツをWSDL定義で指定されたメッセージ定義に適合するように変換する処理プログラムを表わすことができる。サービスブローカー116によって予想されるメッセージフォーマットの実施例を以下に説明する。
【0051】
ラッパー論理は、公表サービスのいずれに対しても提供することができる。図4は、SMSラッパー414、MMSラッパー416、及び状態問合せラッパー418を示す。図4はまた、モバイルユーザ認証ラッパー420、ユーザ認証ラッパー422、SIPラッパー432、及びChargeラッパー434を示している。
【0052】
1つの実装では公表サービスインターフェース412は、ジャバ遠隔メソッド呼出し(RMI)を利用することができる。RMIは、ジャバオブジェクトを定義することができるメカニズム、及び遠隔で呼びされるこれらの方法を提供する。このために、サービスブローカー116は、公表サービス要求を扱うオブジェクトを生成するオブジェクトサーバーとして機能することができる。オブジェクトは、機能ハンドラ226がオブジェクトに対する参照を取得して該オブジェクトを遠隔で呼び出すことができるように登録することができる。しかしながら、サードパーティゲートウェイ110は、他のメッセージ通信及び遠隔手続き呼出し技術によりラップされたサービス要求メッセージ及び応答をサービスブローカー116との間で送受信することができる。
【0053】
機能ハンドラ226は、サービスブローカー116から公表サービス要求に対するサービス要求応答426を取得する。機能ハンドラ226は、要求応答426を要求アプリケーションに提供する。更に、機能ハンドラ226は、各公表サービス要求応答のための標準応答フォーマットを提供することができる。このために、図4に示されたラッパーは、WSDL定義で定義された出力メッセージに従ってラップされた公表サービス要求応答428を生成することができる。
【0054】
機能ハンドラ226はまた、ログファイル430を作成することができる。ログファイル430は、許可された加入者情報、証明書識別子、サービス要求日時、実行された要求の数、実行された要求のタイプ、エラーコード、トランザクション識別子、及び他の情報などのいずれかの要求された公表サービス追跡情報を含むことができる。機能ハンドラ226は、プロファイリングデータベース228のログテーブルを構文解析して読み込むためのレポーティングモジュール234にログファイル430を供給することができる。
【0055】
図5は、プロファイリングデータベース228のデータモデルの例示的な実装を示す。プロファイリングデータベース228は、アーキテクチャ100によって提供される1つ又はそれ以上の公表サービスへのアクセスが可能な企業を特徴付ける情報を記憶する企業テーブル502を含む。企業識別子フィールド504は、企業テーブル502の各記録を一意に識別するための一次キーを提供する。企業テーブル502は、以下の表1に詳細に示される。
【0056】
エンドユーザテーブル506は、ネットワーク通信サービス及び公表サービスを使用するMSISDN(一般的に特定の個人に関連する)に関する情報を記憶する。エンドユーザテーブル506は、エンドユーザ、その企業、及びそのMSISDN間の関係を設定する。一次キーエンドユーザ識別子フィールド508は、エンドユーザテーブル506の各記録を一意に識別する。エンドユーザテーブル506は、以下の表2に詳細に示されている。
【0057】
MSISDNテーブル510は、MSISDNフィールド512で識別されたMSISDNを設定するデバイス識別子テーブルを提供する。MSISDNは、携帯電話用のGSM SIMカードなどの加入者デバイスと関連付けることができる。次いで、エンドユーザテーブル506は、エンドユーザをMSISDN識別子フィールドを使用してMSISDNに関連付けることができる。MSISDNテーブル510の当該状態フィールドは、加入者デバイス状態を提供する。一次キーは、MSISDNテーブル510の各記録を一意に識別するMSISDN識別子フィールド514で提供される。MSISDNテーブル510は、以下の表3に詳細に示されている。
【0058】
状態テーブル520は、エンドユーザ、企業、MSISDN、又は他のエンティティに対する可能な状態を設定する。一次キー状態識別子フィールド522は、状態テーブル520の各記録を一意に識別する。状態テーブル520は、以下の表4に詳細に示されている。
【0059】
状態の実施例は、アクティブ、非アクティブ、中断、及びアイドルを含む。従って、サードパーティゲートウェイ110は、その状態を多くの異なるレベルの1つに設定することができる。例えば、状態は、企業、企業アプリケーション、ユーザ、又は特定のMSISDNの状態を反映できる。サービス要求を許可する場合、サードパーティゲートウェイ110は、状態が要求を許可する前のいずれかの要求レベルにあることをチェックすることができる。例えば、サードパーティゲートウェイ110は、MSISDN及びエンドユーザの両方がアクティブのまま維持されることを保証することができる。代替的に或いは追加として、ゲートウェイ110は、関連する企業もまたアクティブのまま維持されることを保証することができる。
【0060】
エンドユーザクロスアプリケーションテーブル516は、エンドユーザとエンドユーザが加入しているビジネスアプリケーションとの間の関係を設定する。エンドユーザ識別子及びアプリケーション識別子フィールドは、エンドユーザを企業アプリケーションにリンクする一次キー/外部キーフィールド518を提供する。エンドユーザクロスアプリケーションテーブル516は、以下の表5に詳細に示されている。
【0061】
企業アプリケーションテーブル524は、公表サービス要求を提示することができる企業内のアプリケーションの特徴を設定する。特徴は、名前、記述、URL、証明書識別子フィールド526に記憶された証明書識別子、及び他の特徴を含むことができる。一例として、企業アプリケーションテーブルは、例えばサードパーティサービスプロバイダで実行するSMSフロント及びアプリケーションの特徴を指定することができる。SMSフロントエンドは、該SMSフロントエンドに関連付けられた企業の顧客に代わってサードパーティゲートウェイ110にSMS要求を提示することができる。
【0062】
一次キーアプリケーション識別子フィールド528は、企業アプリケーションテーブル524で各記録を一意に識別する。更に、状態識別子は、各企業アプリケーション記録の状態情報を提供する。企業アプリケーションテーブル524は、以下の表6に詳細に示されている。
【0063】
インストールされたサービステーブル530は、企業が加入している公表サービスの記録を設定する。従って、インストールされたサービスは、企業アプリケーションがどの公表サービスを要求することができるかを識別する。インストールされたサービス識別子フィールド532は、一次キーとして機能し、インストールされたサービステーブル530の各記録を一意に識別する。インストールされたサービステーブル530は、以下の表7に詳細に示されている。
【0064】
インストールされた属性テーブル534は、特定の企業に関連したサービスの特徴を設定する。インストールされた属性識別子フィールド536は、一次キーとして機能し、インストールされた属性テーブル534の各記録を一意に識別する。以下の表8は、インストールされた属性テーブル534を詳細に示している。
【0065】
サービス属性テーブル538は、サードパーティアクセスゲートウェイ110を介して使用可能な公表サービスの属性についての名前、記述、及びデフォルト値を記憶する。サービス属性の実施例には、
経常的料金:サービスを使用するために毎月支払われるコスト(例えば、センドSMS又はセンドMMSの公表サービスにアクセスするための1カ月のコスト)
スレショルド:毎月送信できるSMS又はMMSメッセージの量
追加の割当額:スレショルドを越えた場合の1つのSMS又はMMSメッセージ当たりのコスト
を含む。
【0066】
デフォルト値は、インストールされた属性テーブルにエクスポートできる。次いで、インストールされた属性テーブルの値は、特定企業アプリケーションに対して適切に修正できる。
【0067】
属性識別子フィールド540は、一次キーとして機能し、サービス属性テーブル538の各記録を一意に識別する。以下の表9は、サービス属性テーブル534を詳細に示している。
【0068】
サービスカタログテーブル542は、サードパーティアクセスゲートウェイ110を介して使用可能な公表サービスに関連する名前、記述、状態、及び他の情報を記憶する。各ビジネスアプリケーション114又はサービスプロバイダ106は、サービスカタログテーブル542で定義された1つ又はそれ以上のサービスに加入することができる。サービスカタログテーブル542は、公表されたSMS、MMS、Charge、又は他のタイプの公表サービスのための名前、記述、識別子、及び状態を提供する記録を設定することができる。サービス識別子フィールド544は、一次キーとして機能し、サービスカタログテーブル542の各記録を一意に識別する。以下の表10は、サービスカタログテーブル542を示している。
【0069】
一例として、プロファイリングデータベース228は、公表されたSMSサービスを定義することができる。このために、サービスカタログは、「Send SMS」に設定されたService_Nameで新しい記録を設定することができる。次いで、サービス属性テーブルは、「100」のAttribute_Default_Value(すなわち、1カ月につき100のSMSメッセージ)で「Threshold」のAttribute_Nameを設定することができる。Attribute_Descriptionは任意選択的に、スレショルドを記述する1つのテキスト文字列に設定することができる。サービス属性テーブルはまた、$1,000のAttribute_Default_Value(すなわち、1カ月当たり$1,000の公表サービスコストまでのアクセス)で経常的料金属性を定義することができる。関連するAttribute_Descriptionは、経常的料金を記述するテキスト文字列を提供することができる。
【0070】
サードパーティの企業は、公表されたSMSメッセージサービスへアクセスするために通信サービスプロバイダと交渉することができる。アクセスの期限及び条件は、交渉によって決まることになり、プロファイリングデータベース228のデータモデルによってサポートされる。プロファイリングデータベース228は、企業の企業記録を設定し、企業にリンクされた企業アプリケーション記録を設定する。次いでインストールされたサービステーブルは、サービスカタログで定義された「Send SMS」サービスを指定する企業アプリケーションのためのインストールされたサービス記録を設定することができる。サービス属性テーブルで提供されるデフォルト値は、インストールされた属性テーブルの企業に対し具体的に設定することができる。例えば、インストールされた属性テーブルは、1カ月につき10,000SMSメッセージのスレショルド、及び1カ月につき$5,000の経常的料金を定義することができる。
【0071】
企業アプリケーションとインストールされたサービスの組合せは、企業アプリケーションのためのクライアントポートフォリオを設定する。企業アプリケーションは、サードパーティゲートウェイ110がクライアントポートフォリオに関して許可するサービス要求を提示する。ポートフォリオデータベース228で設定されたデータモデルは、クライアントポートフォリオの柔軟な定義、修正、及び削除をサポートする。
【0072】
図5は、特にサービス要求の種々のタイプの効率的な設定及び許可をサポートするデータモデルを実装するプロファイリングデータベース228を示している。企業テーブル502は、サービス要求者の複数のタイプを関連する企業に戻って関連付けるルートテーブルとしての働きをする。企業テーブル502から、データモデルは、ネットワーク通信要求者及び公表サービス要求者に対する独立したブランチを設定する。要求者の各タイプは企業に関連付けられている。例えば、1つの企業は、ネットワーク通信サービス(例えば、インターネット閲覧サービス)を要求する両方の従業員を含むことができ、同時に企業は、公表されたSMSサービスに対する要求を提示するアプリケーション(例えば、SMSフロントエンド)を設定することができる。
【0073】
データモデルにより、サードパーティゲートウェイ110は、種々の基準に基づいて要求者の各タイプを許可することができる。従って、基準は、要求者タイプに対して独自に選択し、調整することができる。同時にデータモデルのブランチング構造により、要求者の各タイプは同じデータモデルに共存でき、単一の企業に対する関係を設定でき、更に要求者の各タイプに対して一意の許可制御をサポートすることができる。
【0074】
企業テーブルは、企業テーブル502(表2)の一意の企業識別子を使用してサードパーティゲートウェイ110にアクセスできる1つ又はそれ以上の企業を定義する。エンドユーザブランチ554は、エンドユーザテーブル506の一意のエンドユーザ識別子508と企業識別子フィールドを使用した特定の企業へ戻る関係を提供することによって設定される。同様に、企業アプリケーションブランチ556は、企業識別子フィールドを使用した特定の企業へ戻る関係によって企業アプリケーションを設定する一意のアプリケーション識別子528を提供することによって設定される。従って、エンドユーザ及び要求アプリケーションは、要求者の両方のタイプを含むことができる企業へ戻ってリンクされる。
【0075】
更に、データモデルの各ブランチは、要求者の各タイプに対して種々の許可基準を設定するメカニズムを提供する。エンドユーザブランチでは、例えばMSISDNは、ネットワーク通信アクセス要求(例えば、インターネットを閲覧する移動電話ユーザ又はPDAユーザのための)を許可するデータフィールドを提供する。従って、エンドユーザブランチは、エンドユーザテーブル506(表2)のMSISDN識別子フィールドによってエンドユーザをMSISDNに関連付けるMSISDNテーブル510を設定する。
【0076】
データモデルはまた、エンドユーザのための複数の許可オプションを提供する。このために、データモデルは、状態(例えば、アクティブ、非アクティブ、中断、又はアイドル)を定義する状態テーブル520を設定する。サードパーティゲートウェイ110は、要求を許可すべきかどうかをその状態から判定することができる。エンドユーザテーブル506で定義された各エンドユーザ及びMSISDNテーブル510で定義された各MSISDNは、状態を指定することができる。
【0077】
例えば、サービス要求ハンドラ224は、サービス要求がMSISDNテーブル510で設定されたMSISDNを伴う場合に許可されるエンドユーザのネットワーク通信要求を考慮することによって許可ポリシーを管理することができる。ポリシーに応じて、サービス要求ハンドラ224はまた、MSISDNが許可された状態(例えば、アクティブ)を有することをチェックし保証することができる。更に又は代替的に、ポリシーに応じてサービス要求ハンドラ224は、MSISDNにリンクされたエンドユーザが許可された状態を有することを保証するためにチェックすることができる。データモデルはこれによって、エンドユーザの許可制御を設定するための効率的且つ柔軟なメカニズムを提供する。更に、エンドユーザのための許可制御は、企業アプリケーションの許可制御とは無関係である。
【0078】
データモデルのアプリケーションブランチは、企業アプリケーションに対する異なる許可メカニズムを設定する。特に、アプリケーションブランチは、証明書識別子に基づいて許可を設定する。このために、アプリケーションテーブル524で定義された各企業アプリケーションは、証明書識別子フィールド526を含む。証明書識別子フィールド526は、デジタル証明書の認証を介してデジタル証明書から取得された識別子(例えば、公開鍵又はサブジェクト一意の識別子)に対してチェックすることができる事前割当て識別子(例えば、公開鍵)を記憶する。
【0079】
証明書識別子は認証中に取得される。データベース228の企業アプリケーション記録に証明書識別子を含むと、追加の許可識別子を必要とすることなく証明書識別子の使用を許可まで効率的に拡張する。従って、機能ハンドラ228は、極めて安全な認証技術をサポートするだけでなく、企業アプリケーションの効率的で安全な許可のために認証から取得された結果を使用する。企業アプリケーションの許可を強化することで、サードパーティによる有用な通信サービスの許可されないアクセスに対して強力な保護が得られる。
【0080】
更に、データモデルは、柔軟なサービス定義及び属性定義構造を提供する。特に、データモデルは、インストールされたサービステーブル530(表7)のアプリケーション識別子を使用して1つ又はそれ以上のインストールされたサービスを各企業アプリケーションに関連付けることができる。このように、企業アプリケーションが要求を許可された公表サービスが設定され、企業アプリケーションにリンクされる。次いでサービスカタログテーブル542は、サービス記述フィールドを使用して各インストールされたサービスに対して詳細な記述を提供することができる。
【0081】
同様に、インストールされた属性テーブル534は、インストールされたサービス識別子フィールド(表8)によって提供されたリンクを介してインストールされたサービスの特定の属性を定義することができる。次いでサービス属性テーブル538は、属性記述フィールドを使用して各属性に対して詳細な記述を提供することができる。インストールされた属性に対するデフォルト値は、サービス属性テーブル538から提供することができる。
【0082】
企業アプリケーションブランチのテーブル524、530、534、538、及び542の各々は、状態識別子フィールドを含むことができる。データモデルはこれによって、企業アプリケーションがいずれかの所与の公表サービスの使用を許可された場合に設定する際の相当量の追加のポリシー管理の柔軟性を提供する。例えば、証明書識別子の認証及び回復後、機能ハンドラ228は、証明書識別子にマッチするアクティブな企業アプリケーションが企業アプリケーションテーブル524で見つけられた場合に、企業アプリケーションが要求されたサービスの使用を許可することを判定する許可ポリシーを設定することができる。更に、ポリシーは、要求された公表サービスにマッチするアクティブなインストールされたサービスに企業アプリケーションをリンクすることを要求することができる。更に、許可ポリシーに応じて、機能ハンドラ228は、インストールされたサービスをアクティブなインストールされた属性、サービス属性、又はサービスカタログエントリにリンクすることを要求することができる。実施されたポリシーに応じて、データモデルは、テーブル524、530、534、538、及び542の1つ又はそれ以上において状態フィールドを修正することによって公表サービスへのアクセスを柔軟に許可或いは拒否することができる。
【0083】
従ってデータモデルは、エンドユーザ、企業アプリケーション、又は他のサービス要求者を許可する際に調べる状態フィールド及び許可識別子(例えば、MSISDN識別子及び証明書識別子)に基づいて柔軟なポリシー管理をサポートする。ポリシーは、要求が許可されたとみなされる前にデータモデルの各ブランチ内の1つ又はそれ以上のレベル(例えば、企業レベル、エンドユーザレベル、MSISDNレベル、又は企業アプリケーションレベル)でデータモデルの1つ又はそれ以上の記録について状態基準を指定することができる。ポリシーは、各企業アプリケーション及びエンドユーザによって異なる場合がある。
【0084】
上述のように、レポーティングモジュール234は、ログファイル236を構文解析し、プロファイリングデータベース228にログテーブルを応答可能に読み込むことができる。第1ログテーブル546は、通信ネットワークアクセス要求(例えば、HTTP要求)のためログがとられた(例えば、毎日)情報を記憶することができる。オブジェクト識別子フィールド538は、ログテーブル546の各行の一意の識別子を提供する。表11は、第1ログテーブル546の例示的な実装を示している。
【0085】
第2ログテーブル550は、公表サービス要求(例えば、SMS請求要求)のための(例えば、毎日)ログがとられた情報を記憶することができる。オブジェクト識別子フィールド552は、ログテーブル550の各行の一意の識別子を提供する。表12は、第2ログテーブル546の例示的な実装を示している。
【0086】
図6は、通信ネットワークアクセス要求を扱うためのメッセージフロー図600を示している。概略として、サービス要求ハンドラ224は、アクセス要求を受け取り、要求者に許可を与え、要求をウェブサーバーに転送する。ウェブサーバーはアクセス要求結果をサービス要求ハンドラ224に返し、次いでサービス要求ハンドラ224は該結果を要求パーティに返す。
【0087】
図6は、サービスパーティ(例えば、エンドユーザ又は加入者デバイス)が、MSISDN、サービスパーティ識別子、URL、又は他のネットワークアクセス情報を含むことができるHTTPサービス要求を送信する(動作602)ことを示している。サービス要求ハンドラ224は、HTTP要求からMSISDNを抽出する(動作604)。サービス要求ハンドラ224は、MSISDNに基づいてデータベースサーチを開始する。MSISDNが見つけられアクティブである場合、要求が許可される。
【0088】
サービス要求ハンドラ224はまた、プロファイリングデータベース228をサーチし、サービスパーティの記録が存在するかどうかを判定することができる(動作606)。プロファイリングデータベース228は、サーチ結果を返す(動作608)。サービスパーティが現在存在していない(動作610)場合、サービス要求ハンドラ224は、サービスパーティをプロファイリングデータベース228に追加し、そのサービスパーティをアクティブなMSISDNに関連付ける(動作612)。
【0089】
サービス要求ハンドラ224はまた、サービスパーティが存在すること、及び抽出されたMSISDNがサービスパーティの新しいMSISDNであることを判定することができる(動作614)。この場合、サービス要求ハンドラ224は、サービスパーティの古いMSISDNの状態をイナクティブに更新することができる(動作616)。更に、サービス要求ハンドラ224は、プロファイリングデータベース228のサービスパーティのMSISDNを更新し、新しいMSISDNを反映する(動作618)。サービス要求ハンドラ224はこれによって、どのサービスパーティがどのMSISDNに関連付けられるかを正確に維持する。
【0090】
更に、サービス要求ハンドラ224は、該要求を要求されたデータによって応答するウェブサーバーに送信する。このために、サービス要求ハンドラ224は、MSISDNに基づいて該要求をウェブサーバーにルーティングすることができる。例えば、サービス要求ハンドラ224は、MSISDNと、その要求を扱うために割り当てられたウェブサーバーとの間の相関性を設定するルックアップテーブルを実装することができる。
【0091】
このために、1つの実装において、サービス要求ハンドラ224は、要求のURL及び割り当てられたウェブサーバーに基づいて新しいURLを作る(動作620)。換言すると、新しいURLは、MSISDNにマップされたサーバーから元のURLでのコンテンツの要求を指定する。サービス要求ハンドラ224は、HTTP要求を選択されたウェブサーバーに転送し(動作622)、その応答データを受信する(動作624)。応答データは、発信サービスパーティに伝達される(動作626)。
【0092】
図7及び図8は、公表サービス要求を扱うためのメッセージフロー図700及び800を示している。概略として、機能ハンドラ226は、サービス要求を受信し、要求者を認証し、更に要求者が公表サービスへのアクセスを許可されたことを検証する。認証され許可された要求者からの公表サービス要求は、ラップされてサービスブローカー116に配信される。
【0093】
図7に示されるように、機能ハンドラ226は、外部の企業アプリケーション106からMMS/SMSサービス要求を受け取る(動作702)。サービス要求はまた、サービスプロバイダ114からも受け取ることができる。機能ハンドラ226は、要求から証明書識別子を抽出する(動作704)。機能ハンドラ226は、企業アプリケーションテーブル524のマッチング証明書識別子についてプロファイリングデータベース228をサーチし(動作706)、プロファイリングデータベース228はサーチ結果を返す(動作708)。マッチング証明書識別子は、要求企業アプリケーションを許可することができ、或いは企業アプリケーションに許可を与えるために行われる1つのチェックとすることができる(動作710)。企業アプリケーション及び/又は関連する企業の状態のチェックなどの追加のチェックは、許可が完了する前に実行することができる。
【0094】
機能ハンドラ226は、サービス要求にマッピングを加える(動作712)。次いで、機能ハンドラ226は、RMI要求をサービスブローカー116に送信する(動作714)。サービスブローカー116は、要求応答をRMI要求に返す(動作716)。応答は、サービスブローカー116が要求を受信したことの肯定応答とすることができる。機能ハンドラ226は、要求応答をアプリケーション116に返す(動作718)。
【0095】
図8に示されるように、機能ハンドラ226は、サービスプロバイダ114からCharge、SIP、又はUser Authorization request(ユーザ許可要求)を受け取り(動作802)、証明書識別子を抽出する(動作804)。企業アプリケーションはまた、このようなサービス要求を提示することができる。機能ハンドラ226は、アプリケーションテーブル524のマッチング証明書識別子についてプロファイリングデータベース228をサーチし(動作806)、プロファイリングデータベース228はサーチ結果を返す(動作808)。機能ハンドラ226は、認証されたアプリケーションが許可されるかどうかを判定する(動作810)。
【0096】
更に具体的には、マッチング証明書識別子はアプリケーションを許可し、或いは企業アプリケーションを許可する場合の第1ステップを提供することができる。機能ハンドラ226はまた、要求企業アプリケーションに関連したサービスについてプロファイリングデータベース228をサーチすることができる。アクティブなサービスがプロファイリングデータベース228の要求アプリケーションに関連して見つけられた場合、機能ハンドラ226は、サービス要求を許可することができる。機能ハンドラ226は、プロファイリングデータベース228の要求企業アプリケーション、関連企業、又は他の記録の状態に基づいて他の許可ポリシーを実装することができる。
【0097】
許可されたサービス要求を提示する認証されたアプリケーションにおいて、機能ハンドラ226は、提示のためにサービス要求をラップする。次いで機能ハンドラ226は、遠隔メソッド呼出しを実行し要求をサービスブローカー116に送出することができる。機能ハンドラ226はこれによって、RMIを介してラップされた要求をサービスブローカー116に送信する(動作814)。機能ハンドラ226は、サービスブローカー116から応答を受け取る(動作816)。応答は、サービスブローカー116によって提供された肯定応答、エラーメッセージ、又は他の応答とすることができる。機能ハンドラは、要求応答をアプリケーション106に返す(動作818)。
【0098】
図9は、公表されたSMSサービスのためのサービス要求900の実施例を示している。アプリケーションは、アーキテクチャ100にSMSサービス要求を提示し、アーキテクチャ100がSMSメッセージを送信して、アプリケーションに代わってそのSMSメッセージに対して請求するよう要求することができる。サービス要求900は、サービス要求の一意の識別子を提供することができるトランザクション識別子フィールド902、要求がSMS要求であることを指定することができるメッセージタイプフィールド904、及び要求がSMSのどのバージョンに準拠するかを指定するSMSバージョンフィールド906を含む。サービス要求900はまた、To Addressフィールド910、CC Addressフィールド912、及びBCC Addressフィールド914などのアドレス指定情報を含む。サービスコードフィールド916は、SMSサービス要求を提示するサービスプロバイダの識別子を提供する。
【0099】
配信タイミング情報もまたサービス要求900内に存在する。特に、要求900は、要求時間フィールド918、有効時間フィールド920、及び最短配信時間フィールド922を含む。要求900はまた、優先順位フィールド924を使用したメッセージ優先順位、サブジェクトフィールド926のメッセージのサブジェクト、及び請求パーティフィールド928でのメッセージの配信に対して課金するパーティを指定する。SMSメッセージのコンテンツは、コンテンツフィールド930内に存在する。
【0100】
上述のように、公表サービスインターフェース412は、要求をサービスブローカー116の標準形式にラップすることができる。図10は、ラップされたSMSメッセージ1000の実施例を示している。SMSラッパー414は、トランザクション識別子フィールド902をトランザクション識別子フィールド1002にマップし、メッセージタイプ(例えば、SMSメッセージのための「SMSDELIVERY」)を指定することができるトランザクションラベルフィールド1004を追加し、更に、SMSバージョンフィールド906をドロップしながらメッセージタイプフィールド904をサービスタイプフィールド1006にマップする。同様に、SMSラッパー414は、アドレス指定フィールド910−914をTo Addressフィールド1010、CC Addressフィールド1012、及びBCC Addressフィールド1014にマップし、更にサービスコードフィールド916をサービス識別子フィールド1016にマップする。
【0101】
配信タイミング情報もまた、ラップされた要求1000内に存在する。特に、SMSラッパー414は、要求時間フィールド918を開始日付フィールド1018にマップし、有効時間フィールド920を終了日付フィールド1020にマップし、更に最短配信時間フィールド922をドロップする。SMSラッパー414はまた、優先順位フィールド924を優先順位フィールド1022に、サブジェクトフィールド926をサブジェクトフィールド1024に、及び請求パーティフィールド928をアカウント識別子フィールド1026にマップする。SMSメッセージのコンテンツは、コンテンツフィールド930からメッセージ本体フィールド1028にマップされる。
【0102】
表13は、図9に示された要求メッセージから得られたフィールド値を有するラップされたXML SMS要求メッセージの例示的な実装を示している。ラップされたメッセージは、ラベルフィールド(SMSメッセージの「SMSDELIVERY」に設定)を追加する。
【0103】
【0104】
図11は、サービスブローカー116から返された公表サービス応答1100の実施例を示している。応答1100は、要求の肯定応答を提供し、トランザクション識別子フィールド1102、トランザクションラベルフィールド1104、及び要求状態フィールド1106を含む。応答1100はまた、要求しているアプリケーションにエラー条件を伝達するエラーコードフィールド1108及びエラー記述フィールド1110を提供する。
表14は、図11に示されたデータフィールドを伝達するXMLメッセージの実施例を示している。
【0105】
【0106】
機能ハンドラ226はまた、要求アプリケーションへの配信のためのサービスブローカー応答をラップすることができる。換言すると、要求アプリケーションに返された応答メッセージの形式及びコンテンツは、サービスブローカー116から送信された応答メッセージの形式及びコンテンツとは異なる可能性がある。図12は、ラップされたSMS応答1200の実施例を示している。
【0107】
SMSラッパー414は、応答1100からの情報を、トランザクション識別子フィールド1202、状態フィールド1204、エラーコードフィールド1206、及びエラー記述フィールド1208を含むラップされた応答1200にマップする。ラップされた応答1200はまた、メッセージタイプフィールド1210(例えば、要求アプリケーションによって予想される「<SMS>」又は別の値に設定)、及び適用可能なSMSバージョンを要求アプリケーションにレポートするSMSバージョンフィールド1221を追加する。トランザクションラベルフィールド1104はドロップすることができる。
【0108】
図13は、MMSの公表サービス要求1302からラップされたMMSサービス要求1304へのマッピングを示す。TSOLABELは、「MMSDelivery」又は他のいずれかの識別子に設定することができる。アプリケーションは、マルチメディアコンテンツをいずれかの指定された受信者に配信するためにMMSサービス要求を送出することができる。図14は、MMSの公表サービス応答1402からラップされたMMSサービス応答1404へのマッピングを示している。
【0109】
図15は、SIPの公表サービス要求1502からラップされたSIPサービス要求1504へのマッピングを示している。TSOLABELは、「SIPCall」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、SIP要求1502で指定された送信者と受信者間の通信チャンネルを設定するためにSIP要求を開始することができる。図16は、SIPの公表サービス応答1602からラップされたSIPサービス応答1604へのマッピングを示している。TSOLABELフィールドはドロップすることができる。
【0110】
図17は、状態公表サービス要求1702からラップされた状態サービス要求1704へのマッピングを示している。TSOLABELは、「GetUserStatus」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、状態要求1702にリストされた1つ又はそれ以上のユーザの状態をチェックするために状態要求を送出することができる。状態要求1702は、特定のサービスプロバイダに関する状態を要求するためにプロバイダ識別子を更に含むことができる。図18は、状態応答1802からラップされた状態サービス応答1804へのマッピングを示している。
【0111】
図19は、認証公表サービス要求1902からラップされた認証サービス要求1904へのマッピングを示している。TSOLABELは、「認証」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、特定のサービス及びプロバイダに関するMSISDNの認証を要求するために認証要求1902を送出することができる。図20は、状態公表サービス応答2002からラップされた状態サービス応答2004へのマッピングを示している。応答は、サービス状態(例えば、「OK」、又は「切断」)、顧客タイプ(例えば「商用」又は「住宅用」)、顧客のサービスプランの識別情報、SIMモジュール、無線デバイスタイプ、MMS又はUMTS又はGPRSメッセージを送受信する機能、アクセスチャンネル(例えば、「モバイル」又は「ランドライン」)、或いはMSISDNが利用可能な他のいずれかの状態情報などの広範な状態情報を含むことができる。
【0112】
図21は、請求(Charge)公表サービス要求2102からラップされた請求サービス要求2104へのマッピングを示している。TSOLABELは、「請求(Charge)」又は他のいずれかの識別子に設定することができる。要求アプリケーションは、2つのエンドポイント間(例えば、送信側URIと受信側URI間)の指定された開始及び終了日付での通信セッションに対する課金を要求し、請求要求2102で指定されたサービスプロバイダによって扱われる請求要求を開始することができる。図22は、請求公表サービス応答2202からラップされた請求サービス応答2204へのマッピングを示している。TSOLABELフィールドは応答でドロップすることができる。
【0113】
表15は、公表サービスについてのWSDL定義の実施例を示している。特に表15は、公表サービスの入力及び出力メッセージ及びメッセージフォーマットを定義することができる例示的なWSDL請求サービス記述子を示している。請求サービス記述子は、請求サービス要求及び応答が入力及び出力メッセージによって定義されるように送信される<ポート>(「ChargeAdapterFrontEnd」)を定義する。更に、請求サービス記述子は、入力及び出力メッセージのためのメッセージ形式及びコンテンツ(それぞれ「submitReqRequest」及び「submitReqResponse」)を定義する。SOAP結合もまた、請求公表サービス要求が(「ロケーション」指定子を介して)送られるロケーションとして定義される。
【0114】
WSDL定義は、類似の方式で各公表サービスに対して設定することができる。WSDL定義は、ゲートウェイ110及び公表サービスの実装に応じて大きく異なる可能性がある。
【0115】
【0116】
サードパーティゲートウェイ110は、通信サービスプロバイダによって提供される公表サービスへの安全で効率的なアクセスを提供する。サードパーティゲートウェイ110は、安全な認証中に取得された証明書識別子を用いることによってサードパーティ許可を強化する。データベース228の企業アプリケーション記録に証明書識別子を含むことで、企業アプリケーション用の許可識別子を別個に又は独自に必要とせずに証明書識別子の使用を許可にまで効率的に拡張する。企業アプリケーションの強化された許可は、重要な通信の無許可のサードパーティアクセスに対する強力な保護をもたらす。
【0117】
更に、MSISDNフィールド及び証明書識別子フィールドは、サービス要求者の種々のタイプに対する独立した許可基準である。データモデルにおける複数のレベル状態フィールドと共に、データモデルは、サービス要求ハンドラ224に対する柔軟なポリシー管理をサポートする。ポリシーは、要求が許可されたと見なされる前に、データモデルにおける各ブランチ内の1つ又はそれ以上のレベル(例えば、企業レベル、エンドユーザレベル、又は企業アプリケーションレベル)でデータモデルの記録に対する状態基準を指定することができる。
【0118】
サービス要求者の複数の種々のタイプのアクセスを安全に許可するための技術を要約すると、サードパーティゲートウェイ110は、サービス要求者の第1タイプ(例えば、企業アプリケーション)から公表サービス要求を受け取る。サードパーティゲートウェイ110はまた、サービス要求者の第2のタイプ(例えば、移動電話デバイス)からネットワーク通信サービス要求を受け取る。サードパーティゲートウェイは、公表サービス要求を認証し、該公表サービス要求を認証することにより安全な許可識別子(例えば公開鍵)を取得する。
【0119】
プロファイリングデータベース228は、安全な許可識別子に基づいてプロファイリングデータベース228で定義されたデータモデルのサービス要求者ブランチからのサーチ結果を提供する。サードパーティゲートウェイ110は、サーチ結果に表示される企業アプリケーションを判定する。企業アプリケーションの許可は、第1サーチ結果の1つ又はそれ以上の状態識別子(例えば、企業アプリケーション識別子)に基づいて進行する。
【0120】
サービス要求者の第2タイプに関して、サードパーティゲートウェイ110は、デバイス識別子をネットワーク通信サービス要求から抽出する。プロファイリングデータベース228はまた、デバイス識別子に基づいて異なるサービス要求者ブランチからサーチ結果を提供する。第2サーチ結果に示された加入者デバイスは、第2サーチ結果の1つ又はそれ以上の加入者デバイス状態識別子に基づいて判定され許可される。
【0121】
本発明の種々の実施形態を説明してきたが、より多くの実施形態及び実装が本発明の範囲内で可能であることは当業者には明らかであろう。従って、本発明は、添付の請求項及びこれらの均等物の観点以外で限定されるものではない。
【図面の簡単な説明】
【0122】
【図1】サードパーティアクセスゲートウェイを含む通信アーキテクチャの一部を示す図である。
【図2】サービスブローカーと、外部デバイス、アプリケーション、及びサービスプロバイダと通信状態にあるサードパーティアクセスゲートウェイを示す図である。
【図3】アクセス管理モジュールと通信状態にあるサービス要求ハンドラを示す図である。
【図4】アクセス管理モジュールと通信状態にある機能ハンドラを示す図である。
【図5】プロファイリングデータベースを示す図である。
【図6】通信ネットワークアクセス要求のメッセージフロー図である。
【図7】SMS及びMMS公表サービス要求のためのメッセージフロー図である。
【図8】請求(Charge)、SIP、及び許可サービス要求のメッセージフロー図である。
【図9】SMS公表サービス要求を示す図である。
【図10】ラップされたSMSサービス要求を示す図である。
【図11】SMSサービス要求応答を示す図である。
【図12】ラップされたSMSサービス要求応答を示す図である。
【図13】MMS公表サービス要求からラップされたMMSサービス要求へのマッピングを示す図である。
【図14】MMS公表サービス応答からラップされたMMSサービス応答へのマッピングを示す図である。
【図15】SIP公表サービス要求からラップされたSIPサービス要求へのマッピングを示す図である。
【図16】SIP公表サービス応答からラップされたSIPサービス応答へのマッピングを示す図である。
【図17】状態公表サービス要求からラップされた状態サービス要求へのマッピングを示す図である。
【図18】状態応答からラップされた状態サービス応答へのマッピングを示す図である。
【図19】認証公表サービス要求からラップされた認証サービス要求へのマッピングを示す図である。
【図20】認証公表サービス応答からラップされた認証サービス応答へのマッピングを示す図である。
【図21】請求公表サービス要求からラップされた認証サービス要求へのマッピングを示す図である。
【図22】請求公表サービス応答からラップされた認証サービス応答へのマッピングを示す図である。
【符号の説明】
【0123】
100 通信アーキテクチャ
102 サードパーティ
104 加入者デバイス
106 アプリケーション
108 その他
110 サードパーティアクセスゲートウェイ
112 サービス要求
114 サービスプロバイダ
116 サービスブローカー
118 ビジネスサポートシステム(BSS)及びオペレーションサポートシステム(OSS)
120 ネットワーク層
【特許請求の範囲】
【請求項1】
通信サービスにアクセスする複数の種々のタイプのサービス要求者に対してアクセスを安全に許可する方法であって、
サービス要求者の第1のタイプから公表サービス要求を受け取る段階と、
前記公表サービス要求を認証し、前記公表サービス要求の認証から安全な許可識別子を取得する段階と、
前記安全な許可識別子に基づいてプロファイリングデータベースで定義された第1サービス要求者ブランチ(branch)から第1サーチ結果を取得する段階と、
前記第1サーチ結果に示された企業アプリケーションを判定する段階と、
前記第1サーチ結果における企業アプリケーション状態識別子に基づいて前記企業アプリケーションを許可する段階と、
サービス要求者の第2のタイプからネットワーク通信サービス要求を受け取る段階と、
前記ネットワーク通信サービス要求からデバイス識別子を抽出する段階と、
前記デバイス識別子に基づいてプロファイリングデータベースの第2サービス要求者ブランチから第2サーチ結果を取得する段階と、
前記第2サーチ結果に示された加入者デバイスを判定する段階と、
前記第2サーチ結果の加入者デバイス状態識別子に基づいて前記加入者デバイスを許可する段階と、を含む方法。
【請求項2】
前記公表サービス要求を受け取る段階が、クライアント証明書が添付された公表通信サービス要求を受け取る段階を含む請求項1に記載の方法。
【請求項3】
前記安全な許可識別子が、前記クライアント証明書において符号化された公開鍵を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1サービス要求者ブランチが、企業テーブルにリンクされた企業アプリケーションテーブルを含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記第1要求者ブランチは更に、前記企業アプリケーションテーブルにリンクされたサービステーブルをインストールすることを含み、
そして、前記企業アプリケーションを許可する段階が、
前記企業アプリケーションがアクティブであることを前記企業アプリケーション状態識別子が指定したと判定する段階と、
前記インストールされたサービステーブルが、前記公表サービス要求で要求された前記公表サービスに対応し且つ前記企業アプリケーション記録とリンクするインストールされたサービス記録を定義したことを判定する段階と、を含む請求項4に記載の方法。
【請求項6】
前記許可する段階が更に、前記インストールされたサービス記録がアクティブ状態を有することを判定する段階を含む請求項5に記載の方法。
【請求項7】
前記第2サービス要求者ブランチが、エンドユーザテーブルにリンクされたデバイス識別子テーブルを含み、前記デバイス識別子テーブルが、前記加入者デバイスに対応するデバイス識別子記録を含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記デバイス識別子テーブルは、MSISDNテーブルを含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記加入者デバイスを許可する段階が、
前記加入者デバイスがアクティブであることを前記加入者デバイス状態識別子が指定したと判定する段階と、
前記エンドユーザテーブルは、前記デバイス識別子記録にリンクされたエンドユーザ記録をアクティブ状態で定義したと判定する段階と、を含む請求項7に記載の方法。
【請求項10】
通信アーキテクチャにおけるサードパーティアクセスゲートウェイのためのデータモデルであって、
(a)ルートテーブルと、
(b)加入者デバイスのための第1許可データを提供する加入者デバイス識別子と、前記加入者デバイス識別子に対して定義された加入者デバイス状態とを有するデバイス識別子テーブルを含む、前記ルートテーブルの第1サービス要求者ブランチと、
(c)サードパーティ要求者アプリケーションのための第2許可データを提供する前記サードパーティ要求者アプリケーション用の安全な証明書識別子と、許可されたサードパーティ要求者アプリケーションを指定する企業アプリケーション識別子と、現在のサードパーティ要求者アプリケーション状態を設定する企業アプリケーション状態識別子とを有する企業許可テーブルを含む、前記ルートテーブルの第2サービス要求者ブランチと、を備えるデータモデル。
【請求項11】
前記証明書識別子は、公開鍵暗号化ペアの公開鍵構成要素を含むことを特徴とする請求項10に記載のデータモデル。
【請求項12】
前記加入者デバイス識別子は、モバイル加入者統合サービスデジタルネットワーク(MSISDN)識別子を含むことを特徴とする請求項10に記載のデータモデル。
【請求項13】
前記ルートテーブルは、企業テーブルを含むことを特徴とする請求項10に記載のデータモデル。
【請求項14】
前記第1サービス要求者ブランチは更に、前記企業テーブル及び前記デバイス識別子テーブルにリンクされたエンドユーザテーブルを含むことを特徴とする請求項13に記載のデータモデル。
【請求項15】
前記エンドユーザテーブルは、エンドユーザ状態識別子を含むことを特徴とする請求項14に記載のデータモデル。
【請求項16】
前記企業テーブルは、企業状態識別子を含むことを特徴とする請求項14に記載のデータモデル。
【請求項17】
前記企業アプリケーションテーブルは更に、前記企業アプリケーションテーブルを前記企業テーブルにリンクする企業識別子を含むことを特徴とする請求項13に記載のデータモデル。
【請求項18】
前記企業テーブルは更に、企業状態識別子を含むことを特徴とする請求項16に記載のデータモデル。
【請求項19】
機器により読み出し可能な媒体と、前記媒体上で符号化されアクセスゲートウェイ内のプロセッサにある方法を実行させる命令とを備えた製品であって、前記方法が、
サービス要求者の第1タイプから公表サービス要求を受け取る段階と、
前記公表サービス要求を認証し、前記公表サービス要求の認証から安全な許可識別子を取得する段階と、
前記安全な許可識別子に基づいてプロファイリングデータベースで定義された第1サービス要求者ブランチから第1サーチ結果を取得する段階と、
前記第1サーチ結果に示された企業アプリケーションを判定する段階と、
前記第1サーチ結果における企業アプリケーション状態識別子に基づいて前記企業アプリケーションを許可する段階と、
サービス要求者の第2タイプからネットワーク通信サービス要求を受け取る段階と、
前記ネットワーク通信サービス要求からデバイス識別子を抽出する段階と、
前記デバイス識別子に基づいてプロファイリングデータベースの第2サービス要求者ブランチから第2サーチ結果を取得する段階と、
前記第2サーチ結果に表示された加入者デバイスを判定する段階と、
前記第2サーチ結果の加入者デバイス状態識別子に基づいて前記加入者デバイスを許可する段階と、を含むことを特徴とする製品。
【請求項20】
前記公表サービス要求を受け取る段階が、クライアント証明書が添付された公表通信サービス要求を受け取る段階を含む請求項19に記載の製品。
【請求項21】
前記安全な許可識別子が、前記クライアント証明書において符号化された公開鍵を含むことを特徴とする請求項19に記載の製品。
【請求項22】
前記第1サービス要求者ブランチが、企業テーブルにリンクされた企業アプリケーションテーブルを含むことを特徴とする請求項19に記載の製品。
【請求項23】
前記第1サービス要求者ブランチが更に、前記企業アプリケーションテーブルにリンクされインストールされたサービステーブルを含むことを特徴とする請求項19に記載の製品。
【請求項24】
前記第2サービス要求者ブランチが、エンドユーザテーブルにリンクされたデバイス識別子テーブルを含むことを特徴とする請求項19に記載の製品。
【請求項25】
前記サービス要求者の第1タイプが企業アプリケーションを含み、前記サービス要求者の第2タイプが移動電話加入者を含むことを特徴とする請求項19に記載の製品。
【請求項1】
通信サービスにアクセスする複数の種々のタイプのサービス要求者に対してアクセスを安全に許可する方法であって、
サービス要求者の第1のタイプから公表サービス要求を受け取る段階と、
前記公表サービス要求を認証し、前記公表サービス要求の認証から安全な許可識別子を取得する段階と、
前記安全な許可識別子に基づいてプロファイリングデータベースで定義された第1サービス要求者ブランチ(branch)から第1サーチ結果を取得する段階と、
前記第1サーチ結果に示された企業アプリケーションを判定する段階と、
前記第1サーチ結果における企業アプリケーション状態識別子に基づいて前記企業アプリケーションを許可する段階と、
サービス要求者の第2のタイプからネットワーク通信サービス要求を受け取る段階と、
前記ネットワーク通信サービス要求からデバイス識別子を抽出する段階と、
前記デバイス識別子に基づいてプロファイリングデータベースの第2サービス要求者ブランチから第2サーチ結果を取得する段階と、
前記第2サーチ結果に示された加入者デバイスを判定する段階と、
前記第2サーチ結果の加入者デバイス状態識別子に基づいて前記加入者デバイスを許可する段階と、を含む方法。
【請求項2】
前記公表サービス要求を受け取る段階が、クライアント証明書が添付された公表通信サービス要求を受け取る段階を含む請求項1に記載の方法。
【請求項3】
前記安全な許可識別子が、前記クライアント証明書において符号化された公開鍵を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1サービス要求者ブランチが、企業テーブルにリンクされた企業アプリケーションテーブルを含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記第1要求者ブランチは更に、前記企業アプリケーションテーブルにリンクされたサービステーブルをインストールすることを含み、
そして、前記企業アプリケーションを許可する段階が、
前記企業アプリケーションがアクティブであることを前記企業アプリケーション状態識別子が指定したと判定する段階と、
前記インストールされたサービステーブルが、前記公表サービス要求で要求された前記公表サービスに対応し且つ前記企業アプリケーション記録とリンクするインストールされたサービス記録を定義したことを判定する段階と、を含む請求項4に記載の方法。
【請求項6】
前記許可する段階が更に、前記インストールされたサービス記録がアクティブ状態を有することを判定する段階を含む請求項5に記載の方法。
【請求項7】
前記第2サービス要求者ブランチが、エンドユーザテーブルにリンクされたデバイス識別子テーブルを含み、前記デバイス識別子テーブルが、前記加入者デバイスに対応するデバイス識別子記録を含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記デバイス識別子テーブルは、MSISDNテーブルを含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記加入者デバイスを許可する段階が、
前記加入者デバイスがアクティブであることを前記加入者デバイス状態識別子が指定したと判定する段階と、
前記エンドユーザテーブルは、前記デバイス識別子記録にリンクされたエンドユーザ記録をアクティブ状態で定義したと判定する段階と、を含む請求項7に記載の方法。
【請求項10】
通信アーキテクチャにおけるサードパーティアクセスゲートウェイのためのデータモデルであって、
(a)ルートテーブルと、
(b)加入者デバイスのための第1許可データを提供する加入者デバイス識別子と、前記加入者デバイス識別子に対して定義された加入者デバイス状態とを有するデバイス識別子テーブルを含む、前記ルートテーブルの第1サービス要求者ブランチと、
(c)サードパーティ要求者アプリケーションのための第2許可データを提供する前記サードパーティ要求者アプリケーション用の安全な証明書識別子と、許可されたサードパーティ要求者アプリケーションを指定する企業アプリケーション識別子と、現在のサードパーティ要求者アプリケーション状態を設定する企業アプリケーション状態識別子とを有する企業許可テーブルを含む、前記ルートテーブルの第2サービス要求者ブランチと、を備えるデータモデル。
【請求項11】
前記証明書識別子は、公開鍵暗号化ペアの公開鍵構成要素を含むことを特徴とする請求項10に記載のデータモデル。
【請求項12】
前記加入者デバイス識別子は、モバイル加入者統合サービスデジタルネットワーク(MSISDN)識別子を含むことを特徴とする請求項10に記載のデータモデル。
【請求項13】
前記ルートテーブルは、企業テーブルを含むことを特徴とする請求項10に記載のデータモデル。
【請求項14】
前記第1サービス要求者ブランチは更に、前記企業テーブル及び前記デバイス識別子テーブルにリンクされたエンドユーザテーブルを含むことを特徴とする請求項13に記載のデータモデル。
【請求項15】
前記エンドユーザテーブルは、エンドユーザ状態識別子を含むことを特徴とする請求項14に記載のデータモデル。
【請求項16】
前記企業テーブルは、企業状態識別子を含むことを特徴とする請求項14に記載のデータモデル。
【請求項17】
前記企業アプリケーションテーブルは更に、前記企業アプリケーションテーブルを前記企業テーブルにリンクする企業識別子を含むことを特徴とする請求項13に記載のデータモデル。
【請求項18】
前記企業テーブルは更に、企業状態識別子を含むことを特徴とする請求項16に記載のデータモデル。
【請求項19】
機器により読み出し可能な媒体と、前記媒体上で符号化されアクセスゲートウェイ内のプロセッサにある方法を実行させる命令とを備えた製品であって、前記方法が、
サービス要求者の第1タイプから公表サービス要求を受け取る段階と、
前記公表サービス要求を認証し、前記公表サービス要求の認証から安全な許可識別子を取得する段階と、
前記安全な許可識別子に基づいてプロファイリングデータベースで定義された第1サービス要求者ブランチから第1サーチ結果を取得する段階と、
前記第1サーチ結果に示された企業アプリケーションを判定する段階と、
前記第1サーチ結果における企業アプリケーション状態識別子に基づいて前記企業アプリケーションを許可する段階と、
サービス要求者の第2タイプからネットワーク通信サービス要求を受け取る段階と、
前記ネットワーク通信サービス要求からデバイス識別子を抽出する段階と、
前記デバイス識別子に基づいてプロファイリングデータベースの第2サービス要求者ブランチから第2サーチ結果を取得する段階と、
前記第2サーチ結果に表示された加入者デバイスを判定する段階と、
前記第2サーチ結果の加入者デバイス状態識別子に基づいて前記加入者デバイスを許可する段階と、を含むことを特徴とする製品。
【請求項20】
前記公表サービス要求を受け取る段階が、クライアント証明書が添付された公表通信サービス要求を受け取る段階を含む請求項19に記載の製品。
【請求項21】
前記安全な許可識別子が、前記クライアント証明書において符号化された公開鍵を含むことを特徴とする請求項19に記載の製品。
【請求項22】
前記第1サービス要求者ブランチが、企業テーブルにリンクされた企業アプリケーションテーブルを含むことを特徴とする請求項19に記載の製品。
【請求項23】
前記第1サービス要求者ブランチが更に、前記企業アプリケーションテーブルにリンクされインストールされたサービステーブルを含むことを特徴とする請求項19に記載の製品。
【請求項24】
前記第2サービス要求者ブランチが、エンドユーザテーブルにリンクされたデバイス識別子テーブルを含むことを特徴とする請求項19に記載の製品。
【請求項25】
前記サービス要求者の第1タイプが企業アプリケーションを含み、前記サービス要求者の第2タイプが移動電話加入者を含むことを特徴とする請求項19に記載の製品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2007−89199(P2007−89199A)
【公開日】平成19年4月5日(2007.4.5)
【国際特許分類】
【外国語出願】
【出願番号】特願2006−284333(P2006−284333)
【出願日】平成18年9月20日(2006.9.20)
【出願人】(504051087)アクセンチュア グローバル サーヴィシズ ゲゼルシャフト ミット ベシュレンクテル ハフツング (17)
【Fターム(参考)】
【公開日】平成19年4月5日(2007.4.5)
【国際特許分類】
【出願番号】特願2006−284333(P2006−284333)
【出願日】平成18年9月20日(2006.9.20)
【出願人】(504051087)アクセンチュア グローバル サーヴィシズ ゲゼルシャフト ミット ベシュレンクテル ハフツング (17)
【Fターム(参考)】
[ Back to top ]