JP2004220118A - Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system - Google Patents
Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system Download PDFInfo
- Publication number
- JP2004220118A JP2004220118A JP2003003662A JP2003003662A JP2004220118A JP 2004220118 A JP2004220118 A JP 2004220118A JP 2003003662 A JP2003003662 A JP 2003003662A JP 2003003662 A JP2003003662 A JP 2003003662A JP 2004220118 A JP2004220118 A JP 2004220118A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- management information
- queue management
- processors
- recovery
- 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
Landscapes
- Exchange Systems With Centralized Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、例えば負荷分散型のマルチプロセッサシステムに関し、多量の信号処理を行なう複数のプロセッサによってアクセスされる共有メモリに割り当てられたキューのリカバリ処理に用いて好適な、マルチプロセッサシステム,監視システム,マルチプロセッサシステムにおけるキュー取り出し方法およびマルチプロセッサシステムにおけるテーブルリカバリ処理方法に関する。
【0002】
【従来の技術】
W−CDMA(Wideband−Code Division Multiple Access;符号分割多元接続)方式の移動通信システムにおける各種の通信装置は、大量のデータの送受信処理を行なっている。
(P1)移動通信システムの一例
複数の無線基地局装置(BTS:Base Transmitting Station:以下、特に断らない限り、BTSと称する。)と公衆網又はインターネットとの間に設けられた基地局制御装置(RNC:Radio Network Controller:以下、特に断らない限り、RNCと称する。)は、公衆網から大容量の動画像データ等を受信し、かつその動画像データ等を1又は複数のBTSに対して転送する。また、RNCは、複数のBTSから送信された情報データを公衆網に送信する。すなわち、RNCは、多量の呼処理(Call Processing:CP)と大量の演算処理とが必要である。
【0003】
(P2)負荷分散装置
このため、RNCは、信号処理を行なう複数のプロセッサと、これらの複数のプロセッサが共有して呼処理に必要なデータを保持する共有メモリとをそなえたマルチプロセッサシステムを構成し、呼処理に必要な負荷を分散させている(振り分けている)。
【0004】
この負荷分散処理を行うマルチプロセッサシステムは、従来から種々提案されている(例えば特許文献1参照)。
RNCのキュー管理方法(キュー管理方式又はキュー管理情報方式)は、各装置(又は各機器)ごとにリソースを管理している。例えば、1台のBTSに対して一つのリソースを割り当てるのである。
【0005】
(P3)リソース
ここで、リソースとは、特に断らない限り、物理的なメモリ領域、又は通信相手の識別情報等の一つの呼情報を保持するメモリ領域を意味する。そして、共有メモリは、複数のプロセッサによってアクセス(読み書き)される通信装置に設けられ、両方向キューが用いられている。
【0006】
(P4)キュー
キューは、一般に、情報データと、そのキュー自身が接続する別のキューアドレスとを有する。ここで、両方向キューとは、例えば、図21(a)に示すリソースA〜Cのように、そのキュー自身の直前のキューアドレス(以下、前キューアドレス)と、そのキュー自身の直後のキューアドレス(以下、次キューアドレス)とを有する。これにより、プロセッサは、図21(a)に示すリソースA〜Cの各「次キューアドレス」を参照して、所望のキューを検索できる。また、プロセッサは、リソースCの「次キューアドレス」に格納されている「前キューアドレス」を参照し、順に各キューを逆方向から検索でき、この点で、両方向キューは、各キューが「次キューアドレス」だけを有する片方向キューと異なる。
【0007】
そして、プロセッサは、キューに各種の呼情報を挿入し、また、他のプロセッサが、このキューの呼情報を参照し、これにより、キューを介して呼情報が、プロセッサ相互に共有される。このキューは、各プロセッサが呼情報を処理している間は、キュー管理情報テーブルにより常時管理されている。
(P5)負荷分散型のマルチプロセッサシステム
負荷分散型のマルチプロセッサの一例として、図19,図20を参照してRNCシステムにおける共有メモリについて説明する。
【0008】
図19は負荷分散型のマルチプロセッサシステムのブロック図である。この図19に示す負荷分散装置200は、RNCに設けられ、例えば呼処理を行なうものであって、負荷分散制御部(制御部)201とプロセッサA〜Dと共有メモリ203とプロセッサ間通信装置204とをそなえて構成されている。
ここで、制御部201は、交換機102およびBTS198a〜198bからの情報データおよび制御データを受信し、呼処理又は通信処理に要する負荷を各プロセッサA〜Dに振り分けるものである。また、プロセッサA〜Dは、いずれも、BTS198a〜198bとの間における呼処理を行なうものである。そして、RNC内部において生じた負荷と、交換機102等の外部装置からの呼処理についての負荷との全負荷が、これらのプロセッサA〜Dによって分散処理される。従って、各プロセッサA〜Dは、特定のBTS198aについての負荷のみを処理せずに、他のBTS198bについての負荷をも処理する。すなわち、プロセッサA〜Dの各負荷が平均されるように、全負荷が分散して割り当てられるのである。
【0009】
また、共有メモリ203は、BTS198a〜198bのそれぞれについてのリソースを確保し、このリソースに、通信相手(対向通信装置)の携帯電話のアドレス又は電話番号等の呼情報を保持するキューを生成している。呼情報はそれぞれID(Identification:識別子)を割り当てられ、有線回線を介して相互に通信できるようになっている。
【0010】
プロセッサ間通信装置204は、各プロセッサA〜Dが相互に信号を送受信するためのものである。
(P6)ソフトウェアによるリソース獲得の説明
図20は共有メモリ203からのリソース獲得を説明するためのシーケンスを示す図である。交換機102は、制御部201に対して、端末1についての呼制御信号1を送信し(ステップH1)、制御部201は、この呼制御信号1を受信すると、各プロセッサA〜Dのうちの負荷が小さい例えばプロセッサAを選択しプロセッサAに対して割り込みし(ステップH2)、この呼制御信号1を通知する。プロセッサAは、この通知を受信すると、共有メモリ203(図19参照)にリソースを獲得し(ステップH3)、リソースを獲得すると、その旨を交換機102に対して送信する(呼制御信号1′[端末1]と表示されたメッセージ)。
【0011】
一方、交換機102は、端末1についての呼制御信号2を、上記の呼制御信号1の送信後に送信し(ステップH4)、制御部201は、この呼制御信号2を受信すると、その呼制御信号2についてのタスクをプロセッサBに分散し(ステップH5)、プロセッサBに通知する(ステップH6)。ここで、プロセッサBが共有メモリ203からリソースを獲得できた場合、プロセッサBは、交換機102に呼制御信号2′としてアック(Acknowledgement:応答信号)を送信する(ステップH7)。これにより、各プロセッサA〜Dの負荷が分散される。
【0012】
(P7)キュー管理機能
キュー管理機能は、各プロセッサA〜Dのソフトウェア部(以下、ソフトウェアと称する。)により実現される。制御部201が、キュー管理機能をプロセッサAに割り当てると、プロセッサAは、排他処理(ロック)を行ない、共有メモリ203のうちのキューに割り当てられていたリソースを獲得する。排他処理されている間は、他のプロセッサB〜Dは待機する。
【0013】
キュー管理の一例として、プロセッサAが、キューを獲得した場合、そのキューの大きさ情報(キューの範囲およびキューの位置)を共有メモリ203の特定領域に書き込む。そして、プロセッサAによる処理が終了し、他のプロセッサBが共有メモリ203にアクセスが必要なときに、プロセッサBがプロセッサAにより書かれた大きさ情報を参照する。
【0014】
なお、共有バッファ領域の動作状態/使用状態を常時監視するメモリ制御状態監視装置は、例えば特許文献2に開示されている。
(P8)共有メモリ203の一例
図21(b)は障害発生後の共有メモリ203の割り当て例を示す図である。キュー管理情報テーブル205に保持される情報は、キュー管理数(全キュー数),次キューアドレス,前キューアドレス等である。
【0015】
例えば、図21(a)に示す共有メモリ203は、キュー91a〜91cの3個が接続されているので、キュー管理数は3と保持され、また、次キューアドレスはキュー91aの先頭キューアドレス(キュー管理情報テーブル205の先頭にキューイングされている先頭キューアドレス)が保持される。なお、キュー91aの前には、キュー管理情報テーブル205はあってもキューはないので、前キューアドレスの値はない。
【0016】
プロセッサA〜Dは、いずれも、このキュー管理情報テーブル205に書き込まれたキュー管理数等の情報にアクセスでき、各呼を占有しているリソースの大きさ等の情報を容易に取得できる。また、マスタプロセッサとして他の装置のプロセッサ(図示省略)からの特定信号を受信するものは、制御部201を介して受信した音声パケットをプロセッサA〜Dのうちの負荷が小さいものに対して、振り分けるようにしている。換言すれば、キュー管理情報テーブル205は、「キューのターミナル」として機能している。
【0017】
(P9)キュー取り出しおよびキュー挿入の動作説明
図23(a)〜図23(f)は、いずれも、キュー取り出し、又はキュー挿入を説明するための図であり、これらに示す3段の領域は、キュー管理情報テーブル205に設けられたものであって、1〜3段目は、キュー管理に必要な情報エリアのうちのキュー管理数,先頭キューアドレスおよび最終キューアドレスが書き込まれている。図23(a)〜図23(f)も、この方針を受け入れている。
【0018】
図23(a)に示すものは、初期化直後のキュー管理情報テーブル205の要部を示す図であって、全領域は0(記録なし)が記録される。そして、一つのキュー(番号1のキュー)が挿入されると、図23(b)に示す各領域の管理数,先頭キューアドレス,最終キューアドレスは、それぞれ、1,1,1である。
図23(c)に示すものは、図23(b)に示す状態において、さらに1個のキュー(番号2のキュー)が挿入された場合の各領域を示す図である。すなわち、全キュー数が2個のキューであり、管理数,先頭キューアドレス,最終キューアドレスは、それぞれ、2(番号1,2のキュー),1,2である。
【0019】
図23(d)に示すものは、図23(c)に示す状態において、さらに1個のキュー(番号3のキュー)が挿入された場合の各領域を示す図である。従って、管理数,先頭キューアドレス,最終キューアドレスは、それぞれ、3(番号1〜3のキュー),1,3である。
このように、キューを挿入する毎に、その履歴が保存される。
【0020】
次に、キューの取り出し又はキューの削除のときのキュー管理情報テーブル205の要部を図23(e),図23(f)を参照して説明する。キュー削除は、例えば、電話の通話が終了したときに、キュー管理情報テーブル205に記録されてその通話が保持される。
図23(e)は、図23(d)に示す状態から、キュー番号2を取り出した後のものを示しており、管理数は2,先頭キューアドレスは1,最終キューアドレスは、キュー3のままである。
【0021】
図23(f)は図23(e)に示す状態から、再度、キュー2を挿入した場合におけるものである。これにより、管理数は3、先頭キューアドレスは1であり、また、最終キューアドレスは2である。
(P10)キュー操作の一例
キューを操作するためには、プロセッサA〜Dは、キューの開放時に、例えば図21(a)に示すキュー管理情報テーブル205のキュー管理数,次キューアドレス、前キューアドレスおよび先頭キューアドレスのそれぞれを更新する必要がある。
【0022】
これに対して、キュー操作するためのプロセッサA〜Dに障害が発生した場合は、リカバリ処理が容易ではない。キュー操作している例えばプロセッサAに障害が発生し、例えば図21(b)に示すように、現実のキュー管理数とキューに書き込まれたキュー管理数との相違が発生する場合、又は次キューアドレスと前の次キューアドレスとの相違が発生する場合は、プログラムが正常に実行されないことが起こり得る。このため、プログラムを正常に動作させるために、障害を検出した他のプロセッサB〜Dは、リカバリ処理動作を行なう。
【0023】
図22は共有メモリ203のリカバリ処理動作の一例を示す図である。この図22に示すリカバリ処理動作は、プロセッサA〜Dが、共有メモリ203のアドレスを検索し、先頭キュー91aと最終キュー(末尾キュー)91bとの双方向からキューを辿り、双方向のキューの個数をカウントして比較する。これらのキューの個数が不一致の場合は、キュー管理情報テーブル205に書き込まれた後キューアドレスと前キューアドレスとが連続していないので、キューの欠落又はキュー管理情報テーブル205に破壊が生じたことが想定される。この場合、各プロセッサA〜Dは、リカバリ処理を行なってキューをリカバリさせている。
【0024】
このように、RNCに設けられた負荷分散型のマルチプロセッサA〜Dと、共有メモリ203とにより、キュー管理およびリカバリ処理が行なわれる。
ところで、大量の呼がRNCに入力されると、キュー管理情報を保持するためのリソースが飽和し、システムの機能が停止する可能性がある。このため、RNCは、共有メモリ203のメモリ領域の状態を監視する必要があり、この状態監視は、状態監視システムによって実現される。以下、状態監視システムについて説明する。
【0025】
この状態監視システムは、共有メモリ203のリソース割り当て状態を監視するメモリ監視システムであり、移動通信システムにおける装置,機器又は端末のリソース状態を、状態監視テーブルを用いて監視又は管理する。
この状態監視システムは、管理と復旧部とをそなえて構成されている。ここで、管理は、状態監視テーブルはメモリのリソースを所定のサイズのページに分割し各ページの更新の有無を管理して管理データファイルにその情報を保持し、また、更新されたページのデータを更新データファイルに保持するものである。さらに、復旧部は、障害リカバリ時に、管理データファイルおよび更新データファイルの情報に基づいて、メモリのテーブルデータをリカバリするものである。
【0026】
この状態監視システムによれば、特に、リソース又はバッファ等に関し、状態監視テーブルのうちの障害が発生した部分に対応する装置−装置又は装置−端末間の状況(すなわち、局所的な障害発生状況)を把握することができる。
【0027】
【特許文献1】
特開2001−167075号公報
【特許文献2】
特開平9−91172号公報
【0028】
【発明が解決しようとする課題】
しかしながら、上記のキュー管理情報テーブル205又は状態監視テーブルを用いたシステムは、次の(Q1)〜(Q4)に示す課題がある。
(Q1)リカバリ処理エラーの招来
共有メモリ203にあるリソースをデキュー(特定のキューを取り出すこと),エンキュー(キューを挿入すること)又は状態更新中に障害が発生した場合、障害が発生したキュー管理情報テーブル205が破壊されシステムの処理エラーを招来する可能性がある。例えば、制御部201を介して、交換機102から直接、制御信号が入力されたときに、その応答ができず、上位装置は呼を切断する。
【0029】
また、状態監視テーブルを用いて管理する方法も、テーブルアクセス時に障害が発生した場合は、状態監視テーブルに保持されたデータを破壊する可能性があり、システムの処理エラーを招く可能性がある。
(Q2)リカバリ時の呼損による処理性能
信号量(呼量等)が多い場合は、プロセッサA〜Dが共有メモリ203をアクセスする時間が長くなりボトルネックとなる可能性がある。この場合、処理時間を 短縮するためには、呼処理のための負荷が多大となる。また、リカバリ処理は、常時行なうよりも、必要時のみ動作するほうが効率的である。
【0030】
また、上記のキューの個数を比較する方法は、プロセッサが、双方向からキューを辿っていくため、検索のための長い時間(リカバリの時間)を要し、他のプロセッサが共有メモリ203をアクセスできない時間が増大し、従って、呼損による処理性能に影響を与える。
(Q3)システム信頼度
障害発生後のリカバリ処理は、呼損等に影響があるので、プログラムの非正常な動作を起こさずに、高速で絶対的な信頼性のあるような設計をしなければならない。このため、システムの複雑さが高まる。
【0031】
また、キュー管理情報テーブル205の破壊をリカバリするときは、リカバリ処理は、他のプロセッサによる二重障害(排他的なリソース獲得が失敗すること。)も誘発し、システムの信頼度に欠ける。特に、近年の移動通信システムへの信頼度は高いので、信頼性は重要な要素である。
システムの安定化を向上させる方法として、現用系と予備系とを設ける冗長構成がよく知られている。例えば、各RNC84a〜84bは、数枚の現用系のCP基板と、1枚の予備系のCP基板とをそなえ、現用系のCP基板が、故障,保守又は検査で使用できないときは、現用系のCP基板と外部装置との間の物理的な通信パスを、その現用系のCP基板から切断して、予備系のCP基板に接続する。ところが、この現用系および予備系を用いた切り替えは、時間を有するという課題がある。
【0032】
さらに、システムは、確実な課金と、RNCの下流側の装置又は端末の動作とを保証しなければならない。従って、プロセッサが共有メモリ203にアクセス中に障害が発生したときに、他のプロセッサ(他のユーザ)がアクセスできるように、共有メモリ203の占有を開放させる必要である。
(Q4)簡素化
システム規模の拡大は、プログラム量の増大を招く。システムの信頼性および柔軟性は、それぞれ、開発するシステム規模に左右される。従来技術を用いた場合は、処理が複雑であり、また、信頼性(プログラム量)および柔軟性(必要な記憶容量)がネックであった。
【0033】
本発明は、このような課題に鑑み創案されたもので、システムの処理エラーを回避し、リカバリ時の呼損による処理性能をなくし、プロセッサによる共有メモリのアクセス中の障害発生時において他のプロセッサがアクセスでき、そして、処理の簡素化,豊富なプログラム容量を用いた信頼性および比較的大きな作業メモリ容量の割り当てによる柔軟性を有する、マルチプロセッサシステム,監視システム,マルチプロセッサシステムにおけるキュー取り出し方法およびマルチプロセッサシステムにおけるテーブルリカバリ処理方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
このため、本発明のマルチプロセッサシステムは、通信呼を処理する複数のプロセッサと複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、共有メモリが、各プロセッサによって獲得された通信呼に関する呼情報を保持するリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けたことを特徴としている(請求項1)。
【0035】
また、複数のプロセッサのうちのいずれかのプロセッサが、キュー管理情報へのアクセス時に障害が発生したときに、キュー管理情報テーブルに保持されたキュー管理情報と、更新履歴記録領域に記録された更新履歴情報とに基づいて、リカバリ処理の要否を判定する判定部と、判定部がリカバリ必要と判定した場合に、更新履歴情報に基づいてキュー管理情報をリカバリする復旧部とをそなえて構成されてもよい(請求項2)。
【0036】
さらに、本発明の監視システムは、通信装置と、通信装置と通信する対向通信装置との間における通信状態を監視する監視システムにおいて、複数のプロセッサがアクセスしうる共有メモリのリソース状態を含む上記の通信状態を保持する状態監視テーブルと、状態監視テーブルに保持された通信状態を記録する通信状態記録領域と、通信状態記録領域に保持された通信状態に基づいて状態監視テーブルのうちの局所的な障害発生部分をリカバリする復旧部と、状態監視テーブルの通信状態のうちの局所的な障害発生部分を初期化する初期化部とのうちの少なくとも一方を実施する選択とを設けたことを特徴としている(請求項3)。
【0037】
そして、本発明のマルチプロセッサシステムにおけるキュー取り出し方法は、通信呼を処理する複数のプロセッサと複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおけるキュー取り出し方法であって、複数のプロセッサのうちのいずれかのプロセッサが、獲得したリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルを参照する参照ステップと、各プロセッサが、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を、更新履歴記録領域に記録する記録ステップと、各プロセッサが、更新履歴をキュー管理情報テーブルに書き込む書き込みステップとをそなえたことを特徴としている(請求項4)。
【0038】
また、本発明のマルチプロセッサシステムにおけるテーブルリカバリ処理方法は、通信呼を処理する複数のプロセッサと複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおけるテーブルリカバリ処理方法であって、複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルのキュー管理情報と、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域の更新履歴情報とに基づいてリカバリ処理の要否を判定する判定ステップと、判定ステップにてリカバリ必要と判定された場合に、更新履歴情報に基づいてキュー管理情報をリカバリするリカバリステップとをそなえたことを特徴としている(請求項5)。
【0039】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
(A)本発明の第1実施形態の説明
図1は本発明の第1実施形態に係る移動通信システムの構成図である。この図1に示す移動通信システム100は、CDMA方式を用いたシステムであって、電話,テキストデータおよび音声等の低容量のデータと、静止画および動画等の大容量のデータ(以下、低容量データおよび大容量データを情報データと称する。)を混在させ、かつ高速に送受信するものである。
【0040】
以下、移動通信システム100の各装置について図1〜図3を参照して説明し、図4を参照して負荷分散装置について説明する。
(1)移動通信システム100
図1に示す移動通信システム100は、ユーザが利用する各種の移動機(MS:Mobile Station,以下、MSと称する。)10a,10b,10cと、例えば48のBTS(無線基地局)83a〜83cと、RNC(無線ネットワーク制御装置)84a〜84bと、コアネットワーク(CN:Core Network)101と、公衆網(PSTN:Public Switched Telephone Networks)85aと、インターネット85bと、通信相手端末(相手端末)11a,11bとをそなえて構成されている。
【0041】
(1−1)コアネットワーク101,公衆網85aおよびインターネット85b
コアネットワーク101は、回線交換機およびパケット交換機が相互に接続され情報データを交換(スイッチ)するものであって、MS10a〜10cの位置登録データを保持するHLR(Home Location Register)101aと、パケットをスイッチするMMS(Mobile Multimedia Switching System)101bおよびゲートウェイ機能を有するGMMS(Gateway Mobile Multimedia Switching System)101cからなる交換機102を有する。公衆網85aは音声データ,FAXデータ等を伝送する加入者回線ネットワークであり、インターネット85bはパケットを転送するネットワークである。
【0042】
これにより、例えば、MS10aが送信した無線信号は、BTS83aにて復調されてからRNC84aにて終端され、そして、その無線信号に含まれる情報データは、コアネットワーク101を介して、公衆網85a又はインターネット85bに伝送される。また、相手端末11aが送信した情報データは、公衆網85a,インターネット85bおよびコアネットワーク101をそれぞれ介し、HLR101aの位置登録データに基づいて、RNC84aに転送され、BTS83aにて無線信号に変調されて、MS10aに送信される。
【0043】
なお、移動通信システム100は、cdma2000方式又はW−CDMA方式を用いることもできる。
(1−2)RNC(基地局制御装置)84a〜84b
RNC84a〜84bは、複数のBTS83a〜83cを制御し、また、各BTS83a〜83cとコアネットワーク101との間において複数のチャネルデータを多重して送受信するものであって、高速かつ大容量のデータ処理能力を要する。
【0044】
各RNC84a〜84bは、いずれも、BTS83a〜83cとコアネットワーク101との間における情報データの転送機能と、各BTS83a〜83cのそれぞれについて呼接続処理又は保守操作のための制御信号を送受信する制御機能と、チャネル割り当て,ハンドオーバ実施および発着信接続等の各機能を有する。これにより、公衆網85a又はインターネット85bからの情報データは、宛先に応じて複数のBTS83a〜83cのいずれかに対して転送され、また、複数のBTS83a〜83cからの情報データは、公衆網85a又はインターネット85bに対して転送される。
【0045】
これらのRNC84a〜84bと複数のBTS83a〜83cと複数のMS10a〜10cとは、いずれも、無線プロトコルを用いて制御信号およびデータ信号を送受信し、無線アクセスネットワーク(RAN:Radio Access Network)として機能している。この一方、RNC84a〜84bとコアネットワーク101とは、有線により情報データを送受信している。
【0046】
(1−3)本発明のマルチプロセッサシステム
本マルチプロセッサシステムは、RNC84a〜84bに設けられた負荷分散装置に適用されている。RNC84a〜84bが転送する情報データは、高速かつ大容量であり、また、複数のBTS83a〜83cおよびコアネットワーク101の双方からの情報データを処理するので、RNC84a〜84bの各々についての負荷は、きわめて大きい。このため、負荷分散機能が各RNC84a〜84bに設けられ、情報データについての全負荷が分散処理されるようになっている。
【0047】
なお、本発明のマルチプロセッサシステムは、呼,MS10a〜10c,ネットワーク端末,計算機又はBTS83a〜83c等の装置単位に適用することもできる。
(1−4)MS10a等
MS10a〜10cは、BTS83a〜83cとの間において、情報データと、通信,制御に関する制御データとを無線通信するものであって、携帯電話10a,ビデオ再生装置10b,テレビ電話10c等である。
【0048】
携帯電話10aは、例えば図2に示すように、音声受話部(SPK)86a,音声送話部(MIC)86gと、音声送話部86gからの信号を符号化した情報データを出力するとともに受信信号をデコードしたデータを音声受話部86a又はディスプレイ(図示省略)に入力するベースバンド処理部86bと、ベースバンド処理部86bからの情報データを無線信号に変調するとともに受信した無線信号を復調する変復調部(TRX)86cと、変復調部86cからの無線信号を増幅するとともに受信信号を増幅する送受信アンプ(T/R AMP)86dとをそなえ、また、端末の識別情報を保持するキー情報保持部86eと、MS10a〜10cを制御する移動機制御部(制御部)86fとをそなえて構成されている。
【0049】
なお、ビデオ再生装置10b,テレビ電話10cについては、これらの無線送受信部が、携帯電話10aの変復調部86c等と同等なのでその説明を省略する。また、以下、MS(携帯電話)10aを用いて説明する。
(1−5)相手端末11a,11b(図1参照)
相手端末11a,11bは、ともに、MS10aと通話し、又は情報データを送受信するものであって、例えば固定電話機,携帯電話又はパーソナルコンピュータ(パソコン)等である。
【0050】
(1−6)BTS83a〜83c
図2は本発明の第1実施形態に係る移動通信システム100の機能ブロック図であり、この図2において上述した符号と同一符号を有するものは同一機能を有する。
48のBTS83a〜83cは、いずれも、MS10aと無線データを送受信するとともに、RNC84a〜84bと有線データを送受信するものであって、無線信号を高パワー増幅し受信信号をローノイズ増幅する送受信アンプ86dと、無線信号を変復調する変復調部86cと、ベースバンド信号を処理するベースバンド処理部86bと、RNC84a〜84bとBTS83a〜83cとの間におけるデータ送受信を制御するハイウェイイン制御部(HW−CNT)87aと、BTS83a〜83cの内部の監視および制御をする基地局制御部(制御部)87bとをそなえて構成されている。
【0051】
また、基地局制御部87bは、RNC84aが有する共有メモリ3と同等の共有メモリを設けて構成することもできる(図示省略)。
なお、BTS83b,83cは、いずれも、BTS83aと同一構成であり、重複した説明を省略する。BTS数48は、一例であり、この値に限定されるものではない。
【0052】
(2)RNC84a〜84bの構成
RNC84a〜84bは、呼処理(Call Processing)についての制御機能と負荷分散機能とを有する負荷分散装置(CONT)1と、BTS83a〜83cとの回線を終端するラインインターフェース(LIF:Line InterFace)85aと、BTS83a〜83cおよび交換機102からのパケットをその宛先又は予め決定されたパスに基づいてスイッチングするATMスイッチ(Asynchronous Transfer Mode Switch)85bと、交換機102との回線を終端する出力インターフェース85cと、呼処理等の制御信号を終端する終端部(SU)85dとをそなえて構成されている。
【0053】
また、終端部85dは、移動機対向信号終端部(MSU)と、外部装置対向信号終端部(ESU)と、OPS対向信号終端部(OSU)とを有し、MS10a,交換機102からの信号を負荷分散装置1に対して入力するようになっている。
(3)負荷分散装置(マルチプロセッサシステム)1
図3は本発明の第1実施形態に係るRNC84a〜84bの概略的なブロック図である。この図3に示すもので上述した符号と同一符号を有するものは同一機能を有する。
【0054】
(3−1)負荷分散装置1
負荷分散装置1の機能は、BTS83a〜83cおよび交換機102(図1参照)等の外部装置とRNC84a〜84b自身の各モジュールとの通信,呼接続,保守操作のための制御信号の送受信およびこれらの処理についての負荷分散である。この負荷分散装置1は、プロセッサ間通信装置(バス制御部:BCONT[Bus Controller])5と、呼処理部(CP:Call Processing)2a〜2eと、共有メモリ(CM:Common Memory)3と、ハードディスクドライブ(HDD:Hard Disk Drive)4と、デバッガ(DB:Debugger)5fと、通信用のバス5eとをそなえて構成されている。
【0055】
(3−2)呼処理部2a〜2e
各呼処理部2a〜2eの機能は、無線チャネルの割り当て,着信呼に関する呼情報処理,グローバルアドレスとローカルアドレスとの変換処理および主制御であって、基板(CP基板又はCPカード)上に、プロセッサ22aと、ROM(Read Only Memory)23と、RAM(Random Access Memory)24とが設けられている。
【0056】
図4は本発明の第1実施形態に係る負荷分散装置1の要部を示す図である。この図4に示す負荷分散装置1は、通信呼を処理する複数のプロセッサ22a〜22eと、例えば交換機102等の外部装置からの通信呼をプロセッサ22a〜22eの負荷に応じて分散する負荷分散制御部(分散制御部)9と、プロセッサ22a〜22eがアクセスしうる共有メモリ3とをそなえている。そして、共有メモリ3が、通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブル(図5等参照)7と、キュー管理情報テーブルのキュー管理情報の更新履歴を記録するメモ記録部(更新履歴記録領域,図8参照)8とを設けている。
【0057】
なお、呼処理部2aの機能は、プロセッサ22aとROM23とRAM24とが協働するソフトウェアにより発揮される。また、呼処理部2b〜2eの各機能も同様に、各CP基板上に、各プロセッサ22b〜22eが設けられ、ROM23,RAM24が協働して発揮される。そして、呼処理部2a〜2eが協働することにより、48のBTS83a〜83cの呼処理についての全負荷が分散される。
【0058】
(3−3)プロセッサ間通信装置5
プロセッサ間通信装置5は、各プロセッサ22a〜22eが相互に信号を送受信するための制御機能を有する。負荷分散装置1は、プロセッサ22a〜22eのうちの例えばプロセッサ22aを、マスタプロセッサとし、他のプロセッサ22b〜22eからの特定信号を受信するようにしている。換言すれば、他のプロセッサ22b〜22eは、いずれも、マスタプロセッサ22aと信号を送受信するために、プロセッサ間通信装置5を利用しているのである。
【0059】
(3−4)負荷分散制御部(分散制御部)9
分散制御部9は、交換機102およびBTS83a〜83cからの情報データおよび制御データを受信し、通信呼の処理の負荷を各呼処理部2a〜2eに分散するものである。また、この負荷分散機能は、例えばマスタプロセッサ22aにより発揮される。なお、他のプロセッサ22b〜22eが負荷分散機能を実現することもできる。
【0060】
(3−5)共有メモリ3
共有メモリ3に保持される情報は、複数のプロセッサ22a〜22eが相互に引き継ぎすることが必要な情報、又は消失してはならない情報である。例えば、MS10aと相手端末11aとが、「もしもし」,「はいはい」等の通話状態になった場合に障害が発生すると、両者間の通話状態は維持されているので、この通話状態を表す呼情報は、他のプロセッサ22a〜22eに引き継がれなければならない。
【0061】
そして、各プロセッサは、負荷を分散させるために、負荷に応じたタスクを割り当てられて呼を処理する。
図5は本発明の第1実施形態に係る共有メモリ3の領域を模式的に示す図である。この図5に示す共有メモリ3は、各プロセッサ22a〜22eが共有してアクセスするものであって、キュー管理情報テーブル7と、リソース(キュー)6a〜6c,6qと、これら以外のデータを保持するテーブル領域6dと、メモ記録部8とをそなえて構成されている。
【0062】
リソース6a〜6cは、それぞれ、複数の呼に関する呼情報A〜Cを保持するために獲得されたメモリ領域であり、このメモリ領域に複数のキューA〜Cが生成されている。リソース6qも、複数の呼に関する呼情報Dを保持するために獲得されたメモリ領域であり、キューDが生成されている。RNC84a〜84bは、それぞれ、大量の呼を入力されるので、大量の呼を効率的に管理するために、一装置について一リソースを割り当てるようにしている。すなわち、共有メモリ3は、一般的に有するリソース割り当て機能によりBTS83a〜83cのそれぞれについてリソース割り当てを行なう。
【0063】
例えば図21(a)に示す共有メモリ203は、3台のBTS83a〜83cに対応するリソースA〜Cが割り当てられており、受信された複数の呼は、それぞれ、キューA〜Cに挿入され、また、取り出し処理される(デキュー)。従って、各キューA〜Cは、挿入された数が異なり、キュー領域の範囲が異なるので、キュー管理情報テーブル7は、呼情報を保持するリソースを管理するキューについてのキュー管理情報を保持するのである。
【0064】
(3−6)キュー管理情報テーブル7
キュー管理情報テーブル7は、各プロセッサ22a〜22eによって獲得された呼情報を保持するリソースを管理するキューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持する。この情報要素とは、例えば、キュー管理数(全キュー数),先頭キューアドレス,前キューアドレスおよび後キューアドレスであり、また、最終キューアドレスをも含めることがある。
【0065】
これにより、各情報要素を用いることによって、効率的にキュー管理が可能となる。また、キュー管理情報テーブル7は、各プロセッサ22a〜22eによって獲得された呼情報を保持するリソースを管理するキューについての少なくともキュー管理数と先頭キューアドレスとを含むキュー管理情報を保持する。この2種類の要素によれば、各キューを特定できるからである。
【0066】
(3−7)メモ記録部8
次に、メモ記録部8(図8参照)は、キュー管理情報テーブル7のキュー管理情報の更新履歴を記録するものである。すなわち、メモ記録部8は、キュー管理情報テーブル7のキュー管理情報に書き込む複数の更新情報要素(例えば、キュー管理数,先頭キューアドレス,前キューアドレス,後キューアドレス)を記録する。メモ記録部8は、例えば3個のメモ記録(メモ記録部)1,2,3を確保してキュー管理数等を記録している。例えば、メモ記録1,2は、それぞれキュー管理数,先頭キューアドレスを一時的に書き込むこともでき、また、メモ記録1,2,3は、それぞれ、取り出しするキューの番号,前キューアドレス,次キューアドレスを一時的に書き込むこともできる。すなわち、メモ記録部8は、キュー管理情報テーブル7に保持されたキュー管理数と先頭キューアドレスとに書き込む更新情報要素を記録する。
【0067】
そして、各呼処理部2a〜2e(図4参照)は、分散制御部9から制御信号を受信すると、共有メモリ3から物理的なリソースを獲得し、獲得したリソースにキューを生成し、その生成したキューに関する情報は、キュー管理情報テーブル7に集中的に保持される。
これにより、各プロセッサ22a〜22eは、キューを参照し、キューを更新しながら信号処理を行なう。また、例えば呼処理部2aが過負荷のときに、他の呼処理部2b〜2eがデータ処理をする。
【0068】
(3−8)クロック部88等
なお、RNC(図3参照)は、基準タイミングを生成するクロック部(CLK)88,ダイバーシチハンドオーバ処理を行なうトランクカードDHT(Diversity Handover Trunk card)89a,無線回線のMAC(Media Access Control)レイヤについて多重分離を処理するマック多重分離カードM−MUX(Mac Multiplexer)89b,BWCをも有する。
【0069】
また、HDD4a(図3参照)は、ファームウェアについて取得された情報を保持するものである。デバッガ5fは、共有メモリ3の書き込みおよび読み出しを行なうものであって、書き込みおよび読み出しのための信号をバス5eに出力することによりこの書き込みおよび読み出しが可能となる。
(3−9)実装の一例
負荷分散装置1は、RNC84a〜84bの装置架の背面部分の基板(バックボード)に設けられている。
【0070】
図6は本発明の第1実施形態に係る負荷分散装置を上方から見た模式図である。この図6に示す負荷分散装置1は、平面的なバックボード82に、プロセッサ間通信装置5,呼処理部2a〜2e,デバッガ5f,共有メモリ3,クロック部88および給電部88aの各機能を有する基板が、垂直に差し込まれるようになっている。すなわち、各機能が基板ごとに実現されており、これにより、保守等の負担が軽減され、システム仕様の変更に対して柔軟に対応できる。なお、図6に示す陰影がある部分は、バックボード82の上面を表している。
【0071】
各基板はそれぞれID(Identification:識別子)を割り当てられ、信号伝送路を介して相互に通信できるようになっている。これにより、共有メモリ3を介してプロセッサ相互間が通信可能となる。
この相互通信の一例は、各プロセッサ22a〜22eが、バス5eに出力されたデータに含まれるIDを取得し、この取得したIDと予めレジスタ(図示省略)等に格納されたIDとを比較し、そのデータを用いるか否かを判別するのである。
【0072】
また、各基板は、脱着可能になっており、呼処理部2a〜2eの処理能力に応じて、CP基板の数を増減できる。負荷分散装置1は、5枚の現用のCP基板と1枚の予備用のCP基板との全部で6枚のCP基板が設けられ、48のBTS83a〜83cに対応可能となっている。5枚のCP基板の1枚が故障した場合にそなえて、予備用のCP基板(図示省略)が設けられている。
【0073】
RNC84a〜84bは、複数の現用系(アクティブ:ACT)のCP基板と、予備系(スタンバイ:STBY)のCP基板とをそなえた冗長構成を用いることができる。ここで、予備系のCP基板は、現用系のCP基板の故障又は保守のために設けられており、いずれかの現用系CP基板が故障すると、外部装置と接続された物理的な通信パスは、故障したCP基板から切断されて、予備系のCP基板に接続されるようになっている。これにより、負荷分散型マルチプロセッサシステムが構成される。
【0074】
さらに、48のBTS83a〜83cのそれぞれに対応するリソースが、CM基板の共有メモリ3に確保され、また、プロセッサ22a〜22eと共有メモリ3とが協働することにより、BTS83a〜83cのCP基板が過負荷のときに、他のBTS83a〜83c用のCP基板がBTS83a〜83cのデータ処理を行なう。
【0075】
このように、負荷分散装置1は、きわめて多量の呼処理データを処理でき、かつ処理対象となる呼を、多量の呼の中から認識し適切に処理でき、これにより、データ多重およびデータ分離が可能となる。
(3−10)リカバリ処理
キュー操作するためのプロセッサ22a〜22eに障害が発生すると、現実のキュー管理数とキューに書き込まれたキュー管理数との相違、又は次キューアドレスと以前の次キューアドレスとの相違が生じる。
【0076】
各プロセッサ22a〜22eは、障害発生を検出する検出機能を有し、本実施形態においては、マスタプロセッサ22aの障害検出機能が動作するようにしている。具体的には、マスタプロセッサ22aは、ハードウェアからの外部割り込みによって、リカバリ処理の契機とし、また、例えばマスタプロセッサ22aによるソフトウェアを用いて、キュー管理情報テーブル7とメモ記録部8との両状態を比較する。
【0077】
そして、障害を検出したマスタプロセッサ22aは、プログラムが正常に実行されるように、リカバリ処理を行なう。このリカバリ処理機能は、例えば呼処理部2aおよび共有メモリ3により実現されるが、他の呼処理部2b〜2e(プロセッサ22b〜22eによるソフトウェア)および共有メモリ3により実現することもできる。
【0078】
(3−11)判定部(判定手段)25aおよび復旧部(復旧手段)25b
判定部25aと復旧部25bとは、いずれも、各呼処理部2a〜2eに設けなければならない。これは、プロセッサ22a〜22eのいずれかが、共有メモリ3にアクセスしたときに障害が発生しても、正常に復旧処理を行なえるハードウェアとしてのプロセッサ22a〜22eと、ソフトウェアとしての呼処理部2a〜2eとが確保されるためである。
【0079】
図7は本発明の第1実施形態に係る判定部および復旧部の概略的なブロック図であり、この図7に示す判定部25aおよび復旧部25bは、いずれも、各呼処理部2a〜2eに設けられている。
ここで、判定部25aは、プロセッサ22a〜22eのうちのいずれかのプロセッサが、キュー管理情報へのアクセス時に障害が発生したときに、キュー管理情報テーブルに保持されたキュー管理情報と、メモ記録部8に記録された更新履歴情報とに基づいて、リカバリ処理の要否を判定するものである。
【0080】
呼処理部2aおよび共有メモリ3は、協働することにより、判定部25aと、復旧部25bとの各機能を発揮している。
また、復旧部25bは、判定部25aがリカバリ処理を必要と判定した場合に、更新履歴情報に基づいてキュー管理情報をリカバリするものである。
共有メモリ3のリソースの獲得および解放は、常時、キュー管理されており、プロセッサ22aが、キュー管理に必要な情報要素(キュー管理数,先頭キューアドレス,前キューアドレス,後キューアドレス)をアクセスしたときに障害が発生すると、判定部25aは、メモ記録部8の内容に基づいて、共有メモリ3のキュー管理情報テーブル7が破壊されたか否かを判定する。判定部25aは、キュー管理情報テーブル7が破壊されていた場合は復旧部25bに対して完全リカバリ処理を実施させ、また、キュー管理情報テーブル7が破壊されていない場合は復旧部25bに対してリカバリ処理を行なわせない。
【0081】
このように、各プロセッサ22a〜22eは、メモ記録に基づいて共有メモリ3のキュー管理情報を参照して情報をリカバリするので、きわめて短時間あるいは瞬時にキュー管理情報テーブル7をリカバリできる。
(4)動作説明
上述の構成により、本発明の共有メモリ3のキュー管理情報テーブル7のリカバリ処理方法について詳述する。
【0082】
負荷分散装置1は、制御信号を受信すると、負荷を各プロセッサ22a〜22eに振り分けて、共有メモリ3のリソースをキューにより管理する。各プロセッサ22a〜22eは、キュー管理情報テーブル7をアクセスするときに、キュー管理情報テーブル7に書き込む内容を、まず、共有メモリ3のメモ記録部8に一時的に書き込み、この書き込みした内容を保存する。
【0083】
ここで、複数のキューA〜Dにわたってデータが保持されている場合において、複数のキューA〜Dのうちの例えばキューCを操作する場合、各プロセッサ22a〜22eがそのキューCにアクセスしているときに、プロセッサ22a〜22eのうちのいずれかのプロセッサに障害が発生すると、その障害をリカバリするリカバリ処理が行なわれる。
【0084】
ここで、RNC84a〜84bは、いずれも、負荷分散装置1を2枚設けてもよく、このようにすれば、障害発生が検出された後は、まず、現用系のプロセッサと、予備用のプロセッサとを、相互に変更する処理が行なわれる。
共有メモリ3にあるキュー管理情報テーブル7を各プロセッサ22a〜22eがアクセスしている最中に障害が発生し、リカバリ後はキュー管理情報テーブル7のキュー管理数又は先頭キューアドレスと実体に不一致が発生している場合がある。この場合、アクセス時に記録しておいたメモ情報に基づいてキュー管理情報テーブル7をリカバリさせるのである。
【0085】
以下、先頭キューを取り出す方法と、リカバリ処理方法とについて説明する。本発明のマルチプロセッサシステムにおけるキュー取り出し方法は、通信呼を処理するプロセッサ22a〜22eとプロセッサ22a〜22eがアクセスしうる共有メモリ3とを有するマルチプロセッサシステム(例えば負荷分散装置1)におけるものである。
【0086】
まず、各プロセッサ22a〜22eのうちのいずれかのプロセッサ(例えばプロセッサ22a自身)が獲得したリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルを参照する(参照ステップ)。すなわち、キュー管理数,先頭キューアドレス,前キューアドレスおよび後キューアドレスが参照される。
【0087】
次に、各プロセッサ22a〜22eは、キュー管理情報テーブル7のキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を、メモ記録部(更新履歴記録領域)8に記録する(記録ステップ)。すなわち、更新されるキュー管理数,先頭キューアドレス,前キューアドレス,後キューアドレスがメモ記録部8に記録される。
【0088】
そして、各プロセッサ22a〜22eは、更新履歴をキュー管理情報テーブル7に書き込むのである(書き込みステップ)。
キュー取り出し方法についてさらに詳述する。
各プロセッサ22a〜22eは、前記参照に当たり、キュー管理数,先頭キューアドレス,前キューアドレスおよび後キューアドレスのうちのキュー管理数と先頭キューアドレスとを情報要素として参照する。
【0089】
次に、前記記録に当たり、各プロセッサ22a〜22eは、更新したキュー管理数(第1更新値)、又は更新した先頭キューアドレス(第2更新値)を更新情報要素として記録する。
そして、前記書き込みに当たり、各プロセッサ22a〜22eは、更新したキュー管理数、又は更新した先頭キューアドレスをキュー管理情報テーブル7に書き込む。
【0090】
以下に、キュー取り出し方法を具体的に説明する。
(5)先頭キューを取り出す方法。
図8,図9を参照して先頭キュー(リソース)を削除する方法について説明する。ここで、図8に示すステップJ1〜J5は、図9に示すステップJ1〜J5に対応させている。
【0091】
図8は本発明の第1実施形態に係る先頭キュー取り出し方法を説明するための図である。この図8には、メモ記録部8と、キュー管理情報テーブル7と、キューA〜Dとが表示されており、また、紙面の上半分はキュー取り出し前における、メモ記録部8,キュー管理情報テーブル7およびキューの状態を表す。下半分はキュー取り出し後におけるそれらの状態を表す。なお、上から下への方向は時間経過を表す。ここで、キュー取り出し前は、キューA〜Dが生成されており、また、キューA〜Dから先頭キューAを取り出すようにしている。キュー管理情報テーブル7には先頭キューアドレスと、キュー列A〜Dを形成している全キュー個数が保持されている。
【0092】
図9は本発明の第1実施形態に係る先頭キュー取り出し処理を説明するためのフローチャートである。プロセッサ22aを一例とし、この先頭キュー取り出し処理を説明する。なお、プロセッサ22b〜22eについての処理も、プロセッサ22aの処理と同一である。
(J1)プロセッサ22aは、先頭にキューイングされているキュー(リソース)を取り出す。プロセッサ22aが、先頭キューを取り出す場合、キュー管理情報テーブル7より先頭キューアドレスを参照することによりキューAを参照する。
【0093】
(J2)プロセッサ22aは、メモ記録2に先頭にキューイングされているキュー(リソース)の次キューアドレスを設定する。先頭にキューイングされているキュー(リソース)の次キューアドレスBを取り出し、メモ記録2に設定する。
(J3)プロセッサ22aは、メモ記録1にキュー管理数(全個数)を保持し、メモ記録1にキュー管理情報テーブル7にあるキュー管理数4から1を減算した3を設定する。
【0094】
なお、ステップJ2又はステップJ3において、プロセッサ22aが、メモ記録1,2を書き換えているときに、障害が発生した場合(ステップJ6a)、リカバリは行なわれない(ステップJ6b)。
(J4)プロセッサ22aは、キュー管理情報テーブル7の先頭キューアドレスをキューAからキューBのアドレスに書き換える。
【0095】
(J5)プロセッサ22aは、キュー管理情報テーブル7のキュー管理数について、キューAを取り出したことにより1を減算して3に設定する。
なお、ステップJ4又はステップJ5において、プロセッサ22aが、キュー管理情報テーブル7を書き換えているときに障害が発生した場合(ステップJ7a)、判定部25aは、リカバリ処理を必要と判定し、メモ記録1,2を書き換える(ステップJ7b)。
【0096】
これにより、リカバリ処理が簡素化され、かつ高速リカバリが実現する。
(6)リカバリ処理方法
本発明のマルチプロセッサシステムにおけるテーブルリカバリ処理方法は、通信呼を処理する複数のプロセッサ22a〜22eと、プロセッサ22a〜22eがアクセスしうる共有メモリ3とを有するマルチプロセッサシステムにおけるものである。
【0097】
まず、プロセッサ22a〜22eのうちの例えばプロセッサ22aは、自分自身が獲得したリソース管理キューの大きさとキューの位置とを特定する(キュー管理数,先頭キューアドレス,前キューアドレスおよび後キューアドレス)の情報要素からなるキュー管理情報を保持するキュー管理情報テーブル7のキュー管理情報と、キュー管理情報テーブル7のキュー管理情報に書き込む更新したキュー管理数等の更新情報要素(キュー管理数,先頭キューアドレス,前キューアドレスおよび後キューアドレス)からなる更新履歴を記録するメモ記録部8の更新履歴情報とに基づいて復旧処理の要否を判定する(判定ステップ)。
【0098】
そして、前記のいずれかのプロセッサは、前記判定にて復旧要と判定された場合に、更新履歴情報に基づいてキュー管理情報を復旧するのである(復旧ステップ)。
これにより、複数のプロセッサ22a〜22eが協働するので、システムは障害に対して強固になる。
【0099】
次に、テーブルリカバリ処理方法についてさらに詳述する。
復旧処理の要否の判定に当たり、複数のプロセッサ22a〜22eのうちのいずれかのプロセッサは、キュー管理情報テーブル7に保持されたキュー管理情報のキュー管理数又は先頭キューアドレスと、メモ記録部8のキュー管理数又は先頭キューアドレスとの一致/不一致に基づいて要否を判定する。
【0100】
また、復旧に当たり、いずれかのプロセッサは、その要否に基づいて、メモ記録部8のキュー管理数又は先頭キューアドレスを、キュー管理情報テーブル7のキュー管理数又は先頭キューアドレスに書き換える。
このように、障害発生後のリカバリ処理が迅速に行なえる。
次に、図10を参照して先頭キューの取り出し中に障害が発生した場合のリカバリ処理方法について説明する。
【0101】
図10は本発明の第1実施形態に係る先頭キュー取り出しのリカバリ処理を説明するためのフローチャートである。プロセッサ22a〜22eは、いずれも、以下に説明するリカバリ処理を実施でき、プロセッサ22aについて説明し、プロセッサ22b〜22eについての詳細な説明を省略する。ここで、図10に示す符号1〜6は、それぞれ、以下の(6−1)〜(6−6)に対応する。
【0102】
(6−1)判定部25aは、メモ記録2の先頭キューアドレスとキュー管理情報テーブル7の先頭キューアドレスとが一致しているか判定する。
(6−2)判定部25aは、判定結果が一致していない場合は、「不一致」ルートを通り、メモ記録2を書き換え後、キュー管理情報テーブル7の情報を書き換える前に障害が発生したため一致していない状態である。従って、メモ記録を無視してリカバリ処理は実行されない。
【0103】
(6−3)判定部25aは、判定結果が一致している場合、一致している場合はメモ記録1を書き換え、およびキュー管理情報テーブル7の情報が正常時、書き換えられた状態を示している。
(6−4)判定部25aは、メモ記録1のキュー管理数とキュー管理情報テーブル7のキュー管理数が一致しているか判定する。
【0104】
(6−5)判定結果が一致してない場合、判定部25aは、メモ記録1を書き換え、およびキュー管理情報テーブル7の一部が正常時、書き換えられていない状態である。従って、メモ記録1を参照し、キュー管理情報テーブル7のキュー管理数を3に書き換えることによりリカバリさせる。
(6−6)判定結果が一致している場合、判定部25aは、キュー管理情報テーブル7および先頭キューが正常時、取り出し終了した状態である。従って、リカバリは不要となる。
【0105】
(6−7)前記(6−1)にて判定部25aの判定結果が「不一致」の場合は、「不一致」と付されたルートを通り、キュー管理情報テーブル7を書き込む前に障害が発生しているため、判定部25aは破損していないと判定し、リカバリ処理は行なわない。
(6−8)前記(6−4)にて判定部25aは、キュー管理数が一致しないと判定した場合は、NOルートを通り、キュー管理情報テーブル7の先頭キューアドレスが書き換え済みであり、障害が発生していると判定する。
【0106】
(6−9)判定部25aは、メモ記録のキュー管理数を管理数キュー管理情報テーブル7のキュー管理数に置換するリカバリ処理を行なう。
なお、プロセッサ22b〜22eの先頭キュー取り出し動作も、プロセッサ22aの動作と同様である。
このように、本リカバリ処理方法は、共有メモリ3のリソースの獲得,開放が、キュー管理され、このキュー管理に必要なキュー管理数,先頭キューアドレス,前キューアドレスおよび後キューアドレス等の情報領域がアクセスされる前にメモ記録部8として保存される。これにより、リカバリ処理が単一時間でかつ高速に可能となる。従って、二重障害の誘発が回避される。
【0107】
そして、キュー管理情報テーブル7に関し、あたかもメモを記録するだけでよい処理が可能となり、リカバリ処理に要する必要最小のデータを用いてリカバリが可能となり、システムの簡素化が図れる。
(7)複数のキュー間に位置するキューの取り出し方法
図11,図12を参照して、キューA〜Dの間にキューイングされているキューC(以下、図11,図12において途中キューCと称する。)を取り出して削除する方法について説明する。なお、プロセッサ22aについて説明し、このプロセッサ22aと同一機能を有するプロセッサ22b〜22eについての重複説明を省略する。これらの図11,図12に示す符号K1〜K6は相互に対応している。
【0108】
図11は本発明の第1実施形態に係る途中キューCの取り出し方法を説明するための図であり、キュー管理情報テーブル7は先頭キューAのアドレスを保持している。
図12は本発明の第1実施形態に係る途中キューCの取り出し処理を説明するためのフローチャートである。
【0109】
(K1)プロセッサ22aは、途中キューCを取り出す。
(K2)プロセッサ22aは、キュー管理情報テーブル7にある先頭キューAのアドレスを取得し、先頭キューAからキューDの方向に、順次、キューを辿ることにより、途中キューCを参照し、メモ記録1に途中キューCが設定される。
(K3)プロセッサ22aは、メモ記録2に途中キューCの前キューBのアドレスを書き込み、途中キューCを取り出す。このため、キューBの次キューは、途中キューCからキューDに変更されるので、プロセッサ22aは、メモ記録3に、途中キューCの前キューBのアドレスをアドレス(B)に設定する。
【0110】
(K4)途中キューCの取り出しにより、キューDが変更となるので、プロセッサ22aは、メモ記録部3に途中キューCの次キューアドレス(D)を設定する。
ステップK2,K3,K4のそれぞれにおいて、プロセッサ22aが、キュー管理情報テーブル7を書き換えているときに障害が発生した場合(ステップK7a)、判定部25aは、リカバリ処理を不要と判定する(ステップK7b)。
【0111】
(K5)プロセッサ22aは、メモ記録部3にキューBの次キューDのアドレスをCからDに書き換える。
(K6)プロセッサ22aは、キューDの前キューアドレスをCからBに書き換える。
なお、ステップK5又はステップK6において、プロセッサ22aが、キュー管理情報テーブル7を書き換えているときに障害が発生した場合(ステップK8a)、判定部25aは、リカバリ処理を必要と判定し、復旧部25bは、メモ記録1〜3の内容をキュー管理情報テーブル7に書き換える(ステップK8b)。
【0112】
なお、プロセッサ22b〜22eの途中キューCの取り出し動作も、プロセッサ22aの動作と同様である。
(8)リカバリ処理方法
図13を参照して途中キューCの取り出し中に障害が発生した場合のリカバリ処理方法について説明する。
【0113】
図13は本発明の第1実施形態に係る途中キュー取り出しのリカバリ処理を説明するためのフローチャートである。以下に説明する判定部25aは、プロセッサ22aの動作と同様である。この図13に示す符号1〜7は、それぞれ、以下に示す(8−1)〜(8−7)に対応する。
(8−1)判定部25aは、メモ記録1の情報から途中キューCを導き出し、途中キューCの前キューアドレスとメモ記録2の前キューアドレスとの一致/「不一致」を判定し、また、判定部25aは、次キューアドレスとメモ記録部3の次キューアドレスとの一致/不一致を判定する。
【0114】
(8−2)判定結果が一致していない場合
既にデキューされているため、メモ記録2の前キューアドレスと途中キューCの前キューアドレスとは一致せず、また、メモ記録部3の次アドレスと途中キューCの次キューアドレスとは一致しない。この場合、NOルートを通り、リカバリは行なわれない。
【0115】
(8−3)判定結果が一致している場合
判定部25aは、YESルートを通り、メモ記録1の途中キューCのアドレスと、キューBの次キューアドレスとが同一であるか否かを判定する。
(8−4)判定結果が一致していない場合
NOルートを通り、リカバリは行なわれずに、処理は終了する。
【0116】
(8−5)判定結果が一致している場合
前記(8−3)における判定において、判定部25aは、メモ記録1の途中キューCアドレスとキューDの前キューアドレスとが同一であるか否かを判定する。
(8−6)判定結果が一致していない場合
判定部25aが、取り出しが未だ完了していない場合であり、NOルートを通り、キューBの次キューアドレスに途中キューCが設定される。これにより、リカバリ処理が実行される。
【0117】
(8−7)判定結果が一致している場合
取り出し処理は実行されていない場合であり、YESルートを通り、デキュー処理は行なわれていないので、リカバリ処理は不要である。
(9)従来のテーブルリカバリ処理方法と本テーブルリカバリ処理方法との比較。
【0118】
障害発生時のキュー管理情報テーブル7について、従来のテーブルリカバリ処理方法は、各プロセッサ22a〜22eが、先頭キューに接続されている途中キューと、最終キューに接続されている途中キューとの双方向から複数接続されたキューを辿っていき、双方向のキューの個数をカウントし、そのカウント値の成否に基づいてキュー管理情報テーブル7をリカバリさせていた。従って、プロセッサ22a〜22eは、障害発生を認識するために多くの時間を要した。
【0119】
これに対して、本テーブルリカバリ処理方法によれば、各プロセッサ22a〜22eは、共有メモリ3のリソースの獲得,開放をキュー管理しており、また、プロセッサ22a〜22eが、キュー管理に必要な情報領域にアクセスしたときに障害が発生すると、復旧部が、メモ記録に基づいて共有メモリ3のキュー管理情報を参照して情報をリカバリするので、きわめて短時間あるいは瞬時にキュー管理情報テーブル7をリカバリできる。
【0120】
(10)キューの挿入方法
図14〜図16を参照してキューDを挿入する方法ついて説明する。
図14は本発明の第1実施形態に係るキューを挿入する方法を説明するための図であり、3個のキューA〜Cに、キューDを挿入して接続する方法について示されている。キュー管理情報テーブル7には先頭キューアドレスとキューに接続している全個数が保持されている。
【0121】
なお、エンキュー方法は、例えばプロセッサ22aが用いる場合について説明するが、プロセッサ22b〜22eの先頭キュー取り出し動作も、プロセッサ22aの動作と同様である。
図15は本発明の第1実施形態に係るエンキュー処理を説明するためのフローチャートである。
【0122】
(10−1)キューDの作成
プロセッサ22aは、最終のキューになるためキューDの次キューアドレスは最終(END)を保持する(ステップL1)。
(10−2)プロセッサ22aは、メモ記録2にキューCのアドレスを保持する(ステップL2)。
【0123】
(10−3)プロセッサ22aは、メモ記録部3にエンキューするキューDのアドレスを設定する(ステップL3)。
(10−4)プロセッサ22aは、メモ記録1にキュー管理数(全個数)を保持する。ここで、メモ記録1にキュー管理情報テーブル7にあるキュー管理数からキューを接続することにより1を加算して(+1して)4を設定する(ステップL4)。
【0124】
(10−5)プロセッサ22aは、キューCの次キューアドレスを書き換え
キュー管理情報テーブル7にある先頭キューアドレスからキューを辿ることにより変更するキューCを検索し、次キューアドレスを最終(END)からDに書き換える(ステップL5)。
(10−6)キュー管理情報テーブル7のキュー管理数を書き換えキュー管理情報テーブル7のキュー管理数はキューDを接続することにより、プロセッサ22aは、4に設定する(ステップL6)。
【0125】
なお、ステップL2〜ステップL4において、プロセッサ22aが、メモ記録1,2を書き換えているときに、障害が発生した場合(ステップL6a)、リカバリは行なわれない(ステップL6b)。
また、ステップL5又はステップL6において、プロセッサ22aが、キュー管理情報テーブル7を書き換えているときに障害が発生した場合(ステップL7a)、判定部25aは、リカバリ処理を必要と判定し、メモ記録1,2を書き換える(ステップL7b)。
【0126】
(11)エンキューのリカバリ処理方法
図16は本発明の第1実施形態に係るエンキューのリカバリ処理を説明するためのフローチャートである。エンキュー中に障害が発生した場合のリカバリ処理方法について説明する。この図16に示す符号1〜6は、それぞれ、以下に示す(11−1)〜(11−6)に対応する。
【0127】
(11−1)判定部25aは、メモ記録2のキューCの次キューアドレスと、メモ記録部3のキューCの次キューアドレスとが一致しているかを判定する。
(11−2)判定結果が一致していない場合
判定部25aは、NOルートを通り、キューCは破損していないと判定され、リカバリ処理行なわれない。すなわち、キューCの次キューアドレスを書き込む前に障害が発生したので、キューは破損しておらず、従って、リカバリ処理は不要と判定され、処理が終了する。
【0128】
(11−3)判定結果が一致している場合
この場合は、判定部25aは、YESルートを通り、メモ記録部3とキューCの次キューアドレス情報が正常時、書き換えられた状態に相当する。
(11−4)判定部25aは、メモ記録1のキュー管理数とキュー管理情報テーブル7のキュー管理数とが一致しているか否かを判定する。
【0129】
(11−5)判定結果が一致していない場合
この場合は、判定部25aは、キューCの次キューアドレスが書き換えられた後、障害が発生しキュー管理情報テーブル7が書き換えられていない状態に相当する。従って、判定部25aは、NOルートを通り、メモ記録1を参照し、キュー管理情報テーブル7のキュー管理数を4に書き換えるリカバリ処理を行なう。
【0130】
(11−6)判定結果が一致している場合
この場合は、キュー管理情報テーブル7およびキューCの書き換えが正常に終了した状態なので、判定部25aは、YESルートを通り、リカバリ処理は不要として処理が終了する。
このように、エンキューのリカバリ処理が行なわれる。
【0131】
また、このように、簡素化された処理方法のため高速で動作し、かつ信頼性の高いシステムの実現を可能にする。
(B)本発明の第2実施形態の説明
共有メモリ3において、通話終了した呼を表すキューが削除されると、空いたリソース(メモリ領域又はバッファ領域)は解放され、解放したリソースは、別の呼を処理する呼処理部2a〜2e(又はプロセッサ22a〜22e)によって獲得される。このため、共有メモリ3のリソースの大きさは、呼処理部2a〜2eごとに固定されず変動している。
【0132】
ここで、呼処理部2a〜2eが、呼の終了により不要になったキューを削除するときに障害が発生すると、キュー管理情報テーブル7が破壊され、この破壊は、共有メモリ3のリソースの一部が占有されたままの状態を引き起こし、また、各プロセッサ22a〜22eに割り当てられるリソースの減少を招く。
このため、第2実施形態における移動通信システムは、移動通信システムにおけるMS10a,BTS83a〜83c又はRNC84a〜84b等の各通信装置(対向通信装置)のリソース状態又は通信状態を、状態監視テーブルを用いて分散監視又は分散管理している。
【0133】
図17は本発明の第2実施形態に係る移動通信システムの構成図である。この図17に示す移動通信システム100aは、CDMA方式を用いたものであって、RNC(通信装置)84pと、このRNC84pと通信する複数のBTS(対向通信装置)83pと、MS(移動機)10pとをそなえて構成されている。
ここで、MS10pは、複数のプロセッサ22a〜22eがアクセスしうる共有メモリ29を有する制御部86pを設けたものであり、BTS83pは、共有メモリ29を有する移動機制御部87pを設けたものであり、さらに、RNC84pは、共有メモリ29を有する分散制御部1aを設けている。そして、これらのMS10p、BTS83pおよびRNC84pは、いずれも、共有メモリ29に状態監視テーブルを割り当てるようにしている。なお、この図17に示すもので、上述したものと同一符号を有するものは同一のものを表す。
【0134】
状態監視テーブルは、複数のプロセッサ22a〜22eがアクセスしうる共有メモリ3のリソース状態を含む上記の通信状態を保持するものである。この状態監視テーブルは、共有メモリ29について、キューアドレスと、このキューアドレスに対応する記憶領域の使用状態とを対応付けて格納している。
図18は本発明の第2実施形態に係る共有メモリ29の領域を模式的に示す図である。この図18に示す共有メモリ29は、リソース状態を含む通信状態を保持する状態監視テーブル30と、複数のBTS83a〜83cの通信状態が保持された通信状態保持部31a〜31cと、状態監視テーブル30に保持された通信状態を記録するメモ記録部(通信状態記録領域又はメモ記録領域)32とを有する。また、メモ記録部32は、メモ記録(メモ記録領域)32a〜32cを有する。
【0135】
これにより、各通信機器に設けられたプロセッサ22a〜22eと、ROM23およびRAM24(図4参照)とが協働して呼処理部2a〜2eとして機能する。そして、これらの呼処理部2a〜2eのリソース状態監視部(図示省略)が、共有メモリ29に獲得されたリソース状態を監視する。これにより、各呼処理部2a〜2eについて、例えば呼処理機能を有するソフトウェアの動作状態のチェックが可能となる。
【0136】
また、各呼処理部2a〜2eが、リソース状態の異常を認識すると、状態監視テーブルを用いて共有メモリ29を復旧するようにもなっており、管理部と復旧部(図示省略)とをそなえて構成されている。
ここで、管理部は、共有メモリ29のリソースを所定のサイズのページに分割し各ページの更新の有無を管理して、管理データファイルにその情報を保持し、また、更新されたページのデータを更新データファイルに保持するものである。
【0137】
さらに、復旧部は、障害リカバリ時に、管理データファイルおよび更新データファイルの情報に基づいて、共有メモリ29の保持するデータをリカバリするものである。そして、例えば図17に示す呼処理部2aおよび共有メモリ29が協働することにより、管理部と復旧部との各機能が発揮される。
この管理部により、リソースに関し、状態監視テーブルのうちの障害発生部分に対応する装置−装置又は装置−端末間の状況(すなわち、局所的な障害発生状況)を把握することができる。
【0138】
また、状態監視テーブル30は、リカバリ部33と、初期化部34と、選択部35とのそれぞれに接続され、これらリカバリ部33,初期化部34,選択部35によって参照されるようになっている。
ここで、リカバリ部33は、メモ記録部32に保持された通信状態に基づいて状態監視テーブル30のうちの局所的な障害発生部分をリカバリするものである。また、初期化部34は、状態監視テーブル30の保持する複数の通信状態1〜Nのうちの局所的な障害発生部分を初期化するものである。さらに、選択部35は、リカバリ部33および初期化部34との一方を実施するものである。
【0139】
従って、状態監視テーブル30は、障害発生後のリカバリ処理において、管理データファイルにその情報全てを保持しておくのではなく、テーブル内容を初期化して情報を無効にするリカバリ処理方法と、必要な情報のみをメモしその状態を再設定するリカバリ処理方法との二つの局所的なリカバリ処理が可能となる。これにより、BTS83p(図17参照)のような装置,機器又はMS10aが有するリソースの状態は、状態監視テーブル30を用いて監視又は管理される。具体的には、移動通信システム100aにおいて、相手端末11aが、MS10aと通話している場合は、相手端末11aおよびMS10a間の呼は、公衆網85a,コアネットワーク101,交換機102,RNC84a〜84bおよびBTS83a〜83cを介して接続されている。この呼が接続されている状態においては、各網又は各種の通信装置が相互に通信相手装置のID等を管理および監視している。
【0140】
また、これにより、監視システム100aの運営者又は管理システム100aの障害発生部は、RNC84pの共有メモリ29のキューを常時、確認する負担が不要となる。従って、解明に時間と工数とを要し、また、障害発生を比較的早期に発見可能となる。
このような構成により、障害が発生したときに、メモ記録に基づいて状態監視テーブル30のリカバリ(第1のリカバリ)と、そのリカバリされる状態監視テーブル30の初期化により通信状態を無効とするリカバリ(第2のリカバリ)とが選択的に実施される。
【0141】
これにより、移動通信システム100aの全体を管理する必要がなくなり、局所的な通信装置間において発生した障害を、状態監視テーブル30を参照することにより、リカバリ処理が可能となるのである。
このように、状態監視テーブル30を用いて、各種の通信装置を管理する場合において、プロセッサ22a〜22eによるテーブルアクセス時に障害が発生したときでもそのテーブルは破壊されない。また、障害発生によるプログラムの非正常な動作とシステムの処理エラーの招来とがいずれも回避される。
【0142】
なお、第2実施形態における状態監視システムは、マルチプロセッサシステムを用いたシステムおよび電子機器等に適用することもでき、端末,呼,基地局又は計算機等種々な単位に適用可能である。
この監視システムは、移動通信システム100(図2参照)に適用した例を説明する。なお、監視システムは、移動通信のみならず、他の用途に用いることもできる。
【0143】
(C)その他
本発明は上述した実施態様およびその変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
(D)付記
(付記1) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0144】
(付記2) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
各プロセッサによって獲得された該通信呼に関する呼情報を保持するリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0145】
(付記3) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
各プロセッサによって獲得された該通信呼に関する呼情報を保持するリソース管理キューについての少なくともキュー管理数と先頭キューアドレスとを含むキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルに保持された該キュー管理数と該先頭キューアドレスとに書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0146】
(付記4) 該複数のプロセッサのうちのいずれかのプロセッサが、該キュー管理情報へのアクセス時に障害が発生したときに、該キュー管理情報テーブルに保持されたキュー管理情報と、該更新履歴記録領域に記録された更新履歴情報とに基づいて、リカバリ処理の要否を判定する判定部と、
該判定部がリカバリ必要と判定した場合に、該更新履歴情報に基づいて該キュー管理情報をリカバリする復旧部とをそなえて構成されたことを特徴とする、付記1〜付記3のいずれか一に記載のマルチプロセッサシステム。
【0147】
(付記5) 通信呼を処理する複数のプロセッサと、該複数のプロセッサがアクセスしうる共有メモリと、該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0148】
(付記6) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、
各プロセッサが、
該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを共有することを特徴とする、マルチプロセッサシステム。
【0149】
(付記7) 情報データを処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
該情報データに関する各種情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0150】
(付記8) 通信呼を処理する複数のプロセッサと、
該複数のプロセッサがアクセスし該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルを有するメモリとをそなえ、
各プロセッサが、
該メモリに設けられ該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域を共有することを特徴とする、マルチプロセッサシステム。
【0151】
(付記9) 通信に関する呼情報を処理する複数のプロセッサと該複数のプロセッサがアクセスし該呼情報を保持しうる共有メモリとを有するマルチプロセッサシステムにおいて、
該共有メモリが、
該該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0152】
(付記10) 通信呼を処理する複数のプロセッサと、
該複数のプロセッサがアクセスしうる共有メモリとをそなえ、
該共有メモリが、
該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。
【0153】
(付記11) 通信装置と、該通信装置と通信する対向通信装置との間における通信状態を監視する監視システムにおいて、
該通信状態を保持する状態監視テーブルと、
該状態監視テーブルに保持された通信状態を記録する通信状態記録領域と、
該通信状態記録領域に保持された通信状態に基づいて該状態監視テーブルのうちの局所的な障害発生部分をリカバリする復旧部と、
該状態監視テーブルの通信状態のうちの局所的な障害発生部分を初期化する初期化部とのうちの少なくとも一方を実施する選択部とを設けたことを特徴とする、監視システム。
【0154】
(付記12) 通信呼を処理する複数のプロセッサと、
外部装置からの通信呼を該複数のプロセッサの負荷に応じて分散する分散制御部と、
該複数のプロセッサがアクセスしうる共有メモリとをそなえ、
該共有メモリが、
該通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、負荷分散装置。
【0155】
(付記13) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおけるキュー取り出し方法であって、
該複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルを参照する参照ステップと、
該各プロセッサが、該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を、更新履歴記録領域に記録する記録ステップと、
該各プロセッサが、該更新履歴を該キュー管理情報テーブルに書き込む書き込みステップとをそなえたことを特徴とする、マルチプロセッサシステムにおけるキュー取り出し方法。
【0156】
(付記14) 該参照ステップは、該各プロセッサが、該複数の情報要素として、キュー管理数と先頭キューアドレスとのうちの少なくとも一方を参照し、
該記録ステップは、該各プロセッサが、該更新情報要素として、該キュー管理数の第1更新値と該先頭キューアドレスの第2更新値とのうちの少なくとも一方を記録し、
該書き込みステップは、該各プロセッサが、該第1更新値と該第2更新値とのうちの少なくとも一方を該キュー管理情報テーブルに書き込むことを特徴とする、付記13記載のキュー取り出し方法。
【0157】
(付記15) 通信呼を処理する複数のプロセッサと該複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおけるテーブルリカバリ処理方法であって、
該複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルの該キュー管理情報と、該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域の該更新履歴情報とに基づいてリカバリ処理の要否を判定する判定ステップと、
該判定ステップにてリカバリ必要と判定された場合に、該更新履歴情報に基づいて該キュー管理情報をリカバリするリカバリステップとをそなえたことを特徴とする、マルチプロセッサシステムにおけるテーブルリカバリ処理方法。
【0158】
(付記16) 該判定ステップは、該各プロセッサが、該キュー管理情報の複数の情報要素としての第1キュー管理数又は第1先頭キューアドレスと、該複数の更新情報要素としての第2キュー管理数又は第2先頭キューアドレスとの一致/不一致に基づいて該要否を判定し、
該リカバリステップは、該各プロセッサが、該要否に基づいて、該第2キュー管理数又は該第2先頭キューアドレスを、該第1キュー管理数又は該第1先頭キューアドレスに書き換えることを特徴とする、付記15記載のテーブルリカバリ処理方法。
【0159】
【発明の効果】
以上、詳述したように、本発明のマルチプロセッサシステム(請求項1,2),監視システム(請求項3),マルチプロセッサシステムにおけるキュー取り出し方法(請求項4)およびマルチプロセッサシステムにおけるテーブルリカバリ処理方法(請求項5)によれば、以下のような効果ないし利点が得られる。
【0160】
(1)本発明のマルチプロセッサシステムによれば、通信呼を処理する複数のプロセッサと複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、共有メモリが、通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けているので、処理が簡素化されて高速で動作し、かつ信頼性の高いマルチプロセッサシステムが実現する。
【0161】
(2)本発明のマルチプロセッサシステムによれば、共有メモリが、各プロセッサによって獲得された通信呼に関する呼情報を保持するリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けているので、キュー管理情報テーブルが障害により正当性が成立しない場合に自動的にかつ高速、完全に復旧できる(請求項1)。
【0162】
(3)本発明のマルチプロセッサシステムによれば、共有メモリが、各プロセッサによって獲得された通信呼に関する呼情報を保持するリソース管理キューについての少なくともキュー管理数と先頭キューアドレスとを含むキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルに保持されたキュー管理数と先頭キューアドレスとに書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けているので、メモ記録、リカバリ時の処理性能について、キュー管理情報テーブルにエンキューされているキューを先頭キューと最終キューとの両方から検索してキュー数により検索時間に時間を要しかつ検索時間が可変な従来方法に対して、メモ記録にキュー管理情報テーブルのキュー管理数、又は先頭キューアドレス情報を保持するので、キューの接続が正常か異常かの検索時間を不要とし、また、メモ記録は最小限の領域を用いてリカバリ処理の有無を判定できるので、共有メモリの有効利用が図れる。
【0163】
(4)各プロセッサが、キュー管理情報へのアクセス時に障害が発生したときに、キュー管理情報テーブルに保持されたキュー管理情報と、更新履歴記録領域に記録された更新履歴情報とに基づいて、リカバリ処理の要否を判定する判定部と、判定部がリカバリ必要と判定した場合に、更新履歴情報に基づいてキュー管理情報をリカバリする復旧部とをそなえて構成されてもよく、このようにすれば、システム信頼度について受信信号数が増大しかつ検索時間が最大限に要している場合において、他のプロセッサによる二重障害又は排他獲得失敗を誘発していたのに対して、リカバリ処理が単一時間で実施でき、かつ高速実施が可能なので二重障害の誘発が回避される(請求項2)。
【0164】
(5)本発明のマルチプロセッサシステムによれば、複数のプロセッサと共有メモリとキュー管理情報テーブルとを有するマルチプロセッサシステムにおいて、共有メモリが、更新履歴記録領域とを設けているので、システムの処理エラーを回避できる。
(6)本発明のマルチプロセッサシステムによれば、複数のプロセッサと共有メモリとキュー管理情報テーブルとを有するマルチプロセッサシステムにおいて、各プロセッサが、キュー管理情報テーブルと更新履歴記録領域とを共有するので、リカバリ時の呼損による処理性能をなくしプロセッサによる共有メモリのアクセス中の障害発生時において他のプロセッサがアクセスできる。
【0165】
(7)本発明のマルチプロセッサシステムによれば、情報データを処理する複数のプロセッサと複数のプロセッサがアクセスしうる共有メモリとを有するマルチプロセッサシステムにおいて、共有メモリが、情報データに関する各種情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けているので、通信呼以外の情報データについても、処理の簡素化,豊富なプログラム容量を用いた信頼性および比較的大きな作業メモリ容量の割り当てによる柔軟性を得ることができる。
【0166】
(8)本発明のマルチプロセッサシステムによれば、複数のプロセッサと、キュー管理情報テーブルを有するメモリとをそなえ、各プロセッサが、更新履歴記録領域を共有するので、簡素化についてキュー管理情報テーブルについてメモ記録に情報を書き込むだけでリカバリ処理が可能となる。
(9)本発明のマルチプロセッサシステムによれば、通信に関する呼情報を処理する複数のプロセッサと複数のプロセッサがアクセスし呼情報を保持しうる共有メモリとを有し、共有メモリがキュー管理情報テーブルと更新履歴記録領域とを設けているので、やはり、リカバリ処理が簡素化できる。
【0167】
(10)本発明のマルチプロセッサシステムによれば、複数のプロセッサと共有メモリとをそなえ、共有メモリがキュー管理情報テーブルと更新履歴記録領域とを設けているので、リカバリ処理は単一時間でかつ高速に可能となる。
(11)本発明のマルチプロセッサシステムによれば、通信装置と、通信装置と通信する対向通信装置との間における通信状態を監視する監視システムにおいて、通信状態を保持する状態監視テーブルと、状態監視テーブルに保持された通信状態を記録する通信状態記録領域と、通信状態記録領域に保持された通信状態に基づいて状態監視テーブルのうちの局所的な障害発生部分をリカバリする復旧部と、状態監視テーブルの通信状態のうちの局所的な障害発生部分を初期化する初期化部とのうちの少なくとも一方を実施する選択部とを設けているので、局所的なリカバリ処理方法が可能となりメモリ量の削減、高速、かつシステムダウンを引起さないフェールセーフな作用がある(請求項3)。
【0168】
(12)本発明の負荷分散装置によれば、通信呼を処理する複数のプロセッサと、外部装置からの通信呼を複数のプロセッサの負荷に応じて分散する分散制御部と、複数のプロセッサがアクセスしうる共有メモリとをそなえ、共有メモリが、通信呼に関する呼情報を保持するリソース管理キューについてのキュー管理情報を保持するキュー管理情報テーブルと、キュー管理情報テーブルのキュー管理情報の更新履歴を記録する更新履歴記録領域とを設けているので、二重障害の誘発が回避される。
【0169】
(13)本発明のマルチプロセッサシステムにおけるキュー取り出し方法によれば、複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルを参照する参照ステップと、各プロセッサが、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を、更新履歴記録領域に記録する記録ステップと、各プロセッサが、更新履歴をキュー管理情報テーブルに書き込む書き込みステップとをそなえているので、キュー管理情報テーブルへのメモ記録だけでリカバリ処理が可能となり、また、リカバリに要する必要最小のデータでリカバリが可能となり、システムの簡素化が図れる(請求項4)。
【0170】
(14)前記参照ステップは、各プロセッサが、複数の情報要素として、キュー管理数と先頭キューアドレスとのうちの少なくとも一方を参照し、記録ステップは、各プロセッサが、更新情報要素として、キュー管理数の第1更新値と先頭キューアドレスの第2更新値とのうちの少なくとも一方を記録し、書き込みステップは、各プロセッサが、第1更新値と第2更新値とのうちの少なくとも一方をキュー管理情報テーブルに書き込みしてもよく、このようにすれば、保守等の負担が軽減され、システム仕様の変更に対して柔軟に対応できる。
【0171】
(15)本発明のマルチプロセッサシステムにおけるテーブルリカバリ処理方法によれば、複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさとキューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルのキュー管理情報と、キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域の更新履歴情報とに基づいてリカバリ処理の要否を判定する判定ステップと、判定ステップにてリカバリ必要と判定された場合に、更新履歴情報に基づいてキュー管理情報をリカバリするリカバリステップとをそなえているので、局所的なリカバリ処理方法が可能となりメモリ量の削減、高速、かつシステムダウンを引起さないフェールセーフな作用がある。
【0172】
(16)判定ステップは、各プロセッサが、キュー管理情報の複数の情報要素としての第1キュー管理数又は第1先頭キューアドレスと、複数の更新情報要素としての第2キュー管理数又は第2先頭キューアドレスとの一致/不一致に基づいて要否を判定し、リカバリステップは、各プロセッサが、要否に基づいて、第2キュー管理数又は第2先頭キューアドレスを、第1キュー管理数又は第1先頭キューアドレスに書き換えるので、システム全体を管理する必要がなくなり、移動通信システムの局所的な通信装置間における障害のリカバリ処理が可能となる。
【0173】
また、状態監視をテーブルを用いて管理する場合、又はテーブルアクセス時に障害が発生した場合においてもそのテーブルは破壊されず、システム処理エラーが回避される。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る移動通信システムの構成図である。
【図2】本発明の第1実施形態に係る移動通信システムの機能ブロック図である。
【図3】本発明の第1実施形態に係る基地局制御装置の概略的なブロック図である。
【図4】本発明の第1実施形態に係る負荷分散装置の要部を示す図である。
【図5】本発明の第1実施形態に係る共有メモリの領域を模式的に示す図である。
【図6】本発明の第1実施形態に係る負荷分散装置を上方から見た模式図である。
【図7】本発明の第1実施形態に係るリカバリ処理を説明するための図である。
【図8】本発明の第1実施形態に係る先頭キュー取り出し処理を説明するための図である。
【図9】本発明の第1実施形態に係る先頭キュー取り出し処理を説明するためのフローチャートである。
【図10】本発明の第1実施形態に係る先頭キュー取り出しのリカバリ処理を説明するためのフローチャートである。
【図11】本発明の第1実施形態に係る途中キューの取り出し方法を説明するための図である。
【図12】本発明の第1実施形態に係る途中キューの取り出し処理を説明するためのフローチャートである。
【図13】本発明の第1実施形態に係る途中キュー取り出しのリカバリ処理を説明するためのフローチャートである。
【図14】本発明の第1実施形態に係るエンキュー方法を説明するための図である。
【図15】本発明の第1実施形態に係るエンキュー処理を説明するためのフローチャートである。
【図16】本発明の第1実施形態に係るエンキューのリカバリ処理を説明するためのフローチャートである。
【図17】本発明の第2実施形態に係る移動通信システムの構成図である。
【図18】本発明の第2実施形態に係る共有メモリの領域を模式的に示す図である。
【図19】負荷分散型のマルチプロセッサシステムのブロック図である。
【図20】共有メモリからのリソース獲得を説明するためのシーケンスを示す図である。
【図21】(a)は障害発生前の共有メモリの割り当て例を示す図であり、(b)は障害発生後の共有メモリの割り当て例を示す図である。
【図22】共有メモリのリカバリ処理動作の一例を示す図である。
【図23】(a)〜(f)はいずれもデキュー又はエンキューを説明するための図である。
【符号の説明】
1 負荷分散装置
2a〜2e 呼処理部
3,29 共有メモリ
4 ハードディスクドライブ
5 プロセッサ間通信装置
5e バス
5f デバッガ
6a〜6c,6q リソース(キュー)
6d テーブル領域
8,32 メモ記録部(更新履歴記録領域)
9,1a 分散制御部
10a,10p 携帯電話
10b ビデオ再生装置
10c テレビ電話
11a,11b 通信相手端末(相手端末)
22a〜22e プロセッサ
23 ROM
24 RAM
25a 判定部
25b 復旧部
32a〜32c メモ記録
33 リカバリ部
34 初期化部
35 選択部
82 バックボード
83a〜83c,83p BTS(無線基地局)
84a〜84b,84p RNC(無線ネットワーク制御装置)
85a ラインインターフェース
85b ATMスイッチ
85c 出力インターフェース
85d 終端部
86a 音声受話部
86g 音声送話部
86b ベースバンド処理部
86c 変復調部
86d 送受信アンプ
86e キー情報保持部
86f,86p 移動機制御部
87a ハイウェイイン制御部
87b,87p 基地局制御部
88 クロック部
88a 給電部
89a DHT
89b M−MUX
100,100a 移動通信システム[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to, for example, a load distribution type multiprocessor system, and more particularly to a multiprocessor system, a monitoring system, The present invention relates to a queue retrieval method in a multiprocessor system and a table recovery processing method in a multiprocessor system.
[0002]
[Prior art]
2. Description of the Related Art Various communication apparatuses in a W-CDMA (Wideband-Code Division Multiple Access) type mobile communication system perform transmission / reception processing of a large amount of data.
(P1) An example of a mobile communication system
A radio network controller (RNC) provided between a plurality of radio base station apparatuses (BTS: Base Transmitting Station: hereinafter referred to as BTS unless otherwise specified) and a public network or the Internet. Unless otherwise specified, the RNC receives large-capacity moving image data and the like from a public network and transfers the moving image data and the like to one or more BTSs. Also, the RNC transmits information data transmitted from a plurality of BTSs to a public network. That is, the RNC requires a large amount of call processing (Call Processing: CP) and a large amount of arithmetic processing.
[0003]
(P2) Load distribution device
For this reason, the RNC constitutes a multiprocessor system including a plurality of processors for performing signal processing and a shared memory for holding data necessary for call processing shared by the plurality of processors. Load is distributed (distributed).
[0004]
Various multiprocessor systems for performing this load distribution processing have been conventionally proposed (for example, see Patent Document 1).
The RNC queue management method (queue management method or queue management information method) manages resources for each device (or each device). For example, one resource is assigned to one BTS.
[0005]
(P3) Resources
Here, the resource means a physical memory area or a memory area holding one piece of call information such as identification information of a communication partner unless otherwise specified. The shared memory is provided in a communication device accessed (read / written) by a plurality of processors, and uses a bidirectional queue.
[0006]
(P4) Queue
A queue generally has information data and another queue address to which the queue itself connects. Here, the two-way queue includes, for example, a queue address immediately before the queue itself (hereinafter, a previous queue address) and a queue address immediately after the queue itself, such as resources A to C shown in FIG. (Hereinafter, the next queue address). Thereby, the processor can search for a desired queue by referring to each “next queue address” of the resources A to C shown in FIG. Further, the processor can refer to the “previous queue address” stored in the “next queue address” of the resource C and search each queue in the reverse direction in order. Unlike a one-way queue having only a "queue address".
[0007]
Then, the processor inserts various types of call information into the queue, and another processor refers to the call information in the queue, whereby the call information is shared between the processors via the queue. This queue is constantly managed by the queue management information table while each processor is processing call information.
(P5) Load sharing type multiprocessor system
A shared memory in an RNC system will be described as an example of a load distribution type multiprocessor with reference to FIGS.
[0008]
FIG. 19 is a block diagram of a load distribution type multiprocessor system. The load distribution device 200 shown in FIG. 19 is provided in the RNC and performs, for example, call processing. The load distribution control unit (control unit) 201, the processors A to D, the shared
Here, the
[0009]
Further, the shared
[0010]
The
(P6) Explanation of resource acquisition by software
FIG. 20 is a diagram showing a sequence for explaining resource acquisition from the shared
[0011]
On the other hand, the
[0012]
(P7) Queue management function
The queue management function is realized by a software unit (hereinafter, referred to as software) of each of the processors A to D. When the
[0013]
As an example of queue management, when the processor A acquires a queue, the processor A writes size information of the queue (queue range and queue position) to a specific area of the shared
[0014]
Note that a memory control state monitoring device that constantly monitors the operation state / use state of the shared buffer area is disclosed in, for example,
(P8) An example of the shared
FIG. 21B is a diagram showing an example of allocation of the shared
[0015]
For example, in the shared
[0016]
Each of the processors A to D can access the information such as the queue management number written in the queue management information table 205 and can easily obtain the information such as the size of the resource occupying each call. The master processor that receives a specific signal from a processor (not shown) of another device transmits a voice packet received via the
[0017]
(P9) Explanation of operation of queue removal and queue insertion
FIGS. 23A to 23F are diagrams for explaining queue removal or queue insertion. The three-stage areas shown in these figures are provided in the queue management information table 205. In the first to third rows, the number of queue management, the first queue address, and the last queue address in the information area required for queue management are written. FIGS. 23 (a) to 23 (f) also accept this policy.
[0018]
FIG. 23A shows a main part of the queue management information table 205 immediately after initialization. In the entire area, 0 (no record) is recorded. Then, when one queue (queue of number 1) is inserted, the management number, head queue address, and last queue address of each area shown in FIG. 23B are 1, 1, and 1, respectively.
FIG. 23C shows each area when one more queue (the queue of number 2) is inserted in the state shown in FIG. 23B. That is, the total number of queues is two, and the management number, the first queue address, and the last queue address are 2 (queues with
[0019]
FIG. 23D is a diagram showing each area when one more queue (queue of number 3) is inserted in the state shown in FIG. 23C. Therefore, the management number, the first queue address, and the last queue address are 3 (queues of
Thus, every time a queue is inserted, its history is saved.
[0020]
Next, the main part of the queue management information table 205 at the time of removing a queue or deleting a queue will be described with reference to FIGS. 23 (e) and 23 (f). The queue deletion is recorded in the queue management information table 205 when the telephone call ends, for example, and the call is held.
FIG. 23E shows a state after the
[0021]
FIG. 23F shows a case where the
(P10) Example of queue operation
In order to operate the queue, the processors A to D, when releasing the queue, for example, each of the queue management number, the next queue address, the previous queue address, and the first queue address in the queue management information table 205 shown in FIG. Need to be updated.
[0022]
On the other hand, when a failure occurs in the processors A to D for operating the queue, the recovery process is not easy. For example, when a failure occurs in the processor A performing the queue operation and a difference between the actual queue management number and the queue management number written in the queue occurs, as shown in FIG. If a difference occurs between the address and the previous next queue address, the program may not be executed normally. Therefore, in order to operate the program normally, the other processors B to D that have detected the failure perform a recovery processing operation.
[0023]
FIG. 22 is a diagram showing an example of the recovery processing operation of the shared
[0024]
As described above, the queue management and the recovery processing are performed by the load sharing type multiprocessors A to D provided in the RNC and the shared
By the way, when a large number of calls are input to the RNC, resources for holding queue management information are saturated, and the function of the system may be stopped. For this reason, the RNC needs to monitor the state of the memory area of the shared
[0025]
This status monitoring system is a memory monitoring system that monitors the resource allocation status of the shared
This status monitoring system includes a management and a recovery unit. Here, in the management, the state monitoring table divides the memory resource into pages of a predetermined size, manages whether or not each page has been updated, retains the information in a management data file, and updates the data of the updated page. In the update data file. Further, the recovery unit recovers the table data in the memory based on the information of the management data file and the update data file at the time of failure recovery.
[0026]
According to this status monitoring system, a device-to-device or device-to-terminal status (that is, a local fault occurrence status) corresponding to a portion of the status monitoring table where a fault has occurred, particularly regarding resources or buffers. Can be grasped.
[0027]
[Patent Document 1]
JP 2001-167075 A
[Patent Document 2]
JP-A-9-91172
[0028]
[Problems to be solved by the invention]
However, the system using the queue management information table 205 or the state monitoring table has the following problems (Q1) to (Q4).
(Q1) Recovery error
If a failure occurs during dequeuing (removing a specific queue), enqueuing (inserting a queue), or updating the status of the resources in the shared
[0029]
Also, in the method of management using the status monitoring table, if a failure occurs at the time of accessing the table, data stored in the status monitoring table may be destroyed, and a system processing error may be caused.
(Q2) Processing performance due to call loss during recovery
When the signal amount (the call amount, etc.) is large, the time for the processors A to D to access the shared
[0030]
In the above-described method of comparing the number of queues, since the processor traverses the queues in both directions, a long time for search (recovery time) is required, and another processor accesses the shared
(Q3) System reliability
Since the recovery process after the occurrence of a failure has an effect on a call loss or the like, the design must be designed to be fast and absolutely reliable without causing abnormal operation of the program. This increases the complexity of the system.
[0031]
Further, when recovering the destruction of the queue management information table 205, the recovery process also induces a double failure (failure of exclusive resource acquisition) by another processor and lacks the reliability of the system. In particular, the reliability of mobile communication systems in recent years is high, so reliability is an important factor.
As a method for improving system stability, a redundant configuration in which an active system and a standby system are provided is well known. For example, each of the
[0032]
In addition, the system must guarantee reliable billing and operation of devices or terminals downstream of the RNC. Therefore, when a failure occurs while the processor is accessing the shared
(Q4) Simplification
An increase in the system scale causes an increase in the amount of programs. The reliability and flexibility of the system each depend on the size of the system to be developed. When the conventional technique is used, processing is complicated, and reliability (program amount) and flexibility (necessary storage capacity) are bottlenecks.
[0033]
The present invention has been conceived in view of such a problem, and avoids a processing error of a system, eliminates processing performance due to a call loss at the time of recovery, and sets another processor when a failure occurs during access to a shared memory by a processor. And a queue retrieval method in a multiprocessor system, a monitoring system, and a multiprocessor system, which has simplification of processing, reliability using a large program capacity, and flexibility by allocating a relatively large working memory capacity. An object of the present invention is to provide a table recovery processing method in a multiprocessor system.
[0034]
[Means for Solving the Problems]
For this reason, the multiprocessor system of the present invention is a multiprocessor system having a plurality of processors for processing communication calls and a shared memory accessible by the plurality of processors, wherein the shared memory relates to communication calls obtained by each processor. A queue management information table for holding queue management information including a plurality of information elements for specifying the size and the position of the resource management queue for holding call information, and a plurality of update information to be written in the queue management information of the queue management information table An update history recording area for recording an update history composed of elements is provided (claim 1).
[0035]
In addition, when a failure occurs when any of the plurality of processors accesses the queue management information, the queue management information held in the queue management information table and the update recorded in the update history recording area are updated. A determination unit that determines whether recovery processing is necessary based on the history information; and a recovery unit that recovers queue management information based on the update history information when the determination unit determines that recovery is necessary. (Claim 2).
[0036]
Further, the monitoring system of the present invention is a monitoring system for monitoring a communication state between a communication device and an opposing communication device communicating with the communication device, wherein the monitoring system includes a resource status of a shared memory accessible by a plurality of processors. A state monitoring table for holding the communication state, a communication state recording area for recording the communication state held in the state monitoring table, and a local state table in the state monitoring table based on the communication state held in the communication state recording area. A recovery unit that recovers the failure occurrence part; and a selection that implements at least one of an initialization unit that initializes a local failure occurrence part in the communication state of the state monitoring table. (Claim 3).
[0037]
The queue retrieval method in the multiprocessor system of the present invention is a queue retrieval method in a multiprocessor system having a plurality of processors that process communication calls and a shared memory that can be accessed by the plurality of processors. A reference step of referring to a queue management information table that holds queue management information including a plurality of information elements that specify the size of the acquired resource management queue and the position of the queue; A recording step of recording an update history composed of a plurality of update information elements to be written to the queue management information of the queue management information table in an update history recording area, and a writing step of each processor writing the update history to the queue management information table. It is characterized by (Claim 4).
[0038]
Further, the table recovery processing method in the multiprocessor system of the present invention is a table recovery processing method in a multiprocessor system having a plurality of processors for processing communication calls and a shared memory accessible by the plurality of processors. Queue management information of a queue management information table holding queue management information including a plurality of information elements for specifying the size and the position of the resource management queue acquired by one of the processors, and the queue management information table A determination step of determining whether recovery processing is necessary based on update history information in an update history recording area that records an update history composed of a plurality of update information elements to be written in the queue management information of the queue, and determining that recovery is necessary in the determination step Is updated, based on the update history information. It is characterized in that a recovery step of recovering the queue management information (claim 5).
[0039]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(A) Description of the first embodiment of the present invention
FIG. 1 is a configuration diagram of the mobile communication system according to the first embodiment of the present invention. The
[0040]
Hereinafter, each device of the
(1)
The
[0041]
(1-1) Core Network 101,
The core network 101 includes a circuit switch and a packet switch, which are connected to each other to exchange (switch) information data. The core network 101 includes an HLR (Home Location Register) 101a that holds location registration data of the
[0042]
Thereby, for example, the radio signal transmitted by the
[0043]
Note that the
(1-2) RNC (Base Station Controller) 84a-84b
The
[0044]
Each of the
[0045]
Each of the
[0046]
(1-3) Multiprocessor system of the present invention
This multiprocessor system is applied to a load distribution device provided in each of the
[0047]
It should be noted that the multiprocessor system of the present invention can also be applied to units of devices such as calls,
(1-4) MS10a etc.
The
[0048]
For example, as shown in FIG. 2, the
[0049]
As for the
(1-5)
The
[0050]
(1-6) BTS83a-83c
FIG. 2 is a functional block diagram of the
Each of the 48
[0051]
Further, the base
Each of the
[0052]
(2) Configuration of
The
[0053]
The terminating
(3) Load distribution device (multiprocessor system) 1
FIG. 3 is a schematic block diagram of the
[0054]
(3-1)
The functions of the
[0055]
(3-2) Call
The functions of each of the
[0056]
FIG. 4 is a diagram illustrating a main part of the
[0057]
Note that the function of the
[0058]
(3-3)
The
[0059]
(3-4) Load distribution control unit (distribution control unit) 9
The
[0060]
(3-5)
The information held in the shared
[0061]
Each processor processes a call by assigning a task according to the load in order to distribute the load.
FIG. 5 is a diagram schematically showing an area of the shared
[0062]
The resources 6a to 6c are memory areas obtained to hold call information A to C relating to a plurality of calls, respectively, and a plurality of queues A to C are generated in this memory area. The resource 6q is also a memory area acquired to hold call information D relating to a plurality of calls, and a queue D is generated. Since each of the
[0063]
For example, in the shared
[0064]
(3-6) Queue management information table 7
The queue management information table 7 holds queue management information including a plurality of information elements that specify the size and position of a queue that manages resources holding call information acquired by the processors 22a to 22e. This information element is, for example, a queue management number (total number of queues), a first queue address, a previous queue address and a rear queue address, and may also include the last queue address.
[0065]
Thus, queue management can be efficiently performed by using each information element. The queue management information table 7 holds queue management information including at least a queue management number and a head queue address for a queue that manages resources holding call information acquired by the processors 22a to 22e. This is because, according to these two types of elements, each queue can be specified.
[0066]
(3-7)
Next, the memo recording unit 8 (see FIG. 8) records an update history of the queue management information in the queue management information table 7. That is, the
[0067]
Upon receiving the control signal from the distributed
Thus, each of the processors 22a to 22e refers to the queue and performs signal processing while updating the queue. For example, when the
[0068]
(3-8)
The RNC (see FIG. 3) multiplexes a clock unit (CLK) 88 for generating a reference timing, a trunk card DHT (Diversity Handover Trunk card) 89a for performing diversity handover processing, and a MAC (Media Access Control) layer of a wireless line. It also has a Mac demultiplexing card M-MUX (Mac Multiplexer) 89b and BWC for processing separation.
[0069]
Also, the HDD 4a (see FIG. 3) holds information obtained about the firmware. The
(3-9) Example of implementation
The
[0070]
FIG. 6 is a schematic diagram of the load distribution device according to the first embodiment of the present invention as viewed from above. In the
[0071]
Each substrate is assigned an ID (Identification), and can communicate with each other via a signal transmission path. Thus, the processors can communicate with each other via the shared
As an example of this mutual communication, each of the processors 22a to 22e obtains an ID included in the data output to the bus 5e, and compares the obtained ID with an ID stored in a register (not shown) or the like in advance. , It is determined whether to use the data.
[0072]
Each board is detachable, and the number of CP boards can be increased or decreased according to the processing capacity of the
[0073]
The
[0074]
Further, resources corresponding to each of the 48
[0075]
As described above, the
(3-10) Recovery processing
When a failure occurs in the queue operation processors 22a to 22e, a difference between the actual queue management number and the queue management number written in the queue, or a difference between the next queue address and the previous next queue address occurs.
[0076]
Each of the processors 22a to 22e has a detection function of detecting occurrence of a failure, and in the present embodiment, the failure detection function of the master processor 22a operates. More specifically, the master processor 22a triggers the recovery process by an external interrupt from hardware. For example, using the software by the master processor 22a, the master processor 22a controls the status of both the queue management information table 7 and the
[0077]
Then, the master processor 22a that has detected the failure performs a recovery process so that the program is executed normally. This recovery processing function is realized by, for example, the
[0078]
(3-11) Judgment unit (judgment unit) 25a and restoration unit (restoration unit) 25b
Both the
[0079]
FIG. 7 is a schematic block diagram of the determination unit and the recovery unit according to the first embodiment of the present invention. The
Here, when any one of the processors 22a to 22e encounters a failure when accessing the queue management information, the
[0080]
The
The
The acquisition and release of the resources of the shared
[0081]
As described above, since each of the processors 22a to 22e refers to the queue management information in the shared
(4) Description of operation
The recovery processing method of the queue management information table 7 of the shared
[0082]
When receiving the control signal, the
[0083]
Here, in a case where data is held in a plurality of queues A to D, for example, when operating a queue C among the plurality of queues A to D, each processor 22a to 22e accesses the queue C. When a failure occurs in any one of the processors 22a to 22e, a recovery process for recovering the failure is performed.
[0084]
Here, each of the
A failure occurs while the queue management information table 7 in the shared
[0085]
Hereinafter, a method of extracting the head queue and a recovery processing method will be described. The queue retrieval method in the multiprocessor system of the present invention is for a multiprocessor system (for example, the load distribution device 1) having processors 22a to 22e that process communication calls and a shared
[0086]
First, queue management that holds queue management information including a plurality of information elements that specify the size of the resource management queue and the position of the queue acquired by any one of the processors 22a to 22e (for example, the processor 22a itself). Refer to the information table (reference step). That is, the queue management number, the head queue address, the previous queue address, and the rear queue address are referred to.
[0087]
Next, each of the processors 22a to 22e records an update history including a plurality of update information elements to be written in the queue management information of the queue management information table 7 in the memo recording unit (update history recording area) 8 (recording step). That is, the updated queue management number, head queue address, previous queue address, and rear queue address are recorded in the
[0088]
Then, each of the processors 22a to 22e writes the update history into the queue management information table 7 (write step).
The queue removal method will be described in more detail.
For the reference, the processors 22a to 22e refer to the queue management number, the head queue address, the queue management number among the previous queue address and the rear queue address, and the head queue address as information elements.
[0089]
Next, in the recording, each of the processors 22a to 22e records the updated queue management number (first update value) or the updated head queue address (second update value) as an update information element.
Then, upon the writing, each of the processors 22a to 22e writes the updated queue management number or the updated head queue address to the queue management information table 7.
[0090]
Hereinafter, a method of removing a queue will be specifically described.
(5) A method of taking out the head queue.
A method of deleting the head queue (resource) will be described with reference to FIGS. Here, steps J1 to J5 shown in FIG. 8 correspond to steps J1 to J5 shown in FIG.
[0091]
FIG. 8 is a diagram for explaining the head queue extracting method according to the first embodiment of the present invention. In FIG. 8, a
[0092]
FIG. 9 is a flowchart for explaining the head queue removal processing according to the first embodiment of the present invention. The head queue removal process will be described with the processor 22a as an example. The processing for the processors 22b to 22e is the same as the processing for the processor 22a.
(J1) The processor 22a extracts the queue (resource) queued at the head. When taking out the head queue, the processor 22a refers to the queue A by referring to the head queue address from the queue management information table 7.
[0093]
(J2) The processor 22a sets the next queue address of the queue (resource) queued at the head of the
(J3) The processor 22a holds the queue management number (total number) in the
[0094]
In step J2 or step J3, if a failure occurs while the processor 22a is rewriting the
(J4) The processor 22a rewrites the head queue address of the queue management information table 7 from the queue A to the queue B address.
[0095]
(J5) The processor 22a subtracts 1 from the queue management number in the queue management information table 7 by taking out the queue A and sets it to 3.
In step J4 or step J5, when a failure occurs while the processor 22a is rewriting the queue management information table 7 (step J7a), the
[0096]
This simplifies the recovery process and realizes high-speed recovery.
(6) Recovery processing method
The table recovery processing method in the multiprocessor system of the present invention is for a multiprocessor system having a plurality of processors 22a to 22e for processing communication calls and a shared
[0097]
First, for example, the processor 22a among the processors 22a to 22e specifies the size of the resource management queue acquired by itself and the position of the queue (queue management number, head queue address, previous queue address, and subsequent queue address). Queue management information of the queue management information table 7 holding queue management information composed of information elements, and update information elements (queue management number, head queue address, etc.) such as the updated queue management number to be written in the queue management information of the queue management information table 7 , A previous queue address and a rear queue address), and determines whether or not a recovery process is necessary, based on the update history information of the
[0098]
Then, when any of the processors determines that the recovery is necessary in the determination, the processor recovers the queue management information based on the update history information (recovery step).
As a result, the plurality of processors 22a to 22e cooperate, so that the system is robust against failure.
[0099]
Next, the table recovery processing method will be described in more detail.
In determining whether or not the recovery processing is necessary, any one of the plurality of processors 22 a to 22 e determines the queue management number or the head queue address of the queue management information held in the queue management information table 7, and the
[0100]
Upon recovery, one of the processors rewrites the queue management number or head queue address of the
In this way, recovery processing after a failure can be performed quickly.
Next, a recovery processing method when a failure occurs during the removal of the head queue will be described with reference to FIG.
[0101]
FIG. 10 is a flow chart for explaining the recovery processing for removing the head queue according to the first embodiment of the present invention. Each of the processors 22a to 22e can perform the recovery process described below, and the processor 22a will be described, and the detailed description of the processors 22b to 22e will be omitted. Here,
[0102]
(6-1) The determining
(6-2) If the judgment results do not match, the
[0103]
(6-3) The
(6-4) The
[0104]
(6-5) When the determination results do not match, the
(6-6) When the determination results match, the
[0105]
(6-7) If the determination result of the
(6-8) When the
[0106]
(6-9) The
Note that the head queue removal operation of the processors 22b to 22e is the same as the operation of the processor 22a.
As described above, according to the present recovery processing method, the acquisition and release of the resources of the shared
[0107]
Then, with regard to the queue management information table 7, it is possible to perform processing as if it were just to record a memo, and it is possible to perform recovery using the minimum data required for recovery processing, thereby simplifying the system.
(7) A method for extracting a queue located between a plurality of queues
With reference to FIG. 11 and FIG. 12, a method of taking out and deleting a queue C queued between the queues A to D (hereinafter, referred to as an intermediate queue C in FIGS. 11 and 12) will be described. Note that the processor 22a will be described, and redundant description of the processors 22b to 22e having the same functions as the processor 22a will be omitted. The symbols K1 to K6 shown in FIGS. 11 and 12 correspond to each other.
[0108]
FIG. 11 is a diagram for explaining a method of extracting the intermediate queue C according to the first embodiment of the present invention. The queue management information table 7 holds the address of the first queue A.
FIG. 12 is a flowchart for explaining the process of taking out the intermediate queue C according to the first embodiment of the present invention.
[0109]
(K1) The processor 22a extracts the queue C on the way.
(K2) The processor 22a acquires the address of the first queue A in the queue management information table 7, sequentially follows the queue from the first queue A to the queue D, refers to the intermediate queue C, and records the memo. The intermediate queue C is set to 1.
(K3) The processor 22a writes the address of the previous queue B of the intermediate queue C to the
[0110]
(K4) The queue D is changed by removing the halfway queue C, so the processor 22a sets the next queue address (D) of the halfway queue C in the
In each of steps K2, K3, and K4, if a failure occurs while the processor 22a is rewriting the queue management information table 7 (step K7a), the
[0111]
(K5) The processor 22a rewrites the address of the next queue D of the queue B from C to D in the
(K6) The processor 22a rewrites the previous queue address of the queue D from C to B.
In step K5 or step K6, if a failure occurs while the processor 22a is rewriting the queue management information table 7 (step K8a), the
[0112]
The operation of the processors 22b to 22e to take out the intermediate queue C is the same as the operation of the processor 22a.
(8) Recovery processing method
With reference to FIG. 13, a description will be given of a recovery processing method when a failure occurs during the removal of the intermediate queue C.
[0113]
FIG. 13 is a flowchart for explaining a recovery process for removing a halfway queue according to the first embodiment of the present invention. The operation of the
(8-1) The
[0114]
(8-2) When the judgment results do not match
Since the queue has already been dequeued, the previous queue address of the
[0115]
(8-3) When the judgment results match
The
(8-4) When the judgment results do not match
The process ends through the NO route without performing recovery.
[0116]
(8-5) When the judgment results match
In the determination in (8-3), the
(8-6) When the judgment results do not match
This is the case where the
[0117]
(8-7) When the judgment results match
The removal process is not executed, and the dequeue process is not performed through the YES route, so that the recovery process is unnecessary.
(9) Comparison between the conventional table recovery processing method and the present table recovery processing method.
[0118]
With respect to the queue management information table 7 at the time of occurrence of a failure, the conventional table recovery processing method is such that each of the processors 22a to 22e performs bidirectional communication between an intermediate queue connected to the first queue and an intermediate queue connected to the last queue. , A plurality of connected queues are traced, the number of bidirectional queues is counted, and the queue management information table 7 is recovered based on the success or failure of the count value. Therefore, the processors 22a to 22e required much time to recognize the occurrence of the failure.
[0119]
On the other hand, according to the present table recovery processing method, each of the processors 22a to 22e manages the queue of acquiring and releasing the resources of the shared
[0120]
(10) Queue insertion method
A method of inserting the queue D will be described with reference to FIGS.
FIG. 14 is a diagram for explaining a method of inserting a queue according to the first embodiment of the present invention, and shows a method of inserting and connecting a queue D to three queues A to C. The queue management information table 7 holds the head queue address and the total number of queues connected to the queue.
[0121]
The enqueue method will be described, for example, in the case where the processor 22a uses it. However, the head queue fetching operation of the processors 22b to 22e is the same as the operation of the processor 22a.
FIG. 15 is a flowchart illustrating the enqueue process according to the first embodiment of the present invention.
[0122]
(10-1) Creation of queue D
The processor 22a holds the last (END) as the next queue address of the queue D because it becomes the last queue (step L1).
(10-2) The processor 22a holds the address of the queue C in the memo record 2 (step L2).
[0123]
(10-3) The processor 22a sets the address of the queue D to be enqueued in the memo recording unit 3 (Step L3).
(10-4) The processor 22a holds the queue management number (total number) in the
[0124]
(10-5) The processor 22a rewrites the next queue address of the queue C
The queue C to be changed is searched by tracing the queue from the head queue address in the queue management information table 7, and the next queue address is rewritten from the end (END) to D (step L5).
(10-6) Rewrite the queue management number in the queue management information table 7 The processor 22a sets the queue management number in the queue management information table 7 to 4 by connecting the queue D (step L6).
[0125]
In steps L2 to L4, if a failure occurs while the processor 22a is rewriting the
Further, in step L5 or step L6, when a failure occurs while the processor 22a is rewriting the queue management information table 7 (step L7a), the
[0126]
(11) Enqueue recovery processing method
FIG. 16 is a flowchart for explaining an enqueue recovery process according to the first embodiment of the present invention. A recovery processing method when a failure occurs during enqueue will be described.
[0127]
(11-1) The
(11-2) When the determination results do not match
The
[0128]
(11-3) When the judgment results match
In this case, the
(11-4) The determining
[0129]
(11-5) When the judgment results do not match
In this case, the
[0130]
(11-6) When the judgment results match
In this case, since the rewriting of the queue management information table 7 and the queue C has been completed normally, the
Thus, the enqueue recovery process is performed.
[0131]
In addition, it is possible to realize a highly reliable system that operates at high speed because of the simplified processing method.
(B) Description of the second embodiment of the present invention
In the shared
[0132]
Here, if a failure occurs when the
For this reason, the mobile communication system according to the second embodiment uses the status monitoring table to determine the resource status or communication status of each communication device (opposite communication device) such as the
[0133]
FIG. 17 is a configuration diagram of a mobile communication system according to the second embodiment of the present invention. The
Here, the
[0134]
The status monitoring table holds the above communication status including the resource status of the shared
FIG. 18 is a diagram schematically showing an area of the shared
[0135]
Thereby, the processors 22a to 22e provided in each communication device, the
[0136]
Further, when each of the
Here, the management unit divides the resources of the shared
[0137]
Further, the recovery unit recovers data held in the shared
With this management unit, it is possible to ascertain the status of a device (device-device or device-terminal) corresponding to the fault occurrence portion of the status monitoring table for the resource (i.e., local fault occurrence status).
[0138]
The state monitoring table 30 is connected to each of the
Here, the
[0139]
Therefore, the state monitoring table 30 does not hold all the information in the management data file in the recovery process after the occurrence of the failure, but initializes the table contents and invalidates the information. It is possible to perform two local recovery processes including a recovery process method in which only information is recorded and the state is reset. As a result, the status of a device such as the
[0140]
This also eliminates the need for the operator of the
With such a configuration, when a failure occurs, the communication state is invalidated by recovering the state monitoring table 30 (first recovery) based on the memo record and initializing the recovered state monitoring table 30. Recovery (second recovery) is selectively performed.
[0141]
As a result, it is not necessary to manage the entire
As described above, when various communication devices are managed using the state monitoring table 30, even if a failure occurs at the time of accessing the table by the processors 22a to 22e, the table is not destroyed. In addition, both abnormal operation of the program and occurrence of a processing error of the system due to the occurrence of the fault are avoided.
[0142]
The state monitoring system according to the second embodiment can be applied to a system using a multiprocessor system, electronic equipment, and the like, and can be applied to various units such as a terminal, a call, a base station, and a computer.
An example in which this monitoring system is applied to a mobile communication system 100 (see FIG. 2) will be described. The monitoring system can be used not only for mobile communication but also for other uses.
[0143]
(C) Other
The present invention is not limited to the above-described embodiment and its modifications, and can be implemented with various modifications without departing from the spirit of the present invention.
(D) Additional notes
(Supplementary Note 1) In a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
The shared memory is
A queue management information table holding queue management information about a resource management queue holding call information related to the communication call;
An update history recording area for recording an update history of the queue management information of the queue management information table.
[0144]
(Supplementary note 2) In a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
The shared memory is
A queue management information table holding queue management information including a plurality of information elements for specifying the size of the resource management queue holding the call information related to the communication call acquired by each processor and the position of the queue;
An update history recording area for recording an update history composed of a plurality of update information elements to be written in the queue management information of the queue management information table.
[0145]
(Supplementary note 3) In a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
The shared memory is
A queue management information table holding queue management information including at least a queue management number and a head queue address for a resource management queue holding call information related to the communication call acquired by each processor;
A multi-processor system provided with an update history recording area for recording an update history including a plurality of update information elements to be written to the queue management number held in the queue management information table and the head queue address. .
[0146]
(Supplementary Note 4) When a failure occurs when any of the plurality of processors accesses the queue management information, the queue management information stored in the queue management information table and the update history record are stored. A determination unit that determines whether recovery processing is necessary based on the update history information recorded in the area,
Any one of
[0147]
(Supplementary Note 5) A plurality of processors that process communication calls, a shared memory that can be accessed by the plurality of processors, and a queue management information table that holds queue management information about a resource management queue that holds call information about the communication calls. In a multiprocessor system having
The shared memory is
An update history recording area for recording an update history of the queue management information of the queue management information table.
[0148]
(Supplementary note 6) In a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
Each processor
A queue management information table holding queue management information about a resource management queue holding call information related to the communication call;
A multiprocessor system characterized by sharing an update history recording area for recording an update history of queue management information in the queue management information table.
[0149]
(Supplementary Note 7) In a multiprocessor system having a plurality of processors for processing information data and a shared memory accessible by the plurality of processors,
The shared memory is
A queue management information table that holds queue management information about a resource management queue that holds various information related to the information data,
An update history recording area for recording an update history of the queue management information of the queue management information table.
[0150]
(Supplementary Note 8) A plurality of processors for processing the communication call;
A memory having a queue management information table holding queue management information on a resource management queue accessed by the plurality of processors and holding call information on the communication call;
Each processor
A multiprocessor system, characterized by sharing an update history recording area provided in the memory for recording an update history of queue management information in the queue management information table.
[0151]
(Supplementary Note 9) In a multiprocessor system having a plurality of processors that process call information related to communication and a shared memory that can be accessed by the plurality of processors and hold the call information,
The shared memory is
A queue management information table holding queue management information about a resource management queue holding call information related to the communication call;
An update history recording area for recording an update history of the queue management information of the queue management information table.
[0152]
(Supplementary Note 10) A plurality of processors for processing the communication call;
A shared memory accessible by the plurality of processors;
The shared memory is
A queue management information table holding queue management information about a resource management queue holding call information on the communication call;
An update history recording area for recording an update history of the queue management information of the queue management information table.
[0153]
(Supplementary Note 11) In a monitoring system that monitors a communication state between a communication device and an opposite communication device that communicates with the communication device,
A state monitoring table for holding the communication state;
A communication state recording area for recording the communication state held in the state monitoring table;
A recovery unit that recovers a local failure occurrence portion of the status monitoring table based on the communication status held in the communication status recording area;
A monitoring system, comprising: a selection unit that performs at least one of an initialization unit that initializes a local failure occurrence part in a communication state of the state monitoring table.
[0154]
(Supplementary Note 12) A plurality of processors for processing the communication call;
A distributed control unit that distributes a communication call from an external device according to a load of the plurality of processors;
A shared memory accessible by the plurality of processors;
The shared memory is
A queue management information table holding queue management information about a resource management queue holding call information related to the communication call;
An update history recording area for recording an update history of the queue management information in the queue management information table.
[0155]
(Supplementary Note 13) A queue retrieval method in a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
A reference step of referring to a queue management information table holding queue management information including a plurality of information elements for specifying the size of the resource management queue and the position of the resource management queue acquired by any one of the plurality of processors; ,
A recording step in which each processor records an update history including a plurality of update information elements to be written in the queue management information of the queue management information table in an update history recording area;
A writing step of writing the update history into the queue management information table by each processor; a queue retrieval method in a multiprocessor system.
[0156]
(Supplementary Note 14) In the referring step, each processor refers to at least one of a queue management number and a head queue address as the plurality of information elements,
In the recording step, each processor records, as the update information element, at least one of a first update value of the queue management number and a second update value of the head queue address,
14. The queue retrieval method according to claim 13, wherein in the writing step, each processor writes at least one of the first update value and the second update value in the queue management information table.
[0157]
(Supplementary Note 15) A table recovery processing method in a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
The queue management information of the queue management information table holding queue management information including a plurality of information elements for specifying the size of the resource management queue acquired by any one of the plurality of processors and the position of the queue. A determination step of determining whether recovery processing is necessary based on the update history information in an update history recording area that records an update history composed of a plurality of update information elements to be written in the queue management information of the queue management information table;
A recovery step of recovering the queue management information based on the update history information when it is determined that the recovery is necessary in the determination step; a table recovery processing method in a multiprocessor system.
[0158]
(Supplementary Note 16) In the determining step, each processor may determine whether the first queue management number or the first head queue address as a plurality of information elements of the queue management information and the second queue management as the plurality of update information elements. The necessity is determined based on the number or the match / mismatch with the second head queue address;
The recovery step is characterized in that each of the processors rewrites the second queue management number or the second head queue address to the first queue management number or the first head queue address based on the necessity. The table recovery processing method according to supplementary note 15.
[0159]
【The invention's effect】
As described in detail above, the multiprocessor system (claims 1 and 2), the monitoring system (claim 3), the queue retrieval method in the multiprocessor system (claim 4), and the table recovery process in the multiprocessor system according to the present invention. According to the method (claim 5), the following effects or advantages can be obtained.
[0160]
(1) According to the multiprocessor system of the present invention, in a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors, the shared memory holds call information on the communication call. A queue management information table that holds queue management information about resource management queues to be managed and an update history recording area that records an update history of queue management information in the queue management information table are provided, so that processing is simplified and high speed is achieved. , And a highly reliable multiprocessor system is realized.
[0161]
(2) According to the multiprocessor system of the present invention, the shared memory is composed of a plurality of information elements for specifying the size and the position of the resource management queue for holding the call information related to the communication call obtained by each processor. Since a queue management information table that holds queue management information and an update history recording area that records an update history composed of a plurality of update information elements to be written in the queue management information of the queue management information table are provided, the queue management information table is When the legitimacy is not established due to a failure, it can be recovered automatically, quickly and completely (claim 1).
[0162]
(3) According to the multiprocessor system of the present invention, the queue management information including at least the queue management number and the head queue address of the resource management queue that holds the call information related to the communication call acquired by each processor. And a queue management information table for holding the queue management information table and an update history recording area for recording an update history composed of a plurality of update information elements to be written to the queue management number and the first queue address held in the queue management information table. Regarding the processing performance at the time of memo recording and recovery, the queues enqueued in the queue management information table are searched from both the first queue and the last queue, and the search time is longer depending on the number of queues and the search time is variable. For the method, the number of queue management in the queue management information table in the memo record, or Since the head queue address information is retained, there is no need to search for whether the connection to the queue is normal or abnormal, and the memo recording can use a minimum area to determine the presence or absence of recovery processing, making effective use of shared memory. Can be achieved.
[0163]
(4) When a failure occurs during access to the queue management information by each processor, based on the queue management information held in the queue management information table and the update history information recorded in the update history recording area, It may be configured to include a determination unit that determines whether recovery processing is necessary, and a recovery unit that recovers queue management information based on update history information when the determination unit determines that recovery is necessary. In the case where the number of received signals is increased and the search time is required to the maximum with respect to the system reliability, a double failure or an exclusive acquisition failure by another processor is induced. Can be performed in a single time and can be performed at high speed, so that induction of a double failure is avoided (claim 2).
[0164]
(5) According to the multiprocessor system of the present invention, in a multiprocessor system having a plurality of processors, a shared memory, and a queue management information table, the shared memory is provided with the update history recording area. Avoid errors.
(6) According to the multiprocessor system of the present invention, in a multiprocessor system having a plurality of processors, a shared memory, and a queue management information table, each processor shares the queue management information table and the update history recording area. In addition, the processing performance due to a call loss at the time of recovery can be eliminated, and another processor can access when a failure occurs while accessing the shared memory by the processor.
[0165]
(7) According to the multiprocessor system of the present invention, in a multiprocessor system including a plurality of processors that process information data and a shared memory that can be accessed by the plurality of processors, the shared memory holds various information related to the information data. A queue management information table for holding queue management information about a resource management queue to be executed and an update history recording area for recording an update history of the queue management information in the queue management information table are provided. However, simplification of processing, reliability using a large amount of program capacity, and flexibility due to allocation of a relatively large working memory capacity can be obtained.
[0166]
(8) According to the multiprocessor system of the present invention, a plurality of processors and a memory having a queue management information table are provided, and each processor shares an update history recording area. Recovery processing can be performed only by writing information to the memo record.
(9) According to the multiprocessor system of the present invention, the multiprocessor system has a plurality of processors for processing call information related to communication and a shared memory which can be accessed by the plurality of processors and hold the call information, and the shared memory is a queue management information table. And the update history recording area, the recovery process can be simplified.
[0167]
(10) According to the multiprocessor system of the present invention, a plurality of processors and a shared memory are provided, and the shared memory is provided with the queue management information table and the update history recording area. It becomes possible at high speed.
(11) According to the multiprocessor system of the present invention, in a monitoring system that monitors a communication state between a communication device and an opposing communication device that communicates with the communication device, a status monitoring table that holds the communication status, A communication state recording area for recording the communication state held in the table, a recovery unit for recovering a local failure portion of the state monitoring table based on the communication state held in the communication state recording area, and a state monitor Since there is provided an initializing unit for initializing a local failure occurrence portion of the communication state of the table and a selecting unit for implementing at least one of the initializing unit, a local recovery processing method becomes possible and the amount of memory is reduced. There is a fail-safe action that reduces the speed, increases the speed, and does not cause the system to go down.
[0168]
(12) According to the load distribution device of the present invention, a plurality of processors that process communication calls, a distribution control unit that distributes communication calls from external devices according to the loads of the plurality of processors, The shared memory has a queue management information table that holds queue management information about a resource management queue that holds call information related to a communication call, and an update history of the queue management information in the queue management information table. Since the update history recording area is provided, the induction of a double failure is avoided.
[0169]
(13) According to the queue retrieval method in the multiprocessor system of the present invention, a queue including a plurality of information elements for specifying the size and the position of the resource management queue acquired by any of the plurality of processors. A reference step of referring to a queue management information table holding management information; and a recording step of recording, in an update history recording area, an update history including a plurality of update information elements written in the queue management information of the queue management information table by each processor. And each processor has a writing step of writing the update history to the queue management information table, so that the recovery process can be performed only by recording a memo in the queue management information table. Recovery is possible, simplifying the system (Claim 4).
[0170]
(14) In the referring step, each processor refers to at least one of a queue management number and a head queue address as a plurality of information elements, and in the recording step, each processor includes a queue management information as an update information element. Recording at least one of the first update value of the first number and the second update value of the first queue address, and the writing step includes the steps of: causing each processor to queue at least one of the first update value and the second update value; The information may be written in the management information table. In this way, the burden of maintenance and the like is reduced, and it is possible to flexibly respond to changes in system specifications.
[0171]
(15) According to the table recovery processing method in the multiprocessor system of the present invention, the table recovery processing method includes a plurality of information elements for specifying the size and the position of the resource management queue acquired by any of the plurality of processors. On the basis of the queue management information of the queue management information table holding the queue management information and the update history information of the update history recording area for recording the update history composed of a plurality of update information elements written in the queue management information of the queue management information table Since it has a judgment step of judging the necessity of the recovery process and a recovery step of recovering the queue management information based on the update history information when the judgment step judges that the recovery is necessary, the local recovery Processing method becomes possible, reducing memory amount, high speed, and system down There is a fail-safe action is not caused.
[0172]
(16) In the determining step, each processor determines whether the first queue management number or the first head queue address as a plurality of information elements of the queue management information and the second queue management number or the second head queue as a plurality of update information elements. The necessity is determined based on the match / mismatch with the queue address. In the recovery step, each processor determines the second queue management number or the second head queue address based on the necessity or not by the first queue management number or the first queue management number. Since the first queue address is rewritten, there is no need to manage the entire system, and a failure recovery process between local communication devices of the mobile communication system can be performed.
[0173]
Also, when the status monitoring is managed using a table, or when a failure occurs at the time of accessing the table, the table is not destroyed, and a system processing error is avoided.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a mobile communication system according to a first embodiment of the present invention.
FIG. 2 is a functional block diagram of the mobile communication system according to the first embodiment of the present invention.
FIG. 3 is a schematic block diagram of a base station control device according to the first embodiment of the present invention.
FIG. 4 is a diagram showing a main part of the load distribution device according to the first embodiment of the present invention.
FIG. 5 is a diagram schematically showing an area of a shared memory according to the first embodiment of the present invention.
FIG. 6 is a schematic view of the load distribution device according to the first embodiment of the present invention as viewed from above.
FIG. 7 is a diagram for explaining a recovery process according to the first embodiment of the present invention.
FIG. 8 is a diagram for explaining a head queue retrieval process according to the first embodiment of the present invention.
FIG. 9 is a flowchart for explaining a head queue removal process according to the first embodiment of the present invention.
FIG. 10 is a flowchart illustrating a recovery process for removing a head queue according to the first embodiment of the present invention.
FIG. 11 is a diagram for explaining a method of taking out an intermediate queue according to the first embodiment of the present invention.
FIG. 12 is a flowchart illustrating a process of taking out a halfway queue according to the first embodiment of the present invention.
FIG. 13 is a flowchart illustrating a recovery process for removing a halfway queue according to the first embodiment of the present invention.
FIG. 14 is a diagram for explaining an enqueue method according to the first embodiment of the present invention.
FIG. 15 is a flowchart illustrating an enqueue process according to the first embodiment of the present invention.
FIG. 16 is a flowchart illustrating an enqueue recovery process according to the first embodiment of the present invention.
FIG. 17 is a configuration diagram of a mobile communication system according to a second embodiment of the present invention.
FIG. 18 is a diagram schematically illustrating an area of a shared memory according to a second embodiment of the present invention.
FIG. 19 is a block diagram of a load distribution type multiprocessor system.
FIG. 20 is a diagram showing a sequence for explaining resource acquisition from a shared memory.
21A is a diagram illustrating an example of shared memory allocation before a failure occurs, and FIG. 21B is a diagram illustrating an example of shared memory allocation after a failure occurs.
FIG. 22 is a diagram illustrating an example of a recovery processing operation of the shared memory.
FIGS. 23A to 23F are diagrams for explaining dequeue or enqueue; FIG.
[Explanation of symbols]
1 load balancer
2a to 2e Call processing unit
3,29 shared memory
4 Hard disk drive
5 Communication device between processors
5e bus
5f debugger
6a-6c, 6q resource (queue)
6d table area
8,32 memo recording area (update history recording area)
9.1a Distributed control unit
10a, 10p mobile phone
10b video playback device
10c videophone
11a, 11b Communication partner terminal (partner terminal)
22a to 22e processors
23 ROM
24 RAM
25a judgment unit
25b Recovery unit
32a-32c memo record
33 Recovery unit
34 Initialization unit
35 Selector
82 Backboard
83a-83c, 83p BTS (wireless base station)
84a-84b, 84p RNC (Radio Network Controller)
85a line interface
85b ATM switch
85c output interface
85d terminal
86a Voice receiver
86g voice transmitter
86b Baseband processing unit
86c modem
86d transmission / reception amplifier
86e key information storage
86f, 86p mobile unit controller
87a Highway in control unit
87b, 87p base station controller
88 Clock section
88a power supply
89a DHT
89b M-MUX
100,100a Mobile communication system
Claims (5)
該共有メモリが、
各プロセッサによって獲得された該通信呼に関する呼情報を保持するリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルと、
該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域とを設けたことを特徴とする、マルチプロセッサシステム。In a multiprocessor system having a plurality of processors for processing communication calls and a shared memory accessible by the plurality of processors,
The shared memory is
A queue management information table holding queue management information including a plurality of information elements for specifying the size of the resource management queue holding the call information related to the communication call acquired by each processor and the position of the queue;
An update history recording area for recording an update history composed of a plurality of update information elements to be written in the queue management information of the queue management information table.
該判定部がリカバリ必要と判定した場合に、該更新履歴情報に基づいて該キュー管理情報をリカバリする復旧部とをそなえて構成されたことを特徴とする、請求項1記載のマルチプロセッサシステム。When any one of the plurality of processors fails when accessing the queue management information, the queue management information stored in the queue management information table and the queue management information stored in the update history recording area are recorded. A determination unit that determines whether recovery processing is necessary based on the updated history information,
2. The multiprocessor system according to claim 1, further comprising a recovery unit that recovers the queue management information based on the update history information when the determination unit determines that recovery is necessary.
複数のプロセッサがアクセスしうる共有メモリのリソース状態を含む上記の通信状態を保持する状態監視テーブルと、
該状態監視テーブルに保持された通信状態を記録する通信状態記録領域と、
該通信状態記録領域に保持された通信状態に基づいて該状態監視テーブルのうちの局所的な障害発生部分をリカバリする復旧部と、該状態監視テーブルの通信状態のうちの局所的な障害発生部分を初期化する初期化とのうちの少なくとも一方を実施する選択とを設けたことを特徴とする、監視システム。In a monitoring system that monitors a communication state between a communication device and an opposite communication device that communicates with the communication device,
A state monitoring table holding the communication state including the resource state of the shared memory accessible by a plurality of processors,
A communication state recording area for recording the communication state held in the state monitoring table;
A recovery unit for recovering a local failure portion of the status monitoring table based on the communication status held in the communication status recording area; and a local failure occurrence portion of the communication status of the status monitoring table. A selection to perform at least one of initialization and initialization of the monitoring system.
該複数のプロセッサのうちのいずれかのプロセッサが、獲得したリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルを参照する参照ステップと、
該いずれかのプロセッサが、該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を、更新履歴記録領域に記録する記録ステップと、
該いずれかのプロセッサが、該更新履歴を該キュー管理情報テーブルに書き込む書き込みステップとをそなえたことを特徴とする、マルチプロセッサシステムにおけるキュー取り出し方法。A queue retrieval method in a multiprocessor system including a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
A reference step in which one of the plurality of processors references a queue management information table holding queue management information including a plurality of information elements for specifying the size of the acquired resource management queue and the position of the queue; When,
A recording step in which any of the processors records an update history including a plurality of update information elements to be written in the queue management information of the queue management information table in an update history recording area;
A writing step of writing the update history to the queue management information table by any one of the processors.
該複数のプロセッサのうちのいずれかのプロセッサが獲得したリソース管理キューの大きさと該キューの位置とを特定する複数の情報要素からなるキュー管理情報を保持するキュー管理情報テーブルの該キュー管理情報と、該キュー管理情報テーブルのキュー管理情報に書き込む複数の更新情報要素からなる更新履歴を記録する更新履歴記録領域の該更新履歴情報とに基づいてリカバリ処理の要否を判定する判定ステップと、
該判定ステップにてリカバリ必要と判定された場合に、該更新履歴情報に基づいて該キュー管理情報をリカバリするリカバリステップとをそなえたことを特徴とする、マルチプロセッサシステムにおけるテーブルリカバリ処理方法。A table recovery processing method in a multiprocessor system having a plurality of processors for processing a communication call and a shared memory accessible by the plurality of processors,
The queue management information of the queue management information table holding queue management information including a plurality of information elements for specifying the size of the resource management queue acquired by any one of the plurality of processors and the position of the queue. A determination step of determining whether recovery processing is necessary based on the update history information in an update history recording area that records an update history composed of a plurality of update information elements to be written in the queue management information of the queue management information table;
A recovery step of recovering the queue management information based on the update history information when it is determined that the recovery is necessary in the determination step; a table recovery processing method in a multiprocessor system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003662A JP2004220118A (en) | 2003-01-09 | 2003-01-09 | Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003003662A JP2004220118A (en) | 2003-01-09 | 2003-01-09 | Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004220118A true JP2004220118A (en) | 2004-08-05 |
Family
ID=32894858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003003662A Pending JP2004220118A (en) | 2003-01-09 | 2003-01-09 | Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004220118A (en) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011199412A (en) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | Base station system and gateway device |
JP2012519454A (en) * | 2009-03-02 | 2012-08-23 | トゥイリオ インコーポレイテッド | Method and system for a multi-tenant telephone network |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
US8964726B2 (en) | 2008-10-01 | 2015-02-24 | Twilio, Inc. | Telephony web event system and method |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US9160696B2 (en) | 2013-06-19 | 2015-10-13 | Twilio, Inc. | System for transforming media resource into destination device compatible messaging format |
US9210275B2 (en) | 2009-10-07 | 2015-12-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
US9226217B2 (en) | 2014-04-17 | 2015-12-29 | Twilio, Inc. | System and method for enabling multi-modal communication |
US9225840B2 (en) | 2013-06-19 | 2015-12-29 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9247062B2 (en) | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US9253254B2 (en) | 2013-01-14 | 2016-02-02 | Twilio, Inc. | System and method for offering a multi-partner delegated platform |
US9270833B2 (en) | 2012-07-24 | 2016-02-23 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9306982B2 (en) | 2008-04-02 | 2016-04-05 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US9325624B2 (en) | 2013-11-12 | 2016-04-26 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | Twilio, Inc. | System and method for managing a computing cluster |
US9336500B2 (en) | 2011-09-21 | 2016-05-10 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US9338280B2 (en) | 2013-06-19 | 2016-05-10 | Twilio, Inc. | System and method for managing telephony endpoint inventory |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US9344573B2 (en) | 2014-03-14 | 2016-05-17 | Twilio, Inc. | System and method for a work distribution service |
US9350642B2 (en) | 2012-05-09 | 2016-05-24 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US9455949B2 (en) | 2011-02-04 | 2016-09-27 | Twilio, Inc. | Method for processing telephony sessions of a network |
US9459926B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9459925B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9483328B2 (en) | 2013-07-19 | 2016-11-01 | Twilio, Inc. | System and method for delivering application content |
US9495227B2 (en) | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
US9553799B2 (en) | 2013-11-12 | 2017-01-24 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US9588974B2 (en) | 2014-07-07 | 2017-03-07 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US9590849B2 (en) | 2010-06-23 | 2017-03-07 | Twilio, Inc. | System and method for managing a computing cluster |
US9596274B2 (en) | 2008-04-02 | 2017-03-14 | Twilio, Inc. | System and method for processing telephony sessions |
US9602586B2 (en) | 2012-05-09 | 2017-03-21 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9805399B2 (en) | 2015-02-03 | 2017-10-31 | Twilio, Inc. | System and method for a media intelligence platform |
US9811398B2 (en) | 2013-09-17 | 2017-11-07 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9906607B2 (en) | 2014-10-21 | 2018-02-27 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US9942394B2 (en) | 2011-09-21 | 2018-04-10 | Twilio, Inc. | System and method for determining and communicating presence information |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
US9967224B2 (en) | 2010-06-25 | 2018-05-08 | Twilio, Inc. | System and method for enabling real-time eventing |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US10116733B2 (en) | 2014-07-07 | 2018-10-30 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US10165015B2 (en) | 2011-05-23 | 2018-12-25 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US10659349B2 (en) | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US10757200B2 (en) | 2014-07-07 | 2020-08-25 | Twilio Inc. | System and method for managing conferencing in a distributed communication network |
US11637934B2 (en) | 2010-06-23 | 2023-04-25 | Twilio Inc. | System and method for monitoring account usage on a platform |
-
2003
- 2003-01-09 JP JP2003003662A patent/JP2004220118A/en active Pending
Cited By (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9591033B2 (en) | 2008-04-02 | 2017-03-07 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US9906651B2 (en) | 2008-04-02 | 2018-02-27 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US10893079B2 (en) | 2008-04-02 | 2021-01-12 | Twilio Inc. | System and method for processing telephony sessions |
US9596274B2 (en) | 2008-04-02 | 2017-03-14 | Twilio, Inc. | System and method for processing telephony sessions |
US10560495B2 (en) | 2008-04-02 | 2020-02-11 | Twilio Inc. | System and method for processing telephony sessions |
US11722602B2 (en) | 2008-04-02 | 2023-08-08 | Twilio Inc. | System and method for processing media requests during telephony sessions |
US11611663B2 (en) | 2008-04-02 | 2023-03-21 | Twilio Inc. | System and method for processing telephony sessions |
US11856150B2 (en) | 2008-04-02 | 2023-12-26 | Twilio Inc. | System and method for processing telephony sessions |
US11575795B2 (en) | 2008-04-02 | 2023-02-07 | Twilio Inc. | System and method for processing telephony sessions |
US11765275B2 (en) | 2008-04-02 | 2023-09-19 | Twilio Inc. | System and method for processing telephony sessions |
US9906571B2 (en) | 2008-04-02 | 2018-02-27 | Twilio, Inc. | System and method for processing telephony sessions |
US10694042B2 (en) | 2008-04-02 | 2020-06-23 | Twilio Inc. | System and method for processing media requests during telephony sessions |
US11706349B2 (en) | 2008-04-02 | 2023-07-18 | Twilio Inc. | System and method for processing telephony sessions |
US10893078B2 (en) | 2008-04-02 | 2021-01-12 | Twilio Inc. | System and method for processing telephony sessions |
US10986142B2 (en) | 2008-04-02 | 2021-04-20 | Twilio Inc. | System and method for processing telephony sessions |
US11444985B2 (en) | 2008-04-02 | 2022-09-13 | Twilio Inc. | System and method for processing telephony sessions |
US11843722B2 (en) | 2008-04-02 | 2023-12-12 | Twilio Inc. | System and method for processing telephony sessions |
US11283843B2 (en) | 2008-04-02 | 2022-03-22 | Twilio Inc. | System and method for processing telephony sessions |
US9306982B2 (en) | 2008-04-02 | 2016-04-05 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US11831810B2 (en) | 2008-04-02 | 2023-11-28 | Twilio Inc. | System and method for processing telephony sessions |
US8964726B2 (en) | 2008-10-01 | 2015-02-24 | Twilio, Inc. | Telephony web event system and method |
US9407597B2 (en) | 2008-10-01 | 2016-08-02 | Twilio, Inc. | Telephony web event system and method |
US11641427B2 (en) | 2008-10-01 | 2023-05-02 | Twilio Inc. | Telephony web event system and method |
US11632471B2 (en) | 2008-10-01 | 2023-04-18 | Twilio Inc. | Telephony web event system and method |
US11005998B2 (en) | 2008-10-01 | 2021-05-11 | Twilio Inc. | Telephony web event system and method |
US10455094B2 (en) | 2008-10-01 | 2019-10-22 | Twilio Inc. | Telephony web event system and method |
US11665285B2 (en) | 2008-10-01 | 2023-05-30 | Twilio Inc. | Telephony web event system and method |
US9807244B2 (en) | 2008-10-01 | 2017-10-31 | Twilio, Inc. | Telephony web event system and method |
US10187530B2 (en) | 2008-10-01 | 2019-01-22 | Twilio, Inc. | Telephony web event system and method |
US10348908B2 (en) | 2009-03-02 | 2019-07-09 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US10708437B2 (en) | 2009-03-02 | 2020-07-07 | Twilio Inc. | Method and system for a multitenancy telephone network |
JP2012519454A (en) * | 2009-03-02 | 2012-08-23 | トゥイリオ インコーポレイテッド | Method and system for a multi-tenant telephone network |
US8995641B2 (en) | 2009-03-02 | 2015-03-31 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US11785145B2 (en) | 2009-03-02 | 2023-10-10 | Twilio Inc. | Method and system for a multitenancy telephone network |
US9894212B2 (en) | 2009-03-02 | 2018-02-13 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US9621733B2 (en) | 2009-03-02 | 2017-04-11 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US11240381B2 (en) | 2009-03-02 | 2022-02-01 | Twilio Inc. | Method and system for a multitenancy telephone network |
US10554825B2 (en) | 2009-10-07 | 2020-02-04 | Twilio Inc. | System and method for running a multi-module telephony application |
US11637933B2 (en) | 2009-10-07 | 2023-04-25 | Twilio Inc. | System and method for running a multi-module telephony application |
US9210275B2 (en) | 2009-10-07 | 2015-12-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
JP2011199412A (en) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | Base station system and gateway device |
US9459925B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9459926B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | Twilio, Inc. | System and method for managing a computing cluster |
US11637934B2 (en) | 2010-06-23 | 2023-04-25 | Twilio Inc. | System and method for monitoring account usage on a platform |
US9590849B2 (en) | 2010-06-23 | 2017-03-07 | Twilio, Inc. | System and method for managing a computing cluster |
US11936609B2 (en) | 2010-06-25 | 2024-03-19 | Twilio Inc. | System and method for enabling real-time eventing |
US11088984B2 (en) | 2010-06-25 | 2021-08-10 | Twilio Ine. | System and method for enabling real-time eventing |
US9967224B2 (en) | 2010-06-25 | 2018-05-08 | Twilio, Inc. | System and method for enabling real-time eventing |
US11032330B2 (en) | 2011-02-04 | 2021-06-08 | Twilio Inc. | Method for processing telephony sessions of a network |
US9455949B2 (en) | 2011-02-04 | 2016-09-27 | Twilio, Inc. | Method for processing telephony sessions of a network |
US9882942B2 (en) | 2011-02-04 | 2018-01-30 | Twilio, Inc. | Method for processing telephony sessions of a network |
US10708317B2 (en) | 2011-02-04 | 2020-07-07 | Twilio Inc. | Method for processing telephony sessions of a network |
US10230772B2 (en) | 2011-02-04 | 2019-03-12 | Twilio, Inc. | Method for processing telephony sessions of a network |
US11848967B2 (en) | 2011-02-04 | 2023-12-19 | Twilio Inc. | Method for processing telephony sessions of a network |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US10122763B2 (en) | 2011-05-23 | 2018-11-06 | Twilio, Inc. | System and method for connecting a communication to a client |
US10819757B2 (en) | 2011-05-23 | 2020-10-27 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US11399044B2 (en) | 2011-05-23 | 2022-07-26 | Twilio Inc. | System and method for connecting a communication to a client |
US10560485B2 (en) | 2011-05-23 | 2020-02-11 | Twilio Inc. | System and method for connecting a communication to a client |
US10165015B2 (en) | 2011-05-23 | 2018-12-25 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US11997231B2 (en) | 2011-09-21 | 2024-05-28 | Twilio Inc. | System and method for determining and communicating presence information |
US10212275B2 (en) | 2011-09-21 | 2019-02-19 | Twilio, Inc. | System and method for determining and communicating presence information |
US11489961B2 (en) | 2011-09-21 | 2022-11-01 | Twilio Inc. | System and method for determining and communicating presence information |
US9336500B2 (en) | 2011-09-21 | 2016-05-10 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US10182147B2 (en) | 2011-09-21 | 2019-01-15 | Twilio Inc. | System and method for determining and communicating presence information |
US9942394B2 (en) | 2011-09-21 | 2018-04-10 | Twilio, Inc. | System and method for determining and communicating presence information |
US10686936B2 (en) | 2011-09-21 | 2020-06-16 | Twilio Inc. | System and method for determining and communicating presence information |
US10841421B2 (en) | 2011-09-21 | 2020-11-17 | Twilio Inc. | System and method for determining and communicating presence information |
US10467064B2 (en) | 2012-02-10 | 2019-11-05 | Twilio Inc. | System and method for managing concurrent events |
US12020088B2 (en) | 2012-02-10 | 2024-06-25 | Twilio Inc. | System and method for managing concurrent events |
US11093305B2 (en) | 2012-02-10 | 2021-08-17 | Twilio Inc. | System and method for managing concurrent events |
US9495227B2 (en) | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
US9602586B2 (en) | 2012-05-09 | 2017-03-21 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US11165853B2 (en) | 2012-05-09 | 2021-11-02 | Twilio Inc. | System and method for managing media in a distributed communication network |
US10200458B2 (en) | 2012-05-09 | 2019-02-05 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9350642B2 (en) | 2012-05-09 | 2016-05-24 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US10637912B2 (en) | 2012-05-09 | 2020-04-28 | Twilio Inc. | System and method for managing media in a distributed communication network |
US9247062B2 (en) | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US10320983B2 (en) | 2012-06-19 | 2019-06-11 | Twilio Inc. | System and method for queuing a communication session |
US11546471B2 (en) | 2012-06-19 | 2023-01-03 | Twilio Inc. | System and method for queuing a communication session |
US11991312B2 (en) | 2012-06-19 | 2024-05-21 | Twilio Inc. | System and method for queuing a communication session |
US11063972B2 (en) | 2012-07-24 | 2021-07-13 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US9270833B2 (en) | 2012-07-24 | 2016-02-23 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US10469670B2 (en) | 2012-07-24 | 2019-11-05 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US9948788B2 (en) | 2012-07-24 | 2018-04-17 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US11882139B2 (en) | 2012-07-24 | 2024-01-23 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US9614972B2 (en) | 2012-07-24 | 2017-04-04 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US9319857B2 (en) | 2012-10-15 | 2016-04-19 | Twilio, Inc. | System and method for triggering on platform usage |
US9307094B2 (en) | 2012-10-15 | 2016-04-05 | Twilio, Inc. | System and method for routing communications |
US10033617B2 (en) | 2012-10-15 | 2018-07-24 | Twilio, Inc. | System and method for triggering on platform usage |
US11689899B2 (en) | 2012-10-15 | 2023-06-27 | Twilio Inc. | System and method for triggering on platform usage |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US9654647B2 (en) | 2012-10-15 | 2017-05-16 | Twilio, Inc. | System and method for routing communications |
US11595792B2 (en) | 2012-10-15 | 2023-02-28 | Twilio Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
US10757546B2 (en) | 2012-10-15 | 2020-08-25 | Twilio Inc. | System and method for triggering on platform usage |
US10257674B2 (en) | 2012-10-15 | 2019-04-09 | Twilio, Inc. | System and method for triggering on platform usage |
US11246013B2 (en) | 2012-10-15 | 2022-02-08 | Twilio Inc. | System and method for triggering on platform usage |
US9253254B2 (en) | 2013-01-14 | 2016-02-02 | Twilio, Inc. | System and method for offering a multi-partner delegated platform |
US10560490B2 (en) | 2013-03-14 | 2020-02-11 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US11637876B2 (en) | 2013-03-14 | 2023-04-25 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US11032325B2 (en) | 2013-03-14 | 2021-06-08 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US10051011B2 (en) | 2013-03-14 | 2018-08-14 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
US9160696B2 (en) | 2013-06-19 | 2015-10-13 | Twilio, Inc. | System for transforming media resource into destination device compatible messaging format |
US9338280B2 (en) | 2013-06-19 | 2016-05-10 | Twilio, Inc. | System and method for managing telephony endpoint inventory |
US9225840B2 (en) | 2013-06-19 | 2015-12-29 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9240966B2 (en) | 2013-06-19 | 2016-01-19 | Twilio, Inc. | System and method for transmitting and receiving media messages |
US10057734B2 (en) | 2013-06-19 | 2018-08-21 | Twilio Inc. | System and method for transmitting and receiving media messages |
US9992608B2 (en) | 2013-06-19 | 2018-06-05 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9483328B2 (en) | 2013-07-19 | 2016-11-01 | Twilio, Inc. | System and method for delivering application content |
US11379275B2 (en) | 2013-09-17 | 2022-07-05 | Twilio Inc. | System and method for tagging and tracking events of an application |
US10439907B2 (en) | 2013-09-17 | 2019-10-08 | Twilio Inc. | System and method for providing communication platform metadata |
US11539601B2 (en) | 2013-09-17 | 2022-12-27 | Twilio Inc. | System and method for providing communication platform metadata |
US10671452B2 (en) | 2013-09-17 | 2020-06-02 | Twilio Inc. | System and method for tagging and tracking events of an application |
US9959151B2 (en) | 2013-09-17 | 2018-05-01 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9853872B2 (en) | 2013-09-17 | 2017-12-26 | Twilio, Inc. | System and method for providing communication platform metadata |
US9811398B2 (en) | 2013-09-17 | 2017-11-07 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US10686694B2 (en) | 2013-11-12 | 2020-06-16 | Twilio Inc. | System and method for client communication in a distributed telephony network |
US10069773B2 (en) | 2013-11-12 | 2018-09-04 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US11621911B2 (en) | 2013-11-12 | 2023-04-04 | Twillo Inc. | System and method for client communication in a distributed telephony network |
US10063461B2 (en) | 2013-11-12 | 2018-08-28 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US11831415B2 (en) | 2013-11-12 | 2023-11-28 | Twilio Inc. | System and method for enabling dynamic multi-modal communication |
US9325624B2 (en) | 2013-11-12 | 2016-04-26 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US9553799B2 (en) | 2013-11-12 | 2017-01-24 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US11394673B2 (en) | 2013-11-12 | 2022-07-19 | Twilio Inc. | System and method for enabling dynamic multi-modal communication |
US10003693B2 (en) | 2014-03-14 | 2018-06-19 | Twilio, Inc. | System and method for a work distribution service |
US11882242B2 (en) | 2014-03-14 | 2024-01-23 | Twilio Inc. | System and method for a work distribution service |
US11330108B2 (en) | 2014-03-14 | 2022-05-10 | Twilio Inc. | System and method for a work distribution service |
US10291782B2 (en) | 2014-03-14 | 2019-05-14 | Twilio, Inc. | System and method for a work distribution service |
US9344573B2 (en) | 2014-03-14 | 2016-05-17 | Twilio, Inc. | System and method for a work distribution service |
US9628624B2 (en) | 2014-03-14 | 2017-04-18 | Twilio, Inc. | System and method for a work distribution service |
US10904389B2 (en) | 2014-03-14 | 2021-01-26 | Twilio Inc. | System and method for a work distribution service |
US11653282B2 (en) | 2014-04-17 | 2023-05-16 | Twilio Inc. | System and method for enabling multi-modal communication |
US10440627B2 (en) | 2014-04-17 | 2019-10-08 | Twilio Inc. | System and method for enabling multi-modal communication |
US9907010B2 (en) | 2014-04-17 | 2018-02-27 | Twilio, Inc. | System and method for enabling multi-modal communication |
US10873892B2 (en) | 2014-04-17 | 2020-12-22 | Twilio Inc. | System and method for enabling multi-modal communication |
US9226217B2 (en) | 2014-04-17 | 2015-12-29 | Twilio, Inc. | System and method for enabling multi-modal communication |
US10747717B2 (en) | 2014-07-07 | 2020-08-18 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US11973835B2 (en) | 2014-07-07 | 2024-04-30 | Twilio Inc. | System and method for managing media and signaling in a communication platform |
US10116733B2 (en) | 2014-07-07 | 2018-10-30 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US11341092B2 (en) | 2014-07-07 | 2022-05-24 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US11768802B2 (en) | 2014-07-07 | 2023-09-26 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US11755530B2 (en) | 2014-07-07 | 2023-09-12 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US10229126B2 (en) | 2014-07-07 | 2019-03-12 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US10212237B2 (en) | 2014-07-07 | 2019-02-19 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9588974B2 (en) | 2014-07-07 | 2017-03-07 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US10757200B2 (en) | 2014-07-07 | 2020-08-25 | Twilio Inc. | System and method for managing conferencing in a distributed communication network |
US9858279B2 (en) | 2014-07-07 | 2018-01-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US10637938B2 (en) | 2014-10-21 | 2020-04-28 | Twilio Inc. | System and method for providing a micro-services communication platform |
US11019159B2 (en) | 2014-10-21 | 2021-05-25 | Twilio Inc. | System and method for providing a micro-services communication platform |
US9906607B2 (en) | 2014-10-21 | 2018-02-27 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US10467665B2 (en) | 2015-02-03 | 2019-11-05 | Twilio Inc. | System and method for a media intelligence platform |
US9805399B2 (en) | 2015-02-03 | 2017-10-31 | Twilio, Inc. | System and method for a media intelligence platform |
US11544752B2 (en) | 2015-02-03 | 2023-01-03 | Twilio Inc. | System and method for a media intelligence platform |
US10853854B2 (en) | 2015-02-03 | 2020-12-01 | Twilio Inc. | System and method for a media intelligence platform |
US11272325B2 (en) | 2015-05-14 | 2022-03-08 | Twilio Inc. | System and method for communicating through multiple endpoints |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
US11265367B2 (en) | 2015-05-14 | 2022-03-01 | Twilio Inc. | System and method for signaling through data storage |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US10560516B2 (en) | 2015-05-14 | 2020-02-11 | Twilio Inc. | System and method for signaling through data storage |
US10659349B2 (en) | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US11171865B2 (en) | 2016-02-04 | 2021-11-09 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US11265392B2 (en) | 2016-05-23 | 2022-03-01 | Twilio Inc. | System and method for a multi-channel notification service |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US10440192B2 (en) | 2016-05-23 | 2019-10-08 | Twilio Inc. | System and method for programmatic device connectivity |
US11076054B2 (en) | 2016-05-23 | 2021-07-27 | Twilio Inc. | System and method for programmatic device connectivity |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US11627225B2 (en) | 2016-05-23 | 2023-04-11 | Twilio Inc. | System and method for programmatic device connectivity |
US11622022B2 (en) | 2016-05-23 | 2023-04-04 | Twilio Inc. | System and method for a multi-channel notification service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004220118A (en) | Multiprocessor system, monitoring system, method of taking out queue from multiprocessor system, and process for table recovery at multiprocessor system | |
US9246780B2 (en) | System and method for supporting port multiplexing in a server environment | |
CN106446159B (en) | A kind of method of storage file, the first virtual machine and name node | |
CN101827019B (en) | Network interface device | |
CN105144659A (en) | Restlike API that supports a resilient and scalable distributed application | |
US20120173817A1 (en) | Method for processing parallel data storage and authentication and a terminal | |
JP2008507201A5 (en) | ||
CN113590254A (en) | Virtual machine communication method, device, system and medium | |
WO2006090408A2 (en) | Input/output tracing in a protocol offload system | |
CN110442610A (en) | The method, apparatus of load balancing calculates equipment and medium | |
CN103533087A (en) | Cloud service platform middleware and cloud uploading method | |
CN105337762A (en) | File sharing method supporting automatic failover | |
CN111163130A (en) | Network service system and data transmission method thereof | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
CN114237823A (en) | Message queue exception handling method and device, computer equipment and storage medium | |
CN108614728A (en) | Virtual machine service providing method, device, equipment and computer readable storage medium | |
CN114039875A (en) | Data acquisition method, device and system based on eBPF technology | |
CN102055671A (en) | Priority management method for multi-application packet sending | |
CN109756490B (en) | MDC (media data center) implementation method and device | |
CN111796935A (en) | Consumption instance distribution method and system for calling log information | |
CN113051428A (en) | Method and device for storing and backing up front end of camera | |
CN110011909A (en) | Store gateway and storage gateway data sending, receiving method and device | |
CN108494700A (en) | Across link data transmission method, device, computer equipment and storage medium | |
AU749264B2 (en) | Resource interface unit for telecommunications switching node | |
CN113590040B (en) | Data processing method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080624 |