JP2006502493A - サービス統合システムのための方法およびシステム - Google Patents
サービス統合システムのための方法およびシステム Download PDFInfo
- Publication number
- JP2006502493A JP2006502493A JP2004542759A JP2004542759A JP2006502493A JP 2006502493 A JP2006502493 A JP 2006502493A JP 2004542759 A JP2004542759 A JP 2004542759A JP 2004542759 A JP2004542759 A JP 2004542759A JP 2006502493 A JP2006502493 A JP 2006502493A
- Authority
- JP
- Japan
- Prior art keywords
- service
- integration system
- service integration
- network
- module
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2254—Arrangements for supervision, monitoring or testing in networks
- H04M3/2263—Network management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42136—Administration or customisation of services
- H04M3/4217—Managing service interactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/12—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
- H04M7/1205—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0029—Provisions for intelligent networking
- H04Q3/0054—Service creation techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/54—Object oriented software
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
新しいサービスを開発して既存のネットワークにそれらを統合するためのオープンな環境を提供する、ソフトウェアによって実施される分散型のサービス統合システムであって、統合は、サービスの開発の責務も負うサービス統合システムの管理者によって実行される。従って、新しいサービスの開発及び統合の手順が、電話サービス統合システムにおける一般的な手順よりも短くかつ安価である。既存のネットワークインフラストラクチャに統合される新しいサービスの例として、通信業者の課金インフラストラクチャを使用する高度な課金サービスをサービス開発者が開発することが挙げられる。また、本発明のシステムでは、システム管理者によって定義される修正可能なポリシーを通じて、サービス統合システムの中と、サービス統合システム及び通信ネットワークの間と、の両方においてパケットの流れがサービスレベルで制御される。本発明のシステムでは、システム上に配置されるサービスへのシグナリングプロセスの可視性も提供され、ネットワーク適合化コンポーネントによってIPやSS7などのさまざまなプロトコルと直接通信することができる。
Description
本発明は、一般的には、通信ネットワークサービスに関する。より詳細には、本発明は、アプリケーションサーバーとして実施され、ネットワークサービスの配置(deployment)、実行、および管理を可能にする、通信ネットワーク用の分散型サービス統合システムに関する。
最近のサービス統合/実行システムは、ネットワークセッション中にユーザーに何らかの特殊な機能を提供する高度なネットワークサービスをユーザーに提供することができる。ネットワークセッションは、開始イベントによって始まり終了イベントによって終わる一連のイベント群であり、例えば、電話の呼やWebサイトへのアクセスなどである。
サービスの実行を伴うセッションが開始されるとき、送られるデータの基本タイプは最大3種類ある、すなわち、セッション処理データと、伝送される実際のメディア(例:音声、映像、ストリームなど)と、サービスに関するデータである。
サービスに関するデータには、サービスの起動を求めるトリガーまたは要求が含まれる。サービスの使用をサポートするネットワークには、これらのトリガーおよび要求を認識する責務を負うコンポーネントが存在する。サービスを実行する必要があることをこれらのコンポーネントが認識すると、必要なサービスの実行および提供に必要な情報がサービス統合システムに伝えられる。
サービス統合システムは、一般には2つの主機能を有するものとして記述することができ、2つの主機能とは、(a)さまざまなサービスのサービスロジックがインストールされているアプリケーション機能と、(b)さまざまなベンダー(通常はAlcatel、Nortel、Ericssonなどの主要な機器ベンダーによって開発される、さまざまなサービスによって使用される一連の汎用プラットフォーム機能、である。
サービス統合システムは、通信ネットワークによってサポートされるサービスの実行および管理の責任を負い、特定のネットワークがどのサービスを提供するかを定義する。現時点では、これらのコンポーネントは特定のプロバイダ(上述したように通常は主要な通信機器ベンダー)によって提供されている。
現在のサービス統合技術には、実用上の問題点がいくつかの存在する。第一に、現在の技術では、通常、閉じた独自の(closed, proprietary)システムが提供される(すなわち、新しいサービスの追加および配置は、これら独自のシステムのプロバイダのみが行うことができる)。この結果として、新しいサービスの追加とその配置は、時間および費用が非常にかかるタスクとなる。例えば、ユーザーが自身のネットワークに新しいサービスを追加しようとする場合、先行技術によれば、そのユーザーはシステム統合システムのプロバイダに連絡して、新しいサービスの開発および配置を要求する必要がある。このことは、最も基本的なサービスを除いて、要求するサービスすべてに当てはまる。例えば、電話網に関する限りは、あるサービスが要求された時点からそのサービスが運用されるまでには2年以上もの月日が経過することがあり、このように期間が長く手続きが複雑である結果として、サービスが非常に高価にもなる。先行技術によるサービス統合システムが閉じていることに起因する別の2つの結果として、(i)標準的なソフトウェアベースの開発ツールを使用することができないこと、(ii)ネットワーク内の他のコンポーネントとの統合が複雑であること、があげられる。
従って、アプリケーションサーバーとして実施される、ソフトウェアベースのオープンなサービス統合システムであって、先行技術のサービス統合システムの前述した欠点に対処するようにされており、電話網、INネットワーク、IPネットワーク、ハイブリッドネットワーク(すなわち各種の通信システムを組み合わせたネットワーク)などの各種の通信ネットワークと連携して動作することのできるサービス統合システム、を提供することが望まれている。
従って、本発明の主な目的は、オープンな環境を提供するサービス統合システムを提供することである(すなわち新しいサービスを開発すること、それらを既存のネットワークへ追加すること、およびそれらを既存のネットワークと統合することとが、サービス統合システムの管理者によって行われ、管理者がサービスの開発の責務も負う(「サービス開発者」または「システム管理者」))。この結果として、新しいサービスの開発および統合の手順が比較的短くなりかつ安価になる。
本発明のさらに別の目的は、既存のネットワークインフラストラクチャに統合される新しいサービスを開発できるようにする(例:通信業者の課金インフラストラクチャを使用する高度な課金サービスをサービス開発者が開発する)ことである。
本発明のさらに別の目的は、サービス統合システムの中と、サービス統合システムと通信ネットワークとの間、の両方のパケットの流れを制御および管理するコンポーネントであって、管理が、システム管理者によって定義される修正可能なポリシーに従って実行される、コンポーネント、をサービス統合システム内に実装するとである。
本発明のさらに別の目的は、システム管理者がコンポーネントを構成することのできるサービス統合システムを実施することである。
本発明のさらに別の目的は、通信ネットワークに固有なサービス統合システムであって、シグナリングプロセスの良好な可視性および制御性を可能にするサービス統合システム、を実施することである。
本発明のさらに別の目的は、サービス統合システムがネットワーク適合化コンポーネントによってIP、SS7などのさまざまなプロトコルと直接通信できるようにすることである。
本発明の好ましい実施形態によると、ソフトウェアによって実施される(すなわちソフトウェアが専用マシン上ではなくコモディティ(commodity)コンピュータ上で実行される)、通信ネットワーク用の分散型サービス統合システムであって、サービス統合システムを含みその管理及び制御を実行するさまざまなモジュールを管理および制御する少なくとも1つのモジュールと、ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う少なくとも1つのモジュールと、少なくとも1つのサービスロジック実行環境モジュールと、サービス統合システムのコンポーネントの間並びにサービス統合システム及びネットワークの間の両方のデータの流れを最適化する少なくとも1つのリソース制御モジュールであって、サービスの追加と、サービスの配置と、サービスの実行と、のうちの少なくとも1つを行うことができるように、ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う少なくとも1つのモジュールと、サービスロジック実行環境モジュールとに少なくとも接続されている、リソース制御モジュールと、を備えている、サービス統合システム、が提供される。
本発明のさらなる特徴および利点は、以下の詳細な説明と添付の図面とから明らかになるであろう。
本発明をより完全に理解することができるように、模範的な実施形態について添付の図面を参照しながら以下に詳しく説明する。これらの実施形態は一例であり、本発明を制限するものではない。
図1を参照する。この図は、本発明のサービス統合システムの模範的な実施形態を開示しており、このシステムは、「TappS」10として知られており、通信ネットワーク用の分散型サービス統合システムである。TappS10は、ソフトウェアによって実施される(すなわち本発明のサービス統合システムは、専用マシン上ではなくコモディティコンピュータ上で実行されるソフトウェアである)。この方式において、TappS10では、既存のネットワークサービスを配置し、実行し、管理することと、新しいネットワークサービスを作成することとが可能であり、これらのことは先行技術においては現時点では可能ではない。
本明細書に説明する模範的な実施形態によると、TappS10は、分散型アーキテクチャを使用し、少なくとも1つのマネージャモジュール12と、少なくとも1つのコントローラモジュール14と、少なくとも1つのサービスロジック実行環境モジュール(「SLEE」)16と、少なくとも1つのリソース制御層モジュール(「RCLC」)18と、少なくとも1つの機能モジュール要素42と、少なくとも1つのゲートウェイモジュール40と、少なくとも1つのネーミングサービスモジュール22と、を有する。機能モジュール要素42とゲートウェイモジュール40は、両方をまとめてネットワークアダプタ20と称する。
本発明の模範的な実施形態によると、上述したモジュールのそれぞれは、異なる計算ステーション(「コンピュータ」)として実施される。本発明の代替実施形態によると、上述したモジュールの1つまたは複数は同じコンピュータを共有する。使用する実施形態の選択は、モジュールのそれぞれのリソースの使用状況と、本発明を使用するネットワークの規模と、ネットワークのトラフィックレートとに依存する。
TappS10のさまざまなコンポーネント間の通信は、一般には「CORBA」と称される共通オブジェクトリクエストブローカーアーキテクチャ(CORBA:Common Object Request Broker Architecture)によって実行される。機能モジュール要素42とRCLC18との間など、高い伝送率が要求される接続は、TappS10に独自のプロトコルによって実行される。これら独自のプロトコルは、TCPやUDPなどの標準的なネットワークプロトコルによって伝送される。より具体的には、SLEE16とRCLC18との間、RCLC18とネットワークアダプタ20との間、およびRCLC18とネーミングサービス22との間の通信では、その方向のみにおいて、TappS10の独自のプロトコルが使用される。それ以外のすべての通信では、CORBA IIOP(Internet Inter ORB protocol)が使用される。
TappS10の上述したモジュールとその機能について、以下に要約しておく。
マネージャ12は、インタフェースであり、システム管理者は、TappS10を含んでいる複数のモジュールのそれぞれをこのインタフェースを使用して構成することができ、これについては後から説明する。マネージャ12は、コントローラ14にアクセスし、TappS10のモジュールを構成するようにコントローラ14に命令することによって、さまざまなTappS10のモジュールを構成する。マネージャ12は、システム管理者がグラフィカルユーザーインタフェースを使用して動作させる。
コントローラ14は、TappS10のさまざまなモジュールを監視および維持管理する。コントローラ14は、機能不良を特定し、冗長性の処理を行い、耐障害性を提供し、TappS10を含んでいる複数のモジュールのうちダウンしているかまたは機能不良のモジュールがあれば置き換えるかリスタートさせる。また、コントローラ14は、新しいバージョンのリリースの場合にTappS10のさまざまなシステムモジュールのアップグレードを行い、この場合、コントローラ14は、自身を除くTappS 10のすべてのモジュールを置き換えることができる。コントローラ14を置き換える必要がある場合、その置き換えはマネージャ12によって行われる。
コントローラ14によるモジュールのリスタートは、システム管理者が行うか、またはモジュールをリスタートさせる必要があること(例えばモジュールがクラッシュしたとき)をコントローラ14が検出したときにコントローラ14によって自動的に行わせることができる。
図2を参照する。SLEE16は、TappS10によって提供されるサービスが実行される環境を提供するモジュールである。サービスは、ステートマシンをモデル化するプログラムコードから成る、サービス開発者によって開発されたアプリケーションを含んでいる。SLEE16は、少なくとも1つのステートマシンコントローラ30と、少なくとも1つのメモリモジュール24と、少なくとも1つの実行可能ステートマシン28とを備えており、実行可能ステートマシン28は、少なくとも1つのステートマシン29をさらに備えている。
SLEE16では、さまざまなネットワークサービス26のサービスロジックがメモリ24に格納される。さまざまなサービス26は、ステートマシンとして表されている。SLEE16は、TappS10によって提供されるさまざまなサービスを実行する責務を負う。各サービス26は、ステートグラフによって表されており、ステートグラフ上の各ノードがサービス26のステートを表す。ステートは、サービスを実行するときの方法に関する一組の値および命令と、実行中のサービスの後継のステートを解決する方法の一組の値および命令とをカプセル化した静的エンティティである。ステートグラフは、サービス26の可能なノードすべてを定義し、従って、特定のサービス26がその実行時にとることのできる経路すべてを記述する。2つのステート(またはノード)の間を結合している線分を、ステート遷移と称する。サービス26の実行は、サービス26を表すステートグラフのステートノードに沿って進むことによって行われる。サービス26の実行の開始時には、サービス26のステートノードをすべて集める必要はなく、なぜなら、第1のステートノードに続くステートノードのそれぞれは、実行されるときにサービス26によって動的に解決されるためである。注意すべき点として、サービスの実行が開始されるときには、すべてのステートノードがメモリ内に存在している必要はないが、サービス26を記述するステートグラフは、サービスの可能な分岐すべてを含んでおり、実行のステートには関係なく全体が存在する。
サービス26(すなわちステートグラフ)は、実行可能ステートマシン28によって実行される。実行可能ステートマシン28は、TappS10によって提供されるサービス26を実行する汎用エンジンである。SLEE16は、少なくとも1つの実行可能ステートマシン28を備えている。
SLEE16の2つの主要コンポーネントは、実行可能ステートマシン28とステートマシンコントローラ30である。ステートマシンコントローラ30は、新しいサービス要求を待機している空いている実行可能ステートマシン28を管理する。
ステートマシンコントローラ30の主な責務は、入力される要求を受信し、要求されたサービス26を表すステートグラフを取り出し、ステートグラフを実行を目的として空いている実行可能ステートマシン28に割り当てる。ステートマシンコントローラ30は、TappS10によってサポートされる有効なサービス26(すなわちステートグラフ)のすべてが格納されているメモリ24の内容を管理する。ステートマシンコントローラ30は、新しいサービスの要求を受信すると、合致するサービス26をメモリ24から取り出し、それを実行を目的として実行可能ステートマシン28に割り当てる。割り当てが行われると、ステートマシンコントローラ30は実行中のサービス32とそれ以上は通信しない。ステートマシンコントローラ30の二次的な責務は、実行中の実行可能ステートマシンオブジェクト28の正しさの監視などのサービス要求の割り当ておよび実行に必要なリソースを維持することや、メモリの使用状況を監視することなどである。
実行可能ステートマシン28は、1つのサービス26の実行の責務を負う。実行可能ステートマシン28と実行中のサービス32との間には、ステートマシン29である中間層が存在する。ステートマシン29は、その中で実行可能ステートマシン28がサービスを実行するコンポーネントである。
実行可能ステートマシン28は、実行中のサービス32と機能モジュール要素42との間の接続も維持する。多くの場合、サービスによっていくつかの機能モジュール要素42が必要となることがある。接続は、後から説明するようにRCLC18によって維持される。実行プロセスに沿って、実行中のサービス32は、機能モジュール要素42のタスクをポストする。これらのタスクには、現在のステートノードの実行に必要なデータが含まれている。実行中のサービス32によってポストされたタスクを実行する機能モジュール要素42の動作と、実行中のサービスの動作は、非同期である。この場合の非同期とは、実行中のサービス32が、機能モジュール要素42が実行すべきタスクを送信した後は、機能モジュール要素42によって生成される結果を待たずに、サービス実行プロセスに関連する動作の実行を機能モジュール要素42の動作と同時に続けるという意味である。
実行可能ステートマシン28と機能モジュール要素42との間の相互作用は、以下のとおりである。実行可能ステートマシン28から機能モジュール要素42にRCLC18によってタスクが送られる。機能モジュール要素42によってタスクが完了すると、その結果が実行可能ステートマシン28に送り返される。実行可能ステートマシン28は、結果を受信し、現在のステートを維持しているステートマシン29にその結果を割り当てる。ステートマシン29は、結果を受信すると、サービス26のステートグラフ上の次のステートノードを解決する目的で、実行中のサービス32の現在のステートノードを伝える。
SLEE16は、少なくとも1つの実行可能ステートマシン28を持ち、本発明の模範的な実施形態によると、複数の実行可能ステートマシン28を持ち、これらをプールと称する。ステートマシンコントローラ30が新しいサービス要求を受信すると、実行可能ステートマシン28のインスタンスが実行を目的として割り当てられる。割り当てられた実行可能ステートマシン28は、サービス26のステートグラフを取得し、完了するまでそのサービスを実行する。割り当てられた実行可能ステートマシン28は、サービスの実行を終了すると、空いている実行可能ステートマシン28のプールに解放され、プールの中で次の割り当てを待つ。サービスを実行中の実行可能ステートマシン28のそれぞれは、自身の一意のリファレンス(reference)を有し、実行可能ステートマシン28を宛先とするメッセージは、このリファレンスに従ってルーティングされる。実行可能ステートマシン28へのこれらのメッセージのルーティングは、以下のように行われる。SLEE16の外側のモジュールが、実行可能ステートマシン28を宛先とするメッセージすべてをステートマシンコントローラ30にルーティングする。これらの外部コンポーネントは、一般には「IOR」(Interoperable Object Reference)と称されるCORBAアドレスに従ってステートマシンコントローラ30の位置を認識し、CORBAアドレスは、ステートマシンコントローラ30がその開始時にこれらの外部コンポーネントに伝える。実行可能ステートマシン28の1つを宛先とするメッセージがステートマシンコントローラ30に達すると、ステートマシンコントローラ30は、そのメッセージに関連する実行可能ステートマシン28にメッセージをさらにルーティングする。メッセージが新しいサービスの要求である場合、ステートマシンコントローラ30は、合致するサービス26をメモリ24から解決し、空いている実行可能ステートマシン28によって実行されるようにそれを割り当て(すなわちSLEE16の外側のモジュールはステートマシンコントローラ30を「認識」しているのみであり、ステートマシンコントローラ30が実行可能ステートマシン28を「認識」している。)、これについては後からさらに説明する。
実行中のサービス32のそれぞれは、その現在のステートと、その実行の次のステートを解決する方法とを認識している。現在のステートは、実行可能ステートマシン28によって実行される。現在のステートの実行は、RCLC18によって機能モジュール要素42に送られるタスクによって終了する。機能モジュール要素42は、タスクを実行し、この場合にもRCLC18を介して結果を実行可能ステートマシン28に戻す。戻された結果は、これに従って実行中のサービス32の次のステートが解決される入力である。
TappS10では、サービス26の決定論的な実行(deterministic execution)がサポートされる。各サービス26は、最初のステートノードに定義されているクリティカルパスとデッドライン(deadline)とを持つ。サービスが実行可能ステートマシン28に割り当てられると、その実行可能ステートマシン28は、サービスの実行を開始する前にクリティカルパスおよびデッドラインを認識する。サービス26の実行の間、これらの限界条件のすべてが満たされている必要があり、満たされないとサービス26の実行が終了し、例外が破棄(thrown)される。この例外は、ステートマシンコントローラ30が捕らえて処理する。
各サービス26は、優先度を持つ。サービスの優先度は、実行を目的として実行可能ステートマシン28に割り当てられる前にステートマシンコントローラ30によって計算される。優先度は、サービスの推定実行時間と存続時間に基づいて計算される。
SLEE16によるサービスの実行プロセスについて深く理解できるように、本発明の模範的な実施形態による代表的な実行のシナリオについて以下に説明する。サービスの実行は、入力されるサービス要求がRCLC18によってSLEE16に達したときに始まる。ステートマシンコントローラ30は、このような入力されるサービス要求を調べ、サービスの実行プロセスを開始する。ステートマシンコントローラ30は、要求されたサービスをメモリ24の中で特定し、空いている実行可能ステートマシンのプールから選択される実行可能ステートマシン28の空いているインスタンスに、実行を目的としてそのサービスを割り当てる。次のステップにおいて、実行可能ステートマシン28がステートマシンコントローラ30によって起動される。ステートマシンコントローラ30は、実行可能ステートマシン28に実行を目的としてサービス26を割り当てることによって、実行可能ステートマシン28を起動する。実行可能ステートマシン28は、起動されると、新しいステートマシン29のインスタンスを開始し、このインスタンスは、サービス26のステートグラフの最初のステートノード36を要求し、これによって実行プロセスが開始される。実行中のサービス32のノード36は、機能モジュール要素42のタスクをポストし、機能モジュール要素42から受信される結果を処理する。ステートノード36と機能モジュール要素42との間のこのトラフィックは、RCLC18を介して実行される。実行可能ステートマシン28は、機能モジュール要素42からタスクの処理の結果を受信し、そのタスクを開始したステートノード36にこれらの結果を渡す。次いで、ステートノード36は、機能モジュール要素42から受信した結果と、現在のステートにおいて利用可能な情報とを評価することによって、ステートグラフ上の次のステートノードを解決する。サービス26のステートグラフの最後のステートノード36に達し、これによってサービスの実行プロセスが終了するまで、実行は続く。実行が終了すると、ステートマシン29が解放され、実行可能ステートマシン28は空いている実行可能ステートマシンのプールに戻る。
SLEE16のアーキテクチャに関しては、SLEE16の外側からのリモート呼び出しを受信する2つのコンポーネントは、ステートマシンコントローラ30と実行可能ステートマシン28である。従って、本発明の模範的な実施形態によると、両方のコンポーネントのアーキテクチャは分散されている。これは、CORBAによって実施される。従って、SLEE16の中には、CORBAに属する2つのオブジェクト、すなわちステートマシンコントローラ30と実行可能ステートマシン28とが存在する。SLEE16を実行しているプラットフォーム(上述したように1つまたは複数のプラットフォームが存在することができる)ごとに、オブジェクトリクエストブローカー(ORB)が実装されて実行されている。このORBのそれぞれは、SLEE16に属する2つのコンポーネント、すなわちステートマシンコントローラ30と実行可能ステートマシン28とをSLEE16の中に持つ。ORB環境では、SLEE16に入力される通信はステートマシンコントローラ30および実行可能ステートマシン28に送られ、これらのコンポーネントにはORB環境によって提供されるプールスレッディング(pool threading)や永続性(persistency)などのさまざまな機能が提供される。本発明の代替実施形態によると、Javaプログラミング言語ライブラリの一部であるリモートメソッド呼び出し(「RMI」)など、CORBA以外の分散型実施形態を使用することができる。
上述したように、SLEE16からRCLC18へ発信される通信は、TappS10の独自のプロトコルによって実行される。
図6を参照する。この図は、サービス実行プロセスの代表的なレイアウトを示している。図示したように、第1および第2の実行可能ステートマシン28のそれぞれがサービスを実行している。実行中のサービスのそれぞれに対して、サービス26の対応する実行コンテキストを表すステートマシンオブジェクト29が存在している。サービスの実行の間、この場合にもRCLC18を通じてタスクが機能モジュール要素42にポストされる。機能モジュール要素42は、タスクを受信し、それを実行し、タスクの発行元である実行可能ステートマシン28にCORBA呼び出しを使用してその結果を送る。機能モジュール要素42は、発行元である実行可能ステートマシン28に応答を送る方法を、タスクと一緒に受信したIORに従って認識する。タスクには、IOR以外に、現在のステート36の定義に関するデータと、サービス26を実行している実行可能ステートマシン28のIDも含まれる。
本発明の模範的な実施形態によると、複数のステートマシンコントローラ30と複数の実行可能ステートマシン28とが使用される。本発明の代替実施形態によると、1つのステートマシンコントローラ30のみが使用される。この理由は、ステートマシンコントローラ30は再入可能オブジェクトであり、従って1つのインスタンスに複数の要求によってアクセスできるためである。
本発明の模範的な実施形態によると、ステートマシンコントローラ30と実行可能ステートマシン28の両方は、同じコンピュータ上で実行され、1つのORBと相互関係を持つ。機能モジュール要素42は、上述したように別のコンピュータ上で実行することができる。これら3つのコンポーネントは、SLEE16がその機能を果たすように動作させる責務を負う。RCLC18は、フロー制御など機能以外の要件に責務を負うコンポーネントである。
図4を参照する。ネットワークアダプタ20は、2つの主モジュールを有する。1つはゲートウェイモジュール40であり、もう1つは機能モジュール要素42である。ゲートウェイモジュール40は、サーバーとして実施されており、SS7やIPなどネットワークインタフェース上の入力メッセージをリスンする。
ゲートウェイモジュール40によって受信されるメッセージは、サービス要求と外部タスクとに分類される。サービス要求は、ネットワークから受信される、新しいサービスの実行の外部要求であり、従って、新しいサービスの実行につながる。これに対して、外部タスクは、すでに実行中のサービスに関連する外部メッセージであり、従って新しいサービスの実行にはつながらず、すでに実行中のサービス32に送られる。これらの外部タスクは、例えばSLEE16が発行元であるタスクなど、TappS10自体の中から発行されて上述のタスクとは異なり、機能モジュール要素42を宛先として送られる。
機能モジュール要素42は、SLEE16から受信したタスクを処理することと、処理の結果と一緒に各種のネットワークプロトコルをさらに伝えることの責務を負う。
機能モジュール要素42は、基本的な構成ブロックであり、少なくとも1つの機能モジュールマネージャ44と、サービスを実施する目的に使用される少なくとも1つの機能モジュール46とを備えている。サービスは、一連の機能モジュール要素42を呼び出すことによって実施される。機能モジュール要素42によって実行される動作の1つの例は、データベースへの問い合わせをポストすることである。例えば、実行中のサービス32によってあるデータが必要になると、実行中のサービス32はそのデータの要求を機能モジュール要素42に伝える。機能モジュール要素42にアドレッシングされている他の要求は、他の要素とともに、タスクと総称される。タスクには、問い合わせを実行するのに必要なパラメータが含まれている。機能モジュール要素42は、タスクを受信すると、適切なネットワークにアクセスして問い合わせを行う。問い合わせの結果は、ゲートウェイコンポーネント40によって受信され、SLEE16内の実行中のサービス32のアドレスに関してネーミングサービス22に尋ねた後、(実行中のサービス32によって使用されるように)SLEE16に送られる。
本発明の模範的な実施形態によると、いくつかのタイプの機能モジュール46が存在し、それぞれが、TappS10によってサポートされる各プロトコルを伝える。
上述したさまざまなタイプのメッセージは、RCLC18を介して機能モジュール要素42に伝送される。
機能モジュール要素42の中のコンポーネントのうち、RCLC18から要求を受信するコンポーネントは、機能モジュールマネージャ44である。機能モジュールマネージャ44は、タスクを処理する責務を負う機能モジュール46とRCLC18との間のインタフェースの役割りを果たす。特定のタイプの機能モジュール46のすべてのインスタンスは、1つの機能モジュールマネージャ44によって制御され、従って、特定のプラットフォーム上の各タイプの機能モジュールに対して1つの機能モジュールマネージャ44が存在する。本明細書に説明した模範的な実施形態によると、機能モジュール46のインスタンスと、これらを制御する機能モジュールマネージャ44は、いずれも同じコンピュータ上に位置している。機能モジュール46のインスタンスは、プールの形式において機能モジュールマネージャ44によって管理される。機能モジュールマネージャ44は、同じタイプの機能モジュール46のインスタンスすべてのリファレンスのリストを保持し、これらのインスタンスと絶え間なく連絡する。従って、機能モジュールマネージャ44は、機能モジュール46のインスタンスのうちどのインスタンスが空いているかを常に認識している。
機能モジュールマネージャ44は、特定のマシン上に存在する機能モジュール46のインスタンスの数も制御する。既存の機能モジュール46の数は、機能モジュールマネージャ44が受信するタスクの負荷に従って決定される。機能モジュールマネージャ44は、必要な場合に、機能モジュール46のインスタンスの作成、削除、起動、およびシャットダウンを行う。機能モジュールマネージャ44は、発行待ちである未発行の要求の短いキューも管理する。
機能モジュールマネージャ44がタスクを受信すると、最初に行うことは、空いている機能モジュール46のインスタンスにそのタスクをルーティングすることである。そのような空いているインスタンスが存在しない場合、タスクは未発行要求のキューに転送され、機能モジュール46のインスタンスの数のバランスをとるために使用される方法が呼び出される。
それらのタスクは、機能モジュール46のインスタンスによる実行を目的として機能モジュール46のインスタンスに割り当てられる。実行が終了すると、機能モジュール46のインスタンスのステートはアイドルに変化し、アイドルとは、さらなるタスクの実行用に空いていることを意味する。
タスクの各実行の最後に、機能モジュールマネージャ44は、機能モジュール46のインスタンスのバランスをとるために使用される上述した方法を呼び出す。この方法は、現在の負荷とタスクのポスト率とを調べ、それに応じて機能モジュール46のインスタンスの数を低減または増加させる。
上記の呼び出しに加えて、機能モジュールマネージャ44は、既存の機能モジュール46のインスタンスの数に関連する機能モジュール46のインスタンスに対する負荷と、それらを実行しているプラットフォームの一般リソース(例:I/O、CPU、メモリなど)に対する負荷とに関して、RCLC18に通知する。
空いている機能モジュール46にタスクが割り当てられると、その機能モジュール46はタスクを実行する。機能モジュール46は、タスクを実行する目的で、必要であればTappS10の外側のデバイス(ネットワークインタフェースカードなど)に接続する。
一般的な原則として、機能モジュール46は、以下の3層から構築されている。(i)インタフェース層:機能モジュール46が別のコンポーネントと情報をやりとりするときに使用する。(ii)ロジック層:機能モジュール46の実際のサービスロジックを提供する。サービスロジックは、機能モジュール46の各タイプごとに個別に実装されている。(iii)ハードウェア適合化層:ネットワークインタフェースカードなどのハードウェアを使用するタイプの機能モジュール46にのみ存在する。この第三層は、ロジック層がその機能モジュールに関連するハードウェアと通信するときに使用する。ベンダーの独立性を維持する目的で、異なるタイプのハードウェアデバイスと接続する機能モジュールは、それぞれ独立して実装されているハードウェア適合化層を有する。
機能モジュールマネージャ44とRCLC18は、独自のネットワークプロトコルを介して接続されている。2つのコンポーネントの間の接続は、ネーミングサービス22に尋ねることよって作成される。各機能モジュール46は、作成されると、対応するRCLC18の位置とその指定ポートとをネーミングサービス22に尋ねる。新しく作成された機能モジュール46は、これらのデータを取得すると、自身の存在をRCLC18に通知する目的でRCLC18に連絡する。
同様に、新しく作成されたRCLC18は、作成されると、既存の機能モジュール46すべての位置をネーミングサービス22に尋ね、それらに接続する。連絡が行われると、RCLC18と機能モジュール46との間の後続するすべてのトラフィックは、所定のプロトコルを使用して特定のポートを通じて行われる。接続が確立されると、機能モジュール46は、そのポートを絶え間なくリスンするスレッドを開き、このスレッドは、RCLC18から送られる要求を識別する。
上述したタスクの形式以外のさまざまなタイプのイベントは、時間によってトリガーされるイベントであり、例えば、RCLC18に機能モジュール要素42の中の負荷を調べさせるイベントや、機能モジュール要素42にその負荷ステータスをRCLC18に通知させるイベントである。時間によってトリガーされるこれらのイベントは、時間によってトリガーされるイベントを識別して必要な方法を呼び出す別のスレッドによって処理される。
RCLC18の主な機能は、TappS10の中のトラフィック負荷と、TappS10及びネットワークの間のトラフィック負荷とを監視することである。RCLC18は、これらの負荷のステータスを常に認識しており、TappS10によって提供されるさまざまなサービスのリソース消費挙動を学習し、入力および出力されるメッセージのトラフィックをそれに応じて送る。また、RCLC18は、システム管理者によって事前に設定される所定のポリシーに従って動作する。例えば、システム管理者は、TappS10によって提供されるさまざまなサービス26の重要度に関する特定の優先度を定義することができ、これによって、重要度の高いサービス26の実行は、重要度の低いサービス26の実行よりも優先される。
ネーミングサービス22は、SLEE16のコンピュータおよびそれらのIORのリストと、その中で現在実行中のサービスのリストを維持する。ネットワークからメッセージが到着すると、ゲートウェイ40は、入力されたメッセージをルーティングすべき宛先についてネーミングサービス22に尋ねる。ネーミングサービス22は、メッセージをルーティングすべき先の正しいSLEE16のIORをゲートウェイ40に戻す。TappS10の他のコンポーネントも、上記方法と同じようにルーティング情報についてネーミングサービス22に問い合わせを行う。
上述したように、TappS10は、新しいサービスを通信ネットワークに追加し、サービスを配置し、通信ネットワークから受信したサービス要求を処理する機能を持つ。以下に、TappS10がサービス要求を処理するときの方法について概説する。
特定のセッションにおいてサービスの実行が必要であることがネットワークによって認識されると、その必要なサービスの提供を要求するメッセージがTappS10に送られる。
TappS10の中のコンポーネントのうち、入力されるメッセージを検出する責務を負うコンポーネントは、ゲートウェイ40である。メッセージは、新しいサービス要求か、すでに実行中のサービスに関連する外部イベントのいずれかとすることができる。メッセージがTappS10によって受信されると、ゲートウェイ40はネーミングサービス22に尋ねて、メッセージが実行中のサービスに関連するのか新しいサービス要求であるのかを認識する。メッセージがすでに実行中のサービスに関連する外部イベントである場合、その実行中のサービス32の位置が取得され、外部イベントが、SLEE16の中で実行されている実行中のサービス32によって使用されるパラメータとしてRCLC18を介して送られる。メッセージが新しいサービス要求である場合、RCLC18を介してSLEE16に送られ、SLEE16において、要求されたサービス26が解決され、サービスの実行が開始される。SLEE16の中で実行されている実行中のサービス32は、ネットワークから到着する、外部イベントであるメッセージを受信すると、これらの外部イベントを処理し、この場合にもRCLC18を介して機能モジュール要素42にタスクを送り返す。機能モジュール要素42は、これらのタスクを処理し、その結果は2つの結果の一方、すなわち、機能モジュール要素42のステートが変化するか、1つ以上のネットワークメッセージが実行中のサービス32に送り返される、のいずれかとなる。一般的なシナリオでは、タスクが実行されることに起因して、1つの以上のメッセージがネットワーク若しくは実行中のサービス、またはその両方に送られる。機能モジュール要素42は、メッセージをネットワーク若しくは実行中のサービス、またはその両方に送った後、ネットワークからの応答、若しくは実行中のサービス32からの新しいタスク、またはその両方を受信する。このプロセスは、サービスの実行が終了するまで発生する。
TappS10によってサービス26を実行するための必要条件は、必要なサービス26がTappS10と一緒に配置されていることである。TappS10では、サービス開発者は、ネットワークのユーザーによって要求されてTappS10によって実行される新しいサービス26を開発および配置することができる。本発明によると、新しいサービスの開発は、高水準コンピュータ言語(例:Javaなど)によって達成される。TappS10では、システム管理者にアプリケーションプログラミングインタフェース(「API」)が提供され、新しいサービスのソースコードはこのAPIに基づいて開発される。新しいサービスの開発が終了すると、ソースコードがコンパイルされ、コンパイル後、コントローラ14によってバイナリコードがSLEE16に伝送される(システム管理者がマネージャ12を使用してコントローラ14を動作させて新しいサービスを配置する。マネージャ12は、上述したようにシステム管理者にTappS10へのGUIを提供する)。続くステップでは、バイナリコードが、Javaのクラスローディング機能(動的にロードされるライブラリと同様である)を使用してSLEE16にリンクされる。これらのステップの後、新しいサービスは、システム管理者によって起動することができ、TappS10のすべての機能にアクセスできる。
サービスは、配置されるとSLEE16内のメモリ24に追加され、この時点で、TappS10によって提供される有効なサービスとなり、従って実行できる状態となる。
上記に開示した内容は、すべて、TappS10に独自の機能を与えるものである。これらの機能の1つは、少なくとも1つの呼び出し制御セッションおよび他のセッション(例:Webセッション、データベース接続)から1つのセッションを作成することである。さらに、TappS10の分散型アーキテクチャでは、高い耐障害性、高いパフォーマンスレベル、大容量を処理できる能力などの特性を達成するうえでの必要に応じて、その要素のすべてを複製することが可能である。TappS10はネットワークでもあり、電話網に関してはプロトコルに依存しない(すなわち、INAPを介したPSTN、ISUPを介したPSTN、またはSIPを介した次世代ネットワークにおいて、コードを変更することなく同じサービスを実行することができる)。さらに、特に述べておくべき点として、先行技術のいくつかのサービス統合システムのように、TappS10は電話網に限定されず、従って、例えば、HTTP要求やRADIUS認証要求、または他のプロトコルによるものなど、電話以外のイベントに応答してサービスセッションを開始することができる。TappS10の注目すべき別の特徴は、TappS10では、すべてのアクティブセッションによって消費されているリソースの完全なビューが保持されることであり、従って、(TappS10のシステム内の)内部リソースと外部リソース(ネットワーク帯域幅など)の両方についてリソース消費量を優先的に割り当てたり抑圧したりすることができる。TappS10のシステムの中と、TappS10のシステム及びネットワークの間と、の両方について決定論的なトラフィック制御も可能にするのは、さらなる特徴である。
最後になるが、当然ながら、本発明の模範的な実施形態の上述の説明は、単なる一例であることを理解されたい。当業者は、模範的な実施形態の多数の変形および修正を行うことができ、それらについても、添付される請求項の参照によって定義される本発明の精神および範囲に依然として含まれる。
Claims (26)
- アプリケーションサーバーとして実施される、通信ネットワーク用の分散型サービス統合システムであって、
(a)前記サービス統合システムを管理および制御する少なくとも1つのモジュールであって、前記サービス統合システムを含んでいる前記モジュールのそれぞれと、これらの管理および制御を実行する目的で相互作用する、モジュールと、
(b)ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う少なくとも1つのモジュールと、
(c)少なくとも1つのサービスロジック実行環境モジュールと、
(d)前記サービス統合システムの前記コンポーネントの間と、前記サービス統合システム及び前記ネットワークの間と、の両方のデータの流れを最適化する少なくとも1つのリソース制御モジュールであって、ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う前記モジュールと、前記サービスロジック実行環境モジュールとに少なくとも接続されている、リソース制御モジュールと、
を備えており、
上記の前記モジュールのすべてが、それらの各機能を実行する目的で、必要な対応するハードウェア機器と相互作用する、
サービス統合システム。 - 前記サービス統合システムを管理および制御する前記少なくとも1つのモジュールが、前記サービス統合システムを管理する少なくとも1つのモジュールと、前記サービス統合システムを制御する少なくとも1つのモジュールとに分離されている、請求項1に記載のサービス統合システム。
- ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う前記少なくとも1つのモジュールが、少なくとも1つのゲートウェイモジュールと、少なくとも1つの機能モジュール要素とに分離されている、請求項1に記載のサービス統合システム。
- 前記サービス統合システムが、ネットワークサービスの非同期実行をサポートする、請求項1に記載のサービス統合システム。
- 前記分散型アーキテクチャは、前記サービス統合システムを含んでいる前記要素を複製して、
(a)耐障害性と、
(b)パフォーマンスと、
(c)容量と、
から成る群から選択される少なくとも1つを提供することが可能である、請求項1に記載のサービス統合システム。 - 前記サービス統合システムが、処理されているセッションすべてによって消費されているリソースを絶え間なく認識している、請求項1に記載のサービス統合システム。
- 前記サービス統合システムが、前記サービス統合システムによって処理されているさまざまなセッションに割り当てられているリソースの量を制御する、請求項1に記載のサービス統合システム。
- 前記TappS10のシステムの中と、前記TappS10のシステム及び前記ネットワークの間と、の両方において決定論的なトラフィック制御が可能である、請求項1に記載のサービス統合システム。
- 前記ネットワークが、時間依存トラフィックを伝送するリアルタイム通信ネットワークである、請求項1に記載のサービス統合システム。
- 前記ネットワークがデータ通信ネットワークである、請求項1に記載のサービス統合システム。
- 前記ネットワークが、少なくとも音声通信とデータ通信とを組み合わせたハイブリッド通信ネットワークである、請求項1に記載のサービス統合システム。
- 前記少なくとも1つの機能モジュール要素が、
(a)少なくとも1つの機能モジュールマネージャと、
(b)少なくとも1つの機能モジュールと、
をさらに備えている、請求項3に記載のサービス統合システム。 - 前記少なくとも1つのサービスロジック実行環境モジュールが、
(a)少なくとも1つのステートマシンコントローラと、
(b)少なくとも1つのメモリと、
(c)少なくとも1つの実行可能ステートマシンと、
をさらに備えている、請求項3に記載のサービス統合システム。 - 前記少なくとも1つのリソース制御要素が、前記システム管理者によって定義される所定のポリシーに従ってトラフィックの流れをさらに最適化する、請求項1に記載のサービス統合システム。
- 前記少なくとも1つのリソース制御要素が、前記サービス統合システムによって提供される前記さまざまなサービスの履歴的なシステムリソース消費率をさらに分析および格納し、前記格納されているデータを使用して前記フローを最適化する、請求項1に記載のサービス統合システム。
- (a)サービスの配置と、
(b)サービスの実行と、
(c)サービスの管理と、
から成る群から選択される少なくとも1つを行うことができる、請求項1に記載のサービス統合システム。 - 前記少なくとも1つの実行可能ステートマシンが、少なくとも1つのステートマシンをさらに備えている、請求項13に記載のサービス統合システム。
- アプリケーションサーバーとして実施される、通信ネットワーク用の分散型アーキテクチャのサービス統合システムであって、
(a)前記サービス統合システムを管理および制御する少なくとも1つの手段であって、前記サービス統合システムを含んでいる複数の前記手段と、これらの管理および制御を実行する目的で相互作用する、手段と、
(b)ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う少なくとも1つの手段と、
(c)サービスを実行することを目的とするサービスロジック実行環境を提供する少なくとも1つの手段と、
(d)前記サービス統合システムの前記コンポーネントの間と、前記サービス統合システム及び前記ネットワークの間と、の両方のデータの流れを最適化する少なくとも1つの手段であって、ネットワークからのメッセージの受信とネットワークへのメッセージの送信を行う前記手段と、サービスロジック実行環境を提供する前記手段とに少なくとも接続されている、手段と、
を備えている、分散型アーキテクチャのサービス統合システム。 - (a)サービスの配置と、
(b)サービスの実行と、
(c)サービスの管理と、
から成る群から選択される少なくとも1つを行うことができる、請求項18に記載のサービス統合システム。 - 通信ネットワークにおいてサービスを提供する方法であって、
(a)前記通信ネットワークから新しいメッセージを受信するステップと、
(b)前記新しいメッセージが新しいサービス要求であるかすでに実行中のサービスに関連するメッセージであるかを、独立した中央集中型ネットワークリソースに確認するステップと、
(c)前記新しいメッセージがすでに実行中のサービスに関連する場合、前記新しいメッセージを、前記メッセージに関連する前記実行中のサービスに送るステップと、
(d)前記新しいメッセージが新しいサービス要求である場合、前記要求されたサービスの実行を目的として前記新しいメッセージをサービスロジック実行環境に送り、ステップ(e)および(f)を実行するステップと、
(e)前記サービス統合システムによってサポートされている前記サービスから前記要求されたサービスを解決するステップと、
(f)前記解決されたサービスを実行するステップと、
を含んでいる、方法。 - 前記ステップ(f)が、
(a)前記サービス統合システムによる実行を目的として、前記実行中のサービスによってタスクをポストするステップと、
(b)前記タスクを前記サービス統合システムによって処理するステップと、
(c)前記通信ネットワークと前記サービス統合システムとの両方から新しいメッセージを前記実行中のサービスによって受信するステップと、
をさらに含んでいる、請求項20に記載の方法。 - 前記ステップ(b)が、
(a)前記通信ネットワークにメッセージを送るステップと、
(b)前記実行中のサービスにメッセージを送るステップと、
をさらに含んでいる、請求項21に記載の方法。 - 通信ネットワーク用の新しいサービスを配置する方法であって、
(a)高水準コンピュータ言語のソースコードによって前記新しいサービスを実施するステップと、
(b)前記ソースコードをコンパイルするステップと、
(c)前記コンパイルされたソースコードをメモリにインストールし、前記新しいサービスが実行できる状態にすることによって、前記コンパイルされたソースコードを前記通信ネットワークに統合するステップと、
を含んでいる、方法。 - サービス統合システムの中と、前記サービス統合システムの間と、前記サービス統合システム及び通信ネットワークの間と、の両方のトラフィックの流れを制御する方法であって、
(a)受信されるタスクに必要であると予測されるリソース消費量を求めるステップと、
(b)外部ネットワークチャネルのリソース負荷レベルを求めるステップと、
(c)内部ネットワークチャネルのリソース負荷レベルを求めるステップと、
(d)ステップ(a)、(b)、および(c)の実行から受信される結果に従って、選択されるネットワークチャネルにメッセージを転送するステップと、
を含んでいる、方法。 - 前記時間依存トラフィックが音声である、請求項9に記載のサービス統合システム。
- 前記時間依存トラフィックが映像である、請求項9に記載のサービス統合システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41691402P | 2002-10-09 | 2002-10-09 | |
PCT/IL2003/000767 WO2004034273A2 (en) | 2002-10-09 | 2003-09-25 | Method and apparatus for a service integration system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006502493A true JP2006502493A (ja) | 2006-01-19 |
Family
ID=32093924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004542759A Pending JP2006502493A (ja) | 2002-10-09 | 2003-09-25 | サービス統合システムのための方法およびシステム |
Country Status (12)
Country | Link |
---|---|
US (1) | US20060129662A1 (ja) |
EP (1) | EP1550051A4 (ja) |
JP (1) | JP2006502493A (ja) |
KR (1) | KR20050067413A (ja) |
CN (1) | CN100345141C (ja) |
AU (1) | AU2003264850A1 (ja) |
BR (1) | BR0315160A (ja) |
CA (1) | CA2501408A1 (ja) |
HK (1) | HK1080570A1 (ja) |
MX (1) | MXPA05003667A (ja) |
RU (1) | RU2005113704A (ja) |
WO (1) | WO2004034273A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4093033B2 (ja) * | 2002-12-02 | 2008-05-28 | 株式会社日立製作所 | サービス部品選択支援方法 |
EP1674961A1 (en) * | 2004-12-21 | 2006-06-28 | International Business Machines Corporation | Method for determining an applicable policy for an incoming message |
CN1968134B (zh) * | 2006-04-03 | 2010-05-12 | 华为技术有限公司 | 基于中间件实现多媒体融合业务的方法及系统 |
US20080195622A1 (en) * | 2007-02-12 | 2008-08-14 | Personeta Ltd. | Service provisioning system |
KR101586496B1 (ko) * | 2009-02-11 | 2016-01-18 | 삼성전자주식회사 | 휴대용 거치대 |
KR101058932B1 (ko) | 2009-03-09 | 2011-08-23 | 주식회사 케이티 | 플랫폼 액티베이터를 포함하는 모바일 플랫폼이 탑재된 이동통신단말 및 그 동작 방법 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655081A (en) * | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
CA2239408A1 (en) * | 1995-12-11 | 1997-06-19 | Hewlett-Packard Company | Method of accessing service resource items that are for use in a telecommunications system |
US6445782B1 (en) * | 1996-11-19 | 2002-09-03 | British Telecommunications Public Limited Company | Service management system for use in communications |
US6363411B1 (en) * | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6804711B1 (en) * | 1997-10-06 | 2004-10-12 | Mci, Inc. | Method and apparatus for managing call processing services in an intelligent telecommunication network |
US6393481B1 (en) * | 1997-10-06 | 2002-05-21 | Worldcom, Inc. | Method and apparatus for providing real-time call processing services in an intelligent network |
US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6418461B1 (en) * | 1997-10-06 | 2002-07-09 | Mci Communications Corporation | Intelligent call switching node in an intelligent distributed network architecture |
US6415027B1 (en) * | 1998-08-12 | 2002-07-02 | Bellsouth Intellectual Property Corporation | Networks, systems and methods for intelligently routing traffic within a telephone network |
US6654801B2 (en) * | 1999-01-04 | 2003-11-25 | Cisco Technology, Inc. | Remote system administration and seamless service integration of a data communication network management system |
US6212262B1 (en) * | 1999-03-15 | 2001-04-03 | Broadpoint Communications, Inc. | Method of performing automatic sales transactions in an advertiser-sponsored telephony system |
US7170905B1 (en) * | 2000-08-10 | 2007-01-30 | Verizon Communications Inc. | Vertical services integration enabled content distribution mechanisms |
US6904054B1 (en) * | 2000-08-10 | 2005-06-07 | Verizon Communications Inc. | Support for quality of service and vertical services in digital subscriber line domain |
US6829250B2 (en) * | 2000-08-10 | 2004-12-07 | Verizon Communications Inc. | Automatic programming of customer premises equipment for vertical services integration |
CN1592898A (zh) * | 2000-09-01 | 2005-03-09 | Tut系统公司 | 一种为数据通信设备预编译配置信息的方法和系统 |
US20020154646A1 (en) * | 2001-03-21 | 2002-10-24 | Dubois Jean F. | Programmable network services node |
JP3678161B2 (ja) * | 2001-04-11 | 2005-08-03 | 日本電気株式会社 | ゲートウェイシステム及びそれに用いるマネジメント一括管理方法 |
-
2003
- 2003-09-25 KR KR1020057006158A patent/KR20050067413A/ko not_active Application Discontinuation
- 2003-09-25 RU RU2005113704/09A patent/RU2005113704A/ru not_active Application Discontinuation
- 2003-09-25 CN CNB038239825A patent/CN100345141C/zh not_active Expired - Fee Related
- 2003-09-25 EP EP03807953A patent/EP1550051A4/en not_active Withdrawn
- 2003-09-25 MX MXPA05003667A patent/MXPA05003667A/es not_active Application Discontinuation
- 2003-09-25 AU AU2003264850A patent/AU2003264850A1/en not_active Abandoned
- 2003-09-25 CA CA002501408A patent/CA2501408A1/en not_active Abandoned
- 2003-09-25 US US10/530,864 patent/US20060129662A1/en not_active Abandoned
- 2003-09-25 BR BR0315160-3A patent/BR0315160A/pt not_active IP Right Cessation
- 2003-09-25 WO PCT/IL2003/000767 patent/WO2004034273A2/en active Application Filing
- 2003-09-25 JP JP2004542759A patent/JP2006502493A/ja active Pending
-
2006
- 2006-01-05 HK HK06100228.8A patent/HK1080570A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN100345141C (zh) | 2007-10-24 |
EP1550051A2 (en) | 2005-07-06 |
MXPA05003667A (es) | 2005-09-20 |
HK1080570A1 (zh) | 2006-04-28 |
WO2004034273A2 (en) | 2004-04-22 |
CA2501408A1 (en) | 2004-04-22 |
CN1703691A (zh) | 2005-11-30 |
BR0315160A (pt) | 2005-08-16 |
WO2004034273A3 (en) | 2004-05-27 |
EP1550051A4 (en) | 2006-06-07 |
RU2005113704A (ru) | 2006-01-27 |
US20060129662A1 (en) | 2006-06-15 |
AU2003264850A1 (en) | 2004-05-04 |
KR20050067413A (ko) | 2005-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1649324B (zh) | 操作带有代理的开放api网络的方法和装置 | |
RU2419998C2 (ru) | Способ управления работой терминала связи, терминал и система связи | |
US20020156900A1 (en) | Protocol independent control module | |
US20110004701A1 (en) | Provisioning highly available services for integrated enterprise and communication | |
WO2022143653A1 (zh) | 基于微服务的多云接口适配方法、系统及存储介质 | |
CN111654541B (zh) | 面向边缘计算业务的服务功能链编排方法、系统及编排器 | |
CA2568565A1 (en) | System and method for implementing a general application program interface | |
KR20000004988A (ko) | 제한된 메모리 컴퓨터 시스템에서의 클라이언트관리흐름제어를 위한 방법과 장치 | |
US8468228B2 (en) | System architecture method and computer program product for managing telecommunication networks | |
Verheecke et al. | Aspect-oriented programming for dynamic web service monitoring and selection | |
CN114546648A (zh) | 任务处理方法及任务处理平台 | |
CN110543315B (zh) | 一种kbroker分布式操作系统、存储介质和电子设备 | |
WO2015043679A1 (en) | Moving stateful applications | |
Rine et al. | Using adapters to reduce interaction complexity in reusable component-based software development | |
JP2006502493A (ja) | サービス統合システムのための方法およびシステム | |
CN114095348B (zh) | 网络能力开放系统及业务编排方法 | |
US6314462B1 (en) | Sub-entry point interface architecture for change management in a computer network | |
CN116450351A (zh) | 一种边缘容器调度算法 | |
KR19990022278A (ko) | 전기통신 네트워크 | |
Lu et al. | TS-DDS: Data Distribution Service (DDS) Over In-Vehicle Time-Sensitive Networking (TSN) Mechanism Research | |
Pinard et al. | Issues In Using an Agent Framework For Converged Voice and Data Application. | |
Herstad et al. | Connected objects: Building a service platform for M2M | |
US7761639B2 (en) | Slot interface access device and slot interface access method | |
KR20240007788A (ko) | 엣지 플랫폼에서의 트래픽 처리 방법 및 이를 지원하는 엣지 플랫폼 관리 장치 | |
WO2024033882A1 (en) | Near real time request handling in flexible api router |