JP2004537886A - 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ - Google Patents

統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ Download PDF

Info

Publication number
JP2004537886A
JP2004537886A JP2003501167A JP2003501167A JP2004537886A JP 2004537886 A JP2004537886 A JP 2004537886A JP 2003501167 A JP2003501167 A JP 2003501167A JP 2003501167 A JP2003501167 A JP 2003501167A JP 2004537886 A JP2004537886 A JP 2004537886A
Authority
JP
Japan
Prior art keywords
service
slee
component
event
components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003501167A
Other languages
English (en)
Other versions
JP3924279B2 (ja
Inventor
クリーマー、トーマス
カルナー、サムエル
ロジンスキー、ジグムント、アントニー
ムーア、ビクター
ガル、シャチョル
ボートマン、プニナ
ウォルターズ、グレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/864,696 external-priority patent/US7007063B2/en
Priority claimed from US09/884,576 external-priority patent/US6690782B2/en
Priority claimed from US09/884,497 external-priority patent/US6694002B2/en
Priority claimed from US09/884,575 external-priority patent/US6690781B2/en
Priority claimed from US09/884,578 external-priority patent/US6690783B2/en
Priority claimed from US09/884,577 external-priority patent/US6914969B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004537886A publication Critical patent/JP2004537886A/ja
Application granted granted Critical
Publication of JP3924279B2 publication Critical patent/JP3924279B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Machine Translation (AREA)

Abstract

【課題】インテリジェント・ネットワーク向けのアプリケーション実行環境を提供すること。
【解決手段】アプリケーション実行環境は、サービス論理層にサービス論理実行環境(SLEE)を含む。特に、SLEEは、JAIN準拠のSLEEとすることができる。SLEEは、サービス論理層のサービス・コンポーネントと、プロトコル層およびアプリケーション層のクライアント・コンポーネントの間でイベントをルーティングするためのイベント・ルーティング・バスを含むことができる。アプリケーション実行環境は、また、プロトコル層に少なくとも1つのクライアント・コンポーネントを含むことができ、この少なくとも1つのクライアント・コンポーネントは、コネクタ/ラッパ・インターフェースを介して、SLEEに通信可能にリンクする。最後に、アプリケーション実行環境は、SLEE内で実行される少なくとも1つの電話サービス・コンポーネントを含むことができ、この電話サービス・コンポーネントは、SLEE内のイベント・ルーティング・バスを介して、プロトコル層のクライアント・コンポーネントおよびサービス論理層の他のサービス・コンポーネントと通信するように構成することができる。
【選択図】図2

Description

【技術分野】
【0001】
本発明は、高度インテリジェント・ネットワークの分野に関し、より詳細には、統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャに関する。
【背景技術】
【0002】
オープン・ネットワーク・アプリケーション・プログラミング・インターフェース(API)は、公衆交換電話網(PSTN)アーキテクチャをオープンにするための従来方法からの重要な脱却を意味している。こうしたオープン・ネットワークAPIの1つである、高度インテリジェント・ネットワーク(AIN)APIおよびアーキテクチャでは、スイッチ環境外での遠隔通信サービス・アプリケーションの生成を可能にするコール・モデルが定義される。遠隔通信サービス・アプリケーションは、二者以上の間で確立される遠隔通信セッション向けの高度サービスを実施することができる選択可能な遠隔通信アプリケーションである。こうしたサービス・アプリケーションの例には、キャッチホン、発信者番号通知、自動転送、音声ダイヤル、および参加型電話会議がある。
【0003】
AINが初めて導入されたとき、AINアーキテクチャはサービス・アプリケーション生成プロセスの面での重要な進歩を意味していた。スイッチングから切り離されたAINのサービス開発では、サービス論理コンポーネントを、より迅速に開発し、データベースに接続された特定のネットワーク要素内に配置することができる。スイッチは、その結果、すべてのサービス論理から解放され、速度および効率についてその最適化を図ることができる。しかし、AIN仕様で開発された通常のサービス・アプリケーションは、特別なサービス生成環境を用いて、特別に訓練されたプログラマによって、特別な言語で記述されている。
【0004】
重要なことに、今後の遠隔通信ネットワークは新しい進化するネットワーク・アーキテクチャを特徴とし、このアーキテクチャでは、パケット交換、回線交換、および無線のネットワークが統合され、一連の革新的なマルチメディアのマルチパーティ・アプリケーションが加入者に提供されるようになる。同様に重要なことに、遠隔通信アプリケーション開発のプロセスが変化し、単に遠隔通信ネットワーク・プロバイダまたはサービス・アプリケーション・プロバイダの分野ではなくなると予想される。実際、新規で強力なアプリケーションの幅広いポートフォリオを迅速に提供するために、サービス・アプリケーション・プロバイダは、第三者のアプリケーション開発者およびソフトウエア・ベンダにますます依存するようになる。したがって、遠隔通信分野のアプリケーション開発は、一般にソフトウエアおよび情報技術のそれとますます類似するようになり、それが開発されるに伴って、顧客は競争の激化、製品化までの時間短縮および新技術の利用の恩恵を享受することになる。
【0005】
こうしたビジョンを実現するために、新しいサービス・アプリケーション・コンポーネント開発パラダイムが優先され、AINの原理は切り捨てられてきた。特に、今後の統合ネットワークは、あるベンダのシステムとの互換がとれるように作成されたアプリケーションが他のベンダのシステムで実行できるように、アプリケーション開発者に1組の標準、すなわちオープンAPIを提供する必要があることが認識されてきた。その結果、アプリケーション開発コストが償却され、顧客への最終コストを削減することができる。統合ネットワーク向けJAVA(R)API(JAIN)はこの新しいサービス・アプリケーション・コンポーネント開発パラダイムの要件を満たすものである。現在、JAINは、統合インターネット・プロトコル(IP)または非同期転送モード(ATM)ネットワーク、PSTN、および無線ネットワークからなる次世代システム向けの公開された標準のオープンなJAVA(R)APIを含んでいる。JAIN APIは、メディア・ゲートウェイ制御プロトコル(MGCP)、セッション初期化プロトコル(SIP)、トランザクション機能アプリケーション部(TCAP)、ならびに遠隔通信プロトコル・スタックの上位層に常駐するプロトコルなど様々なプロトコル用に、プロトコル・レベルのインターフェースを含んでいる。
【0006】
JAINは、JAINコンポーネントを構築し、PSTN、パケットおよび無線ネットワークにわたって機能するサービスまたはアプリケーションに統合するためのJava(R)プラットフォーム向けの1組の統合ネットワークAPIおよび環境を含んでいる。JAIN手法では、サービス・ベースの論理をネットワーク・ベースの論理から切り離すことによって有線、無線、およびパケット・ベースのネットワークを統合する。図1に従来型のJAIN実装を示す。図1に示すように、従来型のJAIN実装は、プロトコル層102を含むことができ、このプロトコル層はIP、有線、無線のシグナリング・プロトコルとのインターフェースを含むことができる。TCAP、JCC、およびH.323プロトコル110だけが示されているが、JAIN仕様によってサポートされるプロトコルは、特定のプロトコルに限定されず、たとえばTCAP、ISUP、INAP、MAP、SIP、MGCPおよびH.323を含むことができる。さらに、JAIN実装は、JCCなどの接続管理およびコール制御プロトコルとのインターフェースを含むことができる。
【0007】
従来型のJAIN実装では、プロトコル層102に加えて、セキュア・ネットワーク・アクセスおよび他の外部サービス120を処理するためのアプリケーション層104を含むこともできる。従来型のJAIN実装では、サービス論理層106も含むことができ、このサービス論理層はサービス生成およびキャリア・グレードのサービス論理実行環境(SLEE)108を含むことができる。サービス・コンポーネント112は核となるJAINコンポーネントであり、SLEE108内で実行することができる。より具体的には、サービス・コンポーネント112は電話およびネットワーク・サービスを実装することができ、標準のコンポーネント・モデルに従って構築することができる。サービス・コンポーネント・アセンブリのインスタンスは、SLEE108と協調して実行される。
【0008】
動作中、サービス・コンポーネント112は、SLEE108に組み込むことができるプロトコル層102に関する情報を使用して、プロトコル・スタック110に関する特定の知識がなくても基本となるプロトコル・スタック110と対話することができる。さらに重要なことに、SLEE108では、トランザクション、持続性、ロード・バランシング、セキュリティ、およびオブジェクトならび接続インスタンス・プーリングのための移植可能なサポートを提供することによって、サービス・コンポーネント112が負う従来のライフサイクルにわたる責任を軽減することができる。このようにして、サービス・コンポーネント112は、電話サービスまたはネットワーク・サービスあるいはその両方の提供に集中することができる。特に、SLEE108は、外部アプリケーション116、プロトコル・スタック110、サービス・コンポーネント112などのクライアント・コンポーネントに直接、通信可能にリンクすることができる。
【0009】
たとえば、SLEE108のサービス論理層106で実行されるサービス・コンポーネント112は、SLEE108のプロトコル・アダプタを介して、プロトコル層のプロトコル・スタック110と通信することができる。プロトコル・アダプタは一般にクラス・メソッド、コールバック、カプセル化インターフェース、またはイベント・ハンドラを含むことができる。多くの場合、基本となるプロトコル・スタック110は、SLEE108のイベント・テーブル114を介して、SLEE108と直接に通信することができ、このイベント・テーブルは基本となるプロトコル・スタック110にとって特別なイベントを固有に処理するように構成することができる。その結果、SLEE108は、特別なイベントを認識することができ、基本となるプロトコル・スタック110からこうしたイベントを受信すると、SLEE108は登録しているサービス・コンポーネント112にそのイベントを渡すことができる。また、サービス・コンポーネント112は、リレーショナル・データベースやディレクトリ・サービスなどの特定の外部サービス120と対話するように個別にプログラムすることができる。
【0010】
しかし、一見すると有利なJAIN仕様であるが、従来型のJAIN仕様の実装は、特にリアル・タイム電話の応用例においていくつかの欠点を含んでいる。まず、従来型のJAIN実装のSLEEは、たとえばライフサイクルにわたる責任などの不要なシステム・ハウスキーピングの雑用を伴うEnterprise Java bean(登録商標)(EJB)手法を取り入れている。しかし、ライフサイクルにわたる責任は、リアル・タイム電話分野にとっては、他の通信分野ほどに重要ではない。したがって、EJBを使用すると、待ち時間が多すぎてリアル・タイム操作の要求を満たすことができない。さらに、SLEEと基本となるプロトコル・スタックの間の通信を容易にするために使用することができる対応イベント・テーブルから明らかであるように、サービス・コンポーネント上のプロトコル・スタックの複雑さを緩和するには、SLEEに、基本となるプロトコル・スタックの特定の知識が必要になる。しかし、SLEEに特定のクライアント・コンポーネント情報を含めると、SLEEに不必要な複雑さが加わることがある。ライフサイクル・メンテナンスの点からするとこれは問題になり得る。また、SLEEにクライアント・コンポーネント情報を含めると、特定のクライアント・コンポーネントにSLEEを不必要に直接バインドすることにもなる。最後に、SLEEを特定のクライアント・コンポーネントに直接バインドするには、アプリケーション層、プロトコル層およびサービス論理層をコンピューティング上で互いにきわめて近接して配置しなければならないことがある。
【0011】
SLEE内のサービス・コンポーネントとの通信も外部アプリケーションにとって問題になることがある。特に、外部アプリケーションは、それが通信することができるSLEE内のサービス・コンポーネントとプログラム上でバインドされなければならない。外部アプリケーションが、インターネットなどのコンピュータ通信ネットワーク全体にわたって分散されている場合は、この問題が複雑になることがある。したがって、ワールド・ワイド・ウェブを含めたインターネットを介して利用可能なサービスまたは他の機能を統合しようとするいずれの試みも、別個のプロプラエタリ・システムを使用して実装しなければならない。
【0012】
特に、JAIN仕様によれば、無線サービス・アプリケーションの開発には、無線サービスにアクセスするための多数の異なる通信インターフェースおよびプロトコルに関する知識が必要である。たとえば、現在、無線ネットワークの使用をサポートする様々な異なる通信プロトコルが存在している。こうしたプロトコルには、移動通信向けグローバル・システム(GSM)、総称パケット無線サービス(GPRS)、拡張データGSM環境(EDGE)、ユニバーサル移動電話システム(UTMS)、無線アプリケーション・プロトコル(WAP)、移動アクセス・プロトコル(MAP)、およびi−Modeが含まれる。
【0013】
無線サービス・アプリケーションを開発するために、開発者は、開発する無線サービス・アプリケーションに組み込まれる無線サービスまたは機能に対応する特定の無線プロトコル・インターフェースを熟知しなければならない。たとえば、WAPは、無線装置による通信を標準化する1組の通信プロトコル用の仕様である。したがって、ハンドヘルド装置の無線サービス向けのサービス・アプリケーションの開発者は、こうしたサービス・アプリケーションを首尾よく開発するためには、WAPについて少なくとも全般的に熟知している必要がある。
【0014】
同様に、無線のハンドヘルド装置を介したウェブ・サイトのインタラクティブな使用を可能にするアプリケーション・サービスを提供しようとするサービス・アプリケーション開発者は、おそらく、WAPより高いデータ速度を提供することができるGPRSを熟知する必要があろう。GPRSやWAPなどのソリューションは様々な装置およびサービスの相互運用性を高め、またプロプライエタリ・ソリューションの使用を最小限に抑えることができる。しかし、様々な無線サービス・アプリケーションを開発するためには、開発者は多種の無線プロトコルおよびインターフェースを熟知しなければならない。したがって、様々な無線通信プロトコルおよびインターフェースを使用するのに必要な専門知識を有する人の数が限られることがある。
【0015】
無線サービス・アプリケーションの開発に際して直面する問題と同様に、遠隔通信サービス・アプリケーションの開発もまたサービス・アプリケーションおよび機能にアクセスするための多くの異なる通信インターフェースおよびプロトコルに関する知識を必要とする。たとえば、コール・ブロッキングや自動転送などのサービス・アプリケーションでは、コール・モデルにアクセスするためのサービス・コンポーネントに加えて、コール・モデルを実装するための情報にアクセスするためにディレクトリ・サービスまたは他のプロプラエタリ・データベースへのアクセスが必要となることがある。しかし、ディレクトリ・サービスにアクセスするには、簡易ディレクトリ・アクセス・プロトコル(LDAP)に関する特定の知識が必要となることがある。一方、どんな特定のデータベースにアクセスするにも、DB2、MQSeries、または別のプロプライエタリ・データベース・アクセス・プロトコルに関する知識が必要となることがある。
【0016】
通常、特定のプロトコルを用いて無線アプリケーションを実装するために必要な知識は、極めて専門的なため、必要な専門知識を有する人が所与の組織内で1人しかいないことがある。こうした人事上のジレンマは、しばしば、特定の無線フォーマットについてソリューションが開発されるたびに、そのソリューションを異なる無線フォーマットまたはプロトコルに容易には移植できないという形で現れる。さらに、プログラミングの専門知識は極めて専門的なことがあるので、サービス・アプリケーションを別のフォーマットまたはプロトコルに移植するには、一般に、対象のフォーマットまたはプロトコルの専門知識を有する追加の要員が必要になる。
【0017】
したがって、電話サービス・アプリケーションの開発が極めて専門的な性質のものであるため、開発費用が増大し、設計サイクルが長くなることがある。さらに、それに伴う複雑さにより、システム、機能およびアプリケーションのリサイクリングおよびメンテナンスが極めて難しくなる。たとえば、特定のサービス機能にアクセスするために必要なプロトコルおよび論理が開発中のサービス・アプリケーションに含まれているので、基本となるプロトコルに対してどんな変更を行うにも、サービス・アプリケーション全体の再プログラミングが必要になることがある。要するに、無線サービス・アプリケーションの開発が極めて専門的な性質のものであるため、開発費用が増大し、設計サイクルが長くなることがある。さらに、それに伴う複雑さにより、システム、機能およびアプリケーションのリサイクリングが極めて難しくなる。
【発明の開示】
【発明が解決しようとする課題】
【0018】
したがって、統合ネットワーク・サービス・プロバイダ向けのより柔軟なサービス・アプリケーション・アーキテクチャが必要とされている。
【課題を解決するための手段】
【0019】
したがって、第1の態様によれば、本発明は、インテリジェント・ネットワーク向けのアプリケーション実行環境を提供する。この環境は、サービス論理層にあり、サービス論理層のサービス・コンポーネントとプロトコル層およびアプリケーション層のクライアント・コンポーネントの間でイベントをルーティングするためのイベント・ルーティング・バスを含むSLEEと、プロトコル層にあり、コネクタ/ラッパ・インターフェースを介してSLEEに通信可能にリンクされる少なくとも1つのクライアント・コンポーネントと、少なくとも1つがSLEE内で実行され、プロトコル層のクライアント・コンポーネントおよびサービス論理層の他のサービス・コンポーネントと、前記SLEE内のイベント・ルーティング・バスを介して通信するように構成された電話サービス・コンポーネントとを含む。
【0020】
アプリケーション実行環境はさらに、SLEE内で実行される少なくとも1つの総称サービス・コンポーネントを含むことが好ましい。総称サービス・コンポーネントは、SLEE内の他のサービス・コンポーネントと通信するように構成することができる。総称サービス・コンポーネントは、アプリケーション層の特定の外部サービスと通信するように構成することもできる。
【0021】
好ましくは、アプリケーション実行環境はさらに、少なくとも1つが前記SLEE内で実行され、前記イベント・ハンドラを介して、前記SLEE内の他のサービス・コンポーネントとの間でメッセージの送受信を行うように構成され、前記SLEEの外部のサーバ側プログラムと通信可能なリンクを備えるインターネット対応のサービス・コンポーネント(IESC)を含む。
【0022】
好ましくは、コネクタ/ラッパ・インターフェースは、プロトコル層のクライアント・コンポーネントに抽象インターフェースを提供するクライアント・コンポーネント・ラッパと、SLEEに関連付けられ、クライアント・コンポーネント・ラッパに対応し、クライアント・コンポーネント・ラッパによって提供される抽象インターフェースを介してクライアント・コンポーネントと通信するように構成されるコネクタとを含む。
【0023】
好ましくは、アプリケーション実行環境はさらに、SLEEがコネクタ/ラッパ・インターフェースを介して通信するように構成することができる、少なくとも1つのクライアント・コンポーネントを指定するSLEEディスクリプタを含む。
【0024】
好ましくは、アプリケーション実行環境はさらに、それぞれがプロトコル層の特定のクライアント・コンポーネントに対応し、特定のイベントを指定し、そのイベントについて、SLEE内のイベント・ルーティング・バスによって特定のクライアント・コンポーネントに通知することができる、少なくとも1つのクライアント・コンポーネント・ディスクリプタを含む。
【0025】
クライアント・コンポーネントは、プロトコル・スタックであることが好ましい。あるいは、クライアント・コンポーネントは、コール制御コンポーネントでも、シグナリング・プロトコル・コンポーネントでも、接続管理プロトコル・コンポーネントでも、またはセキュア・ネットワーク・アクセス・プロトコル・コンポーネントでもよい。
【0026】
SLEEは、JAIN準拠のSLEEであることが好ましい。
【0027】
好ましくは、SLEEはさらに、サービス・コンポーネントをSLEE内にロードするためのクラス・ローダを含み、SLEEが、ロードされた各サービス・コンポーネントを、特定の登録済みサービス・コンポーネント向けのイベントを受信するために登録し、前記イベント・ルーティング・バスが、前記受信済みイベントをSLEE内で実行される前記特定の登録済みサービス・コンポーネントにルーティングする。
【0028】
SLEEはさらに、スレッド・プールと、スレッドを前記ロードされたサービス・コンポーネントが使用できるように割り振るためのスレッド・プール・マネージャとを含むことが好ましい。
【0029】
第2の態様によれば、本発明は、電話サービス提供方法を提供する。この方法では、第1に、サービス論理実行環境(SLEE)内のイベント・ルーティング・バスにおいて、クライアント・コンポーネントからコネクタ/ラッパ・インターフェースを介してプロトコル層イベントを受信し、SLEE内で実行されるサービス・コンポーネントからサービス論理層イベントを受信し、特定のプロトコル層イベントおよびサービス論理層イベントを、特定のプロトコル層イベントおよびサービス論理層イベントを受信するために登録されたサービス・コンポーネントおよびクライアント・コンポーネントに転送し、第2に、SLEEで実行されるサービス・コンポーネントのうちの少なくとも1つにおいて、少なくとも1つのサービス論理層イベントをイベント・ルーティング・バスに送信し、イベント・ルーティング・バスは、送信されたサービス論理層イベントを、送信されたサービス論理層イベントを受信するために登録された別のサービス・コンポーネントに転送することができる。
【0030】
好ましくは、電話サービスを提供する方法の一環として、サービス・コンポーネントの少なくとも1つにおいて、特定の外部サービスと通信リンクが確立され、別のサービス・コンポーネントから外部サービスを要求するサービス論理層イベントを受信し、別のサービス・コンポーネントからサービス論理層イベントを受信したことに応答して、リンクされた特定の外部サービスによって提供される機能への少なくとも1つの特定の呼び出しを介して、前記要求された外部サービスを提供する。
【0031】
第3の態様によれば、本発明は、電話サービスを提供するためのコンピュータ・プログラムを格納する機械可読記憶装置であって、前記コンピュータ・プログラムが、機械に第2態様による方法を実施させるために、機械で実行可能なプログラム・コードを含む、機械可読記憶装置を提供する。
【0032】
第4の態様によれば、本発明は、高度インテリジェント・ネットワークを提供する。このネットワークは、クライアント・コンポーネントとサービス・コンポーネントの間でメッセージをルーティングするイベント・ハンドラを含むサービス論理実行環境(SLEE)と、前記イベント・ハンドラを介して前記SLEE内の他のサービス・コンポーネントとの間でメッセージを送受信するように構成された少なくとも1つのサービス・コンポーネントと、前記SLEE内で実行される少なくとも1つのインターネット対応サービス・コンポーネント(IESC)とを含み、前記IESCは、前記イベント・ハンドラを介して前記SLEE内の他のサービス・コンポーネントとの間でメッセージを送受信するように構成され、前記SLEEの外部にあるサーバ側プログラムに通信可能にリンクする。
【0033】
第5の態様によれば、本発明はインテリジェント・ネットワーク・モデルにおけるサービス論理実行環境(SLEE)を提供する。前記SLEEは、その中にサービス・コンポーネントをロードするためのクラス・ローダであって、SLEEが特定の登録済みサービス・コンポーネント向けのイベントを受信するために各ロードされたサービス・コンポーネントを登録するクラス・ローダと、プロトコル層および他のサービス・コンポーネントからイベントを受信するためのイベント・ルーティング・バスであって、SLEE内で実行される前記特定の登録済みサービス・コンポーネントに前記受信済みイベントをルーティングするイベント・ルーティング・バスとを含む。
【0034】
本発明の第6の態様によれば、本発明は、インテリジェント・ネットワーク向けのアプリケーション実行環境を提供する。このアプリケーション実行環境は、サービス論理実行環境(SLEE)と、特定のクライアント・コンポーネントとの抽象インターフェースを提供する少なくとも1つのクライアント・コンポーネント・ラッパと、前記SLEEに関連付けられ、少なくとも1つのクライアント・コンポーネント・ラッパに対応し、前記対応する少なくとも1つのクライアント・コンポーネント・ラッパによって提供される抽象インターフェースを介してクライアント・コンポーネントと通信するように構成された少なくとも1つのコネクタとを含む。
【0035】
本発明の第7の態様によれば、本発明は、無線サービスで使用する高度インテリジェント・ネットワークを提供する。このネットワークは、サービス論理実行環境(SLEE)と、前記SLEE内で実行される少なくとも1つのサービス・アプリケーションと、前記サービス・アプリケーションに通信可能にリンクされた無線サービス・アプリケーションで使用され、前記SLEEの外部にある前記無線サービス・アプリケーションとのインターフェースを含む少なくとも1つの総称サービス・コンポーネントとを含む。
【0036】
本発明の第8の態様によれば、本発明は、コール・モデルで使用される高度インテリジェント・ネットワークを提供する。このネットワークは、サービス論理実行環境(SLEE)と、前記SLEE内で実行される少なくとも1つのサービス・アプリケーションと、前記サービス・アプリケーションに通信可能にリンクされ、前記SLEEの外部にある第2のサービス・アプリケーションとのインターフェースを含む少なくとも1つの総称サービス・コンポーネントとを含む。
【0037】
本発明の第9の態様によれば、本発明は、インテリジェント・ネットワーク向けのデータ処理システムを提供する。このデータ処理システムは、サービス論理実行環境(SLEE)を含むサービス論理層と、少なくとも1つのクライアント・コンポーネントを含むプロトコル層であって、前記少なくとも1つのクライアント・コンポーネントが、コネクタ/ラッパ・インターフェースを介して前記SLEEに通信可能にリンクされ、前記SLEEが、サービス論理層のサービス・コンポーネントと、プロトコル層およびアプリケーション層のクライアント・コンポーネントの間でイベントをルーティングするイベント・ルーティング・バスを含むプロトコル層と、前記SLEE内で実行され、前記SLEE内のイベント・ルーティング・バスを介してプロトコル層のクライアント・コンポーネントおよびサービス論理層の他のサービス・コンポーネントと通信するように構成された少なくとも1つの電話サービス・コンポーネントとを含む。
【0038】
したがって、本発明は、統合ネットワーク・サービス・プロバイダ向けの柔軟なサービス・アプリケーション・アーキテクチャを提供する。本発明は、サービス・コンポーネントによるより直接的なイベント処理を提供し、サービス論理実行環境(SLEE)内に含まれるプロトコル・スタック特有のコードを減らすことにより、従来技術の欠点に対処するものである。さらに、本発明は、SLEEから特定のクライアント・コンポーネントに関する情報を取り除き、その代わりにコネクタ/ラッパ通信インターフェースを用いることにより、従来技術の欠点に対処する。その結果、SLEEは、基本となるクライアント・コンポーネントの実装の詳細に関係なく、コネクタ/ラッパ・インターフェースを介した通信を総称的に送受信することができる。したがって、本発明によれば、SLEEの複雑さを緩和することができる。さらに、本発明に従って構成されたSLEEは、特定のクライアント・コンポーネントと直接バインドする必要がない。
【0039】
本発明のアーキテクチャは、SLEE内で実行される他のサービス・コンポーネントとの総称インターフェースを提供しながら、特定の外部サービスと通信するように構成することができる総称サービス・コンポーネントを含むことが好ましい。このようにして、たとえば電話サービス・コンポーネントなどSLEE内で実行されるサービス・コンポーネントはデータベース操作などの外部サービスを、総称サービス・コンポーネントに総称的に要求することができる。外部サービスを求める総称要求を受信したことに応答して、総称サービス・コンポーネントは、要求された外部サービスを要求元の電話サービス・コンポーネントに提供するために、対応する特定の外部サービスに特有の1つまたは複数の機能を呼び出すことができる。その結果、電話サービス・コンポーネントは特定の外部サービス向けの特有のコードを組み込む必要がなくなる。総称サービス・コンポーネントが特定の外部サービス向けの特有のコードを組み込むだけでよい。したがって、電話サービス・コンポーネントの複雑さを緩和することができる。
【0040】
次に本発明を、添付の図面に示すその好ましい一実施形態に則して、例としてのみ説明する。
【発明を実施するための最良の形態】
【0041】
本発明は、統合ネットワーク・サービス・プロバイダ向けの柔軟なサービス・アプリケーション・アーキテクチャである。このアーキテクチャは、プロトコル層、サービス論理層およびアプリケーション層を含むことができるので、高度インテリジェント・ネットワーク・アーキテクチャ(AIN)に類似したものとすることができる。本発明の構成によれば、本発明のアーキテクチャは、サービス論理層にサービス論理実行環境(SLEE)を含むことができる。特に、SLEEは、JAIN準拠のSLEEとすることができる。SLEEは、サービス論理層のサービス・コンポーネントと、プロトコル層およびアプリケーション層のクライアント・コンポーネントの間でイベントをルーティングするイベント・ルーティング・バスを含むことができる。特に、SLEE内で実行される電話サービス・コンポーネントは、SLEEのイベント・ルーティング・バスを介して、プロトコル層のクライアント・コンポーネントおよびサービス論理層の他のサービス・コンポーネントと通信するように構成することができる。最後に、クライアント・コンポーネントはコネクタ/ラッパ・インターフェースを介して、SLEEに通信可能にリンクすることができる。
【0042】
本発明の好ましい一実施形態に従って構成されたSLEEを取り込むと、サービス・コンポーネント間でのイベント通信を円滑にすることができるイベント・ルーティング・バスが提供されるので、従来技術の欠点を解決する助けとなる。より直接的なイベント通信を提供することにより、JAIN仕様のEJB手法に付随する固有の待ち時間を少なくすることができる。同様に、サービス・コンポーネントがSLEEを介してプロトコル・スタックなどのクライアント・コンポーネントからだけイベントを受信し、受信したイベントを処理することができるSLEEの従来の実装とは異なり、本発明の好ましい一実施形態では、サービス・コンポーネントは他のサービス・コンポーネントからもイベントを受信し処理することもできる。したがって、マクロ・サービス・コンポーネントを形成するために、拡張されたサービス・コンポーネントの組合せを生み出すことができる。
【0043】
サービス・コンポーネントは、特定のプロトコル・スタックに関する特有の知識を有するように構築することもできる。その結果、特定のプロトコル・スタックに関する特有の知識をSLEEから取り除き、それによってSLEEの複雑さを緩和することができる。その結果、本発明の好ましい一実施形態のSLEEでは、SLEEの再コーディングを必要とせずに、新しいプロトコル・スタックをインテリジェント・ネットワークに追加することができる。この追加のプロトコル・スタックに関する特有の知識を有するサービス・コンポーネントを生成することができるからである。他のサービス・コンポーネントは、SLEEに動的に挿入されると、挿入されたサービス・コンポーネントを介しイベント・ルーティング・バスを経由して新しいプロトコル・スタックにアクセスすることができる。サービス・コンポーネント間の通信が不可能であった従来のインテリジェント・ネットワークとは異なり、本発明の好ましい一実施形態では、サービス・コンポーネント間の通信によって、新しいプロトコル・スタックを容易に追加することが可能になる。
【0044】
本発明のアーキテクチャは、プロトコル層のクライアント・コンポーネントにSLEEを通信可能にリンクするためのコネクタ/ラッパ・インターフェースを含むこともできる。SLEEとプロトコル層のクライアント・コンポーネントの間のコネクタ/ラッパ・インターフェースは、クライアント・コンポーネントをSLEEに固定的にバインドせずに、特定のクライアント・コンポーネントに総称インターフェースを介した構成可能な接続を提供することによって、従来技術の欠点の解決に役立つことができる。
【0045】
SLEEが、その通信相手であるクライアント・コンポーネントと直接バインドされるSLEEの従来の実装とは異なり、本発明の好ましい一実施形態では、SLEEとクライアント・コンポーネントを互いに近接して配置する必要はない。むしろ、必要であれば、SLEEとクライアント・コンポーネントは、ネットワークをはさんで配置することができる。このようにして、クライアント・コンポーネントとSLEEの間のより柔軟な関係が可能になり、それによって、ライフサイクル・メンテナンス中のSLEEのメンテナンスおよび拡張を容易にすることができる。さらに、特定のクライアント・コンポーネントに関する特有の知識をSLEEから取り除き、代わりにクライアント・コンポーネントとのインターフェースに含めることができる。その結果、SLEEの複雑さを緩和することができる。
【0046】
最後に、本発明の好ましい一実施形態は、特定の外部サービスとの抽象インターフェースを提供する総称サービス・コンポーネントを含む。より詳細には、各総称サービス・コンポーネントは特定の外部サービスの個々の実装に対する認識を維持することができ、SLEE内で実行される他のサービス・コンポーネント、特に電話サービス・コンポーネントは、対応する特定の外部サービスの個々の実装について知らなくても、総称サービス・コンポーネントの外部サービスを総称的に要求することができる。このようにして、サービス・コンポーネントの複雑さを緩和することができ、サービス・コンポーネントを外部サービスの特定の実装から切り離すことができる。
【0047】
図2は、本発明の好ましい一実施形態に従って構成されたJAIN準拠のインテリジェント・ネットワークの概略図である。JAIN準拠のネットワークは、プロトコル層202、アプリケーション層205、およびサービス論理層207を含むように構成される。アプリケーション層205は、外部の第三者アプリケーション208をホスティングすることができる。通常の第三者アプリケーション208は、仮想プライベート・ネットワーク(VPN)、受信サービス、統合メッセージングなどのサービスに対する一般大衆市場の要求に適したものとすることができる。外部の第三者アプリケーション208は、短命およびニッチなアプリケーションを含むこともでき、このアプリケーションは、当技術分野で周知のデータベース検索インターフェース、ダウンロード可能な機構、およびParlay APIなどの信頼できないアプリケーション空間デプロイメント技術を用いて展開することができる。最後に、データベース・サービス、ディレクトリ・サービス、および無線サービスなど特定の外部サービス220は、アプリケーション層205に含めることができる。
【0048】
サービス論理層207は、JAIN仕様と互換がとれるように構成することができるJSLEEサーバ200などのSLEEサーバを含むことができる。重要なことに、JSLEEサーバ200は、イベント・ルーティング・バス218を含むことができる。イベント・ルーティング・バス218は、サービス・コンポーネント203、204、205との間でメッセージを送受信することができる。特に、サービス・コンポーネント203、204、205は、イベント・ルーティング・バス218にメッセージを送信するように構成することができ、サービス・コンポーネント203、204、205はJSLEEサーバ200に登録し、こうした送信されたイベントを他のサービス・コンポーネント203、204、205から受信することができる。このようにして、サービス・コンポーネント間の通信が可能になる。さらに、サービス・コンポーネント203、204、205は、イベント・ルーティング・バス218を介して、外部アプリケーション208からイベントを受信するように構成することができる。また、外部アプリケーション208から受信され、イベント・バス208に送信されたイベントは、こうしたイベントを受信するために登録を行った他のサービス・コンポーネント203、204、205にルーティングすることができる。
【0049】
サービス・コンポーネント203、204、205は、電話サービス・コンポーネント204、総称サービス・コンポーネント203、およびインターネット・サービス・コンポーネント205を含むことができる。図3は、図2のJSLEEサーバ200で使用するように構成された電話サービス・コンポーネント204の概略図である。図3に示すように、電話サービス・コンポーネント204は、1つまたは複数のサービス・インスタンス302を含むことができる。サービス・インスタンス302は、JSLEE200内で実行することができる、個別にインスタンス化されたサービスである。さらに重要なことに、各サービス・インスタンス302は、イベント・ルーティング・バス218に登録し、プロトコル層202、ならびに他の電話および総称サービス・コンポーネント203、204、205との間でイベントを送受信する。
【0050】
各サービス・インスタンス302はサービス・ラッパ306を介してアクセスすることができ、このサービス・ラッパは、サービス・インスタンスの実装の詳細を隔離する。より詳細には、サービス・クラスのデータおよびメソッドのメンバは、サービス・ラッパ306に含まれる共通インターフェースを介してアクセスすることができる。デプロイメント・ディスクリプタ310も同様に提供される。デプロイメント・ディスクリプタ310は文書、たとえばXML文書とすることができ、JSELLサーバ200にサービス・コンポーネント302のインスタンスを最初にロードするための適当なパラメータを記述することができる。特に、サービス・ラッパ306とのインターフェースは、たとえばXML文書の一部として含めることができるサービス・インターフェース308を介して外部オブジェクトにパブリッシュすることができる。同様に、各サービス・インスタンス302とのインターフェースは、コンテキスト・インターフェース304の一部として含めることができ、このコンテキスト・インターフェースも、たとえばXML文書の一部としてパブリッシュすることができる。サービス・インスタンス302は、ロードされると、JSELLサーバ200のイベント・ルーティング・バス218を介して通信することができる。
【0051】
電話サービス・コンポーネント204に、プロプラエタリおよびリレーショナル・データベース・サービスやディレクトリ・サービスなどの特定の外部サービス220にアクセスするためのコードを含まないようにするために、総称サービス・コンポーネント203を本発明のアーキテクチャに組み込むことができる。総称サービス・コンポーネント203は、特定の外部サービス220との抽象インターフェースを提供し、特定の外部サービス220との対話を求める、他のサービス・コンポーネント203、204、205からの総称要求に固有に応答することができる。特に、総称サービス・コンポーネント203は、無線サービス、ディレクトリ・サービス、データベース・サービス、またはメッセージング・サービスなどのサービス・アプリケーションにアクセスするための共通APIを提供することができる。
【0052】
実際、総称サービス・コンポーネント203は、異なるサービス・アプリケーションごとに構築することができる。さらに、総称サービス・コンポーネント203は、サービス・アプリケーションが用いる異なるプロトコルごとに構築することができる。したがって、図2に示すように、それぞれがサービス・アプリケーションまたはプロトコルに対応している複数の総称サービス・コンポーネント203を含むことができる。たとえば、異なる総称サービス・コンポーネント203を、LDAP、DB2、およびMQSeries対応のサービスまたは機能向けに構築することができる。同様に、異なる総称サービス・コンポーネント203は、移動通信向けグローバル・システム(GSM)、総称パケット無線サービス(GPRS)、拡張データGSM環境(EDGE)、ユニバーサル移動電話システム(UTMS)、WAP、モバイル・アクセス・プロトコル(MAP)、およびi−Modeを使用するグローバル・システムなど、無線サービス・アプリケーションへのアクセス向けに構築することができる。したがって、総称サービス・コンポーネント203を含めることで、他のサービス・コンポーネント、特に電話サービス・コンポーネント204は、特定の外部サービス220と通信するための特有の構成を含まなくてもよくなる。
【0053】
図4は、図2のJSLEEサーバ200で使用するように構成された総称サービス・コンポーネント203の概略図である。図4に示すように、総称サービス・コンポーネント203は、1つまたは複数の総称サービス・インスタンス402を含むことができる。図3の電話サービス・インスタンス302と同様に、図4の総称サービス・インスタンス402は、JSLEE200内で実行することができる個別にインスタンス化された総称サービスである。より重要なことに、各総称サービス・インスタンス402はイベント・ルーティング・バス218に登録し、サービス論理層207の他のサービス・コンポーネント203、204、205との間でイベントを送受信することができる。電話サービス・コンポーネント204の場合と同様に、各総称サービス・インスタンス402はサービス・インスタンスの実装の詳細を隔離する総称サービス・ラッパ406を介してアクセスすることができる。より詳細には、サービス・クラスのデータおよびメソッドのメンバは、総称サービス・ラッパ406に含まれる共通インターフェースを介してアクセスすることができる。
【0054】
デプロイメント・ディスクリプタ410もまた提供される。デプロイメント・ディスクリプタ410は、文書、たとえばXML文書とすることができ、JSLEEサーバ200に総称サービス・コンポーネント402のインスタンスを最初にロードするために適当なパラメータを記述することができる。特に、総称サービス・ラッパ406とのインターフェースは、たとえばXML文書の一部として含めることができる総称サービス・インターフェース408を介して外部オブジェクトにパブリッシュすることができる。同様に、各サービス・インスタンス402とのインターフェースは、コンテキスト・インターフェース404の一部として含めることができ、このコンテキスト・インターフェースもたとえばXML文書の一部としてパブリッシュすることができる。ロードされると、総称サービス・インスタンス402は、JSLEEサーバ200内のイベント・ルーティング・バス218を介して通信することができる。
【0055】
図5は、本発明の好ましい一実施形態のJAIN準拠のインテリジェント・ネットワークにおける総称サービス・コンポーネント502A、502B、502C、502D、502E、502Fの構成の例を示す簡略化した図である。図5に示すように、各総称サービス・コンポーネント502A、502B、502C、502D、502E、502Fは、サービス・ラッパ506および1つまたは複数のクライアント・サービス・インスタンス502を含むことができる。サービス・ラッパ506は、JSLEEサーバ200に登録し、サービス・アプリケーション530に対応する特定の種類のイベントを受信することができる。したがって、サービス・ラッパ506は、特定のプロトコルに従って受信済みイベントを変換し、そのイベントを再フォーマットするために必要な機能を含むことができる。再フォーマットされたイベントは、特定の無線サービス・アプリケーションにルーティングすることができる。サービス・ラッパ506は特定のトランザクション、すなわち1つまたは複数のイベントを処理するためにクライアント・サービス・インスタンス502をインスタンス化することができる。クライアント・サービス・インスタンス502は、サービス・アプリケーション530A、530B、530C、530D、530E、530Fのうちの1つと通信するためにインスタンス化することもできる。
【0056】
図5に示すように、例示的な総称サービス・コンポーネント502A、502B、502C、502D、502E、502Fは、それだけには限らないが、WAP総称サービス・コンポーネント502A、EDGE総称サービス・コンポーネント502B、GPRS総称サービス・コンポーネント502C、LDAP総称サービス・コンポーネント502D、DB2総称サービス・コンポーネント502E、およびMQSeries総称サービス・コンポーネント502Fを含むことができる。たとえば、サービス・ラッパ506は、WAP総称サービス・コンポーネント502Aの一部として、JSLEEサーバ200に登録し、無線のハンドヘルド装置などの無線装置に関連する無線イベントを受信することができる。図5に示すように、サービス・ラッパ506は、各受信済みイベント、すなわちWAP対応の無線サービス・アプリケーションに関連するトランザクションを含む一連のイベントごとに1つずつ、計3つのクライアント・サービス・インスタンス502をインスタンス化している。あるいは、単独のクライアント・サービス・インスタンス502は複数のトランザクションを処理することもできる。したがって、各クライアント・サービス・インスタンス502は、WAP対応のサービス・アプリケーション530Aと対話することができる。
【0057】
同様に、EDGE総称サービス・コンポーネント502BおよびMQSeries総称サービス・コンポーネント502Fはそれぞれサービス・ラッパ、および1つまたは複数のクライアント・サービス・インスタンスを含み、EDGE対応の無線サービス・アプリケーション530BおよびMQSeriesメッセージ・キュー・サービス・アプリケーション530Fとそれぞれに対話することができる。総称サービス・コンポーネントは、必要に応じて、プロプラエタリ・データベースおよびプロプラエタリ・インターフェースおよびプロトコルを用いる無線サービスを含めていずれのサービス・アプリケーション向けにも構築することができることを理解されたい。
【0058】
次に図2を参照すると、電話および総称サービス・コンポーネント203、204とは異なり、インターネット対応のサービス・コンポーネント205は、サーブレットやスクリプトなどの外部サーバ側プログラムと通信するように事前に構成することができる。サーバ側プログラムの例には、これだけには限らないが、共通ゲートウェイ・インターフェース(CGI)、Perlスクリプト、Java(商標)ServerPage、VBスクリプト、Active Server Page(商標)、または他のスクリプト技術が含まれる。外部アプリケーション232がインターネット対応サービス・コンポーネント205にアクセスすると、インターネット対応サービス・コンポーネント205は、外部アプリケーション232にJSLEEサーバ200内のイベント・ルーティング・バス218へのアクセスを提供することができ、このバスを介して、サービス・コンポーネント203、204、205は互いに通信することができる。
【0059】
この機構を介して、JSLEEサーバ200上で実行されるサービス・コンポーネント203、204、205は、インターネット対応サービス・コンポーネント205とも通信することができる。したがって、インターネット対応サービス・コンポーネント205は、インターネットなどのコンピュータ通信ネットワーク内のウェブ・サーバ230と連携して動作するサーバ側プログラム232に通信可能にリンクすることができるので、JSLEEサーバ200上の他のサービス・コンポーネント203、204は、インターネット対応サービス・コンポーネント205を使用して、インターネット上で情報を送受信することができる。さらに、JSLEEサーバ200上の他のサービス・コンポーネント203、204は、ユーザおよび管理者によってインターネットからアクセスすることができる。
【0060】
インターネット対応サービス・コンポーネント205は、ハイパーテキスト転送プロトコル(HTTP)に従って要求および応答を送受することにより、ウェブ・サーバ230と直接通信するように構成することができる。同様に、ウェブ・サーバ230は、やはりHTTPに従ってインターネット対応サービス・コンポーネント205と通信するように構成されたサーバ側プログラム232を含むことができる。とはいえ、本発明は、インターネット対応サービス・コンポーネント205と、対応するサーバ側プログラム232がどのように通信するかについて制限されていない。むしろ、明示的なTCP/IP通信などの一般的な接続指向技術を含めてどんな周知の通信技術でも十分であり得る。
【0061】
サーバ側プログラム232とインターネット対応サービス・コンポーネント205を組み合わせることで、サービスおよびサービス・コンポーネントの様々な側面に、インターネットを介して、インターネット対応サービス・コンポーネント205によって提供される共通のアプリケーション・プログラミング・インターフェース(API)からアクセスすることが可能になる。たとえば、加入者はサービス属性にアクセスしそれを修正することができる。サービス属性は加入者によってアクセス可能などんなサービスの側面も含むことができる。同様に、サービス管理者またはスーパ・ユーザは、インターネット上で管理機能へのアクセス、監視、および実施を行うことができる。管理機能は、それだけには限らないが、システム管理者またはスーパ・ユーザのために確保され、加入者には提供されないどんな機能も含むことができる。特に、インターネット対応サービス・コンポーネント205は、外部サービスまたはシステムの補助なしに、加入者および管理者にこうしたアクセスをインターネット上で提供することができる。
【0062】
JSLEEサーバ200上の他のサービス・コンポーネント203、204と同様に、各インターネット対応サービス・コンポーネント205は、JSLEEサーバ200との間でイベントの送受信が行えるように構成することもできる。このようにして、他のサービス・コンポーネント203、204は、JSLEEサーバ200に登録し、こうしたイベントを受信することができる。サービス・コンポーネント203、204は、それに対応して、JSLEEサーバにイベントを送信することができ、インターネット対応サービス・コンポーネント205を登録してそのイベントを受信することができる。インターネット対応サービス・コンポーネント205は、JSLEEサーバ200から受信するイベント、ならびにウェブ・サーバ230から受信する通信を処理することができることを理解されたい。このようにして、インターネット対応サービス・コンポーネント205は、インターネットとJSLEEサーバ200の間のインターフェースとして機能することができる。
【0063】
特に、JSLEEサーバ200は、スレッド・プール222、クラス・ローダ224、タイマ226、使用カウンタ228を含む複数のライフサイクル管理コンポーネントも含むことができる。しかし、ライフサイクル管理コンポーネントは、図2に示すものだけには限られない。むしろ、ライフサイクル管理コンポーネントは、たとえばロード・バランシングなどの他のライフサイクル管理責任を実施することができるコンポーネントを含むことができる。いずれにせよ、本発明の構成によれば、個々のサービス・コンポーネントは、ライフサイクル管理を実施するオーバヘッドから解放され、電話アプリケーションにおいてより適切に使用することができる。
【0064】
特に、図2に示すように、スレッド・プール222は、複数の事前構成およびロードされた実行スレッドを含むことができ、この実行スレッドは、要求に応じて、スレッド・プール管理コンポーネントによって、JSLEEサーバ200上で実行される要求元のサービス・コンポーネント203、204、205に割り当てることができる。要求元のサービス・コンポーネント203、204、205が割り当てられたスレッドの使用を完了したとき、スレッド・プール管理コンポーネントは、その割り当て済みのスレッドを割り当て解除することができ、その割り当て解除されたスレッドを、JSLEEサーバ200上で実行される他の要求元のサービス・コンポーネント203、204、205が使用できるように、スレッド・プール222に戻すことができる。
【0065】
クラス・ローダ224をJSLEEサーバ200は使用して、JSLEEサーバ200上で実行すべくサービス・コンポーネント203、204、205を適切にロードすることができる。特に、クラス・ローダ224は、ロードされる各サービス・コンポーネント203、204、205に関連する構成およびロード・パラメータを識別することができる。次いで、クラス・ローダ224は、識別された構成およびロード・パラメータを用いて、サービス・コンポーネント203、204、205を実行することができる。最後に、クラス・ローダ224は、サービス・コンポーネント203、204、205を、イベント・ルーティング・バス218に登録することができ、JSLEEサーバ200上で実行されるサービス・コンポーネント203、204、205との間でイベントを送受信することができる。
【0066】
最後に、プロトコル層202は、1つまたは複数のプロトコル・スタックを含むことができ、このプロトコル・スタック206は、JSLEEサーバ200上で実行されるサービス・コンポーネント204と通信するように構成することができる。特に、図2には、3つのプロトコル・スタック206だけしか示されていないが、本発明は、プロトコル・スタック206の数または種類について制限していない。むしろ、JSLEEサーバ200は、いずれのプロトコル・スタック、たとえばJAIN仕様に従って構成されたプロトコル・スタックとも通信することができる。
【0067】
動作中、JSLEEサーバ200はプロトコル層202のプロトコル・スタック206との間でイベントを送受信することができる。より詳細には、イベントは、JSLEEサーバ200に含まれる、イベント・ルーティング・バス218で送受信される。電話サービス・コンポーネント204および総称サービス・コンポーネント203は、イベント・ルーティング・バス218で受信される特定のイベントのリスナーとして登録することができる。JSLEEサーバ200に登録されたサービス・コンポーネント203、204、205は、サービス・コンポーネント203、204、205のうちの特定のコンポーネントに向けたプロトコル・スタック・イベントを受信することができる。サービス・コンポーネント203、204、205はまた、サービス・コンポーネント203、204、205のうちの特定のコンポーネントに向けたサービス・コンポーネント・イベントを受信することができる。より詳細には、JSLEEサーバ200のイベント・ルーティング・バス218は、受信したイベントを、こうしたイベントを受信するためにJSLEEサーバ200に登録を行ったサービス・コンポーネント203、204、205にルーティングすることができる。
【0068】
本発明の好ましい一実施形態によれば、JSLEEサーバ200は、JAIN準拠のインテリジェント・ネットワーク上のクライアント・コンポーネントと通信するように構成することができる。クライアント・コンポーネントは、プロトコル・スタック206だけでなく、他のサービス・コンポーネント203、204、205、特定の外部サービス220、および外部アプリケーション208も含むことができる。重要なことに、JSLEEサーバ200は、各クライアント・コンポーネントの実装に関する特定の知識がなくても、このように構成することができる。この難しい仕事を成し遂げるために、JSLEEサーバ200は、コネクタ210を含むことができ、このコネクタはラッパ216と通信し、それによってコネクタ/ラッパ・インターフェースを形成することができる。ラッパ216は、コネクタ210に、プロトコル・スタック206などの特定のクライアント・コンポーネントとの抽象インターフェースを提供することができる。各コネクタ210は、対応するラッパ216によって提供される抽象インターフェースを介して、プロトコル・スタック206などの対応するクライアント・コンポーネントと通信するように構成することができる。
【0069】
したがって、一般に、JSLEEサーバ200は、プロトコル・スタック206などの基本となるクライアント・コンポーネントの実装の詳細に関係なく、コネクタ/ラッパ・インターフェースを介してイベントを総称的に送受信することができるが、ラッパ216だけは基本となるプロトコル・スタック206の実装の詳細に関する特定の知識を必要とする。本発明の一態様では、個々のラッパ216を指定することができるJSLEEディスクリプタ214を含めることができ、対応するコネクタ210をこのラッパと通信するように構成することができる。
【0070】
特に、JSLEEサーバ200は、始動時、JSLEEディスクリプタ214を読み取り、指定された各ラッパ216の識別について知ることができる。次いで、JSLEEサーバ200は、コネクタ210を、指定されたラッパ216と通信するように構成することができる。同様に、クライアント・コンポーネント・ディスクリプタ212を、各コネクタ210ごとに提供することができる。クライアント・コンポーネント・ディスクリプタ212は特定のイベントを指定することができ、そのイベントについては、プロトコル・スタック206などの関連するクライアント・コンポーネントにJSLEEサーバ200のイベント・ルーティング・バス218を介して通知することができる。
【0071】
図6は、統合ネットワークのアプリケーション実行環境内のクライアント・コンポーネントにSLEEを通信可能にリンクする方法を示すフローチャートである。この方法は、ブロック602で、SLEEをロードして開始することができる。ブロック604で、SLEEディスクリプタをロードすることができる。判断ブロック606で、クライアント・コンポーネントが指定されている場合、ブロック608で、コネクタ・インスタンスを生成し、それを指定されたクライアント・コンポーネントに関連するラッパと通信するように構成することができる。ブロック610で、構成されたコネクタに関連するサブスクリプション・ディスクリプタをロードすることができ、ブロック612で、サブスクリプション・ディスクリプタにリストされているイベントを受信するために、指定されたクライアント・コンポーネントをSLEE内のイベント・ハンドラに登録することができる。
【0072】
次いで、判断ブロック614で、追加のクライアント・コンポーネントがSLEEディスクリプタにリストされている場合、追加のコネクタ・インスタンスを、ブロック608から612に従って生成し構成することができる。最後に、すべてのコネクタ・インスタンスが生成および構成されると、ブロック616で、SLEEを開始し、個々のクライアント・コンポーネントごとの基本となる実装に関係なく、コネクタ/ラッパ・インターフェースを介して登録済みクライアント・コンポーネントにイベントをルーティングすることができる。その結果、SLEEは、各クライアント・コンポーネントに関する特定の知識を必要とせずに、クライアント・コンポーネント・ラッパを介して、クライアント・コンポーネントに通信可能にリンクすることができる。
【0073】
本発明は、ハードウェアでも、ソフトウエアでも、またはハードウェアとソフトウエアの組合せにおいても実現することができる。本発明による電話サービス提供方法は、1つのコンピュータによる集中方式でも、異なる要素が相互接続された複数のコンピュータに広がる分散方式でも実現することができる。どんな種類のコンピュータ・システム、すらわち本明細書に記載した方法を実施するように適合された他の装置にも適している。ハードウェアとソフトウェアの通常の組合せは、ロードされ実行されたとき、本明細書に記載した方法を実施するようにコンピュータ・システムを制御するコンピュータ・プログラムを有する汎用コンピュータ・システムとすることができる。
【0074】
本発明は、本明細書に記載した方法の実装を可能にするすべての機能を備え、コンピュータ・システムにロードされたとき、こうした方法を実施することができるコンピュータ・プロダクトに組み込むこともできる。コンピュータ・プログラム、すなわち本発明との関連におけるコンピュータ・プログラムは、情報処理能力を有するシステムに、直接に、またはa)別の言語、コードまたは表記への変換、b)異なる材料形式への複製のうちの一方または両方を行った後に、特定の機能を実行させるための1組の命令に関する、任意の言語、コード、または表記による任意の表現を意味する。
【図面の簡単な説明】
【0075】
【図1】従来技術において周知の従来型のJAIN実装に従って構成されたインテリジェント・ネットワーク・アーキテクチャの概略図である。
【図2】サービス論理実行環境(SLEE)を含めたインテリジェント・ネットワーク・アーキテクチャの概略図である。
【図3】図2のSLEE内で実行するように構成された電話サービス・コンポーネントの細部を示す図である。
【図4】図2のSLEE内で実行するように構成された総称サービス・コンポーネントの細部を示す図である。
【図5】図2のインテリジェント・ネットワーク・アーキテクチャのアプリケーション層のサービス・アプリケーションにアクセスするように構成された総称サービス・コンポーネントの集合体を示すブロック図である。
【図6】コネクタ/ラッパ・インターフェースを介して、クライアント・コンポーネントと図2のSLEEの間で通信リンクを確立する方法を示すフローチャートである。

Claims (14)

  1. インテリジェント・ネットワーク向けのアプリケーション実行環境であって、
    サービス論理層にあり、サービス論理層のサービス・コンポーネントとプロトコル層およびアプリケーション層のクライアント・コンポーネントの間でイベントをルーティングするためのイベント・ルーティング・バスを含むサービス論理実行環境(SLEE)と、
    前記プロトコル層にあり、コネクタ/ラッパ・インターフェースを介して前記SLEEに通信可能にリンクされた少なくとも1つのクライアント・コンポーネントと、
    少なくとも1つが前記SLEE内で実行され、前記プロトコル層のクライアント・コンポーネントおよび前記サービス論理層の他のサービス・コンポーネントと、前記SLEE内の前記イベント・ルーティング・バスを介して通信するように構成された電話サービス・コンポーネントと
    を含む、アプリケーション実行環境。
  2. 少なくとも1つが前記SLEE内で実行され、前記SLEE内の他のサービス・コンポーネントおよび前記アプリケーション層の特定の外部サービスと通信するように構成された総称サービス・コンポーネントをさらに含む、請求項1に記載のアプリケーション実行環境。
  3. 少なくとも1つが前記SLEE内で実行され、前記イベント・ハンドラを介して前記SLEE内の他のサービス・コンポーネントとの間でメッセージの送受信を行うように構成され、前記SLEEの外部のサーバ側プログラムと通信可能なリンクを備えるインターネット対応サービス・コンポーネント(IESC)をさらに含む、請求項1または2のいずれかに記載のアプリケーション実行環境。
  4. 前記コネクタ/ラッパ・インターフェースが、
    前記プロトコル層のクライアント・コンポーネントに抽象インターフェースを提供するクライアント・コンポーネント・ラッパと、
    前記SLEEに関連付けられ、前記クライアント・コンポーネント・ラッパに対応し、前記クライアント・コンポーネント・ラッパによって提供される前記抽象インターフェースを介して前記クライアント・コンポーネントと通信するように構成されたコネクタと
    を含む、請求項1ないし3のいずれかに記載のアプリケーション実行環境。
  5. 前記SLEEがコネクタ/ラッパ・インターフェースを介して通信するように構成することができる、少なくとも1つのクライアント・コンポーネントを指定するSLEEディスクリプタをさらに含む、請求項1ないし4のいずれかに記載のアプリケーション実行環境。
  6. それぞれが前記プロトコル層の特定のクライアント・コンポーネントに対応し、特定のイベントを指定し、そのイベントについて、前記SLEE内の前記イベント・ルーティング・バスによって前記特定のクライアント・コンポーネントに通知することができる、少なくとも1つのクライアント・コンポーネント・ディスクリプタをさらに含む、請求項1ないし5のいずれかに記載のアプリケーション実行環境。
  7. 前記クライアント・コンポーネントがプロトコル・スタックである、請求項1ないし6のいずれかに記載のアプリケーション実行環境。
  8. 前記クライアント・コンポーネントが、コール制御コンポーネント、シグナリング・プロトコル・コンポーネント、接続管理プロトコル・コンポーネント、およびセキュア・ネットワーク・アクセス・プロトコル・コンポーネントからなる群から選択される、請求項1ないし6のいずれか一項に記載のアプリケーション実行環境。
  9. 前記SLEEがJAIN準拠のSLEEである、請求項1ないし8のいずれかに記載のアプリケーション実行環境。
  10. 前記SLEEが、
    サービス・コンポーネントを前記SLEE内にロードするためのクラス・ローダをさらに含み、
    前記SLEEが、ロードされた各サービス・コンポーネントを、特定の登録済みサービス・コンポーネント向けのイベントを受信するために登録し、前記イベント・ルーティング・バスが、前記受信済みイベントを、前記SLEE内で実行される前記特定の登録済みサービス・コンポーネントにルーティングする、
    請求項1ないし9のいずれかに記載のアプリケーション実行環境。
  11. 前記SLEEが、
    スレッド・プールと、
    スレッドを前記ロードされたサービス・コンポーネントが使用できるように割り振るためのスレッド・プール・マネージャと
    をさらに含む、請求項1ないし10のいずれかに記載のアプリケーション実行環境。
  12. サービス論理実行環境(SLEE)内のイベント・ルーティング・バスにおいて、コネクタ/ラッパ・インターフェースを介してクライアント・コンポーネントからプロトコル層イベントを受信するステップと、
    前記SLEE内で実行されるサービス・コンポーネントからサービス論理層イベントを受信するステップと、
    前記特定のプロトコル層イベントおよび前記サービス論理層イベントを、前記特定のプロトコル層イベントおよび前記サービス論理層イベントを受信するために登録されたサービス・コンポーネントおよびクライアント・コンポーネントに転送するステップと、
    前記SLEE内で実行される前記サービス・コンポーネントのうちの少なくとも1つにおいて、
    少なくとも1つのサービス論理層イベントを前記イベント・ルーティング・バスに送信するステップを含み、
    前記イベント・ルーティング・バスは、前記送信されたサービス論理層イベントを、前記送信されたサービス論理層イベントを受信するために登録された別のサービス・コンポーネントに転送することができる、
    電話サービス提供方法。
  13. 前記サービス・コンポーネントのうちの少なくとも1つにおいて、特定の外部サービスと通信リンクを確立するステップと、
    別のサービス・コンポーネントから外部サービスを要求するサービス論理層イベントを受信するステップと、
    前記別のサービス・コンポーネントから前記サービス論理層イベントを受信したことに応答して、前記リンクされた特定の外部サービスによって提供される機能への少なくとも1つの特定の呼び出しを介して、前記要求された外部サービスを提供するステップと
    をさらに含む、請求項12に記載の電話サービス提供方法。
  14. 電話サービスを提供するためのコンピュータ・プログラムを格納する機械可読記憶装置であって、前記コンピュータ・プログラムが、機械に請求項12または請求項13のいずれかに記載のステップを実施させるために、前記機械で実行可能なプログラム・コードを含む、機械可読記憶装置。
