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 PDF

Info

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
Application number
JP2003003662A
Other languages
Japanese (ja)
Inventor
Hiroshi Sakai
博司 酒井
Makoto Saito
斎藤  誠
Reiko Furusawa
礼子 古澤
Masatoshi Sotozaki
昌利 外崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003003662A priority Critical patent/JP2004220118A/en
Publication of JP2004220118A publication Critical patent/JP2004220118A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Exchange Systems With Centralized Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multiprocessor system which prevents calling losses at the time of recovery, simplifies a recovery process and increases the speed of recovery in the event of failure when a plurality of processes access a shared memory, and which provides system reliability, and flexibility derived from a buffer given a large working capacity. <P>SOLUTION: In the multiprocessor system, the shared memory is provided with a queue management information table 7 which retains queue management information consisting of a plurality of information elements specifying both the magnitude and position of a resource management queue retaining call information about communication calls gained by each processor, and a memo recording part 8 (updated history information recording area) which records history information consisting of a plurality of update information elements for writing the queue management information on the queue management information table 7. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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 memory 203, and the inter-processor communication device 204 It is configured with the following.
Here, the control unit 201 receives information data and control data from the exchange 102 and the BTSs 198a to 198b, and distributes a load required for call processing or communication processing to the processors A to D. The processors A to D all perform call processing with the BTSs 198a to 198b. All of the loads generated in the RNC and the loads for call processing from an external device such as the exchange 102 are distributed and processed by these processors A to D. Therefore, each of the processors A to D processes not only the load on the specific BTS 198a but also the load on the other BTS 198b. That is, all the loads are distributed and assigned so that the loads of the processors A to D are averaged.
[0009]
Further, the shared memory 203 secures resources for each of the BTSs 198a to 198b, and generates a queue for holding call information such as a mobile phone address or a telephone number of a communication partner (opposite communication device) in these resources. I have. The call information is assigned an ID (Identification: identifier), and can communicate with each other via a wired line.
[0010]
The inter-processor communication device 204 is for the processors A to D to transmit and receive signals to and from each other.
(P6) Explanation of resource acquisition by software
FIG. 20 is a diagram showing a sequence for explaining resource acquisition from the shared memory 203. The exchange 102 transmits a call control signal 1 for the terminal 1 to the control unit 201 (step H1). When the control unit 201 receives this call control signal 1, the load among the processors A to D is received. For example, the processor A is selected and the processor A is interrupted (step H2), and this call control signal 1 is notified. Upon receiving this notification, the processor A acquires a resource in the shared memory 203 (see FIG. 19) (step H3), and upon acquiring the resource, transmits the fact to the exchange 102 (call control signal 1 '[ Terminal 1])).
[0011]
On the other hand, the exchange 102 transmits the call control signal 2 for the terminal 1 after transmitting the above-mentioned call control signal 1 (step H4), and when the control unit 201 receives the call control signal 2, The task for No. 2 is distributed to the processor B (step H5) and notified to the processor B (step H6). Here, when the processor B can acquire the resource from the shared memory 203, the processor B transmits an acknowledgment (acknowledgement: response signal) to the exchange 102 as the call control signal 2 '(step H7). Thereby, the loads of the processors A to D are distributed.
[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 control unit 201 assigns the queue management function to the processor A, the processor A performs an exclusion process (lock) and acquires the resources of the shared memory 203 that have been assigned to the queue. During the exclusion process, the other processors BD wait.
[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 memory 203. Then, when the processing by the processor A is completed and another processor B needs to access the shared memory 203, the processor B refers to the size information written by the processor A.
[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, Patent Document 2.
(P8) An example of the shared memory 203
FIG. 21B is a diagram showing an example of allocation of the shared memory 203 after a failure has occurred. The information held in the queue management information table 205 includes a queue management number (total number of queues), a next queue address, a previous queue address, and the like.
[0015]
For example, in the shared memory 203 shown in FIG. 21A, since three queues 91a to 91c are connected, the queue management number is held as 3, and the next queue address is the first queue address of the queue 91a ( The head queue address queued at the head of the queue management information table 205 is held. Note that there is no queue in front of the queue 91a even though the queue management information table 205 exists, so there is no previous queue address value.
[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 control unit 201 to a processor having a small load among processors A to D. I try to sort them. In other words, the queue management information table 205 functions as a “queue terminal”.
[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 numbers 1 and 2) and 1, 2, respectively.
[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 numbers 1 to 3) and 1, 3, respectively.
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 queue number 2 is extracted from the state shown in FIG. 23D. The management number is 2, the first queue address is 1, and the last queue address is the queue 3 Remains.
[0021]
FIG. 23F shows a case where the queue 2 is inserted again from the state shown in FIG. As a result, the management number is 3, the first queue address is 1, and the last queue address is 2.
(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 memory 203. In the recovery processing operation shown in FIG. 22, the processors A to D search the address of the shared memory 203, trace the queue from the bidirectional queue of the head queue 91a and the final queue (tail queue) 91b, and Count and compare. If the numbers of these queues do not match, the queue address after writing to the queue management information table 205 and the previous queue address are not continuous, so that a queue is lost or the queue management information table 205 is destroyed. Is assumed. In this case, each of the processors A to D performs a recovery process to recover the queue.
[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 memory 203.
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 memory 203, and this state monitoring is realized by a state monitoring system. Hereinafter, the state monitoring system will be described.
[0025]
This status monitoring system is a memory monitoring system that monitors the resource allocation status of the shared memory 203, and monitors or manages the resource status of devices, devices, or terminals in the mobile communication system using a status monitoring table.
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 memory 203, the failed queue management information table 205 is destroyed and the system This can lead to processing errors. For example, when a control signal is directly input from the exchange 102 via the control unit 201, the response cannot be made, and the host device disconnects the call.
[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 memory 203 becomes longer, which may cause a bottleneck. In this case, in order to reduce the processing time, the load for call processing becomes large. Also, it is more efficient to operate the recovery process only when necessary than to always perform the recovery process.
[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 memory 203. Unavailable time increases, thus affecting the processing performance due to call loss.
(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 RNCs 84a to 84b includes several active CP boards and one standby CP board. If the active CP board cannot be used for failure, maintenance, or inspection, the active NC board is used. A physical communication path between the CP board and the external device is disconnected from the active CP board and connected to the standby CP board. However, there is a problem that switching using the active system and the standby system requires time.
[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 memory 203, it is necessary to release the occupation of the shared memory 203 so that another processor (other user) can access it.
(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 mobile communication system 100 shown in FIG. 1 is a system using a CDMA system, and includes low-capacity data such as telephone, text data and voice, and large-capacity data such as still images and moving images (hereinafter referred to as low-capacity data). Data and large-capacity data are referred to as information data) and transmit and receive at high speed.
[0040]
Hereinafter, each device of the mobile communication system 100 will be described with reference to FIGS. 1 to 3, and the load distribution device will be described with reference to FIG. 4.
(1) Mobile communication system 100
The mobile communication system 100 shown in FIG. 1 includes various mobile stations (MS: Mobile Station; hereinafter, referred to as MS) 10a, 10b, and 10c used by a user and, for example, 48 BTSs (radio base stations) 83a to 83c. , RNCs (Radio Network Controllers) 84a to 84b, a core network (CN: Core Network) 101, a public network (PSTN: Public Switched Telephone Networks) 85a, the Internet 85b, and a communication partner terminal (partner terminal) 11a. , 11b.
[0041]
(1-1) Core Network 101, Public Network 85a, and Internet 85b
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 MSs 10a to 10c, and a packet switch. And a switching unit 102 comprising a Mobile Multimedia Switching System (MMS) 101b and a Gateway Mobile Multimedia Switching System (GMMS) 101c having a gateway function. The public network 85a is a subscriber line network for transmitting voice data, facsimile data and the like, and the Internet 85b is a network for transferring packets.
[0042]
Thereby, for example, the radio signal transmitted by the MS 10a is demodulated by the BTS 83a and then terminated by the RNC 84a, and the information data contained in the radio signal is transmitted to the public network 85a or the Internet via the core network 101. 85b. The information data transmitted by the partner terminal 11a is transferred to the RNC 84a based on the location registration data of the HLR 101a via the public network 85a, the Internet 85b and the core network 101, and is modulated by the BTS 83a into a radio signal. Sent to MS 10a.
[0043]
Note that the mobile communication system 100 can also use the cdma2000 system or the W-CDMA system.
(1-2) RNC (Base Station Controller) 84a-84b
The RNCs 84a to 84b control a plurality of BTSs 83a to 83c, multiplex and transmit and receive a plurality of channel data between each of the BTSs 83a to 83c and the core network 101, and perform high-speed and large-capacity data processing. Requires ability.
[0044]
Each of the RNCs 84a to 84b has a function of transferring information data between the BTSs 83a to 83c and the core network 101, and a function of transmitting and receiving a control signal for call connection processing or maintenance operation for each of the BTSs 83a to 83c. And has functions such as channel assignment, handover execution, and incoming / outgoing connection. Thereby, the information data from the public network 85a or the Internet 85b is transferred to any of the plurality of BTSs 83a to 83c according to the destination, and the information data from the plurality of BTSs 83a to 83c is transmitted to the public network 85a or 83b. The data is transferred to the Internet 85b.
[0045]
Each of the RNCs 84a to 84b, the plurality of BTSs 83a to 83c, and the plurality of MSs 10a to 10c transmit and receive control signals and data signals by using a wireless protocol, and function as a radio access network (RAN: Radio Access Network). ing. On the other hand, the RNCs 84a to 84b and the core network 101 transmit and receive information data by wire.
[0046]
(1-3) Multiprocessor system of the present invention
This multiprocessor system is applied to a load distribution device provided in each of the RNCs 84a to 84b. The information data transferred by the RNCs 84a to 84b has a high speed and a large capacity and processes information data from both the plurality of BTSs 83a to 83c and the core network 101. Therefore, the load on each of the RNCs 84a to 84b is extremely large. large. For this reason, a load distribution function is provided in each of the RNCs 84a to 84b so that all loads on information data are distributed.
[0047]
It should be noted that the multiprocessor system of the present invention can also be applied to units of devices such as calls, MSs 10a to 10c, network terminals, computers, and BTSs 83a to 83c.
(1-4) MS10a etc.
The MSs 10a to 10c wirelessly communicate information data and control data related to communication and control with the BTSs 83a to 83c, and include a mobile phone 10a, a video playback device 10b, and a videophone 10c.
[0048]
For example, as shown in FIG. 2, the mobile phone 10a outputs and receives information data obtained by encoding signals from the voice receiving unit (SPK) 86a, the voice transmitting unit (MIC) 86g, and the voice transmitting unit 86g. A baseband processor 86b for inputting decoded data to a voice receiver 86a or a display (not shown); and a modulation / demodulation for modulating information data from the baseband processor 86b into a radio signal and demodulating a received radio signal. (TRX) 86c, a transmission / reception amplifier (T / R AMP) 86d for amplifying a radio signal from the modem unit 86c and amplifying a reception signal, and a key information holding unit 86e for holding terminal identification information. And a mobile unit control unit (control unit) 86f for controlling the MSs 10a to 10c.
[0049]
As for the video reproducing device 10b and the videophone 10c, their wireless transmission / reception units are equivalent to the modulation / demodulation unit 86c of the mobile phone 10a and the like, and the description thereof will be omitted. In the following, a description will be given using an MS (mobile phone) 10a.
(1-5) Counterpart terminals 11a and 11b (see FIG. 1)
The partner terminals 11a and 11b both communicate with the MS 10a or transmit and receive information data, and are, for example, fixed telephones, mobile telephones, or personal computers (PCs).
[0050]
(1-6) BTS83a-83c
FIG. 2 is a functional block diagram of the mobile communication system 100 according to the first embodiment of the present invention. In FIG. 2, components having the same reference numerals as those described above have the same functions.
Each of the 48 BTSs 83a to 83c transmits and receives wireless data to and from the MS 10a and transmits and receives wired data to and from the RNCs 84a to 84b. The transmitting and receiving amplifier 86d amplifies wireless signals with high power and amplifies received signals with low noise. A modulation / demodulation unit 86c for modulating / demodulating a radio signal, a baseband processing unit 86b for processing a baseband signal, and a highway-in control unit (HW-CNT) 87a for controlling data transmission / reception between the RNCs 84a to 84b and the BTSs 83a to 83c. And a base station control section (control section) 87b for monitoring and controlling the inside of the BTSs 83a to 83c.
[0051]
Further, the base station control unit 87b may be configured by providing a shared memory equivalent to the shared memory 3 included in the RNC 84a (not shown).
Each of the BTSs 83b and 83c has the same configuration as the BTS 83a, and redundant description will be omitted. The BTS number 48 is an example, and is not limited to this value.
[0052]
(2) Configuration of RNCs 84a-84b
The RNCs 84a to 84b include a load distribution device (CONT) 1 having a control function and a load distribution function for call processing (Call Processing), a line interface (LIF: Line Interface) 85a for terminating a line with the BTSs 83a to 83c. , BTS 83a to 83c and an ATM switch (Asynchronous Transfer Mode Switch) 85b for switching a packet from the exchange 102 based on its destination or a predetermined path, an output interface 85c for terminating a line to the exchange 102, and call processing. And the like, and a terminating unit (SU) 85d for terminating a control signal such as the above.
[0053]
The terminating unit 85d has a mobile station facing signal terminating unit (MSU), an external device facing signal terminating unit (ESU), and an OPS facing signal terminating unit (OSU), and receives signals from the MS 10a and the exchange 102. An input is made to the load distribution device 1.
(3) Load distribution device (multiprocessor system) 1
FIG. 3 is a schematic block diagram of the RNCs 84a to 84b according to the first embodiment of the present invention. Those having the same reference numerals as those described above in FIG. 3 have the same functions.
[0054]
(3-1) Load distribution device 1
The functions of the load balancer 1 are as follows: communication between external devices such as the BTSs 83a to 83c and the exchange 102 (see FIG. 1) and each module of the RNCs 84a to 84b itself, transmission and reception of control signals for call connection, maintenance operation, and transmission and reception of these signals. This is load distribution for processing. The load distribution device 1 includes an inter-processor communication device (bus control unit: BCONT [Bus Controller]) 5, call processing units (CP: Call Processing) 2a to 2e, a shared memory (CM: Common Memory) 3, It comprises a hard disk drive (HDD: Hard Disk Drive) 4, a debugger (DB: Debugger) 5f, and a communication bus 5e.
[0055]
(3-2) Call processing units 2a to 2e
The functions of each of the call processing units 2a to 2e are assignment of a wireless channel, call information processing for an incoming call, conversion processing between a global address and a local address, and main control. A processor 22a, a ROM (Read Only Memory) 23, and a RAM (Random Access Memory) 24 are provided.
[0056]
FIG. 4 is a diagram illustrating a main part of the load distribution device 1 according to the first embodiment of the present invention. The load distribution apparatus 1 shown in FIG. 4 includes a plurality of processors 22a to 22e that process communication calls and a load distribution control that distributes communication calls from an external device such as the exchange 102 according to the loads on the processors 22a to 22e. (Distribution control unit) 9 and a shared memory 3 accessible by the processors 22a to 22e. The shared memory 3 has a queue management information table (see FIG. 5 and the like) 7 for holding queue management information on a resource management queue for holding call information on communication calls, and an update history of queue management information in the queue management information table. And a memo recording unit (update history recording area, see FIG. 8) 8 for recording the information.
[0057]
Note that the function of the call processing unit 2a is exerted by software in which the processor 22a, the ROM 23, and the RAM 24 cooperate. Similarly, the respective functions of the call processing units 2b to 2e are also provided with the respective processors 22b to 22e on the respective CP boards, and the ROM 23 and the RAM 24 are exhibited in cooperation. The call processing units 2a to 2e cooperate to distribute the total load of the 48 BTSs 83a to 83c for the call processing.
[0058]
(3-3) Inter-processor communication device 5
The inter-processor communication device 5 has a control function for allowing the processors 22a to 22e to transmit and receive signals to and from each other. The load distribution device 1 is configured such that, for example, the processor 22a among the processors 22a to 22e is a master processor and receives specific signals from the other processors 22b to 22e. In other words, all of the other processors 22b to 22e use the inter-processor communication device 5 to transmit and receive signals to and from the master processor 22a.
[0059]
(3-4) Load distribution control unit (distribution control unit) 9
The distribution control unit 9 receives information data and control data from the exchange 102 and the BTSs 83a to 83c, and distributes the load of communication call processing to the call processing units 2a to 2e. The load distribution function is performed by, for example, the master processor 22a. Note that the other processors 22b to 22e can also realize the load distribution function.
[0060]
(3-5) Shared memory 3
The information held in the shared memory 3 is information that the plurality of processors 22a to 22e need to take over each other or information that must not be lost. For example, if a failure occurs when the MS 10a and the partner terminal 11a enter a call state such as "Hello" or "Yes Yes", the call state between the two is maintained because the call state between the two is maintained. Must be taken over by the other processors 22a to 22e.
[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 memory 3 according to the first embodiment of the present invention. The shared memory 3 shown in FIG. 5 is shared and accessed by the processors 22a to 22e, and holds a queue management information table 7, resources (queues) 6a to 6c, 6q, and other data. And a memo recording unit 8.
[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 RNCs 84a to 84b receives a large number of calls, one resource is allocated to one device in order to efficiently manage the large number of calls. That is, the shared memory 3 performs resource allocation for each of the BTSs 83a to 83c by a resource allocation function generally provided.
[0063]
For example, in the shared memory 203 shown in FIG. 21A, resources A to C corresponding to three BTSs 83a to 83c are allocated, and a plurality of received calls are inserted into queues A to C, respectively. Also, it is taken out (dequeue). Accordingly, the queues A to C have different numbers of inserted queues and different ranges of queue areas, and the queue management information table 7 holds queue management information on queues that manage resources holding call information. is there.
[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) Memo recording unit 8
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 memo recording unit 8 records a plurality of update information elements (for example, queue management number, head queue address, previous queue address, and rear queue address) to be written in the queue management information of the queue management information table 7. The memo recording unit 8 secures, for example, three memo records (memo recording units) 1, 2, and 3, and records the queue management number and the like. For example, the memo records 1 and 2 can temporarily write the queue management number and the head queue address, respectively, and the memo records 1, 2, and 3 respectively store the queue number to be taken out, the previous queue address, The queue address can also be written temporarily. That is, the memo recording unit 8 records an update information element to be written in the queue management number and the head queue address held in the queue management information table 7.
[0067]
Upon receiving the control signal from the distributed control unit 9, each of the call processing units 2a to 2e (see FIG. 4) acquires a physical resource from the shared memory 3, generates a queue for the obtained resource, and generates the queue. The information on the queue that has been set is centrally held in the queue management information table 7.
Thus, each of the processors 22a to 22e refers to the queue and performs signal processing while updating the queue. For example, when the call processing unit 2a is overloaded, the other call processing units 2b to 2e perform data processing.
[0068]
(3-8) Clock unit 88 and the like
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 debugger 5f writes and reads data from and to the shared memory 3. By outputting a signal for writing and reading to the bus 5e, the writing and reading can be performed.
(3-9) Example of implementation
The load distribution device 1 is provided on a substrate (backboard) on a rear portion of a device rack of the RNCs 84a to 84b.
[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 load distribution device 1 shown in FIG. 6, the functions of the interprocessor communication device 5, the call processing units 2a to 2e, the debugger 5f, the shared memory 3, the clock unit 88, and the power supply unit 88a are provided on a planar backboard 82. The substrate is inserted vertically. That is, each function is realized for each board, whereby the burden of maintenance and the like is reduced, and it is possible to flexibly respond to changes in system specifications. The shaded portion shown in FIG. 6 represents the upper surface of the backboard 82.
[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 memory 3.
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 call processing units 2a to 2e. The load distributing apparatus 1 is provided with a total of six CP substrates, that is, five active CP substrates and one spare CP substrate, and can cope with 48 BTSs 83a to 83c. A spare CP board (not shown) is provided in case one of the five CP boards fails.
[0073]
The RNCs 84a and 84b can use a redundant configuration including a plurality of active (ACT: ACT) CP substrates and a standby (STBY) CP substrate. Here, the standby CP board is provided for the failure or maintenance of the active CP board, and if any of the active CP boards fails, the physical communication path connected to the external device is lost. Is disconnected from the failed CP substrate and connected to the standby CP substrate. As a result, a load distribution type multiprocessor system is configured.
[0074]
Further, resources corresponding to each of the 48 BTSs 83a to 83c are secured in the shared memory 3 of the CM board, and the processors 22a to 22e and the shared memory 3 cooperate, so that the CP boards of the BTSs 83a to 83c are At the time of overload, the CP boards for the other BTSs 83a to 83c perform data processing of the BTSs 83a to 83c.
[0075]
As described above, the load distribution device 1 can process a very large amount of call processing data, and can recognize and appropriately process a call to be processed from a large amount of calls, thereby achieving data multiplexing and data separation. It becomes possible.
(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 memo recording unit 8. Compare.
[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 call processing unit 2a and the shared memory 3, but can also be realized by the other call processing units 2b to 2e (software by the processors 22b to 22e) and the shared memory 3.
[0078]
(3-11) Judgment unit (judgment unit) 25a and restoration unit (restoration unit) 25b
Both the determination unit 25a and the restoration unit 25b must be provided in each of the call processing units 2a to 2e. This means that even if a failure occurs when any of the processors 22a to 22e accesses the shared memory 3, the processors 22a to 22e as hardware capable of performing normal recovery processing and the call processing unit as software This is because 2a to 2e are secured.
[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 determination unit 25a and the recovery unit 25b shown in FIG. 7 are all call processing units 2a to 2e. It is provided in.
Here, when any one of the processors 22a to 22e encounters a failure when accessing the queue management information, the determination unit 25a determines the queue management information held in the queue management information table and the memo recording. Based on the update history information recorded in the unit 8, the necessity of the recovery process is determined.
[0080]
The call processing unit 2a and the shared memory 3 cooperate to perform the functions of the determination unit 25a and the recovery unit 25b.
The recovery unit 25b recovers the queue management information based on the update history information when the determination unit 25a determines that the recovery process is necessary.
The acquisition and release of the resources of the shared memory 3 are always queue-managed, and the processor 22a accesses information elements (queue management number, head queue address, previous queue address, and rear queue address) necessary for queue management. When a failure occurs, the determination unit 25a determines whether the queue management information table 7 of the shared memory 3 has been destroyed based on the contents of the memo recording unit 8. The determination unit 25a causes the recovery unit 25b to perform a complete recovery process when the queue management information table 7 has been destroyed, and causes the recovery unit 25b to execute the complete recovery process when the queue management information table 7 has not been destroyed. Do not perform recovery processing.
[0081]
As described above, since each of the processors 22a to 22e refers to the queue management information in the shared memory 3 based on the memo record and recovers the information, it is possible to recover the queue management information table 7 in a very short time or instantaneously.
(4) Description of operation
The recovery processing method of the queue management information table 7 of the shared memory 3 according to the present invention having the above configuration will be described in detail.
[0082]
When receiving the control signal, the load distribution device 1 distributes the load to each of the processors 22a to 22e, and manages the resources of the shared memory 3 using queues. When accessing the queue management information table 7, each of the processors 22a to 22e first temporarily writes the contents to be written to the queue management information table 7 to the memo recording unit 8 of the shared memory 3, and stores the written contents. I do.
[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 RNCs 84a to 84b may be provided with two load balancers 1, and in this case, after the occurrence of the failure is detected, first, the active processor and the standby processor Are mutually changed.
A failure occurs while the queue management information table 7 in the shared memory 3 is being accessed by each of the processors 22a to 22e. After recovery, the queue management number or the head queue address in the queue management information table 7 does not match the entity. May have occurred. In this case, the queue management information table 7 is recovered based on the memo information recorded at the time of access.
[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 memory 3 that can be accessed by the processors 22a to 22e. .
[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 memo recording unit 8.
[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 memo recording unit 8, a queue management information table 7, and cues A to D are displayed, and the upper half of the sheet is a memo recording unit 8, a queue management information before cue removal. Table 7 shows the status of the queue. The lower half represents their state after removal of the queue. Note that the direction from the top to the bottom represents the passage of time. Here, the queues A to D are generated before the queue is taken out, and the head queue A is taken out from the queues A to D. The queue management information table 7 holds the head queue address and the total number of queues forming the queue columns A to D.
[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 memo record 2. The next queue address B of the queue (resource) queued at the head is taken out and set in the memo record 2.
(J3) The processor 22a holds the queue management number (total number) in the memo record 1, and sets 3 obtained by subtracting 1 from the queue management number 4 in the queue management information table 7 in the memo record 1.
[0094]
In step J2 or step J3, if a failure occurs while the processor 22a is rewriting the memo records 1 and 2 (step J6a), no recovery is performed (step J6b).
(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 determination unit 25a determines that the recovery process is necessary, and , 2 are rewritten (step J7b).
[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 memory 3 accessible by the processors 22a to 22e.
[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 memo recording unit 8 that records an update history including the update history (determination step).
[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 memo recording unit 8. The necessity is determined based on the queue management number or the match / mismatch with the head queue address.
[0100]
Upon recovery, one of the processors rewrites the queue management number or head queue address of the memo recording unit 8 to the queue management number or head queue address of the queue management information table 7 based on the necessity.
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, reference numerals 1 to 6 shown in FIG. 10 correspond to the following (6-1) to (6-6), respectively.
[0102]
(6-1) The determining unit 25a determines whether the head queue address of the memo record 2 matches the head queue address of the queue management information table 7.
(6-2) If the judgment results do not match, the judgment unit 25a goes through the “mismatch” route, rewrites the memo record 2, and before the information in the queue management information table 7 is rewritten, a failure has occurred. It has not been done. Therefore, the recovery process is not performed ignoring the memo record.
[0103]
(6-3) The judgment unit 25a indicates that the memo record 1 is rewritten when the judgment results match, and that the memo record 1 is rewritten when the information in the queue management information table 7 is normal when the judgment results match. I have.
(6-4) The determination unit 25a determines whether the queue management number of the memo record 1 matches the queue management number of the queue management information table 7.
[0104]
(6-5) When the determination results do not match, the determination unit 25a rewrites the memo record 1 and, when a part of the queue management information table 7 is normal, has not been rewritten. Therefore, recovery is performed by referring to the memo record 1 and rewriting the queue management number in the queue management information table 7 to 3.
(6-6) When the determination results match, the determination unit 25a is in a state where the extraction has been completed when the queue management information table 7 and the head queue are normal. Therefore, recovery becomes unnecessary.
[0105]
(6-7) If the determination result of the determination unit 25a is “mismatch” in the above (6-1), a failure occurs before the queue management information table 7 is written through the route marked “mismatch”. Therefore, the determination unit 25a determines that the data is not damaged, and does not perform the recovery process.
(6-8) When the determination unit 25a determines that the queue management numbers do not match in (6-4), the head queue address of the queue management information table 7 has been rewritten through the NO route, It is determined that a failure has occurred.
[0106]
(6-9) The determination unit 25a performs a recovery process of replacing the queue management number of the memo record with the queue management number in the management number queue management information table 7.
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 memory 3 are queue-managed, and the information areas such as the queue management number required for this queue management, the first queue address, the previous queue address, and the rear queue address. Is stored as the memo recording unit 8 before it is accessed. Thus, the recovery process can be performed in a single time and at a high speed. Thus, the induction of double failure is avoided.
[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 memo recording 2, and takes out the intermediate queue C. For this reason, the queue next to the queue B is changed from the intermediate queue C to the queue D. Therefore, the processor 22a sets the address of the previous queue B of the intermediate queue C to the address (B) in the memo record 3.
[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 memo recording unit 3.
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 determination unit 25a determines that the recovery process is unnecessary (step K7b). ).
[0111]
(K5) The processor 22a rewrites the address of the next queue D of the queue B from C to D in the memo recording unit 3.
(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 determination unit 25a determines that the recovery process is necessary, and the recovery unit 25b Rewrites the contents of the memo records 1 to 3 into the queue management information table 7 (step K8b).
[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 determination unit 25a described below is the same as that of the processor 22a. Reference numerals 1 to 7 shown in FIG. 13 correspond to (8-1) to (8-7) shown below, respectively.
(8-1) The determination unit 25a derives the middle queue C from the information of the memo record 1, determines the match / "mismatch" between the previous queue address of the middle queue C and the previous queue address of the memo record 2, and The determination unit 25 a determines whether the next queue address matches the next queue address of the memo recording unit 3.
[0114]
(8-2) When the judgment results do not match
Since the queue has already been dequeued, the previous queue address of the memo recording 2 does not match the previous queue address of the intermediate queue C, and the next address of the memo recording unit 3 does not match the next queue address of the intermediate queue C. In this case, no recovery is performed through the NO route.
[0115]
(8-3) When the judgment results match
The determination unit 25a determines whether the address of the queue C in the middle of the memo recording 1 and the next queue address of the queue B are the same through the YES route.
(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 determination unit 25a determines whether the midway queue C address of the memo recording 1 is the same as the previous queue address of the queue D.
(8-6) When the judgment results do not match
This is the case where the determination unit 25a has not completed the removal, and the intermediate queue C is set to the next queue address of the queue B via the NO route. As a result, the recovery process is performed.
[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 memory 3, and the processors 22a to 22e perform the processing necessary for the queue management. If a failure occurs when accessing the information area, the recovery unit refers to the queue management information in the shared memory 3 based on the memo record and recovers the information. Can recover.
[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 memo record 1. Here, by connecting the queue to the memo record 1 from the queue management number in the queue management information table 7, 1 is added (+1), and 4 is set (step L4).
[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 memo records 1 and 2 (step L6a), the recovery is not performed (step L6b).
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 determination unit 25a determines that the recovery process is necessary, and , 2 are rewritten (step L7b).
[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. Reference numerals 1 to 6 shown in FIG. 16 correspond to (11-1) to (11-6) shown below, respectively.
[0127]
(11-1) The determination unit 25a determines whether the next queue address of the queue C of the memo recording unit 2 matches the next queue address of the queue C of the memo recording unit 3.
(11-2) When the determination results do not match
The determination unit 25a determines that the queue C is not damaged through the NO route, and does not perform the recovery process. That is, since a failure has occurred before writing the next queue address of the queue C, the queue is not damaged, so that it is determined that the recovery process is unnecessary, and the process ends.
[0128]
(11-3) When the judgment results match
In this case, the determination unit 25a passes the YES route, and when the next queue address information of the memo recording unit 3 and the queue C is normal, it corresponds to a rewritten state.
(11-4) The determining unit 25a determines whether the queue management number of the memo record 1 matches the queue management number of the queue management information table 7.
[0129]
(11-5) When the judgment results do not match
In this case, the determination unit 25a corresponds to a state in which a failure has occurred after the next queue address of the queue C has been rewritten, and the queue management information table 7 has not been rewritten. Therefore, the determination unit 25a performs a recovery process of rewriting the queue management number in the queue management information table 7 to 4 by referring to the memo record 1 through the NO route.
[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 determination unit 25a passes the YES route and ends the processing without the need for the recovery processing.
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 memory 3, when the queue indicating the call that has ended the call is deleted, the vacant resources (memory area or buffer area) are released, and the released resources are used as the call processing units 2a to 2e ( Alternatively, it is obtained by the processors 22a to 22e). For this reason, the size of the resources of the shared memory 3 is not fixed for each of the call processing units 2a to 2e and varies.
[0132]
Here, if a failure occurs when the call processing units 2a to 2e delete a queue that is no longer needed due to the termination of the call, the queue management information table 7 is destroyed. This causes a situation in which the section remains occupied, and also causes a decrease in resources allocated to each processor 22a to 22e.
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 MS 10a, the BTSs 83a to 83c or the RNCs 84a to 84b in the mobile communication system. Distributed monitoring or distributed management.
[0133]
FIG. 17 is a configuration diagram of a mobile communication system according to the second embodiment of the present invention. The mobile communication system 100a shown in FIG. 17 uses a CDMA system, and includes an RNC (communication device) 84p, a plurality of BTSs (opposite communication devices) 83p communicating with the RNC 84p, and an MS (mobile device). 10p.
Here, the MS 10p is provided with a control unit 86p having a shared memory 29 that can be accessed by a plurality of processors 22a to 22e, and the BTS 83p is provided with a mobile device control unit 87p having a shared memory 29. Further, the RNC 84p is provided with a distributed control unit 1a having a shared memory 29. Each of the MS 10p, the BTS 83p and the RNC 84p allocates a state monitoring table to the shared memory 29. In FIG. 17, those having the same reference numerals as those described above represent the same ones.
[0134]
The status monitoring table holds the above communication status including the resource status of the shared memory 3 that can be accessed by the plurality of processors 22a to 22e. This state monitoring table stores, in the shared memory 29, a queue address and a use state of a storage area corresponding to the queue address in association with each other.
FIG. 18 is a diagram schematically showing an area of the shared memory 29 according to the second embodiment of the present invention. The shared memory 29 shown in FIG. 18 includes a state monitoring table 30 for holding a communication state including a resource state, communication state holding units 31a to 31c for holding communication states of a plurality of BTSs 83a to 83c, and a state monitoring table 30. And a memo recording unit (communication state recording area or memo recording area) 32 for recording the communication state held in the memory. The memo recording unit 32 has memo recordings (memo recording areas) 32a to 32c.
[0135]
Thereby, the processors 22a to 22e provided in each communication device, the ROM 23 and the RAM 24 (see FIG. 4) cooperate to function as the call processing units 2a to 2e. Then, the resource status monitoring units (not shown) of these call processing units 2a to 2e monitor the resource status obtained in the shared memory 29. This makes it possible to check, for example, the operation state of software having a call processing function for each of the call processing units 2a to 2e.
[0136]
Further, when each of the call processing units 2a to 2e recognizes an abnormality in the resource state, the call processing unit 2a restores the shared memory 29 using the state monitoring table, and includes a management unit and a recovery unit (not shown). It is configured.
Here, the management unit divides the resources of the shared memory 29 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.
[0137]
Further, the recovery unit recovers data held in the shared memory 29 based on information of the management data file and the update data file at the time of failure recovery. Then, for example, the call processing unit 2a and the shared memory 29 shown in FIG. 17 cooperate to perform the functions of the management unit and the recovery unit.
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 recovery unit 33, the initialization unit 34, and the selection unit 35, and is referred to by the recovery unit 33, the initialization unit 34, and the selection unit 35. I have.
Here, the recovery unit 33 recovers a local failure portion of the state monitoring table 30 based on the communication state held in the memo recording unit 32. The initialization unit 34 initializes a local failure occurrence part among the plurality of communication states 1 to N held by the state monitoring table 30. Further, the selection unit 35 implements one of the recovery unit 33 and the initialization unit 34.
[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 BTS 83p (see FIG. 17) or the resource of the MS 10a is monitored or managed using the status monitoring table 30. More specifically, in the mobile communication system 100a, when the partner terminal 11a is talking with the MS 10a, the call between the partner terminal 11a and the MS 10a is transmitted through the public network 85a, the core network 101, the exchange 102, the RNCs 84a to 84b, and They are connected via BTSs 83a to 83c. In a state where the call is connected, each network or various communication devices mutually manage and monitor the ID and the like of the communication partner device.
[0140]
This also eliminates the need for the operator of the monitoring system 100a or the fault occurrence unit of the management system 100a to constantly check the queue in the shared memory 29 of the RNC 84p. Therefore, it takes time and man-hours to elucidate, and the occurrence of a failure can be found relatively early.
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 mobile communication system 100a, and a failure that has occurred between local communication devices can be recovered by referring to the state monitoring table 30.
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 supplementary notes 1 to 3, further comprising a recovery section for recovering the queue management information based on the update history information when the determination section determines that recovery is necessary. 2. The multiprocessor system according to 1.
[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.
JP2003003662A 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 Pending JP2004220118A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (176)

* Cited by examiner, † Cited by third party
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