JPH0765019A - データベースサービス方法およびそれを利用したサービス制御装置 - Google Patents

データベースサービス方法およびそれを利用したサービス制御装置

Info

Publication number
JPH0765019A
JPH0765019A JP5237384A JP23738493A JPH0765019A JP H0765019 A JPH0765019 A JP H0765019A JP 5237384 A JP5237384 A JP 5237384A JP 23738493 A JP23738493 A JP 23738493A JP H0765019 A JPH0765019 A JP H0765019A
Authority
JP
Japan
Prior art keywords
database
task
service
database service
server
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
JP5237384A
Other languages
English (en)
Inventor
Kazumichi Yamamoto
一道 山本
Hiroaki Odawara
宏明 小田原
Shiro Tanabe
史朗 田辺
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5237384A priority Critical patent/JPH0765019A/ja
Publication of JPH0765019A publication Critical patent/JPH0765019A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】インテリジェント・ネットワークを構成するサ
ービスコントロールポイント用データベースサーバにお
いて、問い合わせに対する応答時間を短縮することを目
的とする。 【構成】呼制御を実行するタスク10に対するデータベ
ースサービスを専門に行うデータベースサービスタスク
2を生成する。このタスク中にはバッファ15,16を
設ける。バッファ15,16には、問い合わせの対象と
なったレコードやアドレスを複写する。呼制御から同一
レコードへの問い合わせがあれば、これらのバッファを
利用して処理し、応答時間を短縮する。また、タスク2
は呼制御タスク10が実行している通信サービスの内容
に従って問い合わせのフローを先取りし、可能ならば必
要なレコードを先読みし、バッファ15,16に複写し
ておくことにより、応答時間を短縮する。このように呼
制御タスクとデータベースサービスタスクとを1対1に
対応付ける。 【効果】呼処理サーバからの問い合わせに対する応答時
間を短縮出来る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、インテリジェント・ネ
ットワークのサービスコントロールポイントSCPにお
けるデータベースサービス方法およびそれを利用したサ
ービス制御装置に関し、特に呼制御に関するデータベー
スサービスに用いて好適なデータベースサービス方法お
よびそれを利用したサービス制御装置に関する。
【0002】
【従来の技術】インテリジェント・ネットワークとは、
「インテリジェントネットワークとネットワークオペレ
ーション」(コロナ社:秋山、他 著)P.16によれ
ば「情報伝達網から高度通信サービス機能やそれに関連
する通信網制御機能を階層的に分離し、これらを通信網
を集中的に制御する情報処理・データベースセンタに移
し、このセンタを中心にして高度な通信サービスを実現
するネットワーク」と定義されている。そのようなイン
テリジェント・ネットワークにおいて、情報処理・デー
タベースセンタとして機能するのが、サービスコントロ
ールポイント(以下、「SCP」と略記する)である。
またSCPの機能を提供する装置を本明細書中において
は、「サービス制御装置」と呼んでいる。
【0003】SCPでは、高度通信サービスをリアルタ
イムで処理しなければならない。そのため、そのデータ
ベース機能には、高い処理能力、特に高速応答性が要求
される。同時に、マルチベンダ環境におけるデータベー
スの設計、維持、および拡張の容易性を実現するため
に、標準化技術を取り入れる必要がある。
【0004】データベースに対する問い合わせとその応
答に関するメッセージ書式等は、CCITT(国際電信
電話諮問委員会)勧告書Q. 1214により規定されて
いる。
【0005】このようなデータベースとして、従来から
リレーショナル・データベースを改良して用いることが
提案されている。例えば、情報処理学会第45回(平成
4年後期)全国大会予稿集p.4−81「リアルタイム
SQLにおける更新処理の最適化手法」(赤間)によれ
ば、リアルタイムな高速処理が要求される通信サービス
のために、データベース(DB)をメモリ常駐するメモ
リDB方式と、必要最小限の機能に絞り込んだリアルタ
イムSQL仕様により処理を高速化する方法が提案され
ている。
【0006】SCPは、呼制御を行う呼処理サーバと、
データベースサービスを行うデータベースサーバとを含
んで構成される。呼処理サーバとデータベースサーバ間
では、上記勧告書に従った問い合わせメッセージと、そ
れに対する応答メッセージがやり取りされる。呼処理サ
ーバから1件の問い合わせメッセージを発行すると、デ
ータベースサーバの内部で動作するプログラムまたはタ
スクが、その問い合わせメッセージに対する応答を返す
ようになっている。
【0007】
【発明が解決しようとする課題】従来のデータベースに
おける高速化は、基本的には、1件の問い合わせメッセ
ージに対する応答を高速化するという方向で改良が進ん
できている。
【0008】一方、呼制御の手順は、通信サービス毎に
予め定義されているので、ある呼制御においてどの様な
問い合わせが、どの様な順序で行われるかを知ることは
可能である。また、課金情報の記録等のように、1つの
呼制御において複数回参照、更新されるデータがある。
このような、呼制御に特有な問い合わせの特徴を活用す
れば、応答性を高められる可能性がある。
【0009】従来のデータベースにおいて1件の問い合
わせに対する応答を高速化することは重要であり、今後
もそのような高速化は図られていくであろう。しかし、
上述したような観点でさらに応答を高速化するアプロー
チは、従来、行われていない。1件の問い合わせ処理の
高速化による効果が限界に達した場合、それ以上に応答
性を高めるには、このような従来とは別の観点からの高
速化を考慮することが重要である。
【0010】本発明の目的は、これらの呼制御からの問
い合わせの特徴を活用して応答性をさらに高めることに
ある。具体的には、呼制御のフローに対応したデータベ
ースサービスを行うこと、及び一度検索あるいは参照し
たデータレコードを有効に再利用することを目的とす
る。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、呼処理サーバ内で実行されるある呼制御
からの要求により、データベースサーバ内で複数回のデ
ータベース処理が実行される際、該呼制御に対応したデ
ータベースサーバ内のタスク(以下、データベースサー
ビスタスクと呼ぶ)によって、該データベース処理の実
行及び管理を行なうようにする。また、呼制御がデータ
ベースサービスを要求する際、該呼制御を他の呼制御か
ら区別することが可能な識別符号を、その要求メッセー
ジに付加して、要求を行なうようにする。
【0012】データベースサーバ内では、その識別符号
を利用して他のタスクから区別されるデータベースサー
ビスタスクにより、該データベース処理の実行及び管理
を行なう。
【0013】データベースサービスタスクにおいて、デ
ータベースから検索して得るデータレコードの内容の全
部または一部、及び該データレコードのデータベース内
でのアドレスは、該タスク内に複写して保持する。
【0014】データベースサービスタスクと前記識別符
号により対応付けられる呼制御が実現する通信サービス
内容に従って、該通信サービスを実行するために必要な
データレコードをデータベースから検索し、該データレ
コードの内容の全部または一部、及び該データレコード
のデータベース内でのアドレスを該タスク内に複写して
保持する。
【0015】前記呼制御による(通信サービス実行上の
必要によって行われる)データベースサービス要求の発
行の有無に拘らず、対応するデータベースサービスタス
クが自動的に前記通信サービスを実行するために必要な
データレコードをデータベースから検索する。
【0016】前記識別符号を付加しない従来のデータベ
ースサービス要求に対しても、データベースサービスを
行う。
【0017】ある呼制御に対応したデータベースサービ
スタスクが終了するまでは、該タスクの占める記憶領域
を、OS(オペレーティングシステム)の仮想記憶機能
の作用により主記憶装置からディスク等の外部記憶装置
へ移動させないようにタスク管理を行う。
【0018】
【作用】上記構成によれば、ある呼制御に1対1で対応
したデータベースサービスタスクによって、該呼制御に
関するデータベース処理の実行及び管理が行われること
となる。従って、その呼制御の処理フローに対応したデ
ータベースサービスを行える。呼制御タスクからの問い
合わせ命令に識別符号を付加することにより、呼制御と
データベースサービスタスクとの対応付けが容易にな
る。
【0019】データベースを検索して得られるデータレ
コードやデータレコードへのアドレスをデータベースサ
ービスタスク内に複写して保持することにより、同一デ
ータレコードへの問い合わせが要求された場合に、高速
に応答出来る。
【0020】また、呼制御の処理の流れに対応したデー
タベースサービスタスク内に検索したデータレコードな
どを複写しておけるため、呼制御の処理を先取りして必
要なデータレコードを予め取得しておくこともできる。
この場合にも、予め取得しておいたデータレコードに関
する問い合わせ要求時に高速に応答できる。
【0021】さらに、前記識別符号を付加しない従来の
問い合わせ要求に対しても、データベースサービスを行
うことにより、本発明の方法に対応していない呼処理サ
ーバに対しても従来通りのデータベースサービスを行え
る。これにより、マルチベンダ環境においても本発明を
適用することが出来る。
【0022】また、本発明の方法を適用する装置(デー
タベースサーバ)としては、仮想記憶機能を備えたマル
チタスク計算機が考えられるが、呼制御に対応したデー
タベースサービスタスクが終了するまでは、それに割り
当てられた記憶領域を主記憶装置からディスクなどの外
部記憶装置へ移動(スワップアウト)させないようにタ
スク管理を行なう。これにより、不要なオーバヘッドを
削減し、問い合わせ要求時に高速に応答できる。
【0023】
【実施例】以下、図面を用いて本発明の実施例を説明す
る。
【0024】1.構成の説明
【0025】まず、本実施例におけるネットワークの構
成、SCPの構成、及びSCP内プログラムの構成につ
いて順に説明する。
【0026】(1)ネットワークの構成 図2は、本発明の一実施例に係るデータベースサービス
方法を適用したSCPを備えた公衆電話網の構成例を示
す。この公衆電話網は、インテリジェント・ネットワー
ク(以下、「IN」と略記する)21、複数の交換機2
2、及び端末群44により、構成される。端末群44
は、複数の端末24からなる。以下、各装置の機能を説
明する。
【0027】IN21は、交換機22のみのネットワー
クによる従来の通信網では実現できない高度通信サービ
スを実現する。すなわち、IN21は、データベース処
理、通信処理、及び情報処理等の機能を有し、交換機2
2を制御する。高度通信サービスとは、例えば、フリー
ダイアル等のように一般ダイアル翻訳(東京は03、大
阪06という具合)ではどの加入者に接続するのか特定
できない場合の処理や、指定時間転送等の個人が登録す
るデータにアクセスする場合の処理等のサービスであ
る。
【0028】交換機22は、そこに接続されている端末
24間の接続を行う。また、交換機22は、IN21に
アクセスを要するサービス呼を検出する機能を有する。
一般基本接続呼(IN21へのアクセスを要しないサー
ビス呼)は、交換機22内で閉じて処理が行われる。
【0029】端末24は、一般的には通常の電話機であ
る。IN21による高度通信サービスにアクセスするた
めに、端末24には、キーボードや表示装置等の装置が
付加されていてもよい。
【0030】IN21は、SCP(サービスコントロー
ルポイント)25と、サービス管理システム(以下、
「SMS」と略記する)26とから成る。SCP25
は、交換機22を制御し、高度通信サービスの制御を行
なう。SMS26は、ネットワーク保守機能を提供す
る。すなわち、SMS26は、保守者によるサービスの
クリエーション、及びトラヒック・課金集計等のサポー
ト処理を行なう。また、SMS26は、SCP25のバ
ックアップシステムでもある。
【0031】(2)SCPの構成 SCP25は、呼処理サーバ27、データベースサーバ
31、通信サーバ36、及びサーバ間通信網43から成
る。
【0032】呼処理サーバ27は、サービス呼の制御を
行うものである。呼処理サーバ27は、制御プロセッサ
(図面中では「CP」と略記)28、主記憶装置(図面
中では「MM」と略記)29、及びサーバ間通信網イン
ターフェース(図面中では「IF」と略記)30により
構成される。
【0033】データベースサーバ31は、データベース
サービスを行うものである。データベースサーバ31
は、制御プロセッサCP32、主記憶装置MM33、デ
ィスク(図面中では「DK」と略記)34、及びサーバ
間通信網インターフェースIF35により構成される。
【0034】通信サーバ36は、交換機22及びSMS
26との通信を制御するものである。通信サーバ36
は、制御プロセッサCP37、主記憶装置MM38、及
びインタフェース部39,40,41,42から構成さ
れる。このインターフェース部は、サーバ間通信網イン
ターフェースIF39、交換機22とのNo.7共通線
インターフェースIF40,41、及びSMS26との
パケット網インターフェースIF42を含む。
【0035】サーバ間通信網43は、呼処理サーバ2
7、データベースサーバ31、及び通信サーバ36を相
互に接続するように構成される。
【0036】(3)SCP内プログラムの構成 次に、本実施例の特徴であるSCP25内のデータベー
スサーバ31及び呼処理サーバ27にあるプログラムの
構成について説明する。
【0037】図1は、SCP25内のデータベースサー
バ31及び呼処理サーバ27のプログラムの構成を示
す。図1において、29は呼処理サーバの主記憶装置
(MM)、33はデータベースサーバの主記憶装置(M
M)を示し、各々図2における参照番号と同じ物を指
す。
【0038】呼処理サーバの主記憶装置29には、複数
の呼制御タスク10,11,12,13と、サーバ間通
信タスク14がある。これらのタスクは、呼処理サーバ
27の制御プロセッサ28(図2参照)と協調して動作
している。なお、図面中では呼制御タスクを4個しか記
載していないが、その個数に特に制限はない。
【0039】データベースサーバ31の主記憶装置33
には、複数のデータベースサービスタスク(以下、図面
中の記載と同様に「DBST」と略記する)DBST−
a2,DBST−b3,DBST−c4,DBST−d
5、無名DBST8、フロントエンドタスク6、及びデ
ィスクコントロールプログラム7があり、これらはデー
タベースサーバの制御プロセッサ32(図2参照)と協
調して動作している。なお、図面中ではDBSTを4
個、無名DBSTを1個しか記載していないが、それら
の個数に特に制限はない。
【0040】ここに、DBST−a2、DBST−b
3、DBST−c4、及びDBST−d5は、−a、−
b、−c、−d等のようにそれぞれ識別名を持つ。これ
に対し、無名DBST8は、これに該当する識別名を持
たないため、本実施例では無名DBSTと名付けてい
る。この無名DBST8の動作は、図3を用いて後に説
明するDBST56と同等である。
【0041】次に、これらのプログラムの処理の概要を
説明する。
【0042】呼制御タスク10,11,12,13は、
呼処理サーバ27内で呼毎に1つ起動され呼制御を行
う。ユーザの指定するサービスに基いて呼制御を実行す
るためには、そのサービスを実現する手順に関するデー
タ、ユーザに関するデータ(例えば課金データ)、及び
接続に必要なデータ(例えば電話番号データ)等を得る
必要がある。それらのデータを管理し、呼制御タスク1
0,11,12,13からの要求に応じてデータを渡し
たり、受け取ったりするデータベース機能を果たすのが
データベースサーバ31である。
【0043】このデータベースサービスに注目すると、
呼処理サーバ27とデータベースサーバ31との関係
は、クライアント・サーバ・モデルにおけるクライアン
ト(前者)とサーバ(後者)の関係に相当する。
【0044】呼制御タスク10,11,12,13のデ
ータベースサービス要求は、データベースサーバ31内
で動作するDBST2,3,4,5,8に対する問い合
わせ命令の形で発行される。DBST2,3,4,5,
8は呼制御タスクからの問い合わせ命令を解釈し、必要
なデータベース操作を行い、呼制御タスクへ応答を返
す。
【0045】データベース操作は、ディスクコントロー
ルプログラム7に対して、ディスク制御を依頼しながら
行なう。呼処理サーバ27とデータベースサーバ31間
の、命令と応答のやり取りを司るのは、前者側ではサー
バ間通信タスク14、後者側ではフロントエンドタスク
6である。
【0046】呼処理サーバ27もデータベースサーバ3
1も、複数のタスクが並列動作するマルチタスクで動作
するため、複数の問い合わせ命令と応答が交錯する状態
になり得る。サーバ間通信タスク14とフロントエンド
タスク6は協調して動作し、ある問い合わせ命令を発行
した呼処理タスクに対する応答を正しく選択し返すこと
を保証するようにしている。
【0047】次に、本実施例の特徴を挙げる。
【0048】本実施例では、呼制御タスク10,11,
12,13の各々に1対1で対応するDBST2,3,
4,5を起動し、ある呼制御タスクに係る一連のデータ
ベースサービスを、対応する1つのDBSTで実行する
ところに特徴がある。
【0049】また、呼制御タスクとDBSTとを対応さ
せるために、ある呼制御タスクを他の呼制御タスクから
区別することができる識別符号17を用いて、データベ
ースサーバに対する問い合わせ命令発行の際にその識別
符号を付加し、それによりデータベースサーバ内の対応
するDBSTを他のDBSTから区別して管理すること
に特徴がある。
【0050】さらに、DBST内に、データベースから
読みだしたデータの写しを記憶する記憶領域としてデー
タバッファ15を用意し、読みだしたデータのデータベ
ース上でのアドレスを記憶する記憶領域としてアドレス
バッファ16を用意することに特徴がある。加えて、デ
ータベースサーバにおいて、識別符号を付加しない問い
合わせ命令に対しても、無名DBST8によってデータ
ベースサービスを行うことに特徴がある。
【0051】以上のような本実施例の特徴によって、呼
制御タスクに対応したDBSTにより、その呼制御に必
要な一連のデータベースサービスを一括して管理、実行
できる。言い替えれば、ある呼制御タスクに対して、そ
の呼制御タスクに専用のDBSTが生成され、生成され
たDBSTは、その呼制御タスクが終了する間際まで停
止あるいは消滅することはない。
【0052】このため、データバッファを活用したり、
呼制御タスクが実行している通信サービスの内容に従っ
てその通信サービスの実行に必要なデータを予測して先
読みしたりして、データベースサービスの応答時間を短
縮することが出来る。さらに、識別符号を付加しない従
来の問い合わせ命令に対してもデータベースサービスを
提供できるので、従来の呼処理サーバと、本実施例によ
るデータベースサービス方法を採用したデータベースサ
ーバとを混在させてSCP25(図2参照)を構成する
こともできる。
【0053】ここで、図3を参照して、本発明を適用し
ない従来方法による場合のデータベースサーバのプログ
ラムの構成の概要を説明し、本実施例と対比する。
【0054】図3は、従来のSCP内のデータベースサ
ーバ及び呼処理サーバのプログラム構成を示す。29及
び33は、各々、呼処理サーバの主記憶装置(MM)、
及びデータベースサーバの主記憶装置(MM)を示す。
【0055】呼処理サーバの主記憶装置29には、複数
の呼制御タスク58と、サーバ間通信タスク14があ
る。これらは、呼処理サーバの制御プロセッサと協調し
て動作している。ここで、サーバ間通信タスク14は、
図1で説明したサーバ間通信タスク14と同様のもので
ある。なお、呼制御タスクの個数に特に制限を設けな
い。ここまでの呼処理サーバ内の構成は、図1と同様で
ある。
【0056】データベースサーバの主記憶装置33に
は、複数のDBST56と、サーバ間通信タスク57、
ディスクコントロールプログラム7があり、データベー
スサーバの制御プロセッサと協調して動作している。こ
こで、ディスクコントロールプログラム7は、図1のデ
ィスクコントロールプログラム7と同様のものである。
なお、DBSTの個数に特に制限を設けない。
【0057】図3の従来例は本発明と異なり、呼制御タ
スク58とDBST56とは必ずしも1対1に対応して
いるとは限らない。元々、データベースサーバは、呼処
理サーバからの問い合わせ命令に応じてデータベース操
作を行い、相応の応答を返す処理を行う。
【0058】あるDBST56は、いずれかの呼制御タ
スク58からの1つの問い合わせ命令19のみを処理し
て応答20を返信すれば十分であり、その後、例えば消
滅してしまっても構わない。また、例えばDBST56
が、ある呼制御タスク58に対して応答20を返信した
後、全く別の呼制御タスクからの問い合わせ命令を受け
付けて処理を開始してもよい。
【0059】言い替えれば、呼制御タスク58とDBS
T56とは、1件の問い合わせ命令の処理中には対応関
係が保証されるが、処理終了後はその対応関係が保持さ
れる保証はない。後に詳述するが、先に述べた図1の実
施例における無名DBST8は、このDBST56と同
等の動作を行う。
【0060】呼制御タスク58には、図1における識別
符号17があっても良いが、無くても良い。なぜなら、
呼制御タスク58とDBST56との間の1件の問い合
わせ命令処理中の対応関係は、サーバ間通信プログラム
14及び57が保持するからである。また、DBST5
6に、図1におけるデータバッファ15、及びアドレス
バッファ16のような記憶領域があっても良いが、無く
ても良い。なぜなら、1件の問い合わせ命令を処理して
しまえば、呼処理タスク58とDBST56の対応関係
は失われてしまうのであるから、バッファ15,16を
有効に活用することができないからである。
【0061】2.方法の説明
【0062】次に、本実施例の特徴であるデータベース
サーバ内のデータベースサービスタスク及び無名データ
ベースサービスタスク、並びにそれらの動作を支援する
フロントエンドタスク及びサーバ間通信タスクの詳細を
述べる。
【0063】(1)データベースサービスタスク(DB
ST) まず、本実施例の特徴である呼制御タスクに対応したD
BST2,3,4,5の具体的な処理方法について述べ
る。
【0064】図4に、DBSTの構成を示す。図4にお
いて、33はデータベースサーバの主記憶装置(MM)
であり、図2における参照番号と同じ物を指す。2はデ
ータベースサーバの主記憶装置33内のDBST−aで
あり、図1における参照番号と同じ物である。実際に
は、図1におけるDBST−b3,DBST−c4,D
BST−d5が示すように、複数のDBSTが主記憶装
置33内に存在することが通常だが、ここでは1つのD
BST−a2を例に取り説明する。
【0065】DBST−a2は、データベースサービス
プログラム71と、それにより操作されるデータ構造体
72とから成る。71は図5を用いて、72は図6を用
いてこの後、各々説明する。なお、図1においてDBS
T−a2内に図示しているデータバッファ15、及びア
ドレスバッファ16はデータ構造体72内に確保され
る。
【0066】図5のフローチャートは、データベースサ
ービスプログラム71の処理手順を示す。
【0067】まず、後述するフロントエンドタスク6
(図1参照)によりDBST−a2が起動され、データ
ベースサービスプログラム71が処理を開始する(ステ
ップ81)。ステップ82では、フロントエンドタスク
6からの問い合わせメッセージを受け取るため待機す
る。問い合わせメッセージの書式を、図21に示す。図
21から分かるように、問い合わせメッセージは、呼処
理タスクからの問い合わせ命令402(図1の参照番号
19)を含む。
【0068】フロントエンドタスク6から問い合わせメ
ッセージを受け取ったら、ステップ83に進み、問い合
わせ命令を解釈する。ステップ84では、問い合わせの
対象となるデータレコードが、データ構造体72内にバ
ッファされているかどうかを判断し、その結果により処
理フローを分岐する。
【0069】バッファされていない場合(no)は、ス
テップ105に進む。ステップ105では、対象レコー
ドのディスクDK34(図2参照)上でのアドレスがデ
ータ構造体72のバッファ内にあるかどうかを判断し、
あれば(yes)ステップ106へ、無ければ(no)
ステップ85へ進む。
【0070】ステップ106では、問い合わせ命令が更
新トランザクションを含むか否かを判断し、含む(ye
s)ならステップ96へ、含まない(no)ならステッ
プ107へ、処理フローを分岐する。
【0071】ステップ107では、データ構造体72内
のアドレスバッファから、問い合わせ対象のデータレコ
ードのディスクDK34上でのアドレスを読み出す。次
に、ステップ108では、ステップ107で得た問い合
わせ対象のデータレコードのアドレスを指定してデータ
ベースを検索あるいは参照するように、ディスクコント
ロールプログラム7にアクセス命令を発行する。次に、
ステップ98へ進む。
【0072】ステップ98で、ディスクコントロールプ
ログラム7からの応答を待つ。ディスクコントロールプ
ログラム7からの応答(すなわち、データベースの検索
参照結果)があったら、ステップ99で、呼処理サーバ
に対して応答を返す。その内容は、例えばステップ10
8で得たデータレコード等である。ステップ100で
は、ステップ108でアクセスしたデータレコードを、
データ構造体72内のデータバッファに必要に応じてコ
ピーする。
【0073】次に、ステップ93では、呼制御タスクで
行っている通信サービスの内容に従って、データの先読
み処理を行う。この処理は本実施例の特徴のひとつであ
り、図12を用いて後に詳しく説明する。
【0074】次に、ステップ94では、処理している問
い合わせ命令が呼制御のいちばん最後の問い合わせであ
るかどうかを判断し、終了するならばステップ103で
終了処理を行ない、そうでなければステップ82へ戻
り、プログラム全体を繰り返す。
【0075】ステップ106で条件が成立した場合(y
es)、すなわち問い合わせ命令が更新トランザクショ
ンを含む場合は、ステップ96へ進む。ステップ96で
は、データ構造体72内のアドレスバッファから、問い
合わせ対象のデータレコードのディスクDK34上での
アドレスを読み出す。次に、ステップ97では、ステッ
プ96で得た問い合わせ対象のデータレコードのアドレ
スを指定してデータベースを更新するように、ディスク
コントロールプログラム7にアクセス命令を発行する。
【0076】そして、ステップ98で、ディスクコント
ロールプログラム7からの応答を待つ。応答があった
ら、ステップ99で、呼処理サーバに対して応答を返
す。その内容は、例えば更新トランザクションの完了を
示すデータである。ステップ100では、ステップ97
でアクセスしたデータレコードを、データ構造体72内
のデータバッファに、必要に応じて、コピーする。次
に、通信サービスの内容に従ってデータの先読み処理を
行なうステップ93に進む。以降の処理は既に説明し
た。
【0077】ステップ105で条件が成立しなかった場
合(no)、すなわち対象レコードのディスクDK34
上でのアドレスがバッファ内にない場合は、ステップ8
5へ進む。ステップ85では、問い合わせ命令に従いデ
ィスクDK34内に格納されているデータベースを検索
アクセスするように、ディスクコントロールプログラム
7(図1参照)にアクセス命令を発行する。そして、ス
テップ86で、ディスクコントロールプログラム7から
の応答を待つ。
【0078】次に、ステップ87では、問い合わせ命令
が更新トランザクションを含むか否かを判断し、含む
(yes)ならステップ88へ、含まない(no)なら
ステップ90へ、処理フローを分岐する。
【0079】更新トランザクションを含む問い合わせ命
令である場合は、ステップ88で、ディスクコントロー
ルプログラム7に対して、データベースに更新アクセス
するようにアクセス命令を発行する。そして、ステップ
89で、ディスクコントロールプログラム7からの応答
を待つ。
【0080】次に、ステップ90では、呼処理サーバに
対して応答を返す。その内容は、例えば、データベース
へのアクセスが参照トランザクションであった場合に
は、検索したデータレコードであるし、更新トランザク
ションであった場合には、その完了を示すデータであ
る。
【0081】ステップ91では、ステップ85及びステ
ップ88でアクセスしたデータレコードを、データ構造
体72内のデータバッファに必要に応じてコピーする。
ステップ92ではステップ91と同様に、アクセスした
データレコードへのアドレスを、データ構造体72内の
アドレスバッファに必要に応じてコピーする。ここで、
アクセスしたデータレコードへのアドレスとは、ディス
クDK34上でのデータレコードのアドレスである。
【0082】ステップ93では、通信サービスの内容に
従って、データの先読み処理を行なう。ステップ94で
は、処理している問い合わせ命令が呼制御の一番最後の
問い合わせであるかどうかを判断する。呼制御の一番最
後の問い合わせであるかどうかは、問い合わせの内容に
よって判断できる。例えば、呼の終了時には、後述する
端末リソーステーブル(図10参照)内のリソースレコ
ードのリソース使用数を1減算する問い合わせが実行さ
れるが、これをもって呼制御の一番最後の問い合わせと
認識すればよい。
【0083】ステップ94の判断結果によって、終了す
る場合(yes)にはステップ103へ、そうでない場
合(no)にはステップ82へ、それぞれ分岐する。ス
テップ103では、タスク終了メッセージをフロントエ
ンドタスクへ発行する。すると、ステップ104で、プ
ログラムが終了する。ステップ94からステップ82へ
分岐した場合には、プログラム全体が繰り返される。
【0084】ステップ84において、問い合わせの対象
となるデータレコードが、データ構造体72内にバッフ
ァされている場合(yes)は、ステップ95へ分岐す
る。ステップ95では、問い合わせ命令が更新トランザ
クションを含むか否かを判断し、含む(yes)ならス
テップ96へ、含まない(no)ならステップ101
へ、処理フローを分岐する。
【0085】問い合わせ命令が更新トランザクションを
含む場合は、ステップ96で、データ構造体72内のア
ドレスバッファから、問い合わせ対象のデータレコード
のディスクDK34上でのアドレスを読み出す。次に、
ステップ97では、ステップ96で得た問い合わせ対象
のデータレコードのアドレスを指定してデータベースを
更新するように、ディスクコントロールプログラム7に
アクセス命令を発行する。
【0086】そして、ステップ98で、ディスクコント
ロールプログラム7からの応答を待つ。ステップ99で
は、呼処理サーバに対して応答を返す。その内容は、例
えば更新トランザクションの完了を示すデータである。
ステップ100では、ステップ97でアクセスしたデー
タレコードを、データ構造体72内のデータバッファに
必要に応じてコピーする。ステップ93では、通信サー
ビスの内容に従って、データの先読み処理を行なう。
【0087】次に、ステップ94では、処理している問
い合わせ命令が呼制御のいちばん最後の問い合わせであ
るかどうかを判断し、終了するならステップ103で終
了処理を行ない、そうでなければステップ82へ戻り、
プログラム全体を繰り返す。
【0088】ステップ95において、問い合わせ命令が
更新トランザクションを含まない場合(no)は、ステ
ップ101で、データ構造体72内のデータバッファか
ら問い合わせ対象のデータレコードの内容を読み出す。
次に、ステップ102で、呼処理サーバに対して応答を
返す。その内容は、例えばステップ101で得たデータ
レコードである。
【0089】ステップ94では、処理している問い合わ
せ命令が呼制御のいちばん最後の問い合わせであるかど
うかを判断し、終了するならステップ103で終了処理
を行ない、そうでなければステップ82へ戻り、プログ
ラム全体を繰り返す。
【0090】次に、図6を参照して、データ構造体72
について説明する。データ構造体72は、呼識別符号領
域111、サービス番号領域112、先読み処理用テー
ブル113、及びバッファテーブル119から成る。
【0091】呼識別符号領域111には、呼処理サーバ
27(図2参照)内の呼制御タスク10(図1参照)の
呼識別符号17と同じ呼識別符号を格納する。サービス
番号領域112には、呼制御タスク10が実行している
通信サービスの種類を表すサービス番号を格納する。
【0092】呼制御タスク10は、端末ユーザが要求す
る通信サービスの種類を判別し次第、データベースサー
バ31からそのサービスを実現する手順に関するデータ
を得る必要がある。このため、サービス番号をキーとし
てサービス手順のデータベースを検索参照する問い合わ
せ命令を発行する。
【0093】この問い合わせをきっかけとして、DBS
T−a2がフロントエンドタスク6により生成される。
この際、呼処理サーバ27からデータベースサーバ31
へ発行される問い合わせメッセージ391(図20参
照)に付加されてくる呼識別符号を呼識別符号領域11
1に格納し、またサービス番号を抽出しサービス番号領
域112に格納する。
【0094】先読み処理用テーブル113は、DBST
−a2がデータの先読み処理を行なう場合に必要となる
(図5のステップ93参照)。先読み処理において、先
読み処理用テーブル113がどのように用いられるか
は、図12を用いて後述する。図6には、先読み処理用
テーブルの一例を示す。
【0095】先読み処理用テーブル113には、先読み
を行なう基準となる条件の数、すでに満たした条件の
数、実行する先読み処理プログラムを指すプログラムポ
インタ、及び先読みしたかどうかのチェック等が格納さ
れる。その内容は、通信サービス毎に異なる。DBST
−a2が、フロントエンドタスク6により生成される
際、該当する通信サービスの先読み処理用テーブルがコ
ピーされる。
【0096】図7を参照して、先読み処理用テーブル1
13の内容を詳しく説明する。このテーブル113を構
成する項目は、イベント番号114、条件数115、カ
ウント116、プログラムへのポインタ117、及び処
理済みチェック118である。
【0097】データの行(131、132等)は、実行
可能な先読み処理の数だけ用意される。最後のデータの
行133には、テーブルの最後を示す特別な値、ここで
はnullを入れておく。イベント番号114は、先読
み処理を区別する番号である。条件数115は、先読み
を行なう基準となる条件の数である。カウント116
は、すでに満たした条件の数である。プログラムへのポ
インタ117は、実行する先読み処理プログラムを指す
プログラムポインタである。処理済みチェック118
は、その先読み処理がすでに行われたかどうかを示す値
である。
【0098】再び図6を参照して、バッファテーブル1
19について説明する。バッファテーブル119は、図
1におけるデータバッファ15とアドレスバッファ16
の集合したものである。バッファテーブル119には、
データベースへのアクセスを行った場合、得られたデー
タレコードや、そのディスク上でのアドレス等をコピー
して保持しておく。
【0099】図5のステップ91,92,100でバッ
ファテーブルを更新する処理が行われ、ステップ96,
101では、バッファテーブルを参照する処理が行われ
る。これにより、バッファ済みのデータレコードであれ
ば、実際にディスク上のデータベースにアクセスする場
合よりも高速に処理を終えることが出来る。図6には、
バッファテーブルの一例を示す。
【0100】バッファテーブル119には、バッファし
ているデータの種類、バッファしたかどうかのチェッ
ク、先読み処理を実行するのに必要なデータかどうかを
示す情報、及びバッファ領域などが格納される。その内
容は通信サービス毎に異なる。DBST−a2が、フロ
ントエンドタスク6により生成される際、該当する通信
サービスのバッファテーブルがコピーされる。
【0101】図8を参照して、バッファテーブル119
の内容を詳しく説明する。図8では、説明し易いように
バッファの数は1行にしてある。テーブル119を構成
する項目は、バッファ番号120、種類121、バッフ
ァ済みチェック122、先読み参照数123、先読みイ
ベント番号124,140、バッファ領域125、及び
終端マーク126である。
【0102】バッファ番号120は、バッファ領域を区
別する番号である。種類121は、バッファ領域125
に格納するデータが、データベースのデータレコードそ
のものであるか、あるいはディスク上でのアドレスであ
るかを区別する値である。例えば、前者なら「D」、後
者なら「A」と言う値である。バッファ済みチェック1
22は、すでにバッファしたかどうかを示す値である。
先読み参照数123は、関係する先読みが何件あるかを
示す値である。これに示す値の数だけ、次に述べる先読
みイベント番号124,140が並ぶことになる。
【0103】先読みイベント番号124,140は、図
7におけるイベント番号114のいずれかを指す。バッ
ファ領域125には、バッファすべきデータレコードや
アドレスが格納される。終端マーク126には、バッフ
ァ領域125の終わりを示す特別な値、例えばnull
が格納される。
【0104】図5のステップ91,92,100でバッ
ファテーブル119を更新する際に行われる処理の概要
を説明する。
【0105】まず、バッファ領域125にデータレコー
ドが格納される。次に、先読み参照数123が例えば
「1」で、先読みイベント番号124が例えば「1」で
あれば、格納と同時に、先読み処理用テーブル113
(図7参照)のイベント番号114=1(先読みイベン
ト番号124の内容)に相当する行131のカウント1
16をインクリメント(1加算)する。また、バッファ
済みチェック122の値を、例えば「未」から「済」等
にして、バッファが完了したことを示すようにする。
【0106】以上、図4から図8を用いて、DBST−
a2の概要を説明したが、次に具体的な例を用いて、デ
ータベースのデータをバッファしたり、先読みする処理
の様子を説明する。
【0107】以下、図9から図11により例として用い
るデータベース内のテーブルを、図12から図14によ
り先読み処理の手順を説明する。具体的な通信サービス
を例にとり、その処理の流れに沿って説明する。ここで
は、公衆網を用いた内線接続サービスを考えるものとす
る。内線接続サービスとは、ある企業例えばA社の第1
支店の(公衆網に直結した)電話(端末)からA社で規
定した内線番号をかけるだけで、遠隔地にある第2支店
の電話(端末)につなぐことを可能にするサービスであ
る。
【0108】まず、図9及び図10を参照して、SCP
25(図2参照)で端末24を管理するための基本的な
データベースである端末リソースレコードについて説明
する。端末リソースレコードは、1台の端末に付き1件
づつ登録されるレコードであり、端末に関する各種の情
報が格納されている。
【0109】図9に、端末リソースレコードの書式を示
す。物理番号151は、端末の電話番号のことである。
物理番号151によって1台の端末を特定できる。使用
可否152は、この端末が使用可能かどうかを示す。す
なわち、現在、この端末に対して電話接続をしてもいい
かどうかを示す。リソース使用数153は、端末の現在
の使用状況を示す。端末が使用されていないときは、例
えば「0」で、使用中は例えば「1」である。
【0110】属性154は、端末の属性を示す。本実施
例では、個人契約か団体契約か、団体契約なら団体名を
示すこととする。許可されたサービス数155は、端末
から利用することの出来る通信サービスが何種類登録さ
れているかを示す。具体的には、次に述べる許可された
サービス番号156,157の数を示す。許可されたサ
ービス番号156,157は、端末から利用できる通信
サービスを、その番号で示す。課金記録158は、端末
に課せられた電話料金を示す。
【0111】図10に、端末リソースレコードをテーブ
ルにした端末リソーステーブル171の例を示す。以下
の説明で用いる、発呼側端末のリソースレコード179
と、着呼側端末のリソースレコード180とを、例示し
てある。
【0112】発呼側端末のリソースレコード179に
は、物理番号151の値として端末の電話番号(12−
3456)、使用可否152の値として使用可能を示す
値(可)、リソース使用数153の値として現在は使用
中でないことを示す値(0)、属性154としてA社の
団体契約であることを示す値(A社)、許可されたサー
ビス数155として設定された値(1)、許可されたサ
ービス番号156としてここで説明する内線接続サービ
スを表す値(1)、及び課金記録158として現在まで
の課金値(¥1000)が、それぞれ設定されている。
【0113】着呼側端末のリソースレコード180に
は、物理番号151の値として端末の電話番号(12−
7890)、使用可否152の値として使用可能を示す
値(可)、リソース使用数153の値として現在は使用
中でないことを示す値(0)、属性154としてA社の
団体契約であることを示す値(A社)、許可されたサー
ビス数155として設定された値(1)、許可されたサ
ービス番号156としてここで説明する内線接続サービ
スを表す値(1)、及び課金記録158として現在まで
の課金値(¥2000)が、それぞれ設定されている。
【0114】ここで説明しようとしている公衆網を用い
た内線接続サービスでは、内線番号を物理番号に変換す
るためのデータベースが必要である。図11に、例とし
て用いる番号変換テーブル191を示す。
【0115】番号変換テーブル191は、内線番号19
2と物理番号193との2つの項目からなる。図11で
は、発呼側番号変換レコード194と、着呼側番号変換
レコード195とを例示してある。ある内線番号をキー
としてこの番号変換テーブル191を検索すれば、着呼
側(通話相手)の物理番号を得ることができる。
【0116】次に、図12から図14のフローチャート
を参照して、データベースのデータをバッファしたり、
先読みする処理の様子を説明する。事例として、A社の
第1支店の電話端末(物理番号=12−3456)か
ら、第2支店の電話端末(物理番号=12−7890)
へ、上述の内線接続サービスによりA社規定の内線番号
で電話接続することを考える。
【0117】まず、発呼側電話端末(物理番号=12−
3456)からのダイヤル発信により、呼処理サーバ2
7(図2参照)内で呼制御タスク10(図1)が起動さ
れる。呼制御タスク10は、これから実行すべき通信サ
ービス手順等に関する情報を得るため、データベースサ
ーバ31に対して問い合わせ命令を発行する。これによ
り、データベースサーバ31内でDBST−a2(図
1)が起動され、DBST−a2は通信サービス手順等
の情報を呼制御タスク10へ返す。
【0118】DBST−a2は、図5に示すデータベー
スサービスプログラムの処理を開始し、発呼側端末のリ
ソースレコード179を参照する問い合わせ命令を呼制
御タスク10から受け取り、命令解釈する(ステップ8
2,83)。始めは、問い合わせの対象となるデータレ
コードはバッファされておらず、対象レコードのアドレ
スもバッファされていないから、ステップ84,105
を介して、ステップ85に進み、受け取った問い合わせ
命令をデータベース上の端末リソーステーブル171
(図10)から、物理番号をキーとして検索する(ステ
ップ85)。
【0119】得られた発呼側端末のリソースレコード1
79は、ステップ90で、呼処理サーバに応答される。
また、このリソースレコード179は、図6のデータ構
造体72内のバッファテーブル119のバッファ134
のバッファ領域125にコピーされる。同時に、バッフ
ァ済みチェック122に、バッファしたことを示す値、
例えば「済」を設定する。バッファ134では、先読み
参照数123が「1」なので、先読みイベント番号12
4(=1)を参照し、先読み処理用テーブル113(図
7)のイベント番号114が「1」と等しい行131の
カウント116をインクリメントする(以上、ステップ
91)。
【0120】また、発呼側端末のリソースレコード17
9のディスク34上でのアドレスは、同じくバッファ1
35のバッファ領域125にコピーし、バッファ済みチ
ェック122に「済」を設定する(ステップ92)。
【0121】次に、ステップ93で先読み処理を行う。
先読み処理については、図12を参照して説明する。
【0122】先読み処理201は、ステップ202で開
始され、図6のデータ構造体72の先読み処理用テーブ
ル113を1行づつ処理し、ステップ206で終了す
る。ステップ203では、先読み処理用テーブル113
を最後まで処理したかどうかを判断する。イベント番号
114の項の値がnullなら、ステップ206へ分岐
し終了する。そうでなければ、ステップ204に分岐す
る。
【0123】ステップ204では、カウント116の値
が条件数115の値より大きいか等しく、かつ、処理済
みチェック118の値が「未」であれば、ステップ20
5へ分岐する。そうでなければステップ203へ分岐
し、先読み処理用テーブル113の次の行の処理を始め
る。ステップ205では、プログラムへのポインタ11
7が指すプログラムを実行する。ここでは、プログラム
aが指定されている。
【0124】図13により、プログラムaの処理を説明
する。ステップ212で、処理が始まる。ステップ21
3では、バッファテーブル119(図6参照)のバッフ
ァ134のバッファ領域125から、既にコピーされて
いる発呼側リソースレコードの属性フィールドを参照し
(図10の発呼側端末のリソースレコード179参
照)、A社の内線接続を行えばよいことを知る。
【0125】ステップ214では、A社の内線番号変換
のためにディスク上の番号変換テーブル191へのアド
レスを得るため、検索処理を行なう。ステップ215で
は、ステップ214で得た番号変換テーブル191への
アドレスを、バッファテーブル119のバッファ136
のバッファ領域125にコピーする。
【0126】ステップ216でプログラムaは終了する
から、図12の先読み処理201のステップ205が完
了する。
【0127】再び図12を参照して、ステップ205の
後、ステップ203へ分岐し、先読み処理用テーブル1
13の次の行の処理を始める。先読み処理用テーブル1
13の次の行132は、未だステップ204の条件を満
たしておらず、またその次の行133は最後の行なの
で、この先読み処理は、ステップ206へ分岐し終了す
る。よって、図5のステップ93も終了し、次の処理へ
進んでいく。
【0128】そのあと呼制御が進むと、ダイヤルされた
内線番号(例えば、1234)を着呼側端末(通話相
手)の物理番号に変換するための問い合わせ命令が、呼
制御タスク10から発行される。これを受けて、データ
ベースサービスプログラム71のステップ83からの処
理が再び始まる。
【0129】番号変換のためには番号変換テーブル19
1(図11参照)を検索、参照するが、同テーブル19
1へのディスク上のアドレスは、データ構造体72のバ
ッファテーブル119のバッファ136のバッファ領域
125に、予めコピーしてある。
【0130】このため、ステップ84、ステップ10
5、ステップ106を経て、処理はステップ107に分
岐する。そして、予めコピーしてあるアドレスを指定し
て、ステップ108でデータベースを参照アクセスす
る。ここでは、ダイヤルされた内線番号をキーとして番
号変換テーブル191を検索し、内線番号1234に対
応する物理番号12−7890を得る。
【0131】この結果を呼制御タスクに応答する(ステ
ップ99)。また、この結果を、データ構造体72のバ
ッファテーブル119のバッファ137のバッファ領域
125にコピーする。同時に、バッファ済みチェック1
22に「済」を設定する。また、バッファ137では、
先読み参照数123が「1」なので、先読みイベント番
号124(=2)を参照し、先読み処理用テーブル11
3のイベント番号114が「2」と等しい行131のカ
ウント116をインクリメントする(以上、ステップ1
00)。
【0132】次に、ステップ93で先読み処理を行う。
先読み処理について、図12を用いて説明する。
【0133】先読み処理用テーブル113のイベント番
号114=1の行131は、ステップ203及びステッ
プ204の条件が成立しない。そこで、次の行132が
処理にかかる。ステップ203を経て、ステップ204
の条件が成立するので、ステップ205へ分岐する。
【0134】ステップ205では、行132のプログラ
ムへのポインタ117が指すプログラムを実行する。こ
こでは、プログラムbが指定されている。
【0135】図14により、プログラムb221の処理
を説明する。プログラムbの処理の概要は、着呼側端末
(通話相手)の物理番号をキーにして着呼側端末のリソ
ースレコードを得ることである。
【0136】ステップ222で処理が始まる。まず、ス
テップ223では、着呼側端末が自SCP25で管理し
ているものかどうかを判断する。ここでは、発呼側端末
も着呼側端末も、同一のSCP25で管理しているもの
とする。ステップ224では、バッファテーブル119
のバッファ137のバッファ領域125から着呼側端末
物理番号を得て、これをキーとしてディスク上の端末リ
ソーステーブル171(図10参照)を検索し、着呼側
端末のリソースレコード180を得る。
【0137】ステップ225では、着呼側端末のリソー
スレコード180をバッファテーブル119のバッファ
138のバッファ領域125にコピーする。ステップ2
26では、ディスク上の着呼側端末のリソースレコード
180へのアドレスを、バッファテーブル119のバッ
ファ139のバッファ領域125に、コピーする。
【0138】ステップ227でプログラムbは終了する
から、図12の先読み処理201のステップ205が完
了する。
【0139】再び図12を参照して、先読み処理用テー
ブル113の次の行133は最後の行であるから、この
先読み処理201は、ステップ206へ分岐し終了す
る。よって、図5のステップ93も終了し、次の処理へ
進んでいく。
【0140】このあと呼制御が進むと、発呼側端末ある
いは着呼側端末のリソースレコードを参照または更新す
る問い合わせ命令が、呼制御タスク10からDBST−
a2へ発行されるが、これらは既にデータ構造体72の
バッファテーブル119内にコピーされている。したが
って、ディスク上のデータベースへアクセスする場合よ
りも高速に応答を返すことが出来る。なかでも、番号変
換テーブルへのアドレス、及び着呼側端末のリソースレ
コードについては、呼制御タスク10から問い合わせ命
令が発行される前に、既に先読みされてバッファにコピ
ーされている点が特徴である。なお、プログラムa、プ
ログラムb等の実際に先読み処理を行なうプログラム
は、各通信サービスに固有な専用処理プログラムであ
る。
【0141】(2)無名データベースサービスタスク 次に、無名DBST8(図1参照)について説明する。
【0142】無名DBST8は、DBST−a2と異な
りデータ構造体72を持たない。すなわち、無名DBS
T8は、無名データベースサービスプログラム241
(図15)から成る。無名DBST8は、呼識別符号1
7を付加しない問い合わせ命令を受け付けて処理し、応
答を返す。従来技術の欄で説明したように、図3におけ
るDBST56も同様の動作を行なう。
【0143】その処理の概要は、呼処理サーバ27から
フロントエンドタスク6を通して1件の問い合わせ命令
を受け取り、データベース処理を行ない、その結果を応
答として呼処理サーバ27へ返すというものである。
【0144】無名DBST8がDBST−a2と異なる
点は、以下の点である。まず、無名DBST8は、問い
合わせ命令を発行する例えば呼制御タスク等とは、1件
の問い合わせ命令の処理中には対応関係があるものの、
その処理の終了後も対応関係が保持される保証はない。
また、無名DBST8はデータ構造体72を持たないた
め、無名DBST8内にはバッファ領域がなく、先読み
処理などもしない。
【0145】図15のフローチャートを参照して、無名
データベースサービスプログラム241の処理手順を説
明する。
【0146】無名DBST8は、フロントエンドタスク
6により生成され、ステップ242から処理が始まる。
まず、ステップ243では、フロントエンドタスク6を
通して受け取った問い合わせ命令(図21参照)を解釈
する。ステップ244では、受け取った問い合わせ命令
に従い、ディスクDK34(図2参照)内に格納されて
いるデータベースを検索アクセスするように、ディスク
コントロールプログラム7(図1参照)にアクセス命令
を発行する。そして、ステップ245で、ディスクコン
トロールプログラム7からの応答を待つ。
【0147】次に、ステップ246では、問い合わせ命
令が更新トランザクションを含むか否かを判断し、含む
(yes)ならステップ247へ、含まない(no)な
らステップ249へ、処理フローを分岐する。ステップ
247では、データベースに更新アクセスするように、
ディスクコントロールプログラム7に対してアクセス命
令を発行する。ステップ248では、ディスクコントロ
ールプログラム7からの応答を待つ。
【0148】ステップ249で、データベース操作の結
果を呼処理サーバ側に返す。そして、ステップ250で
フロントエンドタスクに対して処理終了を報告し、ステ
ップ251で終了する。
【0149】(3)フロントエンドタスク フロントエンドタスク6(図1参照)は、データベース
サーバ31内にあり、呼処理サーバ27内のサーバ間通
信タスク14と協調して、命令と応答のやりとりを制御
する。呼処理サーバ27もデータベースサーバ31も、
複数のタスクが並列動作するマルチタスクで動作するた
め、複数の問い合わせ命令と応答が交錯する状態になり
得る。フロントエンドタスク6は、ある問い合わせ命令
に対する応答を正しく選択し返すことを保証する。
【0150】また、フロントエンドタスク6は、DBS
Tの生成や消去を含む管理を行なう。つまり、新しく生
成された呼制御タスク10,11,12,13からの呼
識別符号付きの問い合わせメッセージ391(図20参
照)を受け取った場合は、新しくDBST−a2,DB
ST−b3,DBST−c4,DBST−d5に記憶領
域を割り当てて生成する。
【0151】そして、呼制御タスク10,11,12,
13からの呼識別符号付きの問い合わせメッセージ39
1を受け取り、対応するDBST−a2,DBST−b
3,DBST−c4,DBST−d5へ分配する。DB
ST−a2,DBST−b3,DBST−c4,DBS
T−d5が終了するまでの間、フロントエンドタスク6
は、これらの管理を行なう。また、DBST−a2,D
BST−b3,DBST−c4,DBST−d5が終了
したら、割り当てた記憶領域を解放するなどの処理を行
なう。
【0152】さらに、呼識別符号の付加されない問い合
わせメッセージ401(図21参照)を受けた場合、フ
ロントエンドタスク6は、無名DBST8に記憶領域を
割り当てて生成する。また、無名DBST8の処理が終
了したら、記憶領域を解放する。
【0153】図16に、以上のような処理を行なうフロ
ントエンドタスク6の構成を示す。図16において、3
3はデータベースサーバの主記憶装置(MM)であり、
図2における参照番号と同じものを指す。6はフロント
エンドタスクであり、図1における参照番号と同じもの
を指す。
【0154】フロントエンドタスク6は、命令受付プロ
グラム301、応答返信プログラム302、DBST管
理プログラム303、ポート番号管理テーブル304、
及びDBST番号管理テーブル305から成る。
【0155】ポート番号管理テーブル304は図17を
用いて、DBST番号管理テーブル305は図18を用
いて説明する。命令受付プログラム301は、図19を
用いて説明するが、呼処理サーバ27からの問い合わせ
メッセージを受け取り、対応するDBSTに配信する処
理等を行なう。応答返信プログラム302は、図22を
用いて説明するが、DBSTからの応答を受け取り、呼
処理サーバへ返信する処理等を行なう。DBST管理プ
ログラム303は、図25を用いて説明するが、DBS
Tの生成と消去に係わる処理を行なう。
【0156】まず、図17を参照して、ポート番号管理
テーブル304の構成を説明する。ポート番号管理テー
ブル304は、主に、命令受付プログラム301、及び
応答返信プログラム302により操作、参照される。ポ
ート番号管理テーブル304は、ポート番号321、呼
識別符号322、及びDBST番号323の項目からな
るテーブルである。
【0157】ポート番号321とは、ここではサーバ間
通信の際に、要求とその応答とを1対1に対応付けする
ために用いる番号である。
【0158】呼識別符号322とは、呼識別符号17
(図1参照)と同じ番号で、問い合わせメッセージ39
1(図20参照)の呼識別符号392として、データベ
ースサーバに渡される。問い合わせメッセージ391の
呼識別符号392とポート管理テーブル304の呼識別
符号322とを照合して、呼に対応したDBSTを検索
する。
【0159】DBST番号323とは、データベースサ
ーバ内のDBSTに対して1対1に割り振られたタスク
の番号である。
【0160】例えば、行325によれば、呼識別符号3
22が「a」である呼制御(呼制御タスク10)に対応
するDBST(DBST−a2)のDBST番号323
は「1」であり、タスク間通信のためにポート番号32
1として「2」を使用していることが分かる。また、行
324によれば、DBST番号323は「空」という値
であり、これにより、ポート番号321が「1」のポー
トは現在使用されていないことが分かる。また、行32
8によれば、呼識別符号322の値が「noname」
であり、これにより、DBST番号323が「6」のタ
スクとして無名DBST8が起動しており、ポート番号
321として「5」を使用していることが分かる。
【0161】次に、図18を参照して、DBST番号管
理テーブル305の構成を説明する。DBST番号管理
テーブル305は、主に、DBST管理プログラム30
3により操作、参照される。DBST番号管理テーブル
305は、DBST番号341、タスクへのポインタ3
42の項目からなるテーブルである。
【0162】DBST番号341は、図17のDBST
番号323と同じ値をとり、それぞれ1対1に対応して
いる。タスクへのポインタ343は、DBSTへのポイ
ンタである。
【0163】例えば、行343によれば、DBST番号
が1のタスクは、タスクへのポインタ342の値「po
inter to a」の指すタスクであることが分か
る。また、行344によれば、DBST番号が2のタス
クは、タスクへのポインタ342の値「pointer
to noname(1)」の指すタスクであること
が分かる。
【0164】次に、図19のフローチャートを参照し
て、フロントエンドタスク6の命令受付プログラム30
1の処理手順を説明する。
【0165】このプログラム301は、データベースサ
ーバが起動した直後から処理を開始(ステップ361)
している。まず、ステップ362では、呼処理サーバか
らの問い合わせメッセージの受け取りを待機している。
【0166】問い合わせメッセージは、図20の書式3
91あるいは図21の書式401の書式を持つ。図20
の書式391の問い合わせメッセージは、呼識別符号3
92、及び問い合わせ命令393を含む。図21の書式
401の問い合わせメッセージ401は、問い合わせ命
令402のみからなる。
【0167】ステップ363では、問い合わせメッセー
ジに呼識別符号が付いているか否かを判断する。これに
より、受け取った問い合わせメッセージの書式が、書式
391か書式401かを判断している。そして、書式3
91のスタイルであればステップ364へ、書式401
のスタイルであればステップ374へ、処理フローを分
岐する。
【0168】問い合わせメッセージが図20の書式39
1のスタイルなら、ステップ364で、ポート番号管理
テーブル304を、呼識別符号392をキーとして、検
索する。該当する呼識別符号があれば、ステップ365
を経て、ステップ366へ分岐する。ステップ366で
は、呼処理サーバに対して検索したポート番号321の
値を返す。これは、後に説明するが、呼処理サーバのサ
ーバ間通信タスク14(図1参照)で、問い合わせ命令
と応答を対応付けるために用いられる。
【0169】次に、ステップ367では、図25を用い
て後に説明するDBST管理プログラム303へ依頼
し、検索したDBST番号のタスクへメッセージを送
り、ステップ363へ戻る。
【0170】ステップ364で、呼識別符号392をキ
ーとしてポート番号管理テーブル304を検索した結
果、該当する呼識別符号がなければ、ステップ365を
経て、ステップ368へ分岐する。
【0171】呼識別符号392が割り当てられていない
ということは、DBSTを生成しなくてはならないとい
うことであるから、ステップ368では、ポート番号管
理テーブル304から、DBST番号323が「空」で
ある行を検索する。ステップ369では、見つけた行の
呼識別符号322へ(問い合わせメッセージの)呼識別
符号392を設定する。そして、ステップ370では、
呼処理サーバへポート番号321の値を返す。
【0172】次に、ステップ371では、DBST管理
プログラムへ問い合わせメッセージを送り、新たにDB
STを生成するよう要求する。ステップ372では、要
求により生成されたDBSTの番号をDBST管理プロ
グラムから得る。ステップ373では、得たDBST番
号を、ポート番号管理テーブル304のDBST番号3
23へ設定し、ステップ363へ戻る。
【0173】ステップ363で、問い合わせメッセージ
が図21の書式401のスタイルであれば、ステップ3
74へ処理フローを分岐する。問い合わせメッセージに
呼識別符号がないので、これは無名DBST8(図1参
照)で処理すべき問い合わせであるということになる。
【0174】ステップ374では、ポート番号管理テー
ブル304から、DBST番号323が「空」である行
を検索する。ステップ375では、見つけた行の呼識別
符号322に対し、無名DBSTであることを意味する
値として、例えば「noname」を設定する。次に、
ステップ370に進む。ステップ370以降の処理は既
に述べた。
【0175】次に、図22のフローチャートを参照し
て、フロントエンドタスク6の応答返信プログラム30
2の処理手順を説明する。
【0176】応答返信プログラム302は、DBSTか
らの応答メッセージを呼処理サーバへ返信する処理を行
なう。このプログラム302は、データベースサーバが
起動した直後から処理を開始(ステップ411)してい
る。まず、ステップ412では、DBSTからの応答メ
ッセージの受け付けを待機している。
【0177】図23に、受け付けるべき応答メッセージ
431の書式を示す。応答メッセージ431は、DBS
T番号432と、応答433とからなる。
【0178】ステップ413では、応答メッセージが、
DBSTの終了を表すDBST終了メッセージ511な
らば(yes)ステップ417へ、そうでなければ(n
o)ステップ414へ、処理フローを分岐する。
【0179】図29は、DBST終了メッセージ511
を示す。DBST終了メッセージ511は、DBST終
了報告512と、DBST番号513とからなる。
【0180】ステップ417では、ポート番号管理テー
ブル304から、DBST終了メッセージ511のDB
ST番号513に該当するDBST番号323の行をみ
つけ、その行のDBST番号323及び呼識別符号32
2に、使用されていないことを表す値として「空」を設
定し、ポート番号を解放する。その後、ステップ412
へ進む。
【0181】ステップ413で、応答メッセージがDB
ST終了メッセージ511でないなら、ステップ414
に進む。ステップ414では、応答メッセージ431の
DBST番号432をキーとしてポート番号管理テーブ
ル304を検索する。そして、ステップ415で、該当
するポート番号321の値を取得する。
【0182】さらに、ステップ416では、応答メッセ
ージ431の応答433(図23)に、ステップ415
で取得したポート番号321の値を付加し、図24に示
す応答メッセージ441の書式に変換して、呼処理サー
バへ返信する。
【0183】図24において、応答メッセージ441
は、ステップ415で取得したポート番号の値を持つポ
ート番号442と、応答メッセージ431の応答433
のコピーである応答443とから成る。
【0184】次に、図25のフローチャートを参照し
て、フロントエンドタスク6のDBST管理プログラム
303の処理手順を説明する。
【0185】DBST管理プログラム303は、DBS
Tの生成、及び消滅などの管理を行なう。このプログラ
ム303は、データベースサーバが起動した直後から処
理を開始(ステップ451)している。まず、ステップ
452では、命令受付プログラムからDBSTの生成要
求があったかどうかを監視し、あれば(yes)ステッ
プ460へ、なければ(no)ステップ453へ、それ
ぞれ分岐する。DBSTの生成要求は、命令受付プログ
ラム301のステップ371(図19参照)で発行され
る。
【0186】図26と図27に、発行されるDBST生
成要求メッセージを示す。図26のDBST生成要求メ
ッセージ481は、呼識別符号が付加されたスタイルで
あり、DBST生成命令482、呼識別符号483、及
び問い合わせ命令484を含む。図27のDBST生成
要求メッセージ491は、呼識別符号が付加されないス
タイルであり、DBST生成命令492、及び問い合わ
せ命令493を含む。DBST生成要求メッセージ49
1により生成されるのは、無名DBST8(図1、図1
5参照)である。
【0187】命令受付プログラム301からDBSTの
生成要求があれば、ステップ452から、ステップ46
0へ分岐する。ステップ460では、DBST生成要求
メッセージが、図26の参照番号481のスタイルであ
ればステップ462へ、図27の参照番号491のスタ
イルであればステップ461へ、処理フローを分岐す
る。
【0188】ステップ462では、生成すべきDBST
のタイプを、問い合わせ命令484に含まれる通信サー
ビス番号から決定し、DBSTを生成する。これは、例
えば発呼者が図5及び図6で例に取り上げた「内線接続
サービス」を要求しているとすれば、これに対応したデ
ータ構造体72を適用してDBSTを生成するというこ
とである。DBSTを生成するということは、主記憶装
置MM33の記憶領域を割り当てることも意味する。
【0189】DBST生成要求メッセージが図27の参
照番号491のスタイルであれば、ステップ461へ分
岐する。ステップ461では、無名DBST8を生成す
る。
【0190】ステップ462、またはステップ461か
ら、ステップ463へ進む。ステップ463では、DB
ST生成時に割り当てた記憶領域のスワップアウト禁止
を、OS(オペレーティングシステム)に要求する。本
実施例では、仮想記憶をサポートしたOSを仮定してい
る。
【0191】次に、ステップ464では、生成したDB
STへのポインタを、DBST管理テーブル305(図
18参照)のタスクへのポインタ342が「空」の行、
例えば行349にセットする。ステップ465では、ス
テップ464で割り当てたDBST番号341の値(例
えば、7)を命令受付プログラムへ返す。これは、命令
受付プログラム301のステップ372(図19参照)
で受け取られる。ステップ466では、生成したDBS
Tに問い合わせ命令484(図26)、または問い合わ
せ命令493(図27)の内容を渡し、ステップ452
へ戻る。
【0192】ステップ452で条件が成立しない(n
o)場合、すなわち命令受付プログラムからのDBST
の生成要求でない場合は、ステップ453へ進む。ステ
ップ453では、命令受付プログラム301から、メッ
セージ配信要求があったかどうかを監視する。
【0193】図28に、配信要求メッセージ501を示
す。配信要求メッセージ501は、配信命令502、D
BST番号503、及び問い合わせ命令504から成
る。
【0194】ステップ453で配信要求メッセージ50
1があれば(yes)、ステップ458へ分岐する。ス
テップ458では、DBST管理テーブル305をDB
ST番号503をキーとして検索する。ステップ459
では、ステップ458で該当したポインタの示すDBS
Tへ、問い合わせ命令504の内容を渡し、ステップ4
52へ戻る。
【0195】ステップ453で条件が成立しない(n
o)場合、すなわち配信要求メッセージ501でない場
合は、ステップ454へ進む。ステップ454では、い
ずれかのDBSTから、終了メッセージが発行されたか
どうかを監視する。
【0196】図29に、DBST終了メッセージ511
を示す。DBST終了メッセージ511は、DBST終
了報告512、及びDBST番号513からなる。この
DBST終了メッセージ511は、データベースサービ
スプログラム71のステップ103(図5参照)、また
は無名データベースサービスプログラム241のステッ
プ250(図15参照)で発行される。
【0197】ステップ454でDBST終了メッセージ
511が発行されていなければ(no)、ステップ45
2へ戻る。発行されていれば(yes)、ステップ45
5へ進む。ステップ455では、DBST終了メッセー
ジ511のDBST番号513が示すDBSTに割り当
ててあった記憶領域の解放をOSに要求する。ステップ
456では、DBST番号管理テーブル305のDBS
T番号513の値に該当する行のタスクへのポインタ3
42を「空」にして、解放する。そして、ステップ45
7では、応答返信プログラム302へタスク終了メッセ
ージを発行し、ステップ452へ戻る。タスク終了メッ
セージは、応答返信プログラム302のステップ412
で受け付けられ、同ステップ417の処理が行われる。
【0198】(4)サーバ間通信タスク サーバ間通信タスク14(図1参照)は、呼処理サーバ
27内にある。サーバ間通信タスク14は、データベー
スサーバ31のフロントエンドタスク6と協調して、命
令と応答のやりとりを制御し、ある問い合わせ命令に対
する応答を正しく選択し返すことを保証する。
【0199】図30は、呼処理サーバのサーバ間通信タ
スク14の構成を示す。サーバ間通信タスク14は、呼
処理サーバ27の主記憶装置MM29内にあり、ポート
管理プログラム521、及びポート番号管理テーブル5
22から構成される。
【0200】図31は、ポート番号管理テーブル522
の構成を示す。ポート番号管理テーブル522は、タス
ク番号531及びポート番号532の項目からなるテー
ブルである。タスク番号531は、呼制御タスクに1対
1で与えられる番号である。ポート番号532は、デー
タベースサーバ31との通信を管理するための番号であ
り、データベースサーバ側と同一の値をとり、1対1に
対応している。
【0201】図32のフローチャートを参照して、ポー
ト管理プログラム521の処理手順を説明する。
【0202】このプログラム521は、呼処理サーバが
起動された直後から処理を開始(ステップ551)して
いる。まず、ステップ552では、データベースサーバ
31から応答メッセージを受け取ったかどうかを監視す
る。応答メッセージ441は、図24に示した。応答メ
ッセージ441を受け取ったら、ステップ561へ分岐
する。
【0203】ステップ561では、受信した応答メッセ
ージ441からポート番号442を取得する。ステップ
562では、ポート番号管理テーブル522をポート番
号442の値をキーにして検索し、該当するタスク番号
531の値を得る。ステップ563では、タスク番号5
31の値の示すタスクへ応答443を渡す。ステップ5
63の後、ステップ552に戻る。
【0204】ステップ552で条件が成立しない場合
(no)、すなわちデータベースサーバ31から応答メ
ッセージを受け取っていない場合は、ステップ553に
進む。ステップ553では、呼制御タスクからの問い合
わせメッセージを受け取ったかどうかで処理フローを分
岐する。問い合わせメッセージが呼制御タスクからのも
のであれば(yes)、ステップ558へ、そのほかの
(呼制御タスクからでない)問い合わせメッセージなら
ば(no)、ステップ554へ、分岐する。
【0205】ここで、呼制御タスクからの問い合わせメ
ッセージ591は、図34に示すように、タスク番号5
92、呼識別符号593、及び問い合わせ命令534か
ら成る。また、そのほかの(呼制御タスクからでない)
問い合わせメッセージ581は、図33に示すように、
タスク番号582、及び問い合わせ命令583から成
る。
【0206】ステップ558では、問い合わせメッセー
ジ591の呼識別符号593の値を取得する。また、ス
テップ559では、問い合わせメッセージ591のタス
ク番号592を取得する。ステップ560では、データ
ベースサーバに対して、呼識別符号を付加した問い合わ
せメッセージ391を発行する。問い合わせメッセージ
391は、図20に示した。
【0207】ステップ553で条件が成立しなかった場
合(no)、すなわち呼制御タスクからの問い合わせメ
ッセージでない場合は、ステップ554へ進む。ステッ
プ554では、(呼制御タスクからでない)問い合わせ
メッセージ581からタスク番号582を取得する。次
に、ステップ555では、データベースサーバに対し
て、問い合わせメッセージ401を発行する。問い合わ
せメッセージ401は、図21に示した。
【0208】ステップ555及びステップ560から、
ステップ556へ進む。ステップ556では、データベ
ースサーバのフロントエンドタスク6から返されるポー
ト番号を受信する。これは、命令受付プログラム301
のステップ366,370(図19参照)で発行され
る。ステップ557では、受信したポート番号の値をポ
ート番号管理テーブル522のポート番号532へ設定
し、ステップ552へ戻る。
【0209】3.呼制御の実行手順の説明
【0210】次に、図35を用いて、1件のサービス呼
(IN21へのアクセスを要する電話接続等)に関する
呼制御の実行手順を説明する。図35は、呼制御タスク
の処理フローを中心に、DBST及び通信サーバとの間
でやり取りされるメッセージの時間的な順序関係を示
す。サービス呼として、本実施例中で説明した「公衆網
を用いた内線接続サービス」を例にとる。
【0211】呼処理サーバ27内の呼制御タスクが、ス
テップ625で動作を開始し、ステップ626で終了す
るとする。呼制御タスクからのメッセージ601を受け
たデータベースサーバ31内でDBSTが起動され、処
理を開始する(ステップ627)。DBSTは、ステッ
プ628で終了する。以下、呼制御タスクのフローに従
って、やり取りされるメッセージを順に説明する。
【0212】呼制御タスクが開始されると(ステップ6
25)、当該呼制御を実行するために必要な通信サービ
ス手順を問い合わせるメッセージ601が、データベー
スサーバ31に対して発行される。メッセージ601
は、フロントエンドタスク6(図16参照)に受け取ら
れる。フロントエンドタスク6は、新たに記憶領域を割
り当ててDBST(図4参照)を生成する。新たに生成
されたDBSTは、メッセージ601に対して、通信サ
ービスの手順に関する情報を検索し、結果を応答メッセ
ージ602として返答する。
【0213】通信サービス手順が決まると、発呼側加入
者リソース(発呼側端末のリソースレコード179、図
10参照)を参照する問い合わせメッセージ603が、
呼制御タスクからDBSTに対して発行される。DBS
Tは、メッセージ603に対する処理結果を応答メッセ
ージ604として返答する。
【0214】次に、発呼側端末が現在使用中であること
を登録するために、発呼側端末のリソースレコード17
9のリソース使用数153(図10参照)をカウントア
ップする。そのカウントアップのメッセージ、すなわち
更新するための問い合わせメッセージ605を、DBS
Tに対して発行する。DBSTからは、メッセージ60
5に対する処理結果を応答メッセージ606として返答
する。
【0215】次に、内線番号を物理番号に変換するため
の問い合わせメッセージ607が、発行される。DBS
Tからは、メッセージ607に対する処理結果を応答メ
ッセージ608として返答する。
【0216】着信側の物理番号が決定すると、着呼側加
入者リソース(着呼側端末のリソースレコード180、
図10参照)を参照する問い合わせメッセージ609
が、発行される。DBSTは、メッセージ609に対す
る処理結果を応答メッセージ610として返答する。
【0217】次に、交換機に電話回線接続を指示するた
め、回線接続を要求するメッセージ621を通信サーバ
に対して発行する。通信サーバは、交換機に対して電話
回線接続を指示し、電話回線接続が完了すると回線接続
完了を示すメッセージ622を呼制御タスクに返す。
【0218】電話回線接続が完了すると、着呼側端末が
現在使用中であることを登録するために、着呼側端末の
リソースレコード180のリソース使用数153(図1
0参照)をカウントアップする。そのために、カウント
アップするための問い合わせメッセージ611をDBS
Tに対して発行する。DBSTからは、メッセージ61
1に対する処理結果を応答メッセージ612として返答
する。
【0219】電話回線接続が完了し、呼出中であった着
呼側端末が応答する(電話に出る)と、通話開始を示す
メッセージ623が、通信サーバから呼制御タスクに対
して返される。
【0220】通話中になると同時に課金を開始しなけれ
ばならないので、現在の課金値を参照するための問い合
わせメッセージ613をDBSTに対して発行する。D
BSTからは、メッセージ613に対する処理結果を応
答メッセージ614として返答する。
【0221】通話が終了すると、通話終了を示すメッセ
ージ624が通信サーバから呼制御タスクに対して返さ
れる。
【0222】すると、呼制御タスクは、その通話に関す
る課金値を計算し、発呼側端末のリソースレコードに登
録するための問い合わせメッセージ615をDBSTに
対して発行する。DBSTからは、メッセージ615に
対する処理結果を応答メッセージ616として返答す
る。
【0223】通話が終了すると、発呼側端末の使用が終
了したこと(リソース解放)を登録するために、発呼側
端末のリソースレコード179のリソース使用数153
(図10参照)をカウントダウンする。このために、更
新の問い合わせメッセージ617をDBSTに対して発
行する。DBSTからは、メッセージ617に対する処
理結果を応答メッセージ618として返答する。
【0224】また、着呼側端末の使用も終了したこと
(リソース解放)を登録するために、着呼側端末のリソ
ースレコード180のリソース使用数153(図10参
照)をカウントダウンする。このために、更新の問い合
わせメッセージ619をDBSTに対して発行する。D
BSTからは、メッセージ619に対する処理結果を応
答メッセージ620として返答する。
【0225】以上のように、「公衆網を用いた内線接続
サービス」における、呼処理サーバ内の呼制御タスクか
らデータベースサーバ内のDBSTに対する問い合わせ
は、データベースを参照するものが5回、更新するもの
が5回行なわれる。これら10回の問い合わせのうち、
本発明を適用した場合、DBST内のアドレスバッフ
ァ、データバッファが有効に使用され応答時間が短縮さ
れる問い合わせを以下に挙げる。
【0226】メッセージ605による更新処理では、対
象となるデータレコードが予めバッファされているの
で、データバッファが有効に使用される。メッセージ6
07による参照処理では、予め先読み処理によりデータ
レコードへのアドレスがバッファされているので、アド
レスバッファが有効に使用される。メッセージ609に
よる参照処理では、予め先読み処理によりデータレコー
ドがバッファされているので、データバッファが有効に
使用される。
【0227】メッセージ611による更新処理では、予
めデータレコードがバッファされているので、データバ
ッファが有効に使用される。メッセージ613による参
照処理では、予めデータレコードがバッファされている
ので、データバッファが有効に使用される。メッセージ
615による更新処理では、予めデータレコードがバッ
ファされているので、データバッファが有効に使用され
る。
【0228】メッセージ617による更新処理では、予
めデータレコードがバッファされているので、データバ
ッファが有効に使用される。メッセージ619による更
新処理では、予めデータレコードがバッファされている
ので、データバッファが有効に使用される。
【0229】4.効果の説明
【0230】次に、上述した本実施例の効果を説明す
る。
【0231】本実施例では、データベースサーバの応答
時間短縮が主な目的である。データベースサーバの応答
時間は、ディスクアクセス時間に大きく左右される。問
い合わせ対象のデータレコードが主記憶装置内にバッフ
ァされている場合と、バッファされておらずディスクア
クセスが発生する場合とで、処理時間を比較する。
【0232】データベースサーバにおいて、主記憶装置
へのアクセスは多く見積もっても数μsもあれば完了す
る。それに対し、1回のディスクへのアクセスは少なく
見積っても数ms以上はかかる。よって、バッファが有
効である場合と、ディスクアクセスが発生する場合とで
は、応答時間に、少なくとも千倍以上の差がある。そこ
で、本実施例では、問い合わせ処理、つまりトランザク
ション処理において発生するディスクアクセス回数を比
較し、これが少なければ問い合わせに対する応答時間短
縮に効果がある、とする。
【0233】バッファによるトランザクション処理にお
けるディスクアクセス回数の削減効果を、場合分けし
て、説明する。
【0234】まず、バッファが有効でない場合の参照ト
ランザクションでは、テーブル検索とレコード検索でデ
ィスクアクセスが2回発生するとする。同じく、更新ト
ランザクションでは、テーブル検索とデータ書き込み、
ロック処理等でディスクアクセスが3回発生するとす
る。
【0235】次に、データレコードへのアドレスのみが
バッファされている場合、参照トランザクションでは、
レコード検索でディスクアクセスが1回発生するとす
る。同じく、更新トランザクションでは、データ書き込
みとロック処理等でディスクアクセスが2回発生すると
する。
【0236】最後に、データレコードがバッファされて
いる場合、参照トランザクションでは、ディスクアクセ
スは発生しない。同じく更新トランザクションでは、デ
ータ書き込みとロック処理などでディスクアクセスが2
回発生するとする。
【0237】上述の図35で具体例として説明した内線
接続サービスの呼制御が完了するまでに発行する一連の
問い合わせは、参照が5回、更新が5回である。本実施
例の方法を用いずにデータやアドレスのバッファを行な
わないとすると、この一連の問い合わせによって引き起
こされるディスクアクセス回数は、上記のディスクアク
セス回数の定義に従えば、25回(3×5+2×5)で
ある。これに対し、同じ例で本実施例の方法を適用した
場合は、同一レコードへの問い合わせや、先読み処理に
よりDBST内のデータバッファ、アドレスバッファが
有効となり、削減できるディスクアクセス回数は10回
である。
【0238】このように、本実施例の内線接続サービス
という通信サービスの場合、一連の呼制御におけるディ
スクアクセス回数を40%程度削減できる。従って、呼
制御に係わるデータベースサービスにおける応答時間削
減が可能である。
【0239】
【発明の効果】本発明によれば、ある呼制御に1対1で
対応したデータベースサービスタスクにより該呼制御に
関するデータベース処理の実行および管理を行うように
しているので、呼処理サーバからの問い合わせに対する
応答時間を短縮出来る。
【0240】また、データベースを検索して得られるデ
ータレコードやデータレコードへのアドレスをデータベ
ースサービスタスク内に複写して保持することにより、
同一データレコードへの問い合わせに対する応答時間を
短縮出来る。
【0241】さらに、呼制御の処理を先取りして必要な
データレコードを予め取得しておくこともできるため、
該データレコードへの問い合わせに対する応答時間を短
縮できる。
【0242】また、データベースサービスタスクが終了
するまでは該タスクをスワップアウトさせないようにタ
スク管理を行なうので、不要なオーバヘッドを削減し、
問い合わせに対する応答時間を短縮できる。
【0243】また、従来の問い合わせ要求に対してもデ
ータベースサービスを行えるので、マルチベンダ環境に
も対応できる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るSCP内のソフトウエ
アの構成を示す図
【図2】本実施例のSCPを備えたネットワークのハー
ドウエア構成を示す図
【図3】従来のデータベースサーバのソフトウエアの構
成を示す図
【図4】データベースサービスタスク(DBST)の概
略構成図
【図5】DBSTのデータベースサービスプログラムの
処理手順を示すフローチャート図
【図6】内線接続サービス専用のデータ構造体の構成を
示す図
【図7】データ構造体の先読み処理用テーブルの構成図
【図8】データ構造体のバッファテーブルの構成図
【図9】端末リソーステーブルのレコード書式を示す図
【図10】ディスク内に格納されている端末リソーステ
ーブルの構成図
【図11】ディスク内に格納されている番号変換テーブ
ルの構成図
【図12】先読み処理の手順を示すフローチャート図
【図13】先読み処理用専用プログラムaの処理手順を
示すフローチャート図
【図14】先読み処理用専用プログラムbの処理手順を
示すフローチャート図
【図15】無名データベースサービスプログラムの処理
手順を示すフローチャート図
【図16】フロントエンドタスクの概略構成図
【図17】フロントエンドタスクのポート番号管理テー
ブルの構成図
【図18】フロントエンドタスクのDBST番号管理テ
ーブルの構成図
【図19】フロントエンドタスクの命令受付プログラム
の処理手順を示すフローチャート図
【図20】呼処理タスクからフロントエンドタスクへの
問い合わせメッセージ書式を示す図
【図21】フロントエンドタスクからDBSTへの問い
合わせメッセージ書式を示す図
【図22】フロントエンドタスクの応答返信プログラム
の処理手順を示すフローチャート図
【図23】DBSTからフロントエンドタスクへの応答
メッセージの書式を示す図
【図24】フロントエンドタスクからサーバ間通信タス
クへの応答メッセージの書式を示す図
【図25】フロントエンドタスクのDBST管理プログ
ラムの処理手順を示すフローチャート図
【図26】命令受付プログラムからDBST管理プログ
ラムへのDBST生成要求メッセージの書式(呼識別符
号付き)を示す図
【図27】命令受付プログラムからDBST管理プログ
ラムへのDBST生成要求メッセージの書式を示す図
【図28】命令受付プログラムからDBST管理プログ
ラムへの配信要求メッセージの書式を示す図
【図29】DBSTからDBST管理プログラムへのD
BST終了メッセージの書式を示す図
【図30】呼処理サーバのサーバ間通信タスクの概略構
成図
【図31】呼処理サーバのサーバ間通信タスクのポート
番号管理テーブルの構成図
【図32】呼処理サーバのサーバ間通信タスクのポート
管理プログラムの処理手順を示すフローチャート図
【図33】呼制御タスクからサーバ間通信タスクへの問
い合わせメッセージの書式を示す図
【図34】呼制御タスクからサーバ間通信タスクへの問
い合わせメッセージ(呼識別符号付き)の書式を示す図
【図35】呼制御タスクの処理フローとDBST及び通
信サーバとの間でやり取りされるメッセージの時間的な
順序関係を示す図
【符号の説明】
2〜5…データベースサービスタスク、15…データバ
ッファ、16…アドレスバッファ、6…フロントエンド
タスク、7…ディスクコントロールプログラム、8…無
名データベースサービスタスク、10〜13…呼制御タ
スク、14…サーバ間通信タスク、17…呼制御タスク
の識別符号、18…識別符号信号、19…問い合わせ命
令信号、20…応答信号、71…データベースサービス
プログラム、81〜108…処理、72…データ構造
体、113…先読み処理用テーブル、114〜118…
先読み処理用テーブルの項目、131〜133…先読み
処理用テーブルの行、119…バッファテーブル、12
0〜126、140…バッファテーブルの項目、134
〜139…バッファテーブルの行、201…先読み処
理、202〜206…処理、211…先読み処理から実
行されるプログラムa、212〜216…処理、221
…先読み処理から実行されるプログラムb、222〜2
27…処理、241…無名データベースサービスプログ
ラム、242〜251…処理、301…命令受付プログ
ラム、361〜375…処理、302…応答返信プログ
ラム、411〜417…処理、303…データベースサ
ービスタスク管理プログラム、451〜466…処理、
304…ポート番号管理テーブル、321〜323…ポ
ート番号管理テーブルの項目、324〜331…ポート
番号管理テーブルの行、305…データベースサービス
タスク番号管理テーブル、341、342…データベー
スサービスタスク番号管理テーブルの行、343〜34
9…データベースサービスタスク番号管理テーブルの
行、521…ポート管理プログラム、551〜563…
処理、522…ポート番号管理テーブル、531、53
2…ポート番号管理テーブルの項目、533〜536…
ポート番号管理テーブルの行。

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】他のデータ処理装置からデータベースサー
    ビス機能を提供される第1のデータ処理装置と、該第1
    のデータ処理装置に対しデータベースサービス機能を提
    供する第2のデータ処理装置とを通信網で接続して成る
    システムにおいて用いるデータベースサービス方法であ
    って、 上記第1のデータ処理装置内で実行される第1のタスク
    と、該第1のタスクから発行されるデータベースサービ
    ス要求を受けて上記第2のデータ処理装置内で実行され
    る第2のタスクとを、該データベースサービス要求に付
    加した識別符号を用いて対応させることを特徴とするデ
    ータベースサービス方法。
  2. 【請求項2】他のデータ処理装置からデータベースサー
    ビス機能を提供される第1のデータ処理装置と、該第1
    のデータ処理装置に対しデータベースサービス機能を提
    供する第2のデータ処理装置とを通信網で接続して成る
    システムにおいて用いるデータベースサービス方法であ
    って、 上記第1のデータ処理装置内で実行される第1のタスク
    から上記第2のデータ処理装置にデータベースサービス
    を要求する際には、その第1のタスクを他のタスクから
    区別する識別符号を付加してデータベースサービス要求
    を行うステップと、 該データベースサービス要求を受け取った上記第2のデ
    ータ処理装置では、該データベースサービス要求に付加
    されている識別符号に対応する第2のタスクが自データ
    処理装置内に存在するか否かを判別するステップと、 該識別符号に対応する第2のタスクが自データ処理装置
    内に存在しない場合は、該識別符号に対応する第2のタ
    スクを生成し、該第2のタスクでデータベースサービス
    を実行するステップと、 該識別符号に対応する第2のタスクが自データ処理装置
    内に存在する場合は、その存在する第2のタスクでデー
    タベースサービスを実行するステップとを備えたことを
    特徴とするデータベースサービス方法。
  3. 【請求項3】呼制御を実行する呼処理サーバと、呼制御
    に必要なデータを蓄積して参照や更新等のデータベース
    サービス機能を提供するデータベースサーバとを含んで
    構成されるサービスコントロールポイントにて用いるデ
    ータベースサービス方法であって、 上記呼処理サーバ内で実行される1つの呼制御からの要
    求に応じて、上記データベースサーバ内で複数回のデー
    タベース処理が実行される際、該呼制御に対応したタス
    クによりそれらのデータベース処理の実行および管理を
    行なうことを特徴とするデータベースサービス方法。
  4. 【請求項4】請求項3に記載のデータベースサービス方
    法において、前記呼制御が前記データベースサーバに対
    してデータベースサービスを要求する際には、該呼制御
    を他の呼制御から区別することが可能な識別符号を付加
    してデータベースサービスを要求することを特徴とする
    データベースサービス方法。
  5. 【請求項5】呼制御を実行する呼処理サーバと、呼制御
    に必要なデータを蓄積して参照や更新等のデータベース
    サービス機能を提供するデータベースサーバとを含んで
    構成されるサービスコントロールポイントにて用いるデ
    ータベースサービス方法であって、 上記呼処理サーバ内で実行される呼制御タスクから上記
    データベースサーバにデータベースサービスを要求する
    際には、その呼制御タスクを他の呼制御タスクから区別
    することが可能な識別符号を付加してデータベースサー
    ビス要求を行うステップと、 該データベースサービス要求を受け取った上記データベ
    ースサーバでは、該データベースサービス要求に付加さ
    れている識別符号に対応するデータベースサービスタス
    クが自データベースサーバ内に存在するか否かを判別す
    るステップと、 該識別符号に対応するデータベースサービスタスクが自
    データベースサーバ内に存在しない場合は、該識別符号
    に対応するデータベースサービスタスクを生成し、該デ
    ータベースサービスタスクでデータベースサービスを実
    行するステップと、 該識別符号に対応するデータベースサービスタスクが自
    データベースサーバ内に存在する場合は、その存在する
    データベースサービスタスクでデータベースサービスを
    実行するステップとを備えたことを特徴とするデータベ
    ースサービス方法。
  6. 【請求項6】請求項5に記載のデータベースサービス方
    法において、前記データベース処理の実行および管理を
    行なうデータベースサービスタスクは、データベースか
    ら検索して得るデータレコードの内容の全部または一部
    を該データベースサービスタスク内に複写して保持する
    ことを特徴とするデータベースサービス方法。
  7. 【請求項7】請求項5に記載のデータベースサービス方
    法において、前記データベース処理の実行および管理を
    行なうデータベースサービスタスクは、データベースか
    ら検索して得るデータレコードのデータベース内でのア
    ドレスを該データベースサービスタスク内に複写して保
    持することを特徴とするデータベースサービス方法。
  8. 【請求項8】請求項5に記載のデータベースサービス方
    法において、前記データベース処理の実行および管理を
    行なうデータベースサービスタスクは、該データベース
    サービスタスクと前記識別符号により対応付けられる呼
    制御タスクが実現する通信サービス内容に従って、該通
    信サービスを実行するために必要なデータレコードをデ
    ータベースから検索し、該データレコードの内容の全部
    または一部を該データベースサービスタスク内に複写し
    て保持することを特徴とするデータベースサービス方
    法。
  9. 【請求項9】請求項5に記載のデータベースサービス方
    法において、前記データベース処理の実行および管理を
    行なうデータベースサービスタスクは、該データベース
    サービスタスクと前記識別符号により対応付けられる呼
    制御タスクが実現する通信サービス内容に従って、該通
    信サービスを実行するために必要なデータレコードをデ
    ータベースから検索し、該データレコードのデータベー
    ス内でのアドレスを該データベースサービスタスク内に
    複写して保持することを特徴とするデータベースサービ
    ス方法。
  10. 【請求項10】請求項8または9に記載のデータベース
    サービス方法において、前記呼制御タスクによる通信サ
    ービス実行上の必要によって行われるデータベースサー
    ビス要求の発行の有無に拘らず、対応する前記データベ
    ースサービスタスクが自動的に前記通信サービスを実行
    するために必要なデータレコードを予めデータベースか
    ら検索することを特徴とするデータベースサービス方
    法。
  11. 【請求項11】請求項4から10のいずれか1つに記載
    のデータベースサービス方法において、前記識別符号を
    付加しないデータベースサービス要求に対しても、デー
    タベースサービスを行うことを特徴とするデータベース
    サービス方法。
  12. 【請求項12】請求項3から11のいずれか1つに記載
    のデータベースサービス方法において、前記呼処理サー
    バ内のある呼制御に対応してデータベース処理の実行お
    よび管理を行なうデータベースサーバ内のデータベース
    サービスタスクが終了するまでは、該データベースサー
    ビスタスクの占める記憶領域を仮想記憶装置の作用によ
    り主記憶装置からディスク等の外部記憶装置へ移動させ
    ないようにタスク管理を行うデータベースサービス方
    法。
  13. 【請求項13】呼制御を実行する呼処理サーバと、呼制
    御に必要なデータを蓄積して参照や更新等のデータベー
    スサービス機能を提供するデータベースサーバとを含む
    サービス制御装置であって、 上記呼処理サーバ内で実行される呼制御タスクから上記
    データベースサーバにデータベースサービスを要求する
    際に、その呼制御タスクを他の呼制御タスクから区別す
    ることが可能な識別符号を付加してデータベースサービ
    ス要求を行う手段と、 該データベースサービス要求を受け取った上記データベ
    ースサーバにて、該データベースサービス要求に付加さ
    れている識別符号に対応するデータベースサービスタス
    クが自データベースサーバ内に存在するか否かを判別す
    る手段と、 該識別符号に対応するデータベースサービスタスクが自
    データベースサーバ内に存在しない場合は、該識別符号
    に対応するデータベースサービスタスクを生成し、該デ
    ータベースサービスタスクでデータベースサービスを実
    行する手段と、 該識別符号に対応するデータベースサービスタスクが自
    データベースサーバ内に存在する場合は、その存在する
    データベースサービスタスクでデータベースサービスを
    実行する手段とを備えたことを特徴とするサービス制御
    装置。
  14. 【請求項14】請求項13に記載のサービス制御装置に
    おいて、さらに、前記データベースサーバは、データベ
    ースから検索して得るデータレコードの内容の全部また
    は一部をデータベースサービスタスク内に複写して保持
    する手段を備えたことを特徴とするサービス制御装置。
  15. 【請求項15】請求項13に記載のサービス制御装置に
    おいて、さらに、前記データベースサーバは、データベ
    ースから検索して得るデータレコードのデータベース内
    でのアドレスをデータベースサービスタスク内に複写し
    て保持する手段を備えたことを特徴とするサービス制御
    装置。
  16. 【請求項16】請求項13に記載のサービス制御装置に
    おいて、さらに、前記データベースサーバは、データベ
    ースサービスタスクと前記識別符号により対応付けられ
    る呼制御タスクが実現する通信サービス内容に従って、
    該通信サービスを実行するために必要なデータレコード
    をデータベースから検索し、該データレコードの内容の
    全部または一部を該データベースサービスタスク内に複
    写して保持する手段を備えたことを特徴とするサービス
    制御装置。
  17. 【請求項17】請求項13に記載のサービス制御装置に
    おいて、さらに、前記データベースサーバは、データベ
    ースサービスタスクと前記識別符号により対応付けられ
    る呼制御タスクが実現する通信サービス内容に従って、
    該通信サービスを実行するために必要なデータレコード
    をデータベースから検索し、該データレコードのデータ
    ベース内でのアドレスを該データベースサービスタスク
    内に複写して保持する手段を備えたことを特徴とするサ
    ービス制御装置。
  18. 【請求項18】請求項16または17に記載のサービス
    制御装置において、さらに、前記呼制御タスクによる通
    信サービス実行上の必要によって行われるデータベース
    サービス要求の発行の有無に拘らず、対応する前記デー
    タベースサービスタスクが自動的に前記通信サービスを
    実行するために必要なデータレコードを予めデータベー
    スから検索する手段を備えたことを特徴とするサービス
    制御装置。
  19. 【請求項19】請求項13から18のいずれか1つに記
    載のサービス制御装置において、さらに、前記識別符号
    を付加しないデータベースサービス要求に対しても、デ
    ータベースサービスを行う手段を備えたことを特徴とす
    るサービス制御装置。
JP5237384A 1993-08-30 1993-08-30 データベースサービス方法およびそれを利用したサービス制御装置 Pending JPH0765019A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5237384A JPH0765019A (ja) 1993-08-30 1993-08-30 データベースサービス方法およびそれを利用したサービス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5237384A JPH0765019A (ja) 1993-08-30 1993-08-30 データベースサービス方法およびそれを利用したサービス制御装置

Publications (1)

Publication Number Publication Date
JPH0765019A true JPH0765019A (ja) 1995-03-10

Family

ID=17014594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5237384A Pending JPH0765019A (ja) 1993-08-30 1993-08-30 データベースサービス方法およびそれを利用したサービス制御装置

Country Status (1)

Country Link
JP (1) JPH0765019A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305621A (ja) * 1995-05-02 1996-11-22 Nippon Telegr & Teleph Corp <Ntt> データベースアクセス共有方式
JPH1069468A (ja) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> 予測レスポンスを生成する装置と方法
JP2007065978A (ja) * 2005-08-31 2007-03-15 Hitachi Ltd 計算機システム及びデータベース管理システムプログラム
JP2012014739A (ja) * 2011-10-12 2012-01-19 Hitachi Ltd 計算機システム及びデータベース管理システムプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305621A (ja) * 1995-05-02 1996-11-22 Nippon Telegr & Teleph Corp <Ntt> データベースアクセス共有方式
JPH1069468A (ja) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> 予測レスポンスを生成する装置と方法
JP2007065978A (ja) * 2005-08-31 2007-03-15 Hitachi Ltd 計算機システム及びデータベース管理システムプログラム
JP2012014739A (ja) * 2011-10-12 2012-01-19 Hitachi Ltd 計算機システム及びデータベース管理システムプログラム

Similar Documents

Publication Publication Date Title
US11593337B2 (en) Data processing method, device, and a storage medium
JP3075486B2 (ja) データベースネットワークの管理方法
EP0744055B1 (en) Distributed data base system
CN100403315C (zh) 一种实现负荷分担的数据库访问方法及系统
RU96120166A (ru) Система и способ эффективного использования кэш-памяти в распределенной файловой системе
KR20020090520A (ko) 트랜잭션 처리 시스템의 병렬 로깅 방법
US6981001B1 (en) Method and systems for default mapping mechanization
RU2146077C1 (ru) Система управления регистром исходного местоположения и способ управления базой данных в мобильной системе радиосвязи
JPH10222542A (ja) 照会変換システム
US6556996B1 (en) Service package application and a service activation manager for use with a service control point in an advanced intelligent network
US5815556A (en) Method and apparatus for extracting a subset of data wanted by a customer from a group of subsets of data wanted by different customers
CN113037851B (zh) 一种基于存储实现的针对云手机系统超分的方法
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
JPH11238065A (ja) データベース併合方法
JPH09511858A (ja) Osiエージェントにおける要求の並列実行
JPH1021174A (ja) データ転送システム
JPH0765019A (ja) データベースサービス方法およびそれを利用したサービス制御装置
EP0912069A2 (en) Execution of service control requests in a single service control point
JP2644535B2 (ja) ネットワーク間ファイル検索処理システム
US6804339B1 (en) Real-time object-oriented database for TAPI service providers
CN111680069A (zh) 数据库访问方法及装置
KR100293143B1 (ko) 플렉시블호출기록장치를위한방법및시스템
CN1082320C (zh) 构成呼叫处理的方法和电话呼叫处理的交换系统
JPH06348666A (ja) 計算機システムにおけるプログラム実行負荷分散方法
US8560934B1 (en) Methods and systems for latitude/longitude updates