JP2003501167A 2001-05-24 2002-05-14 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ Expired - Fee Related JP3924279B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US09/864,696 US7007063B2 (en) 2001-05-24 2001-05-24 Server side program interface to service logic execution environment
US09/884,576 US6690782B2 (en) 2001-06-18 2001-06-18 Service logic execution environment connector to client interface
US09/884,497 US6694002B2 (en) 2001-06-18 2001-06-18 Generic service component for wireless services
US09/884,575 US6690781B2 (en) 2001-06-18 2001-06-18 Generic service component for telephony container server
US09/884,578 US6690783B2 (en) 2001-06-18 2001-06-18 Service application architecture for integrated network service providers
US09/884,577 US6914969B2 (en) 2001-06-18 2001-06-18 Service logic execution environment for telecommunications service components
PCT/GB2002/002250 WO2002098097A2 (en) 2001-05-24 2002-05-14 Service application architecture for integrated network service providers

Publications (2)

Publication Number Publication Date
JP2004537886A true JP2004537886A (ja) 2004-12-16
JP3924279B2 JP3924279B2 (ja) 2007-06-06

Family

ID=27560328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003501167A Expired - Fee Related JP3924279B2 (ja) 2001-05-24 2002-05-14 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ

Country Status (8)

Country Link
EP (1) EP1389395B1 (ja)
JP (1) JP3924279B2 (ja)
KR (1) KR100602318B1 (ja)
CN (1) CN100586203C (ja)
AT (1) ATE367059T1 (ja)
AU (1) AU2002302741A1 (ja)
DE (1) DE60221118T2 (ja)
WO (1) WO2002098097A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545355A (ja) * 2005-06-30 2008-12-11 ビーイーエイ システムズ, インコーポレイテッド ネットワークにおける通信セッションを管理するシステム及び方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0205203A (pt) * 2002-12-30 2004-09-21 Bcp S A Sistema de integração e gerenciamento de serviços em redes de telefonia e processo de integração e gerenciamento de serviços
KR100700363B1 (ko) * 2005-06-03 2007-03-27 주식회사 케이티프리텔 팔레이 게이트웨이 기반의 양방향 이동통신 서비스 시스템및 방법
DE102007001137B4 (de) * 2006-02-14 2016-05-04 Robert Bosch Gmbh Gateway zum automatischen Routen von Nachrichten zwischen Bussen
CN105512314A (zh) * 2015-12-15 2016-04-20 宋连兴 一种在应用程序内实现可分离的数据处理方法
WO2017165999A1 (zh) * 2016-03-28 2017-10-05 华为技术有限公司 网络服务实现方法、服务控制器及通信系统
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991803A (en) * 1997-03-28 1999-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Decoupling service creation environment from service logic execution environment
US6625274B1 (en) * 1999-10-12 2003-09-23 Broadsoft, Inc. Computer system and method for providing services to users of communication systems using service entities, interface entities, and a service bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545355A (ja) * 2005-06-30 2008-12-11 ビーイーエイ システムズ, インコーポレイテッド ネットワークにおける通信セッションを管理するシステム及び方法

