JPH10326284A - データベース・システムおよびプログラム記憶媒体 - Google Patents

データベース・システムおよびプログラム記憶媒体

Info

Publication number
JPH10326284A
JPH10326284A JP9136222A JP13622297A JPH10326284A JP H10326284 A JPH10326284 A JP H10326284A JP 9136222 A JP9136222 A JP 9136222A JP 13622297 A JP13622297 A JP 13622297A JP H10326284 A JPH10326284 A JP H10326284A
Authority
JP
Japan
Prior art keywords
request
agent
database
input
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9136222A
Other languages
English (en)
Other versions
JP4021518B2 (ja
Inventor
Takao Mori
隆夫 毛利
Hiroshi Takada
裕志 高田
Hiroyuki Fujii
裕之 藤井
Keizo Tabuchi
敬三 田渕
Shinya Kono
慎也 河野
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 JP13622297A priority Critical patent/JP4021518B2/ja
Priority to US08/990,750 priority patent/US6108646A/en
Publication of JPH10326284A publication Critical patent/JPH10326284A/ja
Application granted granted Critical
Publication of JP4021518B2 publication Critical patent/JP4021518B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】複数のユーザと複数のデータベースを仲介する
機能を持つデータベース・システムに関し,ユーザの増
加やデータベースの追加などに対するスケーラビリティ
が確保可能であり,動作負荷や運用管理コストが分散可
能であり,かつ情報の機密も保持可能な仲介機能を実現
することを目的とする。 【解決手段】ユーザ11〜13とデータベース51〜54との仲
介機構を,ユーザと仲介機構全体とのインターフェイス
を取り持つユーザ・エージェント21〜24と,各ユーザ・
エージェントとDBエージェントとの間を仲介する仲介
エージェント31〜38と,各データベース51〜54とエージ
ェント群との間のインターフェイスを取り持つDBエー
ジェント41〜44の3種類のエージェントによって分散的
に構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,複数のユーザと複
数のデータベースが存在する場合に,ユーザとデータベ
ースとの間を仲介する機能を,エージェントと呼ぶプロ
セスを分散して複数動作させることによって実現したデ
ータベース・システムおよびそれを実現するプログラム
を格納したプログラム記憶媒体に関する。
【0002】
【従来の技術】近年のコンピュータおよびコンピュータ
・ネットワークの発達により,多数のコンピュータが高
速なネットワークで結合された環境が整いつつある。こ
のようなネットワークを通して,コンピュータ上で動作
する多数のデータベースが利用可能になりつつある。
【0003】しかし,これら多数のデータベースは,そ
れぞれ異なる内容を異なる利用手順で提供している。し
たがって,ユーザにとっては,まず自分の要求にもっと
も合致したデータベースを探索すること自体が,困難に
なってきている。また,データベース毎に異なる利用手
順を習得するのも,ユーザにとって大きな負担になって
きている。
【0004】例えば,今日インターネット上には多数の
文献データベースが存在するが,これらを利用するため
には,ユーザは,まずどこにデータベースがあるのかを
知る必要がある。また,データベースには,網羅的に文
献を登録してあるデータベースもあるし,特定の分野に
偏って情報を保持しているものもある。したがって,多
数存在するデータベースから,自分の要求を満たした適
切なものを選択しなくてはならない。さらに,個々のデ
ータベースの利用手順は一般に異なる。したがって,利
用者は各データベースの利用の手引等を参照しつつ,個
別に検索を行うことになる。
【0005】また最近では,CALSやECと呼ばれる
動きが活発である。これらでは,電子的に物品の調達,
管理や広告,売買などを行う仕組みが盛んに開発され,
運用され始めている。しかし,これらの電子的な商取引
の場合にも,データベースの選択や,利用手順に関する
問題が発生している。
【0006】例えば,商取引の発注者側は,複数の生産
者のデータベースから最新の製品情報を入手したり,自
分の期待に最も満足する生産者を選択して,その生産者
から製品を購入したいという要求がある。また生産者側
は,自分の持つ製品に興味を持つような適切な顧客を見
つけ出したり,発注者に自社製品を納入した後で,保守
のために納入先のデータベースにアクセスして,製品の
稼動情報を取得したいといった要求がある。このよう
に,会社間にまたがって,データベースを相互に参照・
利用しようという要求は,現実のものとして強く存在す
る。
【0007】しかしながら,データベースの形式や利用
手順の差が,会社間はもとより,社内にも存在する場合
があり,相互利用の大きな障害になっている。また,実
際の業務に用いる場合には,情報の機密の確保や,利用
権限の管理を厳しく行う必要があり,これらの点も問題
となっている。
【0008】このような問題を解決する方法として,ネ
ットワーク上にエージェント(代理人)と呼ばれるプロ
グラムを用いて,エージェントにユーザとデータベース
との間を仲介させる方法が提案されている。エージェン
トは多数のデータベースの内容や利用手順を知ってお
り,データベースの選択や,利用手順の差異の吸収や,
利用権限のチェックは,エージェントが行う。ユーザか
ら見た場合,エージェントは多数のデータベースを統合
したような,仮想統合データベースとして見える。
【0009】
【発明が解決しようとする課題】以上のような技術的背
景のもとで,本発明は,複数のユーザと複数のデータベ
ースが存在する場合に,ユーザとデータベースの間を仲
介する機構を対象としている。本仲介機構は,以下のよ
うなユーザやデータベースを仮定している。機種の異な
る計算機上で複数のデータベースが動作するような,い
わゆる異機種分散データベース環境では,ごく自然にこ
のような状況が発生する。
【0010】・ユーザは一般に複数存在し,ユーザの発
行する要求や受け取る回答の形式が複数存在する。 ・データベースは一般に複数存在し,データベースの発
行する要求や受け取る回答の形式が複数存在する。
【0011】本仲介機構は,このような仮定の下で以下
の機能の実現を図る。これらの機能を図27に示す。図
中,80はユーザ,81は仲介機構,82〜85はデー
タベースを表す。なお,本明細書では要求側をユーザ,
回答側をデータベースと呼んでおり,本発明は狭義のユ
ーザ,狭義のデータベースに限定されるわけではない。
一般には適切な要求や回答が行える人間,情報機器,プ
ログラム等が,要求側(本発明でのユーザ)や回答側
(本発明でのデータベース)になり得る。
【0012】(1)ユーザ80の指定する出力手順に沿
って要求を受け取る。 (2)ユーザ80の要求に基づいて,データベース82
〜85の中から,その要求を処理する適切なデータベー
スを選択する。なお,選択されたデータベースは複数の
場合もあり得る。
【0013】(3)データベースの指定する入力手順に
合わせて,要求を送る。 (4)データベースの指定する出力手順に合わせて,回
答を受け取る。選択されたデータベースが複数の場合に
は,複数の回答を取りまとめる。
【0014】(5)ユーザ80の指定する入力手順に沿
って回答を送付する。このような仲介機構を単純に実現
する方法として,集中構成による実装を行う方法が考え
られる。図28は,集中構成による仲介機構の説明図で
ある。
【0015】仲介機能の集中構成とは,図28のよう
に,一つのプログラムで実現される仲介機構93がすべ
てのユーザ90〜92からの出力を受信し,すべてのデ
ータベース94〜97に入力する構成を指す。データベ
ース94〜97からの回答は,この逆の道筋を通り,一
度,仲介機構93に集められたあとで,質問をしたユー
ザ90〜92に送られる。しかし,このような集中構成
では,以下のような問題が発生する。
【0016】・「動作時の負荷の集中」すべての仲介作
業を一つのプログラムで行うため,負荷が大きくなりや
すい。また,ユーザ,データベースの増加が直接負荷の
増加になり,負荷を分散させることができない。
【0017】・「運用管理コストの集中」ユーザやデー
タベースを登録するような運用形態の場合,それぞれが
増加するたびにプログラムの設定変更が必要になり,シ
ステム全体に対して影響が発生する。また,入出力形式
が変更,削除されたり新規に追加される場合にも,プロ
グラムの変更が必要となるため,システム全体に対して
影響が発生する。
【0018】・「情報の機密を保持できない」例えば,
どのデータベースがどのような要求を受け付けられるか
は,場合によっては機密情報となりえるが,集中構成で
はそのような情報が一箇所に集められるため,情報の機
密が保持できない。例えば,図28に示す仲介機構93
は,すべてのデータベース94〜97に対してアクセス
することができ,仲介機構93の管理者は,データベー
ス94〜97の情報を何らの制限なしに得ることができ
る。
【0019】本発明は,仲介機構を分散構成にすること
によって,動作時の負荷の集中,運用管理コストの集
中,情報の機密を保持できないという集中構成の問題点
を解決することを目的とする。
【0020】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明では,一つの仲介機構を,エージェン
トと呼ばれる通信機能を持ったプロセスを複数用いるこ
とにより実現する。エージェントは,一般に複数の計算
機上で動作するが,1台の計算機上で一つのエージェン
トのみが動作する場合もあるし,複数のエージェントが
動作する場合もあり得る。
【0021】図1に示すように,分散構成による仲介機
構を,3種類のエージェントを用いて構成する。エージ
ェントの分類と役割は,以下の通りである。 ・ユーザ・エージェント ユーザ・エージェント21〜24は,ユーザ11〜13
とエージェント群(仲介機構全体)とのインターフェイ
スを取り持つエージェントである。ユーザ毎にアクセス
の方法や必要とする回答の書式が異なる場合には,その
差異はユーザ・エージェント21〜24が吸収する。ユ
ーザ数が増加した場合にも,ユーザ・エージェントを局
所的に増加させることで,エージェント群全体を変更せ
ずに対応できる。
【0022】・仲介エージェント 仲介エージェント31〜38は,ユーザ・エージェント
21〜24とデータベース・エージェント(以下,DB
エージェントと記す)41〜44との間を仲介するエー
ジェントである。ユーザ・エージェント21〜24は,
仲介エージェント31〜38に要求を送付することで,
DBエージェント41〜44を選択する。
【0023】・DBエージェント DBエージェント41〜44は,データベース51〜5
4とエージェント群との間のインターフェイスを取り持
つエージェントである。データベース51〜54毎の利
用手順の差異や,回答形式の差異は,DBエージェント
41〜44が吸収する。データベースが追加された場合
でも,対応するDBエージェントを追加することで,エ
ージェント群全体を変更せずに対応できる。
【0024】以上のユーザ・エージェント,仲介エージ
ェントおよびDBエージェントを実現するプログラム
は,計算機が読み取り可能な適当な記憶媒体に格納する
ことができる。そのプログラムを記憶媒体から計算機の
メモリにローディングし,実行することにより,ユーザ
・エージェント,仲介エージェントおよびDBエージェ
ントを動作させることができる。
【0025】
【発明の実施の形態】以下,本発明の実施の形態を図面
を参照して説明する。 1.システム構成 図2は,本発明の実施の形態におけるシステム構成の例
を示す。
【0026】図2において,61〜68はCPUおよび
メモリ等からなる計算機,UAはユーザ・エージェント
(User Agent) ,FAは仲介エージェント(Facilitate
Agent) ,DAはDBエージェント(Database Agen
t),71,72はWANやLANなどのネットワー
ク,73はネットワーク間の接続を行うルータを表す。
【0027】各エージェントUA,FA,DAは,他の
エージェントと通信する機能を持つ。これらのエージェ
ント群は,一般に複数の計算機上で動作する。1台の計
算機上で一つのエージェントのみが動作する場合もある
し,複数のエージェントが動作する場合もあり得る。複
数の計算機に分散された各データベース51〜54に対
応して,これらのデータベース51〜54にそれぞれア
クセスするためのDBエージェントDAが配置される。
【0028】例えば,計算機62のユーザが,ユーザ・
エージェントUAを介してデータベース選択要求を行う
と,その要求に関する条件に応じて要求の送付先が順次
決定され,データベース51が該当する場合には,仲介
エージェントFA,ネットワーク71,ネットワーク7
2および計算機64の仲介エージェントFAとデータベ
ースエージェントDAを介してデータベース51の選択
が行われるようになっている。一つの要求に対して,複
数のデータベースが該当する場合には,複数のデータベ
ースの選択が行われる。
【0029】2.分散構成による仲介機構の動作 2.1 ユーザからの要求手順 仲介機構の動作の説明の前に,まず仲介機構に対して与
えられるユーザからの要求について説明する。
【0030】図3は,本実施の形態で対象とするユーザ
からの要求形式の例を示す図である。本実施の形態で対
象とするユーザからの要求形式は,インターフェイスの
統一のため,例えば図3のような形式に限定する。すな
わち,ユーザからの要求は,まずデータベースを選択す
るための要求が発行され,続いて選択されたデータベー
スに対する要求が必要な回数だけ発行され,最後に選択
したデータベースへの要求を終了する通知がなされるも
のとする。
【0031】ユーザがデータベースの概要を把握してい
る場合には,ユーザはデータベースを選択するための要
求と,そのデータベースへの要求を区別して意識してい
ると思われる。そのため,このような限定を加えても実
際の利用には大きな不都合は生じない。また,このよう
な限定を加えた事により,仲介機構の動作を,この要求
のパターンに対応した,簡潔な理解しやすいものとする
ことが可能となる。この点は大きな利点である。
【0032】以下では,データベースを選択する要求を
「DB選択要求」,選択されたデータベースに対しての
要求を「DB操作要求」,要求終了の通知を「DB完了
要求」,これらが複数個つながったものを「DB複合要
求」,以上すべてをまとめて「DB関連要求」と呼ぶこ
とにする。
【0033】また,DB選択要求からDB完了要求まで
を,ひとつの「セッション」と呼び,ユーザはセッショ
ン毎に一意な識別番号(セッションID)を割り当てる
ものとする。上記のDB関連要求は,セッションIDと
ともに仲介機構に送られるものとする。これは,DB操
作要求などが単独でなされた場合,どのDB選択要求に
対応するかを識別する必要があるためである。
【0034】2.2 個々のエージェント動作 3種類のエージェントは,それぞれ基本動作と拡張動作
を行う。エージェントの基本動作とは,自分の持つ条件
に応じて,要求を配送し,回答をまとめる動作を指す。
各エージェントは,他のエージェントの宛先と,そのエ
ージェントに要求を送る場合に満たさなくてはならない
条件の組を持つ。この条件と宛先の記述されている表を
「条件表」と呼ぶ。
【0035】図4は,このエージェントの持つ条件表の
構成例を示している。エージェントに要求が与えられた
場合,そのエージェントは条件表を参照してこの要求が
条件を満たす宛先すべてに対して,その要求を配送す
る。エージェントは,要求の回答をすべてまとめて,も
ともとの要求元に回答する。
【0036】この基本動作では,同時にタイムアウト処
理や,要求の二重処理の回避も行われるが,これらに関
しては,それぞれ第2.4節,第2.5節において詳し
く説明する。
【0037】以上の基本動作に加えて,ユーザ・エージ
ェントはユーザとのインターフェイス機能が,DBエー
ジェントにはデータベースとのインターフェイス機能
が,拡張機能として定義されている。
【0038】2.3 全体的な仲介機構の動作 仲介機構のエージェント群の動作は,大きく2段階に別
れる。なお,以下のように2段階に分割したのは,一旦
選択した個別DBに対して,異なる要求を何度も繰り返
す可能性が大きいためである。
【0039】(1)個別DB群の選択 第1段階では,まず個別のデータベースの選択を行う。
選択されたデータベースを,DB群と呼ぶ。データベー
スには,まだ実際の要求は転送しない。
【0040】(2)要求回答処理 第2段階では,第1段階で得られたDB群に対して,実
際の要求を発行し,得られた回答をまとめてユーザに返
答する。
【0041】このような仲介機構の動作を図5および図
6に従って説明する。図5は,仲介機構の第1段階の動
作例を示している。第1段階ではユーザの要求を満たす
ような,個別のデータベースを選択する。まず,ユーザ
からの要求をもとにして,DB選択要求をユーザ・エー
ジェントが発行する。DB選択要求は,その要求を受け
取った仲介エージェントの持つ条件表に基づいて分岐し
ていき,最後にはDBエージェントにまで到達する。
【0042】図5(A)の例では,ユーザ12のDB選
択要求をユーザ・エージェント22が受け取り,各エー
ジェントが持つ条件表に従って,順次,仲介エージェン
ト32,31,36へ送られている。仲介エージェント
36では,条件を満たす仲介エージェント37とDBエ
ージェント41へ要求を送り,さらに仲介エージェント
37では,DBエージェント42,44へ要求を送って
いる。
【0043】要求を受け取ったDBエージェント41,
42,44は,その要求が自分の持つ条件を満たしてい
る場合には,自分の管理するデータベース51,52,
54の名前をそれぞれ返し,そうでなければエラーを返
す。
【0044】なお,一度処理した要求が同じエージェン
トに二度来た場合には,そのエージェントがエラーを返
答し,条件表による配送処理は行わない。図5(A)中
の点線の矢印は,同じ要求が二重に到着したためエラー
になった経路である。例えば,仲介エージェント31に
は,同じ要求が仲介エージェント32,34から送付さ
れている。この場合,後からの要求はエラーとして棄却
される。
【0045】図5(B)は,DB選択結果の集約の過程
を示している。各エージェントは,自分が発行したすべ
てのメッセージの回答もしくはエラーがそろった時点
で,それらをまとめて要求元に返答する。この動作が繰
り返され,最終的には,送られてきた経路の逆を通っ
て,すべての回答が最初のユーザ・エージェント22に
集められる。そのため,最初のユーザ・エージェント2
2は,エージェント群によって選択された個別データベ
ース51,52,54の集合(DB群)を持つことにな
る。
【0046】図6は,仲介機構の第2段階の動作例を示
している。第2段階では,図6(A)のように,選択さ
れたDB群に対応するDBエージェント41,42,4
4に対して,最初のユーザ・エージェント22から直接
DB操作要求を送る。各DBエージェント41,42,
44は,送られた要求をデータベース51,52,54
に与え,図6(B)のように,得られた回答をユーザ・
エージェント22に返答する。ユーザ・エージェント2
2は,各DBエージェント41,42,44から得られ
た回答をまとめて,ユーザ12に返答する。以上によ
り,ユーザ12の発行した質問に対して,仲介機構から
の回答がなされたことになる。
【0047】2.4 タイムアウト処理 分散構成でシステムを構成した場合には,エージェント
の予期せぬ動作や通信回線のトラブルなどにより,要求
への回答が戻ってこない場合が考えられる。そのような
場合には返答を永久に待ち続けるのではなく,一定時間
待った後に返答がなければあきらめて,エラー処理を行
う必要がある。このような処理を「タイムアウト処理」
と呼ぶ。
【0048】従来のタイムアウト処理は,一回の通信に
対してあらかじめ決められた時間だけ待つようにする方
式であった。しかし,分散構成で仲介機構を実現する場
合には,通信が何段にも連続して行われる。このような
場合に,途中の通信すべてに同一のタイムアウト時間を
設定すると,それぞれの通信や計算処理に要する時間が
考慮されていないため,ユーザとの間のインターフェイ
スはタイムアウトで終了しているにもかかわらず,内部
では回答を計算し続けるような,無駄な処理を行ってし
まう可能性がある。
【0049】そのため,通信が何段も中継されるような
場合に,途中の通信時間,計算時間などの処理時間を考
慮して,タイムアウトまでの時間を決める方式を考える
必要がある。ここでは,以下の二つの方式を考案した。
【0050】[方式1]タイムアウトする時刻を指定す
る方式 この方式は特定の時刻になったときにタイムアウト処理
を行うように指定する方式である。次のエージェントに
渡すタイムアウトの時刻は,自分の回答処理に必要な時
間を差し引いた時刻とする。
【0051】[方式2]タイムアウトまでの猶予時間を
引き継ぐ方式 この方式では,要求を受け取る際に,この要求に対する
返答を行うまでの猶予時間を同時に受け取る。要求を受
け取ったエージェントは,この猶予時間から自分の要求
処理および回答処理に必要な時間を差し引いて,新しい
猶予時間を計算する。次のエージェントに要求を配送す
る際には,要求と同時に新しい猶予時間を与え,自分も
新しい猶予時間だけ返答を待ち,返答が時間内に到着し
なければ,エラーを要求元に返答する。
【0052】方式1は,タイムアウトを時刻で管理する
ために,エージェントが自分の処理に必要な時間を不正
確に見積もった場合にも,ユーザの指定した時刻を越え
て不必要な処理が行われない点が利点である。逆に欠点
としては,エージェントの参照する時計の時刻を,すべ
てのエージェントにおいて正しく設定しておく必要があ
る点が挙げられる。
【0053】方式2は,時刻ではなく時間間隔でタイム
アウトを管理するために,各エージェントの参照する時
計の時刻を正しく設定しておく必要が必ずしもない点が
利点である。分散構成でエージェントを動作させる場合
には,すべての時計が正しく設定されていることが期待
できない場合が多い。このような場合には,時刻を用い
る方式1は採用不可能である。逆に欠点としては,エー
ジェントが自分の処理に必要な時間を短く見積もった場
合には,ユーザの指定した時刻を過ぎても,回答を生成
するための処理が,引き続き行われてしまう可能性があ
る。
【0054】ここでは,以上の点を総合的に考慮した結
果,タイムアウトまでの猶予時間を引き継ぐ方式を採用
した。 2.5 要求の二重処理の回避方式 各エージェントは,図4に示すような条件表に基づい
て,DB選択要求の次の配送先を決定するが,条件表の
複数の項目が満たされた場合には,それぞれの配送先に
同じ要求を配送する。このような同じ要求は,要求配送
の経路がループ状につながってしまった場合には,その
ままでは同じ要求がタイムアウトになるまで繰り返し処
理され続けることになり,非効率的である。また,もと
は同じ要求から複製されたいくつもの要求が,同じエー
ジェントに配送される可能性もある。この場合も同じ要
求が何度も処理されるため,同様に非効率的である。
【0055】このような事態を避けるため,ここでは要
求を最初に発行するユーザ・エージェントが,要求に識
別番号(要求ID)を付加する方式を採用する。識別番
号はすべてのエージェント群を通して,重複することの
ないような番号にする。このような番号は,ユーザ・エ
ージェントの動作する計算機のネットワーク上での名前
(ホスト名など)と,シーケンス番号または要求を発行
する時刻などを組み合わせることにより,容易に生成可
能である。
【0056】各エージェントは,自分が過去に処理した
要求の要求IDを記録している。新たに要求が与えられ
た場合には,その要求IDと記録中の番号とを比較す
る。一致した要求IDが発見された場合には,二重に要
求が届いた場合であるので,エラーを返答する。
【0057】古い要求の要求IDを記憶から除去する方
法には何通りか考えられる。例えば,記憶している要求
IDの個数が,あらかじめ定めておいた上限に達した場
合に,古い要求IDを除去する方式や,要求処理後一定
時間を経過した場合にその要求IDを除去する方法など
が挙げられる。前者は,古い要求IDが必ず一定数存在
することになるので,新しい要求IDとの比較に時間を
要する。また後者は,消去するまでの待ち時間を適切に
定める必要がある。
【0058】本実施の形態では,主に後者を用いる。す
なわち,ある要求の要求IDは,その要求に付属してい
るタイムアウト猶予時間が経過した後に消去するものと
する。この方法で要求の二重処理が発生しないことは,
以下のように説明できる。
【0059】まず,一つの要求が二つに分岐したのち,
あるエージェントに別々に到着した場合を想定しよう。
そのエージェントは,先に到着した方の要求の要求ID
を,その要求のタイムアウト猶予時間以上の間,保持し
ておく。このタイムアウト猶予時間は,「この時間が経
過した時にメッセージを送ると,最初に要求を生成した
ユーザ・エージェントがタイムアウトする直前にメッセ
ージが到着するような時間」を意味している。
【0060】さて,このタイムアウト猶予時間が経過し
たのちに,同じ要求IDを持つ要求が,そのエージェン
トに到達する場合があるかどうかを考えよう。この要求
は,はじめの要求と比べて遠回りをしてこのエージェン
トに到着している。そのため,このエージェントから回
答がなされる場合にも,同じ経路を通って,遠回りで回
答が伝達される。したがって,あとからの要求に付属す
るタイムアウト猶予時間は,はじめの要求のものと比べ
て,短くなっているはずである。つまり,あとの要求の
回答は,はじめの回答の要求よりも,早い時刻に回答し
なければ間に合わないはずである。したがって,はじめ
に到着した要求のタイムアウト猶予時間が経過した後
で,同じ要求IDを持つ別の要求が到着することは,原
理的には有り得ない。そのため,要求IDを保持してお
く時間は,先に到着した要求のタイムアウト猶予時間で
十分であるといえる。
【0061】ただし,実際にはタイムアウト猶予時間を
次のエージェントに伝える際に,自分のエージェントの
処理に必要な時間を正確に予測できない場合が発生する
と予想される。そのため,現実的には,与えられたタイ
ムアウト猶予時間よりも多少長めに要求IDを記録して
おくのが望ましい。
【0062】なお,要求IDの記憶数には限界があるた
め,記憶している一定数を越えた場合には古い要求ID
から消去していく方法も,併せて採用する。これは十分
な記憶容量が確保できない場合に用いられるものであ
り,補助的なものである。
【0063】3.各エージェントのモジュール構成およ
びフローチャート 3.1 ユーザ・エージェントの場合 ユーザ・エージェントのモジュール構成は,図7に示す
ようになっている。ユーザ・エージェントは,内部的に
は複数のプロセスで構成されている。図7において,入
力受付部201,条件部203,要求ID記録部20
4,DB群記録部205は,常駐型のプロセスであり,
ユーザ・エージェントが起動されてから終了要求が来る
までの間,外部からの入力を待ちながら動作し続けてい
る。入力処理部202は,外部からの入力が入力受付部
201に来るたびに生成されるプロセスである。
【0064】実際の処理は,主に入力処理部202が,
他の内部プロセスや他のエージェントと通信を行いなが
ら実行する。このように入力処理部202が外部入力の
たびに生成されるのは,一つのプロセスで入力を処理し
ようとすると,一つの入力の処理が終らない限り,次の
処理に進めなくなり,ユーザから見た時の仲介機構の反
応が,鈍くなるのを避けるためである。なお,以下の説
明において「〜部」と称する場合には独立して動作する
内部プロセスを指し,「〜ルーチン」と称する場合に
は,ある内部プロセスの一部を構成するサブルーチンを
表す。
【0065】入力受付部201は,図8に示すDBエー
ジェントの入力受付部301と同じ仕様である。要求を
チェックし,入力処理部202を起動して,要求の処理
を依頼する。終了要求が管理者によって与えられた場合
には,処理を終了する。またデバッグのための情報や,
アクセス記録などの内部情報が要求された場合には,そ
れらの情報を返答する。内部情報とは,具体的にはデバ
ッグのための経路トレース情報や管理運用のための時間
帯別の処理件数などの情報である。
【0066】入力処理部202は,DB複合要求が来た
場合には個々のDB関連要求に分解し,それぞれを個別
要求処理ルーチンに渡して,要求に対する処理を行う。
DB群記録部205は,DB選択要求によって選択され
たDB群をセッションIDをキーにして記録し,DB群
の検索,削除などに対応する。記録情報は,例えば次の
ようなものである。
【0067】 (セッションID1,{DB11,DB12,…}) (セッションID2,{DB21,DB22,…}) …… 条件部203,要求ID記録部204の仕様は,仲介エ
ージェント(図8)の条件部303,要求ID記録部3
04,およびDBエージェント(図9)の条件部40
3,要求ID記録部404と共通である。
【0068】条件部203は,図4で説明したような要
求の配送先を決定する条件表を保持し,入力処理部20
2からの要求に応じて条件表を回答する。また,エージ
ェントの管理者からの条件の登録,削除要求なども処理
する。要求ID記録部204は,過去に処理を行ったこ
とのある要求の識別番号(要求ID)と,その要求に対
するタイムアウト猶予時間を記録しておく内部プロセス
である。主に登録要求,検索要求を受け付ける。要求I
D記録部204には,記録できる要求IDの個数に上限
が設定されており,その上限を越えて記録しようとした
場合には,古い要求IDを上書きする。また,検索要求
がなされた場合には,記憶している過去の要求IDと順
に照合して行くが,一致する要求IDが見つかればその
IDを,そうでなければ見つからなかった旨を返答す
る。
【0069】なお,第2.5節で述べたように,要求I
Dは,そのエージェントのタイムアウト猶予時間を経過
したものは削除してよい。本実施の形態では,削除処理
を別個に設けることはせず,検索中に,十分古い要求I
Dが見つかった場合には,その要求IDを削除すること
にする。
【0070】他に,内部プロセスではないが,大きな処
理単位として,個別要求処理ルーチン,DB操作要求処
理ルーチンがある。これについては,処理フローチャー
トの説明で後述する。
【0071】3.2 仲介エージェントの場合 仲介エージェントは,図8に示すように,入力受付部3
01,入力処理部302,条件部303および要求ID
記録部304の4種類の内部プロセスから構成されてい
る。ユーザ・エージェントの場合と同様に,入力処理部
302は,外部からの入力が入力受付部に来るたびに生
成されるプロセスであり,他は常駐プロセスである。
【0072】入力受付部301は,要求IDをもとに二
重要求(以前処理したことのある要求)かどうかをチェ
ックし,そうならばエラーを返す。要求がDB選択要求
であれば,入力処理部302を起動し,処理を依頼す
る。
【0073】入力処理部302は,自分に与えられる要
求はDB選択要求のみであるので,そのままDB選択要
求処理ルーチン(後述する)を呼ぶ。条件部303,要
求ID記録部304は,全エージェントに共通であり,
図7のユーザ・エージェントで説明した処理と同様な処
理を行う。
【0074】3.3 DBエージェントの場合 DBエージェントは,図9に示すように,入力受付部4
01,入力処理部402,条件部403,要求ID記録
部404およびDBインターフェイス部405の5種類
の内部プロセスから構成されている。ユーザ・エージェ
ントの場合と同様に,入力処理部402は,外部からの
入力が入力受付部401に来るたびに生成されるプロセ
スである。
【0075】入力受付部401は,図7に示すユーザ・
エージェントの入力受付部201と同じ仕様である。入
力処理部402は,DB選択要求が来ればDB選択要求
処理ルーチン(後述)を呼ぶ。DB操作要求であれば,
DBインターフェイス部405に要求を転送する。
【0076】DBインターフェイス部405は,実際の
データベース51と通信を行って,要求を依頼し,回答
を受け取る。DBインターフェイス部405は,同時に
一度の要求しか処理しないようになっているので,複数
の要求を同時に受け取れないようなデータベースにも対
応している。
【0077】条件部403,要求ID記録部404は,
全エージェントに共通であり,上述した処理を行う。 3.4 各部の処理フロー 図10は,ユーザ・エージェントの入力受付部201お
よびDBエージェントの入力受付部301の処理フロー
チャートである。
【0078】入力受付部201,301への入力情報
は,(a) セッションIDとDB関連要求,(b) 終了要
求,(c) 内部情報要求のいずれかの情報である。入力受
付部201,301は,入力待ちの状態(図10のステ
ップS10)において,外部からの入力があると,まず
ステップS11により二重要求チェックを行う。二重要
求であれば,その要求を廃棄するエラー(ERROR)
処理を行い(S12,S13),ステップS20へ進
む。
【0079】二重要求でない場合,DB関連要求である
かどうかを判定し(S14),DB関連要求であれば入
力処理部201,301を生成して,その要求を引数と
して入力処理部201,301に渡す。その後,ステッ
プS20へ進む。
【0080】終了要求であれば,処理を終了する(S1
6)。デバッグや管理運用のための内部情報要求であれ
ば(S17),要求された内部情報を要求元へ送り(S
18),ステップS20へ進む。内部情報要求でもなけ
れば,その要求をエラーとしてERROR処理を行い
(S19),ステップS20へ進む。ステップS20で
は,内部情報として提供するための処理件数やエラー情
報などのアクセス記録の更新を行い,その後,ステップ
S10の入力待ち状態に戻る。
【0081】図11は,ユーザ・エージェントの入力処
理部202の処理フローチャートである。入力処理部2
02への入力情報は,セッションIDとDB関連要求で
ある。ステップS30では,DB関連要求を内部形式に
変換する。ステップS31では,要求がDB複合要求か
どうかを判定し,DB複合要求でなければ,ステップS
32によって,個別要求処理ルーチン(図12)を呼び
出し,個別のDB関連要求を処理する。その後,ステッ
プS37へ進む。
【0082】DB複合要求であれば,ステップS33へ
進み,一連の要求を個別要求に分解する。そして,分解
した個別要求について,先頭から順番にすべての個別要
求についての処理を行う(S34〜S36)。すべての
個別要求について処理をしたならばステップS37へ進
む。
【0083】ステップS37では,結果をユーザの要求
する形式に変換して回答し,その後,処理を終了する。
図12は,ユーザ・エージェントの個別要求処理ルーチ
ンの処理フローチャートである。
【0084】個別要求処理ルーチンへの入力情報は,
(a) セッションIDとDB選択要求,(b) セッションI
DとDB操作要求,(c) セッションIDとDB完了要求
のいずれかの情報である。
【0085】最初に,DB選択要求であるかどうかを判
定し(S40),DB選択要求であれば,新規に要求I
D,タイムアウト猶予時間を設定した後に,DB選択要
求処理ルーチン(図13)を呼び,条件表に基づいてD
B選択要求を仲介エージェント,DBエージェントに配
送し,条件を満たすDB群を選択し,DB群記録部20
5にセッションIDとともに記録する(S41〜S4
4)。
【0086】要求がDB操作要求であれば(S45),
DB操作要求処理ルーチン(図15)を呼ぶ(S4
6)。要求がDB完了要求であれば(S47),付属す
るセッションIDを使って,対応するDB群を,DB群
記録部205に要求して削除する(S48)。
【0087】図13は,DB選択要求処理ルーチンの処
理フローチャートである。なお,DB選択要求処理ルー
チンは,全エージェントに共通のサブルーチンである。
DB選択要求処理ルーチンへの入力情報は,DB選択要
求と要求IDとタイムアウト猶予時間の情報である。ま
ず,ステップS50では,入力したタイムアウト猶予時
間を自分の処理に必要な時間だけ減少させる。次に,ス
テップS51では,タイムアウト猶予時間が0以下であ
るかどうかをチェックし(S51),0以下になってい
れば,エラー(ERROR)処理を行い(S52),処
理を終了する。
【0088】タイムアウト猶予時間が0以下になってい
なければ,条件部から条件表を取得し(S53),条件
に合う出力先のリストを作成する(S54)。そして,
すべての出力先に対してステップS551〜S553を
実行する(S55)。すなわち,出力先が自分でなけれ
ば(S551),出力先に要求を送付する(S55
2)。出力先が自分となっている場合,ここでは特別な
意味を持たせており,自分の宛先を回答する(S55
3)。すなわち,DBエージェントの場合,自分が管理
するデータベースの名前を回答する処理を行う。
【0089】次に,ステップS56では,回答待ちルー
チン(図14)を呼び出し,その後,ステップS57に
よって回答をまとめて,その回答を要求元へ返送する。
図14は,回答待ちルーチンの処理フローチャートであ
る。回答待ちルーチンは,全エージェントに共通のサブ
ルーチンである。
【0090】回答待ちルーチンの入力情報は,タイムア
ウト猶予時間と回答を行うエージェント群の情報であ
る。回答待ちルーチンは,タイムアウト処理を行う部分
であり,返答がくるか,またはタイムアウト猶予時間が
経過するのを待つ(S60)。すべての返答が揃うか,
タイムアウト猶予時間が経過するかのいずれかが満たさ
れると,その時点までに得られている回答を返答し(S
61〜S63),処理を終了する。
【0091】図15は,ユーザ・エージェントのDB操
作要求処理ルーチンの処理フローチャートである。DB
操作要求処理ルーチンへの入力情報は,セッションID
とDB操作要求である。DB操作要求処理ルーチンは,
実際にDB操作要求を処理する部分である。ステップS
70では,DB群記録部205から与えられたセッショ
ンIDに対応するDB群を取得する。次に,ステップS
71では,要求IDを新規に登録し,続いてステップS
72では,タイムアウト猶予時間を決定する。
【0092】ステップS73では,DB群記録部205
から得たDB群内のすべてのDBエージェントに(DB
操作要求,要求ID,タイムアウト猶予時間)の要求メ
ッセージを発行する。その後,ステップS74では,図
14の回答待ちルーチンを呼び出し,ステップS75で
は,結果を集計してユーザへ回答する。
【0093】図16は,ユーザ・エージェントのDB群
記録部205の処理フローチャートである。DB群記録
部205への入力情報は,検索または削除時の場合には
セッションID,登録時の場合にはセッションIDとD
B群の情報である。または内部情報要求であることを示
す要求種別情報である。DB群記録部205は,入力待
ち状態(S80)において要求があると,登録要求に対
しては,セッションIDとDB群の登録処理(S81,
S82),削除要求に対しては,該当するセッションI
Dのエントリの削除処理(S83,S84),検索要求
に対しては,該当するセッションIDのエントリを回答
し(S85,S86),終了要求に対しては,処理を終
了する(S87)。また,デバッグや管理運用のための
内部情報要求に対しては,要求された内部情報を提供す
る(S88,S89)。以上の要求に該当しない場合に
ついては,所定のエラー処理を行う(S90)。
【0094】その後,終了要求以外についてはアクセス
記録を更新し(S91),ステップS80の入力待ち状
態に戻る。図17は,条件部の処理フローチャートであ
る。条件部の処理手続きは,全エージェントに共通であ
る。
【0095】条件部への入力情報は,(a) 条件登録要
求,(b) 条件削除要求,(c) 条件表取得要求,(d) 終了
要求,(e) 内部情報要求のいずれかの情報である。ま
ず,ステップS100では,初期条件として与えられた
条件表を所定のファイルから読み込み,ステップS10
1で入力待ち状態に入る。何らかの要求があると,ステ
ップS102へ移り,要求が条件登録要求または条件削
除要求であるかどうかを判定する。条件登録要求または
条件削除要求の場合,要求元がアクセス権限を持つかど
うかをチェックし(S103),アクセス権限がなけれ
ばエラー処理を行う(S104)。アクセス権限があれ
ば,要求された条件表への条件の登録または条件の削除
を行い,書き換えた結果をファイルに書き込み,処理し
た旨を回答する(S105,S106)。
【0096】要求が条件表取得要求の場合,条件表を要
求者に回答する(S107,S108)。終了要求に対
しては,処理を終了する(S109)。
【0097】また,デバッグや管理運用のための内部情
報要求に対しては,要求された内部情報を提供する(S
110,S111)。以上の要求に該当しない場合につ
いては,所定のエラー処理を行う(S112)。
【0098】その後,終了要求以外についてはアクセス
記録を更新し(S113),ステップS101の入力待
ち状態に戻る。図18は,要求ID記録部の処理フロー
チャートである。要求ID記録部の処理手続きは,全エ
ージェントに共通である。
【0099】要求ID記録部への入力情報は,(a) 登録
要求と要求ID,(b) 検索要求と要求IDのいずれかの
情報である。ステップS120の入力待ち状態におい
て,何らかの要求があると,その要求種別に応じて以下
の処理を行う。
【0100】登録要求の場合(S121),要求IDの
記憶個数が上限に達したかどうかによって(S12
2),最も古いIDへの新しい要求IDの上書き(S1
23),または空き領域への新しい要求IDの追加登録
(S124)を行う。
【0101】検索要求の場合(S125),記録してい
る要求IDと順に照合し(S126),同一IDを発見
したときには該当エントリを回答する(S127)。全
IDと照合しても要求IDが見つからないときは,該当
無しを回答する(S128)。この照合の途中で,タイ
ムアウト猶予時間よりも十分に古い要求IDを発見した
ときには,その要求IDを削除する(S129)。
【0102】終了要求の場合,処理を終了する(S13
0)。また,デバッグや管理運用のための内部情報要求
に対しては,要求された内部情報を提供する(S13
1,S132)。以上の要求に該当しない場合について
は,所定のエラー処理を行う(S133)。
【0103】その後,終了要求以外についてはアクセス
記録を更新し(S134),ステップS120の入力待
ち状態に戻る。図19は,仲介エージェントの入力受付
部301の処理フローチャートである。
【0104】入力受付部301は,外部から入力情報と
して,(a) DB選択要求と要求IDとタイムアウト猶予
時間,(b) 終了要求,(c) 内部情報要求のいずれかの情
報を受け取る。入力待ち状態(S150)において,要
求を受け取ると,要求IDをもとに二重要求かどうかを
チェックし(S151),二重要求であればエラー処理
を行う(S152,S153)。
【0105】二重要求でない場合,DB選択要求に対し
ては,入力処理部302を生成し,要求を引数として入
力処理部302に渡す(S154,S155)。終了要
求に対しては,処理を終了する(S156)。
【0106】また,デバッグや管理運用のための内部情
報要求に対しては,要求された内部情報を提供する(S
157,S158)。以上の要求に該当しない場合につ
いては,所定のエラー処理を行う(S159)。
【0107】その後,終了要求以外についてはアクセス
記録を更新し(S160),ステップS150の入力待
ち状態に戻る。図20は,仲介エージェントの入力処理
部302の処理フローチャートである。
【0108】入力処理部302は,入力情報としてDB
選択要求,その要求IDおよびタイムアウト猶予時間の
情報を受け取ると,ステップS140において,DB選
択要求処理ルーチンを呼び出す。DB選択要求処理ルー
チンでは,図13で説明した処理を行う。
【0109】図21は,DBエージェントの入力処理部
402の処理フローチャートである。入力処理部402
は,入力情報として,(a) DB選択要求,その要求ID
およびタイムアウト猶予時間,(b) DB操作要求,その
要求IDおよびタイムアウト猶予時間のいずれかの情報
を受け取る。
【0110】DBエージェントの入力処理部402は,
DB選択要求に対しては,DB選択要求処理ルーチン
(図13)を呼び出す(S161,S162)。DB操
作要求に対しては,DBインターフェイス部405に要
求を転送し,DBインターフェイス部405からの回答
を要求元に転送する(S163〜S165)。それ以外
の要求に対しては,所定のエラー処理を行い(S16
6),処理を終了する。
【0111】図22は,DBエージェントのDBインタ
ーフェイス部405の処理フローチャートである。DB
インターフェイス部405の入力情報は,(a) DB操作
要求,その要求IDおよびタイムアウト猶予時間,(b)
終了要求,(c) 内部情報要求のいずれかの情報である。
【0112】DBインターフェイス部405は,ステッ
プS170の入力待ちの状態において,DB操作要求を
受け取ると,データベース(DB)毎に指定された形式
でデータベース(DB)に要求する(S171,S17
2)。ここで,指定された形式とは,例えばDBの種類
によって定まるアクセス言語等を用いることを意味す
る。DBからの回答があれば,本システムにおいてあら
かじめ定められている内部形式に変換し,要求元に返答
する(S173,S174)。
【0113】終了要求に対しては,処理を終了する(S
175)。また,デバッグや管理運用のための内部情報
要求に対しては,要求された内部情報を提供する(S1
76,S177)。以上の要求に該当しない場合につい
ては,所定のエラー処理を行う(S178)。
【0114】その後,終了要求以外についてはアクセス
記録を更新し(S179),ステップS170の入力待
ち状態に戻る。4.分散構成による仲介機構の特長およ
び効果以上の分散構成による仲介機構の要点を列挙する
と,以下のとおりである。
【0115】(1) 仲介機構を,ユーザ・エージェント,
仲介エージェント,DBエージェントの3種類のエージ
ェントによって分散的に構成する。 (2) 3種類のエージェントの基本動作は同一とし,ユー
ザ・エージェント,DBエージェントは,それらに拡張
機能を付与した構成とする。
【0116】(3) 複数のエージェントを別個の計算機上
で動作させることにより,負荷を分散させる。 (4) 各エージェントの内部を処理毎にプロセスに分割
し,並列動作を可能にする。
【0117】(5) ユーザからの要求を,DB選択のため
の要求と,選択したDBに対する要求に分割する。 (6) 仲介機構の動作を,個別DBの選択と,選択したD
Bへの要求の2段階とする。
【0118】(7) 複数の仲介エージェントを経由した通
信により,複数の仲介エージェントの保持する条件を合
わせて用いて,データベースを選択する。 (8) エージェントが,自分に与えられたタイムアウトま
での猶予時間から,自分の処理に要する時間を差し引い
て,要求を転送したエージェントからの回答のタイムア
ウト猶予時間とすることにより,分散構成において,最
初に指定された時間内に間に合わないような無駄な処理
を回避する。
【0119】(9) 要求に識別番号を付与することで,要
求の二重処理を回避する。 (10)要求の識別番号を記録しておく時間を,そのエージ
ェントに与えられたタイムアウト猶予時間以上とするこ
とにより,不要な要求IDを消去する。
【0120】(11)ユーザ・エージェントにより,ユーザ
との間の様々な入出力手順の差異を一括して吸収する。 (12)DBエージェントにより,データベースとの間の様
々な入出力手順の差異を一括して吸収する。
【0121】(13)ユーザの設定情報の変更を,対応する
ユーザ・エージェントにより処理し,エージェント群全
体の設定変更は不要とする。 (14)データベースの設定情報の変更を,対応するDBエ
ージェントにより処理し,エージェント群全体の設定変
更は不要とする。
【0122】(15)全エージェントに新規エージェントや
エージェントの変更を登録することなしに,個別にエー
ジェントの追加,拡張を許す。 (16)エージェント全体をエージェント群に分割し,エー
ジェント群毎に機密保持を可能にする。
【0123】(17)特定のユーザの情報を,対応するユー
ザ・エージェントや,エージェント群の一部に限定して
保持することにより,ユーザの機密保持を可能にする。 (18)特定のデータベースの情報を,対応するDBエージ
ェントや,エージェント群の一部に限定して保持するこ
とにより,ユーザの機密保持を可能にする。
【0124】以上のように構成される仲介機構の特長と
しては,次のような点が挙げられる。 (a) 適用分野に依存しない構成 適用分野に依存するデータは,エージェントの持つ条件
表にすべて押し込められており,他の部分は適用分野に
依存しない。
【0125】(b) エージェントの追加,拡張が容易 全エージェントに登録する必要があるような,グローバ
ルなデータが存在しない。そのためエージェントの追加
などの拡張が容易である。
【0126】(c) 一定時間内での動作が期待可能 各エージェントの動作は,条件表を引いて出力先を決定
し,その出力先に入力を転送するだけなので,エージェ
ントの動作時間が見積もりやすい。また,ループなどの
要求の二重処理を禁止しているため,一定時間内での動
作が期待できる。
【0127】(d) 異なる機種の混在した機器構成によっ
て対応可能 各エージェントは,通信によって情報をやりとりし,共
有のデータを持たない。そのため,エージェントが動作
する計算機の機種などが異なるような,ヘテロな環境で
も動作させることが可能である。大規模なシステムを構
成する際には,単一の機種のみで構成するのは困難であ
る場合が多いため,異なる機種の混在を許す点は,大き
な利点である。
【0128】
【実施例】次に本発明の具体的な実施例について,図2
3〜図26に従って説明する。図23は,C1,C2,
C3の3社によるエージェント構成例を示す。
【0129】図23において,Companyは会社で
あり,C1,C2,C3は会社名である。group
は,会社の系列を表し,ここではGa企業グループとG
b企業グループのどちらかである。regionは,会
社の所在地,例えば関東地域,xx県またはyy市とい
うような地域であり,ここではRa地域とRb地域のど
ちらかである。contentは,その会社の扱ってい
る商品分類(X,Y,Zのどれか)であり,例えば乗用
車,食料品というようなものである。
【0130】会社C1は,Ga企業グループに所属して
いて,場所はRa地域にある。会社C2は,Gb企業グ
ループに所属していて,場所はRa地域にある。会社C
3は,Gb企業グループに所属していて,場所はRb地
域にある。
【0131】すなわち,会社C2と会社C3とは,同じ
企業グループの仲間同士であり,会社C1と会社C2と
は,同じ地域にある。会社C1が管理するエージェント
は,ユーザ・エージェントUA1a,UA1b,仲介エ
ージェントFA1c,DBエージェントDA1d,DA
1eである。会社C1のデータベース1f,1gは,そ
れぞれXのcontent,YとZのcontentを
持つ。
【0132】会社C2が管理するエージェントは,ユー
ザ・エージェントUA2a,UA2b,仲介エージェン
トFA2c,DBエージェントDA2dである。会社C
2のデータベース2eは,XとYとZのcontent
を持つ。
【0133】会社C3が管理するエージェントは,ユー
ザ・エージェントUA3a,仲介エージェントFA3
b,FA3c,DBエージェントDA3d,DA3e,
DA3fである。会社C1のデータベース3g,3h,
3iは,それぞれXのcontent,Yのconte
nt,Zのcontentを持つ。
【0134】これらのエージェントおよびデータベース
は,技術的には1台の計算機で実現することも可能であ
るが,現実には,次のような要素が考慮される。 (1) 異なる会社で同じ計算機上にサービスを実現するの
は,機密上,好ましくない。
【0135】(2) ユーザ・エージェントは,負荷分散の
観点からは複数用いるのが望ましい。 (3) 仲介エージェントの負荷は,あまり大きくないと予
想される。
【0136】(4) データベースは,通常大きなアプリケ
ーションであるので,1台の計算機に一つのみを動作さ
せるのが望ましい。 (5) DBエージェントは,対応するデータベースの近く
で動作するほうがよい。
【0137】以上の点を考慮すると,図23に示すエー
ジェントを実装するための好ましい計算機構成は,次の
ようになる。 (a) ユーザ・エージェント毎に1台の計算機を割り当て
る。
【0138】(b) データベースごとに1台の計算機を割
り当て,対応するDBエージェントも同じ計算機上で動
作させる。 (c) 仲介エージェントは,独立に計算機を割り当てる
か,ユーザ・エージェントの動作する計算機上,または
DBエージェントの動作する計算機上で動作させる。
【0139】図24〜図26は,各会社C1,C2,C
3の各エージェントが持つ条件表の例を示している。条
件で“*”とあるのは,どのような条件(あるいは値)
の場合にも,対応する出力先に要求を回送することを表
す。また,DBエージェントの条件表で,出力先が自分
自身になっているのは,自分の管理下にあるデータベー
スにアクセスすることを示す。
【0140】会社C1のユーザ・エージェントUA1a
は,図24(A)に示すような条件表を持つ。ユーザ・
エージェントUA1aは,どのような条件の要求に対し
ても,仲介エージェントFA1cに要求を転送する。会
社C1のユーザ・エージェントUA1bの条件表も同様
である(図24(B))。
【0141】会社C1の仲介エージェントFA1cは,
図24(C)に示すような条件表を持つ。要求での指定
が会社C1,グループGaまたは地域Raのいずれかで
あり,かつ商品分類がXであれば,要求の出力先をDB
エージェントDA1dとする。要求での指定が会社C
1,グループGaまたは地域Raのいずれかであり,か
つ商品分類がYまたはZであれば,要求の出力先をDB
エージェントDA1eとする。
【0142】また,要求での指定が会社C2,グループ
Gbまたは地域Raのいずれかであれば,要求の出力先
を会社C2の仲介エージェントFA2cとする。要求で
の指定が会社C3,グループGbまたは地域Rbのいず
れかであれば,要求の出力先を会社C3の仲介エージェ
ントFA3bとする。
【0143】会社C1のDBエージェントDA1dは,
図24(D)に示すような条件表を持つ。DBエージェ
ントDA1dは,どのような条件の要求に対しても,出
力先が自分自身であるので,データベース1fを対象と
する処理を行い,結果を要求元へ返送する。会社C1の
DBエージェントDA1eの条件表も同様である(図2
4(E))。
【0144】会社C2のユーザ・エージェントUA2a
は,図25(A)に示すような条件表を持つ。ユーザ・
エージェントUA2aは,どのような条件の要求に対し
ても,仲介エージェントFA2cに要求を転送する。会
社C2のユーザ・エージェントUA2bの条件表も同様
である(図25(B))。
【0145】会社C2の仲介エージェントFA2cは,
図25(C)に示すような条件表を持つ。要求での指定
が会社C1,グループGaまたは地域Raのいずれかの
場合,要求の出力先を仲介エージェントFA1cとす
る。要求での指定が会社C2,グループGbまたは地域
Raのいずれかであれば,要求の出力先を自会社C2の
DBエージェントDA2dとする。要求での指定が会社
C3,グループGbまたは地域Rbのいずれかであれ
ば,要求の出力先を会社C3の仲介エージェントFA3
bとする。
【0146】会社C2のDBエージェントDA2dは,
図25(D)に示すような条件表を持つ。DBエージェ
ントDA2dは,どのような条件の要求に対しても,出
力先が自分自身であるので,データベース2eを対象と
する処理を行い,結果を要求元へ返送する。
【0147】会社C3のユーザ・エージェントUA3a
は,図26(A)に示すような条件表を持つ。ユーザ・
エージェントUA3aは,要求での指定が会社C3でな
いか,地域Raの場合に,仲介エージェントFA3bに
要求を転送する。また,要求での指定が会社C3である
か,グループGbであるか,または地域Rbである場合
に,仲介エージェントFA3cに要求を転送する。
【0148】会社C3の仲介エージェントFA3bは,
図26(B)に示すような条件表を持つ。要求での指定
が会社C1,グループGaまたは地域Raのいずれかで
あれば,要求の出力先を仲介エージェントFA1cとす
る。要求での指定が会社C2,グループGbまたは地域
Raのいずれかであれば,要求の出力先を会社C2の仲
介エージェントFA2cとする。また,要求での指定が
会社C3,グループGbまたは地域Rbのいずれかであ
れば,要求の出力先を会社C3の仲介エージェントFA
3cとする。
【0149】会社C3の仲介エージェントFA3cは,
図26(C)に示すような条件表を持つ。仲介エージェ
ントFA3cは,要求された商品分類X,Y,Zに応じ
て,それぞれ要求の出力先を,DBエージェントDA3
d,DA3e,DA3fとする。
【0150】会社C3のDBエージェントDA3d,D
A3e,DA3fは,それぞれ図26(D),(E),
(F)に示すような条件表を持つ。これらは,どのよう
な条件の要求に対しても,出力先が自分自身であるの
で,それぞれデータベース3g,3h,3iを対象とす
る処理を行い,結果を要求元へ返送する。
【0151】次に,(1) 会社名を直接指定する場合,
(2) 会社のブランドを優先する場合など,企業グループ
のみを対象とする場合,(3) 近くにある会社から購入し
たい場合など,特定の地域にある会社を対象とする場合
を想定し,それぞれについて,順に上記の条件を使った
要求の回送例を説明する。
【0152】(1) 会社名を直接指定する場合の要求の回
送例 例えばユーザ・エージェントUA1aに接続しているユ
ーザが,「company =C1 and content = X」というDB
選択要求を発行したとする。
【0153】この要求は,まず図24(A)に示す条件
表によって,仲介エージェントFA1cへ回送され,次
に図24(C)に示す条件表によって,DBエージェン
トDA1dへ回送される。結果として,データベース1
fが選択される。
【0154】(2) 企業グループのみを対象とする場合の
回送例 例えばユーザ・エージェントUA2aに接続しているユ
ーザが,「group = Gband content = Y」というDB選
択要求を発行したとする。
【0155】この要求は,まず図25(A)に示す条件
表によって,仲介エージェントFA2cへ回送され,次
に図25(C)に示す条件表によって,DBエージェン
トDA2dと会社C3の仲介エージェントFA3bへ回
送される。仲介エージェントFA3bからは,図26
(B)に示す条件表によって,仲介エージェントFA2
cと仲介エージェントFA3cへ回送される。このうち
仲介エージェントFA2cへ回送された要求は,二重要
求チェックにより廃棄される。
【0156】さらに,仲介エージェントFA3cから図
26(C)に示す条件表によって,DBエージェントD
A3eへ回送され,結果として,会社C2のデータベー
ス2eと会社C3のデータベース3hが選択される。
【0157】(3) 特定の地域にある会社を対象とする場
合の回送例 例えばユーザ・エージェントUA3aに接続しているユ
ーザが,「region = Ra and content = Z 」というDB
選択要求を発行したとする。
【0158】この要求は,まず図26(A)に示す条件
表によって,仲介エージェントFA3bへ回送され,次
に図26(B)に示す条件表によって,仲介エージェン
トFA1cと仲介エージェントFA2cへ回送される。
仲介エージェントFA1cからは,図24(C)に示す
条件表によって,DBエージェントDA1eへ回送さ
れ,仲介エージェントFA2cからは,図25(C)に
示す条件表によって,DBエージェントDA2dへ回送
される。結果として,会社C1のデータベース1gと会
社C2のデータベース2eが選択される。
【0159】以上のように,要求で指定された条件によ
って,該当するデータベースが自動的に選択される。な
お,条件表への条件として,例えばユーザの識別情報や
パスワードや回送元の情報などの条件を登録することも
可能であり,会社間での各種条件による機密保護を条件
表によって実現することも可能である。
【0160】
【発明の効果】以上説明したように,本発明によれば,
従来の集中構成の仲介機構と比較して,以下のような効
果が得られる。
【0161】(1) 動作時の負荷の分散が可能である。個
々のエージェントを別々の計算機上で動作させることに
より,仲介作業の負荷を分散できるため,ユーザから見
た場合に,待ち時間の少ない迅速な回答が期待できる。
【0162】(2) 運用管理コストの分散が可能なスケー
ラブルな構成を実現できる。ユーザ,データベースを登
録するような運用形態でも,登録が必要なのは,特定の
ユーザ・エージェントやDBエージェントであるため,
システム全体に対して設定変更などの作業をする必要は
ない。また,入出力形式が変更,削除,追加される場合
にも,特定のユーザ・エージェント,DBエージェント
の変更や,削除,追加で対応可能であり,これもシステ
ム全体に対して設定変更などの作業をする必要はない。
したがって,ユーザ数やデータベース数の増加にも容易
に対応できるような,スケーラブルな構成を実現でき
る。
【0163】(3) 情報の機密を保持可能である。本機構
では情報をどこかに集めて管理するようなことは行わな
いため,機密が必要な単位でエージェント群を分割すれ
ば,その情報が外部に漏れることはなく,機密を保持で
きる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態におけるシステム構成の例
を示す図である。
【図3】本実施の形態で対象とするユーザからの要求形
式の例を示す図である。
【図4】エージェントの持つ条件表の構成例を示す図で
ある。
【図5】仲介機構の動作例を説明するための図である。
【図6】仲介機構の動作例を説明するための図である。
【図7】ユーザ・エージェントのモジュール構成図であ
る。
【図8】仲介エージェントのモジュール構成図である。
【図9】DBエージェントのモジュール構成図である。
【図10】ユーザ・エージェントの入力受付部およびD
Bエージェントの入力受付部の処理フローチャートであ
る。
【図11】ユーザ・エージェントの入力処理部の処理フ
ローチャートである。
【図12】ユーザ・エージェントの個別要求処理ルーチ
ンの処理フローチャートである。
【図13】DB選択要求処理ルーチンの処理フローチャ
ートである。
【図14】回答待ちルーチンの処理フローチャートであ
る。
【図15】ユーザ・エージェントのDB操作要求処理ル
ーチンの処理フローチャートである。
【図16】ユーザ・エージェントのDB群記録部の処理
フローチャートである。
【図17】条件部の処理フローチャートである。
【図18】要求ID記録部の処理フローチャートであ
る。
【図19】仲介エージェントの入力受付部の処理フロー
チャートである。
【図20】仲介エージェントの入力処理部の処理フロー
チャートである。
【図21】DBエージェントの入力処理部の処理フロー
チャートである。
【図22】DBエージェントのDBインターフェイス部
の処理フローチャートである。
【図23】本発明の実施例におけるエージェント構成例
を示す図である。
【図24】会社C1の各エージェントが持つ条件表の例
を示す図である。
【図25】会社C2の各エージェントが持つ条件表の例
を示す図である。
【図26】会社C3の各エージェントが持つ条件表の例
を示す図である。
【図27】本発明が対象とする仲介機構に求められる機
能の説明図である。
【図28】集中構成による仲介機構の説明図である。
【符号の説明】
11〜13 ユーザ 21〜24 ユーザ・エージェント 31〜38 仲介エージェント 41〜44 データベース・エージェント 51〜54 データベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤井 裕之 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 田渕 敬三 岡山県岡山市磨屋町10番12号 株式会社富 士通岡山システムエンジニアリング内 (72)発明者 河野 慎也 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 1または複数の計算機においてユーザと
    データベースとを仲介する機能を実現するデータベース
    ・システムであって,ユーザとデータベースとの仲介機
    構を,1または複数のユーザ・エージェントと,1また
    は複数の仲介エージェントと,アクセス対象となるデー
    タベース対応に設けられる1または複数のデータベース
    ・エージェントとによって分散的に構成し,前記ユーザ
    ・エージェントは,データベースに対する要求をユーザ
    から受け付けて,その要求を他のエージェントへ送り,
    結果をユーザに対して出力する手段を持ち,前記仲介エ
    ージェントは,前記ユーザ・エージェントからのデータ
    ベース選択要求を受け付け,要求を送付すべき他の仲介
    エージェントまたはデータベース・エージェントを選択
    してその要求を送付する手段を持ち,前記データベース
    ・エージェントは,他のエージェントからの要求により
    データベースに対してアクセスし,結果を要求元へ返送
    する手段を持つことを特徴とするデータベース・システ
  2. 【請求項2】 請求項1記載のデータベース・システム
    において,前記ユーザ・エージェント,前記仲介エージ
    ェントおよび前記データベース・エージェントを含む複
    数のエージェントを,エージェントの数と同じまたはエ
    ージェントの数より少ない複数の計算機上に配置し,複
    数のエージェントを別個の計算機上で動作させることに
    より,負荷を分散させるようにしたことを特徴とするデ
    ータベース・システム。
  3. 【請求項3】 請求項1記載のデータベース・システム
    において,前記ユーザ・エージェント,前記仲介エージ
    ェントおよび前記データベース・エージェントの各エー
    ジェントの内部を処理毎にプロセスに分割し,各エージ
    ェントにおける処理の並列動作を可能にしたことを特徴
    とするデータベース・システム。
  4. 【請求項4】 請求項1記載のデータベース・システム
    において,前記ユーザ・エージェント,前記仲介エージ
    ェントおよび前記データベース・エージェントによる仲
    介機構は,個別データベースの選択を処理する第1段階
    の処理手段と,選択したデータベースへの要求を処理す
    る第2段階の処理手段とを持ち,前記仲介機構の動作を
    個別データベースの選択と,選択したデータベースへの
    要求の2段階としたことを特徴とするデータベース・シ
    ステム。
  5. 【請求項5】 請求項1記載のデータベース・システム
    において,前記ユーザ・エージェントは,ユーザからの
    要求を,データベース選択のための要求と,選択したデ
    ータベースに対する要求とに分割し,データベース選択
    のための要求は,その要求によって定められる前記仲介
    エージェントへ送付し,選択したデータベースに対する
    要求は,そのデータベースにアクセスする前記データベ
    ース・エージェントへ送付するようにしたことを特徴と
    するデータベース・システム。
  6. 【請求項6】 請求項1記載のデータベース・システム
    において,複数の仲介エージェントを経由した通信によ
    り,複数の仲介エージェントの保持する条件を合わせて
    用いて,データベースを選択するようにしたことを特徴
    とするデータベース・システム。
  7. 【請求項7】 請求項1記載のデータベース・システム
    において,前記各エージェントは,自分に与えられたタ
    イムアウトまでの猶予時間から,自分の処理に要する時
    間を差し引いて,要求を転送したエージェントからの回
    答のタイムアウト猶予時間とし,タイムアウトを処理す
    る手段を持つことを特徴とするデータベース・システ
    ム。
  8. 【請求項8】 請求項1記載のデータベース・システム
    において,前記ユーザ・エージェントは,要求に識別番
    号を付与する手段を持ち,前記仲介エージェントおよび
    前記データベース・エージェントは,要求の識別番号を
    検査することにより異なる経路で伝達された同じ要求の
    二重処理を回避する手段を持つことを特徴とするデータ
    ベース・システム。
  9. 【請求項9】 請求項8記載のデータベース・システム
    において,前記各エージェントは,自エージェントにお
    いて前記要求の識別番号を記録しておく時間を,そのエ
    ージェントに与えられたタイムアウト猶予時間以上と
    し,かつタイムアウト猶予時間が過ぎた要求の識別番号
    を消去する手段を持つことを特徴とするデータベース・
    システム。
  10. 【請求項10】 請求項1記載のデータベース・システ
    ムにおいて,前記ユーザ・エージェントは,ユーザから
    の要求を所定の内部形式のデータに変換する手段を持
    ち,ユーザとの間の様々な入出力手順の差異を一括して
    吸収するようにしたことを特徴とするデータベース・シ
    ステム。
  11. 【請求項11】 請求項1記載のデータベース・システ
    ムにおいて,前記データベース・エージェントは,内部
    形式で表されたデータベースに対する要求を,データベ
    ースに対応して定められる要求形式に変換する手段と,
    データベースからのアクセス結果を所定の内部形式のデ
    ータに変換する手段とを持ち,各データベースとの間の
    様々な入出力手順の差異を一括して吸収するようにした
    ことを特徴とするデータベース・システム。
  12. 【請求項12】 請求項1記載のデータベース・システ
    ムにおいて,ユーザの設定情報の変更を,対応する前記
    ユーザ・エージェントにより処理し,エージェント群全
    体の設定変更を不要としたことを特徴とするデータベー
    ス・システム。
  13. 【請求項13】 請求項1記載のデータベース・システ
    ムにおいて,データベースの設定情報の変更を,対応す
    る前記データベース・エージェントにより処理し,エー
    ジェント群全体の設定変更を不要としたことを特徴とす
    るデータベース・システム。
  14. 【請求項14】 請求項1記載のデータベース・システ
    ムにおいて,エージェント全体をエージェント群に分割
    し,エージェント群毎に機密保持を可能にしたことを特
    徴とするデータベース・システム。
  15. 【請求項15】 請求項1記載のデータベース・システ
    ムにおいて,特定のユーザの情報を,対応するユーザ・
    エージェントまたはエージェント群の一部に限定して保
    持することにより,ユーザの機密保持を可能にしたこと
    を特徴とするデータベース・システム。
  16. 【請求項16】 請求項1記載のデータベース・システ
    ムにおいて,特定のデータベースの情報を,対応するデ
    ータベース・エージェントまたはエージェント群の一部
    に限定して保持することにより,ユーザの機密保持を可
    能にしたことを特徴とするデータベース・システム。
  17. 【請求項17】 請求項1記載のデータベース・システ
    ムにおいて,前記ユーザ・エージェントは,ユーザから
    の入力を受け付ける入力受付部と,入力情報に基づいて
    出力先を決定する条件を管理する条件部と,入力した要
    求に付与した識別番号を記録する要求ID記録部と,入
    力情報から選択されたデータベース群を記録するDB群
    記録部と,前記入力受付部からの入力毎に生成され,前
    記条件部,前記要求ID記録部および前記DB群記録部
    を利用し,他のエージェントとの通信によりその入力に
    対する処理を行う入力処理部とを備えたことを特徴とす
    るデータベース・システム。
  18. 【請求項18】 請求項1記載のデータベース・システ
    ムにおいて,前記仲介エージェントは,他のエージェン
    トからの入力を受け付ける入力受付部と,入力情報に基
    づいて出力先を決定する条件を管理する条件部と,入力
    した要求に付与した識別番号を記録する要求ID記録部
    と,前記入力受付部からの入力毎に生成され,前記条件
    部および前記要求ID記録部を利用し,他のエージェン
    トとの通信によりその入力に対する処理を行う入力処理
    部とを備えたことを特徴とするデータベース・システ
    ム。
  19. 【請求項19】 請求項1記載のデータベース・システ
    ムにおいて,前記データベース・エージェントは,他の
    エージェントからの入力を受け付ける入力受付部と,入
    力情報に基づいて出力先またはアクセス先を決定する条
    件を管理する条件部と,入力した要求に付与した識別番
    号を記録する要求ID記録部と,選択されたデータベー
    スへのアクセスを行うDBインターフェイス部と,前記
    入力受付部からの入力毎に生成され,前記条件部,前記
    要求ID記録部および前記DBインターフェイス部を利
    用し,他のエージェントとの通信によりその入力に対す
    る処理を行う入力処理部とを備えたことを特徴とするデ
    ータベース・システム。
  20. 【請求項20】 ユーザとデータベースとの仲介機構
    を,1または複数のユーザ・エージェントと,1または
    複数の仲介エージェントと,アクセス対象となるデータ
    ベース対応に設けられる1または複数のデータベース・
    エージェントとによって分散的に構成したデータベース
    ・システムにおけるユーザ・エージェントを実現するプ
    ログラムを格納したプログラム記憶媒体であって,ユー
    ザからの入力を受け付ける入力受付部と,入力情報に基
    づいて出力先を決定する条件を管理する条件部と,入力
    した要求に付与した識別番号を記録する要求ID記録部
    と,入力情報から選択されたデータベース群を記録する
    DB群記録部と,前記入力受付部からの入力毎に生成さ
    れ,前記条件部,前記要求ID記録部および前記DB群
    記録部を利用し,他のエージェントとの通信によりその
    入力に対する処理を行う入力処理部として,計算機を機
    能させるためのプログラムを格納したことを特徴とする
    プログラム記憶媒体。
  21. 【請求項21】 ユーザとデータベースとの仲介機構
    を,1または複数のユーザ・エージェントと,1または
    複数の仲介エージェントと,アクセス対象となるデータ
    ベース対応に設けられる1または複数のデータベース・
    エージェントとによって分散的に構成したデータベース
    ・システムにおける仲介エージェントを実現するプログ
    ラムを格納したプログラム記憶媒体であって,他のエー
    ジェントからの入力を受け付ける入力受付部と,入力情
    報に基づいて出力先を決定する条件を管理する条件部
    と,入力した要求に付与した識別番号を記録する要求I
    D記録部と,前記入力受付部からの入力毎に生成され,
    前記条件部および前記要求ID記録部を利用し,他のエ
    ージェントとの通信によりその入力に対する処理を行う
    入力処理部として,計算機を機能させるためのプログラ
    ムを格納したことを特徴とするプログラム記憶媒体。
  22. 【請求項22】 ユーザとデータベースとの仲介機構
    を,1または複数のユーザ・エージェントと,1または
    複数の仲介エージェントと,アクセス対象となるデータ
    ベース対応に設けられる1または複数のデータベース・
    エージェントとによって分散的に構成したデータベース
    ・システムにおけるデータベース・エージェントを実現
    するプログラムを格納したプログラム記憶媒体であっ
    て,他のエージェントからの入力を受け付ける入力受付
    部と,入力情報に基づいて出力先またはアクセス先を決
    定する条件を管理する条件部と,入力した要求に付与し
    た識別番号を記録する要求ID記録部と,選択されたデ
    ータベースへのアクセスを行うDBインターフェイス部
    と,前記入力受付部からの入力毎に生成され,前記条件
    部,前記要求ID記録部および前記DBインターフェイ
    ス部を利用し,他のエージェントとの通信によりその入
    力に対する処理を行う入力処理部として,計算機を機能
    させるためのプログラムを格納したことを特徴とするプ
    ログラム記憶媒体。
JP13622297A 1997-05-27 1997-05-27 データベース・システム Expired - Fee Related JP4021518B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13622297A JP4021518B2 (ja) 1997-05-27 1997-05-27 データベース・システム
US08/990,750 US6108646A (en) 1997-05-27 1997-12-15 Database mechanism, mediating method in database system and program storing medium for implementing database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13622297A JP4021518B2 (ja) 1997-05-27 1997-05-27 データベース・システム

Publications (2)

Publication Number Publication Date
JPH10326284A true JPH10326284A (ja) 1998-12-08
JP4021518B2 JP4021518B2 (ja) 2007-12-12

Family

ID=15170158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13622297A Expired - Fee Related JP4021518B2 (ja) 1997-05-27 1997-05-27 データベース・システム

Country Status (2)

Country Link
US (1) US6108646A (ja)
JP (1) JP4021518B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172711A (ja) * 1998-12-10 2000-06-23 Fujitsu Ltd ドキュメント検索仲介装置、ドキュメント検索システム、および、ドキュメント検索仲介プログラムを記録した記録媒体
JP2001325223A (ja) * 2000-05-16 2001-11-22 Sharp Corp アプリケーションサーバの処理方法
US6925491B2 (en) 1998-08-20 2005-08-02 Fujitsu Limited Facilitator having a distributed configuration, a dual cell apparatus used for the same, and an integrated cell apparatus used for the same
JP2006085527A (ja) * 2004-09-17 2006-03-30 Toppan Printing Co Ltd Xmlによるデータベース操作記述の仕様と実行システムの提供

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3892558B2 (ja) * 1997-12-16 2007-03-14 富士通株式会社 エージェント装置及びプログラム記録媒体
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6725252B1 (en) * 1999-06-03 2004-04-20 International Business Machines Corporation Method and apparatus for detecting and processing multiple additional requests from a single user at a server in a distributed data processing system
US6760719B1 (en) * 1999-09-24 2004-07-06 Unisys Corp. Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources
US7007275B1 (en) * 1999-10-21 2006-02-28 Unisys Corporation Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources
US6490585B1 (en) * 1999-11-12 2002-12-03 Unisys Corp Cellular multiprocessor data warehouse
ATE439732T1 (de) 2000-01-31 2009-08-15 Grape Technology Group Inc Kommunikationsunterstützungssystem und -verfahren
WO2002023878A1 (en) 2000-09-15 2002-03-21 Infonxx, Inc. Enhanced directory assistance system
WO2002093218A1 (en) 2001-05-17 2002-11-21 Optronx, Inc. Polyloaded optical waveguide devices
CN100525337C (zh) * 2002-01-02 2009-08-05 格莱珀技术集团公司 通信辅助系统和方法
EP1579663A4 (en) * 2002-10-16 2007-01-03 Grape Technology Group Inc SYSTEM AND METHOD FOR EFFICIENT CONNECTION MANAGEMENT FOR INFORMATION SERVICES
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US7925246B2 (en) 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
CA2552706A1 (en) 2003-12-29 2005-07-28 Grape Technology Group, Inc System and method for processing and routing incoming calls to a communication assistance system
US8245230B2 (en) * 2005-03-14 2012-08-14 Qnx Software Systems Limited Adaptive partitioning scheduler for multiprocessing system
US9361156B2 (en) 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US8387052B2 (en) 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
CA2538503C (en) * 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
JP2007317028A (ja) * 2006-05-26 2007-12-06 Ns Solutions Corp 情報処理装置、データベース管理システム、情報処理装置の制御方法及びプログラム
WO2010045332A1 (en) * 2008-10-14 2010-04-22 Grape Technology Group, Inc. System and method for directory assistance including sms supported privacy features
JP5521675B2 (ja) * 2010-03-19 2014-06-18 富士通株式会社 処理割当装置、処理割当方法及びコンピュータプログラム
US8793691B2 (en) * 2010-04-15 2014-07-29 Salesforce.Com, Inc. Managing and forwarding tasks to handler for processing using a message queue
WO2013080983A1 (ja) * 2011-11-28 2013-06-06 京セラ株式会社 電力制御装置、電力制御システム及び電力制御方法
US9141685B2 (en) * 2012-06-22 2015-09-22 Microsoft Technology Licensing, Llc Front end and backend replicated storage
US11032361B1 (en) * 2020-07-14 2021-06-08 Coupang Corp. Systems and methods of balancing network load for ultra high server availability

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706516A (en) * 1995-01-23 1998-01-06 International Business Machines Corporation System for communicating messages among agent processes
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925491B2 (en) 1998-08-20 2005-08-02 Fujitsu Limited Facilitator having a distributed configuration, a dual cell apparatus used for the same, and an integrated cell apparatus used for the same
JP2000172711A (ja) * 1998-12-10 2000-06-23 Fujitsu Ltd ドキュメント検索仲介装置、ドキュメント検索システム、および、ドキュメント検索仲介プログラムを記録した記録媒体
US6415285B1 (en) 1998-12-10 2002-07-02 Fujitsu Limited Document retrieval mediating apparatus, document retrieval system and recording medium storing document retrieval mediating program
JP2001325223A (ja) * 2000-05-16 2001-11-22 Sharp Corp アプリケーションサーバの処理方法
JP2006085527A (ja) * 2004-09-17 2006-03-30 Toppan Printing Co Ltd Xmlによるデータベース操作記述の仕様と実行システムの提供

Also Published As

Publication number Publication date
US6108646A (en) 2000-08-22
JP4021518B2 (ja) 2007-12-12

Similar Documents

Publication Publication Date Title
JPH10326284A (ja) データベース・システムおよびプログラム記憶媒体
US7315872B2 (en) Dynamic and selective data source binding through a metawrapper
US7457835B2 (en) Movement of data in a distributed database system to a storage location closest to a center of activity for the data
US6728758B2 (en) Agent for performing process using service list, message distribution method using service list, and storage medium storing program for realizing agent
EP0953904A2 (en) Message broker apparatus, method and computer program product
JPH02276336A (ja) データ配送方法および装置
US20060156273A1 (en) Smart scheduler
EP0213276A2 (en) Dynamic updating of data base directories
CN115827380A (zh) 云平台监控方法及云平台监控系统
CN111324655B (zh) 一种分布式仿真中基于差异数据萃取的数据订阅方法
CN113901049A (zh) 基于血缘关系的数据管理方法及装置
JP3802977B2 (ja) 蓄積交換型電子会議システムにおける情報矛盾判定、修正装置及び方法並びに情報矛盾判定、修正プログラムを記録したコンピュータ読取可能な記憶媒体
US6799183B2 (en) Operation assistance method and system and recording medium for storing operation assistance method
US7716678B2 (en) Processing messages in a message queueing system
US20060095432A1 (en) Disclosure control system and method
JPS61283944A (ja) デイレクトリ・デ−タベ−ス装置
JP2001331485A (ja) 分散データベース演算処理装置
US8015207B2 (en) Method and apparatus for unstructured data mining and distributed processing
JP3933770B2 (ja) 蓄積交換型電子会議システムにおける宛先矛盾判定、修正装置及び宛先矛盾判定、修正プログラムを記録したコンピュータ読取可能な記録媒体
JP2002183138A (ja) 情報収集システム、情報収集方法及び記憶媒体
Hevner et al. Querying distributed databases on local area networks
US12254057B1 (en) Intelligent redirects
GB2336920A (en) Relational message broker adds value to published information
JP3928338B2 (ja) 協調作業支援装置
JP3801680B2 (ja) 分散処理システムにおけるデータベースの情報収集システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070820

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070927

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

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees