JPWO2005103901A1 - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
JPWO2005103901A1
JPWO2005103901A1 JP2006512502A JP2006512502A JPWO2005103901A1 JP WO2005103901 A1 JPWO2005103901 A1 JP WO2005103901A1 JP 2006512502 A JP2006512502 A JP 2006512502A JP 2006512502 A JP2006512502 A JP 2006512502A JP WO2005103901 A1 JPWO2005103901 A1 JP WO2005103901A1
Authority
JP
Japan
Prior art keywords
primary
location table
key
accelerator
block
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
JP2006512502A
Other languages
Japanese (ja)
Inventor
玉津 雅晴
雅晴 玉津
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPWO2005103901A1 publication Critical patent/JPWO2005103901A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

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

Abstract

【課題】 コンピューター・システムの性能向上と耐障害性の向上にある。【解決手段】 ロケーション・テーブルや代替キー・ロケーション・テーブルのコピーをアクセラレーター・システムにおいて保持し、所謂、インデックス処理をアクセラレーター・システムにおいて実行することにより、負荷の分散化を行う。このコピーを、同報通信を用いることにより低負荷で実現する。アクセラレーター・システム1〜9とプライマリー・システム0の間大量の通信は、送信督促による上り通信を行うことにより円滑に行う。コンピューター・システム全体の性能向上を図る。【選択図】 図8PROBLEM TO BE SOLVED: To improve performance and fault tolerance of a computer system. A load table is distributed by holding a copy of a location table or an alternative key location table in an accelerator system, and executing so-called index processing in the accelerator system. This copy is realized with low load by using broadcast communication. A large amount of communication between the accelerator systems 1 to 9 and the primary system 0 is smoothly performed by performing upstream communication by transmission prompting. Improve the performance of the entire computer system. [Selection] Figure 8

Description

本発明は、コンピューター・システムに関り、コンピューターの性能を向上させるものである。   The present invention relates to a computer system and improves the performance of the computer.

従来のコンピューター・システムは、性能を向上させるため、単体のCPUの性能を向上させ、主記憶メモリーを大きくし、更に複数のCPUを搭載することにより、その処理能力を向上させてきた。しかしながら、単体CPUの性能向上は、処理量の増加に比べて緩やかで、どちらかといえば複数のCPUを搭載することによる性能向上が主体であった。特にUNIX(登録商標)系のサーバーでは、その傾向が顕著であった。ところが、主記憶やCPU、更には外部記憶装置の競合が発生して、リソースを増加させても、比例的には処理能力が増加しないものであった。特にコンピューターに搭載するCPUの数は、100個くらいになると、その制御に要する資源が増加してしまい、殆ど処理能力を向上させることができなくなっていた。また、コンピューターの能力を向上させる目的で、アプリケーション用のコンピューターとデータベース用のコンピューターに分離することも行われているが、データベースは一元化することが必要で、データベースがボトルネックになっていた。   In order to improve the performance of conventional computer systems, the performance of a single CPU has been improved, the main memory has been increased, and a plurality of CPUs have been installed to improve the processing capability. However, the performance improvement of a single CPU has been moderate compared to the increase in processing amount, and rather, the performance improvement by mounting a plurality of CPUs has been the main. In particular, the tendency was remarkable in UNIX (registered trademark) servers. However, contention of main memory, CPU, and external storage device has occurred, and even if the resources are increased, the processing capacity is not proportionally increased. In particular, when the number of CPUs mounted on a computer is about 100, resources required for the control increase, and it is almost impossible to improve the processing capacity. In addition, for the purpose of improving the capacity of the computer, the application computer and the database computer are also separated, but it is necessary to unify the database, and the database has become a bottleneck.

本発明者は、従来の階層型インデックスに代えてロケーション・テーブルと代替キー・テーブルという概念を導入し、インデックスの処理に伴う複雑な処理を簡素化し、テーブル自体の検索をバイナリー・サーチなどの手法を用いることにより、高速化と、メンテナンスの容易性を確保できるようにした「データ格納検索方式(特許文献1〜2)」を発明した。更に、「データベースの再編成システム、並びに、データベース(以下、「データベース再編成システム」と呼ぶ)(特許文献3)」では、「データ検索格納方式」で提案したデータベースに対して、データベースを稼動させながら再編成が行える仕組を提案し、更に、代替キー・テーブルに対して代替キー・ロケーション・テーブルを付加することにより、効率的な再編成が可能となることを発明している。また、「データベースのアクセラレーター機能(以下、「アクセラレーター」と呼ぶ。)(特許文献4)」では、ロケーション・テーブルや代替キー・ロケーション・テーブルのコピーをアクセラレーター・システムが保持し、レコードを検索する際に、アクセラレーター・システムのロケーション・テーブルや代替キー・ロケーション・テーブルを使用することで、アクセスが並行処理できることを発明している。「データ格納検索システム(特許文献5)」では、プライマリー・ブロックからオーバーフロー・ブロック、オーバーフロー・ブロックからオーバーフロー・ブロックへの連結を、オーバーフロー・ブロック管理テーブルを用いて行う方式を発明している。「データ格納検索システム」では、代替キー・ブロックと代替キー・オーバーフロー・ブロックの連結、代替キー・オーバーフロー・ブロックと代替キー・オーバーフロー・ブロックの連結も同様に、代替キー・オーバーフロー・ブロック管理テーブルを用いて行う方式である。更に、「通信システム(特許文献6)」では、現在、通信の主流となっている衝突検出型通信が、通信量が多くなると衝突が増加し、通信量が急激に低下する問題に対して、リズム・ノードから送信督促メッセージを送信することを契機として上り通信を行うようにし、衝突しない仕組を発明している。   The present inventor introduced the concept of a location table and an alternative key table in place of the conventional hierarchical index, simplified the complicated processing associated with the index processing, and performed a method such as binary search for searching the table itself. Invented “Data Storage Retrieval System (Patent Documents 1 and 2)” that can secure high speed and easy maintenance. Further, in the “database reorganization system and database (hereinafter referred to as“ database reorganization system ”) (Patent Document 3), the database is operated with respect to the database proposed in the“ data search storage method ”. A mechanism that allows reorganization is proposed, and an alternative key location table is added to the alternative key table to invent efficient reorganization. In addition, in the “database accelerator function (hereinafter referred to as“ accelerator ”) (Patent Document 4)”, the accelerator system holds a copy of the location table and alternative key location table, and records are stored. It has invented that access can be processed in parallel by using the accelerator system location table or the alternate key location table when searching. “Data storage and retrieval system (Patent Document 5)” invents a system in which a connection from a primary block to an overflow block and from an overflow block to an overflow block is performed using an overflow block management table. In the "Data Storage and Retrieval System", the alternate key overflow block management table is also used for the concatenation of the alternate key block and the alternate key overflow block, and the concatenation of the alternate key overflow block and the alternate key overflow block. This is the method used. Furthermore, in the “communication system (Patent Document 6)”, the collision detection type communication which is currently the mainstream of communication has the problem that the collision increases as the communication amount increases, and the communication amount rapidly decreases. A mechanism that does not collide is invented by performing upstream communication triggered by transmission of a transmission reminder message from a rhythm node.

日本国特許第3345628号Japanese Patent No. 3345628 米国特許第6415375号U.S. Pat. No. 6,415,375 特許出願PCT/JP03/11592Patent application PCT / JP03 / 11592 特許出願PCT/JP03/13443Patent application PCT / JP03 / 13443 特願2004−020006Japanese Patent Application No. 2004-020006 特願2004−094628Japanese Patent Application No. 2004-094628

コンピューター・システムにおいて、その処理能力を向上する手段として、本発明者は、「アクセラレーター」を発明した。これは、従来ボトルネックとなっていたデータベース処理コンピューターの処理能力を向上させるものである。しかしながら、アクセラレーター・システムを実現するためには、ロケーション・テーブルと代替キー・ロケーション・テーブルのコピーを持つ必要があるが、「アクセラレーター」では、個別的にコピーする方法を示していたのみであった。その方法は、「本明細書では、変更情報送信機構、変更情報反映機構、通信路を通じて情報の送受信を行うような説明を行っているが、特別なハードウエアを作成することにより実現することも可能である。特定の番地の情報を変更する場合に、自動的に別の番地の情報を同じように書き換えるようにすることにより、プライマリー・システムのロケーション・テーブルと代替キー・ロケーション・テーブルが変更された場合に、アクセラレーター・システムのフランド・ロケーション・テーブルとフランド代替キー・ロケーション・テーブルを更新するような機構(同期更新機構)である。」という記述がされていた。   In the computer system, the present inventors have invented an “accelerator” as a means for improving the processing capability. This improves the processing capability of the database processing computer that has been a bottleneck in the past. However, in order to realize an accelerator system, it is necessary to have a copy of the location table and the alternate key location table, but the "Accelerator" only showed how to copy individually. there were. The method is as follows: “In this specification, the change information transmission mechanism, the change information reflection mechanism, and the information transmission / reception are described through the communication path. However, the method can be realized by creating special hardware. Yes, if you change the information at a specific address, the primary system location table and alternate key location table change by automatically rewriting the information at another address in the same way. In such a case, it is a mechanism (synchronous update mechanism) that updates the Fland location table and the Fland alternative key location table of the accelerator system.

ここで記述されているような、ロケーション・テーブルや代替キー・ロケーション・テーブルを、低負荷でコピーする仕組を実現することは、「アクセラレーター」の性能向上ばかりでなく、コンピューター・システムの性能向上に役立つものである。また、アクセラレーター・システムとプライマリー・システム(データ・レコードに対する処理を行うシステム)の間の通信が大量に発生するが、この通信を円滑に行わないと、全体的な処理能力の向上は望めなくなってしまう。また、バックアップを効率的に行う方法も、コンピューター・システムを運用する上で重要な課題であるが、効率的にバックアップを行うと共に、そのバックアップ・システムを単にバックアップ・システムとして使用するのではなく、参照用のシステムとして使用することにより、コンピューター・システム全体の性能向上を図る。
Realizing a mechanism to copy the location table and alternate key location table with low load as described here not only improves the performance of the "Accelerator" but also improves the performance of the computer system. It is useful for. In addition, a large amount of communication occurs between the accelerator system and the primary system (the system that processes data records). If this communication is not performed smoothly, the overall processing capacity cannot be improved. End up. Also, how to perform backup efficiently is an important issue in operating a computer system, but it is not only efficient backup and using the backup system as a backup system. Use as a reference system to improve the performance of the entire computer system.

本発明は、主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有するアクセラレーター・システムと、通信路とを備え、プライマリー・システムから変更情報を同報で送信し、アクセラレーター・システムで変更情報を受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する変更完了通知を送信することを特徴とする、コンピューター・システムにある。   The present invention has a data record having a data item including a primary key, a primary block for storing the data records in order of the primary key, and a location table entry in which the address of each primary block is described in a continuous area. A primary system that has a location table, an accelerator system that has a location location table entry that contains the address of each primary block in a continuous area, and a communication path When the change information is broadcast from the primary system and the change information is received by the accelerator system, the accelerator system sends the change information to the primary system after a predetermined waiting time. And transmitting the further completion notice, in a computer system.

本発明は、また、主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有するアクセラレーター・システムと、通信路とを備え、リズム・ノードが送信督促メッセージを同報で送信し、アクセラレーター・システムで送信督促メッセージを受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する送信を行うことを特徴とする、コンピューター・システムにある。   The present invention also includes a data record having a data item including a primary key, a primary block for storing the data records in order of the primary key, and a location table entry in which the address of each primary block is described as a continuous area. A primary system having a location table, and an accelerator system having a location table having a location location table entry in which a primary block address is described in a continuous area, The rhythm node sends a transmission dunning message by broadcast, and the accelerator system receives the transmission dunning message. And performing transmission to the stem, in the computer system.

本発明は、また、主キーと代替キーを含むデータ項目を持つデータレコードと、代替キーと主キーからなる代替キー・エントリーと、代替キー・エントリーを含む代替キー・ブロックと、代替キー・ロケーション・テーブル・エントリーを連続領域に有する代替キー・ロケーション・テーブルを保有するプライマリー・システムと、フランド代替キー・ロケーション・テーブル・エントリーを連続領域に有するフランド代替キー・ロケーション・テーブルを保有するアクセラレーター・システムと、通信路とを備え、プライマリー・システムが代替キー・ロケーション・テーブルの変更情報を送信し、各アクセラレータ・システムは、代替キー・ロケーション・テーブルの変更情報を受信し、代替キー・フランド・ロケーション・テーブルを変更し、代替キー・ロケーション・テーブルの変更情報を受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する変更完了通知を送信することを特徴とする、コンピューター・システムにある。   The present invention also provides a data record having a data item including a primary key and an alternative key, an alternative key entry including the alternative key and the primary key, an alternative key block including the alternative key entry, and an alternative key location A primary system that holds an alternate key location table that has a table entry in a continuous area, and an accelerator that holds an alternate key location table that has an alternate key location table entry in the continuous area. The primary system sends the change information of the alternative key location table, and each accelerator system receives the change information of the alternative key location table, Location table And a change completion notification to the primary system is transmitted from the accelerator system after a predetermined waiting time when the change information of the alternative key location table is received. It is in.

本発明は、また、主キーと代替キーを含むデータ項目を持つデータレコードと、代替キーと主キーからなる代替キー・エントリーと、代替キー・エントリーを含む代替キー・ブロックと、代替キー・ロケーション・テーブル・エントリーを連続領域に有する代替キー・ロケーション・テーブルを保有するプライマリー・システムと、フランド代替キー・ロケーション・テーブル・エントリーを連続領域に有するフランド代替キー・ロケーション・テーブルを保有するアクセラレーター・システムと、通信路とを備え、リズム・ノードが送信督促メッセージを同報で送信し、アクセラレーター・システムで送信督促メッセージを受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する送信を行うことを特徴とする、コンピューター・システムにある。
本発明は、また、主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有する複数のアクセラレーター・システムと、通信路と、送信督促メッセージを送信するリズム・ノードとを備え、リズム・ノードは、各アクセラレーター・システムに送信督促メッセージを送信し、各アクセラレーター・システムは、送信督促メッセージを受信することを契機として、所定の待ち時間後に、プライマリー・システムに対する処理依頼を送信することを特徴とする、コンピューター・システムにある。
The present invention also provides a data record having a data item including a primary key and an alternative key, an alternative key entry including the alternative key and the primary key, an alternative key block including the alternative key entry, and an alternative key location A primary system that holds an alternate key location table that has a table entry in a continuous area, and an accelerator that holds an alternate key location table that has an alternate key location table entry in the continuous area. System and a communication path, and the rhythm node sends a transmission dunning message by broadcast, and the accelerator system receives the transmission dunning message, and after the predetermined waiting time, from the accelerator system For the primary system And performing transmission, in a computer system.
The present invention also includes a data record having a data item including a primary key, a primary block for storing the data records in order of the primary key, and a location table entry in which the address of each primary block is described as a continuous area. A plurality of accelerator systems having a primary system having a location table and a location table having a location table entry in which the address of each primary block is written in a continuous area. And a communication path and a rhythm node that transmits the transmission reminder message, the rhythm node transmits the transmission reminder message to each accelerator system, and each accelerator system receives the transmission reminder message. Triggered the door, after a predetermined waiting time, and transmitting a processing request for the primary system, in a computer system.

本発明の対象となるデータベースの例である。It is an example of the database used as the object of the present invention. 本発明の対象となるデータベースでオーバーフロー・ブロック管理テーブルを使用した例である。This is an example in which an overflow block management table is used in a database that is a subject of the present invention. アクセラレーターの原理を説明した図である。It is a figure explaining the principle of an accelerator. アクセラレーター・システムが1つの場合の図である。It is a figure in case there is one accelerator system. アクセラレーター・システムが1つの場合で、オーバーフロー・ブロック管理テーブルを使用した場合の図である。It is a figure when an overflow block management table is used in the case of one accelerator system. 同報通信による送信督促メッセージを利用して、上り通信を行う場合のタイム・チャートである。It is a time chart in the case of performing uplink communication using the transmission prompt message by broadcast communication. 通信システムでの代表的な構成である。This is a typical configuration in a communication system. 通信システムを利用し、アクセラレーター・システムを複数使用したコンピューター・システムの構成である。This is a computer system configuration that uses a plurality of accelerator systems using a communication system. 変更情報と送信督促メッセージの送信に対して、更新処理と変更完了通知を行うタイム・チャートである。It is a time chart which performs an update process and change completion notification with respect to transmission of change information and a transmission reminder message. 変更通知の情報の形式の図である。It is a figure of the format of the information of a change notification. グループの決め方で、1つのアクセラレーター・システムが1つのグループに属するようにした図である。FIG. 5 is a diagram in which one accelerator system belongs to one group in a group determination method. グループの決め方で、1つのアクセラレーター・システムが複数のグループに属するようにした図である。FIG. 6 is a diagram in which one accelerator system belongs to a plurality of groups in a group determination method. 変更完了通知をプライマリー・システムが、すべての該当するアクセラレーター・システムから受信したことを確認するためのテーブルの図である。FIG. 11 is a table for confirming that the primary system has received a change completion notification from all applicable accelerator systems. アクセラレーター・システムにおけるプログラム・ロジックで、プライマリー・システムに対する処理依頼に関するものである。Program logic in the accelerator system that relates to processing requests to the primary system. アクセラレーター・システムにおけるプログラム・ロジックで、プライマリー・システムからの変更情報を受信し変更処理を行うことに関するものである。The program logic in the accelerator system relates to receiving change information from the primary system and performing change processing. プライマリー・システムにおけるプログラム・ロジックで、アクセラレーター・システムからの処理依頼に関するものである。Program logic in the primary system that relates to processing requests from the accelerator system. プライマリー・システムにおけるプログラム・ロジックで、アクセラレーター・システムに対する変更情報送信に関するものである。Program logic in the primary system that relates to sending change information to the accelerator system. コンピューター・システムの構成において、終段通信装置にトニック・ノードとドミナント・ノード、およびリズム・ノードの機能を搭載した図である。In the configuration of the computer system, it is a diagram in which functions of a tonic node, a dominant node, and a rhythm node are mounted on a final stage communication device. BUS型の、アクセラレーター・システムを使用したコンピューター・システムの図である。FIG. 2 is a diagram of a BUS type computer system using an accelerator system. BUS型のコンピューター・システムで、同報通信による送信督促メッセージを用いて、上り通信を行う場合のタイム・チャートである。It is a time chart in the case of performing uplink communication using a transmission prompt message by broadcast communication in a BUS type computer system. リング型の、アクセラレーター・システムを使用したコンピューター・システムの図である。1 is a diagram of a ring-type computer system using an accelerator system. FIG.

符号の説明Explanation of symbols

0・・・プライマリー・システム(トニック・ノード)
01、02・・・セカンダリー・システム
1、2、3、4、5・・・アクセラレーター・システム(ドミナント・ノード)
6、7、8、9・・・アクセラレーター・システム(ドミナント・ノード)
10・・・ロケーション・テーブル
101・・・最終ポインター
11・・・プライマリー・ブロック
12・・・オーバーフロー・ブロック
15・・・オーバーフロー・ブロック管理テーブル
151・・・オーバーフロー・ブロック管理テーブル・ポインター
15A、15B、15C・・・代替キー・オーバーフロー・ブロック管理テーブル
15A1、15B1、15C1・・・代替キー・オーバーフロー・ブロック管理テーブル・ポインター
16・・・フランド・ロケーション・テーブル
161・・・フランド最終ポインター
16A1、16B1、16C1・・・フランド代替キー・テーブル最終ポインター
19・・・フランド・オーバーフロー・ブロック管理テーブル
19A、19B、19C・・・フランド代替キー・オーバーフロー・ブロック管理テーブル
19A1、19B1、19C1・・・フランド代替キー・オーバーフロー・ブロック・ポインター
20、21、22、23・・・リズム・ノード
41、42・・・通信路
431、432、433・・・支線通信路
441、442、443・・・支線通信路
49・・・スイッチ
50・・・中間通信装置
55、56、57・・・終段通信装置
61、64、65、66・・・通信路
641、642、643・・・通信路
71、74、75、76・・・通信路
741、742、743・・・通信路
110、120、130、140、150・・・ブロック・エレメント装置
160、170、180、190・・・ブロック・エレメント装置
111、121、131、141、151・・・プログラム
161、171、181、191・・・プログラム
112、122、132、142、152・・・ブロックまたは代替キー・ブロック
162、172、182、192・・・ブロックまたは代替キー・ブロック
200、210、220・・・テーブル・エレメント装置
201、211、221・・・プログラム
202、212、222・・・ロケーション・テーブルまたは代替キー・ブロック
300・・・通信処理装置
S1・・・送信督促
S2、S3、S4、S5・・・上り通信
S6、S7、S8、S9・・・下り通信
0 ... Primary system (Tonic node)
01, 02 ... Secondary system 1, 2, 3, 4, 5 ... Accelerator system (dominant node)
6, 7, 8, 9 ... Accelerator system (dominant node)
10 ... Location table 101 ... Final pointer 11 ... Primary block 12 ... Overflow block 15 ... Overflow block management table 151 ... Overflow block management table pointer 15A, 15B , 15C... Alternate key overflow block management table 15A1, 15B1, 15C1... Alternate key overflow block management table pointer 16... Fland location table 161 ..Fland last pointer 16A1, 16B1 , 16C1 ... Fland substitute key table final pointer 19 ... Fland overflow block management tables 19A, 19B, 19C ... Fland substitute key overflow block Management table 19A1, 19B1, 19C1 ... Fland alternative key overflow block pointer 20, 21, 22, 23 ... Rhythm node 41,42 ... Communication path 431,432,433 ... Branch line communication paths 441, 442, 443 ... Branch line communication paths 49 ... Switch 50 ... Intermediate communication devices 55, 56, 57 ... Final communication devices 61, 64, 65, 66 ... Communication channels 641, 642, 643 ... communication paths 71, 74, 75, 76 ... communication paths 741, 742, 743 ... communication paths 110, 120, 130, 140, 150 ... block element device 160, 170, 180, 190... Block element devices 111, 121, 131, 141, 151... Programs 161, 171, 181, 19 ... Program 112, 122, 132, 142, 152 ... Block or alternative key block 162,172,182,192 ... Block or alternative key block 200,210,220 ... Table element device 201, 211, 221 ... program 202, 212, 222 ... location table or alternative key block 300 ... communication processing device S1 ... transmission reminder S2, S3, S4, S5 ... uplink communication S6, S7, S8, S9 ... Downlink communication

[データ格納検索方式]
ここで、本発明者が発明したデータ格納検索方式の内容について簡単に説明しておくことにする。本発明のデータ格納検索方式は、ロケーション・テーブルと代替キー・テーブルを使用し、それらに対して、バイナリー・サーチを行うことにより、目的のレコードを検索するものである。データレコードはプライマリー・ブロックに、主キーの順に格納する。そのプライマリー・ブロックにデータレコードを追加する場合に、プライマリー・ブロックが満杯である場合に、オーバーフロー・ブロックを、そのプライマリー・ブロックに連結して、データレコードを格納する。オーバーフロー・ブロックに、更にオーバーフロー・ブロックを連結することが可能である。各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・レコード(または、ロケーション・テーブル・エントリー)を連続領域に有するロケーション・テーブルを有する。ロケーション・テーブルは連続した領域に予め確保する。ここで連続した領域とは、論理的な順序であり、物理的な領域では、離れていても良い。このような場合には、アドレス変換テーブルを用いて、論理的に連続していると扱うことができる。これは、以下の説明でも同様である。ロケーション・テーブルの使用領域の最後を示すために、最終ポインターを用いる。
[Data storage search method]
Here, the contents of the data storage search method invented by the present inventor will be briefly described. The data storage / retrieval method of the present invention uses a location table and an alternative key table and performs a binary search on them to search for a target record. Data records are stored in the primary block in the order of primary keys. When adding a data record to the primary block, if the primary block is full, the overflow block is concatenated to the primary block to store the data record. It is possible to further connect an overflow block to the overflow block. It has a location table having a location table record (or location table entry) in which the address of each primary block is described in a continuous area. The location table is secured in advance in a continuous area. Here, the continuous area is a logical order, and may be separated in a physical area. In such a case, it can be treated as logically continuous using the address conversion table. The same applies to the following description. The last pointer is used to indicate the end of the used area of the location table.

レコードはブロックと言う固定長の格納領域に格納する。ブロックは、プライマリー・ブロックとオーバーフロー・ブロックからなる。最後のプライマリー・ブロックにレコードが追加できない場合は、その後にプライマリー・ブロックを追加して、レコードの格納を行う。   Records are stored in a fixed-length storage area called a block. A block consists of a primary block and an overflow block. If a record cannot be added to the last primary block, a primary block is added after that and the record is stored.

ここで、連結とは、物理的に連結されていることを意味するのではなく、プライマリー・ブロックが一番目のオーバーフロー・ブロックのアドレスを保持し、1番目のオーバーフロー・ブロックが2番目のオーバーフロー・ブロックのアドレスを保持している状態が、あたかも物理的にブロックが繋がれているように扱えることから、そのような表現を使用している(以下、同様である)。このように格納するので、ロケーション・テーブル・エントリーは、主キーの順番に並んでいる。主キーによる検索は、ロケーション・テーブルの最初のアドレスと最終ポインターが指しているロケーション・テーブル・エントリーの間に対して、バイナリー・サーチを行うことにより、ブロックを見つけ、そのブロック内で目的のレコードを見つける。当該ブロックにオーバーフロー・ブロックが連結されている場合は、オーバーフロー・ブロックも検索の対象となる。ここでは、検索に関して述べているが、レコードの更新、追加、削除も同様のロジックで実現できる。   Here, concatenation does not mean that the physical block is physically connected, but the primary block holds the address of the first overflow block, and the first overflow block is the second overflow block. Since the state in which the block address is held can be handled as if the block is physically connected, such an expression is used (the same applies hereinafter). Because of this storage, the location table entries are arranged in the primary key order. A search by primary key finds a block by performing a binary search between the first address in the location table and the location table entry pointed to by the last pointer, and the target record in that block. Find out. If an overflow block is connected to the block, the overflow block is also searched. Here, the search is described, but the update, addition, and deletion of records can be realized with the same logic.

代替キー値と主キー値からなる代替キー・レコード(または代替キー・エントリー)は、代替キー・ブロックに代替キー値の順番に格納する。その代替キー・ブロックに代替キー・エントリーを追加する場合に、その代替キー・ブロックが満杯である場合に、代替キー・オーバーフロー・ブロックを代替キー・ブロックに連結して、代替キー・エントリーを格納する。代替キー・オーバーフロー・ブロックに、更に代替キー・オーバーフロー・ブロックを連結することが可能である。各代替キー・ブロックのアドレスが記載された代替キー・ロケーション・テーブル・レコード(または、代替キー・ロケーション・テーブル・エントリー)を連続領域に有する代替キー・ロケーション・テーブルを有する。代替キー・ロケーション・テーブルは連続した領域に予め確保する。代替キー・ロケーション・テーブルの使用領域の最後を示すために、代替キー最終ポインターを用いる。代替キー・エントリーの追加で、既存の代替キー・エントリーの代替キー値より大きい代替キー値を持つ代替キー・エントリーは、最後の代替キー・ブロックに格納し、その代替キー・ブロックに格納できない場合には新たに代替キー・ブロックを作成し、その代替キー・ブロックに当該レコードを格納する。代替キー・ロケーション・テーブルと代替キー・ブロックを組にして、代替キー・テーブルと呼ぶ。   An alternative key record (or an alternative key entry) composed of an alternative key value and a primary key value is stored in the alternative key block in the order of the alternative key values. When adding an alternate key entry to the alternate key block, if the alternate key block is full, concatenate the alternate key overflow block to the alternate key block and store the alternate key entry To do. It is possible to further concatenate an alternative key overflow block to the alternative key overflow block. It has an alternative key location table having an alternative key location table record (or an alternative key location table entry) in which the address of each alternative key block is described in a continuous area. The substitute key location table is secured in a continuous area in advance. The alternate key end pointer is used to indicate the end of the used area of the alternate key location table. When an alternate key entry is added and an alternate key entry with an alternate key value greater than the alternate key value of an existing alternate key entry is stored in the last alternate key block and cannot be stored in that alternate key block A new substitute key block is created and the record is stored in the substitute key block. The alternative key location table and the alternative key block are referred to as an alternative key table.

代替キーは、データベースにおけるノンユニークなキーのことで、例えば、従業員データベースにおける、氏名や生年月日などのことである。代替キーは、或る種類のデータベースに対して、無くても良いし、複数あっても構わない。或る代替キーを持ったレコードを検索する方法は、代替キー・ロケーション・テーブルの最初のエントリーと、代替キー最終ポインターが指している代替キー・ロケーション・テーブル・エントリーの間をバイナリー・サーチし、目的の代替キー・ブロックを見つけ、その代替キー・ブロックの中を検索して、目的の代替キーを持つ代替キー・エントリーを見つける。その代替キー・ブロックに代替キー・オーバーフロー・ブロックが連結されている場合には、代替キー・オーバーフロー・ブロックも検索の対象となる。次に、その代替キー・エントリーの主キーによって、ロケーション・テーブルをバイナリー・サーチし、目的のブロックを見つけ、そのブロック内から目的のレコードを見つけ出す。当該ブロックにオーバーフロー・ブロックが連結されている場合は、オーバーフロー・ブロックも検索の対象となる。尚、代替キーはノンユニークであるので、同一の代替キー値を持ったレコードが複数存在する可能性がある。この場合は、代替キー・ブロック中の次の代替キー・レコードが同一の代替キー値である場合には、上記と同様な動作を繰り返す。ここでは、検索に関して述べているが、レコードの更新、追加、削除も同様のロジックで実現できる。また、複数の代替キーが存在する場合には、代替キーの種類と同じ数の代替キー・テーブルを作成し、使用することになる。以上で、「データ格納検索方式」の説明を終わる。   The substitute key is a non-unique key in the database, such as a name and date of birth in the employee database. There may be no substitute key for a certain type of database, and there may be a plurality of substitute keys. A method for searching for a record with a certain alternate key is to perform a binary search between the first entry in the alternate key location table and the alternate key location table entry pointed to by the alternate key end pointer. Find the desired alternate key block and search within the alternate key block to find an alternate key entry with the desired alternate key. If an alternative key overflow block is concatenated to the alternative key block, the alternative key overflow block is also searched. Next, the primary key of the alternate key entry is used to perform a binary search of the location table, find the target block, and find the target record from within the block. If an overflow block is connected to the block, the overflow block is also searched. Since the substitute key is non-unique, there may be a plurality of records having the same substitute key value. In this case, if the next substitute key record in the substitute key block has the same substitute key value, the same operation as described above is repeated. Here, the search is described, but the update, addition, and deletion of records can be realized with the same logic. When there are a plurality of alternative keys, the same number of alternative key tables as the types of the alternative keys are created and used. This completes the description of the “data storage search method”.

[レコード]
レコードとは、必ず1つのユニークな主キーとゼロ個若しくは1個以上のノンユニークなキー(代替キー。結果的にユニークであっても問題はない)を持つ。この他に、キーとはならない項目(列)を持つことができる。主キーは、例えば従業員データベースの場合、従業員コードなど従業員を識別できるコードであり、代替キーは、氏名や生年月日などであり、データベースによっては、無くても良いし、複数あっても構わない。また、意味を持った主キーとなるべき項目存在しないレコードに関しては、格納順の連番などを付与して、それを主キーとしても良い。項目(列)は、情報の単位であり、キーとなるものとキーとならないものがある。レコード中に1つ以上存在する。列は、固定長形式でも良いが、可変長形式とすることも可能である。可変長形式の場合は、列情報が存在しない列も、列として認識することが可能である。
[record]
A record always has one unique primary key and zero or one or more non-unique keys (alternative keys. As a result, there is no problem even if it is unique). In addition to this, it is possible to have items (columns) that are not keys. For example, in the case of an employee database, the primary key is a code that can identify the employee, such as an employee code, and the alternative key is a name, date of birth, etc. It doesn't matter. In addition, for a record in which there is no item that should be a meaningful primary key, a sequential number in the storage order may be assigned and used as the primary key. An item (column) is a unit of information, and there are a key and a key. There is one or more in the record. The column may be in a fixed length format, but may be in a variable length format. In the case of the variable length format, a column for which no column information exists can be recognized as a column.

データベース・システムでは、一般的にサブスキーマとスキーマという表現が用いられるが、本明細書では、特に拘らずに説明を行う。本明細書の説明で「データベースに対する列追加」や「データベースに対するアクセス」というような表現は、特定の種類のデータベース・ファイル(例えば、従業員ファイル)に対する操作を表しており、データベース・システムに格納されているデータベース・ファイル全体に対するものでは無い。また、特定の種類のデータベース・ファイルが、複数のデータベース・ファイルから構成されている場合には、各々のデータベース・ファイルに対してもデータベースという表現を使用している。   In a database system, expressions such as a subschema and a schema are generally used. However, in the present specification, description will be made regardless of any particular case. In this description, expressions such as “add column to database” and “access to database” represent operations on a particular type of database file (for example, employee files) and are stored in the database system. It is not for the entire database file being used. When a specific type of database file is composed of a plurality of database files, the expression database is also used for each database file.

図1は、「データ格納検索方式」で、発明したデータベースの仕組である。ここでは、オーバーフロー・ブロックと代替キー・オーバーフロー・ブロックが省略されている。図2は、「データ格納検索システム」で、図1のデータベースに対して、オーバーフロー・ブロック管理テーブルを用いて、オーバーフロー・ブロックと代替キー・オーバーフロー・ブロックの管理を行う仕組を図示したものである。   FIG. 1 shows the structure of the invented database in the “data storage search method”. Here, the overflow block and alternate key overflow block are omitted. FIG. 2 illustrates a mechanism for managing an overflow block and an alternative key overflow block using the overflow block management table for the database of FIG. 1 in the “data storage and retrieval system”. .

[アクセラレーター・システムの原理]
アクセラレーターとは、文字通り加速器のことである。従来のデータベース・システムでは、データベースの処理能力を向上させる方法が、極めて限定的であった。これに対して、事実上、無制限にデータベースの処理能力を向上させることが可能になる、というものである。アクセラレーター・システムの原理は次のようなものである。ロケーション・テーブルや代替キー・ロケーションテーブルに対して、バイナリー・サーチを行って目的のレコードを含むプライマリー・ブロックとそれに連結されているオーバーフロー・ブロックを見つける。更に、その中からレコードを見つける。ロケーション・テーブルに対してバイナリー・サーチを行う際には、二分割点を幾度も探すことになり、この回数は、ブロック内でレコードを探すための回数よりも多くなることが一般的である。また、同時に複数のプロセスから、同じブロック内のレコードを要求する可能性は相当に低いものである。よって、ロケーション・テーブルと代替キー・ロケーションテーブルのコピーを複数保有し、各々に対して並行してバイナリー・サーチが行えるようにすれば、レコードに対するアクセス要求を数多く実行することが可能となる。図3が、「アクセラレーター」の原理を図示したものである。図4は、アクセラレーター・システムの基本構成に関して、オーバーフロー・ブロック管理テーブルを用いない方法の場合を図示したものである。図5は、アクセラレーター・システムの基本構成に関して、オーバーフロー・ブロック管理テーブルを用いた方法の場合を図示したものである。
[Principle of accelerator system]
An accelerator is literally an accelerator. In the conventional database system, the method for improving the processing capacity of the database is extremely limited. On the other hand, it is possible to improve the processing capacity of the database virtually indefinitely. The principle of the accelerator system is as follows. A binary search is performed on the location table and the alternate key location table to find a primary block including a target record and an overflow block concatenated therewith. Furthermore, a record is found from among them. When a binary search is performed on the location table, the bisection point is searched many times, and this number of times is generally larger than the number of times of searching for a record in the block. Also, the possibility of requesting records in the same block from a plurality of processes at the same time is considerably low. Therefore, if a plurality of copies of the location table and the alternative key location table are held and a binary search can be performed on each of them in parallel, it is possible to execute a large number of access requests for records. FIG. 3 illustrates the principle of the “accelerator”. FIG. 4 illustrates the case of a method that does not use the overflow block management table regarding the basic configuration of the accelerator system. FIG. 5 illustrates the case of the method using the overflow block management table regarding the basic configuration of the accelerator system.

プライマリー・システムとは、プライマリー・ブロックとオーバーフロー・ブロック、代替キー・ブロックと代替キー・オーバーフロー・ブロックを持ち、レコードの追加・更新・削除を行うシステムのことである。これに対してアクセラレーター・システムとは、フランド・ロケーション・テーブルとフランド代替キー・ロケーション・テーブルを保有し、それらに対してバイナリー・サーチを行う。目的のプライマリー・ブロックとそれに連結するオーバーフロー・ブロック、代替キー・ブロックとそれに連結する代替キー・オーバーフロー・ブロックを見つけた後は、プライマリー・システム上の、プライマリー・ブロックとそれに連結するオーバーフロー・ブロック、代替キー・ブロックとそれに連結する代替キー・オーバーフロー・ブロックに対して操作を行う。   The primary system is a system that has a primary block and an overflow block, an alternative key block and an alternative key overflow block, and adds, updates, and deletes records. On the other hand, the accelerator system has a Fland location table and a Fland alternate key location table, and performs a binary search on them. After finding the desired primary block and its overflow block, the alternate key block and its alternate key overflow block, on the primary system, the primary block and its overflow block, Operate on an alternate key block and its associated alternate key overflow block.

図4では、アクセラレーター・システムが1つの場合を示している。アクセラレーター・システムでは、ロケーション・テーブル(フランド・ロケーションテーブル)、代替キー・ロケーションテーブル(フランド・代替キー・ロケーションテーブル)を保有しているが、プライマリー・ブロック、オーバーフロー・ブロック、代替キー・ブロック、代替キー・オーバーフロー・ブロックは保有していない。アクセラレーター・システムのフランド・ロケーションテーブルは、プライマリー・システムのロケーション・テーブルと機能的に同等のものである。同様にアクセラレーター・システムのフランド・代替キー・ロケーションテーブルは、プライマリー・システムの代替キー・ロケーション・テーブルと機能的に同等なものである。アクセラレーター・システムのフランド・ロケーション・テーブルの各レコードは、プライマリー・システムの各ロケーション・テーブル・レコードと同じブロックを指している。   FIG. 4 shows a case where there is one accelerator system. The accelerator system has a location table (Fland location table) and alternate key location table (Fland alternate key location table), but the primary block, overflow block, alternate key block, Does not hold alternate key overflow block. The accelerator system's Fland location table is functionally equivalent to the primary system's location table. Similarly, the accelerator system alternate key location table of the accelerator system is functionally equivalent to the alternate key location table of the primary system. Each record in the accelerator system's rand location table points to the same block as each location table record in the primary system.

[アクセラレーター・システムでのアクセス]
アクセラレーター・システムでは、アクセス要求があると、主キーの場合はフランド・ロケーションテーブルに対してバイナリー・サーチを行い、目的のブロックを探し、そのブロック内のレコード検索をプライマリー・システムに依頼する。代替キーの場合は、フランド・代替キー・ロケーションテーブルのバイナリー・サーチを行い、目的のブロックを見つけ、プライマリー・システムが保持している代替キー・ブロックから目的の代替キー・レコードを見つけ、その代替キー・レコードによって、フランド・ロケーションテーブルのバイナリー・サーチを行って目的のレコードを見つける。ここでは検索の方法を述べたが、この方法を適用することで、レコードの更新、追加、削除が行える。また、代替キーの場合に、代替キー・レコードに基づいてフランド・ロケーションテーブルのバイナリー・サーチを行う、としたが、代替キー・レコードに、ブロックのアドレスやブロック番号を保持している場合には不要である。このようにして、複数のアクセラレーター・システムで並行してレコードの検索や更新を行うことにより、処理量を増加させることが可能となる。
[Access by accelerator system]
In the accelerator system, when there is an access request, in the case of a primary key, a binary search is performed on the land location table, a target block is searched, and a record search in the block is requested to the primary system. In the case of an alternate key, perform a binary search of the franc, alternate key location table, find the desired block, find the desired alternate key record from the alternate key block held by the primary system, and replace it. Use key records to perform a binary search of the Fland location table to find the desired record. Although the search method has been described here, it is possible to update, add, and delete records by applying this method. Also, in the case of an alternate key, a binary search of the Fland location table is performed based on the alternate key record, but if the alternate key record holds the block address or block number It is unnecessary. In this way, it is possible to increase the amount of processing by searching and updating records in parallel with a plurality of accelerator systems.

図4では、アクセラレーター・システムはロケーション・テーブル1つと代替キー・ロケーション・テーブル3種を保持しており、プライマリー・システムと同じ数となっている。これを、「アクセラレーター」では対称システムと呼んでいる。これに対して、例えば、ロケーション・テーブルと代替キー・ロケーションテーブルを2種類のみ保持しているようなアクセラレーター・システムを想定しており、ロケーション・テーブルのみ、代替キー・ロケーションテーブルのみ、といったアクセラレーター・システムを作成することが可能である。これを非対称システムと呼んでいる。アクセラレーター・システムに関しても、プライマリー・ブロックとオーバーフロー・ブロック、代替キー・ブロックと代替キー・オーバーフロー・ブロックに関して、ほぼ同様に扱うことができる。   In FIG. 4, the accelerator system has one location table and three alternative key location tables, which is the same number as the primary system. This is called a symmetric system in "Accelerator". On the other hand, for example, an accelerator system that holds only two types of location table and alternative key / location table is assumed, and an accelerator such as only the location table and only the alternative key / location table is assumed. It is possible to create a translator system. This is called an asymmetric system. With respect to the accelerator system, the primary block and the overflow block, the alternative key block and the alternative key overflow block can be handled in substantially the same manner.

図5は、上記の説明のアクセラレーター・システムに、オーバーフロー・ブロック管理テーブルを追加した場合の例である。   FIG. 5 shows an example in which an overflow block management table is added to the accelerator system described above.

[プライマリー・システムとアクセラレーター・システムの情報同期]
次に、「アクセラレーター」を用いたシステムで、プライマリー・システムとアクセラレーター・システムの情報を同期させる方法に関して図4と図5を用いて説明する。プライマリー・システムでは、ロケーション・テーブル10、代替キー・ロケーションテーブル10A、10B、10Cを持っている。更に、最終ポインター(101、10A1、10B1、10C1)を持っている。データベースがオーバーフロー・ブロック管理テーブルを用いた形式である場合(図5の場合)には、オーバーフロー・ブロック管理テーブル15、代替キー・オーバーフロー・ブロック管理テーブル15A、15B、15C、を持つ。また、オーバーフロー・ブロック管理テーブルには、オーバーフロー・ブロック管理テーブル・ポインター151を設け、代替キー・オーバーフロー・ブロック管理テーブル15Aに対して、代替キー・オーバーフロー・ブロック管理テーブル・ポインター15A1を設け、同様に、代替キー・オーバーフロー・ブロック管理テーブル・ポインター15B1、15C1を設けている。
[Information synchronization between the primary system and accelerator system]
Next, a method for synchronizing the information of the primary system and the accelerator system in a system using the “accelerator” will be described with reference to FIGS. 4 and 5. The primary system has a location table 10 and alternative key location tables 10A, 10B, and 10C. Furthermore, it has final pointers (101, 10A1, 10B1, 10C1). When the database has a format using an overflow block management table (in the case of FIG. 5), the database has an overflow block management table 15 and alternative key overflow block management tables 15A, 15B, and 15C. Further, the overflow block management table is provided with an overflow block management table pointer 151, and an alternative key overflow block management table pointer 15A1 is provided for the alternative key overflow block management table 15A. Alternate key overflow block management table pointers 15B1 and 15C1 are provided.

アクセラレーター・システム3では、フランド・ロケーションテーブル16、フランド代替キー・ロケーションテーブル(16A、16B、16C)、更に、最終ポインター(161、16A1、16B1、16C1)を持っている。データベースが、オーバーフロー・ブロック管理テーブルを用いたデータベース形式である場合には、フランド・オーバーフロー・ブロック管理テーブル19、フランド代替キー・オーバーフロー・ブロック管理テーブル19A、19B、19Cを設ける。19A、19B、19Cの各フランド代替キー・オーバーフロー・ブロック管理テーブルに対して、それぞれフランド代替キー・オーバーフロー・ブロック管理テーブル・ポインター19A1、19B1、19C1を設ける。   The accelerator system 3 has a land location table 16, a land alternate key location table (16A, 16B, 16C), and a final pointer (161, 16A1, 16B1, 16C1). When the database is in a database format using an overflow block management table, a land overflow block management table 19 and a land alternative key overflow block management table 19A, 19B, 19C are provided. For each of the alternative key / overflow / block management tables 19A, 19B, and 19C, an alternative key / overflow / block management table pointer 19A1, 19B1, and 19C1 is provided.

アクセラレーター・システムでは、プライマリー・システムで、ロケーション・テーブルまたは代替キー・ロケーションテーブルに変更が発生した場合に、アクセラレーター・システムに対して、その変更を通知し、アクセラレーター・システムでは、当該フランド・ロケーションテーブルまたはフランド代替キー・ロケーションテーブルの変更を行う。プライマリー・システムで、ロケーション・テーブル10、最終ポインター101、代替キー・ロケーションテーブル(10A、10B、10C)、代替キー・ロケーションテーブルの最終ポインター(10A1、10B1、10C1)、の何れかに変更が発生した場合に、その変更部分をアクセラレーター・システムに通知する。アクセラレーター・システムでは、その通知に基づいて、当該フランド・ロケーションテーブル16、フランド代替キー・ロケーションテーブル(16A、16B、16C)、フランド代替キー・ロケーション・テーブルの最終ポインター(16A1、16B1、16C1)、の何れかに対して、当該変更部分の変更を行う。   In the accelerator system, when a change occurs in the location table or the alternate key location table in the primary system, the accelerator system is notified of the change, and the accelerator system・ Change location table or alternate key for location ・ Location table. In the primary system, a change occurs in any of the location table 10, the final pointer 101, the alternative key location table (10A, 10B, 10C) and the final pointer (10A1, 10B1, 10C1) of the alternative key location table. If this happens, notify the accelerator system of the change. In the accelerator system, based on the notification, the Fland location table 16, the Fland alternate key location table (16A, 16B, 16C), and the last pointer of the Fland alternate key location table (16A1, 16B1, 16C1) The change portion is changed for any of the above.

また、データベースがオーバーフロー・ブロック管理テーブルを用いている場合には、上記に加えて、プライマリー・システムで、オーバーフロー・ブロック管理テーブル15、オーバーフロー・ブロック管理テーブル・ポインター151、代替キー・オーバーフロー・ブロック管理テーブル(15A、15B、15C)、代替キー・オーバーフロー・ブロック管理テーブル・最終ポインター(15A1、15B1、15C1)に変更が発生した場合には、アクセラレーター・システムにその変更を通知し、アクセラレーター・システムでは、当該フランド・オーバーフロー・ブロック管理テーブル19、フランド最終ポインター161、フランド・オーバーフロー・ブロック管理テーブル・ポインター191、フランド代替キー・オーバーフロー・ブロック管理テーブル(19A、19B、19C)、フランド代替キー・オーバーフロー・ブロック管理テーブル・最終ポインター(19A1、19B1、19C1)の何れかに対して、当該部分の変更を行う。   If the database uses an overflow block management table, in addition to the above, in the primary system, the overflow block management table 15, the overflow block management table pointer 151, the alternate key overflow block management If a change occurs in the table (15A, 15B, 15C), alternate key overflow, block management table, and final pointer (15A1, 15B1, 15C1), the accelerator system is notified of the change, and the accelerator In the system, the relevant overflow block management table 19, the final pointer 161, the full overflow block management table pointer 191 and the alternate key over Row block management table (19A, 19B, 19C), for any Furando alternate-key overflow block management table final pointer (19A1,19B1,19C1), and changes the corresponding portion.

このように、プライマリー・システムから変更部分をアクセラレーター・システムに通知し、アクセラレーター・システムで直ちにその変更を適用することにより、アクセラレーター・システムの、フランド・ロケーションテーブル16、フランド・オーバーフロー・ブロック管理テーブル19、フランド最終ポインター161、フランド・オーバーフロー・ブロック管理テーブル・最終ポインター191、フランド代替キー・ロケーションテーブル(16A、16B、16C)、フランド代替キー・ロケーションテーブルの最終ポインター(16A1、16B1、16C1)、フランド代替キー・オーバーフロー・ブロック管理テーブル(19A、19B、19C)、フランド代替キー・オーバーフロー・ブロック管理テーブル・最終ポインター(19A1、19B1、19C1)は、プライマリー・システムと同等に保たれる。アクセラレーター・システムでは、当該個所の変更が完了すると、変更完了通知をプライマリー・システムに対して送信する。プライマリー・システムでは、すべてのアクセラレーター・システムからの変更完了通知が到着するまで、当該部分の排他待ちを行う。   In this way, the change part is notified from the primary system to the accelerator system, and the change is immediately applied by the accelerator system, so that the accelerator location table 16 and the rand overflow block of the accelerator system are applied. Management table 19, Fland final pointer 161, Fland overflow / block management table / final pointer 191, Fland alternative key / location table (16A, 16B, 16C), Fland alternative key / location table final pointer (16A1, 16B1, 16C1) ), Alternate key overflow block management table (19A, 19B, 19C), alternate key overflow block management table, last poi Ter (19A1,19B1,19C1) is kept equal to the primary system. In the accelerator system, when the change of the location is completed, a change completion notification is transmitted to the primary system. The primary system waits for exclusion of this part until the change completion notifications from all accelerator systems arrive.

以上で、基本的な場合のアクセラレーター・システムへの適用に関して説明を行ったが、「データベース・システム」で直接列追加や直接列削除、直接列変更の場合には、更に、次の条件が加わる。プライマリー・システムでは、上記の条件の他に、現用ロケーション・テーブル用の列操作ポインター、列操作完了ポインターと、新規ロケーション・テーブル、新規列操作ポインターが増加する。これに対応するために、アクセラレーター・システムでは、フランド現用ロケーション・テーブル用の列操作ポインター(フランド列操作ポインター)、フランド列操作完了ポインター、フランド新規ロケーション・テーブル、フランド新規列操作ポインターを追加する。データベースが、オーバーフロー・ブロック管理テーブルを使用した形式である場合には、新規ロケーション・テーブルに新規オーバーフロー・ブロック管理テーブルと、新規オーバーフロー・ブロック管理テーブル・ポインターが追加される。プライマリー・システムで上記要素に変更があった場合には、アクセラレーター・システムにその変更を通知し、アクセラレーター・システムでは、当該個所の変更を行う。この他に、再編成を行う場合には、新規ロケーション・テーブルと新規代替キー・ロケーション・テーブル、各々の最終ポインターが更に加わる。   The application to the accelerator system in the basic case has been described above. However, in the case of direct column addition, direct column deletion, and direct column change in the “database system”, the following conditions are further satisfied: Join. In the primary system, in addition to the above conditions, the column operation pointer for the working location table, the column operation completion pointer, the new location table, and the new column operation pointer are increased. To cope with this, the accelerator system adds a column operation pointer (Fland column operation pointer), a Fland column operation completion pointer, a new Fland new location table, and a new Fland new column operation pointer for the current working location table. . If the database is formatted using an overflow block management table, a new overflow block management table and a new overflow block management table pointer are added to the new location table. When there is a change in the above elements in the primary system, the change is notified to the accelerator system, and the accelerator system changes the location. In addition, when reorganization is performed, a new location table, a new alternative key location table, and final pointers for each are further added.

アクセラレーター・システムでのアクセスは、ブロックへのアクセスがプライマリー・システムに変わるだけで、その他は、前述の列追加・削除・変更での説明と、アクセラレーター・システムで説明した方法を組み合わせることで実現できる。   Access on the accelerator system only changes the access to the block to the primary system, and the others are by combining the explanations in the column addition / deletion / change described above and the method explained in the accelerator system. realizable.

上記では、アクセラレーター・システムの対称システムを想定した説明を行ったが、非対称システムの場合には、プライマリー・システムで変更があった部分を保持するアクセラレーター・システムのみが、その変更を受け取り更新することになる。以上は、「本発明者による、「データベース・システム」からの引用を用いて説明を行った。   In the above, explanation was made assuming a symmetric system of accelerator system. However, in the case of an asymmetric system, only the accelerator system that holds the changed part in the primary system receives and updates the change. Will do. The above has been described using “quotes from the“ database system ”by the present inventor.

[通信システム]
次に、「通信システム」に関して簡単に説明しておく。現在の通信の主流は衝突検出型である。これは、通信路に接続されたノード(一般的には通信装置も含むが、ここではパソコンやサーバーなどのコンピューターを対象とし、通信装置を除く)が、勝手なタイミングで情報の送信を行い、もし、2つ以上のノードがほぼ同時に送信を行った場合は、衝突を検出し、その情報はキャンセルして、再度、ノードからの送信を行う、という方式である。再送信は、衝突が発生しないように、お互いのタイミングをずらすようにしているが、通信路の通信量が増加すると、加速度的に衝突が発生する仕組となっていた。
[Communications system]
Next, the “communication system” will be briefly described. The mainstream of current communication is the collision detection type. This is because nodes connected to the communication path (generally including communication devices, but for computers such as personal computers and servers, excluding communication devices) send information at their own discretion, If two or more nodes transmit at almost the same time, a collision is detected, the information is canceled, and transmission from the node is performed again. In the retransmission, the timing is shifted so that a collision does not occur. However, when the amount of communication on the communication path increases, the collision is accelerated.

これに対して、「通信システム」では、ノードを、トニック・ノードとドミナント・ノードに分類し、ホスト・コンピューターやサーバーなどは基本的にトニック・ノードとする。また、通信の方向を、トニック・ノードからドミナント・ノード(下り通信)、ドミナント・ノードからトニック・ノード(上り通信)に分離する。更に、上り通信の衝突を避けるために、リズム・ノードから送信督促メッセージを、各ドミナント・ノードに対して同報で送信し、各ドミナント・ノードでは、送信督促を受診後、所定の待ち時間経過後に上り通信を行う。この所定の待ち時間は、各ドミナント・ノードが通信順序番号を持ち、その通信順序番号に従って、通信路の速度、通信路の距離、通信メッセージの長さに従って定量的に定められたものである。通信順序番号nのノードは、通信順序番号n−1のノードの送信が終了すると同時に送信を行うことになる(厳密には通信路の長さによってタイミングが異なる)。所定の待ち時間の計算式は、「通信システム」に、詳細に記載されているが、次のようなものである。   On the other hand, in the “communication system”, nodes are classified into tonic nodes and dominant nodes, and host computers and servers are basically tonic nodes. Also, the direction of communication is separated from the tonic node to the dominant node (downlink communication) and from the dominant node to the tonic node (uplink communication). In addition, in order to avoid a collision of upstream communication, a transmission prompt message is transmitted from the rhythm node to each dominant node, and each dominant node passes a predetermined waiting time after receiving the transmission prompt. Later, upstream communication is performed. This predetermined waiting time is determined quantitatively according to the speed of the communication channel, the distance of the communication channel, and the length of the communication message according to the communication sequence number of each dominant node. The node with the communication sequence number n transmits at the same time as the transmission of the node with the communication sequence number n-1 is completed (strictly, the timing differs depending on the length of the communication path). The formula for calculating the predetermined waiting time is described in detail in the “communication system”, and is as follows.

送信メッセージ長をL(バイト)、通信路の伝送速度をS(ビット/秒)とする。これに対し、待ち時間をT(ナノ秒)とする。通信路(62、63、64、72、73、74)の長さは、通信路の長さ(62)=通信路の長さ(72)、通信路の長さ(63)=通信路の長さ(73)、通信路の長さ(64)=通信路の長さ(74)、であるとする。また、通信路の長さ(62)=通信路の長さ(63)=通信路の長さ(64)であるとする。まず、通信路(621、622、623)の長さが同じである場合を考える。この各々の長さを、D(メートル)とする。また、通信路の長さ(62)=通信路の長さ(63)=通信路の長さ(64)であるとする。アクセラレーター・システム1、2、3の順番で、上り通信を行うとする。すると、アクセラレーター・システム1が送信をし終わった瞬間(T1)には、送信情報の終端は、通信路621がアクセラレーター・システム1に接続している部分を通過している。T1の時点でアクセラレーター・システム2から送信メッセージを送信すれば、アクセラレーター・システム1からの送信メッセージと衝突することはなくなる。アクセラレーター・システムnの待ち時間Tnは、次の式1で表される。   The transmission message length is L (bytes), and the transmission speed of the communication path is S (bits / second). In contrast, the waiting time is T (nanoseconds). The length of the communication path (62, 63, 64, 72, 73, 74) is as follows: communication path length (62) = communication path length (72), communication path length (63) = communication path length It is assumed that the length (73), the length of the communication path (64) = the length of the communication path (74). Further, it is assumed that the length of the communication path (62) = the length of the communication path (63) = the length of the communication path (64). First, consider a case where the lengths of the communication paths (621, 622, 623) are the same. Each length is D (meters). Further, it is assumed that the length of the communication path (62) = the length of the communication path (63) = the length of the communication path (64). Assume that upstream communication is performed in the order of accelerator systems 1, 2, and 3. Then, at the moment (T1) when the accelerator system 1 finishes transmitting, the end of the transmission information passes through the portion where the communication path 621 is connected to the accelerator system 1. If the transmission message is transmitted from the accelerator system 2 at the time T1, the transmission message from the accelerator system 1 will not collide. The waiting time Tn of the accelerator system n is expressed by the following formula 1.

Figure 2005103901
Figure 2005103901

この他の、通信路の長さが異なる場合に関しては、「通信システム」に記載してある。   Other cases where the lengths of the communication paths are different are described in the “communication system”.

下り通信は、リズム・ノードからトニック・ノードに通信権を割り当てて、通信権を持っているトニック・ノードから下り通信を行う。さらには、通信路を上り用と下り用に分離すると、更に効率的な通信が行える、というものである。   In downlink communication, a communication right is assigned from the rhythm node to the tonic node, and downlink communication is performed from the tonic node having the communication right. Furthermore, if the communication path is separated for uplink and downlink, more efficient communication can be performed.

通信路の長さが等しい場合の、送信督促と上り通信のタイム・チャートを表したのが図6である。この図では、トニック・ノード内にリズム・ノードが内蔵されている場合となっている。ドミナント・ノードの数は4つである。トニック・ノードと各ドミナント・ノードの距離は等しいものとする。リズム・ノード0(トニック・ノード)から送信督促を送信する(S1)。通信路の長さが等しいので、各ドミナント・ノード(1、2、3、4)には、送信督促が同時に届く。ドミナント・ノード1は、直ちに上り通信を行う。ドミナント・ノード2、3、4は所定の待ち時間後に上り通信を行う。上り通信の1サイクルが終了したら、トニック・ノードから下り通信を行う。この図では、ドミナント・ノード3に対するくだり通信までの図となっている。   FIG. 6 shows a time chart of transmission prompting and uplink communication when the communication path lengths are equal. In this figure, the rhythm node is built in the tonic node. The number of dominant nodes is four. The distance between the tonic node and each dominant node shall be equal. A transmission reminder is transmitted from rhythm node 0 (tonic node) (S1). Since the lengths of the communication paths are equal, the transmission reminder arrives simultaneously at each dominant node (1, 2, 3, 4). The dominant node 1 immediately performs uplink communication. The dominant nodes 2, 3, and 4 perform uplink communication after a predetermined waiting time. When one cycle of uplink communication is completed, downlink communication is performed from the tonic node. In this figure, it is a figure up to the stream communication to the dominant node 3.

[高性能コンピューターの実現手段]
アクセラレーター・システムを使用することにより、高性能なコンピューター・システムを実現することが可能となる。従来のコンピューター・システムではCPUや主記憶を大量に搭載することにより高性能化を図っていた。しかしながら、背景技術で説明したように、それらを大量に搭載しても、それをコントロールするための負荷が増大するため、処理能力を増大させることが困難になっていた。アクセラレーター・システムを搭載したコンピューター・システムとすることで、コンピューターの処理性能を飛躍的に増大させることが可能となる。プライマリー・システムとアクセラレーター・システムを1つの筐体に収めた形態でも良いし、各々は独立しており、それを接続する形態でも良い。しかしながら、高性能を発揮するためには、単に1つの筐体に収めるとか、接続するといった方法のみでは不十分である。
[Means for realizing high-performance computers]
By using an accelerator system, a high-performance computer system can be realized. In conventional computer systems, high performance is achieved by installing a large amount of CPU and main memory. However, as described in the background art, even if a large number of them are mounted, it is difficult to increase the processing capacity because the load for controlling them increases. By using a computer system equipped with an accelerator system, the processing performance of the computer can be dramatically increased. The primary system and the accelerator system may be housed in a single casing, or each may be independent and connected. However, in order to exhibit high performance, it is not sufficient to simply fit in a single housing or connect.

「アクセラレーター」では、プライマリー・システムの変更情報を通知する方法として、プライマリー・システムから各アクセラレーター・システムに対して個別に情報を送信する方法を示していた他、「本明細書では、変更情報送信機構、変更情報反映機構、通信機構を通じて情報の送受信を行うような説明を行っているが、特別なハードウエアを作成することにより実現することも可能である。特定の番地の情報を変更する場合に、自動的に別の番地の情報を同じように書き換えるようにすることにより、プライマリー・システムのロケーション・テーブルと代替キー・ロケーション・テーブルが変更された場合に、アクセラレーター・システムのフランド・ロケーション・テーブルとフランド代替キー・ロケーション・テーブルを更新するような機構(同期更新機構)である。」という記述がされているのみで、具体的な実現手段は明確ではなかった。更に、各アクセラレーター・システムから、プライマリー・システムへの通信が大量に発生する仕組となっているが、この通信を円滑に行う実現手段も明確ではなかった。   In “Accelerator”, as a method of notifying the change information of the primary system, a method of sending information individually from the primary system to each accelerator system was shown. Although the explanation is such that information is transmitted / received through the information transmission mechanism, change information reflection mechanism, and communication mechanism, it can also be realized by creating special hardware. If the primary system location table and alternate key location table are changed, the address of the accelerator system is・ Update location table and alternate key location table It is so that a mechanism (synchronous updating mechanism). "That only has been described, the specific implementation means was not clear. Furthermore, although the system is such that a large amount of communication from each accelerator system to the primary system occurs, the means for smoothly performing this communication has not been clear.

図7は、「通信システム」の代表的な構成である。ノード0(0)は、トニック・ノードであり、リズム・ノード20を内蔵している。ノード1、2、3、・・・、9はドミナント・ノードである。両者は中間通信装置50と終段通信装置55、56、57を介して、通信路によって接続されている。通信路は、上り通信用と下り通信用に分離されている。この仕組を「アクセラレーター」に適用したのが、図8である。トニック・ノードがプライマリー・システム0となり、ドミナント・ノードがアクセラレーター・システム(1、2、3、・・・・、9)となる。   FIG. 7 shows a typical configuration of the “communication system”. Node 0 (0) is a tonic node and has a built-in rhythm node 20. Nodes 1, 2, 3,..., 9 are dominant nodes. Both are connected by a communication path via the intermediate communication device 50 and final-stage communication devices 55, 56, and 57. The communication path is separated for uplink communication and downlink communication. FIG. 8 shows this structure applied to the “accelerator”. The tonic node becomes the primary system 0 and the dominant node becomes the accelerator system (1, 2, 3,..., 9).

[変更情報送信]
このような構成を採った場合に、「アクセラレーター」の実現手段がどのようになるかを図8を用いて説明する。この図で通信路(61、64、65、66、641等、71、74、75、76、741等)、および通信装置は、シリアル伝送でもパラレル伝送であってもよい。また、通信路は図8では、例えば61と71というように上り通信用と下り通信用に2つの通信路を用いるようになっているが、通信路61と71を1本の通信路にし、上り方向と下り方向の通信を、時分割によって実現する方法もある。このような時分割による通信を示したのが、図9のタイム・チャートである。通信路を上り用と下り用に2本使用する場合には、上りと下りの通信を同時に並行して行うことが可能である。以下の説明で、プライマリー・システムからアクセラレーター・システムへの通信を下り通信、アクセラレーター・システムからプライマリー・システムへの通信を上り通信と呼ぶことにする。まず、上り通信と下り通信の種類を説明する。プライマリー・システムで何らかの変更があり、その変更がアクセラレーター・システムに関係するものである場合、プライマリー・システムは下り通信として、アクセラレーター・システムにその情報を送信する(変更情報の送信)。この変更情報に対して、各アクセラレーター・システムでは、変更の適用を行い変更が完了したら変更完了通知をプライマリー・システムに対して上り通信として送信する(変更完了通知の送信)。この他に、アクセラレーター・システムでは、アプリケーション・コンピューターからの依頼に基づき、ロケーション・テーブルや代替キー・ロケーション・テーブルの検索を行い、その検索結果に基づきブロックや代替キー・ブロックの検索をプライマリー・システムに依頼する(処理依頼の送信)。プライマリー・システムでは、アクセラレーター・システムからの依頼に基づきブロックや代替キー・ブロックの内容や変更結果の通知を下り通信として送信する(処理結果の送信)。
[Send Change Information]
A description will be given of how the “accelerator” is realized when such a configuration is adopted with reference to FIG. In this figure, the communication path (61, 64, 65, 66, 641, etc., 71, 74, 75, 76, 741 etc.) and the communication device may be serial transmission or parallel transmission. Further, in FIG. 8, two communication paths are used for uplink communication and downlink communication, for example, 61 and 71 in FIG. 8, but the communication paths 61 and 71 are used as one communication path. There is also a method for realizing uplink and downlink communications by time division. The time chart of FIG. 9 shows such time-division communication. When two communication paths are used for uplink and downlink, uplink and downlink communications can be performed simultaneously in parallel. In the following description, communication from the primary system to the accelerator system is referred to as downlink communication, and communication from the accelerator system to the primary system is referred to as uplink communication. First, the types of uplink communication and downlink communication will be described. When there is some change in the primary system and the change is related to the accelerator system, the primary system transmits the information to the accelerator system as downlink communication (transmission of change information). In response to this change information, each accelerator system applies the change and, when the change is completed, transmits a change completion notification to the primary system as upstream communication (transmission completion notification transmission). In addition, the accelerator system searches the location table and the alternative key location table based on the request from the application computer, and searches for the block and alternative key block based on the search result. Request the system (send processing request). In the primary system, based on a request from the accelerator system, the contents of the block and the alternative key block and the notification of the change result are transmitted as downlink communication (transmission of processing result).

ここで、変更情報の送信を効率的に行う方法を説明する。アクセラレーター・システムが1つとか、数台の場合には、各アクセラレーター・システムに対して、個別に変更情報を送信しても特段の問題が発生するとは考えられないが、アクセラレーター・システムの数が増加すると、変更情報の送信に要する時間が増大し、他の下り通信が行えなくなってしまう可能性がある。このような事態を避けるためには、変更情報の送信を、アクセラレーター・システムに対して同報で送信する。プライマリー・システムでの変更は、対称システムの場合には、すべてのアクセラレーター・システムに送信する必要があるので、同報通信を用いるのは非常に効率的である。このように変更情報の送信に同報を用いた場合のタイム・チャートが図9である。ここでも、プライマリー・システムの中にリズム・ノードを内蔵している場合となっている。変更情報をプライマリー・システムから同報で送信した後に、リズム・ノードから送信督促メッセージを同報で、アクセラレーター・システム(1、2、3、4)へ送信している(S1)。また、変更情報は送信督促メッセージを兼用することも可能である。この場合、リズム・ノードとプライマリー・システムの関係は、リズム・ノードが、上り通信の1サイクルが終了した時点で、プライマリー・システムに対して、変更情報送信の通信権を与える、ということになり、通常の下り通信とは分離する必要がある。各アクセラレーター・システムでは、変更情報を受信後、直ちに更新処理を行う。その後、アクセラレーター・システム2、3、4は所定の待ち時間をとった後に更新完了通知をプライマリー・システムに対して送信する(S2、S3、S4、S5)。図9では、各アクセラレーター・システムが同等の性能を有している(更新処理に要する時間が等しい)場合に関してのタイミングを示している。   Here, a method for efficiently transmitting change information will be described. When there is one accelerator system or several accelerator systems, it is unlikely that special problems will occur even if the change information is sent to each accelerator system individually. If this number increases, the time required for transmitting the change information increases, and there is a possibility that other downlink communications cannot be performed. In order to avoid such a situation, the change information is transmitted to the accelerator system by broadcast. It is very efficient to use broadcast because changes in the primary system need to be sent to all accelerator systems in the case of a symmetric system. FIG. 9 is a time chart when the broadcast is used for transmitting the change information in this way. Again, the rhythm node is built in the primary system. After the change information is transmitted by broadcast from the primary system, a transmission prompt message is transmitted from the rhythm node to the accelerator system (1, 2, 3, 4) by broadcast (S1). The change information can also be used as a transmission prompt message. In this case, the relationship between the rhythm node and the primary system is that the rhythm node gives the primary system the right to transmit change information when one cycle of uplink communication is completed. It is necessary to separate from normal downlink communication. Each accelerator system performs update processing immediately after receiving the change information. Thereafter, the accelerator systems 2, 3, and 4 send an update completion notification to the primary system after taking a predetermined waiting time (S2, S3, S4, and S5). FIG. 9 shows the timing when each accelerator system has equivalent performance (the time required for the update process is equal).

[変更情報の内容]
変更情報の内容に関して、詳細な説明を行う。図10は変更情報の一例である。変更情報の内容として、宛先アドレス80、送信元アドレス81、連番82、変更対象83、変更対象番地84、変更する長さ85、変更後内容86、といった情報を含んでいる。宛先アドレス80は、その情報を受信するべきノードのアドレスである。この場合は、変更情報で同報なので、アクセラレーター・システムのグループIDが宛先アドレスとなる。送信元アドレス81は、プライマリー・システムのアドレスになる。連番82というのは、複数の変更通知が送信され、また、変更完了通知をプライマリー・システムで受信する際に、異なった情報を区別するためのもので、変更情報で使用された連番を、変更完了通知の連番に入れてアクセラレーター・システムからプライマリー・システムに送信することにより、どの変更情報に対する変更完了通知であるかを識別するもので、情報通信で一般的に用いられている方法である。変更対象83は、ロケーション・テーブルなのか、複数の代替キー・ロケーション・テーブルの何れなのか、最終ポインターやオーバーフロー・ブロック管理テーブル、複数の代替キー・オーバーフロー・ブロック・管理テーブルなど、前述したアクセラレーター・システムを構成する要素のうち、どの構成要素に対する変更であるかを示したものである。これは、プライマリー・システムとアクセラレーター・システムで、同じ対応表を保持して、間違いなく変更ができるようにする。変更対象番地84は、物理的に指定する方法もあるし、論理的に指定する方法もある。
[Contents of change information]
The details of the change information will be described in detail. FIG. 10 is an example of change information. The contents of the change information include information such as a destination address 80, a transmission source address 81, a serial number 82, a change target 83, a change target address 84, a change length 85, and a changed content 86. The destination address 80 is an address of a node that should receive the information. In this case, since the change information is broadcast, the accelerator system group ID becomes the destination address. The source address 81 is the primary system address. The serial number 82 is used to distinguish different information when a plurality of change notifications are transmitted and the change completion notification is received by the primary system. The change completion notification is sent to the primary system from the accelerator system in the serial number of the change completion notification to identify the change completion notification for which change information, and is generally used in information communication Is the method. Whether the change object 83 is a location table or a plurality of alternative key location tables, the last accelerator, an overflow block management table, a plurality of alternative key overflow block management tables, etc. -It shows which component is the change among the components that make up the system. This ensures that the primary and accelerator systems have the same correspondence table and can be changed without fail. The change target address 84 can be physically designated or logically designated.

物理的というのは、プライマリー・システムにおけるアクセラレーター・システムの構成要素と、アクセラレーター・システムにおける構成要素の物理的な構成が全く同一である場合に使用する。物理的な構成が全く同一である、とは、例えば、ロケーション・テーブルの構造が、プライマリー・システムとアクセラレーター・システムで全く同一であり、更に、プライマリー・システムでのロケーション・テーブルの記憶装置上の番地と、アクセラレーター・システムでのロケーション・テーブルの記憶装置上の番地が、全く同一であることを言う。具体的な例としては、プライマリー・システムのロケーション・テーブル・エントリー5が、例えば記憶装置の1050番地から50バイトである場合に、すべてのアクセラレーター・システムで、フランド・ロケーション・テーブル・エントリー5が、記憶装置上の1050番地から50バイトである、ということになる。この場合には、プライマリー・システムからは、記憶装置上の何番地からの情報が変更になっている、という変更通知ということになる。アクセラレーター・システムでは、その変更通知を受信すると、記憶装置の変更対象番地に対して変更を行う。この場合には、変更対象83の情報は無くても正常に稼動する。   The term “physical” is used when the components of the accelerator system in the primary system and the components in the accelerator system have the same physical configuration. The physical configuration is exactly the same. For example, the structure of the location table is exactly the same in the primary system and the accelerator system, and on the storage device of the location table in the primary system. The address on the storage device of the location table in the accelerator system is exactly the same. As a specific example, when the location table entry 5 of the primary system is, for example, 50 bytes from the address 1050 of the storage device, the location table entry 5 of all the accelerator systems is That is, 50 bytes from the address 1050 on the storage device. In this case, the primary system is a change notification that the information from which address on the storage device has been changed. When receiving the change notification, the accelerator system changes the change target address of the storage device. In this case, even if there is no information of the change target 83, it operates normally.

論理的というのは、ロケーション・テーブル、代替キー・ロケーション・テーブル、オーバーフロー・ブロック管理テーブル、代替キー・オーバーフロー・ブロック管理テーブルのどのエントリーに対するものなのかを、エントリー番号で示す方法である。その他の構成要素は、複数のエントリーを持つような構造になっていないため、例えば最終ポインターであることを指定すれば、それで対象が定まる。
この論理的に同一である、ということを更に拡張すると、ロケーション・テーブルとフランド・ロケーション・テーブル、代替キー・ロケーション・テーブルとフランド・代替キー・ロケーション・テーブルの構造が異なっていても良い。構造が異なるということは、次のようなことである。ロケーション・テーブルに必要な情報はエントリーの番号とそのエントリーが指しているプライマリー・ブロックのアドレスである。この他に、プライマリー・システムのロケーション・テーブルでは、各ブロックの統計情報などを保持するように、エントリーの情報を拡張すると、有効である。これに対して、アクセラレーター・システムのフランド・ロケーション・テーブルでは、統計情報を持たずに単純に、エントリーの番号と、プライマリー・ブロックのアドレスのみを保持する。このようにすると、アクセラレーター・システムで持つ情報量が節約でき、変更が少なくなる。
更に、アクセラレーターを次のように拡張することも可能である。アクセラレーター・システムでは、ロケーション・テーブルと代替キー・ロケーション・テーブルを保持することになっている。しかしながら、一部の特定の代替キーの負荷が高い場合には、その代替キー・ブロックをアクセラレーターで保持する、というものである。代替キー・ブロックは、当然のことながらプライマリー・システムが保持しているものと同内容であり、「バックアップ・リカバリー・システム」で示した同期密結合方式により、プライマリー・システムと同期をとる。このようにすることにより、一部の代替キー・ロケーション・テーブルの負荷が高い場合に、プライマリー・システムの負荷を軽減することが可能となる。
The logical is a method of indicating to which entry of the location table, the alternate key location table, the overflow block management table, and the alternate key overflow block management table by an entry number. The other components are not structured to have a plurality of entries. For example, if the final pointer is specified, the target is determined by that.
If this logically the same is further expanded, the structure of the location table and the land location table, and the alternate key location table and the land alternate key location table may be different. The difference in structure is as follows. The information required for the location table is the entry number and the address of the primary block that the entry points to. In addition, in the location table of the primary system, it is effective to expand the entry information so as to hold the statistical information of each block. On the other hand, the accelerator system's Fland location table simply holds the entry number and the primary block address without having statistical information. This saves the amount of information in the accelerator system and reduces changes.
Further, the accelerator can be extended as follows. The accelerator system is supposed to maintain a location table and an alternate key location table. However, when the load of some specific substitute keys is high, the substitute key block is held by an accelerator. Naturally, the substitute key block has the same content as that held by the primary system, and is synchronized with the primary system by the synchronous tight coupling method shown in the “backup recovery system”. By doing so, it is possible to reduce the load on the primary system when the load on some of the alternative key location tables is high.

変更情報は、短いほど伝送や更新に必要な時間が短くなるため、短縮できる場合はその方が好ましい。例えば、ロケーション・テーブル・エントリーに対する更新である場合に、ブロック番号やアドレスは変更にならないので、主キー値の最小値または最大値が変更になった場合が対象となる。また、最小値、最大値の何れかが変更になる場合でも、主キー値全体が変更にならザ、下の数桁が変更になる場合もある。このような場合、変更対象番地と変更する長さ85を用いて、差分のみを送信することにより、変更情報を短縮することが可能となる。この場合は、変更対象番地が論理的である場合、エントリー番号と、エントリー内の変位という形式にする必要がある。差分を用いない場合であっても、変更する長さは、変更対象番地84は、物理的に指定する場合には必須となる。変更対象番地84は、論理的に指定する場合で、差分のみの送信でない場合であっても、変更する長さを送信するのは、変更を確実にする上で有用である。   The shorter the change information, the shorter the time required for transmission and update. Therefore, it is preferable if the change information can be shortened. For example, in the case of an update to a location table entry, the block number and address are not changed, so the case where the minimum value or the maximum value of the primary key value is changed is targeted. Even when either the minimum value or the maximum value is changed, if the entire primary key value is changed, the lower digits may be changed. In such a case, the change information can be shortened by transmitting only the difference using the change target address and the length 85 to be changed. In this case, when the change target address is logical, it is necessary to use an entry number and a displacement within the entry. Even when the difference is not used, the length to be changed is indispensable when the change target address 84 is physically designated. Even when the change target address 84 is logically specified and not the transmission of only the difference, it is useful for ensuring the change to transmit the length to be changed.

変更後内容は、変更する内容そのものである。例えば、ロケーション・テーブル・エントリーの主キー値の最大値が、「56789」から「56790」に変更になった場合に、「56790」が、変更後内容となる。また、前述したように、下2桁の「90」のみを差分として送信することも可能である。   The content after change is the content itself to be changed. For example, when the maximum value of the primary key value of the location table entry is changed from “56789” to “56790”, “56790” becomes the changed content. Further, as described above, it is also possible to transmit only the last two digits “90” as a difference.

[同報通信]
通信情報に関して、同報通信を用いて行う、としたが、これを更に詳しく説明する。同報通信の場合、一斉同報とグループ同報が存在する。アクセラレーター・システムには、対称システムと非対称システムが存在する。対称システムとは、プライマリー・システムが保有している、ロケーション・テーブル、代替キー・ロケーション・テーブルを、アクセラレーター・システムのすべてが保有している形態を言う。これに対して、非対称システムとは、特定のアクセラレーター・システムでは、プライマリー・システムが保有しているロケーション・テーブルや代替キー・ロケーション・テーブルの一部のみを保有する形態を言う。非対称システムは、キー種毎にアクセス頻度が異なる場合に、記憶領域を節約する際に有効である。
[Broadcast communication]
The communication information is assumed to be performed using broadcast communication, which will be described in more detail. In the case of broadcast communication, there are simultaneous broadcast and group broadcast. Accelerator systems include symmetric systems and asymmetric systems. The symmetric system is a form in which all of the accelerator systems have the location table and the alternate key location table that are held by the primary system. On the other hand, the asymmetric system is a form in which a specific accelerator system holds only a part of the location table and the alternative key location table held by the primary system. The asymmetric system is effective in saving the storage area when the access frequency differs for each key type.

アクセラレーター・システムがすべて対称システムである場合には、一斉同報で構わない。これに対して、非対称システムである場合には、グループ同報を用いる。このグループの定め方は、様々な方法があろうが、次に示す図11の方法が代表的である。図11は、アクセラレーター・システムがロケーション・テーブルと代替キー・ロケーション・テーブルの何れを保有しているかをパターン化し、1つのアクセラレーター・システムに対して1つのグループを割り当てる方法である。このようにグループを決定するのは、従来の通信で一般的に行われている方法である。この方法は、次のような特徴を持つ。アクセラレーター・システム毎にグループIDを持つので対応が分かりやすい。一方で、代替キーの種類が多くなり、組み合わせが複雑になると、グループの種類が幾何級数的に増加する可能性がある。プライマリー・システムでは、ロケーション・テーブルや代替キー・ロケーション・テーブルに対して変更が発生した場合に、どのグループに影響があるのかを解析する必要がある。また、図11の場合に、ロケーション・テーブルに変更があった場合に、グループ1、グループ2、グループ3、グループ4の各々に対して同報を行わなければならず、下り通信の情報量が増大してしまう。   If all accelerator systems are symmetric systems, simultaneous broadcast is acceptable. On the other hand, in the case of an asymmetric system, group broadcast is used. There are various methods for defining this group, but the method shown in FIG. 11 is representative. FIG. 11 shows a method of allocating one group to one accelerator system by patterning whether the accelerator system has a location table or an alternative key location table. Such a group determination is a method generally performed in conventional communication. This method has the following characteristics. Since each accelerator system has a group ID, the correspondence is easy to understand. On the other hand, when the types of alternative keys increase and the combinations become complicated, the types of groups may increase geometrically. On the primary system, it is necessary to analyze which group is affected when a change is made to the location table or the alternate key location table. Further, in the case of FIG. 11, when the location table is changed, broadcast must be performed for each of group 1, group 2, group 3, and group 4, and the amount of information for downlink communication is reduced. It will increase.

これに対して、図12は、アクセラレーター・システムが複数のグループに属することを許す場合の例である。各アクセラレーター・システムがロケーション・テーブル、代替キー・ロケーション・テーブルの何れを保有しているかを示したのが図12の97である。これに対して、ロケーション・テーブル、代替キー・ロケーション・テーブルの何れを保有しているかによってグループ名を決定する方法を示しているのが図12の98である。図12の99では、このようにして決定されたグループIDの一覧表を示している。アクセラレーター・システム1は、グループ1、2、3、4の何れにも属している。同様に、アクセラレーター・システム2、3、4も、グループ1、2、3、4に属している。アクセラレーター・システム5は、グループ1、2、3に属しているが、グループ4には属していない。アクセラレーター・システム6は、グループ1、2に属しているが、グループ3、4には属していない。アクセラレーター・システム7はグループ1のみに属している。図12で示した方法を採った場合には、ロケーション・テーブルや代替キー・ロケーション・テーブルに対する変更は、そのロケーション・テーブルや代替キー・ロケーション・テーブルに対応したグループに同報すればよいので、下り情報通信は1回でよいことになる。また、プライマリー・システムからの下り情報通信の宛先も簡単に定まる。代替キー種が増加しても、グループの種類は比例的にしか増加しない。一方、アクセラレーター・システムでは、自分がどのグループに属しているのかを保有して、複数のグループIDに対する同報通信に対応できるようにする必要がある。   On the other hand, FIG. 12 is an example in which the accelerator system is allowed to belong to a plurality of groups. Reference numeral 97 in FIG. 12 indicates whether each accelerator system has a location table or an alternative key location table. On the other hand, reference numeral 98 in FIG. 12 shows a method for determining a group name depending on whether a location table or an alternative key location table is held. Reference numeral 99 in FIG. 12 shows a list of group IDs determined in this way. The accelerator system 1 belongs to any of groups 1, 2, 3, and 4. Similarly, the accelerator systems 2, 3, 4 belong to the groups 1, 2, 3, 4. The accelerator system 5 belongs to the groups 1, 2, and 3, but does not belong to the group 4. The accelerator system 6 belongs to the groups 1 and 2 but does not belong to the groups 3 and 4. The accelerator system 7 belongs to group 1 only. When the method shown in FIG. 12 is adopted, a change to the location table or the alternative key location table may be broadcast to a group corresponding to the location table or the alternative key location table. Downlink information communication may be performed once. In addition, the destination of downlink information communication from the primary system can be easily determined. As the alternative key type increases, the group type increases only proportionally. On the other hand, in the accelerator system, it is necessary to hold which group it belongs to so that it can cope with broadcast communication for a plurality of group IDs.

図9では、変更完了通知を受信後、プライマリー・システムからの下り通信を行っている(S6、S7、S8、S9)が、実際には、上り通信用と下り通信用の通信路が別々に設けてあるので、変更情報の送信、送信督促の送信が終了した時点で、下り通信を行ってよいことになる。また、下り通信は、アクセラレーター・システム毎に均等に行う必要は無く、通信量に応じて行えばよい。   In FIG. 9, after receiving the change completion notification, downlink communication is performed from the primary system (S6, S7, S8, S9). In practice, however, the communication paths for uplink communication and downlink communication are separated. Since it is provided, downlink communication may be performed when transmission of the change information and transmission of the transmission reminder are completed. Further, downlink communication does not need to be performed equally for each accelerator system, and may be performed according to the amount of communication.

[アクセラレーター・システムの性能が不均等な場合]
各アクセラレーター・システムの性能が同等でない場合には、変更情報と送信督促を受信してから待ち時間を計測する。更新処理の時間は、プライマリー・システムで要した時間を変更情報の中に含んで送信し、その更新処理時間を所定の待ち時間に足すことにより、待ち時間とすることができる。この場合、アクセラレーター・システム1(通信順序番号が最初のアクセラレーター・システム)の性能は、プライマリー・システムと同等にしておくこと、更に、通信順序番号が2以降のアクセラレーター・システムは、所定の待ち時間以内に更新処理を終えるだけの性能を有している必要がある。また、何らかの事情で所定の待ち時間以内に更新処理が終了しなかった場合には、変更完了通知を送信しない。勝手なタイミングで変更完了通知を送信すると、通信の衝突が発生するからである。
[If the performance of the accelerator system is uneven]
When the performance of each accelerator system is not equivalent, the waiting time is measured after receiving the change information and the transmission reminder. The update processing time can be made a waiting time by transmitting the time required for the primary system in the change information and adding the updating processing time to a predetermined waiting time. In this case, the performance of the accelerator system 1 (communication sequence number is the first accelerator system) should be the same as that of the primary system, and the accelerator system with the communication sequence number 2 or later is predetermined. It is necessary to have enough performance to finish the update process within the waiting time. If the update process is not completed within a predetermined waiting time for some reason, the change completion notification is not transmitted. This is because if a change completion notification is transmitted at an arbitrary timing, a communication collision occurs.

[変更完了通知]
さて、このようにグループに対して同報通信を行い、アクセラレーター・システムで必要な変更を行い、変更完了通知をアクセラレーター・システムからプライマリー・システムに送信する。プライマリー・システムから見ると、多数の変更完了通知を漏れなく受け取り確認する必要がある。漏れなく確認する方法として、図13に示す、変更完了確認テーブルを使用すると有効である。変更完了確認テーブルでノードとあるのは、アクセラレーター・システムの各々ことである。ステータスは、未了か完了である。図13では、未了を空白で示している。一番上の行のカウントとは、最初にそのグループのノード数を入れておき、各ノードから変更完了通知をプライマリー・システムが受信する都度、当該ノードのステータスに完了を立て、カウントから1を減ずる。もし、既にステータスが完了になっているノードから再度、変更完了通知が来た場合には、そのノードに問い合わせをすることが好ましい。この場合には、カウントから1を減ずることは行わない。カウントが0になれば、そのグループの変更完了通知をすべて受信したことが確認できる。この変更完了確認テーブルは、グループ毎に原型を作成しておき、プライマリー・システムから変更通知を送信する際に、そのコピーを作成して使用すると便利である。
[Change completion notification]
Now, broadcast communication is performed for the group in this way, the necessary changes are made in the accelerator system, and a change completion notification is sent from the accelerator system to the primary system. From the viewpoint of the primary system, it is necessary to receive and confirm many change completion notifications without omission. As a method for confirming without omission, it is effective to use a change completion confirmation table shown in FIG. Each node in the change completion confirmation table is an accelerator system. The status is incomplete or complete. In FIG. 13, incomplete is indicated by a blank. The top row count is the number of nodes in the group first. Each time the primary system receives a change completion notification from each node, the status of that node is set to completion, and 1 is counted from the count. Decrease. If a change completion notification comes again from a node whose status has already been completed, it is preferable to make an inquiry to that node. In this case, 1 is not subtracted from the count. If the count reaches 0, it can be confirmed that all the change completion notifications for the group have been received. It is convenient to create a copy of this change completion confirmation table for each group and make a copy of the copy when sending a change notification from the primary system.

プライマリー・システムから変更通知をアクセラレーター・システムに送信し、すべての対象アクセラレーター・システム(変更通知の対象グループに属するアクセラレーター・システム)からの変更完了通知をプライマリー・システムが受領するまで、プライマリー・システムでは、当該変更箇所の排他を行う。   The primary system sends a change notification to the accelerator system, and until the primary system receives a change completion notification from all target accelerator systems (accelerator systems that belong to the change notification target group) -In the system, the changed part is excluded.

以上で、変更情報の送信と変更完了通知の送信に関する説明を行った。次に、アクセラレーター・システムからの処理依頼の送信方法であるが、これは、「通信システム」で示した送信督促を用いて、各アクセラレーター・システムから送信させる。この場合、先程の変更完了通知と処理依頼の情報の長さが異なる可能性が大きい。何故ならば、変更完了通知は、変更情報の連番と完了した旨の情報を含めばよいので、宛先アドレスや送信元アドレスを入れても、20バイト程度の長さで十分である。一方、処理依頼は、検索の場合には、ブロックのアドレス、キーの種類、キー値などが必要になる。更新や書き込みでは、レコードの内容が必要になるため、更に長くなる可能性がある。   In the above, the transmission of the change information and the transmission of the change completion notification have been described. Next, a method for transmitting a processing request from an accelerator system is to transmit from each accelerator system using a transmission prompt indicated by “communication system”. In this case, there is a high possibility that the length of the previous change completion notification and the information of the processing request is different. This is because the change completion notification only needs to include the serial number of the change information and information indicating completion, so that a length of about 20 bytes is sufficient even if the destination address and the source address are included. On the other hand, in the case of a search, a processing request requires a block address, a key type, a key value, and the like. Updating and writing require the contents of the record, which can be even longer.

このように、長さが異なる情報を単一の長さのパケットで扱おうとすると、パケット内の無駄なスペースが大きくなってしまう。このような状態を避けるためには、「通信システム」の中で触れられているように、送信督促を送信する場合に、アクセラレーター・システムからの送信情報の種類を指定するようにするとよい。変更完了通知の場合の送信督促では、例えば64バイトのパケット長とし、通常の処理要求の場合には、例えば、256バイトのパケット長とするなどである。当然、パケット長が異なれば、必要になる所定の待ち時間は同じアクセラレーター・システムに対しても変わってくるので、複数のパケット長を使用する場合には、それらに対応できるように所定の待ち時間を計算しておく必要がある。   In this way, if information having different lengths is handled with a single-length packet, useless space in the packet becomes large. In order to avoid such a state, as described in the “communication system”, it is preferable to specify the type of transmission information from the accelerator system when transmitting a transmission reminder. In the transmission reminder in the case of a change completion notification, the packet length is, for example, 64 bytes, and in the case of a normal processing request, the packet length is, for example, 256 bytes. Of course, if the packet length is different, the required waiting time will vary for the same accelerator system, so if you use multiple packet lengths, you need to wait for a certain amount of time to accommodate them. It is necessary to calculate time.

このように、「通信システム」を「アクセラレーター」に応用し、変更情報を同報で送信することにより、効率的な下り通信が行える。   As described above, by applying the “communication system” to the “accelerator” and transmitting the change information by broadcast, efficient downlink communication can be performed.

[処理依頼の送信]
上り通信の処理依頼に関しては、既に簡単に説明してあるが、再度、説明する。各アクセラレーター・システムでは、アクセラレーター・システム内やアプリケーション処理コンピューター内での、アプリケーション・プログラムからデータベースに対するアクセス要求に基づき、データベースへのアクセスを行う。例えば、主キーによるアクセスであった場合、アクセラレーター・システムでは、自分のフランド・ロケーション・テーブルを検索し、対象となるブロックを見つける。ブロックとオーバーフロー・ブロックは、アクセラレーター・システムには存在せず、プライマリー・システムにのみ存在する。検索要求の場合には、検索DB種別、検索対象ブロック種別、対象となるブロックのブロック番号またはブロック・アドレス、主キー値を指定する。それを処理依頼レコードとして、プライマリー・システムに送信する。この処理依頼は、各アクセラレーター・システムが稼動している場合には、勝手なタイミングで発生するため、それらが勝手に送信されると衝突してしまう可能性がある。また、衝突は、通信が混んでくると発生しやすくなるため、多くの処理を行わなければならない状態で、性能が低下してしまう。
[Send processing request]
The uplink communication processing request has already been briefly described, but will be described again. Each accelerator system accesses a database based on an access request to the database from an application program in the accelerator system or an application processing computer. For example, when the access is based on the primary key, the accelerator system searches its own location table and finds a target block. Blocks and overflow blocks do not exist on the accelerator system, only on the primary system. In the case of a search request, a search DB type, a search target block type, a block number or block address of a target block, and a primary key value are designated. It is sent to the primary system as a processing request record. Since this processing request is generated at an arbitrary timing when each accelerator system is operating, there is a possibility of collision if they are transmitted without permission. In addition, since collisions are likely to occur when communication is congested, performance deteriorates in a state where many processes must be performed.

このような衝突を避けるために、「通信システム」では、上り通信を、リズム・ノードから送信督促を送信し、その通信督促をドミナント・ノード(アクセラレーター・システム)が受信したら所定の待ち時間後に、上り通信を行うことになっている。このようにすることにより、上り通信に衝突が発生しないようになっている。この送信督促の送信と、送信督促受信後に所定の待ち時間を置いて上り通信を行う、という方法を、「アクセラレーター」にも適用する。この場合のタイミング・チャートは図6と同様である。   In order to avoid such a collision, in the “communication system”, uplink communication is performed by transmitting a transmission reminder from a rhythm node, and when the communication reminder is received by a dominant node (accelerator system), after a predetermined waiting time. Uplink communication is to be performed. By doing so, a collision does not occur in uplink communication. The method of transmitting the transmission reminder and performing the upstream communication with a predetermined waiting time after receiving the transmission reminder is also applied to the “accelerator”. The timing chart in this case is the same as that in FIG.

[アクセラレーター・システムのロジック]
アクセラレーター・システムには、プログラムが必要となるが、そのプログラムのロジックに関して改めて説明する。図14、図15が、アクセラレーター・システムのプログラム(アクセラレーター・システム・プログラム)のフロー・チャートである。図14では、まず、アプリケーション・プログラムからアクセスの受付を行う。アプリケーション・プログラムは、アクセラレーター・システムの中で稼動するようにしても良いし、外部のシステムで稼動するようにし、データベース・アクセスを受け付けるようにしてもよい。アクセラレーター・システム・プログラムは、次に、アクセスの種類を識別する。どのデータベース(スキー)を対象にしたものか、キー種別は何か、アクセスは検索、追加、更新、削除の何れであるか、キー値は何か、である。次に、キー種別とキー値により、ロケーション・テーブルまたは、代替キー・ロケーション・テーブルのバイナリー・サーチを行う。そこで、目的のブロックまたは代替キー・ブロックの番号またはアドレスを見つける。そこで、アクセラレーター・システム・プログラムは、送信メッセージを作成し、一旦、蓄積しておく。その後、送信督促メッセージを受信したら、所定の待ち時間を置いた後、プライマリー・システムに対して、上り通信により処理依頼を行う。プライマリー・システムで処理を行い、その結果をアクセラレーター・システムに返してくる。その結果をアプリケーション・プログラムに返す。図15は、プライマリー・システムからの変更情報を受信する場合のフロー・チャートである。変更情報をプライマリー・システムから受信する。その変更対象により、必要な変更を行う。その後、所定の待ち時間を置いて、変更完了通知を送信する。
[Accelerator system logic]
The accelerator system requires a program, but the logic of the program will be explained again. 14 and 15 are flowcharts of the accelerator system program (accelerator system program). In FIG. 14, first, access is accepted from an application program. The application program may be run in the accelerator system, or may be run in an external system to accept database access. The accelerator system program then identifies the type of access. Which database (ski) is targeted, what is the key type, whether access is search, add, update, delete, what is the key value. Next, a binary search of the location table or alternative key location table is performed according to the key type and key value. There, the number or address of the target block or alternate key block is found. Therefore, the accelerator system program creates a transmission message and stores it once. After that, when a transmission reminder message is received, after a predetermined waiting time, a processing request is made to the primary system by upstream communication. Processing is performed on the primary system, and the result is returned to the accelerator system. The result is returned to the application program. FIG. 15 is a flowchart in the case of receiving change information from the primary system. Receive change information from the primary system. Make the necessary changes according to the change target. Thereafter, a change completion notification is transmitted after a predetermined waiting time.

[プライマリー・システムでのロジック]
次に、プライマリー・システムのプログラム(プライマリー・システム・プログラム)の処理内容を説明する。図16、図17が、そのフロー・チャートである。図16では、アクセラレーター・システムからの処理依頼に関するものである。まず、アクセラレーター・システムからの処理受付を行う。次に、アクセスの種類を識別する。どのデータベース(スキー)を対象にしたものか、キー種別は何か、アクセスは検索、追加、更新、削除の何れであるか、キー値は何か、ブロックまたは代替キー・ブロックの番号である。次に、ブロックまたは代替キー・ブロックの番号により、ロケーション・テーブルまたは代替キー・ロケーション・テーブルのエントリーを見つける。処理依頼が更新系である場合には、そのエントリーの排他を行う。排他方法は後述する。処理依頼が主キーによるものであるときには、プライマリー・ブロックと、そのプライマリー・ブロックに接続されたオーバーフロー・ブロックの中から、目的のレコードを検出し、処理依頼が検索である場合には、そのレコードをセットする。処理依頼が更新である場合には、そのレコードに更新を行う。追加の場合には、その主キー値を持つレコードが存在しないことが前提であり、レコードの挿入場所を確定し、レコードの挿入を行う。処理依頼が削除の場合は、レコードの削除を行う。処理依頼が、検索、更新、削除の場合に、その主キー値を持つレコードが存在しない場合は、エラーとする。処理依頼が追加の場合で、その主キー値を持つレコードが既に存在する場合は、エラーとする。正常な場合は、リターン・コードの他、レコードなど必要な情報をセットする。その後、アクセラレーター・システムに情報を渡す。これは、下り通信として送信する。図17は、アクセラレーター・システムに対する変更情報を送信するフロー・チャートである。
[Logic on the primary system]
Next, processing contents of the primary system program (primary system program) will be described. 16 and 17 are the flow charts. FIG. 16 relates to a processing request from the accelerator system. First, accept processing from the accelerator system. Next, the type of access is identified. Which database (ski) is targeted, what key type is, whether access is search, add, update, delete, what is the key value, block or alternate key block number. Next, find an entry in the location table or alternate key location table by block or alternate key block number. If the processing request is an update system, the entry is excluded. The exclusion method will be described later. When the processing request is by the primary key, the target record is detected from the primary block and the overflow block connected to the primary block, and if the processing request is a search, the record Set. If the processing request is an update, the record is updated. In the case of addition, it is assumed that there is no record having the primary key value, the record insertion location is determined, and the record is inserted. If the processing request is deletion, the record is deleted. If the processing request is search, update, or delete and there is no record with that primary key value, an error is assumed. If a process request is added and a record with that primary key value already exists, an error is assumed. If it is normal, necessary information such as a record is set in addition to the return code. Then pass the information to the accelerator system. This is transmitted as downlink communication. FIG. 17 is a flow chart for transmitting change information for the accelerator system.

[排他方法]
次に、排他方法に関して説明する。排他は、ロケーション・テーブルまたは代替キー・ロケーション・テーブルの目的のエントリーに対して、フラッグを立てることにより行うことが最もシンプルである。このようにすると、どのブロックまたは代替キー・ブロックが排他されているかを確実に検出することが可能となる。トランザクション終了、デッドロックやトランザクション・キャンセル、プログラムの異常終了により、あるトランザクションに関連する排他を解除する方法としては、トランザクション毎に、排他対象のロケーション・テーブル・エントリー、代替キー・ロケーション・テーブル・エントリーを別のテーブルに書き出しておき、それを参照するようにする。
[Exclusion method]
Next, the exclusion method will be described. The simplest way to do this is by setting a flag for the desired entry in the location table or alternate key location table. In this way, it is possible to reliably detect which block or alternative key block is exclusive. As a method of releasing exclusion related to a transaction by transaction termination, deadlock or transaction cancellation, or abnormal termination of the program, the location table entry to be excluded and the alternate key location table entry for each transaction Is written to a separate table and referenced.

[特殊なアクセラレーター・システム]
以上で、アクセラレーター・システムの基本的な説明を行ったが、変形例に関して説明する。アクセラレーター・システムの数が、多い場合には、プライマリー・システムでは、アクセラレーター・システムからの処理依頼を受け付けて処理を行い、また、変更が発生すればアクセラレーター・システムに変更情報を送信する、という機能のみを行うことが全体的な効率向上に役立つ。しかしながら、アクセラレーター・システムの数があまり多くない場合には、プライマリー・システムにも、アクセラレーター・システムが行う機能を負担させることにより、全体的な処理効率を向上させることもできる。このような場合、例えば、図8におけるアクセラレーター・システム1をダミーとし、アクセラレーター・システム1が、アプリケーション・プログラムから受け付けた処理依頼に関して、アクセラレーター・システム1では何の処理も行わずに、プライマリー・システムにそのまま送信してしまう、という方法である。アクセラレーター・システム2、3、4、・・・9は、図14に示したような処理を行う。このようにした場合、プライマリー・システム・プログラムは、図14に示したロジックを保有し、アクセラレーター・システム1からの処理依頼である場合には、図14のロジックと図16のロジックを実行する。
[Special accelerator system]
Although the basic description of the accelerator system has been given above, a modification will be described. If the number of accelerator systems is large, the primary system accepts the processing request from the accelerator system and processes it. If a change occurs, the change information is sent to the accelerator system. It is useful to improve the overall efficiency to perform only the function. However, when the number of accelerator systems is not so large, the overall processing efficiency can be improved by placing the functions performed by the accelerator system on the primary system. In such a case, for example, the accelerator system 1 in FIG. 8 is a dummy, and the accelerator system 1 does not perform any processing on the processing request received from the application program by the accelerator system 1. It is a method of transmitting to the primary system as it is. The accelerator systems 2, 3, 4,... 9 perform processing as shown in FIG. In this case, the primary system program has the logic shown in FIG. 14 and executes the logic of FIG. 14 and the logic of FIG. 16 in the case of a processing request from the accelerator system 1. .

[アクセラレーター・システムが多い場合]
以上で、基本的な構成を採った場合の例の説明を行った。アクセラレーター・システムの数が比較的少ない場合には、全アクセラレーター・システムを対象として送信督促メッセージを送信することとしても、特段の問題は発生しないと考えられる。10Gbpsの速度を持つ通信路上では、8ビットを1バイととした場合、1ns(ナノ秒)当り10ビットの通信が可能であり、1バイトの通信には0.8nsが必要となる。アクセラレーター・システムからの上り通信メッセージはその長さを一定とし、例えば、256バイトとすると、その場合、256バイトを送信するための時間は、204.8nsとなる。アクセラレーター・システムの数が100台とした場合には、約20μ秒毎に送信督促メッセージの送信が行われ、その間隔でアクセラレーター・システムからの処理依頼を送信できることになる。これは、1秒当りにすると、1台のアクセラレーター・システムが上り通信を行える回数が5万回となる。
[When there are many accelerator systems]
The example in the case of adopting the basic configuration has been described above. In the case where the number of accelerator systems is relatively small, it is considered that no particular problem occurs even if the transmission reminder message is transmitted to all accelerator systems. On a communication path having a speed of 10 Gbps, when 8 bits are set to 1 bit, communication of 10 bits per 1 ns (nanosecond) is possible, and 0.8 ns is required for 1-byte communication. The length of the uplink communication message from the accelerator system is constant, for example, 256 bytes. In this case, the time for transmitting 256 bytes is 204.8 ns. When the number of accelerator systems is 100, a transmission prompt message is transmitted about every 20 μs, and a processing request from the accelerator system can be transmitted at that interval. This means that once per second, the number of times that one accelerator system can perform uplink communication is 50,000 times.

ところが、アクセラレーター・システムが1000台になると、1秒当りの上り通信回数が5000回となる。また、すべてのアクセラレーター・システムが上り通信の情報を保持していない可能性もある。このような場合に有効な方法が、「通信システム」で示された、多階層リズム・ノードである。図18に例を示す。図18は、基本的な構成は図8と同様であるが、終段通信装置の構成が異なっている。図18の終段通信装置(55、56、57)は、ドミナント・ノードとトニック・ノードの機能を有しており、更にリズム・ノード(21、22、23)を有している。この終段通信装置の機能は次のようになる。終段通信装置55を例にとって説明する。終段通信装置55は、アクセラレーター・システム1、2、3に対して、トニック・ノードとして機能する。また、リズム・ノードを保有している。リズム・ノードから各アクセラレーター・システム1、2、3に対して、送信督促メッセージを送信する。アクセラレーター・システムでは、送信督促メッセージを受信後、所定の待ち時間を置いた後、上り通信を行う。この場合、上り情報が無ければ、例えば、NACKを送信する。終段通信装置55は、このようにして、各アクセラレーター・システム1、2、3からの上り通信を集めて蓄積しておく。   However, when the number of accelerator systems is 1000, the number of uplink communications per second is 5000. There is also a possibility that not all accelerator systems have information on upstream communication. An effective method in such a case is a multi-layered rhythm node indicated by “communication system”. An example is shown in FIG. FIG. 18 shows a basic configuration similar to that shown in FIG. 8, but the final-stage communication device has a different configuration. The final-stage communication devices (55, 56, 57) in FIG. 18 have functions of a dominant node and a tonic node, and further have rhythm nodes (21, 22, 23). The function of this final stage communication device is as follows. The final communication device 55 will be described as an example. The final-stage communication device 55 functions as a tonic node for the accelerator systems 1, 2, and 3. It also has a rhythm node. A transmission prompt message is transmitted from the rhythm node to each of the accelerator systems 1, 2, and 3. The accelerator system performs uplink communication after a predetermined waiting time after receiving the transmission reminder message. In this case, if there is no uplink information, for example, NACK is transmitted. In this way, the final stage communication device 55 collects and accumulates uplink communications from the accelerator systems 1, 2, and 3.

このような動作に対して、リズム・ノード20は、終段通信装置55、56、57をドミナント・ノードとして送信督促メッセージを送信する。この送信督促メッセージは、数段通信装置55、56、57を対象とするグループに対して行う。また、終段通信装置55、56、57では、その送信督促メッセージを、アクセラレーター・システムに送信しないことが好ましい。送信しても、アクセラレーター・システム宛てでは無いので無視されることになるが、不要なトラッフィックを軽減することになる。終段通信装置はドミナント・ノードとして、リズム・ノード20からの送信督促メッセージ受信後、所定の待ち時間を置いて、上り通信を行う。上り通信は、各終段通信装置から1メッセージづつおこなってもよいが、例えば、10メッセージを1回に送信するなどとしてもよい。当然、所定の待ち時間は、メッセージの全長が長くなるため、その分長くなる。   In response to such an operation, the rhythm node 20 transmits a transmission prompt message using the final-stage communication devices 55, 56, and 57 as dominant nodes. This transmission reminder message is sent to a group intended for several stages of communication devices 55, 56, and 57. Further, it is preferable that the final communication devices 55, 56, and 57 do not transmit the transmission prompt message to the accelerator system. Even if it is sent, it is not addressed to the accelerator system and will be ignored, but it will reduce unnecessary traffic. As a dominant node, the final communication device performs uplink communication after receiving a transmission prompt message from the rhythm node 20 with a predetermined waiting time. Uplink communication may be performed one message at a time from each final stage communication device, but for example, 10 messages may be transmitted at a time. Of course, the predetermined waiting time becomes longer by the length of the entire message.

このような方法を用いると、アクセラレーター・システムからの空の上り通信を削減することができる。更には、「通信システム」で示したように、ドミナント・ノード毎に上り通信の割り当て数を、送信督促メッセージ中に入れて、終段通信装置から可変数のメッセージの上り通信を行うようにすると、更に、通信の効率化行える。   By using such a method, it is possible to reduce empty uplink communication from the accelerator system. Furthermore, as shown in the “communication system”, when the number of uplink communications assigned to each dominant node is included in the transmission prompt message, a variable number of messages are uplinked from the final stage communication device. Furthermore, communication efficiency can be improved.

[アクセラレーター・システムの故障]
ところで、このように多数のアクセラレーター・システムを接続した場合に、一部のアクセラレーター・システムが何らかの理由で、稼動できなくなる可能性がある。何らかの理由としては、アクセラレーター・システムの故障によるもの、支線通信路の故障によるもの、アクセラレーター・システムのメンテナンスによるもの、などが考えられる。このように、或るアクセラレーター・システムが稼動しない場合の対処を以下に説明する。
[Accelerator system failure]
By the way, when many accelerator systems are connected in this way, some accelerator systems may not be able to operate for some reason. Some reason may be due to a failure of the accelerator system, a failure of the branch line communication path, or a maintenance of the accelerator system. Thus, a countermeasure when a certain accelerator system does not operate will be described below.

或るアクセラレーター・システムが稼動しなくなった場合の検知方法は、定期的にプライマリー・システムと信号をやり取りし、その信号が途絶えたら故障とみなす、という方法が一般的に用いられている。本発明では、送信督促に対する上り通信の有無を、信号に使用することができるし、それを利用することが合理的である。このような方法で、プライマリー・システムがアクセラレーター・システムの不稼動を検知すると、プライマリー・システムは、そのアクセラレーター・システムを切り離す。プライマリー・システムでは、不稼動となったアクセラレーター・システムが処理していたトランザクションでデータベースのデータが変更されている場合には、バックアウト処理(データの内容をトランザクションの開始時点の内容に戻す)を行う。また、そのバックアウトの内容が、アクセラレーター・システムや、後述するセカンダリー・システムに影響するものである場合には、その変更情報をアクセラレーター・システムやセカンダリー・システムに送信する。このようにバックアウトを行うためには、プライマリー・システムでデータの変更を行う際に、該当部分の変更前情報(Bログ)を取得しておく必要がある。このBログは、プライマリー・システムでの当該変更が完了し、アクセラレーター・システムやセカンダリー・システムの当該変更が完了すれば不要となる。しかしながら、バックアップ用に保存しておくことで、有効に使用できる場合がある。これはセカンダリー・システムの部分で説明する。変更完了確認テーブルからは、不稼動となったアクセラレーター・システムを除外しておく。   As a detection method when a certain accelerator system stops operating, a method is generally used in which a signal is periodically exchanged with the primary system, and if the signal is interrupted, it is regarded as a failure. In the present invention, the presence / absence of uplink communication for transmission prompting can be used for a signal, and it is reasonable to use it. In this way, when the primary system detects that the accelerator system is not operating, the primary system disconnects the accelerator system. On the primary system, back-out processing (returns the contents of the data to the contents at the start of the transaction) when the data in the database has been changed in a transaction that was processed by the accelerator system that became inoperative I do. If the backout content affects the accelerator system or a secondary system described later, the change information is transmitted to the accelerator system or the secondary system. In order to perform backout in this way, it is necessary to acquire the pre-change information (B log) of the relevant part when changing data in the primary system. The B log becomes unnecessary when the change in the primary system is completed and the change in the accelerator system or the secondary system is completed. However, there are cases where it can be used effectively by storing it for backup. This is explained in the secondary system section. From the change completion confirmation table, exclude the accelerator system that has become inoperable.

次に、プライマリー・システムは、そのアクセラレーター・システムから届いていない変更完了通知を含んでそれ以降の変更情報をすべて保存する。また、アプリケーション処理コンピューターからは、その不稼動のアクセラレーター・システムに対する処理要求を送信しないようにし、不稼動となった時点のトランザクションを別のアクセラレーター・システムに振り分ける。これで、不稼動となったアクセラレーター・システムの切り離しが完了する。これ以降は、人手で不稼動となった原因を探し、稼動するように復旧させることになる。   Next, the primary system saves all subsequent change information including the change completion notice not received from the accelerator system. In addition, the application processing computer is prevented from sending a processing request to the inactive accelerator system, and the transaction at the time of inactivity is distributed to another accelerator system. This completes the separation of the accelerator system that has become inoperative. After that, the cause of the inoperability is searched manually, and the operation is restored so that it can be operated.

不稼動であったアクセラレーター・システムが、稼動できるようになった場合には、次のような復旧措置をとる。プライマリー・システムから、それまで保存してあった変更情報の送信を、不稼動であったアクセラレーター・システム宛てに行う。この開始時点をt1とする。プライマリー・システムでは、t1時点以降に、他のアクセラレーター・システム宛ての変更情報を送信するが、不稼動であったアクセラレーター・システムでは、受信のみを行い、変更の適用は行わない。不稼動であったアクセラレーター・システムでは、プライマリー・システムに保存してあった変更情報に基づき、当該変更を順次実行し、変更完了通知をプライマリー・システムに送信する。変更完了通知は、1つの変更情報の変更が完了する都度、行っても良いが、変更完了通知が多くなるため、まとめて行っても良い。保存してあった変更情報が無くなった時点をt2とする。t2時点以降は、不稼動であったアクセラレーター・システムが保存した変更情報に基づき、当該変更を順次実行し、変更完了通知をプライマリー・システムに送信する。変更完了通知は、1つの変更情報の変更が完了する都度、行っても良いが、変更完了通知が多くなるため、まとめて行っても良い。不稼動であったアクセラレーター・システムが保存した変更情報の変更が終了した時点をt3とする。t3の時点で、不稼動であったアクセラレーター・システムと、他のアクセラレーター・システムの同期が完了したことになる。よって、t3以降は、不稼動であったアクセラレーター・システムは、稼動アクセラレーター・システムとして扱うことが可能となる。プライマリー・システムでは、変更完了確認テーブルから、不稼動となったアクセラレーター・システムを除外してあったのを、復活させる。   When an accelerator system that has been out of service becomes operational, the following recovery measures are taken. From the primary system, the change information that has been saved is sent to the accelerator system that was out of service. Let this start time be t1. In the primary system, change information addressed to other accelerator systems is transmitted after time t1, but the accelerator system that has not been operated only receives and does not apply the changes. The accelerator system that was out of operation sequentially executes the changes based on the change information stored in the primary system, and sends a change completion notification to the primary system. The change completion notification may be performed every time the change of one piece of change information is completed, but may be performed collectively because the number of change completion notifications increases. Let t2 be the time when the saved change information disappears. After the time t2, the change is sequentially executed based on the change information saved by the accelerator system that has been inactive, and a change completion notice is transmitted to the primary system. The change completion notification may be performed every time the change of one piece of change information is completed, but may be performed collectively because the number of change completion notifications increases. Let t3 be the point in time when the change of the change information saved by the accelerator system that has been inactive has ended. At time t3, the accelerator system that was out of operation and the other accelerator system have been synchronized. Therefore, after t3, the accelerator system that has been inactive can be handled as an active accelerator system. In the primary system, the accelerator system that has become inoperable is excluded from the change completion confirmation table.

次に、プライマリー・システムが不稼動となった場合に関する説明であるが、これは、セカンダリー・システムを使用する場合の説明で詳細に記述する。   Next, a description will be given of a case where the primary system is out of service. This will be described in detail in the description of the case where the secondary system is used.

[BUS型構成]
図8では、カスケード接続の場合に関して述べたが、BUS型であっても構成は可能である。図19はBUS型の構成を用いた場合の例である。プライマリー・システムとアクセラレーター・システムとは、BUS型の通信路(41、42)で接続されている。通信路41は下り通信用であり、通信路42は上り通信用である。また、通信路41、42共に片分岐となっているが、通信路41は両分岐であっても良い。通信路42が片分岐になっている理由は、アクセラレーター・システムからの上り通信が、下り側に流れていかないためである。アクセラレーター・システムからの上り通信が、下り側に流れていくと、例えば、アクセラレーター・システム3からの上り通信が、アクセラレーター・システム4側にも流れるため、アクセラレーター・システム4、5、6、7からの上り通信が、通信路42上で衝突する可能性があることになる。通信路42を片分岐にしておき、各アクセラレーター・システムからの上り通信を、適度な間隔で送信することにより、このような衝突を避けることが可能となる。適度な間隔とは、所定の待ち時間を取ることに他ならない。
[BUS type configuration]
Although the case of the cascade connection is described in FIG. 8, the configuration is possible even with the BUS type. FIG. 19 shows an example in which a BUS type configuration is used. The primary system and the accelerator system are connected by a BUS type communication path (41, 42). The communication path 41 is for downlink communication, and the communication path 42 is for uplink communication. Moreover, although both the communication paths 41 and 42 are one branch, the communication path 41 may be both branches. The reason why the communication path 42 is one-branch is that the upstream communication from the accelerator system does not flow downstream. When upstream communication from the accelerator system flows to the downstream side, for example, upstream communication from the accelerator system 3 also flows to the accelerator system 4 side, so that the accelerator systems 4, 5, There is a possibility that uplink communication from 6 and 7 may collide on the communication path 42. Such a collision can be avoided by leaving the communication path 42 in one branch and transmitting uplink communications from each accelerator system at appropriate intervals. An appropriate interval is nothing but taking a predetermined waiting time.

この所定の待ち時間に関する図が、図20である。ここでは、図面を簡潔にするために、アクセラレーター・システムが1から4までの、4つの場合を示している。リズム・ノード(=プライマリー・システム0)から、送信督促メッセージを同報で送信する。すると、送信督促メッセージはカスケード型の場合と異なり、各々のアクセラレーター・システムは、プライマリー・システムからの距離が順次長くなっているので、その距離に応じて遅延して各アクセラレーター・システムに届くことになる(S1)。アクセラレーター・システムでは、送信督促メッセージを受信後、所定の待ち時間を取った後に上り通信を行う(S2、S3、S4、S5)。   A diagram relating to this predetermined waiting time is shown in FIG. Here, in order to simplify the drawing, four cases of accelerator systems 1 to 4 are shown. From the rhythm node (= primary system 0), a transmission reminder message is transmitted by broadcast. Then, unlike the case of the cascade-type transmission message, each accelerator system is sequentially increased in distance from the primary system, so it is delayed according to that distance and reaches each accelerator system. (S1). In the accelerator system, uplink communication is performed after a predetermined waiting time after receiving the transmission reminder message (S2, S3, S4, S5).

この場合の所定の待ち時間は、「通信システム」に詳しく示されているが、各アクセラレーター・システム間の距離が等しい場合の式は次のようになる。各アクセラレーター・システム間の距離をD(メートル)、メッセージ長をL(バイト)、通信路の伝送速度をS(ビット/秒)とする。これに対し、待ち時間をT(ナノ秒)とする。また、プライマリー・システムから最も近いアクセラレーター・システムの番号を1として、n番目のドミナント・ノードをn番目とする。n番目のドミナント・ノードの待ち時間をTn(ナノ秒)とすると、その待ち時間Tnを表す式2は次のようになる。   The predetermined waiting time in this case is shown in detail in the “communication system”, but the equation when the distance between the accelerator systems is equal is as follows. The distance between the accelerator systems is D (meters), the message length is L (bytes), and the transmission speed of the communication path is S (bits / second). In contrast, the waiting time is T (nanoseconds). Also, the number of the accelerator system closest to the primary system is 1, and the nth dominant node is nth. Assuming that the waiting time of the nth dominant node is Tn (nanoseconds), Equation 2 representing the waiting time Tn is as follows.

Figure 2005103901
Figure 2005103901

各アクセラレーター・システム間の距離が異なる場合に関しては、「通信システム」に記載してある。   The case where the distance between each accelerator system is different is described in the “communication system”.

[リング型]
図21は、リング型にアクセラレーター・システムを構成した場合の図である。ここで、通信路41は、例えば、支線通信路331と312の間が切れておらず、繋がっている。これにより、同報通信が可能になると共に、ノードの1つが故障しても、ネットワーク全体が停止してしまう、という問題がなくなっている。ここでは、プライマリー・システム0と、アクセラレーター・システム1、2、3、・・・、9からなっている。また通信路はリング型であるため、通信路41の単線となっている。このため、通信路41は、上り通信と下り通信が分離されていない。便宜上、プライマリー・システムからアクセラレーター・システム方向への通信を下り通信、アクセラレーター・システムからプライマリー・システム方向への通信を上り通信と呼ぶが、通信路41を流れている通信が上り通信であるか、下り通信であるかは、その宛先による。各アクセラレーター・システムは支線通信路311、312等によって、通信路41と接続されている。各支線通信路は片分岐となっており、支線通信路311、321等は、下り通信の受信用に使用され、支線通信路312、322等は、上り通信の送信用に用いられる。
[Ring type]
FIG. 21 is a diagram in the case where an accelerator system is configured in a ring type. Here, in the communication path 41, for example, the branch line communication paths 331 and 312 are not disconnected and are connected. This enables broadcast communication and eliminates the problem that even if one of the nodes fails, the entire network stops. Here, the system consists of a primary system 0 and accelerator systems 1, 2, 3,... Since the communication path is a ring type, the communication path 41 is a single line. For this reason, in the communication channel 41, uplink communication and downlink communication are not separated. For convenience, communication from the primary system to the accelerator system direction is referred to as downlink communication, and communication from the accelerator system to the primary system direction is referred to as uplink communication, but communication flowing through the communication path 41 is uplink communication. Whether it is downlink communication depends on the destination. Each accelerator system is connected to the communication path 41 by branch line communication paths 311 and 312. Each branch line communication path is a single branch, the branch line communication paths 311 and 321 are used for receiving downlink communication, and the branch line communication paths 312 and 322 are used for transmitting uplink communication.

[上り通信]
ここでは、プライマリー・システム0にリズム・ノード20が設けられているとする。まず、上り通信に関しては、リズム・ノード20から送信督促メッセージを同報で送信する。アクセラレーター・システムは、送信督促メッセージを受信した後、各アクセラレーター・システム間の距離により、所定の待ち時間をおいて上りメッセージを送信する。この場合の所定の待ち時間とは、BUS型通信ネットワークにおける式を使用する。また、リング型の場合は、上り通信に限定せずにプライマリー・システム宛てのメッセージであっても良い。プライマリー・システムでは自己宛てのメッセージを受信し、それ以外のメッセージは再度、通信路に下り通信として伝送するが、アクセラレーター・システムにおいては存在しない。プライマリー・システムでは、自分宛て以外の受信したメッセージを全て破棄する。
[Uplink communication]
Here, it is assumed that a rhythm node 20 is provided in the primary system 0. First, for uplink communication, a transmission reminder message is transmitted from the rhythm node 20 by broadcast. After receiving the transmission reminder message, the accelerator system transmits the upstream message with a predetermined waiting time according to the distance between the accelerator systems. For the predetermined waiting time in this case, an expression in the BUS type communication network is used. Further, in the case of the ring type, the message addressed to the primary system may be used without being limited to uplink communication. In the primary system, a message addressed to itself is received, and other messages are transmitted again as downlink communication to the communication path, but do not exist in the accelerator system. The primary system discards all received messages other than those addressed to itself.

[下り通信]
次に、リズム・ノードはプライマリー・システム0に対して下り通信を割り当てる。そこで、プライマリー・システム0は、下り通信を行う。下り通信を行って、プライマリー・システムに戻ってきた通信メッセージは全て破棄する。
[Downlink communication]
Next, the rhythm node assigns downlink communication to the primary system 0. Therefore, the primary system 0 performs downlink communication. All communication messages returned to the primary system through downstream communication are discarded.

Claims (5)

主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、
各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有するアクセラレーター・システムと、
通信路とを備え、
プライマリー・システムから変更情報を同報で送信し、アクセラレーター・システムで変更情報を受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する変更完了通知を送信することを特徴とする、コンピューター・システム。
A data record having a data item including a primary key, a primary block for storing the data records in the order of the primary key, and a location table having a location table entry in which the address of each primary block is described in a continuous area A primary system with
An accelerator system having a Fland location table having a Fland location table entry in which the address of each primary block is written in a continuous area;
A communication path,
When the change information is sent from the primary system by broadcast and the change information is received by the accelerator system, the change completion notification for the primary system is sent from the accelerator system after a predetermined waiting time. A computer system characterized by
主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、
各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有するアクセラレーター・システムと、
通信路とを備え、
リズム・ノードが送信督促メッセージを同報で送信し、アクセラレーター・システムで送信督促メッセージを受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する送信を行うことを特徴とする、コンピューター・システム。
A data record having a data item including a primary key, a primary block for storing the data records in the order of the primary key, and a location table having a location table entry in which the address of each primary block is described in a continuous area A primary system with
An accelerator system having a Fland location table having a Fland location table entry in which the address of each primary block is written in a continuous area;
A communication path,
When the rhythm node sends a transmission dunning message in a broadcast and the accelerator system receives the transmission dunning message, the transmission from the accelerator system to the primary system is performed after a predetermined waiting time. Characteristic computer system.
主キーと代替キーを含むデータ項目を持つデータレコードと、代替キーと主キーからなる代替キー・エントリーと、代替キー・エントリーを含む代替キー・ブロックと、代替キー・ロケーション・テーブル・エントリーを連続領域に有する代替キー・ロケーション・テーブルを保有するプライマリー・システムと、
フランド代替キー・ロケーション・テーブル・エントリーを連続領域に有するフランド代替キー・ロケーション・テーブルを保有するアクセラレーター・システムと、
通信路とを備え、
プライマリー・システムが代替キー・ロケーション・テーブルの変更情報を送信し、各アクセラレータ・システムは、代替キー・ロケーション・テーブルの変更情報を受信し、代替キー・フランド・ロケーション・テーブルを変更し、代替キー・ロケーション・テーブルの変更情報を受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する変更完了通知を送信することを特徴とする、コンピューター・システム。
Consecutive sequence of data records with data items including primary key and alternate key, alternate key entry consisting of alternate key and primary key, alternate key block including alternate key entry, and alternate key location table entry A primary system holding an alternate key location table in the region;
An accelerator system having a franc alternate key location table having a franc alternate key location table entry in a continuous region;
A communication path,
The primary system sends alternate key location table change information, and each accelerator system receives the alternate key location table change information, modifies the alternate key land location table, and replaces the alternate key. A computer system characterized in that a change completion notification is transmitted from the accelerator system to the primary system after a predetermined waiting time when receiving the change information of the location table.
主キーと代替キーを含むデータ項目を持つデータレコードと、代替キーと主キーからなる代替キー・エントリーと、代替キー・エントリーを含む代替キー・ブロックと、代替キー・ロケーション・テーブル・エントリーを連続領域に有する代替キー・ロケーション・テーブルを保有するプライマリー・システムと、
フランド代替キー・ロケーション・テーブル・エントリーを連続領域に有するフランド代替キー・ロケーション・テーブルを保有するアクセラレーター・システムと、
通信路とを備え、
リズム・ノードが送信督促メッセージを同報で送信し、アクセラレーター・システムで送信督促メッセージを受信することを契機として、所定の待ち時間後に、アクセラレーター・システムからプライマリー・システムに対する送信を行うことを特徴とする、コンピューター・システム。
Consecutive sequence of data records with data items including primary key and alternate key, alternate key entry consisting of alternate key and primary key, alternate key block including alternate key entry, and alternate key location table entry A primary system holding an alternate key location table in the region;
An accelerator system having a franc alternate key location table having a franc alternate key location table entry in a continuous region;
A communication path,
When the rhythm node sends a transmission dunning message in a broadcast and the accelerator system receives the transmission dunning message, the transmission from the accelerator system to the primary system is performed after a predetermined waiting time. Characteristic computer system.
主キーを含むデータ項目を持つデータレコードと、データレコードを主キーの順に格納するプライマリー・ブロックと、各プライマリー・ブロックのアドレスが記載されたロケーション・テーブル・エントリーを連続領域に有するロケーション・テーブルとを保有するプライマリー・システムと、
各プライマリー・ブロックのアドレスが記載されたフランド・ロケーション・テーブル・エントリーを連続領域に有するフランド・ロケーション・テーブルを保有する複数のアクセラレーター・システムと、
通信路と、
送信督促メッセージを送信するリズム・ノードとを備え、
リズム・ノードは、各アクセラレーター・システムに送信督促メッセージを送信し、各アクセラレーター・システムは、送信督促メッセージを受信することを契機として、所定の待ち時間後に、プライマリー・システムに対する処理依頼を送信することを特徴とする、コンピューター・システム。
A data record having a data item including a primary key, a primary block for storing the data records in the order of the primary key, and a location table having a location table entry in which the address of each primary block is described in a continuous area A primary system with
A plurality of accelerator systems having a land location table having a land location table entry in which the address of each primary block is written in a continuous area;
A communication path;
A rhythm node that transmits a transmission reminder message,
The rhythm node sends a transmission dunning message to each accelerator system, and each accelerator system sends a processing request to the primary system after a predetermined waiting time triggered by receiving the transmission dunning message. A computer system characterized by
JP2006512502A 2004-04-19 2005-04-11 Computer system Pending JPWO2005103901A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004122450 2004-04-19
JP2004122450 2004-04-19
PCT/JP2005/007019 WO2005103901A1 (en) 2004-04-19 2005-04-11 Computer system

Publications (1)

Publication Number Publication Date
JPWO2005103901A1 true JPWO2005103901A1 (en) 2008-03-13

Family

ID=35197155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006512502A Pending JPWO2005103901A1 (en) 2004-04-19 2005-04-11 Computer system

Country Status (2)

Country Link
JP (1) JPWO2005103901A1 (en)
WO (1) WO2005103901A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326717A (en) * 1993-05-12 1994-11-25 Nec Corp Bus type communication equipment
JPH1131096A (en) * 1997-07-11 1999-02-02 Anetsukusu Syst Kk Data storage/retrieval system
JP2001356945A (en) * 2000-04-12 2001-12-26 Anetsukusu Syst Kk Data backup recovery system
JP2002297428A (en) * 2001-03-29 2002-10-11 Toshiba Corp Distributed data management system, distributed data management method and distributed data management program
JP2002318720A (en) * 2001-04-19 2002-10-31 Oki Electric Ind Co Ltd Contents delivery management system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004036432A1 (en) * 2002-10-21 2006-02-16 玉津 雅晴 Database accelerator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326717A (en) * 1993-05-12 1994-11-25 Nec Corp Bus type communication equipment
JPH1131096A (en) * 1997-07-11 1999-02-02 Anetsukusu Syst Kk Data storage/retrieval system
JP2001356945A (en) * 2000-04-12 2001-12-26 Anetsukusu Syst Kk Data backup recovery system
JP2002297428A (en) * 2001-03-29 2002-10-11 Toshiba Corp Distributed data management system, distributed data management method and distributed data management program
JP2002318720A (en) * 2001-04-19 2002-10-31 Oki Electric Ind Co Ltd Contents delivery management system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200302387006, チェン ハーツ, "大規模データのレプリケーションを高速化する スナップショットレプリケーションの最適化技法を伝授", SQL SERVER magazine, 20021101, 第5号, p. 45〜61, JP, 株式会社翔泳社 *
JPN6009056871, チェン ハーツ, "大規模データのレプリケーションを高速化する スナップショットレプリケーションの最適化技法を伝授", SQL SERVER magazine, 20021101, 第5号, p. 45〜61, JP, 株式会社翔泳社 *

Also Published As

Publication number Publication date
WO2005103901A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
US7647595B2 (en) Efficient event notification in clustered computing environments
JP6749926B2 (en) Method, device and system for synchronizing data
Cao et al. On coordinated checkpointing in distributed systems
US8560511B1 (en) Fine-grain locking
US9411869B2 (en) Replication between sites using keys associated with modified data
CN106981024B (en) Transaction limit calculation processing system and processing method thereof
EP2335153B1 (en) Queue manager and method of managing queues in an asynchronous messaging system
CN101102577A (en) Incremental synchronization method for data in tables of frontground and background database of wireless communication base station system
CN102411598A (en) Method and system for realizing data consistency
US8250313B1 (en) Conflict avoidance in data store replication
JP6217644B2 (en) Rule distribution server, event processing system, method and program
CN109544344B (en) Block chain transaction processing method and equipment based on DAG
CN112698792B (en) Data migration method and device of distributed storage system and electronic equipment
JP2012234333A (en) Cluster system, synchronization control method, server device and synchronization control program
US8170041B1 (en) Message passing with parallel queue traversal
CN110413689B (en) Multi-node data synchronization method and device for memory database
JPWO2005103901A1 (en) Computer system
CN113791740B (en) Method for recording object storage bucket statistics and counting
JP3572928B2 (en) Online database information processing system with backup function
US10896103B2 (en) Information processing system
CN110019259B (en) Data updating method, device and storage medium of distributed index service engine
JP2010224672A (en) Data processing method, system, and program
US7228322B1 (en) Data management apparatus of switching system
JP2008146420A (en) Computer program for optimizing processing sequence of i/o request
JPH10320256A (en) Data update control method and device for distributed database system

Legal Events

Date Code Title Description
AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20070313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100413