Also Published As

Publication number Publication date
WO2002098097A3 (en) 2003-05-22
AU2002302741A1 (en) 2002-12-09
EP1389395A2 (en) 2004-02-18
KR20040000439A (ko) 2004-01-03
EP1389395B1 (en) 2007-07-11
CN100586203C (zh) 2010-01-27
ATE367059T1 (de) 2007-08-15
JP3924279B2 (ja) 2007-06-06
DE60221118T2 (de) 2008-03-20
KR100602318B1 (ko) 2006-07-14
CN1537392A (zh) 2004-10-13
DE60221118D1 (de) 2007-08-23
WO2002098097A2 (en) 2002-12-05

Similar Documents

Publication Publication Date Title
US6690783B2 (en) Service application architecture for integrated network service providers
US6964050B1 (en) Arrangement for simplifying the design and implementation of mobile services in a communication system
KR100342952B1 (ko) 사용자 애플리케이션 프로그램과 전화 통신 프로그램 간의 api 및 메소드를 구비한 무선 통신 장치 및 방법
US5551035A (en) Method and apparatus for inter-object communication in an object-oriented program controlled system
AU770505B2 (en) Method and apparatus for providing real-time call processing services in an intelligent network
JP2002522932A (ja) インテリジェント分散型ネットワークアーキテクチャのための方法およびシステム
JPH10116193A (ja) 通話制御装置および通話を制御する方法
JP3924279B2 (ja) 統合ネットワーク・サービス・プロバイダ向けのサービス・アプリケーション・アーキテクチャ
US6690781B2 (en) Generic service component for telephony container server
US6694002B2 (en) Generic service component for wireless services
US7007063B2 (en) Server side program interface to service logic execution environment
US6914969B2 (en) Service logic execution environment for telecommunications service components
US6873695B2 (en) Generic service component for voice processing services
US7072957B2 (en) Remote administration and monitoring of a service component in a service logic execution environment
US6876733B2 (en) Generic service component for message formatting
MXPA05003667A (es) Metodo y aparato para sistema de integracion de servicio.
TWI226771B (en) Service application architecture for integrated network service providers
Qu A component-based approach to provide IN type of services on IP network
MXPA99008863A (es) Dispositivo y metodo de radiocomunicaciones con api entre el programa de aplicación de usuario y el programa y metodo de telefonia
MXPA01001277A (en) Method and system for an intelligent distributed network architecture

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20040113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060718

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070118

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070223

R150 Certificate of patent or registration of utility model

Ref document number: 3924279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120302

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140302

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees